diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index f98b043478..a7f6ecf18b 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,8 @@ 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/04/27 + * Changed in the behaviour of wedding skills, they should be getting all + the land-skill checks now. [Skotlex] * Small change in @commands, may fix the null-pointer error. [Skotlex] * Changebase script command will also refresh the weapon sprites (in case you changed into Wedding/Xmas class) [Skotlex] diff --git a/src/map/skill.c b/src/map/skill.c index 67c55ac856..26fd2b181c 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3179,21 +3179,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in break; case NPC_SMOKING: //Since it is a self skill, this one ends here rather than in damage_id. [Skotlex] return skill_castend_damage_id (src, bl, skillid, skilllv, tick, flag); - case WE_CALLPARTNER: - case WE_CALLPARENT: - case WE_CALLBABY: - { //Find a random spot to place the skill. [Skotlex] - short x,y; - i = skill_get_splash(skillid, skilllv); - x = src->x + i; - y = src->y + i; - if (map_random_dir(src, &x, &y)) - return skill_castend_pos2(src,x,y,skillid,skilllv,tick,0); - else { - if (sd) clif_skill_fail(sd,skillid,0,0); - return 0; - } - } //These are actually ground placed. case CR_GRANDCROSS: case NPC_GRANDDARKNESS: @@ -5605,6 +5590,21 @@ int skill_castend_id( int tid, unsigned int tick, int id,int data ) return 0; } + switch (ud->skillid) { + //These three should become skill_castend_pos + case WE_CALLPARTNER: + case WE_CALLPARENT: + case WE_CALLBABY: + //Find a random spot to place the skill. [Skotlex] + inf2 = skill_get_splash(ud->skillid, ud->skilllv); + ud->skillx = src->x + inf2; + ud->skilly = src->y + inf2; + if (!map_random_dir(src, &ud->skillx, &ud->skilly)) { + ud->skillx = src->x; + ud->skilly = src->y; + } + return skill_castend_pos(tid,tick,id,data); + } if(ud->skillid != SA_CASTCANCEL ) { if( ud->skilltimer != tid ) {