rendered paste bodyconst DEFAULT_DECAY_RATE := 10.0; // minutes.
....
///////////////////////////////////////////////////////////
// Purpose: Returns the loyalty decay rate.
// Params: none
// Returns: decayrate The rate at which loyalty decays at in minutes.
///////////////////////////////////////////////////////////
function GetDecayRate( byref mobNPC )
var rate := 1.0;
var masta := SystemFindObjectBySerial(mobNPC.master);
var skill;
if (!masta || masta == error)
rate := 5.0;
skill := GetEffectiveSkill(SystemFindObjectBySerial(mobNPC.master, SYSFIND_SEARCH_OFFLINE_MOBILES), SKILLID_TAMING);
else
skill := GetEffectiveSkill(masta, SKILLID_TAMING);
endif
var hungermod := CDbl(mobNPC.getprop("HungerLevel"));
hungermod := 1.0 - (hungermod/200.0);
rate := CInt(hungermod * CDbl(rate * CDbl(skill / 10.00) * 60.0 * DEFAULT_DECAY_RATE));
if (rate < 1)
rate := 1;
endif
return rate;
endfunction