public static void Add()
        {
            ShrineFactory sf = new ShrineFactory()
            {
                name             = "Random Shrine",
                modID            = "cc",
                text             = "Randomize your character?",
                spritePath       = "CustomCharacters/resources/random_shrine.png",
                shadowSpritePath = "CustomCharacters/resources/default_shrine_shadow_small.png",
                acceptText       = "Accept",
                declineText      = "Decline",
                OnAccept         = Accept,
                OnDecline        = null,
                offset           = new Vector3(63.9f, 23.3f, 23.8f),
                talkPointOffset  = new Vector3(0, 1, 0),
                isToggle         = false,
                isBreachShrine   = true
            };

            //register shrine
            sf.Build();

            ETGModConsole.Commands.AddUnit("set_hegemony_credits", (args) =>
            {
                try
                {
                    GameStatsManager.Instance.SetStat(TrackedStats.META_CURRENCY, int.Parse(args[0]));
                }
                catch {
                    Tools.PrintError("You did it wrong");
                }
            });
        }
Exemple #2
0
 public override void Start()
 {
     FakePrefabHooks.Init();
     Tools.Init();
     Hooks.Init();
     CharacterSwitcher.Init();
     ShrineFactory.Init();
     Tools.Print("Did Start()", "00FF00");
 }
        // Token: 0x06000059 RID: 89 RVA: 0x0000480C File Offset: 0x00002A0C
        public static void Add()
        {
            ShrineFactory SQUIRE = new ShrineFactory
            {
                name                  = "Squire of the Jammed",
                modID                 = "BunnyMod",
                spritePath            = "BunnyMod/Resources/JammedSquire/Idle/squire_idle_001.png",
                shadowSpritePath      = "BunnyMod/Resources/JammedSquire/Idle/squire_idle_001.png",
                acceptText            = "I accept His offer.",
                declineText           = "I refuse.",
                OnAccept              = new Action <PlayerController, GameObject>(JammedSquire.Accept),
                OnDecline             = null,
                CanUse                = new Func <PlayerController, GameObject, bool>(JammedSquire.CanUse),
                offset                = new Vector3(48.375f, 50.8f, 51.3f),
                talkPointOffset       = new Vector3(0f, 3f, 0f),
                isToggle              = false,
                isBreachShrine        = true,
                interactableComponent = typeof(JammedSquireInteractable)
            };
            GameObject gameObject = SQUIRE.Build();

            gameObject.AddAnimation("idle", "BunnyMod/Resources/JammedSquire/Idle/", 4, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk", "BunnyMod/Resources/JammedSquire/Talk/", 4, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk_start", "BunnyMod/Resources/JammedSquire/TalkStart/", 4, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("do_effect", "BunnyMod/Resources/JammedSquire/DoEffect/", 7, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            JammedSquireInteractable component1 = gameObject.GetComponent <JammedSquireInteractable>();

            component1.conversation = new List <string>
            {
                "...",
                "My Lord has always been curious of your kind...",
                "Trying to manipulate things out of your control...",
                "Messing with things you shouldn't...",
                "Obtaining treasure that overpowers you...",
                "My Lord is... interested...",
                "Interested in you sheer stubborness for power...",
                "So, He sent me here to for one thing...",
                "To give you power, strength, riches...",
                "At the cost of Him not holding back...",
                "His army... And Himself...",
                "What do you say, Gungeoneer...?"
            };
            component1.conversationB = new List <string>
            {
                "What do you ask of Him...?"
            };
            component1.declineTextB = "I ask nothing more.";
            component1.acceptTextB  = "Remove His offer from me.";
            //gameObject.SetActive(false);
        }
Exemple #4
0
        // Token: 0x0600004D RID: 77 RVA: 0x00004700 File Offset: 0x00002900
        public static void Add()
        {
            ShrineFactory shrineFactory = new ShrineFactory
            {
                name  = "The Jammomaster",
                modID = "nevernamedsMod",
                //text = "Might not be smart to stick around.",
                spritePath       = "NevernamedsItems/Resources/JammomasterSprites/jammomaster_idle_001.png",
                shadowSpritePath = "NevernamedsItems/Resources/JammomasterSprites/jammomaster_shadow_001.png",
                acceptText       = "I Accept",
                declineText      = "...no thanks",
                OnAccept         = new Action <PlayerController, GameObject>(TheJammomaster.Accept),
                OnDecline        = null,
                CanUse           = new Func <PlayerController, GameObject, bool>(TheJammomaster.CanUse),
                //offset = new Vector3(43.8f, 42.4f, 42.9f),
                offset                = new Vector3(51.2f, 50.8f, 51.3f),
                talkPointOffset       = new Vector3(0.75f, 1.5f, 0f),
                isToggle              = false,
                isBreachShrine        = true,
                interactableComponent = typeof(JammomasterInteractible)
            };
            GameObject gameObject = shrineFactory.Build();

            gameObject.AddAnimation("idle", "NevernamedsItems/Resources/JammomasterSprites/jammomaster_idle", 12, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk", "NevernamedsItems/Resources/JammomasterSprites/jammomaster_talk", 12, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk_start", "NevernamedsItems/Resources/JammomasterSprites/jammomaster_talk", 12, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("do_effect", "NevernamedsItems/Resources/JammomasterSprites/jammomaster_talk", 12, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            JammomasterInteractible component = gameObject.GetComponent <JammomasterInteractible>();

            component.conversation = new List <string>
            {
                "All things wise and wonderful...",
                "All creatures great and small...",
                "All things bright and beautiful...",
                "I've cursed them, one and all..."
            };
            component.conversation2 = new List <string>
            {
                "What?....",
                "What do you desire now, young one?"
            };
            component.declineText2 = "I am content";
            component.acceptText2  = "Please undo what is done...";
            //gameObject.SetActive(false);
        }
Exemple #5
0
        // Token: 0x06000059 RID: 89 RVA: 0x0000480C File Offset: 0x00002A0C
        public static void Add()
        {
            ShrineFactory ShrineFactory = new ShrineFactory
            {
                name                  = "Artifact Monger",
                modID                 = "BunnyMod",
                spritePath            = "BunnyMod/Resources/Artifacts/ArtifactNPC/Idle/artifactmonger_idle_001.png",
                shadowSpritePath      = "BunnyMod/Resources/Artifacts/ArtifactNPC/artifactmongerplaceshadow_001.png",
                acceptText            = "...Sure?",
                declineText           = "No thanks.",
                OnAccept              = new Action <PlayerController, GameObject>(ArtifactMonger.Accept),
                OnDecline             = null,
                CanUse                = new Func <PlayerController, GameObject, bool>(ArtifactMonger.CanUse),
                offset                = new Vector3(38.125f, 27f, 26.5f),
                talkPointOffset       = new Vector3(3f, 3f, 0f),
                isToggle              = false,
                isBreachShrine        = true,
                interactableComponent = typeof(ArtifactMongerInteractable)
            };
            GameObject gameObject = ShrineFactory.Build();

            gameObject.AddAnimation("idle", "BunnyMod/Resources/Artifacts/ArtifactNPC/Idle/", 2, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk", "BunnyMod/Resources/Artifacts/ArtifactNPC/Talk/", 6, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk_start", "BunnyMod/Resources/Artifacts/ArtifactNPC/TalkStart/", 6, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("do_effect", "BunnyMod/Resources/Artifacts/ArtifactNPC/DoEffect/", 5, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            ArtifactMongerInteractable component = gameObject.GetComponent <ArtifactMongerInteractable>();

            component.conversation = new List <string>
            {
                "helo!",
                "i com from favaway pwanet!",
                "soooooo fav awayyyyy!!",
                "and breng pwetty wocks!",
                "but te wocks hurt...",
                "...",
                "...do u want one? tu help me?"
            };
            component.conversationB = new List <string>
            {
                "u wont anytien else?"
            };
            component.declineTextB = "Im good.";
            component.acceptTextB  = "Please take them away.";
            gameObject.SetActive(false);
        }
        public static void LateStart1(Action <Foyer> orig, Foyer self1)
        {
            orig(self1);
            bool flag = BunnyModule.hasInitialized;

            if (!flag)
            {
                ArtifactMonger.Add();
                WhisperShrine.Add();
                DeicideShrine.Add();

                {
                    ShrineFactory.PlaceBnyBreachShrines();
                }
                BunnyModule.hasInitialized = true;
            }
            ShrineFactory.PlaceBnyBreachShrines();
        }
Exemple #7
0
 // Token: 0x06000059 RID: 89 RVA: 0x0000480C File Offset: 0x00002A0C
 public static void Add()
 {
     try
     {
         ShrineFactory ShrineFactory = new ShrineFactory
         {
             name             = "Pulpit",
             modID            = "cak",
             spritePath       = "CakeMod/Resources/ModRooms/Pulpit",
             shadowSpritePath = "CakeMod/Resources/PulpitShadow",
         };
         GameObject gameObject = ShrineFactory.Build();
     }
     catch (Exception e)
     {
         Tools.Print(e);
     }
 }
Exemple #8
0
        public static void LateStart1(Action <Foyer> orig, Foyer self1)
        {
            orig(self1);
            Bugun.ThisIsBasicallyCelsRNGUNButTakenToASillyLevel();
            bool flag = BunnyModule.hasInitialized;

            if (!flag)
            {
                ArtifactMonger.Add();
                WhisperShrine.Add();
                DeicideShrine.Add();
                JammedSquire.Add();
                {
                    ShrineFactory.PlaceBnyBreachShrines();
                }
                BunnyModule.hasInitialized = true;
            }
            //ShrineFactory.PlaceBnyBreachShrines();
        }
Exemple #9
0
        public static void Add()
        {
            ShrineFactory shrineFactory = new ShrineFactory
            {
                name  = "Nuclear Shrine",
                modID = "bot_nt",
                //text = "Might not be smart to stick around.",
                spritePath       = "LostItems/NuclearThrone/NuclearThroneSprite/NPC/Idle/ntNPC_idle_001.png",
                shadowSpritePath = "LostItems/NuclearThrone/NuclearThroneSprite/NPC/Idle/ntNPC_idle_001.png",
                acceptText       = "Bring it on!",
                declineText      = "No thanks.",
                OnAccept         = new Action <PlayerController, GameObject>(NuclearShrine.Accept),
                OnDecline        = null,
                CanUse           = new Func <PlayerController, GameObject, bool>(NuclearShrine.CanUse),
                //offset = new Vector3(43.8f, 42.4f, 42.9f),
                offset                = new Vector3(188.8f, 18.3f, 18.9f),
                talkPointOffset       = new Vector3(0.75f, 1.5f, 0f),
                isToggle              = false,
                isBreachShrine        = true,
                interactableComponent = typeof(NuclearInteractable)
            };
            GameObject gameObject = shrineFactory.Build();

            gameObject.AddAnimation("idle", "LostItems/NuclearThrone/NuclearThroneSprite/NPC/Idle", 12, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk", "LostItems/NuclearThrone/NuclearThroneSprite/NPC/Talk/", 12, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk_start", "LostItems/NuclearThrone/NuclearThroneSprite/NPC/StartTalk/", 12, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("do_effect", "LostItems/NuclearThrone/NuclearThroneSprite/NPC/DoEffect/", 12, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            NuclearInteractable component = gameObject.GetComponent <NuclearInteractable>();

            component.conversation = new List <string>
            {
                "Hello ",
                //$"Hello <color={LostItemsMod.TEXT_COLOR_NT}>wip</color>",
                "I will be the npc that enables the upcoming NUCLEAR THRONE MODE",
                //$"I will be the npc that enables the upcoming <color={LostItemsMod.TEXT_COLOR_NT}>NUCLEAR THRONE MODE</color>",


                "But thats not finished"
            };
            //gameObject.SetActive(false);
        }
Exemple #10
0
 // Token: 0x06000059 RID: 89 RVA: 0x0000480C File Offset: 0x00002A0C
 public static void Add()
 {
     try
     {
         ShrineFactory ShrineFactory = new ShrineFactory
         {
             name                  = "Chester",
             modID                 = "cak",
             spritePath            = "CakeMod/Resources/Chester/Chester_idle_001.png",
             shadowSpritePath      = "CakeMod/Resources/Chester/Chester_shadow_001.png",
             acceptText            = "It's a deal.",
             declineText           = "I don't think I want what you're offering.",
             OnAccept              = new Action <PlayerController, GameObject>(Chester.Accept),
             OnDecline             = null,
             CanUse                = new Func <PlayerController, GameObject, bool>(Chester.CanUse),
             offset                = new Vector3(60f, 35f, 51.3f),
             talkPointOffset       = new Vector3(2f, 2f, 0f),
             isToggle              = false,
             isBreachShrine        = true,
             interactableComponent = typeof(ChesterInteractible)
         };
         GameObject gameObject = ShrineFactory.Build();
         gameObject.AddAnimation("idle", "CakeMod/Resources/Chester/Chester_idle", 4, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("talk", "CakeMod/Resources/Chester/Chester_idle", 4, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("talk_start", "CakeMod/Resources/Chester/Chester_talk", 4, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("do_effect", "CakeMod/Resources/Chester/Chester_doeffect", 3, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         ChesterInteractible component = gameObject.GetComponent <ChesterInteractible>();
         component.conversation = new List <string>
         {
             "Heya, kid!",
             "You look like you need a hand!",
             "Say, pal, I've got a deal for ya.",
             "Let's make this a bit easier, yeah?"
         };
         gameObject.SetActive(false);
     }
     catch (Exception e)
     {
         Tools.Print(e);
     }
 }
        public static void Add()
        {
            ShrineFactory sf = new ShrineFactory()
            {
                name  = "Grandfather Tick",
                modID = "cel",
                //text = "Randomize your stats and loadout?",
                spritePath            = "Items/Resources/Tick/Idle/tick_idle_001.png",
                shadowSpritePath      = "Items/Resources/Tick/tick_shadow_001.png",
                acceptText            = "Uhh... sure.",
                declineText           = "I'm good.",
                OnAccept              = Accept,
                OnDecline             = null,
                CanUse                = CanUse,
                offset                = new Vector3(184.7f, 19.9f, 20.4f),
                talkPointOffset       = new Vector3(12 / 16f, 24 / 16f, 0),
                isToggle              = false,
                isBreachShrine        = false,
                interactableComponent = typeof(TickInteractable)
            };

            ETGModConsole.Log("Test 2");
            //register shrine
            var obj = sf.Build();

            obj.AddAnimation("idle", "Items/Resources/Tick/Idle/", 5, NPCBuilder.AnimationType.Idle);
            obj.AddAnimation("talk", "Items/Resources/Tick/Talk/", 10, NPCBuilder.AnimationType.Talk);
            obj.AddAnimation("do_effect", "Items/Resources/Tick/DoEffect/", 10, NPCBuilder.AnimationType.Other);
            var npc = obj.GetComponent <FranseisInteractable>();

            npc.conversation = new List <string>()
            {
                "I'm Grandfather Tick...",
                "Do you want to start again...",
                "I can bring you to when this began...",
                "But I must warn you, you will lose every item you currently have..."
            };
            obj.SetActive(false);
            ETGModConsole.Log("Test 3");
        }
Exemple #12
0
 // Token: 0x06000059 RID: 89 RVA: 0x0000480C File Offset: 0x00002A0C
 public static void Add()
 {
     try
     {
         ShrineFactory ShrineFactory = new ShrineFactory
         {
             name                  = "Shrap And Nel",
             modID                 = "cak",
             spritePath            = "CakeMod/Resources/TinyBullet/Idle/tinybullet_idle_001.png",
             acceptText            = "Let's get explodey!",
             declineText           = "I'm fine.",
             OnAccept              = new Action <PlayerController, GameObject>(TinyBullet.Accept),
             OnDecline             = null,
             CanUse                = new Func <PlayerController, GameObject, bool>(TinyBullet.CanUse),
             offset                = new Vector3(40f, 40f, 51.3f),
             talkPointOffset       = new Vector3(1f, 1f, 0f),
             isToggle              = false,
             isBreachShrine        = true,
             interactableComponent = typeof(TinyBulletInteractable)
         };
         GameObject gameObject = ShrineFactory.Build();
         gameObject.AddAnimation("idle", "CakeMod/Resources/TinyBullet/Idle/", 2, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("talk", "CakeMod/Resources/TinyBullet/Talk/", 6, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("talk_start", "CakeMod/Resources/TinyBullet/Talk/", 6, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("do_effect", "CakeMod/Resources/TinyBullet/Talk/", 5, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         TinyBulletInteractable component = gameObject.GetComponent <TinyBulletInteractable>();
         component.conversation = new List <string>
         {
             "Yoooo!",
             "Got out of that dungeon crawling stuff.",
             "Not that much to do up here.",
             "Wanna get booming?"
         };
         gameObject.SetActive(false);
     }
     catch (Exception e)
     {
         Tools.Print(e);
     }
 }
Exemple #13
0
 // Token: 0x06000059 RID: 89 RVA: 0x0000480C File Offset: 0x00002A0C
 public static void Add()
 {
     try
     {
         ShrineFactory ShrineFactory = new ShrineFactory
         {
             name                  = "OldManBreach",
             modID                 = "cak",
             spritePath            = "CakeMod/Resources/OldManBreach/oldman_idle_001.png",
             shadowSpritePath      = "CakeMod/Resources/OldManBreach/oldman_shadow_001.png",
             acceptText            = "It's a deal.",
             declineText           = "I don't think I want what you're offering.",
             OnAccept              = new Action <PlayerController, GameObject>(OldManBreach.Accept),
             OnDecline             = null,
             CanUse                = new Func <PlayerController, GameObject, bool>(OldManBreach.CanUse),
             offset                = new Vector3(35f, 45f, 51.3f),
             talkPointOffset       = new Vector3(1f, 2f, 0f),
             isToggle              = false,
             isBreachShrine        = true,
             interactableComponent = typeof(OldManBreachInteractable)
         };
         GameObject gameObject = ShrineFactory.Build();
         gameObject.AddAnimation("idle", "CakeMod/Resources/OldManBreach/oldman_idle", 4, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("talk", "CakeMod/Resources/OldManBreach/oldman_idle", 4, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("talk_start", "CakeMod/Resources/OldManBreach/oldman_idle", 4, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         gameObject.AddAnimation("do_effect", "CakeMod/Resources/OldManBreach/oldman_talk", 3, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
         OldManBreachInteractable component = gameObject.GetComponent <OldManBreachInteractable>();
         component.conversation = new List <string>
         {
             "Hey, you!",
             "It's dangerous to go alone!",
             "Take this!"
         };
         gameObject.SetActive(false);
     }
     catch (Exception e)
     {
         Tools.Print(e);
     }
 }
        // Token: 0x0600015C RID: 348 RVA: 0x0000D0B0 File Offset: 0x0000B2B0
        public static void Add()
        {
            ShrineFactory shrineFactory = new ShrineFactory
            {
                name       = "Breach Shrine",
                modID      = "bot",
                text       = "Please Select a Character",
                spritePath = "LostItems/NuclearThrone/NuclearThroneSprite/char_shrine_temp.png",

                acceptText      = "Go to hang out",
                declineText     = "No thanks",
                OnAccept        = new Action <PlayerController, GameObject>(MoreBreachShrine.Accept),
                OnDecline       = null,
                CanUse          = new Func <PlayerController, GameObject, bool>(MoreBreachShrine.CanUse),
                offset          = new Vector3(188.3f, 19.7f, 18.9f),
                talkPointOffset = new Vector3(0.75f, 1.5f, 0f),
                isToggle        = false,
                isBreachShrine  = true
            };

            shrineFactory.Build();
        }
        // 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();
        }
        // Token: 0x06000059 RID: 89 RVA: 0x0000480C File Offset: 0x00002A0C
        public static void Add()
        {
            ShrineFactory ShrineFactory = new ShrineFactory
            {
                name                  = "Deicide Shrine",
                modID                 = "BunnyMod",
                spritePath            = "BunnyMod/Resources/DeicideShrine/dcdshrine_idle_001.png",
                shadowSpritePath      = "BunnyMod/Resources/DeicideShrine/dcdshrine_shadow.png",
                acceptText            = "I challenge fate. (Gives all artifacts)",
                declineText           = "I don't challenge fate.",
                OnAccept              = new Action <PlayerController, GameObject>(DeicideShrine.Accept),
                OnDecline             = null,
                CanUse                = new Func <PlayerController, GameObject, bool>(DeicideShrine.CanUse),
                offset                = new Vector3(12.6875f, 21.9375f, 22.4375f),
                talkPointOffset       = new Vector3(3f, 3f, 0f),
                isToggle              = false,
                isBreachShrine        = true,
                interactableComponent = typeof(DeicideShrineInteractible)
            };
            GameObject gameObject = ShrineFactory.Build();

            gameObject.AddAnimation("idle", "BunnyMod/Resources/DeicideShrine/", 2, NPCBuilder.AnimationType.Idle, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk", "BunnyMod/Resources/DeicideShrine/", 3, NPCBuilder.AnimationType.Talk, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("talk_start", "BunnyMod/Resources/DeicideShrine/", 4, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            gameObject.AddAnimation("do_effect", "BunnyMod/Resources/DeicideShrine/", 5, NPCBuilder.AnimationType.Other, DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType.None);
            DeicideShrineInteractible component = gameObject.GetComponent <DeicideShrineInteractible>();

            component.conversation = new List <string>
            {
                "Put yourself to the ultimate test?"
            };
            component.conversationB = new List <string>
            {
                "What do you desire?"
            };
            component.declineTextB = "I desire nothing more.";
            component.acceptTextB  = "Make it stop....";
            gameObject.SetActive(false);
        }
Exemple #17
0
        // Token: 0x0600015C RID: 348 RVA: 0x0000D0B0 File Offset: 0x0000B2B0
        public static void Add()
        {
            ShrineFactory shrineFactory = new ShrineFactory
            {
                name       = "Character Shrine Shrine",
                modID      = "bot_nt",
                text       = "Please Select a Character",
                spritePath = "LostItems/NuclearThrone/NuclearThroneSprite/char_shrine_temp.png",
                //room = RoomFactory.BuildFromResource("FrostAndGunfireItems/Resources/rooms/CharacterShrineRoom.room").room,
                acceptText      = "Next Character",
                declineText     = "This one's fine",
                OnAccept        = new Action <PlayerController, GameObject>(CharacterShrine.Accept),
                OnDecline       = null,
                CanUse          = new Func <PlayerController, GameObject, bool>(CharacterShrine.CanUse),
                offset          = new Vector3(188.3f, 16.7f, 18.9f),
                talkPointOffset = new Vector3(0.75f, 1.5f, 0f),
                isToggle        = false,
                isBreachShrine  = true
            };

            shrineFactory.Build();
        }
Exemple #18
0
        //Creates characters late to prevent conflict with custom loadouts and stuff
        public static void LateStart(Action <Foyer> orig, Foyer self)
        {
            orig(self);

            Tools.Print("Late start called");
            if (hasInitialized)
            {
                return;
            }
            Tools.StartTimer("Initializing mod");
            Loader.Init();
            Franseis.Add();
            RandomShrine.Add();
            Tools.StopTimerAndReport("Initializing mod");
            hasInitialized = true;
            Tools.Print($"Custom Character Mod v{version} Initialized", "00FF00", true);
            Tools.Print("Custom Characters Available:", "00FF00", true);
            foreach (var character in CharacterBuilder.storedCharacters)
            {
                Tools.Print("    " + character.Value.First.nameShort, "00FF55", true);
            }
            ShrineFactory.PlaceBreachShrines();
        }
Exemple #19
0
        public static void Add()
        {
            ShrineFactory sf = new ShrineFactory()
            {
                name  = "Franseis",
                modID = "cc",
                //text = "Randomize your stats and loadout?",
                spritePath            = "CustomCharacters/resources/Franseis/Idle/fran_idle_001.png",
                shadowSpritePath      = "CustomCharacters/resources/default_shrine_shadow_small.png",
                acceptText            = "Lets get weird.",
                declineText           = "No thanks.",
                OnAccept              = Accept,
                OnDecline             = null,
                CanUse                = CanUse,
                offset                = new Vector3(184.7f, 19.9f, 20.4f),
                talkPointOffset       = new Vector3(12 / 16f, 24 / 16f, 0),
                isToggle              = false,
                isBreachShrine        = true,
                interactableComponent = typeof(FranseisInteractable)
            };
            //register shrine
            var obj = sf.Build();

            obj.AddAnimation("idle", "CustomCharacters/resources/Franseis/Idle/", 5, NPCBuilder.AnimationType.Idle);
            obj.AddAnimation("talk", "CustomCharacters/resources/Franseis/Talk/", 10, NPCBuilder.AnimationType.Talk);
            obj.AddAnimation("talk_start", "CustomCharacters/resources/Franseis/StartTalk/", 7, NPCBuilder.AnimationType.Other);
            obj.AddAnimation("do_effect", "CustomCharacters/resources/Franseis/DoEffect/", 10, NPCBuilder.AnimationType.Other);
            var npc = obj.GetComponent <FranseisInteractable>();

            npc.conversation = new List <string>()
            {
                "The name's Franseis.",
                "Crazy eyes over there is my uncle.",
                "Wanna get weird?"
            };
            obj.SetActive(false);
        }
        // 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();
        }
        // Token: 0x0600001B RID: 27 RVA: 0x000028E8 File Offset: 0x00000AE8
        public override void Start()
        {
            ItemBuilder.Init();
            FakePrefabHooks.Init();
            HookYeah.Init();
            GungeonAPI.GungeonAP.Init();
            FakePrefabHooks.Init();
            GungeonAPI.Tools.Init();
            ItemAPI.FakePrefabHooks.Init();
            GungeonAP.Init();
            FakePrefabHooks.Init();
            ShrineFactory.Init();
            ShrineFactory.PlaceBnyBreachShrines();
            TestActiveItem.Init();
            VengeanceVlone.Init();
            ShatterEffect.Initialise();
            ShrineOfTheLeadLord.Add();


            ArtifactOfRevenge.Init();
            ArtifactOfAttraction.Init();
            ArtifactOfGlass.Init();
            ArtifactOfAvarice.Init();
            ArtifactOfDaze.Init();
            ArtifactOfPrey.Init();
            ArtifactOfMegalomania.Init();
            ArtifactOfFodder.Init();
            ArtifactOfBolster.Init();
            ArtifactOfHatred.Init();
            ArtifactOfEnigma.Init();
            ArtifactOfSacrifice.Init();



            ModuleCannon.Add();
            ModuleChip.Init();
            ModuleAmmoEater.Init();
            ModuleDamage.Init();
            ModuleClipSize.Init();
            ModuleFireRate.Init();
            ModuleReload.Init();
            T2ModuleYV.Init();
            T2ModuleCloak.Init();
            T2ModulePierce.Init();
            T2ModuleBounce.Init();
            T2ModuleEjector.Init();
            T2ModuleHoming.Init();
            T3ModuleRocket.Init();
            T3ModuleInaccurate.Init();
            T3ModuleColossus.Init();
            T3ModuleOverload.Init();
            T3ModuleReactive.Init();
            CorruptModuleSensor.Init();
            CorruptModuleAccuracy.Init();
            CorruptModuleLoose.Init();
            CorruptModuleCoolant.Init();
            CorruptModuleDamage.Init();


            //Gimmick Heavy Guns
            TrainGun.Add();
            LastStand.Add();
            SoulStealer.Add();
            Commiter.Add();
            Pickshot.Add();
            AerialBombardment.Add();


            //Mimic Guns
            Casemimic.Add();
            ABlasphemimic.Add();
            Gunthemimic.Add();

            Mimikey47.Add();

            //Mechanical Guns

            ThunderStorm.Add();
            CaptainsShotgun.Add();
            EnforcersLaw.Add();
            TimeZoner.Add();
            ArtemissileRocket.Add();
            BigNukeGun.Add();
            BoxGun.Add();
            REXNeedler.Add();
            FlakCannon.Add();
            GunslayerShotgun.Add();
            RogueLegendary.Add();


            //Otherworldly Guns
            HarvestersShotgun.Add();

            PrismaticShot.Add();
            Starbounder.Add();
            ReaverClaw.Add();
            ReaverHeart.Add();
            ChaosRevolver.Add();
            ChaosRevolverSynergyForme.Add();
            ChaosHand.Add();
            NuclearTentacle.Add();

            //Outright Wacky weaponry
            OppressorsCrossbow.Add();
            GunslayerGauntlets.Add();
            SuperFlakCannon.Add();
            MithrixHammer.Add();
            TungstenCube.Add();
            CoolStaff.Add();
            ASwordGun.Add();
            AGunSword.Add();

            //Dumb Guns
            StickGun.Add();
            BulletCaster.Add();
            SausageRevolver.Add();
            BloatedRevolver.Add();
            PocketPistol.Add();
            BrokenGunParts.Add();
            IDPDFreakGun.Add();
            FakeShotgun.Add();

            //Life Living
            PersonalGuard.Init();
            GlockOfTheDead.Init();
            LizardBloodTransfusion.Init();
            AbsoluteZeroPotion.Init();
            MatrixPotion.Init();
            GreandeParasite.Init();
            //Joke Items
            SpeckOfDust.Init();
            LastResort.Init();
            JokeBook.Init();
            //Mechanical Items
            OnPlayerItemUsedItem.Init();
            BloodyTrigger.Init();
            StaticCharger.Init();

            //Bullet Type Items
            ResurrectionBullets.Init();
            GuillotineRounds.Register();

            LunarGlassRounds.Init();
            ReaverRounds.Init();


            SimpBullets.Init();
            //Cursed Items   Risk Reward Items
            LeadHand.Init();
            JammedGuillotine.Init();

            CrownOfBlood.Init();
            RTG.Init();
            DGrenade.Init();
            MalachiteCrown.Init();
            AncientWhisper.Init();
            AncientEnigma.Init();
            LunarGlassSyringe.Init();
            SlayerKey.Init();
            DamocleanClip.Init();
            DeathMark.Init();
            TheMonolith.Init();
            LoopMarker.Init();
            BulletRelic.Init();
            GodLifesGift.Init();

            //Defense Items
            SuperShield.Init();
            GunslayerHelmet.Init();
            FreezeLighter.Init();
            //Stats Up
            Microscope.Init();
            EmpoweringCore.Init();
            BookOfEconomics.Register();
            CounterChamber.Register();
            Infusion.Init();
            MinigunRounds.Register();
            //Otherworldly
            SpiritOfStagnation.Init();
            SoulInAJar.Init();
            AmmoRepurposer.Init();
            SkyGrass.Init();
            ChaosChamber.Init();
            ChaosGodsWrath.Register();
            Coolrobes.Init();
            //Companion Items/CompanionAI
            Claycord.Init();
            Blastcore.Init();
            ClayCordStatue.ClayBuildPrefab();
            GunSoulBox.Init();
            GunSoulBlue.BlueBuildPrefab();
            GunSoulGreen.GreenBuildPrefab();
            GunSoulRed.RedBuildPrefab();
            GunSoulYellow.YellowBuildPrefab();
            GunSoulPink.PinkBuildPrefab();
            GunSoulPurple.PurpleBuildPrefab();
            PointZero.Init();
            BabyGoodModular.Init();
            //Guon Stones
            GuonPebble.Init();
            ChaosGuonStone.Init();
            BulluonStone.Init();
            DynamiteGuon.Init();
            GuonGeon.Init();
            //Ammolets
            LunarGlassAmmolet.Init();
            ReaverAmmolet.Init();
            //TableTechs
            TableTechReload.Init();
            TableTechBomb.Init();
            TableTechSoul.Init();
            TableTechKnife.Init();
            //OP???
            BunnysFoot.Init();
            //Random Weird Shit that just kinda exists
            GungeonInvestment.Init();
            BrokenLockpicker.Init();
            Dejammer.Init();
            Keylocator.Init();
            Keyceipt.Init();
            FrequentFlyer.Init();

            //Vengeance.Init();
            TestItemBNY.Init();
            DragunHeartThing.Init();
            MasteryReplacementRNG.InitDungeonHook();
            SynergyFormInitialiser.AddSynergyForms();
            InitialiseSynergies.DoInitialisation();
            BunnyModule.Log(BunnyModule.MOD_NAME + " v" + BunnyModule.VERSION + " started successfully.", BunnyModule.TEXT_COLOR);
        }
Exemple #22
0
        public override void Start()
        {
            ItemAPI.FakePrefabHooks.Init();
            GungeonAPI.FakePrefabHooks.Init();
            ItemAPI.EnemyBuilder.Init();
            ItemAPI.BossBuilder.Init();
            ItemAPI.EnemyTools.Init();
            SaveAPI.SaveAPIManager.Setup("cel");
            ItemBuilder.Init();
            Hooks.Init();
            GungeonAPI.Tools.Init();
            ShrineFactory.Init();
            Library.DefineGoops();
            Library.InitVacuumProjectiles();
            SpecialBlankModificationItem.InitHooks();
            var forgeDungeon = DungeonDatabase.GetOrLoadByName("Base_Forge");

            hellDrag     = forgeDungeon.PatternSettings.flows[0].AllNodes.Where(node => node.overrideExactRoom != null && node.overrideExactRoom.name.Contains("EndTimes")).First().overrideExactRoom.placedObjects.Where(ppod => ppod != null && ppod.nonenemyBehaviour != null).First().nonenemyBehaviour.gameObject.GetComponentsInChildren <HellDragZoneController>()[0];
            forgeDungeon = null;
            MultiActiveReloadManager.SetupHooks();
            //---  PrinceOfTheJammed.Init();
            //--- PoisonGeistEnemy.Init();
            //---  RiskyAmmoCrate.Register();

            TheBullet.Init();        //1                ACTIVE 1
            FunkyBullets.Init();     //2             PASSIVE 1
            NeedleBullets.Init();    //3            PASSIVE 2
            ImpsHorn.Init();         //4                 PASSIVE 3
            SnareBullets.Init();     //5             PASSIVE 4
            CorruptHeart.Init();     //6             ACTIVE 2
            ShockingBattery.Init();  //7          ACTIVE 3
            Dispenser.Add();         //8                 GUN 1
            IronHeart.Init();        //9                ACTIVE 4
            VoidBottle.Init();       //10              ACTIVE 5
            SprunButBetter.Init();   //11          PASSIVE 5
            PetRock.Init();          //12                 PASSIVE 6
            RGG.Add();               //13                      GUN 2
            Phazor.Add();            //14                   GUN 3
            Tesla.Add();             //15                    GUN 4
            Fallout.Add();           //16                  GUN 5
            SuperCrate.Init();       //17              ACTIVE 6
            SteamSale.Init();        //18               PASSIVE 7
            EmptyBullets.Init();     //19            PASSIVE 8
            Sawblade.Init();         // 20               PASSIVE 9
            Matchbox.Init();         //21                ACTIVE 7
            ACMESupply.Init();       //22              ACTIVE 8
            Mininomicon.Init();      //23             PASSIVE 10
            TerribleAmmoBag.Init();  //24         PASSIVE 11
            Questlog.Init();         //25               ACTIVE 9
            Gunlust.Init();          //26                 PASSIVE 12
            BananaJamHands.Init();   //27          PASSIVE 13
            LiteralTrash.Init();     // MISC 1
            Enemies.SpectreBehav();
            DaggerSpray.Init();      // 28            PASSIVE 14
            AuricVial.Init();        //29               PASSIVE 15
            StakeLauncher.Add();     //30            GUN 6
            DragunClaw.Init();       //31              PASSIVE 16
            DragunWing.Init();       //32              PASSIVE 17
            DragunHeart.Init();      //33             PASSIVE 18
            DragunSkull.Init();      //34             PASSIVE 19
            GravityWell.Init();      //35             PASSIVE 20
            WaterCup.Init();         //36                ACTIVE 10
            SpinelTonic.Init();      //37             ACTIVE 11
            DDR.Init();              //38                     PASSIVE 21
            CitrineAmmolet.Init();   // 39         PASSIVE 22
            MalachiteAmmolet.Init(); //40        PASSIVE 23
            GlassHeart.Init();       // 41             PASSIVE 24
            AccursedShackles.Init(); // 42        PASSIVE 25
            Hooks.BuffGuns();        //43               GUN 7
            D6.Init();               //44                      ACTIVE 12

            TimeKeepersPistol.Add();
            ALiteralRock.Add();    // 47            GUN 8
            FloopBullets.Init();   // 48           PASSIVE 26
            EliteBullets.Init();   // 49            PASSIVE 27
            Enemies.AmmoDotBehav();
            FireworkRifle.Add();   // 50           GUN 9
            Skeleton.Add();        // 51                 GUN 10
            Incremental.Add();     // 52              GUN 11

            VenomRounds.Init();    // 53             PASSIVE 28
            BismuthAmmolet.Init(); //54           PASSIVE 29
            MercuryAmmolet.Init(); //55           PASSIVE 30


            BashelliskRifle.Add(); //56           GUN 12
            MarkOfWind.Init();     //57               PASSIVE 31
            PrimeSaw.Add();        //58a                 GUN 13a
            PrimeVice.Add();       //58b                GUN 13b
            PrimeLaser.Add();      //58c               GUN 13c
            PrimeCannon.Add();     //58d              GUN 13d
            RussianRevolver.Add(); //59           GUN 14
            ImpactRounds.Init();   //60             PASSIVE 31
            DroneController.Add(); //61           GUN 15
            Drone.Add();
            Drone2.Add();
            //D.E.A.T.H. Set
            LittleDroneBuddy.Init();  //62         PASSIVE 32
            DroneBuddy1Gun.Add();     //62a
            TriggerPulseDrone.Init(); //63        PASSIVE 33
            TriggerDroneGun.Add();    //63a
            VenomSpitDrone.Init();    //64a          PASSIVE 34
            VenomSpitDGun.Add();      //64b
            DEATHGun.Add();           //65a                 GUN 16
            DEATHDrone.Add();         //65b
            //True Gunpowder Set
            PrimalNitricAcid.Init();  //66         PASSIVE 35
            PrimalCharcoal.Init();    //67           PASSIVE 36
            PrimalSulfur.Init();      //68             PASSIVE 37
            PrimalSaltpeter.Init();   //69          PASSIVE 38
            TrueGunpowder.Init();     //70            PASSIVE 39
            //
            SpiritOfTheDragun.Add();  //71         GUN 17
            BilliardBouncer.Add();    //72           GUN 18
            ElectricBass.Add();       //73              GUN 19
            IonFist.Add();            //74                   GUN 20
            NenFist.Add();            //74a
            EvilCharmedBow.Add();
            ReloadedRifle.Add();      //75             GUN 21
            AK94.Add();               //76                      GUN 22
            LeakingSyringe.Init();    //77           PASSIVE 40
            Holoprinter.Init();       //78              ACTIVE 14
            Günther.Add();            //79                   GUN 23
            AK141.Add();              //80                     GUN 24
            AK188.Add();              //81                     GUN 25
            InfiniteAK.Add();         //82                GUN 26
            //  ---AltarOfKaliber.Init();
            BrokenAltar.Init();
            PlasmaCannon.Add();   //85              GUN 27
            TheLastChamber.Add(); //86            GUN 28
            //  ---BulletDog.Init();//ENEMY 1
            //--- HunterKin.Init();//ENEMY 2
            AutoShotgun.Add();//87               GUN 29
            // ---CrownOfTheChosen.Init();
            // ---CrownChanger.InitCrowns();

            Vacuum.Add();           //88                    GUN 30
            StickyLauncher.Add();   //89            GUN 31
            SupportContract.Init(); //90          ACTIVE 15
            PanicPistol.Add();      //91               GUN 32
            NineBarreledGun.Add();  //92           GUN 33
            //---Ak_hillesHeel.Init();
            //--- TestTargettingSystem.Init();
            SympathyBullets.Init(); //93          PASSIVE 41
            //--- RefractedGlass.Init();
            BloatedRounds.Init();   //94            PASSIVE 42
            EyesOfStone.Init();     //95              PASSIVE 43
            ShellBank.Init();       //96                PASSIVE 44
            //Katana.Add();

            /*
             * HairGel.Init();
             * IgnitionPowder.Init();
             * Magnorbs.Add(); // need to do the orbiting code
             * PoisonPoltergeist.Init();
             *
             * PsiMarker.Init(); //Still need to fix this lol, specifically SpecialOrbitals needs to be fixed.
             * PsiScales.Add();
             * PsiFocus.Init();
             * //Prob wok on Psi Scales tomorrow.
             * SliverBeam.Add();
             */
            GoldenRecord.Init();//97             ACTIVE 16


            //--- MunitionsChestController.Init();
            if (SteamUsername != string.Empty)
            {
                SteamUsername = SteamFriends.GetPersonaName();
                CrownChanger.Change();
            }

            //SPINEL TONIC BY TankTheta!
            //Bismuth Ammolet sprite by TankTheta!
            //Spirit spride by TankTheta!

            //Thanks to ExplosivePanda for helping with the code for Soul Forge
            DualGunsManager.AddDual();
            HoveringGunsAdder.AddHovers();
            SynergyFormAdder.AddForms();

            foreach (AdvancedSynergyEntry syn in GameManager.Instance.SynergyManager.synergies)
            {
                if (syn.NameKey == "#IRONSHOT")
                {
                    syn.OptionalGunIDs.Add(ETGMod.Databases.Items["billiard_bouncer"].PickupObjectId);
                }
            }

            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.ExtravaganceSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.RulebookSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.SturdyAmmoSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.LeadWeightSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.DragunRoarSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.IronManSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.EldritchLoveSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.TwoForOneSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.CriticalMassSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.OverclockedSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.SovietSkillsSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.CommunistIdealsSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.LuckySpinSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.TestGunSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.DEATHGunSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.TrueGunpowderSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.GoldenSpinSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.LoveLeechSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.JajankenSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.AllOutOfLoveSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.BleedingEdgeSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.AbsoluteChaosSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.ShakenSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.CallingInTheHeavySupportSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.BloodlessSyn()
            }).ToArray <AdvancedSynergyEntry>();
            GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
            {
                new CelSynergies.KvotheKingKillerSyn()
            }).ToArray <AdvancedSynergyEntry>();

            /* --- GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
             * {
             *   new CelSynergies.VacuumChamberSyn()
             * }).ToArray<AdvancedSynergyEntry>();
             */
            ETGModConsole.Commands.AddGroup("cel", args =>
            {
            });

            //---ETGModConsole.Commands.GetGroup("cel").AddUnit("crown_override", this.CrownOverride);
            //---ETGModConsole.Commands.GetGroup("cel").AddUnit("mchest", this.SpawnMChest);
            ETGModConsole.Commands.GetGroup("cel").AddUnit("toggle_eyestrain", ToggleEyeStrain);
            //--- ETGModConsole.Commands.GetGroup("cel").AddUnit("get_risk_value", GetRiskStatValue);
            Log($"{Modname} v{Version} started successfully.", Color);
            Log($"Link to Changelog https://pastebin.com/0LeBBa57", Color);
        }
Exemple #23
0
        public override void Start()
        {
            try
            {
                ZipFilePath     = this.Metadata.Archive;
                metadata        = this.Metadata.Directory;
                metadataARCHIVE = this.Metadata.Archive;
                FilePath        = this.Metadata.Directory + "/rooms";

                path = "CakeMod.Resources.TurtSprites.";

                assembly = Assembly.GetExecutingAssembly();
                list     = new List <Texture2D>();
                foreach (var item in assembly.GetManifestResourceNames())
                {
                    if (!item.EndsWith(".png"))
                    {
                        continue;
                    }

                    if (item.StartsWith(path))
                    {
                        list.Add(ResourceExtractor.GetTextureFromResource(item));
                    }
                }

                ETGModConsole.Log(list.Count.ToString());
                cosmoSpriteSheet = ResourceExtractor.GetTextureFromResource(cosmoSpriteSheetName);
                FloorSheet       = ResourceExtractor.GetTextureFromResource(StringFloorSheet);


                FakePrefabHooks.Init();
                ItemBuilder.Init();
                EnemyTools.Init();
                EnemyBuilder.Init();
                Hooks.Init();
                BossBuilder.Init();
                SpecialBlankModificationItem.InitHooks();
                ItemsMod.Strings = new AdvancedStringDB();
                EasyGoopDefinitions.DefineDefaultGoops();

                Cake.Init();
                CircularKing.Init();
                KinglyBullets.Init();
                LockOfTheJammed.Init();
                CakeBullets.Init();
                BleakBullets.Init();
                Jankan.Init();
                Robohead.Init();
                HatShells.Init();
                DumbBullets.Init();
                ControlledBullets.Init();
                David.Init();
                HeadCrab.Init();
                GunJester.Init();
                Waffle.Init();
                BladeBullets.Init();
                TheFool.Init();
                BowlerHat.Init();
                Depresso.Init();
                FleshCake.Init();
                BountyPoster.Init();
                OneReverse.Init();
                StrangeEffigy.Init();
                ConcealedTreasure.Init();
                Winpetster.Init();
                RookGuonStone.Init();
                IceOgreHead.Init();
                MysteriousIdol.Init();
                GlowingWomb.Init();
                Honkhorn.Init();
                HeartyLocket.Init();
                FunnyHat.Init();
                Radio.Init();
                ChocolateBar.Init();
                CluwneBullets.Init();
                BowlerRainbowDust.Init();
                StrangeArrow.Init();
                testingitem.Init();
                TestItem.Init();
                glitchammolet.Init();
                testbarrel.Init();
                BlobHeart.Init();
                WebAmmolet.Init();
                StarNinja.Init();
                PoisonBomb.Init();
                RoboticHeart.Init();
                ApprenticeScroll.Init();
                amogus.Init();
                ArmouredKey.Init();
                BabyGoodChamber.Init();
                SpringlockSuit.Init();
                BirthdayCandle.Init();
                DeadlyInsanity.Init();
                Keysing.Init();
                BabyGoodLovebulon.Init();
                FreddyPizza.Init();
                CultistHelm.Init();
                Lime.Init();
                CurseItemTest.Init();
                GoopCurse.Init();
                Jammolet.Init();
                HoloProjection.Init();
                Clumsy.Init();
                MiniShroom.Init();
                DrawnChamber.Init();
                BabyGoodMagnum.Init();
                SewingKit.Init();
                PocketRedChest.Init();
                PocketBlackChest.Init();
                PocketGreenChest.Init();
                PocketBlueChest.Init();
                PocketBrownChest.Init();
                ChestFriend.Init();
                PricklyPear.Init();
                StrangePotion.Init();
                DevilContract.Init();
                Hellfire.Init();
                BloomingHeart.Init();
                RatRound.Init();
                FrozenFrog.Init();
                BabyGoodApiary.Init();
                ImmortalSmoke.Init();
                UFO.Init();
                VoodooHeart.Init();
                GunslingKingRequest.Init();
                HappyLad.Init();
                Fez.Init();
                NecromancerBook.Init();
                PlatinumJunk.Init();
                ToxicArmour.Init();
                Notebook.Init();
                TestJammedBullets.Init();
                BulletKinBullets.Init();
                LichHat.Init();
                Skelebot.Init();
                CosmoStatue.CosmoBuildPrefab();
                LichHat2.Init();
                PickleJar.Init();
                Jawbreaker.Init();
                Rift.Init();
                SaveDisk.Init();
                d20.Init();
                ThirdEye.Init();
                GhostlyBody.Init();
                Butter.Init();
                Cookie.Init();
                JunkChestHandler.TheHooks();
                CarpenterHandbook.Init();
                Ipecac.Init();
                Taurus.Init();
                LifeLemon.Init();
                ArmourGuonStone.Init();
                JammedGunParts.Init();
                CloningVat.Init();
                DevilKey.Init();
                TurtsMelon.Init();
                SpareShell.Init();
                FungalTurtle.Init();
                PBullets.Init();
                OddBullets.Init();
                BloodTether.Init();
                TableTechHolographic.Init();
                NavySealCopypasta.Init();
                RuneChalk.Init();
                //RuneChalk2.Init();

                Synergun.Add();
                JackpotOfGreed.Add();
                NoSpriteFound.Add();
                boneblaster.Add();
                KingGun.Add();
                GungeonGun.Add();
                Glockamole.Add();
                CursedKatana.Add();
                Blox.Add();
                Terragun.Add();
                SpongeGun.Add();
                Horn.Add();
                IHateGuns.Add();
                gamefreeze.Add();
                Bananastaff.Add();
                Blackpistol.Add();
                boomstick.Add();
                SydneySleeper.Add();
                Explodergun.Add();
                Scrapgun.Add();
                tinyshotgun.Add();
                GunResource.Add();
                Scrapper.Add();
                Megaphone.Add();
                MissGun.Add();
                Drawn47.Add();
                PirateShotgunKinGun.Add();
                AnArrowkin.Add();
                Timerase.Add();
                Knife.Add();
                firegun.Add();
                Television.Add();
                //Dupligun.Add();
                //OneShot.Add();
                MoneyDebuffEffect.Init();
                money22DebuffEffect.Init();
                hegemonyDebuffEffect.Init();
                moneydebuff3DebuffEffect.Init();
                DemonBuff.Init();
                CasingBullets.Init();
                UnlockHookInators.Init();
                InkBooklet.Init();
                Doodlelet.Init();
                KoolAidMan.Init();
                ammomimic.Init();
                BulletBishop.Init();
                FlameChamber.Init();
                KillShrine.Init();
                InflamedEye.Init();
                FlameClone.Init();
                Jesterlet.Init();
                Mimekin.Init();
                RoyalJesterlet.Init();
                DrawnKin.Init();
                HoveringGunsAdder.AddHovers();
                CakeGunMods.Init();
                BreachShopTool.AddBaseMetaShopTier(ETGMod.Databases.Items["Cultist Helm"].PickupObjectId, 80, ETGMod.Databases.Items["Rainbowllets"].PickupObjectId, 25, ETGMod.Databases.Items["Reloading Waffle"].PickupObjectId, 75, null);
                GameManager.Instance.SynergyManager.synergies = GameManager.Instance.SynergyManager.synergies.Concat(new AdvancedSynergyEntry[]
                {
                    new SyngergraceThisMod.HatSynergy(),
                    new SyngergraceThisMod.IceSynergy(),
                    new SyngergraceThisMod.RainbowSynergy(),
                    new SyngergraceThisMod.ChaosSynergy(),
                    new SyngergraceThisMod.VoodooSynergy(),
                    //new SyngergraceThisMod.OldSynergy(),
                    new SyngergraceThisMod.LoveSynergy(),
                    new SyngergraceThisMod.SoundSynergy(),
                }).ToArray <AdvancedSynergyEntry>();

                //TinyBullet.Add();
                //OldManBreach.Add();


                //ArtistShrine.Add();
                Chester.Add();
                //LesGo.Add();
                StaticReferences.Init();
                StaticReferences2.Init();
                DungeonHandlerTrueForm.Init();
                ShrineFakePrefabHooks.Init();
                ShrineFactory.Init();
                OldShrineFactory.Init();
                SaveAPIManager.Setup("cak");
                ShrineFactory.PlaceBreachShrines();
                ETGModConsole.Log("King's Items is up and running.");
                SyngergraceThisMod.Synergies();
                SynergyFormInitialiser.AddSynergyForms();
                ModPrefabs.InitCustomPrefabs();

                ModRoomPrefabs.InitCustomRooms();

                FloorNameDungeonFlows.InitDungeonFlows();

                DoodleDungeon.InitCustomDungeon();

                ETGModConsole.Commands.AddUnit("daflow", (args) =>
                {
                    DungeonHandlerTrueForm.debugFlow = !DungeonHandlerTrueForm.debugFlow;
                    string status = DungeonHandlerTrueForm.debugFlow ? "enabled" : "disabled";
                    string color  = DungeonHandlerTrueForm.debugFlow ? "00FF00" : "FF0000";
                    ETGModConsole.Log($"da flow is {status}", false);
                });
                List <string> SpareVFXPaths = new List <string>()
                {
                    "CakeMod/Resources/BulletBishop/incense_teleport_poof_001",
                    "CakeMod/Resources/BulletBishop/incense_teleport_poof_002",
                    "CakeMod/Resources/BulletBishop/incense_teleport_poof_003",
                    "CakeMod/Resources/BulletBishop/incense_teleport_poof_004",
                    "CakeMod/Resources/BulletBishop/incense_teleport_poof_005",
                    "CakeMod/Resources/BulletBishop/incense_teleport_poof_006",
                    "CakeMod/Resources/BulletBishop/incense_teleport_poof_007",
                    "CakeMod/Resources/BulletBishop/incense_teleport_poof_008",
                };
                GameObject spareVFX = VFXLibrary.CreateVFX("IncensePoof", SpareVFXPaths, 1, new IntVector2(10, 1), tk2dBaseSprite.Anchor.LowerCenter, true, 0.18f, 0, null);
                EasyVFXDatabase.IncenseVFX = spareVFX;
                List <string> SpareVFXPaths3 = new List <string>()
                {
                    "CakeMod/Resources/FlameChamber/flamepoof_001",
                    "CakeMod/Resources/FlameChamber/flamepoof_002",
                    "CakeMod/Resources/FlameChamber/flamepoof_003",
                    "CakeMod/Resources/FlameChamber/flamepoof_004",
                    "CakeMod/Resources/FlameChamber/flamepoof_005",
                };
                GameObject spareVFX3 = VFXLibrary.CreateVFX("FlamePoof", SpareVFXPaths3, 7, new IntVector2(10, 1), tk2dBaseSprite.Anchor.LowerCenter, true, 0.18f, 0, null);
                EasyVFXDatabase.FlameVFX = spareVFX3;
                List <string> SpareVFXPaths2 = new List <string>()
                {
                    "CakeMod/Resources/BloodyLightning/blood1",
                    "CakeMod/Resources/BloodyLightning/blood2",
                    "CakeMod/Resources/BloodyLightning/blood3",
                    "CakeMod/Resources/BloodyLightning/blood4",
                    "CakeMod/Resources/BloodyLightning/blood5",
                    "CakeMod/Resources/BloodyLightning/blood6",
                    "CakeMod/Resources/BloodyLightning/blood7",
                    "CakeMod/Resources/BloodyLightning/blood8",
                    "CakeMod/Resources/BloodyLightning/blood9",
                    "CakeMod/Resources/BloodyLightning/blood10",
                };
                GameObject spareVFX2 = VFXLibrary.CreateVFX("String", SpareVFXPaths2, 16, new IntVector2(10, 1), tk2dBaseSprite.Anchor.LowerCenter, true, 0.18f, 0, null);
                EasyVFXDatabase.StringVFX = spareVFX2;
                //DoodleDungeon.InitCustomDungeon();
            }
            catch (Exception e)
            {
                ETGModConsole.Log(e.ToString(), false);
            }
        }
Exemple #24
0
        // Token: 0x0600001B RID: 27 RVA: 0x000028E8 File Offset: 0x00000AE8
        public override void Start()
        {
            ItemAPI.Tools.Init();
            StaticReferences.Init();
            ShrineFakePrefabHooks.Init();
            ShrineFactory.Init();
            BreachShopTool.DoSetup();
            BossBuilder.Init()
            ;                       MultiActiveReloadManager.SetupHooks();
            ItemBuilder.Init();
            HookYeah.Init();
            //FakePrefabHooks.Init();
            GungeonAPI.Tools.Init();
            //GungeonAP.Init();
            //FakePrefabHooks.Init();
            //ShrineFactory.Init();
            //ShrineFactory.PlaceBnyBreachShrines();
            //TestActiveItem.Init();
            //VengeanceVlone.Init();
            //ShatterEffect.Initialise();
            ShrineOfTheLeadLord.Add();
            ChaosCorruptionShrine.Add();
            PleaseForgiveMe.Add();
            BunnyModule.Strings = new AdvancedStringDB();
            //SpecialDungeon.Init();

            EnemyBuilder.Init();
            HooksEnemy.Init();
            ToolsEnemy.Init();

            ArtifactOfRevenge.Init();
            ArtifactOfAttraction.Init();
            ArtifactOfGlass.Init();
            ArtifactOfAvarice.Init();
            ArtifactOfDaze.Init();
            ArtifactOfPrey.Init();
            ArtifactOfMegalomania.Init();
            ArtifactOfFodder.Init();
            ArtifactOfBolster.Init();
            ArtifactOfEnigma.Init();
            ArtifactOfSacrifice.Init();
            ArtifactOfFraility.Init();
            //ArtifactOfParanoia.Init();

            /*
             * ModuleCannon.Add();
             * ModuleChip.Init();
             * ModuleAmmoEater.Init();
             * ModuleDamage.Init();
             * ModuleClipSize.Init();
             * ModuleFireRate.Init();
             * ModuleReload.Init();
             * T2ModuleYV.Init();
             * T2ModuleCloak.Init();
             * T2ModulePierce.Init();
             * T2ModuleBounce.Init();
             * T2ModuleEjector.Init();
             * T2ModuleHoming.Init();
             * T3ModuleRocket.Init();
             * T3ModuleInaccurate.Init();
             * T3ModuleColossus.Init();
             * T3ModuleOverload.Init();
             * T3ModuleReactive.Init();
             * CorruptModuleSensor.Init();
             * CorruptModuleAccuracy.Init();
             * CorruptModuleLoose.Init();
             * CorruptModuleCoolant.Init();
             * CorruptModuleDamage.Init();
             */

            //Gimmick Heavy Guns
            TrainGun.Add();
            LastStand.Add();
            SoulStealer.Add();
            Commiter.Add();
            Pickshot.Add();
            AerialBombardment.Add();
            WarningShot.Add();


            //Mimic Guns
            Casemimic.Add();
            ChambemimicGun.Add();
            ABlasphemimic.Add();
            Gunthemimic.Add();
            Mimikey47.Add();

            //Mechanical Guns
            MatterTranslocator.Add();
            ThunderStorm.Add();
            CaptainsShotgun.Add();
            EnforcersLaw.Add();
            TimeZoner.Add();
            ArtemissileRocket.Add();
            BigNukeGun.Add();
            BoxGun.Add();
            REXNeedler.Add();
            FlakCannon.Add();
            GunslayerShotgun.Add();
            RogueLegendary.Add();


            //Otherworldly Guns
            HarvestersShotgun.Add();

            PrismaticShot.Add();
            Starbounder.Add();
            ReaverClaw.Add();
            ReaverHeart.Add();
            ChaosRevolver.Add();
            ChaosRevolverSynergyForme.Add();
            ChaosHand.Add();
            NuclearTentacle.Add();
            SteveStaff.Add();

            //Outright Wacky weaponry
            Valkyrie.Add();
            OppressorsCrossbow.Add();
            GunslayerGauntlets.Add();
            SuperFlakCannon.Add();
            MithrixHammer.Add();
            TungstenCube.Add();
            CoolStaff.Add();
            ASwordGun.Add();
            AGunSword.Add();
            Microwave.Add();
            //Dumb Guns
            StickGun.Add();
            //BulletCaster.Add();
            SausageRevolver.Add();
            BloatedRevolver.Add();
            PocketPistol.Add();
            BrokenGunParts.Add();
            IDPDFreakGun.Add();
            FakeShotgun.Add();
            Bugun.Add();

            //Life Living
            PersonalGuard.Init();
            GlockOfTheDead.Init();
            LizardBloodTransfusion.Init();
            AbsoluteZeroPotion.Init();
            MatrixPotion.Init();
            GreandeParasite.Init();
            //Joke Items
            SpeckOfDust.Init();
            LastResort.Init();
            JokeBook.Init();
            //Mechanical Items
            OnPlayerItemUsedItem.Init();
            StaticCharger.Init();

            //Bullet Type Items
            ResurrectionBullets.Init();
            GuillotineRounds.Init();

            LunarGlassRounds.Init();
            ReaverRounds.Init();


            SimpBullets.Init();
            //Cursed Items   Risk Reward Items
            LeadHand.Init();
            JammedGuillotine.Init();
            GestureOfTheJammed.Init();
            CrownOfBlood.Init();
            RTG.Init();
            DGrenade.Init();
            MalachiteCrown.Init();
            AncientWhisper.Init();
            AncientEnigma.Init();
            LunarGlassSyringe.Init();
            SlayerKey.Init();
            DamocleanClip.Init();
            DeathMark.Init();
            TheMonolith.Init();
            LoopMarker.Init();
            BulletRelic.Init();
            GodLifesGift.Init();
            BloodGoldRing.Init();

            //Defense Items
            SuperShield.Init();
            GunslayerHelmet.Init();
            FreezeLighter.Init();
            //Stats Up
            Microscope.Init();
            EmpoweringCore.Init();
            BookOfEconomics.Init();
            CounterChamber.Init();
            Infusion.Init();
            MinigunRounds.Init();
            //Otherworldly
            AstralCounterweight.Init();
            SpiritOfStagnation.Init();
            SoulInAJar.Init();
            AmmoRepurposer.Init();
            ZenithDesign.Init();
            ChaosGodsWrath.Init();
            SkyGrass.Init();
            ChaosChamber.Init();
            ChaosHammer.Init();
            BloodyTrigger.Init();

            Coolrobes.Init();
            //Companion Items/CompanionAI
            //Claycord.Init();
            Blastcore.Init();
            //ClayCordStatue.ClayBuildPrefab();
            GunSoulBox.Init();
            GunSoulBlue.BlueBuildPrefab();
            GunSoulGreen.GreenBuildPrefab();
            GunSoulRed.RedBuildPrefab();
            GunSoulYellow.YellowBuildPrefab();
            GunSoulPink.PinkBuildPrefab();
            GunSoulPurple.PurpleBuildPrefab();
            PointZero.Init();
            //BabyGoodModular.Init();
            //Guon Stones
            GuonPebble.Init();
            ChaosGuonStone.Init();
            BulluonStone.Init();
            DynamiteGuon.Init();
            GuonGeon.Init();
            //Ammolets
            LunarGlassAmmolet.Init();
            ReaverAmmolet.Init();
            //TableTechs
            TableTechReload.Init();
            TableTechBomb.Init();
            TableTechSoul.Init();
            TableTechKnife.Init();
            //OP???
            BunnysFoot.Init();
            //Random Weird Shit that just kinda exists
            GungeonInvestment.Init();
            BrokenLockpicker.Init();
            Dejammer.Init();
            Keylocator.Init();
            Keyceipt.Init();
            FrequentFlyer.Init();

            Death.Add();
            Taxes.Add();
            Lacon1Scrap.Init();
            Lacon1.Add();
            Lacon2.Add();
            Lacon3.Add();
            Lacon4.Add();
            Lacon5.Add();
            Lacon6.Add();
            //Vengeance.Init();
            TestItemBNY.Init();
            DragunHeartThing.Init();
            MasteryReplacementRNG.InitDungeonHook();
            SynergyFormInitialiser.AddSynergyForms();
            InitialiseSynergies.DoInitialisation();
            //BunnyEnemies.InitPrefabs();
            //AbyssKinPlease.Init();
            //AbyssShotgunner.Init();
            ChaosBeing.Init();
            ChaosBeingLarge.Init();
            //DopplegamnerClone.Init();
            //	AncientWhisperInfinite.Init();
            CursedPearl.Init();
            RewardCrown.Init();
            ChaosMalice.Add();
            ChaosEmblem.Init();
            //Curse2Emblem.Init();


            DeathsDebt.Init();

            SteadyShotSniper.Add();
            TheStranger.Init();
            //TheStranger.Init();
            //AdrenalineAmmolet.Init();
            //Game.Items["bny:matter_translocator"].SetupUnlockOnCustomFlag(CustomDungeonFlags.EXAMPLE_BLUEPRINTTRUCK, true); //setups rolling eye's unlock
            //Game.Items["bny:matter_translocator"].AddItemToTrorcMetaShop(1123); //adds rolling eye to trorc's breach shop as the last item


            BunnyModule.Log(BunnyModule.MOD_NAME + " v" + BunnyModule.VERSION + " started successfully.", BunnyModule.TEXT_COLOR);
        }
Exemple #25
0
        public override void Start()
        {
            try
            {
                GungeonAP.Init();

                ETGModConsole.Commands.AddUnit("botflow", delegate(string[] args)
                {
                    DungeonHandler.debugFlow = !DungeonHandler.debugFlow;
                    string str   = DungeonHandler.debugFlow ? "enabled" : "disabled";
                    string color = DungeonHandler.debugFlow ? "00FF00" : "FF0000";
                    LostItemsMod.Log("Debug flow " + str, color);
                });
            }
            catch (Exception e)
            {
                LostItemsMod.Log("Command Broke", TEXT_COLOR_BAD);
                LostItemsMod.Log(string.Format(e + ""), TEXT_COLOR_BAD);
            }

            try
            {
                //GungeonAP.Init();
                //NuclearShrine.Add();
                FakePrefabHooks.Init();
                ItemBuilder.Init();
                ShrineFactory.Init();
                GungeonAPI.Tools.Init();

                EnemyAPI.Tools.Init();
                EnemyAPI.Hooks.Init();

                //CustomSynergiesBaseGame.Init();

                hooks.Init();

                //MoreBreachShrine.Add();
                //BreachRoomShrine.Add();

                // ConfigManager sta = new ConfigManager();
                // GunConfigManager gcf = new GunConfigManager();

                //sta.Init();
                //gcf.Init();

                //CustomGun.Add();

                //GunBuffs.Init();

                // MagicSpriteStuff.Init();

                //Ping.Init();

                NuclearTalisman.Init(); //potato

                BotGhost.Init();        //potato

                LostGun.Add();          //1 change sounds

                //SaiGun.Add();//2 book sprite

                LostOrb.Init();        //3 sprite is boring

                LostRobe.Init();       //4

                RoboticMuncher.Init(); //5

                JunkHeart.Init();      //6 i think this is done

                LootBox.Init();        //7

                CNerfGun.Add();        //8 pretty much everything

                //MopController.Add();//9 fix charge animation, add water projectile

                CoopTest.Init();       //10 pretty much everything

                Bond.Init();           //11 rework or remove

                Bob.Init();            //12 this ones just a joke

                Children.Init();       //13 maybe add some nice vfx

                BlessedOrb.Init();     //14

                BanGun.Add();          //15 disintergration effect, new projectile sprite?

                RetoStarter.Init();    //16 add flight and knockback, lessen the light it gives off

                RetoStarterOld.Init(); //17 add flight and knockback, lessen the light it gives off

                Test.Init();           //18 add new items when i get to making them

                MistakeCharm.Init();   //19 i think this one is fine

                Revenge.Init();        //21

                //CNerfGun2.Add();//22

                //ETGModConsole.Log("up to pet works");

                BabyGoodMistake.Init();//20 make the synergy work

                //Demonitization.Init(); //23

                // syntest.Add(); //24

                //syntest2.Add(); //25

                CosmicSludge.Init(); // 26

                //StarterGun.Add(); // 27

                ScatedyCat.Init();        // 28

                Shine.Init();             //29

                Kunia.Add();              //30

                BalencePatch.Init();      //31

                ChlorophyteRounds.Init(); //32

                LostGunAlt.Add();         //33

                Apache.Add();

                //TestGun.Add();//

                TestActive.Init();  //35
                                    //RageRifle.Add();//34
                TestPassive.Init(); //36

                Gundertale.Add();

                MyItem.Init();

                RuinousEffigy.Add();

                Log($"Begining to load Nuclear Throne related stuff...", TEXT_COLOR_NT);
                //2.1



                // NuclearTalisman.Init();

                MutaionBolt.Init();           //1

                MutaionBullet.Init();         //2``

                MutaionEnergy.Init();         //3``

                MutaionShell.Init();          //4``

                MutaionMelee.Init();          //5``

                MutaionStress.Init();         //6

                MutaionTriggerFingers.Init(); //7

                MutaionTeeth.Init();          //8

                MutaionFace.Init();           //9

                MutaionSkin.Init();           //10

                MutaionEyes.Init();           //11

                MutaionMuscle.Init();         //12

                MutaionFeet.Init();           //13

                MutaionPaw.Init();            //14

                MutaionWish.Init();           //15

                MutaionEuphoria.Init();       //16

                MutaionWrists.Init();         //17

                MutaionBlood.Init();          //18

                MutaionStomach.Init();        //19

                MutaionLucky.Init();          //20

                MutaionExplosive.Init();      //21

                MutaionGuts.Init();           //22

                MutaionMind.Init();           //23

                MutaionSpirit.Init();         //24

                MutaionWait.Init();           //25

                //Tools.Print<string>("Did Start()", "00FF00", false);
                //NuclearShrine.Add();

                SnareGoop.Init();

                AbilityMelting.Init();  //1

                AbilityRobot.Init();    //2

                AbilitySteroids.Init(); //3

                AbilityRogue.Init();    //4

                AbilityRebel.Init();    //5

                AbilityCrystal.Init();  //6

                AbilityPlant.Init();    //7

                AbilityYV.Init();       //8

                AbilityEyes.Init();     //9

                AbilityChicken.Init();

                // RebelGun.Add();//1

                CharacterShrine.Add();//2


                Revolver.Add();

                AssaultRifle.Add();

                SmartGun.Add();

                //Katana.Init();


                Directory.CreateDirectory("NTConfig");
                bool flag = !File.Exists("NTsConfig/protochest.json");
                if (flag)
                {
                    File.WriteAllText("NTConfig/protochest.json", "1");
                }
                // bool flag2 = !LostItemsMod.AvailableNailModes.Contains(File.ReadAllText("NTConfig/nailmode.json"));
                // if (flag2)
                //{
                // File.WriteAllText("NTConfig/protochest.json", "normal");
                // }
                LostItemsMod.ProtoChestContent = File.ReadAllText("NTConfig/protochest.json");

                ProtoChest.Add();

                ShrineFactory.PlaceBreachShrines();


                ETGModConsole.Commands.AddGroup("nt", delegate(string[] args)
                {
                    ETGModConsole.Log("shoop has my family", false);
                });

                ETGModConsole.Commands.GetGroup("nt").AddUnit("level", delegate(string[] args)
                {
                    header = "test";
                    text   = "test";

                    Notify(header, text);
                });

                ETGModConsole.Commands.GetGroup("nt").AddUnit("character", delegate(string[] args)
                {
                    header = NuclearShrine.header;
                    text   = "Character";

                    Notify(header, text);
                });

                ETGModConsole.Commands.GetGroup("nt").AddUnit("protochest", delegate(string[] args)
                {
                    LostItemsMod.Log("Current stored gun has the id " + ProtoChest.StoredGunID, LostItemsMod.TEXT_COLOR_NT);
                });



                LostItemsMod.Log(LostItemsMod.MOD_NAME + " v" + LostItemsMod.VERSION + " started successfully.", LostItemsMod.TEXT_COLOR);
                LostItemsMod.Log("It worked", LostItemsMod.TEXT_COLOR_GOOD);
            }
            catch (Exception arg)
            {
                LostItemsMod.Log(string.Format(LostItemsMod.MOD_NAME + " v" + LostItemsMod.VERSION + " Failed to load ", LostItemsMod.MOD_NAME, LostItemsMod.VERSION, arg), LostItemsMod.TEXT_COLOR_BAD);
                LostItemsMod.Log("it did not work", LostItemsMod.TEXT_COLOR_BAD);
            }
        }
        public override void Start()
        {
            try
            {
                ETGModConsole.Log("Once More Into The Breach started initialising...");

                //Rooms
                ZipFilePath = this.Metadata.Archive;
                FilePath    = this.Metadata.Directory + "/rooms";
                ModName     = this.Metadata.Name;

                //Tools and Toolboxes
                StaticReferences.Init();
                ExoticPlaceables.Init();
                DungeonHandler.Init();
                Tools.Init();
                ShrineFakePrefabHooks.Init();

                ShrineFactory.Init();
                OldShrineFactory.Init();

                FakePrefabHooks.Init();

                ItemBuilder.Init();
                CharApi.Init("nn");
                CustomClipAmmoTypeToolbox.Init();
                EnemyTools.Init();
                NpcApi.Hooks.Init();
                EnemyAPI.Hooks.Init();
                SaveAPIManager.Setup("nn");
                AudioResourceLoader.InitAudio();
                CurseManager.Init();
                ETGModMainBehaviour.Instance.gameObject.AddComponent <GlobalUpdate>();
                ETGModMainBehaviour.Instance.gameObject.AddComponent <CustomDarknessHandler>();
                GameOfLifeHandler.Init();
                //ETGModMainBehaviour.Instance.gameObject.AddComponent<GameOfLifeHandler>();

                //ETGModConsole.Log(Assembly.GetExecutingAssembly().FullName);

                //Challenges
                Challenges.Init();

                //Hooks n Shit
                PlayerToolsSetup.Init();
                EnemyHooks.InitEnemyHooks();
                CompanionisedEnemyUtility.InitHooks();
                MiscUnlockHooks.InitHooks();
                FloorAndGenerationToolbox.Init();
                PedestalHooks.Init();
                ExplosionHooks.Init();
                ChestToolbox.Inithooks();
                UIHooks.Init();
                ComplexProjModBeamCompatibility.Init();
                ReloadBreachShrineHooks.Init();
                metadata = this.Metadata;
                //VFX Setup
                VFXToolbox.InitVFX();
                EasyVFXDatabase.Init(); //Needs to occur before goop definition
                ShadeFlightHookFix.Init();

                //Status Effect Setup
                StaticStatusEffects.InitCustomEffects();
                PlagueStatusEffectSetup.Init();
                Confusion.Init();

                //Goop Setup
                EasyGoopDefinitions.DefineDefaultGoops();
                DoGoopEffectHook.Init();

                //Commands and Other Console Utilities
                Commands.Init();

                //Hats
                HatUtility.NecessarySetup();
                HatDefinitions.Init();

                //Gamemodes
                AllJammedState.Init();
                JammedChests.Init();

                //Exotic Object Shit

                //VFX
                LockdownStatusEffect.Initialise();

                //Testing / Debug Items
                ActiveTestingItem.Init();
                PassiveTestingItem.Init();
                BulletComponentLister.Init();
                ObjectComponentLister.Init();

                //-----------------------------------------------------ITEMS GET INITIALISED
                #region ItemInitialisation
                //Character Starters
                ShadeHand.Init();
                ShadeHeart.Init();
                //Egg Salad and Prima Bean can go here, because they were the first
                EggSalad.Init();
                PrimaBean.Init();
                //Bullet modifiers
                BashingBullets.Init();
                TitanBullets.Init();
                MistakeBullets.Init();
                FiftyCalRounds.Init();
                UnengravedBullets.Init();
                EngravedBullets.Init();
                HardReloadBullets.Init();
                NitroBullets.Init();
                SupersonicShots.Init();
                GlassRounds.Init();
                Junkllets.Init();
                BloodthirstyBullets.Init();
                CleansingRounds.Init();
                HallowedBullets.Init();
                PromethianBullets.Init();
                EpimethianBullets.Init();
                RandoRounds.Init();
                IngressBullets.Init(); //Unfinished
                HematicRounds.Init();
                FullArmourJacket.Init();
                MirrorBullets.Init();
                CrowdedClip.Init();
                BashfulShot.Init();
                OneShot.Init();
                BulletBullets.Init();
                AntimatterBullets.Init();
                SpectreBullets.Init();
                Tabullets.Init();
                TierBullets.Init(); //Unfinished
                BombardierShells.Init();
                GildedLead.Init();
                DemoterBullets.Init();
                Voodoollets.Init();
                TracerRound.Init();
                EndlessBullets.Init();
                HellfireRounds.Init();
                Birdshot.Init();
                Unpredictabullets.Init();
                WarpBullets.Init();
                BulletsWithGuns.Init();
                LaserBullets.Init();
                BalancedBullets.Init();          //Unfinished
                WoodenBullets.Init();
                ComicallyGiganticBullets.Init(); //Excluded
                KnightlyBullets.Init();
                EmptyRounds.Init();
                LongswordShot.Init();
                DrillBullets.Init();
                FoamDarts.Init();
                BatterBullets.Init();
                ElectrumRounds.Init();
                BreachingRounds.Init();
                MagnetItem.Init();
                EargesplittenLoudenboomerRounds.Init();
                TheShell.Init();
                //Status Effect Bullet Mods
                SnailBullets.Init();
                LockdownBullets.Init();
                PestiferousLead.Init();
                Shrinkshot.Init();
                //Volley Modifying Bullet Mods
                Splattershot.Init();
                BackwardsBullets.Init();
                CrossBullets.Init();
                ShadeShot.Init();
                //Insta-Kill Bullet Modifiers
                MinersBullets.Init();
                AntimagicRounds.Init();
                AlkaliBullets.Init();
                ShutdownShells.Init();
                ERRORShells.Init();
                OsteoporosisBullets.Init();
                //NonBullet Stat Changers
                MicroAIContact.Init();
                LuckyCoin.Init();
                IronSights.Init();
                Lewis.Init();
                MysticOil.Init();
                VenusianBars.Init();
                NumberOneBossMug.Init();
                LibramOfTheChambers.Init();
                OrganDonorCard.Init();
                GlassGod.Init();
                ChaosRuby.Init();
                BlobulonRage.Init();
                OverpricedHeadband.Init();
                GunslingerEmblem.Init();
                MobiusClip.Init();
                ClipOnAmmoPouch.Init();
                JawsOfDefeat.Init();
                //Armour
                ArmourBandage.Init();
                GoldenArmour.Init();
                ExoskeletalArmour.Init();
                PowerArmour.Init();
                ArmouredArmour.Init();
                //Consumable Givers
                LooseChange.Init();
                SpaceMetal.Init();
                //Blank Themed Items
                TrueBlank.Init();
                FalseBlank.Init();
                SpareBlank.Init();
                OpulentBlank.Init();
                GrimBlanks.Init();
                NNBlankPersonality.Init();
                Blombk.Init();
                Blankh.Init();
                //Key Themed Items
                BlankKey.Init();
                SharpKey.Init();
                SpareKey.Init();
                KeyChain.Init();
                KeyBullwark.Init();
                KeyBulletEffigy.Init();
                FrostKey.Init();
                ShadowKey.Init();
                Keygen.Init();
                CursedTumbler.Init();
                //Ammo Box Themed Items
                TheShellactery.Init();
                BloodyAmmo.Init();
                MengerAmmoBox.Init();
                AmmoTrap.Init();
                //Boxes and Stuff
                BloodyBox.Init();
                MaidenShapedBox.Init();
                Toolbox.Init();
                PocketChest.Init();
                DeliveryBox.Init();
                Wonderchest.Init();
                //Heart themed items
                HeartPadlock.Init();
                Mutagen.Init();
                ForsakenHeart.Init();
                HeartOfGold.Init();
                GooeyHeart.Init();
                ExaltedHeart.Init();
                CheeseHeart.Init();
                TinHeart.Init();
                //Chambers
                BarrelChamber.Init();
                GlassChamber.Init();
                FlameChamber.Init();
                Recyclinder.Init();
                Nitroglycylinder.Init();
                SpringloadedChamber.Init();
                WitheringChamber.Init();
                HeavyChamber.Init();
                CyclopeanChamber.Init();
                //Table Techs
                TableTechTable.Init();
                TableTechSpeed.Init();
                TableTechInvulnerability.Init();
                TableTechAmmo.Init();
                TableTechGuon.Init();
                TableTechNology.Init();
                UnsTableTech.Init();
                //Guon Stones
                WoodGuonStone.Init();
                YellowGuonStone.Init();
                GreyGuonStone.Init();
                GoldGuonStone.Init();
                BrownGuonStone.Init();
                CyanGuonStone.Init();
                IndigoGuonStone.Init();
                SilverGuonStone.Init();
                MaroonGuonStone.Init();
                UltraVioletGuonStone.Init();
                InfraredGuonStone.Init();
                RainbowGuonStone.Init();
                KaleidoscopicGuonStone.Init();
                GuonBoulder.Init();
                BloodglassGuonStone.Init();
                //Ammolets
                GlassAmmolet.Init();
                WickerAmmolet.Init();
                FuriousAmmolet.Init();
                SilverAmmolet.Init();
                IvoryAmmolet.Init();
                KinAmmolet.Init();
                Autollet.Init();
                Keymmolet.Init();
                Ammolock.Init();
                HepatizonAmmolet.Init();
                BronzeAmmolet.Init();
                PearlAmmolet.Init();
                NeutroniumAmmolet.Init();
                Shatterblank.Init();
                // Boots
                CycloneCylinder.Init();
                BootLeg.Init();
                BlankBoots.Init();
                BulletBoots.Init();
                //Bracelets and Jewelry
                DiamondBracelet.Init();
                PearlBracelet.Init();
                PanicPendant.Init();
                GunknightAmulet.Init();
                AmuletOfShelltan.Init();
                //Rings
                RingOfOddlySpecificBenefits.Init();
                FowlRing.Init();
                RingOfAmmoRedemption.Init();
                RiskyRing.Init();
                WidowsRing.Init();
                ShadowRing.Init();
                RingOfInvisibility.Init();
                //Holsters
                BlackHolster.Init();
                TheBeholster.Init();
                HiveHolster.Init();
                ShoulderHolster.Init();
                ArtilleryBelt.Init();
                BulletShuffle.Init();
                //Companions
                MolotovBuddy.Init();
                BabyGoodChanceKin.Init();
                Potty.Init();
                Peanut.Init();
                DarkPrince.Init();
                Diode.Init();
                DroneCompanion.Init();
                GregTheEgg.Init();
                FunGuy.Init();
                BabyGoodDet.Init();
                AngrySpirit.Init();
                Gusty.Init();
                ScrollOfExactKnowledge.Init();
                LilMunchy.Init();
                //Potions / Jars
                SpeedPotion.Init();
                LovePotion.Init();
                HoneyPot.Init();
                ChemicalBurn.Init();
                WitchsBrew.Init();
                Nigredo.Init();
                Albedo.Init();
                Citrinitas.Init();
                Rubedo.Init();
                HoleyWater.Init();
                //Remotes
                ReinforcementRadio.Init();
                //Medicine
                BloodThinner.Init();
                BoosterShot.Init();
                ShotInTheArm.Init();
                //Knives and Blades
                DaggerOfTheAimgel.Init();
                CombatKnife.Init();
                Bayonet.Init();
                //Books
                BookOfMimicAnatomy.Init();
                KalibersPrayer.Init();
                GunidaeSolvitHaatelis.Init();
                //Maps
                MapFragment.Init();
                TatteredMap.Init();
                //Clothing
                CloakOfDarkness.Init();
                TimeFuddlersRobe.Init();
                //Eyes
                CartographersEye.Init();
                BloodshotEye.Init();
                ShadesEye.Init();
                KalibersEye.Init();
                //Hands
                Lefthandedness.Init();
                NecromancersRightHand.Init();
                //Bombs
                InfantryGrenade.Init();
                DiceGrenade.Init();
                //True Misc
                Lvl2Molotov.Init();
                GoldenAppleCore.Init();
                AppleCore.Init();
                AppleActive.Init();
                LibationtoIcosahedrax.Init(); //Unfinished
                BagOfHolding.Init();
                ItemCoupon.Init();
                IdentityCrisis.Init();
                LiquidMetalBody.Init();
                GunGrease.Init();
                BomberJacket.Init();
                DragunsScale.Init();
                GTCWTVRP.Init();
                BlightShell.Init();
                BulletKinPlushie.Init();
                Kevin.Init();
                PurpleProse.Init();
                RustyCasing.Init();
                HikingPack.Init();
                GunpowderPheromones.Init();
                GunsmokePerfume.Init();
                Pestilence.Init();
                ElevatorButton.Init();
                Bullut.Init();
                GSwitch.Init();
                FaultyHoverboots.Init(); //Unfinished
                AcidAura.Init();
                HornedHelmet.Init();
                RocketMan.Init();
                Roulette.Init(); //Unfinished
                FinishedBullet.Init();
                ChanceKinEffigy.Init();
                MagickeCauldron.Init();
                Bombinomicon.Init();
                ClaySculpture.Init();
                GracefulGoop.Init();
                MrFahrenheit.Init();
                MagicQuiver.Init();
                FocalLenses.Init();
                MagicMissile.Init();
                AmberDie.Init();
                ObsidianPistol.Init();
                Showdown.Init();
                LootEngineItem.Init();
                Ammolite.Init();
                PortableHole.Init();
                CardinalsMitre.Init();
                GunjurersBelt.Init();
                GoomperorsCrown.Init();
                ChemGrenade.Init();
                EightButton.Init();
                TitaniumClip.Init();
                PaperBadge.Init();
                Permafrost.Init();
                GlassShard.Init();
                EqualityItem.Init();
                BitBucket.Init();
                Eraser.Init();
                TackShooter.Init();
                Moonrock.Init();
                Telekinesis.Init();
                TabletOfOrder.Init();
                LeadSoul.Init();
                LeadOfLife.Init();
                AWholeBulletKin.Init();
                #endregion

                //-----------------------------------------------------GUNS GET INITIALISED
                #region GunInitialisation
                //UNFINISHED / TEST GUNS
                WailingMagnum.Add();
                Defender.Add();
                TestGun.Add();
                Gunycomb.Add();
                GlobbitSMALL.Add();
                GlobbitMED.Add();
                GlobbitMEGA.Add();


                //GUNS

                //CHARACTERSTARTERS
                ElderMagnum.Add();

                //REVOLVERS
                FlayedRevolver.Add();
                G20.Add();
                MamaGun.Add();
                LovePistol.Add();
                DiscGun.Add();
                Repeatovolver.Add();
                Pista.Add();
                NNGundertale.Add();
                DiamondGun.Add();
                NNMinigun.Add();
                ShroomedGun.Add();
                GoldenRevolver.Add();
                Nocturne.Add();
                BackWarder.Add();
                Redhawk.Add();
                ToolGun.Add();
                //GENERAL HANDGUNS
                StickGun.Add();
                Glock42.Add();
                StarterPistol.Add();
                PopGun.Add();
                UnusCentum.Add();
                StunGun.Add();
                CopperSidearm.Add();
                Rekeyter.Add();
                HotGlueGun.Add();
                UpNUp.Add();
                RedRobin.Add();
                VariableGun.Add();
                CrescendoBlaster.Add();
                Glasster.Add();
                HandGun.Add();
                Viper.Add();
                DiamondCutter.Add();
                MarchGun.Add();
                RebarGun.Add();
                MinuteGun.Add();
                Ulfberht.Add();
                HeadOfTheOrder.Add();
                GunOfAThousandSins.Add();
                DoubleGun.Add();
                //SHOTGUNS
                JusticeGun.Add();
                Orgun.Add();
                Octagun.Add();
                ClownShotgun.Add();
                Ranger.Add();
                RustyShotgun.Add();
                TheBride.Add();
                TheGroom.Add();
                IrregularShotgun.Add();
                GrenadeShotgun.Add();
                Jackhammer.Add();
                SaltGun.Add();
                SoapGun.Add();
                //CANNONS
                Felissile.Add();
                HandCannon.Add();
                Lantaka.Add();
                GreekFire.Add();
                EmberCannon.Add();
                ElysiumCannon.Add();
                DisplacerCannon.Add();
                //SCI-FI GUNS
                Blasmaster.Add();
                St4ke.Add();
                RedBlaster.Add();
                BeamBlade.Add();
                Neutrino.Add();
                Rico.Add();
                TheThinLine.Add();
                RocketPistol.Add();
                Repetitron.Add();
                Dimensionaliser.Add();
                Purpler.Add();
                VacuumGun.Add();
                Oxygun.Add();
                TriBeam.Add();
                KineticBlaster.Add();
                LaserWelder.Add();
                QBeam.Add();
                HighVelocityRifle.Add();
                Demolitionist.Add();
                PumpChargeShotgun.Add();
                TheOutbreak.Add();
                Multiplicator.Add();
                PunishmentRay.Add();
                YBeam.Add();
                WallRay.Add();
                BolaGun.Add();
                AlphaBeam.Add();
                Glazerbeam.Add();
                StasisRifle.Add();
                Gravitron.Add();
                Ferrobolt.Add();
                TauCannon.Add();
                GravityGun.Add();
                GalaxyCrusher.Add();
                //ARC Weapons
                ARCPistol.Add();
                ARCShotgun.Add();
                ARCRifle.Add();
                ARCTactical.Add();
                ARCCannon.Add();
                //BOWS AND CROSSBOWS
                IceBow.Add();
                Boltcaster.Add();
                Clicker.Add();
                //ANTIQUES
                WheelLock.Add();
                Welrod.Add();
                Welgun.Add();
                TheLodger.Add();
                Gonne.Add();
                Hwacha.Add();
                FireLance.Add();
                HandMortar.Add();
                GrandfatherGlock.Add();
                GatlingGun.Add();
                Blowgun.Add();
                Gaxe.Add();
                WoodenHorse.Add();
                AgarGun.Add();
                //KNIVES AND BLADES
                Carnwennan.Add();
                MantidAugment.Add();
                //REALISTIC GUNS
                HeatRay.Add();
                BarcodeScanner.Add();
                AntimaterielRifle.Add();
                Primos1.Add();
                DartRifle.Add();
                AM0.Add();
                RiskRifle.Add();
                RiotGun.Add();
                Kalashnirang.Add();
                MaidenRifle.Add();
                Blizzkrieg.Add();
                Copygat.Add();
                Skorpion.Add();
                HeavyAssaultRifle.Add();
                DynamiteLauncher.Add();
                MarbledUzi.Add();
                BurstRifle.Add();
                OlReliable.Add();
                //MISSILE LAUNCHERS
                BottleRocket.Add();
                NNBazooka.Add();
                BoomBeam.Add();
                Pillarocket.Add();
                //ANIMAL / ORGANIC GUNS
                SporeLauncher.Add();
                PoisonDartFrog.Add();
                Corgun.Add();
                FungoCannon.Add();
                PhaserSpiderling.Add();
                Guneonate.Add();
                KillithidTendril.Add();
                Gunger.Add();
                SickWorm.Add();
                MiniMonger.Add();
                CarrionFormeTwo.Add();
                CarrionFormeThree.Add();
                Carrion.Add();
                UterinePolyp.Add();
                Wrinkler.Add();
                //BLADES
                ButchersKnife.Add();
                RapidRiposte.Add();
                //FUN GUNS
                Gumgun.Add();
                Glooper.Add();
                Accelerator.Add();
                PaintballGun.Add();
                Converter.Add();
                Spiral.Add();
                Gunshark.Add();
                FingerGuns.Add();
                OBrienFist.Add();
                GolfRifle.Add();
                Pandephonium.Add();
                Sweeper.Add();
                DeskFan.Add();
                Pencil.Add();
                SquarePeg.Add();
                Ringer.Add();
                Snaker.Add();
                GayK47.Add();
                DecretionCarbine.Add();
                RC360.Add();
                UziSpineMM.Add();
                Autogun.Add();
                Rebondir.Add();
                BigShot.Add();
                W3irdstar.Add();
                Seismograph.Add();
                BioTranstater2100.Add();
                //MAGICAL GUNS
                Icicle.Add();
                GunjurersStaff.Add();
                InitiateWand.Add();
                LightningRod.Add();
                OrbOfTheGun.Add();
                SpearOfJustice.Add();
                Protean.Add();
                BulletBlade.Add();
                Bookllet.Add();
                Lorebook.Add();
                Beastclaw.Add();
                Bullatterer.Add();
                Entropew.Add();
                Missinguno.Add();
                Paraglocks.Add();
                //CONSUMABLE FIRING GUNS
                Creditor.Add();
                Blankannon.Add();
                Viscerifle.Add();
                //ENDPAGE GUNS
                MastersGun.Add();
                Wrench.Add();
                Pumhart.Add();


                //SYNERGY FORME GUNS
                GunsharkMegasharkSynergyForme.Add();
                DiscGunSuperDiscForme.Add();
                OrgunHeadacheSynergyForme.Add();
                Wolfgun.Add();
                MinigunMiniShotgunSynergyForme.Add();
                PenPencilSynergy.Add();
                ReShelletonKeyter.Add();
                AM0SpreadForme.Add();
                BulletBladeGhostForme.Add();
                GlueGunGlueGunnerSynergy.Add();
                KingBullatterer.Add();
                WrenchNullRefException.Add();
                GatlingGunGatterUp.Add();
                GravityGunNegativeMatterForm.Add();
                GonneElder.Add();
                UterinePolypWombular.Add();
                DiamondGaxe.Add();
                RedRebondir.Add();
                DiamondCutterRangerClass.Add();
                StickGunQuickDraw.Add();
                StormRod.Add();
                UnrustyShotgun.Add();
                #endregion


                //-----------------------------------------------------SHRINES GET INITIALISED
                #region ShrineInitialisation
                InvestmentShrine.Add();
                RelodinShrine.Add();
                DagunShrine.Add();
                ArtemissileShrine.Add();
                ExecutionerShrine.Add();
                TurtleShrine.Add();
                KliklokShrine.Add();
                #endregion

                //-----------------------------------------------------NPCS GET INITIALISED
                #region NPCInitialisation
                Rusty.Init();
                Ironside.Init();
                Boomhildr.Init();
                #endregion

                ChromaGun.Add();

                //GOOD MIMIC (NEEDS TO BE INITIALISED LATER)
                GoodMimic.Add();

                //Characters
                var data = Loader.BuildCharacter("NevernamedsItems/Characters/Shade",
                                                 CustomPlayableCharacters.Shade,
                                                 new Vector3(12.3f, 21.3f),
                                                 false,
                                                 new Vector3(13.1f, 19.1f),
                                                 false,
                                                 false,
                                                 true,
                                                 true,  //Sprites used by paradox
                                                 false, //Glows
                                                 null,  //Glow Mat
                                                 null,  //Alt Skin Glow Mat
                                                 0,     //Hegemony Cost
                                                 false, //HasPast
                                                 "");   //Past ID String

                //Other Features
                MasteryReplacementOub.InitDungeonHook();
                CadenceAndOxShopPoolAdditions.Init();
                CustomHuntingQuest.Init();

                //NPCS
                TheJammomaster.Add();
                //Carto.Add();
                ShrineFactory.PlaceBreachShrines();

                //Synergy Setup, Synergy Formes, Dual Wielding, and any changes to Basegame Guns
                InitialiseSynergies.DoInitialisation();
                SynergyFormInitialiser.AddSynergyForms();
                ExistantGunModifiers.Init();

                ChamberGunAPI.Init("OnceMoreIntoTheBreach");

                //Late Hooks
                AmmoPickupHooks.Init();
                HealthPickupHooks.Init();

                ETGModConsole.Commands.AddUnit("nndebugflow", (args) => { DungeonHandler.debugFlow = !DungeonHandler.debugFlow; string status = DungeonHandler.debugFlow ? "enabled" : "disabled"; string color = DungeonHandler.debugFlow ? "00FF00" : "FF0000"; ETGModConsole.Log($"OMITB flow {status}", false); });

                //PoopySchloopy

                /* Dungeon keepDungeon = DungeonDatabase.GetOrLoadByName("base_jungle");
                 * if (keepDungeon == null) ETGModConsole.Log("Jungle null!");
                 * if (keepDungeon && keepDungeon.PatternSettings != null)
                 * {
                 *   if (keepDungeon.PatternSettings.flows != null && keepDungeon.PatternSettings.flows.Count > 0)
                 *   {
                 *       if (keepDungeon.PatternSettings.flows[0].fallbackRoomTable)
                 *       {
                 *           if (keepDungeon.PatternSettings.flows[0].fallbackRoomTable.includedRooms != null)
                 *           {
                 *               if (keepDungeon.PatternSettings.flows[0].fallbackRoomTable.includedRooms.elements != null)
                 *               {
                 *                   foreach (WeightedRoom wRoom in keepDungeon.PatternSettings.flows[0].fallbackRoomTable.includedRooms.elements)
                 *                   {
                 *
                 *                       if (wRoom.room != null && !string.IsNullOrEmpty(wRoom.room.name))
                 *                       {
                 *                           ETGModConsole.Log(wRoom.room.name);
                 *                       }
                 *                   }
                 *               }
                 *               else ETGModConsole.Log("No elements");
                 *           }
                 *           else ETGModConsole.Log("No included rooms");
                 *       }
                 *       else ETGModConsole.Log("No fallback room table");
                 *   }
                 *   else ETGModConsole.Log("Flow was null or empty");
                 * }
                 * else ETGModConsole.Log("Pattern settings null");
                 * keepDungeon = null;*/

                ETGMod.StartGlobalCoroutine(this.delayedstarthandler());
                ETGModConsole.Log("'If you're reading this, I must have done something right' - NN");
            }
            catch (Exception e)
            {
                ETGModConsole.Log(e.Message);
                ETGModConsole.Log(e.StackTrace);
            }
        }