summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/intif.c5
-rw-r--r--src/map/skill.c6
-rw-r--r--src/map/unit.c6
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