public void AddModifier(AttributeModifier modifier) { AttributeSheet sheet = Global.Player.Attributes; switch (modifier.Type) { case ModifierType.Current: int att = sheet.Current[modifier.Attribute] + modifier.Value; if (att > sheet.Calculated[modifier.Attribute]) { att = sheet.Calculated[modifier.Attribute]; } else if (att < 0) { att = 0; } sheet.Current[modifier.Attribute] = att; break; case ModifierType.Permanent: case ModifierType.Temporary: case ModifierType.Equipment: sheet.Modifiers.Add(modifier); break; } sheet.Recalculate(); }
public static void PrintStats() { AttributeSheet sheet = Global.Player.Attributes; Console.WriteLine("---\nPureBase: "); foreach (KeyValuePair <CharacterAttribute, int> att in sheet.PureBase) { Console.WriteLine("{0}: {1}", att.Key.ToString(), att.Value); } Console.WriteLine("---\nBase: "); foreach (KeyValuePair <CharacterAttribute, int> att in sheet.Base) { Console.WriteLine("{0}: {1}", att.Key.ToString(), att.Value); } Console.WriteLine("---\nCalculated: "); foreach (KeyValuePair <CharacterAttribute, int> att in sheet.Calculated) { Console.WriteLine("{0}: {1}", att.Key.ToString(), att.Value); } Console.WriteLine("---\nCurrent: "); foreach (KeyValuePair <CharacterAttribute, int> att in sheet.Current) { Console.WriteLine("{0}: {1}", att.Key.ToString(), att.Value); } }
protected CharacterManager() { slotTexture = Global.GetTexture("item_bg"); selectedAtt = 0; Width = 250; Height = 400; Attributes = Global.Player.Attributes; }
public void RemoveModifiers(int itemId) { AttributeSheet sheet = Global.Player.Attributes; AttributeModifier mod = null; foreach (AttributeModifier att in sheet.Modifiers) { if (att.ItemId == itemId) { mod = att; break; } } if (mod != null) { sheet.Modifiers.Remove(mod); sheet.Recalculate(); } }