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

Damage Macro Cleanup
* Removed DAMAGE_RATE(), DAMAGE_SUBRATE(), and DAMAGE_ADDRATE() macros.
* Adjusted ATK_RATE*(), ATK_ADDRATE*(), ATK_ADD*(), RE_ALLATK*() macros so we don't produce over complicated ternary operations.
* Adjusted formulas to properly take into account the 'ratio' aspect.
* Cleaned up a few incorrect damage formulas.
* Cleaned up some type casting.
* Implemented renewal effects for Magical Bullet.

aleos89 10 лет назад
Родитель
Сommit
583d079b0f
4 измененных файлов с 274 добавлено и 258 удалено
  1. 1 1
      db/re/skill_db.txt
  2. 268 254
      src/map/battle.c
  3. 1 1
      src/map/battle.h
  4. 4 2
      src/map/skill.c

+ 1 - 1
db/re/skill_db.txt

@@ -727,7 +727,7 @@
 504,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0,		GS_MADNESSCANCEL,Madness Canceller
 505,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0,		GS_ADJUSTMENT,AdJustment
 506,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0,		GS_INCREASING,Increasing Accuracy
-507,-9,6,1,8,0,0,1,1,no,0,0,0,weapon,0,0x0,		GS_MAGICALBULLET,Magical Bullet
+507,-9,6,1,8,0x20,0,1,1,no,0,0,0,misc,0,0x0,		GS_MAGICALBULLET,Magical Bullet
 508,-9,6,1,-1,0x1,0,1,1,no,0,0,0,weapon,0,0x0,	GS_CRACKER,Cracker
 509,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		GS_SINGLEACTION,Single Action
 510,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		GS_SNAKEEYE,Snake Eye

Разница между файлами не показана из-за своего большого размера
+ 268 - 254
src/map/battle.c


+ 1 - 1
src/map/battle.h

@@ -57,7 +57,7 @@ enum e_battle_check_target {
 /// Damage structure
 struct Damage {
 #ifdef RENEWAL
-	int statusAtk, statusAtk2, weaponAtk, weaponAtk2, equipAtk, equipAtk2, masteryAtk, masteryAtk2;
+	int64 statusAtk, statusAtk2, weaponAtk, weaponAtk2, equipAtk, equipAtk2, masteryAtk, masteryAtk2;
 #endif
 	int64 damage, /// Right hand damage
 		damage2; /// Left hand damage

+ 4 - 2
src/map/skill.c

@@ -4145,8 +4145,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 
 	map_freeblock_lock();
 
-	switch(skill_id)
-	{
+	switch(skill_id) {
 	case MER_CRASH:
 	case SM_BASH:
 	case MS_BASH:
@@ -4216,7 +4215,9 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 	case TK_COUNTER:
 	case GS_CHAINACTION:
 	case GS_TRIPLEACTION:
+#ifndef RENEWAL
 	case GS_MAGICALBULLET:
+#endif
 	case GS_TRACKING:
 	case GS_PIERCINGSHOT:
 	case GS_RAPIDSHOWER:
@@ -4812,6 +4813,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 	case TF_THROWSTONE:
 #ifdef RENEWAL
 	case ASC_BREAKER:
+	case GS_MAGICALBULLET:
 #endif
 	case NPC_SMOKING:
 	case GS_FLING:

Некоторые файлы не были показаны из-за большого количества измененных файлов