summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/pre-re/map_zone_db.conf2
-rw-r--r--db/re/map_zone_db.conf2
-rw-r--r--src/map/skill.c13
-rw-r--r--src/map/unit.c2
4 files changed, 18 insertions, 1 deletions
diff --git a/db/pre-re/map_zone_db.conf b/db/pre-re/map_zone_db.conf
index 0a02e9240..cab00bbb9 100644
--- a/db/pre-re/map_zone_db.conf
+++ b/db/pre-re/map_zone_db.conf
@@ -159,6 +159,7 @@ zones: (
BS_GREED: "PLAYER"
SC_FATALMENACE: "PLAYER"
SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
}
disabled_items: {
@@ -225,6 +226,7 @@ zones: (
CASH_ASSUMPTIO: "PLAYER"
SC_FATALMENACE: "PLAYER"
SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
}
disabled_items: {
Assumptio_5_Scroll: true
diff --git a/db/re/map_zone_db.conf b/db/re/map_zone_db.conf
index df223d139..282a85abb 100644
--- a/db/re/map_zone_db.conf
+++ b/db/re/map_zone_db.conf
@@ -193,6 +193,7 @@ zones: (
BS_GREED: "PLAYER"
SC_FATALMENACE: "PLAYER"
SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
}
disabled_items: {
@@ -292,6 +293,7 @@ zones: (
CASH_ASSUMPTIO: "PLAYER"
SC_FATALMENACE: "PLAYER"
SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
}
disabled_items: {
Assumptio_5_Scroll: true
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: