Преглед изворни кода

* Monster Spiral Pierce is now a ranged misc attack
- it always gets blocked by Pneuma, but never by Safety Wall
- Defender doesn't reduce its damage
- Range-Def item bonuses reduce its damage

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13672 54d463be-8e91-2dee-dedb-b68131a5f0ec

Playtester пре 16 година
родитељ
комит
d8faa8086c
2 измењених фајлова са 9 додато и 3 уклоњено
  1. 5 0
      Changelog-Trunk.txt
  2. 4 3
      src/map/battle.c

+ 5 - 0
Changelog-Trunk.txt

@@ -3,6 +3,11 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
+2009/04/15
+	* Monster Spiral Pierce is now a ranged misc attack [Playtester]
+	- it always gets blocked by Pneuma, but never by Safety Wall
+	- Defender doesn't reduce its damage
+	- Range-Def item bonuses reduce its damage
 2009/04/14
 	* Cooking success chance is now affected by DEX and LUK [Playtester]
 	- "cooking exp" still needs to be implemented

+ 4 - 3
src/map/battle.c

@@ -322,9 +322,6 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i
 
 		if( sc->data[SC_PNEUMA] && (flag&(BF_MAGIC|BF_LONG)) == BF_LONG )
 			return 0;
-			
-		if( sc->data[SC_PNEUMA] && src->type == BL_MOB && skill_num == LK_SPIRALPIERCE)
-			return 0; //Mob's Spiral Pierce is always blocked by pneuma [Brain]
 
 		if( (sce=sc->data[SC_AUTOGUARD]) && flag&BF_WEAPON && !(skill_get_nk(skill_num)&NK_NO_CARDFIX_ATK) && rand()%100 < sce->val2 )
 		{
@@ -1010,6 +1007,10 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 			case NPC_CRITICALSLASH:
 				flag.cri = 1; //Always critical skill.
 				break;
+
+			case LK_SPIRALPIERCE:
+				if (!sd) wd.flag=(wd.flag&~(BF_RANGEMASK|BF_WEAPONMASK))|BF_LONG|BF_WEAPON;
+				break;
 		}
 	} else //Range for normal attacks.
 		wd.flag |= flag.arrow?BF_LONG:BF_SHORT;