From d923a94a3b12267712d2c2c33bfff66c9e51557f Mon Sep 17 00:00:00 2001 From: Inkfish Date: Tue, 27 Oct 2009 14:46:42 +0000 Subject: * Cast time of Emergency Call is doubled if you master of High Jump. * High Jump can't be used on PvP maps. * Fixed a potential null pointer from last commit. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14106 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ src/map/intif.c | 5 +++-- src/map/skill.c | 6 +++--- src/map/unit.c | 6 +++++- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index dac59c2d8..0abb2c480 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -5,6 +5,8 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 09/10/27 * Fixed quest will never get erased when it's the only quest you have. [Inkfish] + * Cast time of Emergency Call is doubled if you master of High Jump. [Inkfish] + * High Jump can't be used on PvP maps. [Inkfish] 09/10/26 * Implemented NPC_VAMPIREGIFT and NPC_WIDESOULDRAIN. [Inkfish] 09/10/25 diff --git a/src/map/intif.c b/src/map/intif.c index a663a226e..ff7c9f608 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -1377,10 +1377,11 @@ int intif_parse_questlog(int fd) int intif_parse_questsave(int fd) { - TBL_PC *sd = map_id2sd(RFIFOL(fd, 2)); + int cid = RFIFOL(fd, 2); + TBL_PC *sd = map_id2sd(cid); if( !RFIFOB(fd, 6) ) - ShowError("intif_parse_questsave: Failed to save quest(s) for character %d!\n", sd->status.char_id); + ShowError("intif_parse_questsave: Failed to save quest(s) for character %d!\n", cid); else if( sd ) sd->save_quest = false; diff --git a/src/map/skill.c b/src/map/skill.c index 6b19d23d6..008ea2284 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4747,9 +4747,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in { int x,y, dir = unit_getdir(src); - //Fails on noteleport maps, except for vs maps [Skotlex] - if(map[src->m].flag.noteleport && - !(map_flag_vs(src->m) || map_flag_gvg2(src->m)) + //Fails on noteleport maps, except for GvG and BG maps [Skotlex] + if( map[src->m].flag.noteleport && + !(map[src->m].flag.battleground || map_flag_gvg2(src->m) ) ) { x = src->x; y = src->y; diff --git a/src/map/unit.c b/src/map/unit.c index c75600180..56969f1db 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1043,7 +1043,11 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh if( k > 2 ) k = 2; // ...but hard-limited to 300%. casttime += casttime * k; } - break; + break; + case GD_EMERGENCYCALL: //Emergency Call double cast when the user has learned Leap [Daegaladh] + if( sd && pc_checkskill(sd,TK_HIGHJUMP) ) + casttime *= 2; + break; } // moved here to prevent Suffragium from ending if skill fails -- cgit v1.2.3-70-g09d2