mirror of
https://github.com/EQEmu/Server.git
synced 2026-08-29 16:58:02 +00:00
Kayen: Implemented SE_Metabolism - Modifies food/drink consumption rates. [Data for AA is already in database]
This commit is contained in:
@@ -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
@@ -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
@@ -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%
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user