public static void Add() { OldShrineFactory shrineFactory = new OldShrineFactory { name = "Carto", modID = "omitb", spritePath = "NevernamedsItems/Resources/NPCSprites/Carto/carto_idle_001.png", //shadowSpritePath = "NevernamedsItems/Resources/NPCSprites/Carto/carto_shadow_001.png", room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/InvestmentShrineRoom.room").room, OnAccept = new Action <PlayerController, GameObject>(Carto.Accept), OnDecline = null, CanUse = new Func <PlayerController, GameObject, bool>(Carto.CanUse), talkPointOffset = new Vector3(2.31f, 1.0f, 0f), isToggle = false, isBreachShrine = false, interactableComponent = typeof(CartoInteractible) }; GameObject gameObject = shrineFactory.Build(); gameObject.AddAnimation("idle", "NevernamedsItems/Resources/NPCSprites/Carto/carto_idle", 12, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None); gameObject.AddAnimation("talk", "NevernamedsItems/Resources/NPCSprites/Carto/carto_talk", 12, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None); gameObject.AddAnimation("talk_start", "NevernamedsItems/Resources/NPCSprites/Carto/carto_talk", 12, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None); gameObject.AddAnimation("do_effect", "NevernamedsItems/Resources/NPCSprites/Carto/carto_talk", 12, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None); CartoInteractible component = gameObject.GetComponent <CartoInteractible>(); gameObject.gameObject.SetActive(false); FakePrefab.MarkAsFakePrefab(gameObject.gameObject); UnityEngine.Object.DontDestroyOnLoad(gameObject); CartoPrefab = gameObject; }
public static void InitGorbShrineRoom() { var data = RoomFactory.BuildFromResource("SpecialItemPack/Resources/Rooms/Room_GorbShrine.room"); PrototypeDungeonRoom protoroom = data.room; AddPlaceable(protoroom, new Vector2(-1f, 0f), new IntVector2(2, 2), SpecialItemModule.gorbShrine); RoomFactory.rooms.Add("spapi:gorbshrine_room", data); DungeonHandler.Register(data); }
public static void InitRainbowchestMimicRoom() { var data = RoomFactory.BuildFromResource("SpecialItemPack/Resources/Rooms/Secret_RainbowmimicRoom.room"); PrototypeDungeonRoom protoroom = data.room; AddPlaceable(protoroom, new Vector2(-2f, 0f), new IntVector2(3, 2), SpecialItemModule.rainbowMimicChest.gameObject); RoomFactory.rooms.Add("spapi:rainbowchestmimic_room", data); DungeonHandler.Register(data); }
public static void InitComfortableCarpetRoom() { var data = RoomFactory.BuildFromResource("SpecialItemPack/Resources/Rooms/Room_ComfortableCarpet.room"); PrototypeDungeonRoom protoroom = data.room; AddPlaceable(protoroom, new Vector2(-3f, 0f), new IntVector2(5, 5), SpecialItemModule.comfortableCarpet); RoomFactory.rooms.Add("spapi:comfortablecarpet_room", data); DungeonHandler.Register(data); }
public static void InitSkullShrineRoom() { var data = RoomFactory.BuildFromResource("SpecialItemPack/Resources/Rooms/Room_ReaperShrine.room"); PrototypeDungeonRoom protoroom = data.room; AddPlaceables(protoroom, new Vector2(-1f, 0f), new IntVector2(2, 2), new List <GameObject> { SpecialItemModule.sreaperShrine, SpecialItemModule.grimShrine }); RoomFactory.rooms.Add("spapi:skullshrine_room", data); DungeonHandler.Register(data); }
public static void InitGreenchamberPitRoom() { var data = RoomFactory.BuildFromResource("SpecialItemPack/Resources/Rooms/GreenChamberRoom_Part1.room"); PrototypeDungeonRoom protoroom = data.room; GameObject obj = new GameObject("UnlockGreenchamberObject"); obj.SetActive(false); FakePrefab.MarkAsFakePrefab(obj); UnityEngine.Object.DontDestroyOnLoad(obj); obj.AddComponent <UnlockGreenChamberBehaviour>(); AddPlaceable(protoroom, new Vector2(0f, 0f), new IntVector2(0, 0), obj); RoomFactory.rooms.Add("spapi:greenchamber_pit_room", data); DungeonHandler.Register(data); }
// Token: 0x0600015C RID: 348 RVA: 0x0000D0B0 File Offset: 0x0000B2B0 public static void Add() { ShrineFactory shrineFactory = new ShrineFactory { name = "Test Breach Shrine", modID = "bot", text = "hi", spritePath = "LostItems/sprites/hmm.png", room = RoomFactory.BuildFromResource("LostItems/rooms/breachHangout.room").room, acceptText = "hi", declineText = "bye", OnAccept = new Action <PlayerController, GameObject>(BreachRoomShrine.Accept), OnDecline = null, CanUse = new Func <PlayerController, GameObject, bool>(BreachRoomShrine.CanUse), offset = new Vector3(0, 0, 0), talkPointOffset = new Vector3(0.75f, 1.5f, 0f), isToggle = false, isBreachShrine = true }; shrineFactory.Build(); }
public static void Add() { OldShrineFactory aa = new OldShrineFactory { name = "InvestmentShrine", modID = "omitb", text = "A shrine to the darkest of demonic hordes- the board of investors. Giving up your money seems like a great investment opportunity.", spritePath = "NevernamedsItems/Resources/Shrines/investment.png", room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/InvestmentShrineRoom.room").room, RoomWeight = 1f, acceptText = "Invest!", declineText = "Leave", OnAccept = Accept, OnDecline = null, CanUse = CanUse, offset = new Vector3(-1, -1, 0), talkPointOffset = new Vector3(0, 3, 0), isToggle = false, isBreachShrine = false, }; aa.Build(); spriteId = SpriteBuilder.AddSpriteToCollection(spriteDefinition, ShrineFactory.ShrineIconCollection); }
// Token: 0x0600015C RID: 348 RVA: 0x0000D0B0 File Offset: 0x0000B2B0 public static void Add() { ShrineFactory shrineFactory = new ShrineFactory { name = "Proto Chest", modID = "bot_nt", text = "Store A weapon", spritePath = "LostItems/NuclearThrone/NuclearThroneSprite/chest/proto_chest.png", room = RoomFactory.BuildFromResource("LostItems/NuclearThrone/NuclearThroneRooms/proto_chest_room.room").room, acceptText = "Store Current Gun", declineText = "Close Chest", OnAccept = new Action <PlayerController, GameObject>(ProtoChest.Accept), OnDecline = null, CanUse = new Func <PlayerController, GameObject, bool>(ProtoChest.CanUse), offset = new Vector3(-1f, 0f, 0), //offset = new Vector3(189.3f, 13.7f, 18.9f), talkPointOffset = new Vector3(0f, 3f, 0f), isToggle = false, isBreachShrine = false }; shrineFactory.Build(); }
public static void Add() { OldShrineFactory aa = new OldShrineFactory { name = "RelodinShrine", modID = "omitb", text = "A shrine to the lord of chambered rounds Relodin. According to legend, he plucked out his eye as a tribute to Kaliber, and in return recieved great wisdom.", spritePath = "NevernamedsItems/Resources/Shrines/relodin_shrine.png", room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/RelodinShrineRoom.room").room, RoomWeight = 1f, acceptText = "Give an eye for knowledge <Accuracy Down>", declineText = "Leave", OnAccept = Accept, OnDecline = null, CanUse = CanUse, offset = new Vector3(-1, -1, 0), talkPointOffset = new Vector3(0, 3, 0), isToggle = false, isBreachShrine = false, }; aa.Build(); spriteId = SpriteBuilder.AddSpriteToCollection(spriteDefinition, ShrineFactory.ShrineIconCollection); }
public static void Add() { OldShrineFactory aa = new OldShrineFactory { name = "KliklokShrine", modID = "omitb", text = "A shrine to Kliklok, patron god of chests. Giving a blood sacrifice to his effigy may bolster his disciples.", spritePath = "NevernamedsItems/Resources/Shrines/kliklok_shrine.png", room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/KliklokRoom.room").room, RoomWeight = 1f, acceptText = "Pray <Lose HP>", declineText = "Leave", OnAccept = Accept, OnDecline = null, CanUse = CanUse, offset = new Vector3(-1.5f, -1, 0), talkPointOffset = new Vector3(0, 3, 0), isToggle = false, isBreachShrine = false, }; aa.Build(); spriteId = SpriteBuilder.AddSpriteToCollection(spriteDefinition, ShrineFactory.ShrineIconCollection); }
public static void Add() { OldShrineFactory aa = new OldShrineFactory { name = "ArtemissileShrine", modID = "omitb", text = "A shrine to Artemissile, goddess of the eternal hunt. Grants enchanted arms to her most devout followers.", spritePath = "NevernamedsItems/Resources/Shrines/artemissile_shrine.png", room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/ArtemissileShrine.room").room, RoomWeight = 1f, acceptText = "Prove your devotion to the hunt <Lose HP>", declineText = "Leave", OnAccept = Accept, OnDecline = null, CanUse = CanUse, offset = new Vector3(-1.5f, -1, 0), talkPointOffset = new Vector3(0, 3, 0), isToggle = false, isBreachShrine = false, }; aa.Build(); spriteId = SpriteBuilder.AddSpriteToCollection(spriteDefinition, ShrineFactory.ShrineIconCollection); }
public static void Add() { OldShrineFactory aa = new OldShrineFactory { name = "TurtleShrine", modID = "omitb", text = "A shrine to a bizarre Gungeoneer, whose psychopathy was rewarded by a bloodthirsty reptilian horde.", spritePath = "NevernamedsItems/Resources/Shrines/turtle_shrine.png", room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/TurtleShrineRoom.room").room, RoomWeight = 1f, acceptText = "Beat your head against the statue <Lose Half a Heart>", declineText = "Leave", OnAccept = Accept, OnDecline = null, CanUse = CanUse, offset = new Vector3(-1, -1, 0), talkPointOffset = new Vector3(0, 3, 0), isToggle = false, isBreachShrine = false, }; aa.Build(); spriteId = SpriteBuilder.AddSpriteToCollection(spriteDefinition, ShrineFactory.ShrineIconCollection); }
public static void Add() { OldShrineFactory aa = new OldShrineFactory { name = "DagunShrine", modID = "omitb", text = "A shrine to Dagun, god of plenty. His amphora of shells running never dry.", spritePath = "NevernamedsItems/Resources/Shrines/dagun_shrine.png", room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/DagunShrine.room").room, RoomWeight = 1f, acceptText = "Pray <Lose HP>", declineText = "Leave", OnAccept = Accept, OnDecline = null, CanUse = CanUse, offset = new Vector3(-1, -1, 0), talkPointOffset = new Vector3(0, 3, 0), isToggle = false, isBreachShrine = false, }; aa.Build(); spriteId = SpriteBuilder.AddSpriteToCollection(spriteDefinition, ShrineFactory.ShrineIconCollection); }
public static void Add() { OldShrineFactory aa = new OldShrineFactory { name = "ExecutionerShrine", modID = "omitb", text = "A shrine to an over-zealous Executioner, fond of gambling and wagers. Those who conjure his spirit are either saved or damned depending on a roll of the dice.", spritePath = "NevernamedsItems/Resources/Shrines/executioner_shrine.png", room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/ExecutionerShrine.room").room, RoomWeight = 1f, acceptText = "Conjure The Spirit of Execution", declineText = "Leave", OnAccept = Accept, OnDecline = null, CanUse = CanUse, offset = new Vector3(-1, -1, 0), talkPointOffset = new Vector3(0, 3, 0), isToggle = false, isBreachShrine = false, }; aa.Build(); spriteId = SpriteBuilder.AddSpriteToCollection(spriteDefinition, ShrineFactory.ShrineIconCollection); }
public static void Init() { ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "I sell, yes, you! Buy! Cash yes money yes yes yes!"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "Rusty sells trash people throw at him. Make easy money. Heheh. Fools."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "You want to talk to Rusty? Nobody ever talks to Rusty."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "I used to be taaaaall once, yes, yes. Taaaall, and red. Red."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "They laugh at Rusty, yes... they all laugh..."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "Rusty has seen things... things you are not ready to see."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "Chambers lurk below. Places you've never seen. Perhaps you will be ready one day, yes."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "Don't trust the mad bullet Alhazard. Rusty trusted him, and is now Rusty."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "What is it like. To have skin. Rusty wonders?"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "One day you and Rusty will be not so different, rustythinks yes."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_GENERIC_TALK", "One day, the skies will run black with the ichor of ages, and all will be unloaded... what?"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_STOPPER_TALK", "You are boring. Rusty is bored yes bored no yes"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_STOPPER_TALK", "Rusty has no more to say to you, no, no."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_STOPPER_TALK", "Mmmmm, yesyesyesyesyesyesyes."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_PURCHASE_TALK", "YesYes! Deal Yes! Buy!"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_PURCHASE_TALK", "A good choice, yes!"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_PURCHASE_TALK", "A poor choice, yes!"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_PURCHASE_TALK", "Rusty lives another day."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_PURCHASE_TALK", "Rusty will buy a new can of polish!"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_NOSALE_TALK", "No. TooCheap. Even for me, hehehehehehh"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_NOSALE_TALK", "Cash, upfront. No credit."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_NOSALE_TALK", "Rusty no give credit. You come back when you're richer!"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_INTRO_TALK", "Oh! You are back! Yes! Heheh! BuyBuy!"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_INTRO_TALK", "You Live! Rusty is Glad! Yes!"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_INTRO_TALK", "Wallet person returns, yes, with wallet gold?"); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_ATTACKED_TALK", "Rusty no die. Rusty live forever."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_ATTACKED_TALK", "If killing Rusty was that easy, Rusty would be dead."); ETGMod.Databases.Strings.Core.AddComplex("#RUSTY_ATTACKED_TALK", "Rusty think you are a %&**@. Yes."); List<int> LootTable = new List<int>() { 120, //Armour 224, //Blank 127, //Junk 558, //Bottle 108, //Bomb 109, //Ice Bomb 66, //Proximity Mine 308, //Cluster Mine 136, //C4 366, //Molotov 234, //iBomb Companion App 77, //Supply Drop 403, //Melted Rock 432, //Jar of Bees 447, //Shield of the Maiden 644, //Portable Table Device 573, //Chest Teleporter 65, //Knife Shield 250, //Grappling Hook 353, //Enraging Photo 488, //Ring of Chest Vampirism 256, //Heavy Boots 137, //Map 565, //Glass Guon Stone 306, //Escape Rope 106, //Jetpack 487, //Book of Chest Anatomy 197, //Pea Shooter 56, //38 Special 378, //Derringer 539, //Boxing Glove 79, //Makarov 8, //Bow 9, //Dueling Pistol 202, //Sawed Off 122, //Blunderbuss 12, //Crossbow 31, //Klobbe 181, //Winchester Rifle 327, //Corsair 577, //Turbo Gun 196, //Fossilized Gun 10, //Mega Douser 363, //Trick Gun 33, //Tear Jerker 176, //Gungeon Ant 440, //Ruby Bracelet //MY ITEMS MistakeBullets.MistakeBulletsID, TracerRound.TracerRoundsID, IronSights.IronSightsID, GlassChamber.GlassChamberID, BulletBoots.BulletBootsID, DiamondBracelet.DiamondBraceletID, PearlBracelet.PearlBraceletID, RingOfAmmoRedemption.RingOfAmmoRedemptionID, MapFragment.MapFragmentID, GunGrease.GunGreaseID, LuckyCoin.LuckyCoinID, AppleActive.AppleID, SpeedPotion.SpeedPotionID, ShroomedGun.ShroomedGunID, Glock42.Glock42ID, DiscGun.DiscGunID, Purpler.PurplerID, TheLodger.TheLodgerID, HeatRay.HeatRayID, }; RustyLootTable = LootTableTools.CreateLootTable(); foreach (int i in LootTable) { RustyLootTable.AddItemToPool(i); } GameObject rustyObj = ItsDaFuckinShopApi.SetUpShop( "Rusty", //Name "omitb", //ModName new List<string>() //Idle Sprite Paths { "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_idle_001", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_idle_002", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_idle_003", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_idle_004", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_idle_005", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_idle_006", }, 12, //Idle FPS new List<string>() //Talk Sprite Paths { "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_talk_001", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_talk_002", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_talk_003", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_talk_004", "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_talk_005", }, 12, //Talk FPS //Loot Table RustyLootTable, //Currency CustomShopItemController.ShopCurrencyType.COINS, //Dialogue Strings "#RUSTY_GENERIC_TALK", "#RUSTY_STOPPER_TALK", "#RUSTY_PURCHASE_TALK", "#RUSTY_NOSALE_TALK", "#RUSTY_INTRO_TALK", "#RUSTY_ATTACKED_TALK", //Text Box Offset new Vector3(1, 1.5f, 0), //Item positions ItsDaFuckinShopApi.defaultItemPositions, //Price mult 0.5f, //Give Stats on Purchase false, //Stats to give on purchase null, //Custom Can Buy null, //Custom Remove Currency null, //Custom Price null, //On Purchase RustyBuy, // On Steal RustySteal, //Currency Icon null, //Currency name null, //Can be robbed true, //Has Carpet true, //Carpet Sprite "NevernamedsItems/Resources/NPCSprites/Rusty/rustycarpet", //Has Minimap Icon true, //Minimap icon path "NevernamedsItems/Resources/NPCSprites/Rusty/rusty_mapicon", //Add to bello shop true, 0.1f ); PrototypeDungeonRoom Mod_Shop_Room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/RustyRoom.room").room; ItsDaFuckinShopApi.RegisterShopRoom(rustyObj, Mod_Shop_Room, new UnityEngine.Vector2(7f, 6)); }
public static void Init() { ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "Explosions are the spice of life! ...and death."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "Name's Boomhildr, demolitions expert, self taught, at yer service."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "My legs? Got taken clean off by a dynamite explosion! It's what made me want to go into pyrotechnics!"); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "My arm? ...it was bitten off by a gator, why do you ask."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "My eye? It was shot out. By a bomb. With a gun."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "What am I here for?... none of your business."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "There was a little claymore running around here a while ago, screaming something about 'Booms'. Pretty cool guy."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "Some weirdo keeps coming by and calling me an 'Angel of Death'. What's up with that?"); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "I've got all the boom you could ask for. Boom comin' out the ears."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "Me and Cursula knew each other in college... before she got into mumbo jumbo."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_GENERIC_TALK", "My mama always used to say that frag grenades are the fireworks of explosive warfare."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_STOPPER_TALK", "Not now, got powder to mix, fuses to braid, you know the deal."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_STOPPER_TALK", "I'm busy riggin' up for a big blast."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_STOPPER_TALK", "Listen pal, I've only got so much patience for blabbermouths."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_PURCHASE_TALK", "Thanks for the cash."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_PURCHASE_TALK", "Have fun blowing &%*! up."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_PURCHASE_TALK", "Send 'em to kingdom come for me!"); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_PURCHASE_TALK", "Boom-boom-boom-boom, amirite?"); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_NOSALE_TALK", "Sorry mate, nothin' in this world is free."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_NOSALE_TALK", "Good explosives aren't cheap."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_NOSALE_TALK", "I'm not running a charity here."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_INTRO_TALK", "You're back. And with all your limbs too."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_INTRO_TALK", "Blow up anyone special lately?"); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_INTRO_TALK", "See any good blasts out there in the Gungeon?"); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_INTRO_TALK", "Want a bomb? I've got bombs. Let's talk."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_INTRO_TALK", "Bombs? Bombs? Bombs? You want it? It's yours, my friend- as long as you have enough cash."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_ATTACKED_TALK", "Watch it buster."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_ATTACKED_TALK", "No need to be jealous."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_ATTACKED_TALK", "You're gonna blow your chances."); ETGMod.Databases.Strings.Core.AddComplex("#BOOMHILDR_ATTACKED_TALK", "I can bring this whole chamber down on our heads, and you're attacking me?"); List <int> LootTable = new List <int>() { 108, //Bomb 109, //Ice Bomb 460, //Chaff Grenade 66, //Proximity Mine 308, //Cluster Mine 136, //C4 252, //Air Strike 443, //Big Boy 567, //Roll Bomb 234, //iBomb Companion App 438, //Explosive Decoy 403, //Melted Rock 304, //Explosive Rounds 312, //Blast Helmet 398, //Table Tech Rocket 440, //Ruby Bracelet 601, //Big Shotgun 4, //Sticky Crossbow 542, //Strafe Gun 96, //M16 6, //Zorgun 81, //Deck4rd 274, //Dark Marker 39, //RPG 19, //Grenade Launcher 92, //Stinger 563, //The Exotic 129, //Com4nd0 372, //RC Rocket 16, //Yari Launcher 332, //Lil Bomber 180, //Grasschopper 593, //Void Core Cannon 362, //Bullet Bore 186, //Machine Fist 28, //Mailbox 339, //Mahoguny 478, //Banana NitroBullets.NitroBulletsID, AntimatterBullets.AntimatterBulletsID, BombardierShells.BombardierShellsID, Blombk.BlombkID, Nitroglycylinder.NitroglycylinderID, GunpowderPheromones.GunpowderPheromonesID, RocketMan.RocketManID, ChemGrenade.ChemGrenadeID, InfantryGrenade.InfantryGrenadeID, BomberJacket.ID, Bombinomicon.ID, MagicMissile.ID, GrenadeShotgun.GrenadeShotgunID, Felissile.ID, TheThinLine.ID, RocketPistol.ID, Demolitionist.DemolitionistID, HandMortar.ID, FireLance.FireLanceID, DynamiteLauncher.DynamiteLauncherID, BottleRocket.ID, NNBazooka.BazookaID, BoomBeam.ID, Pillarocket.ID, }; BoomhildrLootTable = LootTableTools.CreateLootTable(); foreach (int i in LootTable) { BoomhildrLootTable.AddItemToPool(i); } GameObject boomhildrObj = ItsDaFuckinShopApi.SetUpShop( "Boomhildr", "omitb", new List <string>() { "NevernamedsItems/Resources/NPCSprites/Boomhildr/boomhildr_idle_001", "NevernamedsItems/Resources/NPCSprites/Boomhildr/boomhildr_idle_002", "NevernamedsItems/Resources/NPCSprites/Boomhildr/boomhildr_idle_003", "NevernamedsItems/Resources/NPCSprites/Boomhildr/boomhildr_idle_004", "NevernamedsItems/Resources/NPCSprites/Boomhildr/boomhildr_idle_005", }, 7, new List <string>() { "NevernamedsItems/Resources/NPCSprites/Boomhildr/boomhildr_talk_001", "NevernamedsItems/Resources/NPCSprites/Boomhildr/boomhildr_talk_002", }, 3, BoomhildrLootTable, CustomShopItemController.ShopCurrencyType.COINS, "#BOOMHILDR_GENERIC_TALK", "#BOOMHILDR_STOPPER_TALK", "#BOOMHILDR_PURCHASE_TALK", "#BOOMHILDR_NOSALE_TALK", "#BOOMHILDR_INTRO_TALK", "#BOOMHILDR_ATTACKED_TALK", new Vector3(0.5f, 4, 0), ItsDaFuckinShopApi.defaultItemPositions, 1f, false, null, null, null, null, null, null, null, null, true, false, null, true, "NevernamedsItems/Resources/NPCSprites/Boomhildr/boomhildr_mapicon", true, 0.1f ); PrototypeDungeonRoom Mod_Shop_Room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/BoomhildrRoom.room").room; ItsDaFuckinShopApi.RegisterShopRoom(boomhildrObj, Mod_Shop_Room, new UnityEngine.Vector2(9f, 11)); }
public static void Init() { ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "The Gungeon is a tough place, it pays to have thick skin."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "My pepaw always told me to stay prepared. So that's what I do."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "The cost of being heavily armoured is never letting anyone in."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "Names Ironside. I specialise in armour and protective supplies."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "Like the carpet? I got it custom made."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "Blanks are all well and good, but you're not always going to have them. Ask yourself, do you want bullets goin' straight to your heart(s)?"); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "I have done and I have dared, for everything to be prepared."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "Did you see that tarnished old slug rooting around in my garbage? What a freak."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_GENERIC_TALK", "Armour up Gungeoneer, the road ahead is long and the bullets don't get any softer."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_STOPPER_TALK", "No more chit-chat."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_STOPPER_TALK", "I don't have time to talk longer."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_STOPPER_TALK", "Got things to be, places to do."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_PURCHASE_TALK", "Pleasure doin' business with you."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_PURCHASE_TALK", "Pays to be prepared."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_PURCHASE_TALK", "Armoured and ready!"); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_NOSALE_TALK", "You'd better get out there and find some more armour."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_NOSALE_TALK", "Sorry pal, no shields no sale."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_INTRO_TALK", "AVAST FIEND- Oh, no. It's just you."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_INTRO_TALK", "Staying safe out there?"); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_INTRO_TALK", "Welcome back, you're looking beat up."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_INTRO_TALK", "Good grief... I didn't know someone could have that many bruises."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_ATTACKED_TALK", "Hah, no way you're getting through this armour!"); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_ATTACKED_TALK", "Nice try, but one of us is squishy and it ain't me."); ETGMod.Databases.Strings.Core.AddComplex("#IRONSIDE_ATTACKED_TALK", "You're gonna wish you hadn't done that one day."); List <int> LootTable = new List <int>() { 160, //Gunknight Stuff 161, 162, 163, 450, //Armor Synthesizer 147, //Armor of Thorns 64, //Potion of Lead Skin 65, //Knife Shield 380, //Betrayers Shield 447, //Shield of the Maiden 634, //Crisis Stone 111, //Heavy Bullets 256, //Heavy Boots 564, //Full Metal Jacket 290, //Sunglasses 312, //Blast Helmet 314, //Nanomachines 454, //Hazmat Suit 598, //Stone Dome 545, //AC-15 178, //Crestfaller 154, //Trashcannon FullArmourJacket.FullArmourJacketID, KnightlyBullets.KnightlyBulletsID, ArmourBandage.ArmourBandageID, GoldenArmour.GoldenArmourID, ExoskeletalArmour.MeatShieldID, ArmouredArmour.ArmouredArmourID, KeyBullwark.KeyBulwarkID, TinHeart.TinHeartID, HeavyChamber.HeavyChamberID, TableTechInvulnerability.TableTechInvulnerabilityID, LiquidMetalBody.LiquidMetalBodyID, HornedHelmet.HornedHelmetID, LeadSoul.LeadSoulID, GSwitch.GSwitchID, MaidenRifle.MaidenRifleID, RapidRiposte.RapidRiposteID, Converter.ConverterID, }; IronsideLootTable = LootTableTools.CreateLootTable(); foreach (int i in LootTable) { IronsideLootTable.AddItemToPool(i); } GameObject ironsideObj = ItsDaFuckinShopApi.SetUpShop( "Ironside", "omitb", new List <string>() { "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_idle_001", "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_idle_002", "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_idle_003", "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_idle_004", }, 8, new List <string>() { "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_talk_001", "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_talk_002", "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_talk_003", "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_talk_004", "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_talk_005", "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_talk_006", }, 12, IronsideLootTable, CustomShopItemController.ShopCurrencyType.CUSTOM, "#IRONSIDE_GENERIC_TALK", "#IRONSIDE_STOPPER_TALK", "#IRONSIDE_PURCHASE_TALK", "#IRONSIDE_NOSALE_TALK", "#IRONSIDE_INTRO_TALK", "#IRONSIDE_ATTACKED_TALK", new Vector3(1, 2.5f, 0), ItsDaFuckinShopApi.defaultItemPositions, 1f, false, null, Ironside.IronsideCustomCanBuy, Ironside.IronsideCustomRemoveCurrency, Ironside.IronsideCustomPrice, IronsideBuy, null, "NevernamedsItems/Resources/NPCSprites/Ironside/armourcurrency_icon.png", "Armor", true, true, "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_carpet", true, "NevernamedsItems/Resources/NPCSprites/Ironside/ironside_mapicon", true, 0.1f ); PrototypeDungeonRoom Mod_Shop_Room = RoomFactory.BuildFromResource("NevernamedsItems/Resources/EmbeddedRooms/IronsideRoom.room").room; ItsDaFuckinShopApi.RegisterShopRoom(ironsideObj, Mod_Shop_Room, new UnityEngine.Vector2(7f, 9)); }
public static DungeonFlow BuildFlow() { DungeonFlow flow = ScriptableObject.CreateInstance <DungeonFlow>(); flow.name = "RedChamberDungeonFlow"; flow.fallbackRoomTable = null; flow.phantomRoomTable = null; flow.subtypeRestrictions = new List <DungeonFlowSubtypeRestriction>(0); flow.flowInjectionData = new List <ProceduralFlowModifierData>(0); flow.sharedInjectionData = new List <SharedInjectionData>() { Toolbox.shared_auto_002.LoadAsset <SharedInjectionData>("Base Shared Injection Data") }; DungeonFlowNode node = Toolbox.GenerateFlowNode(flow, PrototypeDungeonRoom.RoomCategory.ENTRANCE, RoomFactory.BuildFromResource("SpecialItemPack/RedChamberRooms/RedChamber_Entrance.room").room); DungeonFlowNode node2 = Toolbox.GenerateFlowNode(flow, PrototypeDungeonRoom.RoomCategory.EXIT, RoomFactory.BuildFromResource("SpecialItemPack/RedChamberRooms/RedChamber_Exit.room").room); flow.Initialize(); flow.AddNodeToFlow(node, null); flow.AddNodeToFlow(node2, node); flow.FirstNode = node; return(flow); }