From f9770665368db661673a3b1f6dba4b96bd7bfe15 Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 2 May 2006 21:21:00 +0000 Subject: [PATCH] - Removed the unit_can_move checks in skill cast-end, they should be performed in skill_check_require when the skill's state is move_enabled. - Changed extremity fist's state to move_enabled, the explosion spirits check is now hardcoded. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6452 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 5 +++++ db/skill_require_db.txt | 2 +- src/map/skill.c | 16 ++++------------ 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 83b5195308..2eefd8e494 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,11 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/05/02 + * Removed the unit_can_move checks in skill cast-end, they should be + performed in skill_check_require when the skill's state is move_enabled. + [Skotlex] + * Changed extremity fist's state to move_enabled, the explosion spirits + check is now hardcoded. [Skotlex] * Absorb Spirit Sphere now gives +10SP per sphere as per discussions with Haplo. [Skotlex] * Changed a <= into a < in pc_steal_item. This means drops with 0.01% are diff --git a/db/skill_require_db.txt b/db/skill_require_db.txt index 3504e96bef..325200a200 100644 --- a/db/skill_require_db.txt +++ b/db/skill_require_db.txt @@ -193,7 +193,7 @@ 268,0,0,1,0,50,0,99,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MO_STEELBODY#‹à„# 269,0,0,10,0,0,0,0:1:2:3:4:5:6:7:8:9:10:12:13:14:15:16:17:18:19:20:21:22,0,0,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MO_BLADESTOP#”’nŽæ‚è# 270,0,0,15,0,0,0,99,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MO_EXPLOSIONSPIRITS#”š—ô”g“®# -271,0,0,1,0,0,0,0:1:2:3:4:5:6:7:8:9:10:12:13:14:15:16:17:18:19:20:21:22,0,0,explosionspirits,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MO_EXTREMITYFIST#ˆ¢C—…”e™€Œ# +271,0,0,1,0,0,0,0:1:2:3:4:5:6:7:8:9:10:12:13:14:15:16:17:18:19:20:21:22,0,0,move_enable,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MO_EXTREMITYFIST#ˆ¢C—…”e™€Œ# 272,0,0,11:12:13:14:15,0,0,0,0:1:2:3:4:5:6:7:8:9:10:12:13:14:15:16:17:18:19:20:21:22,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MO_CHAINCOMBO#˜A‘Ŷ# 273,0,0,11:12:13:14:15,0,0,0,0:1:2:3:4:5:6:7:8:9:10:12:13:14:15:16:17:18:19:20:21:22,0,0,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MO_COMBOFINISH#–Ò—´Œ# diff --git a/src/map/skill.c b/src/map/skill.c index 33dc7b439e..162f47fd71 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2591,8 +2591,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s short x, y; x = bl->x; y = bl->y; - if (skillid == TK_JUMPKICK && !unit_can_move(src)) - break; if (src->x < bl->x) x--; else if (src->x > bl->x) x++; if (src->y < bl->y) y--; @@ -2677,10 +2675,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s if(!check_distance_bl(src, bl, 2)) { //Need to move to target. int dx,dy; - if (!unit_can_move(src)) { //You need to be able to move to attack/reach target. - if (sd) clif_skill_fail(sd,skillid,0,0); - break; - } dx = bl->x - src->x; dy = bl->y - src->y; if(dx > 0) dx++; @@ -4715,14 +4709,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in { int x,y, dir = unit_getdir(src); - if (!unit_can_move(src)) { - map_freeblock_unlock(); - return 1; - } - x = src->x + dirx[dir]*skilllv*2; y = src->y + diry[dir]*skilllv*2; - clif_skill_nodamage(src,bl,TK_HIGHJUMP,skilllv,1); if(map_getcell(src->m,x,y,CELL_CHKPASS)) { @@ -7822,6 +7810,10 @@ int skill_check_condition(struct map_session_data *sd,int skill, int lv, int typ case MO_EXTREMITYFIST: // ˆ¢?C—…”e–PŒ? // if(sd->sc.data[SC_EXTREMITYFIST].timer != -1) //To disable Asura during the 5 min skill block uncomment this... // return 0; + if(sd->sc.data[SC_EXPLOSIONSPIRITS].timer == -1) { + clif_skill_fail(sd,skill,0,0); + return 0; + } if(sd->sc.data[SC_BLADESTOP].timer!=-1) spiritball--; else if (sd->sc.data[SC_COMBO].timer != -1) {