public ICombatStatus getStatus() { List <ICharacterDisplay> pcDisplays = new List <ICharacterDisplay>(); string fastestPCName = string.Empty; int fastestPCTime = int.MaxValue; foreach (int key in pcs.Keys) { FullCombatCharacter current = pcs[key]; List <IStatusDisplay> statuses = new List <IStatusDisplay>(); foreach (CombatModificationsModel cmm in current.mods) { statuses.Add(new StatusDisplay(Interfaces.Type.Text, cmm.name)); } CharacterDisplay cd = new CharacterDisplay(current.name, current.hp, current.maxHP, current.mp, current.maxMP, statuses, current.combatUniq, current.turnOrder, current.className, current.level); cd.setGlanceStats(current.strength, current.vitality, current.intellect, current.wisdom, current.agility, string.Empty); pcDisplays.Add(cd); if (pcs[key].turnOrder < fastestPCTime && pcs[key].hp > 0) { fastestPCTime = pcs[key].turnOrder; fastestPCName = pcs[key].name; } } List <ICharacterDisplay> npcDisplays = new List <ICharacterDisplay>(); foreach (int key in npcs.Keys) { FullCombatCharacter current = npcs[key]; List <IStatusDisplay> statuses = new List <IStatusDisplay>(); bool hasGlance = false; foreach (CombatModificationsModel cmm in current.mods) { if (cmm.name == "Glance") { hasGlance = true; } statuses.Add(new StatusDisplay(Interfaces.Type.Text, cmm.name)); } CharacterDisplay cd = new CharacterDisplay(current.name, current.hp, current.maxHP, current.mp, current.maxMP, statuses, current.combatUniq, current.turnOrder, current.className, current.level); if (hasGlance) { cd.setGlanceStats(current.strength, current.vitality, current.intellect, current.wisdom, current.agility, EnemyDataClasses.DescriptionDirector.getDescription(current.className)); } npcDisplays.Add(cd); } return(new CombatStatus(fastestPCName, currentEffects, pcDisplays, npcDisplays, MapDataClasses.MapDataManager.getLocation(map))); }
public ICombatStatus getStatus() { List<ICharacterDisplay> pcDisplays = new List<ICharacterDisplay>(); string fastestPCName = string.Empty; int fastestPCTime = int.MaxValue; foreach(int key in pcs.Keys) { FullCombatCharacter current = pcs[key]; List<IStatusDisplay> statuses = new List<IStatusDisplay>(); foreach (CombatModificationsModel cmm in current.mods) { statuses.Add(new StatusDisplay(Interfaces.Type.Text, cmm.name)); } CharacterDisplay cd = new CharacterDisplay(current.name, current.hp, current.maxHP, current.mp, current.maxMP, statuses, current.combatUniq, current.turnOrder, current.className, current.level); cd.setGlanceStats(current.strength, current.vitality, current.intellect, current.wisdom, current.agility, string.Empty); pcDisplays.Add(cd); if (pcs[key].turnOrder < fastestPCTime && pcs[key].hp > 0) { fastestPCTime = pcs[key].turnOrder; fastestPCName = pcs[key].name; } } List<ICharacterDisplay> npcDisplays = new List<ICharacterDisplay>(); foreach (int key in npcs.Keys) { FullCombatCharacter current = npcs[key]; List<IStatusDisplay> statuses = new List<IStatusDisplay>(); bool hasGlance = false; foreach (CombatModificationsModel cmm in current.mods) { if (cmm.name == "Glance") { hasGlance = true; } statuses.Add(new StatusDisplay(Interfaces.Type.Text, cmm.name)); } CharacterDisplay cd = new CharacterDisplay(current.name, current.hp, current.maxHP, current.mp, current.maxMP, statuses, current.combatUniq, current.turnOrder, current.className, current.level); if (hasGlance) { cd.setGlanceStats(current.strength, current.vitality, current.intellect, current.wisdom, current.agility, EnemyDataClasses.DescriptionDirector.getDescription(current.className)); } npcDisplays.Add(cd); } return new CombatStatus(fastestPCName, currentEffects, pcDisplays, npcDisplays, MapDataClasses.MapDataManager.getLocation(map)); }