Beispiel #1
0
        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();
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        protected CharacterManager()
        {
            slotTexture = Global.GetTexture("item_bg");
            selectedAtt = 0;

            Width  = 250;
            Height = 400;

            Attributes = Global.Player.Attributes;
        }
Beispiel #4
0
        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();
            }
        }