Bot fixes for previous update.

This commit is contained in:
KayenEQ 2014-02-11 22:47:57 -05:00
parent 584278bf20
commit 7623770613
2 changed files with 33 additions and 54 deletions

View File

@ -7010,37 +7010,30 @@ int16 Bot::CalcBotAAFocus(BotfocusType type, uint32 aa_ID, uint16 spell_id)
break; break;
} }
case SE_CriticalHealRate: case SE_FcHealAmtIncoming:
{ if(type == focusFcHealAmtIncoming)
if (type == focusCriticalHealRate)
value = base1; value = base1;
break; break;
}
case SE_AdditionalHeal: case SE_FcHealPctCritIncoming:
{ if (type == focusFcHealPctCritIncoming)
if(type == focusAdditionalHeal)
value = base1; value = base1;
break; break;
}
case SE_AdditionalHeal2: case SE_FcHealAmtCrit:
{ if(type == focusFcHealAmtCrit)
if(type == focusAdditionalHeal2)
value = base1; value = base1;
break; break;
}
case SE_HealRate2: case SE_FcHealAmt:
{ if(type == focusFcHealAmt)
if(type == focusHealRate) value = base1;
break;
case SE_FcHealPctIncoming:
if(type == focusFcHealPctIncoming)
value = base1; value = base1;
break; break;
}
case SE_FcBaseEffects: case SE_FcBaseEffects:
{ {
@ -7660,45 +7653,30 @@ int16 Bot::CalcBotFocusEffect(BotfocusType bottype, uint16 focus_id, uint16 spel
break; break;
} }
case SE_FcDamageAmtIncoming: case SE_FcHealAmtIncoming:
{ if(bottype == BotfocusFcHealAmtIncoming)
if(bottype == BotfocusFcDamageAmtIncoming)
value = focus_spell.base[i]; value = focus_spell.base[i];
break; break;
}
case SE_CriticalHealRate: case SE_FcHealPctCritIncoming:
{ if (bottype == BotfocusFcHealPctCritIncoming)
if (bottype == BotfocusCriticalHealRate)
value = focus_spell.base[i]; value = focus_spell.base[i];
break; break;
}
case SE_AdditionalHeal: case SE_FcHealAmtCrit:
{ if(bottype == BotfocusFcHealAmtCrit)
if(bottype == BotfocusAdditionalHeal)
value = focus_spell.base[i]; value = focus_spell.base[i];
break; break;
}
case SE_AdditionalHeal2: case SE_FcHealAmt:
{ if(bottype == BotfocusFcHealAmt)
if(bottype == BotfocusAdditionalHeal2)
value = focus_spell.base[i]; value = focus_spell.base[i];
break; break;
}
case SE_HealRate2: case SE_FcHealPctIncoming:
{ if(bottype == BotfocusFcHealPctIncoming)
if(bottype == BotfocusHealRate)
value = focus_spell.base[i]; value = focus_spell.base[i];
break; break;
}
case SE_FcBaseEffects: case SE_FcBaseEffects:
{ {
@ -9178,7 +9156,7 @@ int32 Bot::GetActSpellDamage(uint16 spell_id, int32 value, Mob* target) {
value -= GetBotFocusEffect(BotfocusFcDamageAmt, spell_id); value -= GetBotFocusEffect(BotfocusFcDamageAmt, spell_id);
if(itembonuses.SpellDmg && spells[spell_id].classes[(botclass%16) - 1] >= botlevel - 5) if(itembonuses.SpellDmg && spells[spell_id].classes[(GetClass()%16) - 1] >= GetLevel() - 5)
value += GetExtraSpellAmt(spell_id, itembonuses.SpellDmg, value)*ratio/100; value += GetExtraSpellAmt(spell_id, itembonuses.SpellDmg, value)*ratio/100;
entity_list.MessageClose(this, false, 100, MT_SpellCrits, "%s delivers a critical blast! (%d)", GetName(), -value); entity_list.MessageClose(this, false, 100, MT_SpellCrits, "%s delivers a critical blast! (%d)", GetName(), -value);
@ -9202,7 +9180,7 @@ int32 Bot::GetActSpellDamage(uint16 spell_id, int32 value, Mob* target) {
value -= GetBotFocusEffect(BotfocusFcDamageAmt, spell_id); value -= GetBotFocusEffect(BotfocusFcDamageAmt, spell_id);
if(itembonuses.SpellDmg && spells[spell_id].classes[(botclass%16) - 1] >= botlevel - 5) if(itembonuses.SpellDmg && spells[spell_id].classes[(GetClass()%16) - 1] >= GetLevel() - 5)
value += GetExtraSpellAmt(spell_id, itembonuses.SpellDmg, value); value += GetExtraSpellAmt(spell_id, itembonuses.SpellDmg, value);
return value; return value;
@ -9229,7 +9207,7 @@ int32 Bot::GetActSpellHealing(uint16 spell_id, int32 value, Mob* target) {
chance += itembonuses.CriticalHealChance + spellbonuses.CriticalHealChance + aabonuses.CriticalHealChance; chance += itembonuses.CriticalHealChance + spellbonuses.CriticalHealChance + aabonuses.CriticalHealChance;
chance += target->GetBotFocusIncoming(BotfocusFcHealPctCritIncoming, SE_FcHealPctCritIncoming, this, spell_id); chance += target->GetFocusIncoming(focusFcHealPctCritIncoming, SE_FcHealPctCritIncoming, this, spell_id);
if (spellbonuses.CriticalHealDecay) if (spellbonuses.CriticalHealDecay)
chance += GetDecayEffectValue(spell_id, SE_CriticalHealDecay); chance += GetDecayEffectValue(spell_id, SE_CriticalHealDecay);
@ -9242,9 +9220,9 @@ int32 Bot::GetActSpellHealing(uint16 spell_id, int32 value, Mob* target) {
value *= modifier; value *= modifier;
value += GetBotFocusEffect(BotfocusFcHealAmtCrit, spell_id) * modifier; value += GetBotFocusEffect(BotfocusFcHealAmtCrit, spell_id) * modifier;
value += GetBotFocusEffect(BotfocusFcHealAmt, spell_id); value += GetBotFocusEffect(BotfocusFcHealAmt, spell_id);
value += target->GetBotFocusIncoming(BotfocusFcHealAmtIncoming, SE_FcHealAmtIncoming, this, spell_id); value += target->GetFocusIncoming(focusFcHealAmtIncoming, SE_FcHealAmtIncoming, this, spell_id);
if(itembonuses.HealAmt && spells[spell_id].classes[(botclass%16) - 1] >= botlevel - 5) if(itembonuses.HealAmt && spells[spell_id].classes[(GetClass()%16) - 1] >= GetLevel() - 5)
value += GetExtraSpellAmt(spell_id, itembonuses.HealAmt, value) * modifier; value += GetExtraSpellAmt(spell_id, itembonuses.HealAmt, value) * modifier;
value += value*target->GetHealRate(spell_id, this)/100; value += value*target->GetHealRate(spell_id, this)/100;
@ -9260,7 +9238,7 @@ int32 Bot::GetActSpellHealing(uint16 spell_id, int32 value, Mob* target) {
chance = itembonuses.CriticalHealOverTime + spellbonuses.CriticalHealOverTime + aabonuses.CriticalHealOverTime; chance = itembonuses.CriticalHealOverTime + spellbonuses.CriticalHealOverTime + aabonuses.CriticalHealOverTime;
chance += target->GetBotFocusIncoming(BotfocusFcHealPctCritIncoming, SE_FcHealPctCritIncoming, this, spell_id); chance += target->GetFocusIncoming(focusFcHealPctCritIncoming, SE_FcHealPctCritIncoming, this, spell_id);
if (spellbonuses.CriticalRegenDecay) if (spellbonuses.CriticalRegenDecay)
chance += GetDecayEffectValue(spell_id, SE_CriticalRegenDecay); chance += GetDecayEffectValue(spell_id, SE_CriticalRegenDecay);

View File

@ -88,6 +88,7 @@ public:
BotfocusBlockNextSpell, BotfocusBlockNextSpell,
BotfocusFcHealPctIncoming, BotfocusFcHealPctIncoming,
BotfocusFcDamageAmtIncoming, BotfocusFcDamageAmtIncoming,
BotfocusFcHealAmtIncoming,
BotfocusFcBaseEffects, BotfocusFcBaseEffects,
BotfocusIncreaseNumHits, BotfocusIncreaseNumHits,
BotfocusFcHealPctCritIncoming, BotfocusFcHealPctCritIncoming,
@ -301,8 +302,8 @@ public:
// Mob Spell Virtual Override Methods // Mob Spell Virtual Override Methods
virtual void SpellProcess(); virtual void SpellProcess();
virtual int32 GetActSpellDamage(uint16 spell_id, int32 value, Mob* target == nullptr); virtual int32 GetActSpellDamage(uint16 spell_id, int32 value, Mob* target = nullptr);
virtual int32 GetActSpellHealing(uint16 spell_id, int32 value, Mob* target == nullptr); virtual int32 GetActSpellHealing(uint16 spell_id, int32 value, Mob* target = nullptr);
virtual int32 GetActSpellCasttime(uint16 spell_id, int32 casttime); virtual int32 GetActSpellCasttime(uint16 spell_id, int32 casttime);
virtual int32 GetActSpellCost(uint16 spell_id, int32 cost); virtual int32 GetActSpellCost(uint16 spell_id, int32 cost);
virtual float GetActSpellRange(uint16 spell_id, float range); virtual float GetActSpellRange(uint16 spell_id, float range);