1
This commit is contained in:
parent
ade8d12bc1
commit
c604e4c6e1
@ -127,128 +127,143 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RecalcHp()
|
||||||
|
{
|
||||||
|
float pHealRateAm = 0.0f; //加基础点数属性绝对值
|
||||||
|
float pHealthAm_Add = 0.0f; //buff或者养成的属性
|
||||||
|
pHealRateAm += pHealthAm_Add;
|
||||||
|
|
||||||
|
float pHealthRateSe = 0.0f;
|
||||||
|
float pHealthRateSe_Add = 0.0f; //buff或者养成的属性
|
||||||
|
pHealthRateSe += pHealthRateSe_Add;
|
||||||
|
|
||||||
|
float pHealthRateIn = 0.0f;
|
||||||
|
float pHealthRateIn_Add = 0.0f; //buff或者养成的属性
|
||||||
|
pHealthRateIn = (1 + pHealthRateIn) * (1 + pHealthRateIn_Add) - 1;
|
||||||
|
|
||||||
|
float pHealth = (hero_meta->GetBasicMeta()->pOrigHealth() + pHealRateAm) * (1 + pHealthRateSe) * (1 + pHealthRateIn);
|
||||||
|
|
||||||
|
float vHealthAm = 0.0f;
|
||||||
|
float vHealthAm_Add = 0.0f; //buff或者养成的属性
|
||||||
|
vHealthAm += vHealthAm_Add;
|
||||||
|
|
||||||
|
float vHealthRateSe = 0.0f;
|
||||||
|
float vHealthRateSe_Add = 0.0f; //buff或者养成的属性
|
||||||
|
vHealthRateSe += vHealthRateSe_Add;
|
||||||
|
|
||||||
|
float vHealthRateIn = 0.0f;
|
||||||
|
float vHealthRateIn_Add = 0.0f; //buff或者养成的属性
|
||||||
|
vHealthRateIn = (1 + vHealthRateIn) * (1 + vHealthRateIn_Add) - 1;
|
||||||
|
|
||||||
|
hp_ = (hero_meta->GetBasicMeta()->vOrigHealth() * (1 + pHealth / hero_meta->GetBasicMeta()->pBaseHealth() + vHealthAm)) *
|
||||||
|
(1 + vHealthRateSe) * (1 + vHealthRateIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
void RecalcAttack()
|
||||||
|
{
|
||||||
|
float pAttackAm = 0.0f;
|
||||||
|
float pAttackAm_Add = 0.0f;
|
||||||
|
pAttackAm += pAttackAm_Add;
|
||||||
|
|
||||||
|
float pAttackRateSe = 0.0f;
|
||||||
|
float pAttackRateSe_Add = 0.0f;
|
||||||
|
pAttackRateSe += pAttackRateSe_Add;
|
||||||
|
|
||||||
|
float pAttackRateIn = 0.0f;
|
||||||
|
float pAttackRateIn_Add = 0.0f;
|
||||||
|
pAttackRateIn = (1 + pAttackRateIn) * ( 1 + pAttackRateIn_Add) - 1;
|
||||||
|
|
||||||
|
float vAttackAm = 0.0f;
|
||||||
|
float vAttackAm_Add = 0.0f;
|
||||||
|
vAttackAm += vAttackAm_Add;
|
||||||
|
|
||||||
|
float vAttackRateSe = 0.0f;
|
||||||
|
float vAttackRateSe_Add = 0.0f;
|
||||||
|
vAttackRateSe += vAttackRateSe_Add;
|
||||||
|
|
||||||
|
float vAttackRateIn = 0.0f;
|
||||||
|
float vAttackRateIn_Add = 0.0f;
|
||||||
|
vAttackRateIn = (1 + vAttackRateIn) * (1 + vAttackRateIn_Add) - 1;
|
||||||
|
|
||||||
|
float pAttack = 0.0f;
|
||||||
|
pAttack = (hero_meta->GetBasicMeta()->vOrigAttack() + pAttackAm) * (1 + pAttackRateSe) * (1 + pAttackRateIn);
|
||||||
|
|
||||||
|
atk_ = (hero_meta->GetBasicMeta()->vOrigAttack() * (1 + pAttack / hero_meta->GetBasicMeta()->pBaseAttack()) + vAttackAm) *
|
||||||
|
(1 + vAttackRateSe) * (1 + vAttackRateIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
void RecalcDef()
|
||||||
|
{
|
||||||
|
float pDefendAm = 0.0f;
|
||||||
|
float pDefendAm_Add = 0.0f;
|
||||||
|
pDefendAm += pDefendAm_Add;
|
||||||
|
|
||||||
|
float pDefendRateSe = 0.0f;
|
||||||
|
float pDefendRateSe_Add = 0.0f;
|
||||||
|
pDefendRateSe += pDefendRateSe_Add;
|
||||||
|
|
||||||
|
float pDefendRateIn = 0.0f;
|
||||||
|
float pDefendRateIn_Add = 0.0f;
|
||||||
|
pDefendRateIn = (1 + pDefendRateIn) * (1 + pDefendRateIn_Add) - 1;
|
||||||
|
|
||||||
|
def_ = (hero_meta->GetBasicMeta()->vOrigDefend() + pDefendAm) *
|
||||||
|
(1 + pDefendRateSe) * (1 + pDefendRateIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
void RecalcBlock()
|
||||||
|
{
|
||||||
|
float pBlockAm = 0.0f;
|
||||||
|
float pBlockAm_Add = 0.0f;
|
||||||
|
pBlockAm += pBlockAm_Add;
|
||||||
|
|
||||||
|
float pBlockRateSe = 0.0f;
|
||||||
|
float pBlockRateSe_Add = 0.0f;
|
||||||
|
pBlockRateSe += pBlockRateSe_Add;
|
||||||
|
|
||||||
|
float pBlockRateIn = 0.0f;
|
||||||
|
float pBlockRateIn_Add = 0.0f;
|
||||||
|
pBlockRateIn = (1 + pBlockRateIn) * (1 + pBlockRateIn_Add) - 1;
|
||||||
|
|
||||||
|
float pBlock = 0.0f;
|
||||||
|
pBlock = (hero_meta->GetBasicMeta()->pOrigBlock() +pBlockAm) * (1 + pBlockRateSe) * (1 + pBlockRateIn);
|
||||||
|
|
||||||
|
|
||||||
|
float vBlock = 1 - (1 - hero_meta->GetBasicMeta()->vOrigBlock()) / (1 + pBlock / hero_meta->GetBasicMeta()->pBaseBlock());
|
||||||
|
|
||||||
|
block_ = vBlock;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RecalcCrit()
|
||||||
|
{
|
||||||
|
float pCritAm = 0.0f;
|
||||||
|
float pCritAm_Add = 0.0f;
|
||||||
|
pCritAm += pCritAm_Add;
|
||||||
|
|
||||||
|
float pCritRateSe = 0.0f;
|
||||||
|
float pCritRateSe_Add = 0.0f;
|
||||||
|
pCritRateSe += pCritRateSe_Add;
|
||||||
|
|
||||||
|
float pCritRateIn = 0.0f;
|
||||||
|
float pCritRateIn_Add = 0.0f;
|
||||||
|
pCritRateIn = (1 + pCritRateIn) * (1 + pCritRateIn_Add) - 1;
|
||||||
|
|
||||||
|
float pCrit = 0.0f;
|
||||||
|
pCrit = (hero_meta->GetBasicMeta()->pOrigCrit() + pCritAm) * (1 + pCritRateSe) * (1 + pCritRateIn);
|
||||||
|
|
||||||
|
float vCrit = 0.0f;
|
||||||
|
vCrit = (1 + hero_meta->GetBasicMeta()->vOrigCrit()) * (1 + pCrit / hero_meta->GetBasicMeta()->pBaseCrit()) - 1;
|
||||||
|
crit_ = vCrit;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
void DefaultInit(Creature* c)
|
void DefaultInit(Creature* c)
|
||||||
{
|
{
|
||||||
{
|
RecalcHp();
|
||||||
float pHealRateAm = 0.0f; //加基础点数属性绝对值
|
RecalcAttack();
|
||||||
float pHealthAm_Add = 0.0f; //buff或者养成的属性
|
RecalcDef();
|
||||||
pHealRateAm += pHealthAm_Add;
|
RecalcBlock();
|
||||||
|
RecalcCrit();
|
||||||
float pHealthRateSe = 0.0f;
|
|
||||||
float pHealthRateSe_Add = 0.0f; //buff或者养成的属性
|
|
||||||
pHealthRateSe += pHealthRateSe_Add;
|
|
||||||
|
|
||||||
float pHealthRateIn = 0.0f;
|
|
||||||
float pHealthRateIn_Add = 0.0f; //buff或者养成的属性
|
|
||||||
pHealthRateIn = (1 + pHealthRateIn) * (1 + pHealthRateIn_Add) - 1;
|
|
||||||
|
|
||||||
float pHealth = (hero_meta->GetBasicMeta()->pOrigHealth() + pHealRateAm) * (1 + pHealthRateSe) * (1 + pHealthRateIn);
|
|
||||||
|
|
||||||
float vHealthAm = 0.0f;
|
|
||||||
float vHealthAm_Add = 0.0f; //buff或者养成的属性
|
|
||||||
vHealthAm += vHealthAm_Add;
|
|
||||||
|
|
||||||
float vHealthRateSe = 0.0f;
|
|
||||||
float vHealthRateSe_Add = 0.0f; //buff或者养成的属性
|
|
||||||
vHealthRateSe += vHealthRateSe_Add;
|
|
||||||
|
|
||||||
float vHealthRateIn = 0.0f;
|
|
||||||
float vHealthRateIn_Add = 0.0f; //buff或者养成的属性
|
|
||||||
vHealthRateIn = (1 + vHealthRateIn) * (1 + vHealthRateIn_Add) - 1;
|
|
||||||
|
|
||||||
hp_ = (hero_meta->GetBasicMeta()->vOrigHealth() * (1 + pHealth / hero_meta->GetBasicMeta()->pBaseHealth() + vHealthAm)) *
|
|
||||||
(1 + vHealthRateSe) * (1 + vHealthRateIn);
|
|
||||||
}
|
|
||||||
{
|
|
||||||
float pAttackAm = 0.0f;
|
|
||||||
float pAttackAm_Add = 0.0f;
|
|
||||||
pAttackAm += pAttackAm_Add;
|
|
||||||
|
|
||||||
float pAttackRateSe = 0.0f;
|
|
||||||
float pAttackRateSe_Add = 0.0f;
|
|
||||||
pAttackRateSe += pAttackRateSe_Add;
|
|
||||||
|
|
||||||
float pAttackRateIn = 0.0f;
|
|
||||||
float pAttackRateIn_Add = 0.0f;
|
|
||||||
pAttackRateIn = (1 + pAttackRateIn) * ( 1 + pAttackRateIn_Add) - 1;
|
|
||||||
|
|
||||||
float vAttackAm = 0.0f;
|
|
||||||
float vAttackAm_Add = 0.0f;
|
|
||||||
vAttackAm += vAttackAm_Add;
|
|
||||||
|
|
||||||
float vAttackRateSe = 0.0f;
|
|
||||||
float vAttackRateSe_Add = 0.0f;
|
|
||||||
vAttackRateSe += vAttackRateSe_Add;
|
|
||||||
|
|
||||||
float vAttackRateIn = 0.0f;
|
|
||||||
float vAttackRateIn_Add = 0.0f;
|
|
||||||
vAttackRateIn = (1 + vAttackRateIn) * (1 + vAttackRateIn_Add) - 1;
|
|
||||||
|
|
||||||
float pAttack = 0.0f;
|
|
||||||
pAttack = (hero_meta->GetBasicMeta()->vOrigAttack() + pAttackAm) * (1 + pAttackRateSe) * (1 + pAttackRateIn);
|
|
||||||
|
|
||||||
atk_ = (hero_meta->GetBasicMeta()->vOrigAttack() * (1 + pAttack / hero_meta->GetBasicMeta()->pBaseAttack()) + vAttackAm) *
|
|
||||||
(1 + vAttackRateSe) * (1 + vAttackRateIn);
|
|
||||||
}
|
|
||||||
{
|
|
||||||
float pDefendAm = 0.0f;
|
|
||||||
float pDefendAm_Add = 0.0f;
|
|
||||||
pDefendAm += pDefendAm_Add;
|
|
||||||
|
|
||||||
float pDefendRateSe = 0.0f;
|
|
||||||
float pDefendRateSe_Add = 0.0f;
|
|
||||||
pDefendRateSe += pDefendRateSe_Add;
|
|
||||||
|
|
||||||
float pDefendRateIn = 0.0f;
|
|
||||||
float pDefendRateIn_Add = 0.0f;
|
|
||||||
pDefendRateIn = (1 + pDefendRateIn) * (1 + pDefendRateIn_Add) - 1;
|
|
||||||
|
|
||||||
def_ = (hero_meta->GetBasicMeta()->vOrigDefend() + pDefendAm) *
|
|
||||||
(1 + pDefendRateSe) * (1 + pDefendRateIn);
|
|
||||||
}
|
|
||||||
{
|
|
||||||
float pBlockAm = 0.0f;
|
|
||||||
float pBlockAm_Add = 0.0f;
|
|
||||||
pBlockAm += pBlockAm_Add;
|
|
||||||
|
|
||||||
float pBlockRateSe = 0.0f;
|
|
||||||
float pBlockRateSe_Add = 0.0f;
|
|
||||||
pBlockRateSe += pBlockRateSe_Add;
|
|
||||||
|
|
||||||
float pBlockRateIn = 0.0f;
|
|
||||||
float pBlockRateIn_Add = 0.0f;
|
|
||||||
pBlockRateIn = (1 + pBlockRateIn) * (1 + pBlockRateIn_Add) - 1;
|
|
||||||
|
|
||||||
float pBlock = 0.0f;
|
|
||||||
pBlock = (hero_meta->GetBasicMeta()->pOrigBlock() +pBlockAm) * (1 + pBlockRateSe) * (1 + pBlockRateIn);
|
|
||||||
|
|
||||||
|
|
||||||
float vBlock = 1 - (1 - hero_meta->GetBasicMeta()->vOrigBlock()) / (1 + pBlock / hero_meta->GetBasicMeta()->pBaseBlock());
|
|
||||||
|
|
||||||
block_ = vBlock;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
float pCritAm = 0.0f;
|
|
||||||
float pCritAm_Add = 0.0f;
|
|
||||||
pCritAm += pCritAm_Add;
|
|
||||||
|
|
||||||
float pCritRateSe = 0.0f;
|
|
||||||
float pCritRateSe_Add = 0.0f;
|
|
||||||
pCritRateSe += pCritRateSe_Add;
|
|
||||||
|
|
||||||
float pCritRateIn = 0.0f;
|
|
||||||
float pCritRateIn_Add = 0.0f;
|
|
||||||
pCritRateIn = (1 + pCritRateIn) * (1 + pCritRateIn_Add) - 1;
|
|
||||||
|
|
||||||
float pCrit = 0.0f;
|
|
||||||
pCrit = (hero_meta->GetBasicMeta()->pOrigCrit() + pCritAm) * (1 + pCritRateSe) * (1 + pCritRateIn);
|
|
||||||
|
|
||||||
float vCrit = 0.0f;
|
|
||||||
vCrit = (1 + hero_meta->GetBasicMeta()->vOrigCrit()) * (1 + pCrit / hero_meta->GetBasicMeta()->pBaseCrit()) - 1;
|
|
||||||
crit_ = vCrit;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DtoInit(Creature* c)
|
void DtoInit(Creature* c)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user