Пример #1
0
        static List <ICharacter> CreateGoblins(int Amount = 1)
        {
            List <ICharacter> returnChars = new List <ICharacter>();
            Random            rMoney      = new Random();

            for (int i = 0; i < Amount; i++)
            {
                ICharacter goblin = CharacterFactory.CreateCharacter(new PlayerCharacter
                {
                    Name           = "Goblin_" + (i + 1),
                    Level          = rMoney.Next(1, 3),
                    ClassType      = ClassType.Fighter,
                    RaceType       = RaceType.Human,
                    RandomizeStats = true,
                    CoinPurse      = { Gold = rMoney.Next(0, 2), Copper = rMoney.Next(0, 100), Silver = rMoney.Next(0, 100), }
                });
                //goblin.CreateCharacter();

                IWeapon sword = EquipmentFactory.CreateWeapon(new Weapon
                {
                    Name       = "Rusty Sword",
                    AttackType = WeaponAttackType.S,
                    Category   = WeaponCategory.ShortSword,
                    Price      = { Silver = 12 },
                    Damage     = { SidedDie = 6 },
                    SlotType   = EquipmentSlot.PRIMARY,
                    Size       = WeaponSize.S
                });

                IGear LeatherChest = EquipmentFactory.CreateGear(new Gear
                {
                    Name          = "Leather Chest Piece",
                    AC            = 9,
                    EquipmentType = EquipmentType.Clothing,
                    Price         = { Silver = 50 },
                    SlotType      = EquipmentSlot.CHEST
                });

                goblin.AddItem(LeatherChest, 1);
                goblin.AddItem(sword, 1);
                goblin.EquipItem(sword);
                goblin.EquipItem(LeatherChest);
                returnChars.Add(goblin);
            }
            return(returnChars);
        }
Пример #2
0
    public static void InitializeSpell(ISpell spell, ICharacter caster, ICharacter target)
    {
        GameObject   effect = (GameObject)Resources.Load("Prefabs/Spells/" + spell.spellRune);
        ISpellObject sp     = ISpellObject.Instantiate(effect, caster.trans.position, Quaternion.identity).GetComponent <ISpellObject>();

        sp.Start();
        sp.caster          = caster;
        sp.target          = target;
        sp.spell.spellType = ISpellType.Target;
        caster.status.rune = -1;
        caster.AddItem(12);
        sp.spell = spell;
    }
Пример #3
0
        static ICharacter CreateMainCharacter(string characterName)
        {
            ICharacter Character = CharacterFactory.CreateCharacter(new PlayerCharacter
            {
                Name           = characterName,
                Level          = 1,
                RaceType       = RaceType.Human,
                ClassType      = ClassType.Fighter,
                MainCharacter  = true,
                RandomizeStats = true,
                OwnerName      = "Jonathan Favorite"
            });

            IWeapon Sword = EquipmentFactory.CreateWeapon(new Weapon
            {
                Name       = "Testing Sword (One hand)",
                AttackType = WeaponAttackType.S,
                Category   = WeaponCategory.BastardSwordOneHanded,
                TwoHanded  = false,
                Price      = { Gold = 1, Silver = 50 },
                Damage     = { Amount = 1, SidedDie = 8, Bonus = 1 },
                Weareable  = true,
                SlotType   = EquipmentSlot.PRIMARY
            });

            IGear Shield = EquipmentFactory.CreateGear(new Gear
            {
                Name      = "Testing Shield",
                ArmorType = ArmorTypeList.Shield,
                SlotType  = EquipmentSlot.SECONDARY,
                AC        = 0,
                StatMods  = { new StatModifier {
                                  Modifier = ItemBonusList.AC, Value = 2
                              } }
            });

            IGear Head = EquipmentFactory.CreateGear(new Gear
            {
                Name          = "Testing Head",
                AC            = 6,
                EquipmentType = EquipmentType.Clothing,
                Price         = { Silver = 50 },
                SlotType      = EquipmentSlot.HEAD,
                ArmorType     = ArmorTypeList.ChainMail,
            });

            IGear NewHead = EquipmentFactory.CreateGear(new Gear
            {
                Name          = "Testing Head #1",
                AC            = 1,
                EquipmentType = EquipmentType.Clothing,
                Price         = { Silver = 50 },
                SlotType      = EquipmentSlot.HEAD,
                ArmorType     = ArmorTypeList.PlateMail,
            });

            IGear Shoulder = EquipmentFactory.CreateGear(new Gear
            {
                Name          = "Testing Shoulder",
                AC            = 6,
                EquipmentType = EquipmentType.Clothing,
                Price         = { Gold = 123 },
                SlotType      = EquipmentSlot.SHOULDER,
                ArmorType     = ArmorTypeList.Leather
            });
            IGear Chest = EquipmentFactory.CreateGear(new Gear
            {
                Name          = "Testing Chest",
                AC            = 6,
                EquipmentType = EquipmentType.Clothing,
                Price         = { Gold = 123 },
                SlotType      = EquipmentSlot.CHEST,
                ArmorType     = ArmorTypeList.Leather
            });
            IGear Wrists = EquipmentFactory.CreateGear(new Gear
            {
                Name          = "Testing Wrist",
                AC            = 6,
                EquipmentType = EquipmentType.Clothing,
                Price         = { Gold = 123 },
                SlotType      = EquipmentSlot.WRIST,
                ArmorType     = ArmorTypeList.Leather
            });
            IGear Hands = EquipmentFactory.CreateGear(new Gear
            {
                Name          = "Testing Hands",
                AC            = 6,
                EquipmentType = EquipmentType.Clothing,
                Price         = { Gold = 123 },
                SlotType      = EquipmentSlot.HANDS,
                ArmorType     = ArmorTypeList.Leather
            });
            IGear Legs = EquipmentFactory.CreateGear(new Gear
            {
                Name          = "Testing Legs",
                AC            = 6,
                EquipmentType = EquipmentType.Clothing,
                Price         = { Gold = 123 },
                SlotType      = EquipmentSlot.LEGS,
                ArmorType     = ArmorTypeList.Leather
            });
            IGear Feet = EquipmentFactory.CreateGear(new Gear
            {
                Name          = "Testing Feet",
                AC            = 6,
                EquipmentType = EquipmentType.Clothing,
                Price         = { Gold = 123 },
                SlotType      = EquipmentSlot.FEET,
                ArmorType     = ArmorTypeList.Leather
            });

            Character.AddItem(Head, 1);
            Character.AddItem(NewHead, 1);
            Character.AddItem(Shoulder, 1);
            Character.AddItem(Chest, 1);
            Character.AddItem(Wrists, 1);
            Character.AddItem(Hands, 1);
            Character.AddItem(Legs, 1);
            Character.AddItem(Feet, 1);
            Character.AddItem(Sword, 1);
            Character.AddItem(Shield, 1);

            Character.EquipItem(Head);
            Character.EquipItem(NewHead);
            Character.EquipItem(Shoulder);
            Character.EquipItem(Chest);
            Character.EquipItem(Wrists);
            Character.EquipItem(Hands);
            Character.EquipItem(Legs);
            Character.EquipItem(Feet);
            Character.EquipItem(Sword);
            Character.EquipItem(Shield);



            ISpell MagicMissle = SpellFactory.CreateSpell(new Spell
            {
                SpellID = "magic_missles_level_1",
                Name    = "Magic Missle",
                Level   = 1,
                School  =
                {
                    SpellSchool.Evocation
                },
                Range       = { RangeType = SpellRangeType.Yards, yards = 60 },
                Compontents = { SpellCompontents.V, SpellCompontents.S },
                Duration    = new SpellDurationInfo {
                    DurationType = SpellDurationType.Instantaneous
                },
                CastingTime = 1,
                Classes     =
                {
                    ClassType.Wizard
                },
                AOE = new AreaOfEffect
                {
                    Type    = AOETypes.CUBE,
                    AOESize = 10,
                    Ruler   = RulerTypes.Feet
                },
                SavingThrows =
                {
                    SavingThrowType.None
                },
                Description = "Use of magic missles spell creates up to five missles of magical energy that dart forth from the wizard's fingertip and unerringly strike their target. This includes enemy creatures in a melee."
            });

            Character.AddSpell(MagicMissle);

            return(Character);
        }
Пример #4
0
 public void CastTo(ICharacter to, int index)
 {
     to.AddItem(data.items [index]);
     RemoveItem(index);
 }