public static void Convert(BaseCreature bc) { if (bc.IsParagon) { return; } bc.Hue = Hue; if (bc.HitsMaxSeed >= 0) { bc.HitsMaxSeed = (int)(bc.HitsMaxSeed * HitsBuff); } bc.RawStr = (int)(bc.RawStr * StrBuff); bc.RawInt = (int)(bc.RawInt * IntBuff); bc.RawDex = (int)(bc.RawDex * DexBuff); bc.Hits = bc.HitsMax; bc.Mana = bc.ManaMax; bc.Stam = bc.StamMax; for (int i = 0; i < bc.Skills.Length; i++) { Skill skill = (Skill)bc.Skills[i]; if (skill.Base > 0.0) { skill.Base *= SkillsBuff; } } bc.PassiveSpeed /= SpeedBuff; bc.ActiveSpeed /= SpeedBuff; bc.DamageMin += DamageBuff; bc.DamageMax += DamageBuff; if (bc.Fame > 0) { bc.Fame = (int)(bc.Fame * FameBuff); } if (bc.Fame > 32000) { bc.Fame = 32000; } // TODO: Mana regeneration rate = Sqrt( buffedFame ) / 4 if (bc.Karma != 0) { bc.Karma = (int)(bc.Karma * KarmaBuff); if (bc.TotalGold > 0) { bc.PackGold((int)(bc.TotalGold * 1.5)); } if (bc.Fame <= 500) { bc.AddLoot(LootPack.Poor); } if (bc.Fame <= 1700 && bc.Fame > 500) { bc.AddLoot(LootPack.Meager); } if (bc.Fame <= 4500 && bc.Fame > 1700) { bc.AddLoot(LootPack.Average); } if (bc.Fame <= 10000 && bc.Fame > 4500) { bc.AddLoot(LootPack.Rich); } if (bc.Fame <= 16000 && bc.Fame > 10000) { bc.AddLoot(LootPack.FilthyRich); } if (bc.Fame <= 26000 && bc.Fame > 16000) { bc.AddLoot(LootPack.UltraRich); } if (bc.Fame <= 32000 && bc.Fame > 26000) { bc.AddLoot(LootPack.SuperBoss); } if (Math.Abs(bc.Karma) > 32000) { bc.Karma = 32000 * Math.Sign(bc.Karma); } } }
public static void Convert( BaseCreature bc ) { if ( bc.IsParagon ) return; bc.Hue = Hue; if ( bc.HitsMaxSeed >= 0 ) bc.HitsMaxSeed = (int)( bc.HitsMaxSeed * HitsBuff ); bc.RawStr = (int)( bc.RawStr * StrBuff ); bc.RawInt = (int)( bc.RawInt * IntBuff ); bc.RawDex = (int)( bc.RawDex * DexBuff ); bc.Hits = bc.HitsMax; bc.Mana = bc.ManaMax; bc.Stam = bc.StamMax; for( int i = 0; i < bc.Skills.Length; i++ ) { Skill skill = (Skill)bc.Skills[i]; if ( skill.Base > 0.0 ) skill.Base *= SkillsBuff; } bc.PassiveSpeed /= SpeedBuff; bc.ActiveSpeed /= SpeedBuff; bc.DamageMin += DamageBuff; bc.DamageMax += DamageBuff; if ( bc.Fame > 0 ) bc.Fame = (int)( bc.Fame * FameBuff ); if ( bc.Fame > 32000 ) bc.Fame = 32000; // TODO: Mana regeneration rate = Sqrt( buffedFame ) / 4 if ( bc.Karma != 0 ) { bc.Karma = (int)( bc.Karma * KarmaBuff ); if (bc.TotalGold > 0) { bc.PackGold((int)(bc.TotalGold * 1.5)); } if (bc.Fame <= 500) { bc.AddLoot(LootPack.Poor); } if (bc.Fame <= 1700 && bc.Fame > 500) { bc.AddLoot(LootPack.Meager); } if (bc.Fame <= 4500 && bc.Fame > 1700) { bc.AddLoot(LootPack.Average); } if (bc.Fame <= 10000 && bc.Fame > 4500) { bc.AddLoot(LootPack.Rich); } if (bc.Fame <= 16000 && bc.Fame > 10000) { bc.AddLoot(LootPack.FilthyRich); } if (bc.Fame <= 26000 && bc.Fame > 16000) { bc.AddLoot(LootPack.UltraRich); } if (bc.Fame <= 32000 && bc.Fame > 26000) { bc.AddLoot(LootPack.SuperBoss); } if( Math.Abs( bc.Karma ) > 32000 ) bc.Karma = 32000 * Math.Sign( bc.Karma ); } }