summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDastgir Pojee <dastgirp@gmail.com>2016-10-02 21:13:46 +0530
committerhemagx <ibrahem.h.basyone@gmail.com>2016-10-22 02:21:53 +0200
commitaf8ecd8af6a33b598844decff9b021bd07c931ce (patch)
tree60bb0b925f397a4e05a7f2e3d9d12adb4f4c574c /src
parent72cd2379541e67f1fbb3fd88132cbabb61874647 (diff)
downloadhercules-af8ecd8af6a33b598844decff9b021bd07c931ce.tar.gz
hercules-af8ecd8af6a33b598844decff9b021bd07c931ce.tar.bz2
hercules-af8ecd8af6a33b598844decff9b021bd07c931ce.tar.xz
hercules-af8ecd8af6a33b598844decff9b021bd07c931ce.zip
Implemented SU_LOPE Skill.
Skill Cannot be Used on GvG/Battlegrounds. Cast time of Emergency Call doubles. Moves to Another Position by performing High Jump: Lv 1: Move 6 cells Lv 2: Move 10 cells Lv 3: Move 14 cells
Diffstat (limited to 'src')
-rw-r--r--src/map/skill.c13
-rw-r--r--src/map/unit.c2
2 files changed, 14 insertions, 1 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 4d901236a..bb3b11218 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -10686,6 +10686,19 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
}
status_change_end(src, SC_HIDING, INVALID_TIMER);
break;
+ case SU_LOPE:
+ {
+ if (map->list[src->m].flag.noteleport && !(map->list[src->m].flag.battleground || map_flag_gvg2(src->m))) {
+ x = src->x;
+ y = src->y;
+ }
+ clif->skill_nodamage(src, src, SU_LOPE, skill_lv, 1);
+ if(!map->count_oncell(src->m, x, y, BL_PC | BL_NPC | BL_MOB, 0) && map->getcell(src->m, src, x, y, CELL_CHKREACH)) {
+ clif->slide(src, x, y);
+ unit->movepos(src, x, y, 1, 0);
+ }
+ }
+ break;
case AM_SPHEREMINE:
case AM_CANNIBALIZE:
{
diff --git a/src/map/unit.c b/src/map/unit.c
index bb43bdf82..d652df07e 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -1544,7 +1544,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui
}
break;
case GD_EMERGENCYCALL: //Emergency Call double cast when the user has learned Leap [Daegaladh]
- if( sd && pc->checkskill(sd,TK_HIGHJUMP) )
+ if (sd && (pc->checkskill(sd,TK_HIGHJUMP) || pc->checkskill(sd,SU_LOPE) >= 3))
casttime *= 2;
break;
case RA_WUGDASH: