Esempio n. 1
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("ReShelletonKeyter", "rekeytershelletonforme");

            Game.Items.Rename("outdated_gun_mods:reshelletonkeyter", "nn:reshelletonkeyter");
            gun.gameObject.AddComponent <ReShelletonKeyter>();
            gun.SetShortDescription("Click");
            gun.SetLongDescription("Skull lookin ass");

            gun.SetupSprite(null, "rekeytershelletonforme_idle_001", 8);

            gun.gunSwitchGroup = (PickupObjectDatabase.GetById(95) as Gun).gunSwitchGroup;

            gun.SetAnimationFPS(gun.shootAnimation, 15);

            gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(56) as Gun, true, false);

            //GUN STATS
            gun.DefaultModule.ammoCost          = 1;
            gun.DefaultModule.shootStyle        = ProjectileModule.ShootStyle.Burst;
            gun.DefaultModule.burstShotCount    = 3;
            gun.DefaultModule.burstCooldownTime = 0.11f;
            gun.DefaultModule.sequenceStyle     = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime   = 1f;
            gun.InfiniteAmmo = true;
            gun.DefaultModule.cooldownTime           = 0.5f;
            gun.DefaultModule.numberOfShotsInClip    = 15;
            gun.barrelOffset.transform.localPosition = new Vector3(1.93f, 0.81f, 0f);
            gun.SetBaseMaxAmmo(200);


            //BULLET STATS
            Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(gun.DefaultModule.projectiles[0]);

            projectile.gameObject.SetActive(false);
            FakePrefab.MarkAsFakePrefab(projectile.gameObject);
            UnityEngine.Object.DontDestroyOnLoad(projectile);
            gun.DefaultModule.projectiles[0] = projectile;
            projectile.baseData.damage      *= 1.6f;
            projectile.baseData.range       *= 1f;
            projectile.transform.parent      = gun.barrelOffset;

            KeyBulletBehaviour unlocking = projectile.gameObject.GetOrAddComponent <KeyBulletBehaviour>();

            unlocking.useSpecialTint = false;
            unlocking.procChance     = 0.1f;

            ScaleProjectileStatOffConsumableCount keyDamage = projectile.gameObject.GetOrAddComponent <ScaleProjectileStatOffConsumableCount>();

            keyDamage.multiplierPerLevelOfStat = 0.1f;
            keyDamage.projstat       = ScaleProjectileStatOffConsumableCount.ProjectileStatType.DAMAGE;
            keyDamage.consumableType = ScaleProjectileStatOffConsumableCount.ConsumableType.KEYS;

            projectile.SetProjectileSpriteRight("rekeytershelletonforme_projectile", 17, 7, false, tk2dBaseSprite.Anchor.MiddleCenter, 17, 6);

            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            gun.encounterTrackable.EncounterGuid = "this is the ReShelletonKeyter";
            ETGMod.Databases.Items.Add(gun, null, "ANY");

            ReShelletonKeyterID = gun.PickupObjectId;
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Rekeyter", "rekeyter");

            Game.Items.Rename("outdated_gun_mods:rekeyter", "nn:rekeyter");
            gun.gameObject.AddComponent <Rekeyter>();
            gun.SetShortDescription("Click");
            gun.SetLongDescription("A key clumsily fused to a grip and trigger. Low chance to open chests." + "\n\nHidden sidearm of the infamous criminal Locke Smith.");

            gun.SetupSprite(null, "rekeyter_idle_001", 8);

            gun.gunSwitchGroup = (PickupObjectDatabase.GetById(95) as Gun).gunSwitchGroup;

            gun.SetAnimationFPS(gun.shootAnimation, 15);

            gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(56) as Gun, true, false);

            //GUN STATS
            gun.DefaultModule.ammoCost          = 1;
            gun.DefaultModule.shootStyle        = ProjectileModule.ShootStyle.Burst;
            gun.DefaultModule.burstShotCount    = 2;
            gun.DefaultModule.burstCooldownTime = 0.11f;
            gun.DefaultModule.sequenceStyle     = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1f;
            gun.DefaultModule.cooldownTime           = 0.5f;
            gun.DefaultModule.numberOfShotsInClip    = 10;
            gun.barrelOffset.transform.localPosition = new Vector3(1.93f, 0.81f, 0f);
            gun.SetBaseMaxAmmo(200);
            gun.gunClass = GunClass.PISTOL;

            //BULLET STATS
            Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(gun.DefaultModule.projectiles[0]);

            projectile.gameObject.SetActive(false);
            FakePrefab.MarkAsFakePrefab(projectile.gameObject);
            UnityEngine.Object.DontDestroyOnLoad(projectile);
            gun.DefaultModule.projectiles[0] = projectile;
            projectile.baseData.damage      *= 1.6f;
            projectile.baseData.range       *= 1f;
            projectile.transform.parent      = gun.barrelOffset;

            KeyBulletBehaviour unlocking = projectile.gameObject.GetOrAddComponent <KeyBulletBehaviour>();

            unlocking.useSpecialTint = false;
            unlocking.procChance     = 0.1f;
            ScaleProjectileStatOffConsumableCount keyDamage = projectile.gameObject.GetOrAddComponent <ScaleProjectileStatOffConsumableCount>();

            keyDamage.multiplierPerLevelOfStat = 0.1f;
            keyDamage.projstat       = ScaleProjectileStatOffConsumableCount.ProjectileStatType.DAMAGE;
            keyDamage.consumableType = ScaleProjectileStatOffConsumableCount.ConsumableType.KEYS;

            projectile.SetProjectileSpriteRight("rekeyter_projectile", 17, 7, false, tk2dBaseSprite.Anchor.MiddleCenter, 17, 6);
            gun.DefaultModule.ammoType       = GameUIAmmoType.AmmoType.CUSTOM;
            gun.DefaultModule.customAmmoType = CustomClipAmmoTypeToolbox.AddCustomAmmoType("Rekeyter Bullets", "NevernamedsItems/Resources/CustomGunAmmoTypes/rekeyter_clipfull", "NevernamedsItems/Resources/CustomGunAmmoTypes/rekeyter_clipempty");
            gun.quality = PickupObject.ItemQuality.B;
            gun.encounterTrackable.EncounterGuid = "this is the Rekeyter";
            ETGMod.Databases.Items.Add(gun, null, "ANY");

            gun.AddToSubShop(ItemBuilder.ShopType.Flynt);
            RekeyterID = gun.PickupObjectId;
        }