public static void Init() { string itemName = "Soul In A Jar"; string resourceName = "BunnyMod/Resources/soulinajar"; GameObject obj = new GameObject(itemName); SoulInAJar lockpicker = obj.AddComponent <SoulInAJar>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Little Fella'"; string longDesc = "A tiny little gunslinger soul in a jar. Fly my pretty!"; lockpicker.SetupItem(shortDesc, longDesc, "bny"); lockpicker.SetCooldownType(ItemBuilder.CooldownType.Damage, 250f); lockpicker.consumable = false; lockpicker.quality = PickupObject.ItemQuality.D; lockpicker.AddToSubShop(ItemBuilder.ShopType.Cursula, 1f); lockpicker.AddToSubShop(ItemBuilder.ShopType.Goopton, 1f); List <string> mandatoryConsoleIDs1 = new List <string> { "bny:soul_in_a_jar" }; List <string> optionalConsoleID1s = new List <string> { "shotgun_full_of_hate", "ghost_bullets", "skull_spitter", "bullet_idol", "clear_guon_stone", "gun_soul", "sixth_chamber", "cursed_bullets" }; CustomSynergies.Add("Go! Go! Go!", mandatoryConsoleIDs1, optionalConsoleID1s, true); }
public static void Init() { string itemName = "Prismatic Guon Stone"; //The name of the item string resourceName = "BleakMod/Resources/prismatic_guon_stone"; //Refers to an embedded png in the project. Make sure to embed your resources! GameObject obj = new GameObject(); var item = obj.AddComponent <PrismaticGuonStone>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "First Prism"; string longDesc = "Press E or your interact button in combat to shoot a colorful, devastating laser from this guon stone.\n\nA legendary guon stone which is said to hold great power. It is able to refract light into a powerful laser."; ItemBuilder.SetupItem(item, shortDesc, longDesc, "bb"); item.quality = PickupObject.ItemQuality.S; BuildPrefab(); BuildSynergyPrefab(); item.OrbitalPrefab = orbitalPrefab; item.HasAdvancedUpgradeSynergy = true; //This allows you to have a synergy that upgrades the guon to a new prefab, like the 'Greener Guon Stone' or the 'Redder Guon Stone' etc item.AdvancedUpgradeSynergy = "Prismatismer Guon Stone"; //Name of the synergy to check for item.AdvancedUpgradeOrbitalPrefab = PrismaticGuonStone.upgradeOrbitalPrefab.gameObject; CustomSynergies.Add("Prismatismer Guon Stone", new List <string> { "bb:prismatic_guon_stone" }, new List <string> { "+1_bullets", "amulet_of_the_pit_lord", "bullet_time" }, true); }
public static void Init() { string itemName = "Personal Guard"; string resourceName = "BunnyMod/Resources/personalguard"; GameObject obj = new GameObject(itemName); var item = obj.AddComponent <PersonalGuard>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Reformed Knights"; string longDesc = "An unlikely union between gungeoneer and gun knights.\n\n Use to call in extra support. Watch for friendly fire."; ItemBuilder.SetupItem(item, shortDesc, longDesc, "bny"); ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Damage, 850f); item.consumable = false; item.quality = PickupObject.ItemQuality.C; item.AddToSubShop(ItemBuilder.ShopType.Cursula, 1f); List <string> mandatoryConsoleIDs1 = new List <string> { "bny:personal_guard" }; List <string> optionalConsoleID1s = new List <string> { "shotgun_full_of_hate", "fightsabre", "skull_spitter", "vorpal_gun", "ghost_bullets", "shadow_bullets", "vorpal_bullets" }; CustomSynergies.Add("Protector From The Curtain", mandatoryConsoleIDs1, optionalConsoleID1s, true); }
public static void Init() { string itemName = "Ibzans Lighter"; string resourceName = "BunnyMod/Resources/ibzanslighter"; GameObject obj = new GameObject(itemName); var item = obj.AddComponent <FreezeLighter>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Ashes to Ashes, to Ashes"; string longDesc = "The lighter of Ibzan, the first employed by the Flames. The remainder of his life was cold and miserable, lacking companionship the Flames did not grant."; ItemBuilder.SetupItem(item, shortDesc, longDesc, "bny"); ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Damage, 650); item.consumable = false; item.quality = PickupObject.ItemQuality.B; List <string> mandatoryConsoleIDs = new List <string> { "bny:ibzans_lighter" }; List <string> optionalConsoleIDs = new List <string> { "hot_lead", "copper_ammolet", "flame_hand", "dragunfire", "pitchfork" }; CustomSynergies.Add("The Flames' Embrace", mandatoryConsoleIDs, optionalConsoleIDs, true); }
public static void Init() { string itemName = "Broken Core"; string resourceName = "BunnyMod/Resources/brokencore"; GameObject obj = new GameObject(itemName); OnPlayerItemUsedItem brokenCore = obj.AddComponent <OnPlayerItemUsedItem>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Old Bio-Machinery"; string longDesc = "An old core of a cyborg who died in the halls of the Gungeon, forgetting that there are no power outlets here.\n\n" + "Maybe if some power runs through it, it could do something."; brokenCore.SetupItem(shortDesc, longDesc, "bny"); brokenCore.AddToSubShop(ItemBuilder.ShopType.Trorc, 1f); brokenCore.AddPassiveStatModifier(PlayerStats.StatType.MovementSpeed, 1.05f, StatModifier.ModifyMethod.MULTIPLICATIVE); brokenCore.quality = PickupObject.ItemQuality.D; List <string> mandatoryConsoleIDs = new List <string> { "bny:broken_core" }; List <string> optionalConsoleIDs = new List <string> { "shock_rounds", "battery_bullets", "shock_rifle", "thunderclap" }; CustomSynergies.Add("Overload", mandatoryConsoleIDs, optionalConsoleIDs, true); }
//public static PlayerOrbital upgradeOrbitalPrefab; public static void Init() { string itemName = "Goon Stone"; //The name of the item string resourceName = "BleakMod/Resources/goon_stone"; //Refers to an embedded png in the project. Make sure to embed your resources! GameObject obj = new GameObject(); var item = obj.AddComponent <GoonStone>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Get Down, Mr. President!"; string longDesc = "A legendary guon stone which is said to hold great power. yeah that's about it"; ItemBuilder.SetupItem(item, shortDesc, longDesc, "bb"); item.quality = PickupObject.ItemQuality.A; BuildPrefab(); //BuildSynergyPrefab(); item.OrbitalPrefab = orbitalPrefab; item.HasAdvancedUpgradeSynergy = true; //This allows you to have a synergy that upgrades the guon to a new prefab, like the 'Greener Guon Stone' or the 'Redder Guon Stone' etc item.AdvancedUpgradeSynergy = "Gooner Guon Stone"; //Name of the synergy to check for //item.AdvancedUpgradeOrbitalPrefab = GoonStone.upgradeOrbitalPrefab.gameObject; CustomSynergies.Add("Gooner Guon Stone", new List <string> { "bb:goon_stone" }, new List <string> { "+1_bullets", "amulet_of_the_pit_lord", "bullet_time" }, true); }
//Call this method from the Start() method of your ETGModule extension public static void Register() { //The name of the item string itemName = "Cheese Ammolet"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it string resourceName = "BleakMod/Resources/cheese_ammolet"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a PassiveItem component to the object var item = obj.AddComponent <CheeseAmmolet>(); //Adds a sprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Blanks Encheese"; string longDesc = "Blanks have a chance to encheese enemies.\n\nMade from a hunk of cheese found deep within the Resourceful Rat's lair, this ammolet will make for a quick way to neutralize enemies - as well as a tasty snack."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //Do this after ItemBuilder.AddSpriteToObject! ItemBuilder.SetupItem(item, shortDesc, longDesc, "bb"); item.quality = PickupObject.ItemQuality.B; item.AddToSubShop(ItemBuilder.ShopType.OldRed, 1f); CustomSynergies.Add("Dangerously Cheesy", new List <string> { "bb:cheese_ammolet" }, new List <string> { "elimentaler" }, true); }
public static void Init() { string itemName = "Cool Robes"; string resourceName = "BunnyMod/Resources/coolrobes"; GameObject obj = new GameObject(itemName); var item = obj.AddComponent <Coolrobes>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Worn by cool Wardens"; string longDesc = "A cool robe only worn by the coolest of people. Originally worn by a warden of a prison containing a god, these robes were passed down to the coolest in the family.\n\n" + "You WISH you were as cool as that. Hell, they're so cool, you don't even wanna take them off!"; ItemBuilder.SetupItem(item, shortDesc, longDesc, "bny"); ItemBuilder.AddPassiveStatModifier(item, PlayerStats.StatType.Coolness, 3f, StatModifier.ModifyMethod.ADDITIVE); item.quality = PickupObject.ItemQuality.B; item.AddToSubShop(ItemBuilder.ShopType.Cursula, 1f); Coolrobes.CoolRobesID = item.PickupObjectId; List <string> mandatoryConsoleIDs2 = new List <string> { "bny:cool_robes", "bny:effigy_of_chaosgod" }; CustomSynergies.Add("Relics Of The Past", mandatoryConsoleIDs2, null, true); }
public static void Init() { string itemName = "Counterproductive Chamber"; string resourceName = "BunnyMod/Resources/counterproductivechamber"; GameObject obj = new GameObject(itemName); CounterChamber counterChamber = obj.AddComponent <CounterChamber>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "It just works"; string longDesc = "A lazy gungeoneer was once met with the dilemma of having to reload their chambers fully.\n\n" + "Their soultion?\n\n" + "'Half fill 'em clips!!\n\n" + "Even after their death, the eccentricity of the supposed genius lives on."; counterChamber.SetupItem(shortDesc, longDesc, "bny"); counterChamber.AddPassiveStatModifier(PlayerStats.StatType.ReloadSpeed, 0.5f, StatModifier.ModifyMethod.MULTIPLICATIVE); counterChamber.AddPassiveStatModifier(PlayerStats.StatType.RateOfFire, .1f, StatModifier.ModifyMethod.ADDITIVE); counterChamber.AddPassiveStatModifier(PlayerStats.StatType.ProjectileSpeed, .2f, StatModifier.ModifyMethod.ADDITIVE); counterChamber.AddPassiveStatModifier(PlayerStats.StatType.AdditionalClipCapacityMultiplier, 0.5f, StatModifier.ModifyMethod.MULTIPLICATIVE); counterChamber.quality = PickupObject.ItemQuality.B; counterChamber.AddToSubShop(ItemBuilder.ShopType.Trorc, 1f); List <string> mandatoryConsoleIDs14 = new List <string> { "bny:counterproductive_chamber" }; List <string> optionalConsoleIDs = new List <string> { "oiled_cylinder", "sixth_chamber", "yellow_chamber" }; CustomSynergies.Add("(6/2)+6 = Chamber has 9 Holes???", mandatoryConsoleIDs14, optionalConsoleIDs, true); }
public static void Init() { string itemName = "Resurrection Bullets"; string resourceName = "BunnyMod/Resources/resurrectionbullets"; GameObject obj = new GameObject(itemName); var item = obj.AddComponent <ResurrectionBullets>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Get living again, maggots!"; string longDesc = "Bullets enchanted with the ability to change a gundead corpse so fast that they come back to life.\n\n" + "These bullets were originally used to find gundead suffering from Resurrectile Dysfunction, a lead-based disease which prevented gundead from coming back to life. Surprisingly common."; ItemBuilder.SetupItem(item, shortDesc, longDesc, "bny"); ItemBuilder.AddPassiveStatModifier(item, PlayerStats.StatType.RateOfFire, .1f, StatModifier.ModifyMethod.ADDITIVE); item.quality = PickupObject.ItemQuality.C; item.AddToSubShop(ItemBuilder.ShopType.Cursula, 1f); List <string> mandatoryConsoleIDs1 = new List <string> { "bny:resurrection_bullets", "zombie_bullets" }; CustomSynergies.Add("Revitalization", mandatoryConsoleIDs1, null, true); List <string> mandatoryConsoleIDs2 = new List <string> { "bny:resurrection_bullets", "ghost_bullets" }; CustomSynergies.Add("Souls", mandatoryConsoleIDs2, null, true); }
public static void Init() { string itemName = "Micro Scope"; string resourceName = "BunnyMod/Resources/microscope"; GameObject obj = new GameObject(itemName); var item = obj.AddComponent <Microscope>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Laymans terms"; string longDesc = "An ineffective attachment made for the sole reason that it functions as a pun.\n\nAt least in the Gungeon it finds new life."; ItemBuilder.SetupItem(item, shortDesc, longDesc, "bny"); ItemBuilder.AddPassiveStatModifier(item, PlayerStats.StatType.Accuracy, .80f, StatModifier.ModifyMethod.MULTIPLICATIVE); ItemBuilder.AddPassiveStatModifier(item, PlayerStats.StatType.AdditionalShotPiercing, 1f, StatModifier.ModifyMethod.ADDITIVE); ItemBuilder.AddPassiveStatModifier(item, PlayerStats.StatType.ProjectileSpeed, .2f, StatModifier.ModifyMethod.ADDITIVE); item.quality = PickupObject.ItemQuality.D; List <string> mandatoryConsoleIDs1 = new List <string> { "bny:micro_scope", }; List <string> optionalConsoleID1s = new List <string> { "scope", "laser_sight", "sniper_rifle", "awp" }; CustomSynergies.Add("Macro Scope", mandatoryConsoleIDs1, optionalConsoleID1s, true); }
public static void Init() { string itemName = "Static Clips"; string resourceName = "BunnyMod/Resources/staticclips"; GameObject obj = new GameObject(itemName); StaticCharger staticCharger = obj.AddComponent <StaticCharger>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "OoOoOoh that tickles!"; string longDesc = "An unusual pair of ammo clips that are designed to gather static energy created from reloading.\n\n" + "Despite how it may look like, a LOT of potential energy is wasted. Watch your ears."; staticCharger.SetupItem(shortDesc, longDesc, "bny"); staticCharger.AddPassiveStatModifier(PlayerStats.StatType.ReloadSpeed, .90f, StatModifier.ModifyMethod.MULTIPLICATIVE); staticCharger.quality = PickupObject.ItemQuality.B; staticCharger.AddToSubShop(ItemBuilder.ShopType.Trorc, 1f); List <string> mandatoryConsoleIDs1 = new List <string> { "bny:static_clips", }; List <string> optionalConsoleID1s = new List <string> { "shock_rounds", "battery_bullets", "shock_rifle", "thunderclap" }; CustomSynergies.Add("Like putting a fork in a socket!", mandatoryConsoleIDs1, optionalConsoleID1s, true); }
public static void Init() { string itemName = "The G.I.P"; string resourceName = "BunnyMod/Resources/gungeonmonetaryprogram.png"; GameObject obj = new GameObject(itemName); GungeonInvestment greandeParasite = obj.AddComponent <GungeonInvestment>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Invest, Adapt, Overcome"; string longDesc = "This quick and easy investment program makes sure that every floor your balance grows. Though some money may be skimmed off the top."; greandeParasite.SetupItem(shortDesc, longDesc, "bny"); greandeParasite.quality = PickupObject.ItemQuality.C; List <string> mandatoryConsoleIDs1 = new List <string> { "bny:the_g.i.p" }; List <string> optionalConsoleID1s = new List <string> { "gilded_hydra", "coin_crown", "gold_ammolet", "gilded_bullets", "gold_junk" }; CustomSynergies.Add("$$ Cash Money $$", mandatoryConsoleIDs1, optionalConsoleID1s, true); }
public static void Init() { string itemName = "Broken Lockpicker"; string resourceName = "BunnyMod/Resources/lockpickbot"; GameObject obj = new GameObject(itemName); BrokenLockpicker lockpicker = obj.AddComponent <BrokenLockpicker>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Tries its best"; string longDesc = "A lockpicking machine that in it's prime would fire out nanobot swarms to open locks nearly instantly.\n\nHowever due to incredible clumsiness, this machine is broken and fails to interpret what a lock is."; lockpicker.SetupItem(shortDesc, longDesc, "bny"); lockpicker.SetCooldownType(ItemBuilder.CooldownType.Damage, 1000f); lockpicker.consumable = false; lockpicker.quality = PickupObject.ItemQuality.B; lockpicker.AddToSubShop(ItemBuilder.ShopType.Flynt, 1f); List <string> mandatoryConsoleIDs = new List <string> { "bny:broken_lockpicker", }; List <string> optionalConsoleIDs = new List <string> { "akey47", "shelleton_key", "master_of_unlocking" }; CustomSynergies.Add("Not like you'll need it...", mandatoryConsoleIDs, optionalConsoleIDs, true); }
public static void Init() { string itemName = "Table Tech Bomb"; string resourceName = "BunnyMod/Resources/tabletechbomb.png"; GameObject obj = new GameObject(itemName); TableTechBomb minigunrounds = obj.AddComponent <TableTechBomb>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Reactive Flips"; string longDesc = "This ancient technique allows the user to create bombs by flipping tables.\n\n Chapter 8-1 of the Table Sutra. Those who imbue reaction into their flips shall project it onto the flipped."; minigunrounds.SetupItem(shortDesc, longDesc, "bny"); minigunrounds.AddToSubShop(ItemBuilder.ShopType.Trorc, 1f); minigunrounds.quality = PickupObject.ItemQuality.C; List <string> mandatoryConsoleIDs14 = new List <string> { "bny:table_tech_bomb" }; List <string> optionalConsoleIDs = new List <string> { "air_strike", "proximity_mine", "big_boy", "portable_turret", "blast_helmet", "hegemony_carbine", "hegemony_rifle", "rc_rocket" }; CustomSynergies.Add("Hidden Tech Landmine", mandatoryConsoleIDs14, optionalConsoleIDs, true); }
public override void Start() { ItemBuilder.Init(); CrossChamber.Init(); LichsBookItem.Init(); LichsGun.Init(); CustomSynergies.Add("Master of Gungeon", new List <string> { "spapi:lichs_gun", "spapi:lichs_book", "lichs_eye_bullets" }); CustomSynergies.Add("Baby Peacemaker", new List <string> { "spapi:cross_chamber", "magnum" }); Hook getNicknamehook = new Hook( typeof(StringTableManager).GetMethod("GetTalkingPlayerNick", BindingFlags.NonPublic | BindingFlags.Static), typeof(LichModule).GetMethod("GetTalkingPlayerNickHook") ); Hook getNamehook = new Hook( typeof(StringTableManager).GetMethod("GetTalkingPlayerName", BindingFlags.NonPublic | BindingFlags.Static), typeof(LichModule).GetMethod("GetTalkingPlayerNameHook") ); Hook getValueHook = new Hook( typeof(dfLanguageManager).GetMethod("GetValue", BindingFlags.Public | BindingFlags.Instance), typeof(LichModule).GetMethod("GetValueHook") ); ETGMod.StartGlobalCoroutine(this.DelayedStartCR()); }
public static void Init() { //The name of the item string itemName = "Nitroglycylinder"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it string resourceName = "NevernamedsItems/Resources/nitroglycylinder_icon"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a PassiveItem component to the object var item = obj.AddComponent <Nitroglycylinder>(); //Adds a tk2dSprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Reloader 'sploder"; string longDesc = "Explodes safely (for you at least) upon reloading." + "\n\nThis attatchment was favoured by a masochistic gungeoneer who liked the smell of burnt hair just a little too much. After his inevitable death, it was modified to not actually hurt it's bearer."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //Do this after ItemBuilder.AddSpriteToObject! ItemBuilder.SetupItem(item, shortDesc, longDesc, "nn"); //Adds the actual passive effect to the item //Set the rarity of the item item.quality = PickupObject.ItemQuality.D; item.AddToSubShop(ItemBuilder.ShopType.Trorc); List <string> mandatorySynergyItems = new List <string>() { "nn:nitroglycylinder" }; List <string> optionalSynergyItems = new List <string>() { "nn:nitro_bullets", "explosive_rounds" }; CustomSynergies.Add("Bomb Voyage!", mandatorySynergyItems, optionalSynergyItems); List <string> mandatorySynergyItems2 = new List <string>() { "nn:nitro_bullets" }; List <string> optionalSynergyItems2 = new List <string>() { "nn:nitroglycylinder", "explosive_rounds", }; CustomSynergies.Add("...Badda Boom!", mandatorySynergyItems2, optionalSynergyItems2); NitroglycylinderID = item.PickupObjectId; }
// Token: 0x060002CF RID: 719 RVA: 0x00019418 File Offset: 0x00017618 public static void DoInitialisation() { List <string> mandatoryConsoleIDs1 = new List <string> { "bny:chaos_chamber", "bny:chaos_revolver" }; CustomSynergies.Add("Reunion", mandatoryConsoleIDs1, null, true); }
// Token: 0x060002CF RID: 719 RVA: 0x00019418 File Offset: 0x00017618 public static void DoInitialisation() { List <string> mandatoryConsoleIDs1 = new List <string> { "bny:chaos_chamber", "bny:chaos_revolver", "bny:chaos_trigger", "bny:chaos_hammer" }; CustomSynergies.Add("Reunion", mandatoryConsoleIDs1, null, true); List <string> mandatoryConsoleIDs2 = new List <string> { "bny:death", "bny:taxes" }; CustomSynergies.Add("Death & Taxes", mandatoryConsoleIDs2, null, true); List <string> mandatoryConsoleIDs3 = new List <string> { "bny:gunthemimic", "gunther" }; CustomSynergies.Add("Imposter Syndrome", mandatoryConsoleIDs3, null, true); List <string> mandatoryConsoleIDs4 = new List <string> { "bny:mimikey47", "akey47" }; CustomSynergies.Add("One Locks, Other Unlocks", mandatoryConsoleIDs4, null, true); List <string> mandatoryConsoleIDs5 = new List <string> { "bny:casemimic", "casey" }; CustomSynergies.Add("Suspicion On #ff0000", mandatoryConsoleIDs5, null, true); List <string> mandatoryConsoleIDs6 = new List <string> { "bny:blasphemimic", "blasphemy" }; CustomSynergies.Add("Double-Edged Sword", mandatoryConsoleIDs6, null, true); List <string> mandatoryConsoleIDs7 = new List <string> { "bny:chambemimic_gun", "chamber_gun" }; CustomSynergies.Add("Russian Roulette", mandatoryConsoleIDs7, null, true); }
public static void Add() { Gun pocketpistol = ETGMod.Databases.Items.NewGun("Pocket Pistol", "pocketpistol"); Game.Items.Rename("outdated_gun_mods:pocket_pistol", "bny:pocket_pistol"); pocketpistol.gameObject.AddComponent <PocketPistol>(); GunExt.SetShortDescription(pocketpistol, "Happy to see me?"); GunExt.SetLongDescription(pocketpistol, "An incredibly small firearm. How do bullets even fit in there?"); GunExt.SetupSprite(pocketpistol, null, "pocketpistol_idle_001", 19); GunExt.SetAnimationFPS(pocketpistol, pocketpistol.shootAnimation, 15); GunExt.SetAnimationFPS(pocketpistol, pocketpistol.reloadAnimation, 7); GunExt.SetAnimationFPS(pocketpistol, pocketpistol.idleAnimation, 1); GunExt.AddProjectileModuleFrom(pocketpistol, "magnum", true, false); pocketpistol.gunSwitchGroup = (PickupObjectDatabase.GetById(79) as Gun).gunSwitchGroup; pocketpistol.DefaultModule.ammoCost = 1; pocketpistol.DefaultModule.shootStyle = ProjectileModule.ShootStyle.SemiAutomatic; pocketpistol.DefaultModule.sequenceStyle = ProjectileModule.ProjectileSequenceStyle.Random; pocketpistol.reloadTime = 0.9f; pocketpistol.barrelOffset.transform.localPosition = new Vector3(.5f, 0.25f, 0f); pocketpistol.DefaultModule.cooldownTime = .3f; pocketpistol.DefaultModule.numberOfShotsInClip = 6; pocketpistol.SetBaseMaxAmmo(327); pocketpistol.quality = PickupObject.ItemQuality.D; pocketpistol.DefaultModule.angleVariance = 4f; pocketpistol.AddPassiveStatModifier(PlayerStats.StatType.AmmoCapacityMultiplier, .1f, StatModifier.ModifyMethod.ADDITIVE); pocketpistol.encounterTrackable.EncounterGuid = "The Small Gun Hell Yeah Brother"; Projectile projectile = UnityEngine.Object.Instantiate <Projectile>(pocketpistol.DefaultModule.projectiles[0]); projectile.gameObject.SetActive(false); FakePrefab.MarkAsFakePrefab(projectile.gameObject); UnityEngine.Object.DontDestroyOnLoad(projectile); pocketpistol.DefaultModule.projectiles[0] = projectile; projectile.shouldRotate = true; projectile.baseData.damage = 7.5f; projectile.baseData.speed *= 1.5f; projectile.AdditionalScaleMultiplier = 0.7f; projectile.transform.parent = pocketpistol.barrelOffset; ETGMod.Databases.Items.Add(pocketpistol, null, "ANY"); List <string> mandatoryConsoleIDs1 = new List <string> { "bny:pocket_pistol" }; List <string> optionalConsoleID1s = new List <string> { "stout_bullets", "fat_bullets", "+1_bullets", "flak_bullets" }; CustomSynergies.Add("How do these even fit in?", mandatoryConsoleIDs1, optionalConsoleID1s, true); pocketpistol.AddToSubShop(ItemBuilder.ShopType.Trorc, 1f); }
public static void Init() { string name = "Guon-Geon"; string resourcePath = "BunnyMod/Resources/GuonGeon/guongeon.png"; GameObject gameObject = new GameObject(); GuonGeon boomGuon = gameObject.AddComponent<GuonGeon>(); ItemBuilder.AddSpriteToObject(name, resourcePath, gameObject); string shortDesc = "Enter The Guon-Geon"; string longDesc = "A miniature replica of the Gungeon in the form of a Guon Stone. Placing your ear onto the mouth part lets you hear gun-based rap."; boomGuon.SetupItem(shortDesc, longDesc, "bny"); boomGuon.quality = PickupObject.ItemQuality.S; boomGuon.AddToSubShop(ItemBuilder.ShopType.Trorc, 1f); GuonGeon.BuildPrefab(); boomGuon.OrbitalPrefab = GuonGeon.orbitalPrefab; boomGuon.Identifier = IounStoneOrbitalItem.IounStoneIdentifier.GENERIC; List<string> mandatoryConsoleIDs = new List<string> { "bny:guon-geon", }; List<string> optionalConsoleIDs = new List<string> { "tangler", "shotgun_full_of_hate", "cold_45", "grasschopper", "pea_shooter", "blooper", "bee_hive", "zorgun", "glacier", "the_judge", "plague_pistol", "gunbow", "ice_breaker", "dungeon_eagle", "gungeon_ant", "zilla_shotgun", "vertebraek47" }; CustomSynergies.Add("You made the cut!", mandatoryConsoleIDs, optionalConsoleIDs, true); List<string> mandatoryConsoleID1s = new List<string> { "bny:guon-geon", }; List<string> optionalConsoleID1s = new List<string> { "disintegrator", "demon_head", "unicorn_horn" }; CustomSynergies.Add("You didn't make the cut...", mandatoryConsoleID1s, optionalConsoleID1s, true); }
//Call this method from the Start() method of your ETGModule extension class public static void Init() { //The name of the item string itemName = "Heart Padlock"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it. string resourceName = "NevernamedsItems/Resources/heartpadlock_icon"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a ActiveItem component to the object var item = obj.AddComponent <HeartPadlock>(); //Adds a tk2dSprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Locked Life"; string longDesc = "Spend keys to heal." + "\n\nLocks such as these are commonly used by powerful Gunjurers to secure their souls to their bodies in case of catastrophic injury."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //"kts" here is the item pool. In the console you'd type kts:sweating_bullets ItemBuilder.SetupItem(item, shortDesc, longDesc, "nn"); //Set the cooldown type and duration of the cooldown ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Timed, 2); //Adds a passive modifier, like curse, coolness, damage, etc. to the item. Works for passives and actives. //Set some other fields item.consumable = false; item.quality = ItemQuality.D; item.AddToSubShop(ItemBuilder.ShopType.Flynt); List <string> mandatorySynergyItems = new List <string>() { "nn:heart_padlock", "heart_locket" }; CustomSynergies.Add("All Locked Up", mandatorySynergyItems); List <string> mandatorySynergyItems2 = new List <string>() { "nn:heart_padlock", "shelleton_key" }; CustomSynergies.Add("Key Death", mandatorySynergyItems2); HeartPadlockID = item.PickupObjectId; }
//Call this method from the Start() method of your ETGModule extension public static void Register() { //The name of the item string itemName = "Showoff Bullets"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it string resourceName = "BleakMod/Resources/showoff_bullets"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a PassiveItem component to the object var item = obj.AddComponent <ShowoffBullets>(); //Adds a sprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Look at me!"; string longDesc = "Adds multiple shot modifiers to your bullets, at the cost of a small amount of damage.\n\nThey say he's got it all. The teeth, the hair, the looks... but deep down he knows that he just isn't all that exciting."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //Do this after ItemBuilder.AddSpriteToObject! ItemBuilder.SetupItem(item, shortDesc, longDesc, "bb"); //Adds the actual passive effect to the item item.AddPassiveStatModifier(PlayerStats.StatType.AdditionalShotPiercing, 1f, StatModifier.ModifyMethod.ADDITIVE); item.AddPassiveStatModifier(PlayerStats.StatType.AdditionalShotBounces, 2f, StatModifier.ModifyMethod.ADDITIVE); item.AddPassiveStatModifier(PlayerStats.StatType.ProjectileSpeed, 0.5f, StatModifier.ModifyMethod.ADDITIVE); //Set the rarity of the item item.quality = PickupObject.ItemQuality.A; CustomSynergies.Add("Radical!", new List <string> { "bb:showoff_bullets" }, new List <string> { "rad_gun", "sunglasses", "bb:trick_shot" }, true); CustomSynergies.Add("Flashy", new List <string> { "bb:showoff_bullets" }, new List <string> { "camera" }, true); }
public static void Init() { //The name of the item string itemName = "Flame Chamber"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it string resourceName = "NevernamedsItems/Resources/flamechamber_icon"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a PassiveItem component to the object var item = obj.AddComponent <FlameChamber>(); //Adds a tk2dSprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Hotshot"; string longDesc = "Reloading on an empty clip ignites nearby enemies!." + "\n\nThis artefact seems strangely familiar to you, but you've never seen anything like it... yet."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //Do this after ItemBuilder.AddSpriteToObject! ItemBuilder.SetupItem(item, shortDesc, longDesc, "nn"); //Adds the actual passive effect to the item //Set the rarity of the item item.quality = PickupObject.ItemQuality.D; item.AddToSubShop(ItemBuilder.ShopType.Cursula); //LIST OF SYNERGIES // 'Burning With Passion' - Flamechamber + Charmed Bow, Charmed Horn, or Charming Rounds --> Item spawns charm creep instead. List <string> mandatorySynergyItems = new List <string>() { "nn:flame_chamber" }; List <string> optionalSynergyItems = new List <string>() { "charmed_bow", "charm_horn", "charming_rounds" }; CustomSynergies.Add("Burning With Passion", mandatorySynergyItems, optionalSynergyItems); ID = item.PickupObjectId; }
//Call this method from the Start() method of your ETGModule extension public static void Register() { //The name of the item string itemName = "Strawberry Jam"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it string resourceName = "BleakMod/Resources/strawberry_jam"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a PassiveItem component to the object var item = obj.AddComponent <StrawberryJam>(); //Adds a sprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Dread and butter"; string longDesc = "Jammed enemies have a high chance of being instantly charmed.\n\nStrangely, jammed enemies have a knack for the gooey, sweet substance known as jam." + " Maybe you can use it to your advantage and keep them in place..."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //Do this after ItemBuilder.AddSpriteToObject! ItemBuilder.SetupItem(item, shortDesc, longDesc, "bb"); //Adds the actual passive effect to the item item.AddPassiveStatModifier(PlayerStats.StatType.Curse, 1.5f, StatModifier.ModifyMethod.ADDITIVE); //Set the rarity of the item item.quality = PickupObject.ItemQuality.D; item.AddToSubShop(ItemBuilder.ShopType.Cursula, 1f); item.AddToSubShop(ItemBuilder.ShopType.Goopton, 1f); CustomSynergies.Add("Ooey Gooey", new List <string> { "bb:strawberry_jam" }, new List <string> { "shotga_cola", "shotgun_coffee", "double_vision", "potion_of_gun_friendship", "potion_of_lead_skin", "old_knights_flask", "orange" }, true); }
public static void Init() { //The name of the item string itemName = "Cyclone Boots"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it string resourceName = "NevernamedsItems/Resources/cycloneboots_icon"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a PassiveItem component to the object var item = obj.AddComponent <CycloneCylinder>(); //Adds a tk2dSprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Gusty Dodges"; string longDesc = "Dodge rolling releases a magical gust of wind that pushes all enemies around you back." + "\n\nThe magical wind is stored in the boots themselves, and it feels oddly tickly on your toes."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //Do this after ItemBuilder.AddSpriteToObject! ItemBuilder.SetupItem(item, shortDesc, longDesc, "nn"); //Adds the actual passive effect to the item //Set the rarity of the item item.quality = PickupObject.ItemQuality.D; //Synergy with the Balloon Gun --> Double Radius. //Synergy with Armour of Thorns --> Deal damage to all enemies pushed. dam = dodgerolldam * 3. List <string> mandatorySynergyItems = new List <string>() { "nn:cyclone_boots", "balloon_gun" }; CustomSynergies.Add("Let Loose", mandatorySynergyItems); List <string> mandatorySynergyItems2 = new List <string>() { "nn:cyclone_boots", "armor_of_thorns" }; CustomSynergies.Add("Scytheclone", mandatorySynergyItems2); }
//Call this method from the Start() method of your ETGModule extension class public static void Init() { //The name of the item string itemName = "Lucky Coin"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it. string resourceName = "NevernamedsItems/Resources/luckycoin_icon"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a ActiveItem component to the object var item = obj.AddComponent <LuckyCoin>(); //Adds a tk2dSprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Heads or Tails"; string longDesc = "50/50 change for a temporary stat bonus or a temporary stat penalty when used.\n\n" + "Legends tell of a time when coins such as this one were commonplace in the gungeon. They've since been exchanged for more...modern currency."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //"kts" here is the item pool. In the console you'd type kts:sweating_bullets ItemBuilder.SetupItem(item, shortDesc, longDesc, "nn"); //Set the cooldown type and duration of the cooldown ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Damage, 500); //Adds a passive modifier, like curse, coolness, damage, etc. to the item. Works for passives and actives. //Set some other fields item.consumable = false; item.quality = ItemQuality.C; item.AddToSubShop(ItemBuilder.ShopType.Cursula); List <string> mandatorySynergyItems = new List <string>() { "nn:lucky_coin", "seven_leaf_clover" }; CustomSynergies.Add("Even Luckier!", mandatorySynergyItems); LuckyCoinID = item.PickupObjectId; }
//Call this method from the Start() method of your ETGModule extension class public static void Init() { //The name of the item string itemName = "The Shellactery"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it. string resourceName = "NevernamedsItems/Resources/theshellactery_icon"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a ActiveItem component to the object var item = obj.AddComponent <TheShellactery>(); //Adds a tk2dSprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Firearm Immortality"; string longDesc = "Generates ammunition." + "\n\nThis ancient relic allows you to reach right through the Curtain and pluck ammo directly from the great beyond." + "\n\nTorn from the gut of an ancient Gungeoneer who was ripped back from the jaws of death, despite his best attempts..."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //"kts" here is the item pool. In the console you'd type kts:sweating_bullets ItemBuilder.SetupItem(item, shortDesc, longDesc, "nn"); //Set the cooldown type and duration of the cooldown ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Damage, 1600); ItemBuilder.AddPassiveStatModifier(item, PlayerStats.StatType.Curse, 2f, StatModifier.ModifyMethod.ADDITIVE); //Adds a passive modifier, like curse, coolness, damage, etc. to the item. Works for passives and actives. //Set some other fields item.consumable = false; item.AddToSubShop(ItemBuilder.ShopType.Cursula); item.quality = ItemQuality.S; //SYNERGY WITH BLACK HOLE GUN --> "Black Paradox" List <string> mandatorySynergyItems = new List <string>() { "nn:the_shellactery", "black_hole_gun" }; CustomSynergies.Add("Black Paradox", mandatorySynergyItems); }
public static void Init() { string itemName = "Jammed Guillotine"; string resourceName = "BunnyMod/Resources/jammedguillotine.png"; GameObject obj = new GameObject(itemName); JammedGuillotine glassSyringe = obj.AddComponent <JammedGuillotine>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "The Executioner"; string longDesc = "Those weakened in combat suffer consequences.\n\nAn ancient guillotine used by gundead to perform ritualistic executions. Though obsolete, the souls of those wronged by it still empower it to seek revenge."; ItemBuilder.SetupItem(glassSyringe, shortDesc, longDesc, "bny"); ItemBuilder.SetCooldownType(glassSyringe, ItemBuilder.CooldownType.PerRoom, 1); glassSyringe.AddPassiveStatModifier(PlayerStats.StatType.Curse, 2f, StatModifier.ModifyMethod.ADDITIVE); glassSyringe.consumable = false; glassSyringe.quality = PickupObject.ItemQuality.A; List <string> mandatoryConsoleIDs = new List <string> { "bny:jammed_guillotine" }; List <string> optionalConsoleIDs = new List <string> { "bny:guillotine_rounds", "gunslingers_ashes", "huntsman", "skull_spitter" }; CustomSynergies.Add("Judge, Jury and...", mandatoryConsoleIDs, optionalConsoleIDs, true); List <string> mandatoryConsole1IDs = new List <string> { "bny:jammed_guillotine" }; List <string> optionalConsole1IDs = new List <string> { "melted_rock", "pitchfork", "cursed_bullets", "melted_rock", "shotgun_full_of_hate" }; CustomSynergies.Add("Lost Humanity", mandatoryConsole1IDs, optionalConsole1IDs, true); }
//Call this method from the Start() method of your ETGModule extension public static void Register() { //The name of the item string itemName = "Trick Shot"; //Refers to an embedded png in the project. Make sure to embed your resources! Google it string resourceName = "BleakMod/Resources/trick_shot"; //Create new GameObject GameObject obj = new GameObject(itemName); //Add a PassiveItem component to the object var item = obj.AddComponent <TrickShot>(); //Adds a sprite component to the object and adds your texture to the item sprite collection ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); //Ammonomicon entry variables string shortDesc = "Total Mayhem"; string longDesc = "Adds 5 bounces and a bit of projectile speed to the player's shots. Decreases base damage slightly, but each bounce of a projectile increases its damage.\n\nThe elder brother of Bouncy Bullets. The story goes that Trick Shot left his hometown, put on some bling, and went to make a name for himself in the big city."; //Adds the item to the gungeon item list, the ammonomicon, the loot table, etc. //Do this after ItemBuilder.AddSpriteToObject! ItemBuilder.SetupItem(item, shortDesc, longDesc, "bb"); //Adds the actual passive effect to the item item.AddPassiveStatModifier(PlayerStats.StatType.Damage, 0.8f, StatModifier.ModifyMethod.MULTIPLICATIVE); item.AddPassiveStatModifier(PlayerStats.StatType.ProjectileSpeed, 1.33f, StatModifier.ModifyMethod.MULTIPLICATIVE); item.AddPassiveStatModifier(PlayerStats.StatType.RangeMultiplier, 5f, StatModifier.ModifyMethod.MULTIPLICATIVE); item.AddPassiveStatModifier(PlayerStats.StatType.AdditionalShotBounces, 5f); //Set the rarity of the item item.quality = PickupObject.ItemQuality.B; CustomSynergies.Add("Heart-Piercingly Cool", new List <string> { "bb:trick_shot" }, new List <string> { "rad_gun", "ice_cube", "ballot", "heart_of_ice" }, true); }