public static void CreatureKilled(BaseCreature creature, PlayerMobile player, double damagePercent, bool takenPoisonDamage, bool takenCreatureDamage) { if (creature == null || player == null) { return; } MHSPersistance.CheckAndCreateMHSAccountEntry(player); if (BossList.Contains(creature.GetType())) { ResolveCreatureKilled(MHSGroupType.Boss, creature, player, damagePercent, takenPoisonDamage, takenCreatureDamage); } if (ChampionList.Contains(creature.GetType())) { ResolveCreatureKilled(MHSGroupType.Champion, creature, player, damagePercent, takenPoisonDamage, takenCreatureDamage); } if (LoHBossList.Contains(creature.GetType())) { ResolveCreatureKilled(MHSGroupType.LoHBoss, creature, player, damagePercent, takenPoisonDamage, takenCreatureDamage); } if (creature.Rare && RareList.Contains(creature.GetType())) { ResolveCreatureKilled(MHSGroupType.Rare, creature, player, damagePercent, takenPoisonDamage, takenCreatureDamage); } if (creature.IsParagon && !creature.ConvertedParagon && RareList.Contains(creature.GetType())) { ResolveCreatureKilled(MHSGroupType.Paragon, creature, player, damagePercent, takenPoisonDamage, takenCreatureDamage); } }
public static int GetPlayerTaskCount(MHSGroupType groupType, PlayerMobile player) { int count = 0; if (player == null) { return(count); } MHSPersistance.CheckAndCreateMHSAccountEntry(player); foreach (MHSCreaturePlayerEntry creatureEntry in player.m_MHSPlayerEntry.m_CreatureEntries) { if (creatureEntry.m_GroupType != groupType) { continue; } foreach (MHSCreatureTaskPlayerEntry taskEntry in creatureEntry.m_Tasks) { if (taskEntry.m_TimesCompleted > 0) { count++; } } } return(count); }
public static MHSCreaturePlayerEntry GetCreaturePlayerEntry(PlayerMobile player, MHSGroupType groupType, Type creatureType) { MHSPersistance.CheckAndCreateMHSAccountEntry(player); foreach (MHSCreaturePlayerEntry creatureEntry in player.m_MHSPlayerEntry.m_CreatureEntries) { if (creatureEntry.m_CreatureType == creatureType && creatureEntry.m_GroupType == groupType) { return(creatureEntry); } } MHSCreaturePlayerEntry newEntry = new MHSCreaturePlayerEntry(creatureType, groupType); player.m_MHSPlayerEntry.m_CreatureEntries.Add(newEntry); return(newEntry); }