/* ========================================================================== * ÆÄ ÀÏ : DamageCalc.h * ¸ñ Àû : µ¥¹ÌÁö¸¦ »êÃâÇÑ´Ù. * ÀÛ ¼º ÀÚ : ¹Ú°æÈñ * ÀÛ ¼º ÀÏ : 2007-01-16 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Status_Common.h" #include "Skill_Common.h" class cBaseObject; class cPlayer; class cMonster; enum eOBJECTTYPE; struct sObject; const float CRITICAL_RATE = 1.5f; const unsigned long DEFENSE_RANDOM_PER = 80; const unsigned long HEAL_RANDOM_PER = 90; class cDamageCalc { public: static cDamageCalc* mpDamageCalc; public: cDamageCalc(void); ~cDamageCalc(void); public: /// °ø°Ý ¼º°ø È®·ü unsigned long PhyAttackSuccess100( unsigned long attackerStatusRate, unsigned long targetStatusAvoid, long skillRate, unsigned char attackerType, unsigned char attackerLv, unsigned char targetLv, unsigned long instantSuccess, unsigned long instantSuccessPer ); unsigned long MagAttackSuccess130( unsigned long attackerStatusRate, unsigned long targetStatusAvoid, long skillRate, unsigned char attackerType, unsigned char attackerLv, unsigned char targetLv, unsigned long instantSuccess, unsigned long instantSuccessPer ); /// Å©¸®Æ¼Äà ¹ß»ý È®À² unsigned long PhyCritical200( unsigned long attackerStatusCri, long skillCri, unsigned char attackerLv, unsigned char targetLv, long attackerPer, long attackerItemPer, long attackerPlus, long attackerItemPlus, float targetCriDef, unsigned long instantCri, unsigned long instantCriPer ); unsigned long MagCritical230( unsigned long attackerStatusCri, long skillCri, unsigned char attackerLv, unsigned char targetLv, long attackerPer, long attackerItemPer, long attackerPlus, long attackerItemPlus, float targetCriDef, unsigned long instantCri, unsigned long instantCriPer ); unsigned long MonsterCritical260( long skillCri, unsigned char attackerLv, unsigned char targetLv, long attackerPer, long attackerPlus, float targetCriDef ); /// ÃÖÁ¾ µ¥¹ÌÁö unsigned long PhyDamage500( unsigned char attackerType, unsigned char attackerLv, unsigned char targetType, unsigned char targetLv, unsigned long attackerStatusPhyAttack, long skillAttackPlus, long skillAttackPer, unsigned long targetStatusPhyDef, float addTotalDamage, float addPerTotalDamage ); unsigned long MagDamage530( unsigned char attackerType, unsigned char attackerLv, unsigned char targetType, unsigned char targetLv, unsigned long attackerStatusMagAttack, long skillAttackPlus, long skillAttackPer, unsigned long targetStatusMagDef, float addTotalDamage, float addPerTotalDamage ); /// µµÆ®µ¥¹ÌÁö unsigned long PhyDotDamage600( unsigned char attackerType, unsigned char attackerLv, unsigned char targetType, unsigned char targetLv, unsigned long attackerStatusPhyAttack, long infAttackPlus, long infAttackPer, unsigned long targetStatusPhyDef, unsigned long dotTotalTime, unsigned long dotTime ); unsigned long MagDotDamage630( unsigned char attackerType, unsigned char attackerLv, unsigned char targetType, unsigned char targetLv, unsigned long attackerStatusMagAttack, long infAttackPlus, long infAttackPer, unsigned long targetStatusMagDef, unsigned long dotTotalTime, unsigned long dotTime ); /// »óÅ ¼º°ø È®·ü unsigned long PhyConditionOdd900( long skillRate, unsigned char attackerLv, unsigned char targetLv ); unsigned long MagConditionOdd930( long skillRate, unsigned char attackerLv, unsigned char targetLv ); /// ȸº¹(Èú) unsigned long HealHP1200( long statusHeal, long skillHealPlus, long skillHealPer, long targetHealPlus, long targetHealPer, long targetItemPlus, long targetItemPer ); /// ȸº¹ µµÆ® unsigned long DotHealHP1230( long statusHeal, long infHealPlus, long infHealPer, unsigned long dotTotalTime, unsigned long dotTime ); }; #define DAMAGECALC cDamageCalc::mpDamageCalc