diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/intif.c | 5 | ||||
-rw-r--r-- | src/map/skill.c | 6 | ||||
-rw-r--r-- | src/map/unit.c | 6 |
3 files changed, 11 insertions, 6 deletions
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 |