📄 charlist.h
字号:
return __max(nTime, 300);
}
case PRIEST_SPELL:
{ // 己流磊牢 版快
const int nTime = nReady*(1000 - GetAbility(WIS))/1500 + (nReady>>1);
return __max(nTime, 600);
}
}
return 2000;
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::CalcMagicPeriod(BYTE nType, int nContinue)
{ // 付过 蜡瘤矫埃 拌魂
if (IsNpc())
{
return nContinue + rand()%5;
}
int nItem = 0;
switch (Spell)
{
case WIZARD_SPELL:
{ // 付过荤扼搁
switch (nType/10)
{
case MT_PROTECTION:
{
nItem += RareEM.GetStaticRareMagic_stay(StaticRare)/3;
nItem += RareEM.GetDynamicRareValue(FITEM_SPELL_TIME_UP, DynamicRare)/3;
break;
}
case MT_ASSISTANCE:
{
nItem += RareEM.GetStaticRareMagic_stay(StaticRare)/2;
nItem += RareEM.GetDynamicRareValue(FITEM_SPELL_TIME_UP, DynamicRare)/2;
break;
}
case MT_CURSE:
{
nItem += RareEM.GetStaticRareMagic_stay(StaticRare)/4;
nItem += RareEM.GetDynamicRareValue(FITEM_SPELL_TIME_UP, DynamicRare)/4;
break;
}
}
break;
}
case PRIEST_SPELL:
{ // 己流磊扼搁
switch (nType/10)
{
case MT_PROTECTION:
{
nItem += RareEM.GetStaticRareNature_stay(StaticRare)/3;
nItem += RareEM.GetDynamicRareValue(FITEM_SPELL_TIME_UP, DynamicRare)/3;
break;
}
case MT_ASSISTANCE:
{
nItem += RareEM.GetStaticRareNature_stay(StaticRare)/2;
nItem += RareEM.GetDynamicRareValue(FITEM_SPELL_TIME_UP, DynamicRare)/2;
break;
}
case MT_CURSE:
{
nItem += RareEM.GetStaticRareNature_stay(StaticRare)/4;
nItem += RareEM.GetDynamicRareValue(FITEM_SPELL_TIME_UP, DynamicRare)/4;
break;
}
}
break;
}
}
const int nInt = GetAbility(INT_);
const int nWis = GetAbility(WIS);
const int nWsPs = GetAbility(WSPS);
const int nBase = nContinue*(nInt + nWis + nWsPs)/1000 + (nContinue>>1);
const int nSum = 100 + nItem; // 焊沥蔼甸狼 钦(窜困 %)
// 饭绢 酒捞袍俊 狼茄 矫埃 刘啊
int nAdd = 0;
switch (nType/10)
{
case MT_PROTECTION:
{
nAdd = RareEM.GetStaticRareMasking(StaticRare);
break;
}
case MT_ASSISTANCE:
{
nAdd = RareEM.GetStaticRareAid(StaticRare);
break;
}
case MT_CURSE:
{
nAdd = RareEM.GetStaticRareCurse(StaticRare);
break;
}
}
return nBase*nSum/100 + nAdd;
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::CalcResistPeriod(BYTE nType, int nContinue)
{ // 历亲仿俊 蝶弗 蜡瘤矫埃 拌魂
int nResist = RareEM.GetDynamicRareValue(FITEM_RESIST_UP, DynamicRare);
switch (nType)
{
case RESIST_POISON: // 刀拌凯 历林付过俊 措茄 历亲仿
{
nResist += GetExtPoison();
return (__min(nResist, 235)*nContinue)/250;
}
case RESIST_CURSE: // 付厚拌凯 历林付过俊 措茄 历亲仿
{
nResist += GetExtCurse();
return (__min(nResist, 235)*nContinue)/250;
}
}
return 0;
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::CalcMovePower()
{ // 捞悼仿 拌魂
if (dwDontMove > 0) return 0; // 捞悼阂啊 惑怕牢 版快
if (nCurrentAction == 1) return 0; // 旧酒 乐绰 版快
// 必厩 NK牢 版快 贸府
const int nNation = MapInfo[MapNumber].nation;
if (GetNK(nNation) >= 100) return 10;
if (GetNK(nNation) >= 10) return 25;
// 捞悼 加档 备窍扁
int nMove = GetMovePower(HorseNo), nPlus = 0, nMinus = 0;
// 富阑 鸥绊 乐绰瘤 咯何
const bool bHorse = (HorseNo <= 0) ? false:true;
// 富阑 藕 版快绰 捞悼摹俊 包茄 傈捧胶懦, 付过 公矫
if (!bHorse)
{ //< CSD-020710
switch (GetPassiveCombat())
{
case GUST: nPlus = GetCombatValue(GUST); break;
}
CorrectMovePlus(nMove, nPlus);
// 饭绢俊 措茄 焊沥
nMove += (RareEM.GetStaticRareSpeed(StaticRare)>>1);
nMove += RareEM.GetDynamicRareValue(FITEM_SPEED_UP, DynamicRare);
} //> CSD-020710
if (IsFreeze())
{ //< CSD-021024 : 倔覆 惑怕牢 版快扼搁
nMinus = 50;
} //> CSD-021024
CorrectMoveMinus(nMove, nMinus);
// 硅绊悄 荐摹啊 0芭唱 蜡飞牢 版快 框流烙篮 1/2肺 临绢惦
return (IsHungry()) ? (nMove>>1):nMove;
}
template<class T1, class T2, class T3>
bool TCharList<T1, T2, T3>::IsStrikePiercing() const
{ //< CSD-021024
if (IsNpc())
{
return (rand()%101 <= GetNpcStrikePiercing()) ? true:false;
}
return false;
} //> CSD-021024
template<class T1, class T2, class T3>
bool TCharList<T1, T2, T3>::IsMagicPiercing() const
{ //< CSD-021024
if (IsNpc())
{
return (rand()%101 <= GetNpcMagicPiercing()) ? true:false;
}
return false;
} //> CSD-021024
template<class T1, class T2, class T3>
bool TCharList<T1, T2, T3>::IsCurseAvoid(BYTE nType) const
{ //< CSD-021024
if (IsNpc())
{
switch (nType)
{
case 41: return (rand()%101 <= GetNpcStunAvoid()) ? true:false;
case 42: return (rand()%101 <= GetNpcSlowAvoid()) ? true:false;
case 43: return (rand()%101 <= GetNpcPoisonAvoid()) ? true:false;
case 44: return (rand()%101 <= GetNpcBlindAvoid()) ? true:false;
case 45: return (rand()%101 <= GetNpcDrainAvoid()) ? true:false;
case 46: return (rand()%101 <= GetNpcFreezeAvoid()) ? true:false;
}
}
return false;
} //> CSD-021024
///////////////////////////////////////////////////////////////////////////////
// Protected Method
///////////////////////////////////////////////////////////////////////////////
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtPoison() const
{
return GetBasicResist(RT_POISON) + GetExtPoisonByItem();
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtCurse() const
{
return GetBasicResist(RT_CURSE) + GetExtCurseByItem();
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtHoly() const
{
return GetBasicResist(RT_HOLY) + GetExtHolyByItem();
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtFire() const
{
return GetBasicResist(RT_FIRE) + GetExtFireByItem();
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtIce() const
{
return GetBasicResist(RT_ICE) + GetExtIceByItem();
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtElect() const
{
return GetBasicResist(RT_ELECT) + GetExtElectByItem();
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtPoisonByItem() const
{
return GetExtResist(RT_POISON) + RareEM.GetStaticRareResist_venom(StaticRare);
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtCurseByItem() const//030227 lsw
{
return GetExtResist(RT_CURSE)+ RareEM.GetStaticRareResist_paralysis(StaticRare);
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtHolyByItem() const
{
return GetExtResist(RT_HOLY) + RareEM.GetStaticRareResist_holy(StaticRare);
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtFireByItem() const
{
return GetExtResist(RT_FIRE) + RareEM.GetStaticRareResist_blaze(StaticRare);
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtIceByItem() const
{
return GetExtResist(RT_ICE) + RareEM.GetStaticRareResist_freeze(StaticRare);
}
template<class T1, class T2, class T3>
int TCharList<T1, T2, T3>::GetExtElectByItem() const
{
return GetExtResist(RT_ELECT) + RareEM.GetStaticRareResist_lightning(StaticRare);
}
///////////////////////////////////////////////////////////////////////////////
//
typedef TCharList<CCharInfo, CMagicState, CResistState> CHARLIST;
typedef TCharList<CCharInfo, CMagicState, CResistState>* LPCHARLIST;
//
///////////////////////////////////////////////////////////////////////////////
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -