diff options
-rw-r--r-- | db/pre-re/map_zone_db.conf | 2 | ||||
-rw-r--r-- | db/re/map_zone_db.conf | 2 | ||||
-rw-r--r-- | src/map/skill.c | 13 | ||||
-rw-r--r-- | src/map/unit.c | 2 |
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: |