Ver Fonte

- 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

skotlex há 19 anos atrás
pai
commit
f977066536
3 ficheiros alterados com 10 adições e 13 exclusões
  1. 5 0
      Changelog-Trunk.txt
  2. 1 1
      db/skill_require_db.txt
  3. 4 12
      src/map/skill.c

+ 5 - 0
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

+ 1 - 1
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#白刃取り#
 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#爆裂波動#
-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#阿修羅覇凰拳#
+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#阿修羅覇凰拳#
 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#連打掌#
 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#猛龍拳#
 

+ 4 - 12
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) {