Index: src/map/utils/battleutils.cpp =================================================================== --- src/map/utils/battleutils.cpp (revision 3803) +++ src/map/utils/battleutils.cpp (working copy) @@ -3627,9 +3627,21 @@ if (PAttacker->objtype == TYPE_PC) AttMultiplerPercent = PAttacker->getMod(MOD_JUMP_ATT_BONUS); - float DamageRatio = battleutils::GetDamageRatio(PAttacker, PVictim, false, AttMultiplerPercent); - damageForRound = (uint16)((PAttacker->GetMainWeaponDmg() + battleutils::GetFSTR(PAttacker,PVictim,SLOT_MAIN)) * DamageRatio); + // bonus for Ryunohige Weapons + if ((PItemMain->getID() == 19004 || PItemMain->getID() == 19073 || PItemMain->getID() == 19093 + || PItemMain->getID() == 19625 || PItemMain->getID() == 19723 || PItemMain->getID() == 19823 + || PItemMain->getID() == 19961) && (tier == 1 || tier == 2)) + { + float DamageRatio = battleutils::GetDamageRatio(PAttacker, PVictim, true, AttMultiplerPercent); + damageForRound = (uint16)((PAttacker->GetMainWeaponDmg() + battleutils::GetFSTR(PAttacker,PVictim,SLOT_MAIN)) * DamageRatio); + } + else + { + float DamageRatio = battleutils::GetDamageRatio(PAttacker, PVictim, false, AttMultiplerPercent); + damageForRound = (uint16)((PAttacker->GetMainWeaponDmg() + battleutils::GetFSTR(PAttacker,PVictim,SLOT_MAIN)) * DamageRatio); + } + // bonus applies to jump only, not high jump if (tier == 1) { @@ -3637,6 +3649,29 @@ damageForRound = damageForRound * jumpBonus; } + + // bonus for Ryunohige Weapons + if (PItemMain->getID() == 19004 && tier == 1) + { + damageForRound += (damageForRound * .05); + } + else if (PItemMain->getID() == 19073 && tier == 1) + { + damageForRound += (damageForRound * .10); + } + else if (PItemMain->getID() == 19093 && tier == 1) + { + damageForRound += (damageForRound * .15); + } + else if ((PItemMain->getID() == 19625 || PItemMain->getID() == 19723) && tier == 1) + { + damageForRound += (damageForRound * .25); + } + else if ((PItemMain->getID() == 19832 || PItemMain->getID() == 19961) && tier == 1) + { + damageForRound += (damageForRound * .35); + } + hitTarget = true; realHits++;