Просмотр исходного кода

- Finally after 5 years, implemented the correct formula for Spiral Pierce when used by monsters in pre-renewal (bugreport:2505)
- When bosses use level 48 decrease agi, it will now have a base duration of 65 seconds on players (bugreport:5085)

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

playtester 12 лет назад
Родитель
Сommit
14f5ae2290
3 измененных файлов с 8 добавлено и 6 удалено
  1. 1 1
      db/pre-re/skill_cast_db.txt
  2. 1 1
      db/re/skill_cast_db.txt
  3. 6 4
      src/map/battle.c

+ 1 - 1
db/pre-re/skill_cast_db.txt

@@ -69,7 +69,7 @@
 //-- AL_INCAGI
 29,1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
 //-- AL_DECAGI
-30,1000,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0,0
+30,1000,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000:130000,0,0
 //-- AL_HOLYWATER
 31,1000,500,0,0,0,0
 //-- AL_CRUCIS

+ 1 - 1
db/re/skill_cast_db.txt

@@ -70,7 +70,7 @@
 //-- AL_INCAGI
 29,1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,0
 //-- AL_DECAGI
-30,750,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0,0,250
+30,750,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000:130000,0,0,250
 //-- AL_HOLYWATER
 31,1000,500,0,0,0,0,0
 //-- AL_CRUCIS

+ 6 - 4
src/map/battle.c

@@ -2113,10 +2113,12 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 						sd->inventory_data[index] &&
 						sd->inventory_data[index]->type == IT_WEAPON)
 						wd.damage = sd->inventory_data[index]->weight*8/100; //80% of weight
-				} else
-					wd.damage = sstatus->rhw.atk2*8/10; //Else use Atk2
-
-				ATK_ADDRATE(50*skill_lv); //Skill modifier applies to weight only.
+					
+					ATK_ADDRATE(50*skill_lv); //Skill modifier applies to weight only.
+				} else {
+					wd.damage = battle_calc_base_damage(sstatus, &sstatus->rhw, sc, tstatus->size, sd, i); //Monsters have no weight and use ATK instead
+				}
+				
 				i = sstatus->str/10;
 				i*=i;
 				ATK_ADD(i); //Add str bonus.