Exemple #1
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Slugger", "slugger");


            Game.Items.Rename("outdated_gun_mods:slugger", "cel:slugger");
            gun.gameObject.AddComponent <Slugger>();

            gun.SetShortDescription("You're Freakin' Dead Kiddo");
            gun.SetLongDescription("Fires a burst of shotgun shots.");

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

            gun.SetAnimationFPS(gun.shootAnimation, 24);


            gun.AddProjectileModuleFrom("shotgun", true, false);

            gun.DefaultModule.ammoCost   = 1;
            gun.DefaultModule.shootStyle = ProjectileModule.ShootStyle.Burst;
            gun.gunClass = GunClass.SHOTGUN;

            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.DefaultModule.angleVariance = 11f;
            gun.reloadTime = 2.1f;
            gun.DefaultModule.burstShotCount      = 4;
            gun.DefaultModule.burstCooldownTime   = .1f;
            gun.DefaultModule.cooldownTime        = 0.8f;
            gun.DefaultModule.numberOfShotsInClip = 4;
            gun.SetBaseMaxAmmo(120);
            gun.Volley.UsesShotgunStyleVelocityRandomizer = true;
            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            gun.encounterTrackable.EncounterGuid = "What the f**k did you just f*****g say about me, you little bitch? I'll have you know I graduated top of my class in the Navy Seals, and I've been involved in numerous secret raids on Al-Quaeda, and I have over 300 confirmed kills. I am trained in gorilla warfare and I'm the top sniper in the entire US armed forces. You are nothing to me but just another target. I will wipe you the f**k out with precision the likes of which has never been seen before on this Earth, mark my f*****g words. You think you can get away with saying that shit to me over the Internet? Think again, f****r. As we speak I am contacting my secret network of spies across the USA and your IP is being traced right now so you better prepare for the storm, maggot. The storm that wipes out the pathetic little thing you call your life. You're f*****g dead, kid. I can be anywhere, anytime, and I can kill you in over seven hundred ways, and that's just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the United States Marine Corps and I will use it to its full extent to wipe your miserable ass off the face of the continent, you little shit. If only you could have known what unholy retribution your little 'clever' comment was about to bring down upon you, maybe you would have held your f*****g tongue. But you couldn't, you didn't, and now you're paying the price, you goddamn idiot. I will shit fury all over you and you will drown in it. You're f*****g dead, kiddo.";
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #2
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Scrap Gun", "scrap_gun");

            Game.Items.Rename("outdated_gun_mods:Scrap_gun", "cel:Scrap_gun");
            gun.gameObject.AddComponent <ScrapGun1>();
            gun.SetShortDescription("Seen Better Days");
            gun.SetLongDescription("Upgrades with Junk collected. \n\n Some heartless fool bought this gun, then decided to abandon it a day later. " +
                                   "Left alone for eons, the Gungeon's magic keeping it barely functional, this gun has only known sorrow.");

            gun.SetupSprite(null, "scrap_gun_idle_001", 8);
            // ETGMod automatically checks which animations are available.
            // The numbers next to "shootAnimation" determine the animation fps. You can also tweak the animation fps of the reload animation and idle animation using this method.
            gun.SetAnimationFPS(gun.shootAnimation, 24);
            // Every modded gun has base projectile it works with that is borrowed from other guns in the game.
            // The gun names are the names from the JSON dump! While most are the same, some guns named completely different things. If you need help finding gun names, ask a modder on the Gungeon discord.
            gun.AddProjectileModuleFrom("ak-47", true, false);
            // Here we just take the default projectile module and change its settings how we want it to be.
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.1f;
            gun.DefaultModule.cooldownTime        = 0.3f;
            gun.DefaultModule.numberOfShotsInClip = 6;
            gun.SetBaseMaxAmmo(250);
            // Here we just set the quality of the gun and the "EncounterGuid", which is used by Gungeon to identify the gun.
            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            gun.encounterTrackable.EncounterGuid = "According to all known laws of aviation, there is no way a bee should be able to fly.";
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #3
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("IV Gun", "IV_gun");

            IVGun.IV_gun = gun;
            Game.Items.Rename("outdated_gun_mods:IV_gun", "cel:IV_gun");
            gun.gameObject.AddComponent <IVGun>();

            int Keys = m_owner.carriedConsumables.KeyBullets;

            IVGun.IV_gun.SetBaseMaxAmmo(Keys);

            gun.SetShortDescription("Impressionable");
            gun.SetLongDescription("A gun left unfinished and abandoned by its creator. It still has great potential.");

            gun.SetupSprite(null, "IV_gun_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 24);
            gun.AddProjectileModuleFrom("ak-47", true, false);
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.1f;
            gun.DefaultModule.cooldownTime        = 0.1f;
            gun.RequiresFundsToShoot              = true;
            gun.CurrencyCostPerShot               = 1;
            gun.DefaultModule.ammoCost            = 1;
            gun.DefaultModule.numberOfShotsInClip = 6;
            gun.SetBaseMaxAmmo(250);

            gun.quality = PickupObject.ItemQuality.D;
            gun.encounterTrackable.EncounterGuid = "change this for different guns, so the game doesn't think they're the same gun";
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Vindication", "vindication");

            Game.Items.Rename("outdated_gun_mods:vindication", "cel:vindication");
            gun.gameObject.AddComponent <Vindication>();
            gun.SetShortDescription("My Sword...");
            gun.SetLongDescription("Weilded by the famous lawmaker Waxillium Ladrian, this 8-shot revolver features two specialized 'Hazekiller' rounds in its cylinder.");
            gun.SetupSprite(null, "vindication_idle_001", 12);
            gun.SetAnimationFPS(gun.shootAnimation, 24);
            gun.AddProjectileModuleFrom("magnum", true, false);
            gun.SetBaseMaxAmmo(160);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = .6f;
            gun.DefaultModule.cooldownTime = 0.10f;
            gun.InfiniteAmmo = false;
            gun.DefaultModule.numberOfShotsInClip = 8;
            gun.quality = PickupObject.ItemQuality.S;
            gun.DefaultModule.angleVariance      = 4f;
            gun.encounterTrackable.EncounterGuid = "vindication";
            gun.sprite.IsPerpendicular           = true;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Executioner", "executioner");

            Game.Items.Rename("outdated_gun_mods:executioner", "cel:executioner");
            gun.gameObject.AddComponent <ExecutionerGun>();

            gun.SetShortDescription("Text");
            gun.SetLongDescription("Text.");

            gun.SetupSprite(null, "executioner_idle_001", 108);

            gun.SetAnimationFPS(gun.shootAnimation, 1);

            gun.AddProjectileModuleFrom("ak-47", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.1f;
            gun.DefaultModule.cooldownTime        = 0.1f;
            gun.DefaultModule.numberOfShotsInClip = 6;
            gun.SetBaseMaxAmmo(250);

            gun.quality = PickupObject.ItemQuality.D;
            gun.encounterTrackable.EncounterGuid = "chopchopstabshootyeet";
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #6
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("H-Gun", "h-gun");

            H_Gun.GunCost = gun;
            H_Gun.GunCost.RequiresFundsToShoot = true;
            H_Gun.GunCost.CurrencyCostPerShot  = 1;

            Game.Items.Rename("outdated_gun_mods:h-gun", "cel:h-gun");
            gun.gameObject.AddComponent <H_Gun>();
            gun.SetShortDescription("Keep Out of Reach of Children");
            gun.SetLongDescription("WIP.");

            gun.SetupSprite(null, "fallout_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 4);
            gun.SetAnimationFPS(gun.reloadAnimation, 2);
            gun.AddProjectileModuleFrom("ak-47", true, false);

            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1f;
            gun.DefaultModule.angleVariance       = 0f;
            gun.DefaultModule.cooldownTime        = .2f;
            gun.RequiresFundsToShoot              = H_Gun.GunCost.RequiresFundsToShoot;
            gun.CurrencyCostPerShot               = H_Gun.GunCost.CurrencyCostPerShot;
            gun.DefaultModule.numberOfShotsInClip = 1;
            gun.SetBaseMaxAmmo(150);

            gun.quality = PickupObject.ItemQuality.SPECIAL;
            gun.encounterTrackable.EncounterGuid = "eivdkswdgdgvsbdgdsgdsgcvascsakvkvdvs.";
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #7
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Infinite AK", "infinite_ak");

            Game.Items.Rename("outdated_gun_mods:infinite_ak", "cel:infinite_ak");
            gun.gameObject.AddComponent <InfiniteAK>();
            gun.SetShortDescription("Witness Perfection");
            gun.SetLongDescription("Perfect, brilliant. This gun might not be the strongest around, but it is the most refined. Every aspect of it is flawless. Each bullet it shoots is symmetrical and expertly crafted. Be grateful to witness such beauty.");
            gun.SetupSprite(null, "infinite_ak_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 9);
            gun.SetAnimationFPS(gun.reloadAnimation, 10);
            for (int i = 0; i < 1; i++)
            {
                GunExt.AddProjectileModuleFrom(gun, "ak-47", true, false);
            }
            foreach (ProjectileModule projectileModule in gun.Volley.projectiles)
            {
                projectileModule.shootStyle = ProjectileModule.ShootStyle.Automatic;
                Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(projectileModule.projectiles[0]);
                projectile.gameObject.SetActive(false);
                FakePrefab.MarkAsFakePrefab(projectile.gameObject);
                UnityEngine.Object.DontDestroyOnLoad(projectile);
                projectileModule.projectiles[0]      = projectile;
                projectileModule.angleVariance       = 4;
                projectile.transform.parent          = gun.barrelOffset;
                gun.DefaultModule.projectiles[0]     = projectile;
                projectile.baseData.damage          *= 1.5f;
                projectile.baseData.speed           *= 2f;
                projectileModule.numberOfShotsInClip = 1;
                projectileModule.cooldownTime        = .08f;
                projectile.ignoreDamageCaps          = true;
                projectileModule.ammoType            = GameUIAmmoType.AmmoType.SMALL_BULLET;

                bool flag = projectileModule == gun.DefaultModule;
                if (flag)
                {
                    projectileModule.ammoCost = 1;
                }
                else
                {
                    projectileModule.ammoCost = 0;
                }
            }

            gun.reloadTime              = -1f;
            gun.CanBeDropped            = false;
            gun.CanBeSold               = false;
            gun.muzzleFlashEffects.type = VFXPoolType.None;
            gun.InfiniteAmmo            = true;
            gun.gunSwitchGroup          = (PickupObjectDatabase.GetById(15) as Gun).gunSwitchGroup;
            gun.muzzleFlashEffects      = (PickupObjectDatabase.GetById(15) as Gun).muzzleFlashEffects;
            gun.SetBaseMaxAmmo(2000);
            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            gun.encounterTrackable.EncounterGuid     = "the condition, state, or quality of being free or as free as possible from all flaws or defects.";
            gun.sprite.IsPerpendicular               = true;
            gun.barrelOffset.transform.localPosition = new Vector3(2.25f, 0.3125f, 0f);
            gun.gunClass = GunClass.FULLAUTO;

            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #8
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Billiard Bouncer", "billiard_bouncer");

            Game.Items.Rename("outdated_gun_mods:billiard_bouncer", "cel:billiard_bouncer");
            gun.gameObject.AddComponent <BilliardBouncer>();
            gun.SetShortDescription("Solids Or Stripes?");
            gun.SetLongDescription("Shoots bouncing billiard balls that collide with other player projectiles. \n\nInvented by a gambler who enjoyed the sound of clinking billiard balls a little too much.");
            gun.SetupSprite(null, "billiard_bouncer_idle_001", 13);
            gun.SetAnimationFPS(gun.shootAnimation, 12);
            for (int i = 0; i < 3; i++)
            {
                GunExt.AddProjectileModuleFrom(gun, "38_special", true, false);
            }
            foreach (ProjectileModule projectileModule in gun.Volley.projectiles)
            {
                projectileModule.shootStyle = ProjectileModule.ShootStyle.SemiAutomatic;
                Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(projectileModule.projectiles[0]);
                projectile.gameObject.SetActive(false);
                FakePrefab.MarkAsFakePrefab(projectile.gameObject);
                UnityEngine.Object.DontDestroyOnLoad(projectile);
                projectileModule.projectiles[0]      = projectile;
                projectileModule.angleVariance       = 10;
                projectile.transform.parent          = gun.barrelOffset;
                gun.DefaultModule.projectiles[0]     = projectile;
                projectile.baseData.damage          *= 1;
                projectile.baseData.speed           *= 1f;
                projectileModule.numberOfShotsInClip = 8;
                projectileModule.cooldownTime        = .6f;
                BounceProjModifier bounce = projectile.gameObject.AddComponent <BounceProjModifier>();
                projectile.gameObject.AddComponent <BilliardBounceAdder>();
                bounce.damageMultiplierOnBounce = 1;
                bounce.numberOfBounces          = 6;
                projectile.baseData.range      *= 10f;
                projectileModule.ammoType       = GameUIAmmoType.AmmoType.SHOTGUN;
                projectile.shouldRotate         = true;
                projectile.SetProjectileSpriteRight("billiard_1", 9, 9, null, null);
                bool flag = projectileModule == gun.DefaultModule;
                if (flag)
                {
                    projectileModule.ammoCost = 1;
                }
                else
                {
                    projectileModule.ammoCost = 0;
                }
            }
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.5f;
            gun.Volley.UsesShotgunStyleVelocityRandomizer = true;
            gun.Volley.DecreaseFinalSpeedPercentMin       = -10f;
            gun.Volley.IncreaseFinalSpeedPercentMax       = 10f;
            gun.SetBaseMaxAmmo(150);
            gun.gunClass = GunClass.SILLY;
            gun.muzzleFlashEffects.type = VFXPoolType.None;
            gun.quality = PickupObject.ItemQuality.A;
            gun.encounterTrackable.EncounterGuid = "Billiard Shotgun";
            gun.sprite.IsPerpendicular           = true;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Psi Scale", "psi_scale");

            Game.Items.Rename("outdated_gun_mods:psi_scale", "cel:psi_scale");
            gun.gameObject.AddComponent <PsiScales>();
            gun.SetShortDescription("With Power, Comes Greed");
            gun.SetLongDescription("Summons homing bolts of psychic energy to attack the nearest enemy in range. The energy will fizzle if there isn't a valid target in range.\n\n");
            gun.SetupSprite(null, "psi_scale_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 9);
            gun.SetAnimationFPS(gun.reloadAnimation, 10);
            gun.AddProjectileModuleFrom("ak-47", true, false);
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.SMALL_BULLET;
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.1f;
            gun.DefaultModule.angleVariance       = 0;
            gun.DefaultModule.cooldownTime        = .35f;
            gun.DefaultModule.numberOfShotsInClip = 10;
            gun.gunSwitchGroup          = (PickupObjectDatabase.GetById(145) as Gun).gunSwitchGroup;
            gun.muzzleFlashEffects.type = VFXPoolType.None;
            gun.SetBaseMaxAmmo(350);
            gun.quality = PickupObject.ItemQuality.C;
            gun.encounterTrackable.EncounterGuid     = "skiddly biddly boo bop im going f*****g insane send help please i am losing my mind i mean uh haha funny guid";
            gun.sprite.IsPerpendicular               = true;
            gun.barrelOffset.transform.localPosition = new Vector3(2.25f, 0.3125f, 0f);
            gun.gunClass = GunClass.NONE;

            psi_projectile = UnityEngine.Object.Instantiate <Projectile>((PickupObjectDatabase.GetById(15) as Gun).DefaultModule.projectiles[0]);
            FakePrefab.MarkAsFakePrefab(psi_projectile.gameObject);
            UnityEngine.Object.DontDestroyOnLoad(psi_projectile);
            psi_projectile.baseData.damage *= 1.45f;
            psi_projectile.baseData.speed  *= 1f;
            psi_projectile.SetProjectileSpriteRight("psi_scale_projectile", 12, 7);

            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.transform.parent                  = gun.barrelOffset;
            projectile.baseData.damage                  *= 0f;
            projectile.baseData.speed                   *= 1f;
            projectile.baseData.force                   *= 0f;
            projectile.sprite.renderer.enabled           = false;
            projectile.baseData.range                    = .0001f;
            projectile.hitEffects.suppressMidairDeathVfx = true;
            projectile.collidesWithEnemies               = false;
            projectile.UpdateCollisionMask();



            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #10
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Nine-Barreled Shotgun", "nine-barreled_shotgun");

            Game.Items.Rename("outdated_gun_mods:nine-barreled_shotgun", "cel:nine-barreled_shotgun");
            gun.gameObject.AddComponent <NineBarreledGun>();
            gun.SetShortDescription("Slightly Overkill");
            gun.SetLongDescription("Do I even need to say what it does?");
            gun.SetupSprite(null, "nine-barreled_shotgun_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 7);
            gun.SetAnimationFPS(gun.reloadAnimation, 5);
            for (int i = 0; i < 36; i++)
            {
                GunExt.AddProjectileModuleFrom(gun, (PickupObjectDatabase.GetById(82) as Gun), true, false);
            }
            foreach (ProjectileModule projectileModule in gun.Volley.projectiles)
            {
                projectileModule.shootStyle = ProjectileModule.ShootStyle.SemiAutomatic;
                Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(projectileModule.projectiles[0]);
                projectile.gameObject.SetActive(false);
                FakePrefab.MarkAsFakePrefab(projectile.gameObject);
                UnityEngine.Object.DontDestroyOnLoad(projectile);
                projectileModule.projectiles[0]      = projectile;
                projectileModule.angleVariance       = 50;
                projectile.transform.parent          = gun.barrelOffset;
                projectile.baseData.damage          *= .5f;
                projectile.baseData.speed           *= 1f;
                projectileModule.numberOfShotsInClip = 1;
                projectileModule.cooldownTime        = .4f;
                projectile.baseData.range           *= 1f;
                projectileModule.ammoType            = GameUIAmmoType.AmmoType.SHOTGUN;

                bool flag = projectileModule == gun.DefaultModule;
                if (flag)
                {
                    projectileModule.ammoCost = 9;
                }
                else
                {
                    projectileModule.ammoCost = 0;
                }
            }
            gun.reloadTime = 2.8f;

            gun.gunSwitchGroup     = (PickupObjectDatabase.GetById(82) as Gun).gunSwitchGroup;
            gun.muzzleFlashEffects = (PickupObjectDatabase.GetById(84) as Gun).muzzleFlashEffects;
            gun.SetBaseMaxAmmo(540);

            gun.quality = PickupObject.ItemQuality.B;
            gun.encounterTrackable.EncounterGuid     = "oh lord o f**k what have i f*****g done shit o f**k";
            gun.sprite.IsPerpendicular               = true;
            gun.barrelOffset.transform.localPosition = new Vector3(2.1875f, 1.4375f, 0f);
            gun.gunClass = GunClass.SHOTGUN;

            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Auto Shotgun", "auto_shotgun");

            Game.Items.Rename("outdated_gun_mods:auto_shotgun", "cel:auto_shotgun");
            gun.gameObject.AddComponent <AutoShotgun>();
            gun.SetShortDescription("Become Decease");
            gun.SetLongDescription("An automatic shotgun. Prefered by those who want the coverage of a shotgun paired with the speed of an assault rifle.");
            gun.SetupSprite(null, "auto_shotgun_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 10);
            gun.SetAnimationFPS(gun.reloadAnimation, 5);
            for (int i = 0; i < 4; i++)
            {
                GunExt.AddProjectileModuleFrom(gun, "38_special", true, false);
            }
            foreach (ProjectileModule projectileModule in gun.Volley.projectiles)
            {
                projectileModule.shootStyle = ProjectileModule.ShootStyle.Automatic;
                Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(projectileModule.projectiles[0]);
                projectile.gameObject.SetActive(false);
                FakePrefab.MarkAsFakePrefab(projectile.gameObject);
                UnityEngine.Object.DontDestroyOnLoad(projectile);
                projectileModule.projectiles[0]      = projectile;
                projectileModule.angleVariance       = 6;
                projectile.transform.parent          = gun.barrelOffset;
                projectile.baseData.damage          *= .72f;
                projectile.baseData.speed           *= 1f;
                projectileModule.numberOfShotsInClip = 8;
                projectileModule.cooldownTime        = .4f;
                projectile.baseData.range            = 35f;
                projectileModule.ammoType            = GameUIAmmoType.AmmoType.SHOTGUN;
                bool flag = projectileModule == gun.DefaultModule;
                if (flag)
                {
                    projectileModule.ammoCost = 1;
                }
                else
                {
                    projectileModule.ammoCost = 0;
                }
            }
            gun.gunSwitchGroup     = (PickupObjectDatabase.GetById(51) as Gun).gunSwitchGroup;
            gun.muzzleFlashEffects = (PickupObjectDatabase.GetById(51) as Gun).muzzleFlashEffects;
            gun.Volley.UsesShotgunStyleVelocityRandomizer = true;
            gun.Volley.DecreaseFinalSpeedPercentMin       = -10f;
            gun.Volley.IncreaseFinalSpeedPercentMax       = 10f;
            gun.SetBaseMaxAmmo(360);

            gun.quality = PickupObject.ItemQuality.C;
            gun.encounterTrackable.EncounterGuid = "fricc u spapi imma use guids all i want >:c";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass   = GunClass.FULLAUTO;
            gun.reloadTime = 2.2f;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("The Last Chamber", "the_last_chamber");

            Game.Items.Rename("outdated_gun_mods:the_last_chamber", "cel:the_last_chamber");
            gun.gameObject.AddComponent <TheLastChamber>();
            gun.SetShortDescription("One More In The Chamber");
            gun.SetLongDescription("Kills anything in a single shot. Breaks after one shot. There is no way to prevent it breaking.\n\nA gun that once heavily-wounded Kaliber, destroying her seventh arm. In anger, she cursed the gun and its wielder, " +
                                   "trapping their soul inside of it. Kaliber's vehement hatred imbues it with great power, but ensures it will break once fired.");
            gun.SetupSprite(null, "the_last_chamber_idle_001", 10);
            gun.SetAnimationFPS(gun.shootAnimation, 18);
            gun.SetAnimationFPS(gun.reloadAnimation, 6);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 0f;
            gun.DefaultModule.angleVariance       = 0f;
            gun.DefaultModule.cooldownTime        = 100f;
            gun.DefaultModule.numberOfShotsInClip = 1;
            gun.DefaultModule.ammoType            = GameUIAmmoType.AmmoType.MEDIUM_BULLET;
            Gun gun2 = PickupObjectDatabase.GetById(32) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(1);
            gun.barrelOffset.transform.localPosition = new Vector3(1.2f, .3f);
            gun.quality = PickupObject.ItemQuality.S;
            gun.encounterTrackable.EncounterGuid = "One More In The Chamber";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass     = GunClass.PISTOL;
            gun.InfiniteAmmo = true;
            //this doesnt do anything as it breaks after firing, but it prevents it being duct taped
            Gun gun3 = PickupObjectDatabase.GetById(32) as Gun;

            gun.gunSwitchGroup = gun3.gunSwitchGroup;
            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.transform.parent      = gun.barrelOffset;
            projectile.baseData.speed       *= 2.5f;
            //projectile.baseData.damage = 10000000f;
            projectile.baseData.damage  = 0;
            projectile.ignoreDamageCaps = true;
            PierceProjModifier orAddComponent = projectile.gameObject.AddComponent <PierceProjModifier>();

            orAddComponent.penetratesBreakables = true;
            orAddComponent.penetration          = 100;
            projectile.shouldRotate             = true;
            projectile.SetProjectileSpriteRight("the_last_bullet", 10, 6, null, null);
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #13
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Time Keeper's Pistol", "time_keeper's_pistol");

            Game.Items.Rename("outdated_gun_mods:time_keeper's_pistol", "cel:time_keeper's_pistol");
            gun.gameObject.AddComponent <TimeKeepersPistol>();

            gun.SetShortDescription("His Last Gift");
            gun.SetLongDescription("A basic pistol. Damage scales with the current loop.\n\nA gun given to you by Grandfather Tick, it will at least keep you safe until you get something better.");

            gun.SetupSprite(null, "time_keeper's_pistol_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 16);
            gun.SetAnimationFPS(gun.reloadAnimation, 2);
            gun.AddProjectileModuleFrom("magnum", true, false);

            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.2f;
            gun.DefaultModule.angleVariance       = 7f;
            gun.DefaultModule.cooldownTime        = .2f;
            gun.DefaultModule.numberOfShotsInClip = 6;
            Gun gun2 = PickupObjectDatabase.GetById(38) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(1);
            gun.InfiniteAmmo = true;
            gun.quality      = PickupObject.ItemQuality.EXCLUDED;
            gun.encounterTrackable.EncounterGuid = "Time Keeper's Pistol.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass     = GunClass.PISTOL;
            gun.CanBeDropped = false;
            gun.CanBeSold    = false;
            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;
            float Cal1 = LoopManager.LoopAMT * .15f;
            float Cal2 = Cal1 + 1f;
            float Cal3 = 6 * Cal2;
            float Cal4 = Cal3 / 13;

            projectile.transform.parent = gun.barrelOffset;
            projectile.baseData.damage *= Cal4;
            projectile.baseData.speed  *= 1f;
            projectile.baseData.force  *= .33f;
            projectile.baseData.range  *= 0.266f;


            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Bashellisk Rifle", "bashellisk_rifle");

            Game.Items.Rename("outdated_gun_mods:bashellisk_rifle", "cel:bashellisk_rifle");
            gun.gameObject.AddComponent <BashelliskRifle>();
            gun.SetShortDescription("Deadly Deadly Gun");
            gun.SetLongDescription("Shoots toxic shots which can somtimes afflict enemies with a powerful venom.\n\nInfused with the fang of a Bashellisk, this gun's bullets are empowered with an even deadlier power.");

            gun.SetupSprite(null, "bashellisk_rifle_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 24);
            gun.SetAnimationFPS(gun.reloadAnimation, 10);
            gun.AddProjectileModuleFrom("future_assault_rifle", true, false);
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.CUSTOM;
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Automatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = .6f;
            gun.DefaultModule.customAmmoType      = "poison_blob";
            gun.DefaultModule.angleVariance       = 4f;
            gun.DefaultModule.cooldownTime        = .11f;
            gun.DefaultModule.numberOfShotsInClip = 25;
            gun.gunSwitchGroup = (PickupObjectDatabase.GetById(229) as Gun).gunSwitchGroup;
            Gun gun2 = PickupObjectDatabase.GetById(334) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(500);
            gun.barrelOffset.transform.localPosition = new Vector3(1.4f, .4f, 0f);
            gun.quality = PickupObject.ItemQuality.S;
            gun.encounterTrackable.EncounterGuid = "Venom Rifle.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass = GunClass.FULLAUTO;
            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.transform.parent      = gun.barrelOffset;
            projectile.baseData.damage      *= 1;
            projectile.baseData.speed       *= 1f;
            projectile.baseData.force       *= 1f;
            projectile.PoisonApplyChance     = .25f;
            projectile.AppliesPoison         = true;
            projectile.healthEffect          = Library.Venom;
            projectile.DefaultTintColor      = new Color(78 / 90f, 5 / 90f, 120 / 90f);
            projectile.HasDefaultTint        = true;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
            gun.AddToSubShop(ItemBuilder.ShopType.Goopton);
        }
Exemple #15
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Fallout", "fallout");

            Game.Items.Rename("outdated_gun_mods:fallout", "cel:fallout");
            gun.gameObject.AddComponent <Fallout>();
            gun.SetShortDescription("Keep Out Of Reach Of Children");
            gun.SetLongDescription("Shoots powerful blasts of nuclear energy.\n\n This gun is powered by pure poisonium (not to be confused with the harmless substance, toxicium) which is lethal to any creature in the known universe.");

            gun.SetupSprite(null, "fallout_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 4);
            gun.SetAnimationFPS(gun.reloadAnimation, 2);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.CUSTOM;
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.4f;
            gun.DefaultModule.customAmmoType      = "poison_blob";
            gun.DefaultModule.angleVariance       = 0f;
            gun.DefaultModule.cooldownTime        = .75f;
            gun.DefaultModule.numberOfShotsInClip = 1;
            Gun gun2 = PickupObjectDatabase.GetById(151) as Gun;
            Gun gun3 = PickupObjectDatabase.GetById(32) as Gun;

            gun.gunSwitchGroup     = gun3.gunSwitchGroup;
            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(150);
            gun.barrelOffset.transform.localPosition = new Vector3(3.5f, 0f, 0f);
            gun.quality = PickupObject.ItemQuality.A;
            gun.encounterTrackable.EncounterGuid = "For his nuetral special, gun wields a Joker.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass = GunClass.RIFLE;
            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.transform.parent      = gun.barrelOffset;
            projectile.baseData.damage      *= 16;
            projectile.baseData.speed       *= 2f;
            projectile.baseData.force       *= 4f;
            projectile.baseData.range       *= 1000;
            projectile.SetProjectileSpriteRight("fallout_smol_projectile_001", 31, 8, null, null);
            ETGMod.Databases.Items.Add(gun, null, "ANY");
            gun.AddToSubShop(ItemBuilder.ShopType.Goopton);
            gun.AddToSubShop(ItemBuilder.ShopType.Trorc);
        }
Exemple #16
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Spirit Of The Dragun", "spirit_of_the_dragun");

            Game.Items.Rename("outdated_gun_mods:spirit_of_the_dragun", "cel:spirit_of_the_dragun");
            gun.gameObject.AddComponent <SpiritOfTheDragun>();
            gun.SetShortDescription("Ego Sum Aeternae");
            gun.SetLongDescription("Shoots powerful, molten, armor-piercing shots shots.\n\n\"Perhaps you will succeed where I have failed.\"");
            gun.SetupSprite(null, "spirit_of_the_dragun_idle_001", 13);
            gun.SetAnimationFPS(gun.shootAnimation, 10);
            gun.SetAnimationFPS(gun.reloadAnimation, 10);
            gun.AddProjectileModuleFrom("ak-47", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Burst;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 2f;
            gun.DefaultModule.angleVariance     = 4f;
            gun.DefaultModule.cooldownTime      = .3f;
            gun.DefaultModule.burstShotCount    = 3;
            gun.DefaultModule.burstCooldownTime = .1f;
            gun.SetBaseMaxAmmo(213);
            gun.gunClass = GunClass.FULLAUTO;
            gun.DefaultModule.numberOfShotsInClip = 45;
            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            Gun gun2 = PickupObjectDatabase.GetById(15) as Gun;
            Gun gun3 = PickupObjectDatabase.GetById(705) as Gun;

            gun.InfiniteAmmo = true;
            gun.barrelOffset.transform.localPosition = new Vector3(2.5f, .5f, 0f);
            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.encounterTrackable.EncounterGuid = "Easily the strongest gun ive made.";
            Projectile originalProjectile = (PickupObjectDatabase.GetById(370) as Gun).DefaultModule.chargeProjectiles[1].Projectile;
            Projectile projectile         = UnityEngine.Object.Instantiate(originalProjectile);

            projectile.gameObject.SetActive(false);
            FakePrefab.MarkAsFakePrefab(projectile.gameObject);
            UnityEngine.Object.DontDestroyOnLoad(projectile);
            gun.DefaultModule.projectiles[0] = projectile;
            projectile.baseData.damage      *= 0.15f;
            projectile.baseData.speed       *= .25f;
            PierceProjModifier orAddComponent = projectile.gameObject.GetOrAddComponent <PierceProjModifier>();

            orAddComponent.penetration -= 50;
            projectile.GetComponent <TrailController>();
            projectile.transform.parent = gun.barrelOffset;
            projectile.ignoreDamageCaps = true;
            gun.sprite.IsPerpendicular  = true;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #17
0
        public static void Add()
        {
            int LimitGunId = 98;
            Gun limitGun   = PickupObjectDatabase.GetById(LimitGunId) as Gun;



            Gun gun = ETGMod.Databases.Items.NewGun("Phazor", "phazor");

            Game.Items.Rename("outdated_gun_mods:phazor", "cel:phazor");
            gun.gameObject.AddComponent <Phazor>();
            gun.SetShortDescription("Shiny");
            gun.SetLongDescription("Fires faster the longer the fire button is held down.\n\nA gun made from pure rainbows, imagination, hours of slavery, and fantasy.");
            gun.SetupSprite(null, "phazor_idle_001", 13);

            gun.SetAnimationFPS(gun.shootAnimation, 24);
            gun.AddProjectileModuleFrom("future_assault_rifle", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Automatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 0f;
            gun.DefaultModule.angleVariance           = 4f;
            gun.GainsRateOfFireAsContinueAttack       = true;
            gun.RateOfFireMultiplierAdditionPerSecond = .5f;
            gun.DefaultModule.cooldownTime            = 0.2f;
            gun.SetBaseMaxAmmo(300);
            Gun gun2 = PickupObjectDatabase.GetById(32) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.gunClass           = GunClass.PISTOL;
            gun.DefaultModule.numberOfShotsInClip = gun.GetBaseMaxAmmo();
            gun.quality = PickupObject.ItemQuality.A;
            gun.encounterTrackable.EncounterGuid = "zip zoop zappity do";

            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      *= 2.28571428571f;
            projectile.baseData.speed       *= 1f;
            projectile.SetProjectileSpriteRight("phazor_projectile_002", 21, 3, null, null);
            gun.sprite.IsPerpendicular = true;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
            projectile.transform.parent = gun.barrelOffset;
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Assault Fleet", "assault_fleet");

            this_gun = gun;
            Game.Items.Rename("outdated_gun_mods:assault_fleet", "cel:assault_fleet");
            gun.gameObject.AddComponent <AssaultFleet>();
            gun.SetShortDescription("Vola! Vola! Vola! Volare Via!");
            gun.SetLongDescription("Shoots small, remote-control aircrafts which fire upon nearby enemies.\n\nThe Gungeon has often been known to imbue innocent objects with lethal firepower and this children's toy turned deadly weapon is no exception.");
            gun.SetupSprite(null, "assault_fleet_idle_001", 13);
            gun.SetAnimationFPS(gun.shootAnimation, 12);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Automatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime     = 0f;
            gun.gunSwitchGroup = (PickupObjectDatabase.GetById(97) as Gun).gunSwitchGroup;
            gun.DefaultModule.angleVariance = 5f;
            gun.DefaultModule.cooldownTime  = 0.10f;
            gun.SetBaseMaxAmmo(100);
            gun.gunClass = GunClass.FULLAUTO;
            gun.DefaultModule.numberOfShotsInClip = 1;
            gun.muzzleFlashEffects.type           = VFXPoolType.None;
            gun.quality = PickupObject.ItemQuality.C;
            gun.encounterTrackable.EncounterGuid = "Assault Fleet Gun";
            gun.gunHandedness = GunHandedness.HiddenOneHanded;
            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.transform.parent      = gun.barrelOffset;
            projectile.shouldRotate          = true;
            projectile.baseData.damage      *= 2f;
            projectile.baseData.speed       *= .75f;
            projectile.PreMoveModifiers      = (Action <Projectile>)Delegate.Combine(projectile.PreMoveModifiers, new Action <Projectile>(PreMoveProjectileModifier));
            FleetController fleetController = projectile.gameObject.AddComponent <FleetController>();

            fleetController.projectileToSpawn = ((Gun)ETGMod.Databases.Items["makarov"]).DefaultModule.projectiles[0];
            Projectile proj2 = fleetController.projectileToSpawn;

            proj2.AdditionalScaleMultiplier = .5f;
            gun.sprite.IsPerpendicular      = true;
            gun.CanBeDropped = false;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #19
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("D.E.A.T.H.", "d.e.a.t.h.");

            Game.Items.Rename("outdated_gun_mods:d.e.a.t.h.", "cel:d.e.a.t.h.");
            gun.gameObject.AddComponent <DEATHGun>();
            gun.SetShortDescription("This Army");
            gun.SetLongDescription("While held, summons three drones. Projectiles of the gun ignore the boss damage cap, but no those of the drones.\n\nDestructive Energized Automated Targeted Hellfire.");
            gun.SetupSprite(null, "d.e.a.t.h._idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 16);
            gun.SetAnimationFPS(gun.reloadAnimation, 10);
            gun.AddProjectileModuleFrom("electric_rifle", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.gunHandedness               = GunHandedness.HiddenOneHanded;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Burst;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.2f;
            gun.DefaultModule.angleVariance     = 4f;
            gun.DefaultModule.burstShotCount    = 5;
            gun.DefaultModule.burstCooldownTime = .1f;
            gun.DefaultModule.cooldownTime      = .8f;
            gun.DefaultModule.cooldownTime      = .11f;
            gun.InfiniteAmmo = true;
            gun.DefaultModule.numberOfShotsInClip = 25;
            gun.gunSwitchGroup = (PickupObjectDatabase.GetById(153) as Gun).gunSwitchGroup;
            Gun gun2 = PickupObjectDatabase.GetById(153) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(500);
            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            gun.encounterTrackable.EncounterGuid = "If you are not Cel, reading this has permanently cursed you forever. Unless you are looking for the code about the drones. That's in HoveringGunsAdder.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass = GunClass.FULLAUTO;
            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.transform.parent        = gun.barrelOffset;
            projectile.baseData.damage        *= .75f;
            projectile.baseData.speed         *= 1f;
            projectile.baseData.force         *= .25f;
            projectile.sprite.renderer.enabled = false;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Russian Revolver", "russian_revolver");

            RussianRevolv = gun;
            Game.Items.Rename("outdated_gun_mods:russian_revolver", "cel:russian_revolver");

            //WORK ON RISK MECHANIC IDEA DUMBASS

            gun.SetShortDescription("You See Ivan...");
            gun.SetLongDescription("Shoots powerful shots, but only one shot in each clip deals damage.\n\nWhen you hold peestol like me, you shall never shoot the inacurrate, because of fear of shooting fingers.");
            gun.SetupSprite(null, "russian_revolver_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 16);
            gun.SetAnimationFPS(gun.reloadAnimation, 2);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.gameObject.AddComponent <RussianRevolver>();
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.MEDIUM_BULLET;
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.2f;
            gun.DefaultModule.angleVariance       = 0f;
            gun.DefaultModule.cooldownTime        = .15f;
            gun.DefaultModule.numberOfShotsInClip = 6;
            Gun gun2 = PickupObjectDatabase.GetById(56) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(480);
            gun.gunSwitchGroup = gun2.gunSwitchGroup;
            gun.quality        = PickupObject.ItemQuality.D;
            gun.encounterTrackable.EncounterGuid = "The Soviet Union, officially the Union of Soviet Socialist Republics (USSR), was a federal socialist state in Northern Eurasia that existed from 1922 to 1991. Nominally a union of multiple national Soviet republics, in practice its government and economy were highly centralized until its final years. It was a one-party state governed by the Communist Party, with Moscow as its capital in its largest republic, the Russian SFSR. Other major urban centers were Leningrad, Kiev, Minsk, Tashkent, Alma-Ata and Novosibirsk. It was the largest country in the world by surface area, spanning over 10,000 kilometers (6,200 mi) east to west across 11 time zones and over 7,200 kilometers (4,500 mi) north to south. Its territory included much of Eastern Europe as well as part of Northern Europe and all of Northern and Central Asia. It had five climate zones such as tundra, taiga, steppes, desert, and mountains. Its diverse population was collectively known as Soviet people.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass = GunClass.PISTOL;
            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.transform.parent        = gun.barrelOffset;
            projectile.baseData.damage        *= 0;
            projectile.sprite.renderer.enabled = false;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
            gun.AddToSubShop(ItemBuilder.ShopType.Goopton);
            gun.AddToSubShop(ItemBuilder.ShopType.Trorc);
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Sticky Launcher", "sticky_launcher");

            Game.Items.Rename("outdated_gun_mods:sticky_launcher", "cel:sticky_launcher");
            gun.SetShortDescription("KA-BLOOIE!");
            gun.SetLongDescription("Shoots sticky bombs that detonate on reloading.\n\nA weather sticky bomb launcher with the words \"Mann Co. Property\" written on the side.");
            gun.SetupSprite(null, "sticky_launcher_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 16);
            gun.SetAnimationFPS(gun.reloadAnimation, 2);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.gameObject.AddComponent <StickyLauncher>();
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.MEDIUM_BULLET;
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.2f;
            gun.DefaultModule.angleVariance       = 4f;
            gun.DefaultModule.cooldownTime        = .45f;
            gun.DefaultModule.numberOfShotsInClip = 8;
            Gun gun2 = PickupObjectDatabase.GetById(56) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(320);
            gun.quality = PickupObject.ItemQuality.C;
            gun.encounterTrackable.EncounterGuid = "What makes me a good demoman? If I were a bad demoman, I wouldn't be sittin' here discussin' it with you, now would I?! LET'S DO IT! Not one of you's gonna survive this! One crossed wire, one wayward pinch of potassium chlorate, one errant twitch, and KA-BLOOIE! nd I got a manky eye. I'm a black Scottish cyclops. They got more fecking sea monsters in the great Lochett Ness than they got the likes of me. So! T'all you fine dandies, so proud, so cocksure, prancin' about with your heads full of eyeballs... come and get me, I say! I'll be waitin' on you with a whiff of the old brimstone! I'm a Grimm bloody fable with an unhappy bloody end! Oh, they're going to have to glue you back together...IN HELL!";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass = GunClass.PISTOL;
            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.transform.parent      = gun.barrelOffset;
            projectile.baseData.damage      *= 0;
            projectile.SetProjectileSpriteRight("sticky_bomb", 11, 11);
            StickyProjectile sticky = projectile.gameObject.AddComponent <StickyProjectile>();

            sticky.explosionData = GameManager.Instance.Dungeon.sharedSettingsPrefab.DefaultSmallExplosionData;
            sticky.explosionData.damageToPlayer = 0;
            sticky.explosionData.damage         = 7.5f;
            sticky.destroyOnGunChanged          = true;
            sticky.shouldExplodeOnReload        = true;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("A Rock", "a_literal_rock");

            Game.Items.Rename("outdated_gun_mods:a_rock", "cel:a_rock");
            gun.gameObject.AddComponent <ALiteralRock>();

            gun.SetShortDescription("Ooga Booga");
            gun.SetLongDescription("It's just a rock. That's it. Nothing special.\n\nJust a rock someone picked up and put in a chest.");

            gun.SetupSprite(null, "a_literal_rock_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 16);
            gun.SetAnimationFPS(gun.reloadAnimation, 2);
            gun.AddProjectileModuleFrom("magnum", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 0;
            gun.DefaultModule.angleVariance       = 0;
            gun.DefaultModule.cooldownTime        = 0;
            gun.DefaultModule.numberOfShotsInClip = 0;
            gun.SetBaseMaxAmmo(0);
            gun.ammo         = 0;
            gun.InfiniteAmmo = false;
            gun.quality      = PickupObject.ItemQuality.D;
            gun.encounterTrackable.EncounterGuid = "Its a rock.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass     = GunClass.SILLY;
            gun.CanGainAmmo  = false;
            gun.IgnoredByRat = true;
            gun.encounterTrackable.m_doNotificationOnEncounter = false;

            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      *= 0;
            projectile.baseData.speed       *= 1f;
            projectile.baseData.force       *= 0f;
            projectile.baseData.range       *= 0;

            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #23
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Magnorbs", "magnorbs");

            Game.Items.Rename("outdated_gun_mods:magnorbs", "cel:magnorbs");
            gun.gameObject.AddComponent <Magnorbs>();
            gun.SetShortDescription("Magnets Are Fun");
            gun.SetLongDescription("Shoots magnetic orbs that boomerang back to the gun. Whenever an orb returns to the player, they regain ammo. Reloading the gun with full ammo creates a temporary shield.");
            gun.SetupSprite(null, "magnorbs_idle_001", 13);
            gun.SetAnimationFPS(gun.shootAnimation, 12);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 0f;
            gun.DefaultModule.angleVariance = 0f;
            gun.DefaultModule.cooldownTime  = 0.25f;
            gun.SetBaseMaxAmmo(3);
            gun.gunClass = GunClass.SILLY;
            gun.DefaultModule.numberOfShotsInClip = 1;
            gun.muzzleFlashEffects.type           = VFXPoolType.None;
            gun.quality = PickupObject.ItemQuality.C;
            gun.encounterTrackable.EncounterGuid = "I stole this from starbound lol";
            gun.gunHandedness = GunHandedness.HiddenOneHanded;
            gun.barrelOffset.transform.localPosition = new Vector3(0.3125f, 0.1875f, 0f);
            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      *= 1f;
            projectile.baseData.speed       *= 1.5f;
            projectile.baseData.range        = float.MaxValue;
            projectile.transform.parent      = gun.barrelOffset;
            projectile.pierceMinorBreakables = true;
            projectile.gameObject.AddComponent <MaintainDamageOnPierce>();
            PierceProjModifier pierce = projectile.gameObject.GetOrAddComponent <PierceProjModifier>();

            pierce.penetratesBreakables = true;
            projectile.ImmuneToBlanks   = true;
            projectile.SetProjectileSpriteRight("magnorb_projectile", 9, 9, null, null);
            gun.sprite.IsPerpendicular = true;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("venom_spit_drone_gun", "venom_spit_drone_gun");

            Game.Items.Rename("outdated_gun_mods:venom_spit_drone_gun", "cel:venom_spit_drone_gun");
            VenomSpitDGun @object = gun.gameObject.AddComponent <VenomSpitDGun>();

            gun.SetShortDescription("fswwawdw");
            gun.SetLongDescription("wsdfeesadwdasdwda.");
            gun.SetupSprite(null, "venom_spit_drone_gun_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 24);
            gun.SetAnimationFPS(gun.reloadAnimation, 10);
            gun.AddProjectileModuleFrom("future_assault_rifle", true, false);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Automatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = .6f;
            gun.DefaultModule.angleVariance       = 4f;
            gun.DefaultModule.cooldownTime        = .11f;
            gun.DefaultModule.numberOfShotsInClip = 25;
            gun.gunSwitchGroup = (PickupObjectDatabase.GetById(229) as Gun).gunSwitchGroup;
            Gun gun2 = PickupObjectDatabase.GetById(151) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(500);
            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            gun.encounterTrackable.EncounterGuid = "mama, uwu.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass = GunClass.FULLAUTO;
            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.transform.parent      = gun.barrelOffset;
            projectile.baseData.damage      *= 0;
            projectile.baseData.speed       *= 1f;
            projectile.baseData.force       *= 0f;
            projectile.HasDefaultTint        = true;
            projectile.DefaultTintColor      = new Color(78 / 90f, 5 / 90f, 120 / 90f);
            projectile.AppliesPoison         = true;
            projectile.healthEffect          = Library.Venom;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #25
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Heater Assault Rifle", "heater_assault_rifle");

            Game.Items.Rename("outdated_gun_mods:heater_assault_rifle", "cel:heater_assault_rifle");
            gun.gameObject.AddComponent <HeaterAssault>();
            gun.SetShortDescription("Children Of The Colt");
            gun.SetLongDescription("No reload time, but gains heat as it is fired. If the gun overheats, it is put on a cooldown before it can start shooting again. Heat decreases while not firing. All heat dissapates while not in combat.");
            gun.SetupSprite(null, "heater_assault_rifle_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 9);
            gun.SetAnimationFPS(gun.reloadAnimation, 10);
            gun.AddProjectileModuleFrom("ak-47", true, false);
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.SMALL_BULLET;
            gun.DefaultModule.ammoCost      = 2;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Automatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1f;
            gun.DefaultModule.angleVariance       = 4;
            gun.DefaultModule.cooldownTime        = .11f;
            gun.DefaultModule.numberOfShotsInClip = 1;
            gun.gunSwitchGroup     = (PickupObjectDatabase.GetById(15) as Gun).gunSwitchGroup;
            gun.muzzleFlashEffects = (PickupObjectDatabase.GetById(15) as Gun).muzzleFlashEffects;
            gun.SetBaseMaxAmmo(600);
            gun.quality = PickupObject.ItemQuality.B;
            gun.encounterTrackable.EncounterGuid     = "I am going to say a F**k Word";
            gun.sprite.IsPerpendicular               = true;
            gun.barrelOffset.transform.localPosition = new Vector3(2.25f, 0.3125f, 0f);
            gun.gunClass = GunClass.FULLAUTO;
            HeatGaugeController heat = gun.gameObject.AddComponent <HeatGaugeController>();

            heat.m_cooldownTime = 3f;
            heat.m_burnCapTime  = 4f;

            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.transform.parent      = gun.barrelOffset;
            projectile.baseData.damage      *= 1f;
            projectile.baseData.speed       *= 1f;
            projectile.baseData.force       *= 1f;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #26
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Prime Laser", "prime_laser");

            Game.Items.Rename("outdated_gun_mods:prime_laser", "cel:prime_laser");
            gun.gameObject.AddComponent <PrimeLaser>();
            gun.SetShortDescription("Why are you reading this?");
            gun.SetLongDescription("Loser.");
            gun.SetupSprite(null, "prime_laser_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 15);
            gun.AddProjectileModuleFrom("future_assault_rifle", true, false);
            gun.SetBaseMaxAmmo(1000);
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Automatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.SMALL_BULLET;
            gun.reloadTime = 0f;
            gun.DefaultModule.cooldownTime = .1f;
            gun.gunHandedness = GunHandedness.OneHanded;
            gun.DefaultModule.numberOfShotsInClip = 1000;
            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            Gun gun2 = PickupObjectDatabase.GetById(32) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.barrelOffset.transform.localPosition += new Vector3(0, -.1f, 0);
            gun.DefaultModule.angleVariance           = 0f;
            gun.encounterTrackable.EncounterGuid      = "Prime Laser";
            gun.sprite.IsPerpendicular = true;
            Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(gun.DefaultModule.projectiles[0]);

            projectile.gameObject.SetActive(false);
            FakePrefab.MarkAsFakePrefab(projectile.gameObject);
            UnityEngine.Object.DontDestroyOnLoad(projectile);
            Projectile proj2 = (PickupObjectDatabase.GetById(724) as Gun).DefaultModule.projectiles[0];

            gun.DefaultModule.projectiles[0] = proj2;
            proj2.baseData.damage           *= 1f;
            proj2.transform.parent           = gun.barrelOffset;
            proj2.AppliesFire = false;
            BounceProjModifier bounce = proj2.gameObject.GetComponent <BounceProjModifier>();

            bounce.numberOfBounces -= 1;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #27
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Panic Pistol", "panic_pistol");

            Game.Items.Rename("outdated_gun_mods:panic_pistol", "cel:panic_pistol");
            gun.gameObject.AddComponent <PanicPistol>();
            gun.SetShortDescription("Random BS, Go!");
            gun.SetLongDescription("Has higher reload speed the more enemies are in a room.\n\nThe Pilot is never far from one of his sidearms as he is also never far from getting into a fight.");

            gun.SetupSprite(null, "panic_pistol_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 10);
            gun.SetAnimationFPS(gun.reloadAnimation, 2);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.MEDIUM_BLASTER;
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 1.5f;
            gun.DefaultModule.angleVariance       = 6f;
            gun.DefaultModule.cooldownTime        = .15f;
            gun.DefaultModule.numberOfShotsInClip = 8;
            Gun gun3 = PickupObjectDatabase.GetById(32) as Gun;

            gun.gunSwitchGroup     = gun3.gunSwitchGroup;
            gun.muzzleFlashEffects = gun3.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(480);
            gun.quality = PickupObject.ItemQuality.C;
            gun.encounterTrackable.EncounterGuid = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAaAAaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass = GunClass.PISTOL;
            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.transform.parent      = gun.barrelOffset;
            projectile.baseData.damage      *= 1;
            projectile.baseData.speed       *= 1f;
            projectile.baseData.force       *= 1f;
            projectile.baseData.range       *= .75f;
            projectile.SetProjectileSpriteRight("panic_bolt", 9, 5, null, null);
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #28
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Pike Beam", "pike_beam");

            Game.Items.Rename("outdated_gun_mods:pike_beam", "cel:pike_beam");
            gun.gameObject.AddComponent <PikeBeam>();
            gun.SetShortDescription("Not A Glaive");
            gun.SetLongDescription("Can cut across entire rooms, as long as there are no walls in the way.");
            gun.SetupSprite(null, "pike_beam_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 4);
            gun.SetAnimationFPS(gun.reloadAnimation, 2);
            gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(121) as Gun, true, false);
            gun.DefaultModule.ammoType      = GameUIAmmoType.AmmoType.CUSTOM;
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Beam;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 0f;
            gun.DefaultModule.customAmmoType      = "poison_blob";
            gun.DefaultModule.angleVariance       = 0f;
            gun.DefaultModule.cooldownTime        = .2f;
            gun.DefaultModule.numberOfShotsInClip = 1;
            Gun gun2 = PickupObjectDatabase.GetById(151) as Gun;

            gun.muzzleFlashEffects = gun2.muzzleFlashEffects;
            gun.SetBaseMaxAmmo(150);
            gun.barrelOffset.transform.localPosition = new Vector3(3.5f, 0f, 0f);
            gun.quality = PickupObject.ItemQuality.B;
            gun.encounterTrackable.EncounterGuid = "Hippity hoppity, your spinal cord is my property.";
            gun.sprite.IsPerpendicular           = true;
            gun.gunClass = GunClass.BEAM;
            Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(gun.DefaultModule.projectiles[0]);

            projectile.gameObject.SetActive(false);
            FakePrefab.MarkAsFakePrefab(projectile.gameObject);
            UnityEngine.Object.DontDestroyOnLoad(projectile);
            projectile.gameObject.AddComponent <MeshRenderer>();
            projectile.gameObject.AddComponent <MeshFilter>();
            gun.DefaultModule.projectiles[0] = projectile;
            projectile.transform.parent      = gun.barrelOffset;
            BasicBeamController BasicBitchBeam = F**K.GenerateBeamPrefab(gun.DefaultModule.projectiles[0], "");

            projectile.baseData.speed = -1;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #29
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Electric Bass", "electric_bass");

            Game.Items.Rename("outdated_gun_mods:electric_bass", "cel:electric_bass");
            gun.gameObject.AddComponent <ElectricBass>();
            gun.SetShortDescription("Atom And Evil");
            gun.SetLongDescription("Creates an eletric AoE instead of shooting projectiles.\n\nA guitar imbued with the power of heavy metal music.");
            gun.SetupSprite(null, "electric_bass_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 24);
            gun.SetAnimationFPS(gun.reloadAnimation, 3);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.sprite.IsPerpendicular      = true;
            gun.DefaultModule.ammoCost      = 1;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.Automatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = 0;
            gun.DefaultModule.cooldownTime = .3f;
            gun.SetBaseMaxAmmo(500);
            Gun gun2 = PickupObjectDatabase.GetById(149) as Gun;

            //gun.gunSwitchGroup = gun2.gunSwitchGroup;
            gun.DefaultModule.ammoType            = GameUIAmmoType.AmmoType.MEDIUM_BLASTER;
            gun.DefaultModule.numberOfShotsInClip = gun.GetBaseMaxAmmo();
            gun.quality  = PickupObject.ItemQuality.C;
            gun.gunClass = GunClass.FULLAUTO;
            gun.encounterTrackable.EncounterGuid = "AoE Bass gun";
            gun.muzzleFlashEffects.type          = VFXPoolType.None;
            gun.AddToSubShop(ItemBuilder.ShopType.Trorc);
            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                  *= 0;
            projectile.baseData.speed                   *= 1f;
            projectile.baseData.range                   *= .00001f;
            projectile.collidesWithEnemies               = false;
            projectile.collidesWithPlayer                = false;
            projectile.sprite.renderer.enabled           = false;
            projectile.hitEffects.suppressMidairDeathVfx = true;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }
Exemple #30
0
        public static void Add()
        {
            Gun gun = ETGMod.Databases.Items.NewGun("Spellcaster", "spellcaster");

            Game.Items.Rename("outdated_gun_mods:spellcaster", "cel:spellcaster");
            gun.gameObject.AddComponent <Spellcaster>();
            gun.SetShortDescription("Fractal");
            gun.SetLongDescription("Upon entering a new floor, the gun changes between different ammo types.");
            gun.SetupSprite(null, "spellcaster_idle_001", 8);
            gun.SetAnimationFPS(gun.shootAnimation, 12);
            gun.SetAnimationFPS(gun.reloadAnimation, 9);
            gun.AddProjectileModuleFrom("38_special", true, false);
            gun.SetBaseMaxAmmo(350);
            gun.DefaultModule.ammoCost      = 1;
            gun.InfiniteAmmo                = true;
            gun.DefaultModule.shootStyle    = ProjectileModule.ShootStyle.SemiAutomatic;
            gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random;
            gun.reloadTime = .8f;
            gun.DefaultModule.cooldownTime = 0.1f;
            gun.gunClass = GunClass.PISTOL;
            gun.DefaultModule.numberOfShotsInClip = 6;
            gun.quality = PickupObject.ItemQuality.EXCLUDED;
            Gun gun2 = PickupObjectDatabase.GetById(12) as Gun;
            Gun gun3 = PickupObjectDatabase.GetById(128) as Gun;

            gun.muzzleFlashEffects               = gun2.muzzleFlashEffects;
            gun.gunSwitchGroup                   = gun3.gunSwitchGroup;
            gun.gunHandedness                    = GunHandedness.OneHanded;
            gun.DefaultModule.angleVariance      = 4f;
            gun.encounterTrackable.EncounterGuid = "totally not a promo for my WIP game Fractal. Nope. Not at all.";
            gun.sprite.IsPerpendicular           = true;
            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.5f;
            projectile.baseData.speed       *= 1f;
            projectile.baseData.force       *= 1f;
            projectile.transform.parent      = gun.barrelOffset;
            ETGMod.Databases.Items.Add(gun, null, "ANY");
        }