예제 #1
0
        private static void AddMatchlockTurretSettings()
        {
            var turretSettings = new TurretSetting()
            {
                TurretItem = TurretTypes[MATCHLOCK],
                Ammo       = new List <InventoryItem>()
                {
                    new InventoryItem(BuiltinBlocks.LeadBullet), new InventoryItem(BuiltinBlocks.GunpowderPouch)
                },
                AmmoValue           = 0.04f,
                Damage              = 500f,
                DurabilityPerDoWork = 0.006f,
                FuelPerDoWork       = 0.02f,
                Name           = MATCHLOCK,
                OnShootAudio   = "matchlock",
                OnHitAudio     = "fleshHit",
                Range          = 35,
                WorkTime       = 4f,
                RefuelTime     = 7,
                ReloadTime     = 8,
                RepairTime     = 14,
                RequiredForFix = new Dictionary <float, List <InventoryItem> >()
                {
                    { 75f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.SteelParts, 1), new InventoryItem(BuiltinBlocks.CopperNails, 1)
                      } },
                    { 50f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.SteelParts, 2), new InventoryItem(BuiltinBlocks.CopperNails, 2)
                      } },
                    { 30f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.Planks, 1), new InventoryItem(BuiltinBlocks.SteelParts, 3), new InventoryItem(BuiltinBlocks.CopperNails, 3), new InventoryItem(BuiltinBlocks.MatchlockGun, 1)
                      } },
                    { 10f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.Planks, 1), new InventoryItem(BuiltinBlocks.SteelParts, 4), new InventoryItem(BuiltinBlocks.CopperNails, 4), new InventoryItem(BuiltinBlocks.MatchlockGun, 2)
                      } },
                },
                ProjectileAnimation = Managers.AnimationManager.AnimatedObjects[Managers.AnimationManager.LEADBULLET]
            };

            TurretSettings[MATCHLOCK] = turretSettings;
        }
예제 #2
0
        private static void AddBronzeArrowTurretSettings()
        {
            var turretSettings = new TurretSetting()
            {
                TurretItem = TurretTypes[BRONZEARROW],
                Ammo       = new List <InventoryItem>()
                {
                    new InventoryItem(BuiltinBlocks.BronzeArrow)
                },
                AmmoValue           = 0.04f,
                Damage              = 100f,
                DurabilityPerDoWork = 0.002f,
                FuelPerDoWork       = 0.01f,
                Name           = BRONZEARROW,
                OnShootAudio   = "bowShoot",
                OnHitAudio     = "fleshHit",
                Range          = 25,
                WorkTime       = 2f,
                RefuelTime     = 5,
                ReloadTime     = 6,
                RepairTime     = 12,
                RequiredForFix = new Dictionary <float, List <InventoryItem> >()
                {
                    { 75f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.CopperParts, 1), new InventoryItem(BuiltinBlocks.CopperNails, 1)
                      } },
                    { 50f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.CopperParts, 2), new InventoryItem(BuiltinBlocks.CopperNails, 2)
                      } },
                    { 30f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.Planks, 1), new InventoryItem(BuiltinBlocks.CopperParts, 3), new InventoryItem(BuiltinBlocks.CopperNails, 3), new InventoryItem(BuiltinBlocks.Bow, 1)
                      } },
                    { 10f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.Planks, 1), new InventoryItem(BuiltinBlocks.CopperParts, 4), new InventoryItem(BuiltinBlocks.CopperNails, 4), new InventoryItem(BuiltinBlocks.Bow, 2)
                      } },
                },
                ProjectileAnimation = Managers.AnimationManager.AnimatedObjects[Managers.AnimationManager.ARROW]
            };

            TurretSettings[BRONZEARROW] = turretSettings;
        }
예제 #3
0
        private static void AddCrossBowTurretSettings()
        {
            var turretSettings = new TurretSetting()
            {
                TurretItem = TurretTypes[CROSSBOW],
                Ammo       = new List <InventoryItem>()
                {
                    new InventoryItem(BuiltinBlocks.CrossbowBolt)
                },
                AmmoValue           = 0.04f,
                Damage              = 300f,
                DurabilityPerDoWork = 0.005f,
                FuelPerDoWork       = 0.02f,
                Name           = CROSSBOW,
                OnShootAudio   = "bowShoot",
                OnHitAudio     = "fleshHit",
                Range          = 30,
                WorkTime       = 3f,
                RefuelTime     = 6,
                ReloadTime     = 7,
                RepairTime     = 13,
                RequiredForFix = new Dictionary <float, List <InventoryItem> >()
                {
                    { 75f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.IronRivet, 1), new InventoryItem(BuiltinBlocks.CopperNails, 1)
                      } },
                    { 50f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.IronRivet, 2), new InventoryItem(BuiltinBlocks.CopperNails, 2)
                      } },
                    { 30f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.Planks, 1), new InventoryItem(BuiltinBlocks.IronRivet, 3), new InventoryItem(BuiltinBlocks.CopperNails, 3), new InventoryItem(BuiltinBlocks.Crossbow, 1)
                      } },
                    { 10f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.Planks, 1), new InventoryItem(BuiltinBlocks.IronRivet, 4), new InventoryItem(BuiltinBlocks.CopperNails, 4), new InventoryItem(BuiltinBlocks.Crossbow, 2)
                      } },
                },
                ProjectileAnimation = Managers.AnimationManager.AnimatedObjects[Managers.AnimationManager.CROSSBOWBOLT]
            };

            TurretSettings[CROSSBOW] = turretSettings;
        }
예제 #4
0
        private static void AddStoneTurretSettings()
        {
            var turretSettings = new TurretSetting()
            {
                TurretItem = TurretTypes[STONE],
                Ammo       = new List <InventoryItem>()
                {
                    new InventoryItem(BuiltinBlocks.SlingBullet)
                },
                AmmoValue           = 0.04f,
                Damage              = 50f,
                DurabilityPerDoWork = 0.002f,
                FuelPerDoWork       = 0.005f,
                Name           = STONE,
                OnShootAudio   = "sling",
                OnHitAudio     = "fleshHit",
                Range          = 17,
                WorkTime       = 1.5f,
                RefuelTime     = 4,
                ReloadTime     = 5,
                RepairTime     = 10,
                RequiredForFix = new Dictionary <float, List <InventoryItem> >()
                {
                    { 75f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.CopperParts, 1), new InventoryItem(BuiltinBlocks.CopperNails, 1)
                      } },
                    { 50f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.CopperParts, 2), new InventoryItem(BuiltinBlocks.CopperNails, 2)
                      } },
                    { 30f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.Planks, 1), new InventoryItem(BuiltinBlocks.CopperParts, 3), new InventoryItem(BuiltinBlocks.CopperNails, 3), new InventoryItem(BuiltinBlocks.Sling, 1)
                      } },
                    { 10f, new List <InventoryItem>()
                      {
                          new InventoryItem(BuiltinBlocks.StoneBricks, 1), new InventoryItem(BuiltinBlocks.Planks, 1), new InventoryItem(BuiltinBlocks.CopperParts, 4), new InventoryItem(BuiltinBlocks.CopperNails, 4), new InventoryItem(BuiltinBlocks.Sling, 2)
                      } },
                },
                ProjectileAnimation = Managers.AnimationManager.AnimatedObjects[Managers.AnimationManager.SLINGBULLET]
            };

            TurretSettings[STONE] = turretSettings;
        }
예제 #5
0
        private static void AddMatchlockTurretSettings()
        {
            var turretSettings = new TurretSetting
            {
                TurretItem = TurretTypes[MATCHLOCK_NAMESPACE],
                Ammo       = new List <InventoryItem>
                {
                    new InventoryItem(ColonyBuiltIn.ItemTypes.LEADBULLET.Name),
                    new InventoryItem(ColonyBuiltIn.ItemTypes.GUNPOWDERPOUCH.Name)
                },
                AmmoValue           = 0.04f,
                DurabilityPerDoWork = 0.008f,
                FuelPerDoWork       = 0.02f,
                Name           = MATCHLOCK_NAMESPACE,
                OnShootAudio   = "matchlock",
                OnHitAudio     = "fleshHit",
                Range          = 25,
                WorkTime       = 14f,
                RefuelTime     = 8,
                ReloadTime     = 9,
                RepairTime     = 15,
                RequiredForFix = new Dictionary <float, List <InventoryItem> >
                {
                    {
                        75f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STEELPARTS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 1)
                        }
                    },
                    {
                        50f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STEELPARTS.Name, 2),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 2)
                        }
                    },
                    {
                        30f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.PLANKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STEELPARTS.Name, 3),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 3),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.MATCHLOCKGUN.Name, 1)
                        }
                    },
                    {
                        10f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.PLANKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STEELPARTS.Name, 4),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 4),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.MATCHLOCKGUN.Name, 2)
                        }
                    }
                },
                ProjectileAnimation = AnimationManager.AnimatedObjects[AnimationManager.LEADBULLET]
            };

            turretSettings.Damage[DamageType.Physical] = 500;

            TurretSettings[MATCHLOCK_NAMESPACE] = turretSettings;
        }
예제 #6
0
        private static void AddCrossBowTurretSettings()
        {
            var turretSettings = new TurretSetting
            {
                TurretItem = TurretTypes[CROSSBOW_NAMESPACE],
                Ammo       = new List <InventoryItem> {
                    new InventoryItem(ColonyBuiltIn.ItemTypes.CROSSBOWBOLT.Name)
                },
                AmmoValue           = 0.04f,
                DurabilityPerDoWork = 0.005f,
                FuelPerDoWork       = 0.02f,
                Name           = CROSSBOW_NAMESPACE,
                OnShootAudio   = "bowShoot",
                OnHitAudio     = "fleshHit",
                Range          = 20,
                WorkTime       = 10f,
                RefuelTime     = 7,
                ReloadTime     = 8,
                RepairTime     = 14,
                RequiredForFix = new Dictionary <float, List <InventoryItem> >
                {
                    {
                        75f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.IRONRIVET.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 1)
                        }
                    },
                    {
                        50f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.IRONRIVET.Name, 2),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 2)
                        }
                    },
                    {
                        30f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.PLANKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.IRONRIVET.Name, 3),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 3),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.CROSSBOW.Name, 1)
                        }
                    },
                    {
                        10f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.PLANKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.IRONRIVET.Name, 4),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 4),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.CROSSBOW.Name, 2)
                        }
                    }
                },
                ProjectileAnimation = AnimationManager.AnimatedObjects[AnimationManager.CROSSBOWBOLT]
            };

            turretSettings.Damage[DamageType.Physical] = 300;

            TurretSettings[CROSSBOW_NAMESPACE] = turretSettings;
        }
예제 #7
0
        private static void AddBronzeArrowTurretSettings()
        {
            var turretSettings = new TurretSetting
            {
                TurretItem = TurretTypes[BRONZEARROW_NAMESPACE],
                Ammo       = new List <InventoryItem> {
                    new InventoryItem(ColonyBuiltIn.ItemTypes.BRONZEARROW.Name)
                },
                AmmoValue           = 0.04f,
                DurabilityPerDoWork = 0.003f,
                FuelPerDoWork       = 0.01f,
                Name           = BRONZEARROW_NAMESPACE,
                OnShootAudio   = "bowShoot",
                OnHitAudio     = "fleshHit",
                Range          = 15,
                WorkTime       = 7f,
                RefuelTime     = 6,
                ReloadTime     = 7,
                RepairTime     = 13,
                RequiredForFix = new Dictionary <float, List <InventoryItem> >
                {
                    {
                        75f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERPARTS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 1)
                        }
                    },
                    {
                        50f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERPARTS.Name, 2),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 2)
                        }
                    },
                    {
                        30f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.PLANKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERPARTS.Name, 3),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 3),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.BOW.Name, 1)
                        }
                    },
                    {
                        10f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.PLANKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERPARTS.Name, 4),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 4),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.BOW.Name, 2)
                        }
                    }
                },
                ProjectileAnimation = AnimationManager.AnimatedObjects[AnimationManager.ARROW]
            };

            turretSettings.Damage[DamageType.Physical] = 100;

            TurretSettings[BRONZEARROW_NAMESPACE] = turretSettings;
        }
예제 #8
0
        private static void AddStoneTurretSettings()
        {
            var turretSettings = new TurretSetting
            {
                TurretItem = TurretTypes[STONE_NAMESPACE],
                Ammo       = new List <InventoryItem> {
                    new InventoryItem(ColonyBuiltIn.ItemTypes.SLINGBULLET.Name)
                },
                AmmoValue           = 0.04f,
                DurabilityPerDoWork = 0.005f,
                FuelPerDoWork       = 0.003f,
                Name           = STONE_NAMESPACE,
                OnShootAudio   = "sling",
                OnHitAudio     = "fleshHit",
                Range          = 10,
                WorkTime       = 5f,
                RefuelTime     = 5,
                ReloadTime     = 6,
                RepairTime     = 11,
                RequiredForFix = new Dictionary <float, List <InventoryItem> >
                {
                    {
                        75f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERPARTS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 1)
                        }
                    },
                    {
                        50f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERPARTS.Name, 2),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 2)
                        }
                    },
                    {
                        30f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.PLANKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERPARTS.Name, 3),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 3),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.SLING.Name, 1)
                        }
                    },
                    {
                        10f,
                        new List <InventoryItem>
                        {
                            new InventoryItem(ColonyBuiltIn.ItemTypes.STONEBRICKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.PLANKS.Name, 1),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERPARTS.Name, 4),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.COPPERNAILS.Name, 4),
                            new InventoryItem(ColonyBuiltIn.ItemTypes.SLING.Name, 2)
                        }
                    }
                },
                ProjectileAnimation = AnimationManager.AnimatedObjects[AnimationManager.SLINGBULLET]
            };

            turretSettings.Damage[DamageType.Physical] = 50;

            TurretSettings[STONE_NAMESPACE] = turretSettings;
        }