예제 #1
0
        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;
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }
예제 #9
0
        // 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();
        }
예제 #10
0
        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);
        }
예제 #11
0
        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);
        }
예제 #14
0
        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);
        }
예제 #16
0
        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));
        }
예제 #17
0
        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));
        }
예제 #18
0
        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));
        }
예제 #19
0
        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);
        }