Browse Source

- Correct implementation of NPC_PIERCINGATT, NPC_COMBOATTACK and NPC_RANDOMATTACK (bugreport:7331):
* NPC_PIERCINGATT deals 75% damage, ignoring DEF
* NPC_COMBOATTACK deals 100%+25%*level damage spread on level+1 hits (note: it's not 100% fixed because of rA handling soft DEF wrong)
* NPC_RANDOMATTACK deals 100%*level damage with a random element

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

playtester 12 years ago
parent
commit
dc2d314c56
3 changed files with 10 additions and 6 deletions
  1. 2 2
      db/pre-re/skill_db.txt
  2. 2 2
      db/re/skill_db.txt
  3. 6 2
      src/map/battle.c

+ 2 - 2
db/pre-re/skill_db.txt

@@ -201,7 +201,7 @@
 155,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0,	MC_LOUD,Crazy Uproar
 156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0,		AL_HOLYLIGHT,Holy Light
 157,0,6,4,0,0x1,0,1,1,yes,0,0x1,0,magic,0,	MG_ENERGYCOAT,Energy Coat
-158,3,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_PIERCINGATT,Piercing Attack
+158,3,6,1,-1,0x20,0,10,1,no,0,0x2,0,weapon,0,	NPC_PIERCINGATT,Piercing Attack
 159,-1,6,1,-1,0x40,0,5,1,no,0,0x2,0,weapon,0,	NPC_MENTALBREAKER,Spirit Destruction
 160,9,6,1,0,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_RANGEATTACK,Stand off attack
 161,0,0,4,0,0x1,0,1,1,no,0,0x2,0,magic,0,	NPC_ATTRICHANGE,Attribute Change
@@ -226,7 +226,7 @@
 180,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,	NPC_PETRIFYATTACK,Petrify Attack
 181,-9,6,1,7,0,0,5,1,no,0,0x2,0,weapon,0,	NPC_CURSEATTACK,Curse Attack
 182,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,	NPC_SLEEPATTACK,Sleep attack
-183,-9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_RANDOMATTACK,Random Attack
+183,-9,6,1,-3,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_RANDOMATTACK,Random Attack
 184,-9,6,1,1,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_WATERATTACK,Water Attribute Attack
 185,-9,6,1,2,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_GROUNDATTACK,Earth Attribute Attack
 186,-9,6,1,3,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_FIREATTACK,Fire Attribute Attack

+ 2 - 2
db/re/skill_db.txt

@@ -201,7 +201,7 @@
 155,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0,	MC_LOUD,Crazy Uproar
 156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0,		AL_HOLYLIGHT,Holy Light
 157,0,6,4,0,0x1,0,1,1,yes,0,0x1,0,magic,0,	MG_ENERGYCOAT,Energy Coat
-158,3,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_PIERCINGATT,Piercing Attack
+158,3,6,1,-1,0x20,0,10,1,no,0,0x2,0,weapon,0,	NPC_PIERCINGATT,Piercing Attack
 159,-1,6,1,-1,0x40,0,5,1,no,0,0x2,0,weapon,0,	NPC_MENTALBREAKER,Spirit Destruction
 160,9,6,1,0,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_RANGEATTACK,Stand off attack
 161,0,0,4,0,0x1,0,1,1,no,0,0x2,0,magic,0,	NPC_ATTRICHANGE,Attribute Change
@@ -226,7 +226,7 @@
 180,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,	NPC_PETRIFYATTACK,Petrify Attack
 181,-9,6,1,7,0,0,5,1,no,0,0x2,0,weapon,0,	NPC_CURSEATTACK,Curse Attack
 182,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0,	NPC_SLEEPATTACK,Sleep attack
-183,-9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_RANDOMATTACK,Random Attack
+183,-9,6,1,-3,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_RANDOMATTACK,Random Attack
 184,-9,6,1,1,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_WATERATTACK,Water Attribute Attack
 185,-9,6,1,2,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_GROUNDATTACK,Earth Attribute Attack
 186,-9,6,1,3,0,0,10,1,no,0,0x2,0,weapon,0,	NPC_FIREATTACK,Fire Attribute Attack

+ 6 - 2
src/map/battle.c

@@ -2305,9 +2305,13 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 					else if (!sd)
 						skillratio += 100; //Max damage for non players.
 					break;
-				case NPC_RANDOMATTACK:
-					skillratio += 100*skill_lv;
+				case NPC_PIERCINGATT:
+					skillratio += -25; //75% base damage
+					break;
+				case NPC_COMBOATTACK:
+					skillratio += 25*skill_lv;
 					break;
+				case NPC_RANDOMATTACK:
 				case NPC_WATERATTACK:
 				case NPC_GROUNDATTACK:
 				case NPC_FIREATTACK: