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.
This commit is contained in:
aleos89 2015-06-18 14:01:34 -04:00
parent 6ad4ed13d1
commit 583d079b0f
4 changed files with 836 additions and 760 deletions

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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: