public static void Add() { Gun gun = ETGMod.Databases.Items.NewGun("Red Robin", "redrobin"); Game.Items.Rename("outdated_gun_mods:red_robin", "nn:red_robin"); gun.gameObject.AddComponent <RedRobin>(); gun.SetShortDescription("Healthy Option"); gun.SetLongDescription("Deals bonus damage at full health." + "\n\nThe signature weapon of Gungeoneer 'Hearts Ferros', famous for never being shot in a gunfight... until he was."); gun.SetupSprite(null, "redrobin_idle_001", 8); gun.SetAnimationFPS(gun.shootAnimation, 13); gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(56) as Gun, true, false); //GUN STATS gun.DefaultModule.ammoCost = 1; gun.DefaultModule.shootStyle = ProjectileModule.ShootStyle.SemiAutomatic; gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random; gun.reloadTime = 1f; gun.DefaultModule.cooldownTime = 0.15f; gun.DefaultModule.angleFromAim = 0; gun.DefaultModule.angleVariance = 12; gun.DefaultModule.numberOfShotsInClip = 13; gun.barrelOffset.transform.localPosition = new Vector3(23f / 16f, 11f / 16f, 0f); gun.SetBaseMaxAmmo(300); gun.ammo = 300; gun.gunClass = GunClass.SILLY; gun.muzzleFlashEffects = VFXToolbox.CreateVFXPool("RedRobin Muzzleflash", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/redrobin_muzzleflash_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/redrobin_muzzleflash_003", "NevernamedsItems/Resources/MiscVFX/GunVFX/redrobin_muzzleflash_004", "NevernamedsItems/Resources/MiscVFX/GunVFX/redrobin_muzzleflash_005", }, 13, //FPS new IntVector2(9, 16), //Dimensions tk2dBaseSprite.Anchor.MiddleLeft, //Anchor false, //Uses a Z height off the ground 0, //The Z height, if used false, VFXAlignment.Fixed ); Projectile projectile = gun.DefaultModule.projectiles[0].gameObject.InstantiateAndFakeprefab().GetComponent <Projectile>(); gun.DefaultModule.projectiles[0] = projectile; projectile.baseData.damage = 5f; projectile.SetProjectileSpriteRight("redrobin_projectile", 12, 6, true, tk2dBaseSprite.Anchor.MiddleCenter, 12, 6); projectile.hitEffects.overrideMidairDeathVFX = EasyVFXDatabase.RedLaserCircleVFX; projectile.hitEffects.alwaysUseMidair = true; gun.DefaultModule.ammoType = GameUIAmmoType.AmmoType.SMALL_BLASTER; gun.quality = PickupObject.ItemQuality.D; ETGMod.Databases.Items.Add(gun, null, "ANY"); ID = gun.PickupObjectId; }
public static void Add() { Gun gun = ETGMod.Databases.Items.NewGun("Boltcaster", "nnboltcaster"); Game.Items.Rename("outdated_gun_mods:boltcaster", "nn:boltcaster"); var behav = gun.gameObject.AddComponent <Boltcaster>(); gun.SetShortDescription("It Belongs In A Museum"); gun.SetLongDescription("An old relic of one of the many rebel groups that have risen up against- and inevitably broken against the unshakeable Hegemony of Man." + "\n\nThe magnetic mass driver orbs give it the appearance of a crossbow."); behav.preventNormalFireAudio = true; behav.overrideNormalFireAudio = "Play_WPN_plasmarifle_shot_01"; gun.SetupSprite(null, "nnboltcaster_idle_001", 8); gun.SetAnimationFPS(gun.shootAnimation, 16); gun.SetAnimationFPS(gun.reloadAnimation, 0); gun.muzzleFlashEffects = VFXToolbox.CreateVFXPool("Boltcaster Muzzleflash", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/Boltcaster/boltcaster_muzzleflash_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/Boltcaster/boltcaster_muzzleflash_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/Boltcaster/boltcaster_muzzleflash_003", }, 10, //FPS new IntVector2(49, 26), //Dimensions tk2dBaseSprite.Anchor.MiddleLeft, //Anchor false, //Uses a Z height off the ground 0, //The Z height, if used false, VFXAlignment.Fixed ); gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(56) as Gun, 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.5f; gun.DefaultModule.numberOfShotsInClip = 1; gun.DefaultModule.angleVariance = 0f; gun.SetBaseMaxAmmo(100); gun.gunClass = GunClass.RIFLE; gun.barrelOffset.transform.localPosition = new Vector3(27f / 16f, 7f / 16f, 0f); //BULLET STATS Projectile projectile = gun.DefaultModule.projectiles[0].gameObject.InstantiateAndFakeprefab().GetComponent <Projectile>(); gun.DefaultModule.projectiles[0] = projectile; projectile.baseData.damage = 30f; projectile.baseData.speed *= 3f; projectile.baseData.range *= 3f; projectile.SetProjectileSpriteRight("boltcaster_proj", 23, 3, true, tk2dBaseSprite.Anchor.MiddleCenter, 13, 3); projectile.hitEffects = (PickupObjectDatabase.GetById(543) as Gun).DefaultModule.projectiles[0].hitEffects; projectile.pierceMinorBreakables = true; projectile.baseData.force *= 4f; gun.quality = PickupObject.ItemQuality.B; ETGMod.Databases.Items.Add(gun, null, "ANY"); gun.SetupUnlockOnCustomFlag(CustomDungeonFlags.BOSSRUSH_HUNTER, true); }
public static void Add() { Gun gun = ETGMod.Databases.Items.NewGun("Rebar Gun", "rebargun"); Game.Items.Rename("outdated_gun_mods:rebar_gun", "nn:rebar_gun"); gun.gameObject.AddComponent <RebarGun>(); gun.SetShortDescription("Raising the Bar"); gun.SetLongDescription("An incredibly satisfying piece of industrial machinery, designed specifically for killing adorable wildlife."); gun.SetupSprite(null, "rebargun_idle_001", 8); gun.gunSwitchGroup = (PickupObjectDatabase.GetById(806) as Gun).gunSwitchGroup; gun.SetAnimationFPS(gun.shootAnimation, 16); gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(56) as Gun, true, false); //VFX List <string> RebarGunImpactVFX = new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/RebarGunImpactVFX2_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/RebarGunImpactVFX2_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/RebarGunImpactVFX2_003", "NevernamedsItems/Resources/MiscVFX/GunVFX/RebarGunImpactVFX2_004", "NevernamedsItems/Resources/MiscVFX/GunVFX/RebarGunImpactVFX2_005", "NevernamedsItems/Resources/MiscVFX/GunVFX/RebarGunImpactVFX2_006", }; VFXPool VFXOBj = VFXToolbox.CreateVFXPool("Rebar Gun Impact VFX", RebarGunImpactVFX, 16, new IntVector2(11, 8), tk2dBaseSprite.Anchor.MiddleLeft, false, 0, true); //GUN STATS gun.muzzleFlashEffects = (PickupObjectDatabase.GetById(12) as Gun).muzzleFlashEffects; gun.DefaultModule.ammoCost = 1; gun.DefaultModule.shootStyle = ProjectileModule.ShootStyle.SemiAutomatic; gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random; gun.reloadTime = 1.21f; gun.DefaultModule.cooldownTime = 0.3f; gun.DefaultModule.numberOfShotsInClip = 3; gun.barrelOffset.transform.localPosition = new Vector3(1.5f, 0.87f, 0f); gun.SetBaseMaxAmmo(170); 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.transform.parent = gun.barrelOffset; projectile.SetProjectileSpriteRight("rebargun_proj", 20, 2, false, tk2dBaseSprite.Anchor.MiddleCenter, 6, 2); projectile.baseData.speed *= 4f; projectile.baseData.damage = 20f; projectile.baseData.force *= 5; projectile.hitEffects.deathTileMapHorizontal = VFXOBj; projectile.hitEffects.tileMapHorizontal = VFXOBj; //Custom Clip VFX gun.DefaultModule.ammoType = GameUIAmmoType.AmmoType.CUSTOM; gun.DefaultModule.customAmmoType = CustomClipAmmoTypeToolbox.AddCustomAmmoType("Rebar Shells", "NevernamedsItems/Resources/CustomGunAmmoTypes/rebargun_clipfull", "NevernamedsItems/Resources/CustomGunAmmoTypes/rebargun_clipempty"); gun.quality = PickupObject.ItemQuality.B; ETGMod.Databases.Items.Add(gun, null, "ANY"); //gun.SetupUnlockOnCustomFlag(CustomDungeonFlags.PURCHASED_BLASMASTER, true); RebarGunID = gun.PickupObjectId; }
public static void Add() { Gun gun = ETGMod.Databases.Items.NewGun("Blowgun", "blowgun"); Game.Items.Rename("outdated_gun_mods:blowgun", "nn:blowgun"); var behav = gun.gameObject.AddComponent <Blowgun>(); behav.preventNormalReloadAudio = true; gun.SetShortDescription("Huff and Puff"); gun.SetLongDescription("Relies on lung strength to propel poisonous darts." + "\n\nRobots may need to hold it up to a cooling vent or something."); gun.SetupSprite(null, "blowgun_idle_001", 8); gun.SetAnimationFPS(gun.shootAnimation, 15); gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(56) as Gun, true, false); gun.gunSwitchGroup = (PickupObjectDatabase.GetById(150) as Gun).gunSwitchGroup; //GUN STATS gun.muzzleFlashEffects = (PickupObjectDatabase.GetById(26) as Gun).muzzleFlashEffects; gun.DefaultModule.ammoCost = 1; gun.DefaultModule.shootStyle = ProjectileModule.ShootStyle.SemiAutomatic; gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random; gun.reloadTime = 0.5f; gun.DefaultModule.cooldownTime = 0.2f; gun.DefaultModule.numberOfShotsInClip = 1; gun.barrelOffset.transform.localPosition = new Vector3(1.12f, 0.18f, 0f); gun.SetBaseMaxAmmo(200); gun.gunClass = GunClass.POISON; //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.transform.parent = gun.barrelOffset; projectile.baseData.speed *= 2f; projectile.damageTypes |= CoreDamageTypes.Poison; ExtremelySimplePoisonBulletBehaviour poisoning = projectile.gameObject.AddComponent <ExtremelySimplePoisonBulletBehaviour>(); poisoning.procChance = 1; poisoning.useSpecialTint = false; projectile.SetProjectileSpriteRight("blowgun_projectile", 16, 7, false, tk2dBaseSprite.Anchor.MiddleCenter, 15, 8); VFXPool HorizVFXOBj = VFXToolbox.CreateVFXPool("Blowgun Tilemap VFX Horiz", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/PoisonDarts/poisondart_impacthoriz_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/PoisonDarts/poisondart_impacthoriz_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/PoisonDarts/poisondart_impacthoriz_003", "NevernamedsItems/Resources/MiscVFX/GunVFX/PoisonDarts/poisondart_impacthoriz_004", }, 10, new IntVector2(12, 11), tk2dBaseSprite.Anchor.MiddleLeft, false, 0, true); projectile.hitEffects.deathTileMapHorizontal = HorizVFXOBj; projectile.hitEffects.tileMapHorizontal = HorizVFXOBj; projectile.hitEffects.deathTileMapVertical = HorizVFXOBj; projectile.hitEffects.tileMapVertical = HorizVFXOBj; gun.DefaultModule.ammoType = GameUIAmmoType.AmmoType.CUSTOM; gun.DefaultModule.customAmmoType = CustomClipAmmoTypeToolbox.AddCustomAmmoType("Blowgun Darts", "NevernamedsItems/Resources/CustomGunAmmoTypes/blowgun_clipfull", "NevernamedsItems/Resources/CustomGunAmmoTypes/blowgun_clipempty"); gun.quality = PickupObject.ItemQuality.D; gun.encounterTrackable.EncounterGuid = "this is the Blowgun"; ETGMod.Databases.Items.Add(gun, null, "ANY"); foreach (tk2dSpriteAnimationClip clip in AdjustGunPosition.GetGunAnimationClips(gun)) { foreach (tk2dSpriteAnimationFrame frame in clip.frames) { frame.spriteCollection.spriteDefinitions[frame.spriteId].ApplyOffset(new Vector2(0, 0f)); } } BlowgunID = gun.PickupObjectId; }
public static void Add() { Gun gun = ETGMod.Databases.Items.NewGun("Stick Gun", "stickgun"); Game.Items.Rename("outdated_gun_mods:stick_gun", "nn:stick_gun"); var behav = gun.gameObject.AddComponent <StickGun>(); behav.preventNormalReloadAudio = true; behav.preventNormalFireAudio = true; behav.overrideNormalFireAudio = "Play_PencilScratch"; gun.SetShortDescription("Scribble"); gun.SetLongDescription("Carried by a brave stickman as he ventured through the pages of a bored child's homework." + "\n\nHe may be long erased, but his legacy lives on."); gun.SetupSprite(null, "stickgun_idle_001", 8); gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(56) as Gun, true, false); //GUN STATS gun.DefaultModule.ammoCost = 1; gun.DefaultModule.shootStyle = ProjectileModule.ShootStyle.SemiAutomatic; gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random; gun.reloadTime = 0.7f; gun.DefaultModule.cooldownTime = 0.1f; gun.DefaultModule.numberOfShotsInClip = 3; gun.barrelOffset.transform.localPosition = new Vector3(0.93f, 0.68f, 0f); gun.SetBaseMaxAmmo(222); gun.ammo = 222; gun.gunClass = GunClass.SHITTY; gun.gunHandedness = GunHandedness.OneHanded; //VFX gun.muzzleFlashEffects = VFXToolbox.CreateVFXPool("Stick Gun Muzzleflash", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_muzzleflash_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_muzzleflash_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_muzzleflash_003", }, 6, //FPS new IntVector2(12, 13), //Dimensions tk2dBaseSprite.Anchor.MiddleLeft, //Anchor false, //Uses a Z height off the ground 0, //The Z height, if used false, VFXAlignment.Fixed ); //BULLET STATS Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(gun.DefaultModule.projectiles[0]); projectile.gameObject.SetActive(false); FakePrefab.MarkAsFakePrefab(projectile.gameObject); UnityEngine.Object.DontDestroyOnLoad(projectile); projectile.baseData.damage = 6f; projectile.baseData.speed *= 1.5f; PierceProjModifier pierce = projectile.gameObject.AddComponent <PierceProjModifier>(); pierce.penetration = 1; projectile.SetProjectileSpriteRight("stickgun_projectile", 12, 2, false, tk2dBaseSprite.Anchor.MiddleCenter, 12, 2); gun.DefaultModule.projectiles[0] = projectile; //Projectile VFX projectile.hitEffects.overrideMidairDeathVFX = VFXToolbox.CreateVFX("Stick Gun MidairDeath", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_impact_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_impact_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_impact_003", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_impact_004", }, 6, //FPS new IntVector2(16, 15), //Dimensions tk2dBaseSprite.Anchor.MiddleCenter, //Anchor false, //Uses a Z height off the ground 0 //The Z height, if used ); projectile.hitEffects.tileMapHorizontal = VFXToolbox.CreateVFXPool("Stick Gun TileMapHoriz", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_tilemaphoriz_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_tilemaphoriz_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_tilemaphoriz_003" }, 6, //FPS new IntVector2(12, 21), //Dimensions tk2dBaseSprite.Anchor.MiddleLeft, //Anchor false, //Uses a Z height off the ground 0 //The Z height, if used ); projectile.hitEffects.tileMapVertical = VFXToolbox.CreateVFXPool("Stick Gun TileMapVert", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_tilemapvert_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_tilemapvert_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_tilemapvert_003" }, 6, //FPS new IntVector2(18, 21), //Dimensions tk2dBaseSprite.Anchor.MiddleLeft, //Anchor false, //Uses a Z height off the ground 0 //The Z height, if used ); projectile.hitEffects.enemy = VFXToolbox.CreateVFXPool("Stick Gun EnemyImpact", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_enemyimpact_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_enemyimpact_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_enemyimpact_003", "NevernamedsItems/Resources/MiscVFX/GunVFX/StickGun/stickgun_enemyimpact_004" }, 6, //FPS new IntVector2(15, 16), //Dimensions tk2dBaseSprite.Anchor.MiddleCenter, //Anchor false, //Uses a Z height off the ground 0, //The Z height, if used false, VFXAlignment.Fixed ); gun.DefaultModule.ammoType = GameUIAmmoType.AmmoType.CUSTOM; gun.DefaultModule.customAmmoType = CustomClipAmmoTypeToolbox.AddCustomAmmoType("StickGun Bullets", "NevernamedsItems/Resources/CustomGunAmmoTypes/stickgun_clipfull", "NevernamedsItems/Resources/CustomGunAmmoTypes/stickgun_clipempty"); gun.quality = PickupObject.ItemQuality.D; ETGMod.Databases.Items.Add(gun, null, "ANY"); StickGunID = gun.PickupObjectId; }
public static void Add() { Gun gun = ETGMod.Databases.Items.NewGun("Square Peg", "squarepeg"); Game.Items.Rename("outdated_gun_mods:square_peg", "nn:square_peg"); gun.gameObject.AddComponent <SquarePeg>(); gun.SetShortDescription("In A Round Chamber"); gun.SetLongDescription("[] A perfect example of the art of cubism."); gun.SetupSprite(null, "squarepeg_idle_001", 8); gun.SetAnimationFPS(gun.shootAnimation, 15); gun.AddProjectileModuleFrom(PickupObjectDatabase.GetById(86) as Gun, true, false); gun.gunSwitchGroup = (PickupObjectDatabase.GetById(475) as Gun).gunSwitchGroup; //GUN STATS gun.DefaultModule.ammoCost = 1; gun.DefaultModule.shootStyle = ProjectileModule.ShootStyle.SemiAutomatic; gun.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random; gun.reloadTime = 1f; gun.DefaultModule.cooldownTime = 0.12f; gun.DefaultModule.numberOfShotsInClip = 6; gun.barrelOffset.transform.localPosition = new Vector3((26f / 16f), (14f / 16f), 0f); gun.SetBaseMaxAmmo(150); gun.gunClass = GunClass.PISTOL; gun.muzzleFlashEffects = VFXToolbox.CreateVFXPool("SquarePeg Muzzleflash", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_muzzleflash_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_muzzleflash_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_muzzleflash_003", "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_muzzleflash_004", "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_muzzleflash_005", }, 12, //FPS new IntVector2(23, 14), //Dimensions tk2dBaseSprite.Anchor.MiddleLeft, //Anchor false, //Uses a Z height off the ground 0, //The Z height, if used false, VFXAlignment.Fixed ); //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.transform.parent = gun.barrelOffset; projectile.baseData.damage = 8f; projectile.hitEffects.overrideMidairDeathVFX = VFXToolbox.CreateVFX("SquarePeg MidairDeath", new List <string>() { "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_impact_001", "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_impact_002", "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_impact_003", "NevernamedsItems/Resources/MiscVFX/GunVFX/SquarePeg/squarepeg_impact_004", }, 12, //FPS new IntVector2(14, 14), //Dimensions tk2dBaseSprite.Anchor.MiddleCenter, //Anchor false, //Uses a Z height off the ground 0 //The Z height, if used ); projectile.hitEffects.alwaysUseMidair = true; projectile.SetProjectileSpriteRight("squarepeg_proj", 8, 8, false, tk2dBaseSprite.Anchor.MiddleCenter, 8, 8); gun.DefaultModule.ammoType = GameUIAmmoType.AmmoType.CUSTOM; gun.DefaultModule.customAmmoType = CustomClipAmmoTypeToolbox.AddCustomAmmoType("SquarePegSquares", "NevernamedsItems/Resources/CustomGunAmmoTypes/squarepeg_clipfull", "NevernamedsItems/Resources/CustomGunAmmoTypes/squarepeg_clipempty"); gun.quality = PickupObject.ItemQuality.C; ETGMod.Databases.Items.Add(gun, null, "ANY"); ID = gun.PickupObjectId; }