- Reverted again the change that stuns the caster on Ske, Ska, Swoo when the target is a nonplayer (rather than always)

- Modified mob_spawn_once so that coordinates -1,-1 are "random around the player" while 0,0 are random around the whole map (regardless of whether there's a player attached or not)
- Knockback will no longer work on traps during woe.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6566 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-05-12 21:16:44 +00:00
parent 46d5c713cd
commit a7301992bc
5 changed files with 33 additions and 21 deletions

View File

@ -3,6 +3,13 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/05/12
* Reverted again the change that stuns the caster on Ske, Ska, Swoo when
the target is a nonplayer (rather than always) [Skotlex]
* Modified mob_spawn_once so that coordinates -1,-1 are "random around the
player" while 0,0 are random around the whole map (regardless of whether
there's a player attached or not) [Skotlex]
* Knockback will no longer work on traps during woe. [Skotlex]
2006/05/11
* Fixed the definition of the KEY in the loginlog, thanks to TheUltraMage
[Skotlex]

View File

@ -93,7 +93,7 @@
601,Fly_Wing,Fly Wing,2,60,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ warp "Random",0,0; },{},{}
602,Butterfly_Wing,Butterfly Wing,2,300,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ warp "SavePoint",0,0; },{},{}
603,Old_Blue_Box,Old Blue Box,2,10000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_BlueBox),1; },{},{}
604,Dead_Branch,Dead Branch,2,50,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ monster "this",0,0,"--ja--",-1,1,""; },{},{}
604,Dead_Branch,Dead Branch,2,50,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ monster "this",-1,-1,"--ja--",-1,1,""; },{},{}
605,Anodyne,Anodyne,11,2000,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill 8,1,"Endure"; },{},{}
606,Aloevera,Aloevera,11,1500,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill 6,1,"Provoke"; },{},{}
607,Yggdrasil_Berry,Yggdrasil Berry,0,2,,300,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 100,100; },{},{}
@ -2331,13 +2331,13 @@
12101,Citron,Citron,0,,10,300,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12102,Grilled_Skewer,Grilled Skewer,0,,10,300,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
// New Monster Summoners & Item Givers
12103,Bloody_Branch,Bloody Branch,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ monster "this",0,0,"--ja--",-3,1,""; },{},{}
12103,Bloody_Branch,Bloody Branch,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ monster "this",-1,-1,"--ja--",-3,1,""; },{},{}
12104,Random_Quiver,Random Quiver,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Quiver),1; },{},{}
12105,Taming_Item_Giftset,Taming Item Giftset,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Taming),3; },{},{}
12106,Jewel_Box,Jewel Case,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Jewel),1; },{},{}
12107,Wrapped_Mask,Wrapped Mask,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Mask),1; },{},{}
12108,Bundle_of_Spells,Bundle of Spells,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Scroll),5; },{},{}
12109,Poring_Box,Poring Box,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ monster "this",0,0,"--ja--",-2,1,""; },{},{}
12109,Poring_Box,Poring Box,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ monster "this",-1,-1,"--ja--",-2,1,""; },{},{}
12110,First_Aid_Box,First Aid Box,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Potion),5; },{},{}
12111,Wrapped_Food,Wrapped Food,2,,5000,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Fruit),1; getitem groupranditem(IG_Meat),1; getitem groupranditem(IG_Fish),1; },{},{}
12112,Tropical_Sograt,Tropical Sograt,0,,500,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_Curse,10000,1; },{},{}

View File

@ -121,7 +121,7 @@ REPLACE INTO `item_db` VALUES (586,'Mother\'s_Cake','Mother\'s Cake','0',NULL,NU
REPLACE INTO `item_db` VALUES (601,'Fly_Wing','Fly Wing','2','60',NULL,'50',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' warp "Random",0,0; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (602,'Butterfly_Wing','Butterfly Wing','2','300',NULL,'50',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' warp "SavePoint",0,0; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (603,'Old_Blue_Box','Old Blue Box','2','10000',NULL,'200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' getitem groupranditem(IG_BlueBox),1; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (604,'Dead_Branch','Dead Branch','2','50',NULL,'50',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' monster "this",0,0,"--ja--",-1,1,""; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (604,'Dead_Branch','Dead Branch','2','50',NULL,'50',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' monster "this",-1,-1,"--ja--",-1,1,""; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (605,'Anodyne','Anodyne','11','2000',NULL,'100',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' itemskill 8,1,"Endure"; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (606,'Aloevera','Aloevera','11','1500',NULL,'100',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' itemskill 6,1,"Provoke"; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (607,'Yggdrasil_Berry','Yggdrasil Berry','0','2',NULL,'300',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' percentheal 100,100; ',NULL,NULL);
@ -2359,13 +2359,13 @@ REPLACE INTO `item_db` VALUES (12100,'Nine_Tail_Dish','Nine Tail Dish','0','1000
REPLACE INTO `item_db` VALUES (12101,'Citron','Citron','0',NULL,'10','300',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12102,'Grilled_Skewer','Grilled Skewer','0',NULL,'10','300',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-- // New Monster Summoners & Item Givers
REPLACE INTO `item_db` VALUES (12103,'Bloody_Branch','Bloody Branch','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' monster "this",0,0,"--ja--",-3,1,""; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12103,'Bloody_Branch','Bloody Branch','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' monster "this",-1,-1,"--ja--",-3,1,""; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12104,'Random_Quiver','Random Quiver','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' getitem groupranditem(IG_Quiver),1; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12105,'Taming_Item_Giftset','Taming Item Giftset','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' getitem groupranditem(IG_Taming),3; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12106,'Jewel_Box','Jewel Case','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' getitem groupranditem(IG_Jewel),1; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12107,'Wrapped_Mask','Wrapped Mask','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' getitem groupranditem(IG_Mask),1; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12108,'Bundle_of_Spells','Bundle of Spells','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' getitem groupranditem(IG_Scroll),5; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12109,'Poring_Box','Poring Box','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' monster "this",0,0,"--ja--",-2,1,""; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12109,'Poring_Box','Poring Box','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' monster "this",-1,-1,"--ja--",-2,1,""; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12110,'First_Aid_Box','First Aid Box','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' getitem groupranditem(IG_Potion),5; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12111,'Wrapped_Food','Wrapped Food','2',NULL,'5000','200',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' getitem groupranditem(IG_Fruit),1; getitem groupranditem(IG_Meat),1; getitem groupranditem(IG_Fish),1; ',NULL,NULL);
REPLACE INTO `item_db` VALUES (12112,'Tropical_Sograt','Tropical Sograt','0',NULL,'500','100',NULL,NULL,NULL,NULL,0xFFFFFFFF,'7','2',NULL,NULL,NULL,NULL,NULL,' sc_start SC_Curse,10000,1; ',NULL,NULL);

View File

@ -263,7 +263,8 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname,
{
struct mob_data *md = NULL;
struct spawn_data data;
int m, count, lv = 255;
int m, count, lv = 255, rand_flag=0;
if(sd) lv = sd->status.base_level;
@ -287,20 +288,25 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname,
}
strncpy(data.eventname, event, 50);
if (x <= 0 || y <= 0) {
if (sd)
map_search_freecell(&sd->bl, m, &x, &y, 1, 1, 0);
else
if (!map_search_freecell(NULL, m, &x, &y, -1, -1, 1))
return 0; //Not solved?
if (sd && (x < 0 || y < 0))
{ //Locate spot around player.
map_search_freecell(&sd->bl, m, &x, &y, 1, 1, 0);
data.x = x;
data.y = y;
}
data.x = x;
data.y = y;
if (x <= 0 || y <= 0 || map_getcell(m,x,y,CELL_CHKNOREACH))
rand_flag = 1; //Randomize spot on map for each mob.
if (!mob_parse_dataset(&data))
return 0;
for (count = 0; count < amount; count++) {
if (rand_flag) { //Get a random cell for this mob.
map_search_freecell(NULL, m, &x, &y, -1, -1, 1);
data.x = x;
data.y = y;
}
md =mob_spawn_dataset (&data);
if (class_ < 0 && battle_config.dead_branch_active)

View File

@ -1621,8 +1621,8 @@ int skill_blown( struct block_list *src, struct block_list *target,int count)
nullpo_retr(0, src);
if (src != target && map_flag_gvg(target->m) && target->type != BL_SKILL)
return 0; //No knocking back in WoE, except for skills... because traps CAN be knocked back.
if (src != target && map_flag_gvg(target->m))
return 0; //No knocking back in WoE
if (!count&0xffff)
return 0; //Actual knockback distance is 0.
@ -5363,17 +5363,16 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
}
case SL_SKA: // [marquis007]
case SL_SKE:
if (sd && !battle_config.allow_es_magic_pc && bl->type != BL_MOB)
if (sd && !battle_config.allow_es_magic_pc && bl->type != BL_MOB) {
clif_skill_fail(sd,skillid,0,0);
else
status_change_start(src,SC_STUN,10000,skilllv,0,0,0,500,10);
} else
clif_skill_nodamage(src,bl,skillid,skilllv,
sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv)));
if (skillid == SL_SKE)
sc_start(src,SC_SMA,100,skilllv,skill_get_time(SL_SMA,skilllv));
//Regardless of who you target, caster gets stunned for 0.5 [Skotlex]
status_change_start(src,SC_STUN,10000,skilllv,0,0,0,500,10);
break;
// New guild skills [Celest]