Kayen: Implemented SE_Metabolism - Modifies food/drink consumption rates. [Data for AA is already in database]

This commit is contained in:
KayenEQ
2014-06-22 23:10:29 -04:00
committed by Arthur Ice
parent ad31de5f78
commit 53fb53e822
6 changed files with 26 additions and 16 deletions
+15
View File
@@ -1264,6 +1264,10 @@ void Client::ApplyAABonuses(uint32 aaid, uint32 slots, StatBonuses* newbon)
newbon->BerserkSPA = true;
break;
case SE_Metabolism:
newbon->Metabolism += base1;
break;
}
}
}
@@ -2729,6 +2733,11 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
newbon->BerserkSPA = true;
break;
case SE_Metabolism:
newbon->Metabolism += effect_value;
break;
//Special custom cases for loading effects on to NPC from 'npc_spels_effects' table
if (IsAISpellEffect) {
@@ -4130,6 +4139,12 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
aabonuses.Vampirism = effect_value;
itembonuses.Vampirism = effect_value;
break;
case SE_Metabolism:
spellbonuses.Metabolism = effect_value;
aabonuses.Metabolism = effect_value;
itembonuses.Metabolism = effect_value;
break;
}
}
+6 -14
View File
@@ -8134,20 +8134,12 @@ void Client::Consume(const Item_Struct *item, uint8 type, int16 slot, bool auto_
uint16 cons_mod = 180;
switch(GetAA(aaInnateMetabolism)){
case 1:
cons_mod = cons_mod * 110 * RuleI(Character, ConsumptionMultiplier) / 10000;
break;
case 2:
cons_mod = cons_mod * 125 * RuleI(Character, ConsumptionMultiplier) / 10000;
break;
case 3:
cons_mod = cons_mod * 150 * RuleI(Character, ConsumptionMultiplier) / 10000;
break;
default:
cons_mod = cons_mod * RuleI(Character, ConsumptionMultiplier) / 100;
break;
}
int16 metabolism_bonus = spellbonuses.Metabolism + itembonuses.Metabolism + aabonuses.Metabolism;
if (metabolism_bonus)
cons_mod = cons_mod * metabolism_bonus* RuleI(Character, ConsumptionMultiplier) / 10000;
else
cons_mod = cons_mod * RuleI(Character, ConsumptionMultiplier) / 100;
if(type == ItemTypeFood)
{
+2 -1
View File
@@ -356,7 +356,8 @@ struct StatBonuses {
bool BStacker; // For buff stack blocking
bool CStacker; // For buff stack blocking
bool DStacker; // For buff stack blocking
bool BerserkSPA; // berserk effect
bool BerserkSPA; // berserk effect
int16 Metabolism; // Food/drink consumption rates.
// AAs
int8 Packrat; //weight reduction for items, 1 point = 10%
+1
View File
@@ -2901,6 +2901,7 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial)
case SE_DoubleRiposte:
case SE_Berserk:
case SE_Vampirism:
case SE_Metabolism:
{
break;
}