summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-10-27 14:46:42 +0000
committerInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-10-27 14:46:42 +0000
commitd923a94a3b12267712d2c2c33bfff66c9e51557f (patch)
treeec240964af7b70a9f2aba951239aa550687505b7 /src
parent5612c2738964c0747ecf754b7cf5f834b3e09cef (diff)
downloadhercules-d923a94a3b12267712d2c2c33bfff66c9e51557f.tar.gz
hercules-d923a94a3b12267712d2c2c33bfff66c9e51557f.tar.bz2
hercules-d923a94a3b12267712d2c2c33bfff66c9e51557f.tar.xz
hercules-d923a94a3b12267712d2c2c33bfff66c9e51557f.zip
* 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
Diffstat (limited to 'src')
-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