Пример #1
0
 private void SetupHEROsModIntegration()
 {
     // Add Permissions always.
     HEROsMod.Call(
         // Special string
         "AddPermission",
         // Permission Name
         ToggleCorruptionSpread_Permission,
         // Permission Display Name
         ToggleCorruptionSpread_Display
         );
     // Add Buttons only to non-servers (otherwise the server will crash, since textures aren't loaded on servers)
     if (!Main.dedServ)
     {
         HEROsMod.Call(
             // Special string
             "AddSimpleButton",
             // Name of Permission governing the availability of the button/tool
             ToggleCorruptionSpread_Permission,
             // Texture of the button. 38x38 is recommended for HERO's Mod. Also, a white outline on the icon similar to the other icons will look good.
             GetTexture("ToggleCorruptionSpreadButton"),
             // A method that will be called when the button is clicked
             (Action)ToggleCorruptionSpreadButtonPressed,
             // A method that will be called when the player's permissions have changed
             (Action <bool>)PermissionChanged,
             // A method that will be called when the button is hovered, returning the Tooltip
             (Func <string>)ToggleCorruptionSpreadTooltip
             );
     }
 }
Пример #2
0
        public override void PostSetupContent()
        {
            Mod bossList = ModLoader.GetMod("BossChecklist");

            if (bossList != null)
            {
                bossList.Call("AddBossWithInfo", "The Phantom", 12.05f, (Func <bool>)(() => BluemagicWorld.downedPhantom), string.Format("Use a [i:{0}] in the Dungeon (Plantera must be defeated)", ItemType("PaladinEmblem")));
                bossList.Call("AddBossWithInfo", "The Abomination", 12.8f, (Func <bool>)(() => BluemagicWorld.downedAbomination), string.Format("Use a [i:{0}] in the Underworld (Plantera must be defeated)", ItemType("FoulOrb")));
                bossList.Call("AddBossWithInfo", "The Abomination (Rematch)", 14.5f, (Func <bool>)(() => BluemagicWorld.elementalUnleash), string.Format("Use a [i:{0}] in the Underworld (Moon Lord must be defeated). [c/FF0000:Starts the Elemental Unleash!]", ItemType("FoulOrb")));
                bossList.Call("AddBossWithInfo", "The Spirit of Purity", 16f, (Func <bool>)(() => BluemagicWorld.downedPuritySpirit), string.Format("Kill a Bunny while the Bunny is standing in front of a placed [i:{0}]", ItemType("ElementalPurge")));
                bossList.Call("AddBossWithInfo", "The Spirit of Chaos", 18f, (Func <bool>)(() => BluemagicWorld.downedChaosSpirit), string.Format("Use a [i:{0}] anytime, anywhere (has infinite reuses)", ItemType("RitualOfEndings")));
                bossList.Call("AddBossWithInfo", "????? (Phase 1)", 42f, (Func <bool>)(() => BluemagicWorld.terraCheckpoint1 > 0), string.Format("Use a [i:{0}] anytime, anywhere, after all previous bosses have been defeated (has infinite reuses)", ItemType("RitualOfBunnies")));
                bossList.Call("AddBossWithInfo", "????? (Phase 2)", 256f, (Func <bool>)(() => BluemagicWorld.terraCheckpoint2 > 0), string.Format("Defeat the previous phase or use a [i:{0}]", ItemType("Checkpoint1")));
                bossList.Call("AddBossWithInfo", "????? (Phase 3)", 666f, (Func <bool>)(() => BluemagicWorld.terraCheckpoint3 > 0), string.Format("Defeat the previous phase or use a [i:{0}]", ItemType("Checkpoint2")));
                bossList.Call("AddBossWithInfo", "????? (Phase 4)", 1337f, (Func <bool>)(() => BluemagicWorld.terraCheckpointS > 0), string.Format("Defeat the previous phase or use a [i:{0}]", ItemType("Checkpoint3")));
                bossList.Call("AddBossWithInfo", "?????", 9001f, (Func <bool>)(() => BluemagicWorld.downedTerraSpirit), "Overcome all phases and defeat the boss once and for all!");
                bossList.Call("AddBossWithInfo", "blushiemagic (Phases 1-2)", float.MaxValue - 1e37f, (Func <bool>)(() => BluemagicWorld.blushieCheckpoint > 0f), "Please don't do this");
                bossList.Call("AddBossWithInfo", "blushiemagic", float.MaxValue, (Func <bool>)(() => BluemagicWorld.downedBlushie), "How did you do this");
            }
            Calamity = ModLoader.GetMod("CalamityMod");
            Thorium  = ModLoader.GetMod("ThoriumMod");
            Sushi    = ModLoader.GetMod("imkSushisMod");
            BlushieBoss.BlushieBoss.Load();

            HealthBars = ModLoader.GetMod("FKBossHealthBar");
            if (HealthBars != null)
            {
                HealthBars.Call("RegisterHealthBarMini", NPCType("BlushiemagicK"));
                HealthBars.Call("RegisterHealthBarMini", NPCType("BlushiemagicA"));
                HealthBars.Call("RegisterHealthBarMini", NPCType("BlushiemagicL"));
            }
        }
Пример #3
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "Ultra Eye of Cthulhu", 16.0f, (Func <bool>)(() => TUAWorld.EoCDeathCount >= 1), "Use a [i:" + ItemID.SuspiciousLookingEye + "] at night after Moon lord has been defeated");
                bossChecklist.Call("AddBossWithInfo", "Eye of EoADowned - God of Destruction", 16.1f, (Func <bool>)(() => ModContent.GetInstance <TUAWorld>().UltraMode), "Use a [i:" + ItemType("Spawner") + "] after --1sing Ay. 0F C1^lh> in ^1tra and murder it, if you can...");
            }

            Mod achievementLibs = ModLoader.GetMod("AchievementLibs");

            if (achievementLibs != null)
            {
                Func <bool> c = () => TUAWorld.EoADowned;
                achievementLibs.Call("AddAchievementWithoutReward", this, "Once there was an eye that was a god...", "Kill the Eye of Apocalypse - God of Destruction!", "Achievement/EoAKill", c);
                achievementLibs.Call("AddAchievementWithoutReward", this, "The terrible moon tried to kill us", "Use [i:" + ModContent.ItemType <EyeOfPerception>() + "] and succesfully survive all 8 wave of the Apocalypse Moon", "Achievement/EoAKill", (Func <bool>)(() => TUAWorld.ApoMoonDowned));
                achievementLibs.Call("AddAchievementWithoutAction", this,
                                     "Once there was the Eye of Cthulhu... the ultra one", "Kill the Ultra EoC succesfully.",
                                     "Achievement/UltraEoC", new int[] { ModContent.ItemType <EyeOfPerception>() }, new int[] { 1 },
                                     (Func <bool>)(() => TUAWorld.EoCDeathCount >= 1));
            }

            RecipeUtils.SetAllFurnaceRecipeSystem();

            ReflManager <Type> .RemoveItem("TMain");

            ReflManager <Type> .AddItem("TMain", typeof(Main));
        }
Пример #4
0
        private void HeroCheatIntegration(Mod herosMod, Mod cheatSheet)
        {
            if (herosMod != null)
            {
                herosMod.Call(
                    "AddPermission",
                    "AccessModSettingsConfig",
                    "Access Mod Settings Configurator"
                    );

                herosMod.Call(
                    "AddSimpleButton",
                    "AccessModSettingsConfig",
                    GetTexture("ModMenuButton"),
                    (Action)SettingsMenuPressed,
                    (Action <bool>)PermissionChanged,
                    (Func <string>)ModTooltip
                    );
            }
            else if (cheatSheet != null)
            {
                CheatSheet.CheatSheetInterface.RegisterButton(
                    cheatSheet,
                    GetTexture("ModMenuButton"),
                    SettingsMenuPressed,
                    ModTooltip);
            }
        }
Пример #5
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                // 14 is moolord, 12 is duke fishron
                bossChecklist.Call("AddBossWithInfo", "Scarabeus", 0.8f, (Func <bool>)(() => MyWorld.downedScarabeus), "Use a [i:" + ItemType("ScarabIdol") + "] in the Desert biome at any time");
                bossChecklist.Call("AddBossWithInfo", "Vinewrath Bane", 3.5f, (Func <bool>)(() => MyWorld.downedReachBoss), "Use a [i:" + ItemType("ReachBossSummon") + "] in the Reach at daytime");
                bossChecklist.Call("AddBossWithInfo", "Ancient Flier", 4.2f, (Func <bool>)(() => MyWorld.downedAncientFlier), "Use a [i:" + ItemType("JewelCrown") + "] in the sky at any time");
                bossChecklist.Call("AddBossWithInfo", "Starplate Raider", 5.2f, (Func <bool>)(() => MyWorld.downedRaider), "Use a [i:" + ItemType("StarWormSummon") + "] at nighttime");
                bossChecklist.Call("AddBossWithInfo", "Infernon", 6.5f, (Func <bool>)(() => MyWorld.downedInfernon), "Use [i:" + ItemType("CursedCloth") + "] in the underworld at any time");

                bossChecklist.Call("AddBossWithInfo", "Dusking", 7.3f, (Func <bool>)(() => MyWorld.downedDusking), "Use a [i:" + ItemType("DuskCrown") + "] at nighttime");
                bossChecklist.Call("AddBossWithInfo", "Ethereal Umbra", 7.8f, (Func <bool>)(() => MyWorld.downedSpiritCore), "Use a [i:" + ItemType("UmbraSummon") + "] in the Spirit Biome at nighttime");
                bossChecklist.Call("AddBossWithInfo", "Illuminant Master", 9.9f, (Func <bool>)(() => MyWorld.downedIlluminantMaster), "Use [i:" + ItemType("ChaosFire") + "] in the Hallowed Biome at Nighttime");
                bossChecklist.Call("AddBossWithInfo", "Atlas", 12.4f, (Func <bool>)(() => MyWorld.downedAtlas), "Use a [i:" + ItemType("StoneSkin") + "] at any time");
                bossChecklist.Call("AddBossWithInfo", "Overseer", 14.2f, (Func <bool>)(() => MyWorld.downedOverseer), "Use a [i:" + ItemType("SpiritIdol") + "] at the Spirit Biome during nighttime");
            }

            Item ccoutfit = new Item();

            ccoutfit.SetDefaults(ItemType("CandyCopterOutfit"));
            Mounts.CandyCopter._outfit = ccoutfit.legSlot;
        }
Пример #6
0
 private void SetupHEROsModIntegration(Mod herosMod)
 {
     // Add Permissions always.
     herosMod.Call(
         // Special string
         "AddPermission",
         // Permission Name
         "ModifySpawnRateMultiplier",
         // Permission Display Name
         "Modify Spawn Rate Multiplier"
         );
     // Add Buttons only to non-servers (otherwise the server will crash, since textures aren't loaded on servers)
     if (!Main.dedServ)
     {
         herosMod.Call(
             // Special string
             "AddSimpleButton",
             // Name of Permission governing the availability of the button/tool
             "ModifySpawnRateMultiplier",
             // Texture of the button. 38x38 is recommended for HERO's Mod. Also, a white outline on the icon similar to the other icons will look good.
             Main.itemTexture[ItemID.WaterCandle],
             // A method that will be called when the button is clicked
             (Action)SpawnRateMultiplier.HEROsButtonPressed,
             // A method that will be called when the player's permissions have changed
             (Action <bool>)SpawnRateMultiplier.HEROsPermissionChanged,
             // A method that will be called when the button is hovered, returning the Tooltip
             (Func <string>)SpawnRateMultiplier.HEROsTooltip
             );
     }
 }
Пример #7
0
        public override object Run(object[] args, int start = 1)
        {
            if (args.Length - start <= 0)
            {
                return(false);
            }
            Item item = getItemFromObject(args[start]);

            if (item == null)
            {
                return(false);
            }

            ARareItemSwapJPANs.tokenList.Add(ARareItemSwapJPANs.ItemToTag(item));

            Mod rmod = ModLoader.GetMod("ResearchFrom14");

            if (rmod == null)
            {
                return(true);
            }
            rmod.Call("SetDefaultMaxResearch", item.type, 100);
            rmod.Call("SetDefaultCategories", item.type, "Parts");

            return(true);
        }
Пример #8
0
        public void SetupHerosMod()
        {
            if (herosmod != null)
            {
                herosmod.Call(
                    // Special string
                    "AddPermission",
                    // Permission Name
                    heropermission,
                    // Permission Display Name
                    heropermissiondisplayname);

                /*
                 * if (!Main.dedServ)
                 * {
                 *      herosmod.Call(
                 *              // Special string
                 *              "AddSimpleButton",
                 *              // Name of Permission governing the availability of the button/tool
                 *              heropermission,
                 *              // Texture of the button. 38x38 is recommended for HERO's Mod. Also, a white outline on the icon similar to the other icons will look good.
                 *              GetTexture("ShopButton"),
                 *              // A method that will be called when the button is clicked
                 *              (Action)ShopButtonPressed,
                 *              // A method that will be called when the player's permissions have changed
                 *              (Action<bool>)ShopPermissionChanged,
                 *              // A method that will be called when the button is hovered, returning the Tooltip
                 *              (Func<string>)ShopTooltip
                 *      );
                 * }
                 */
            }
        }
Пример #9
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            //all
            calamity.Call("SetSetBonus", player, "victide", true);

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.UrchinMinion))
            {
                //summon
                calamity.Call("SetSetBonus", player, "victide_summon", true);
                if (player.whoAmI == Main.myPlayer)
                {
                    if (player.FindBuffIndex(calamity.BuffType("Urchin")) == -1)
                    {
                        player.AddBuff(calamity.BuffType("Urchin"), 3600, true);
                    }
                    if (player.ownedProjectileCounts[calamity.ProjectileType("Urchin")] < 1)
                    {
                        Projectile.NewProjectile(player.Center.X, player.Center.Y, 0f, -1f, calamity.ProjectileType("Urchin"), (int)(7f * player.minionDamage), 0f, Main.myPlayer, 0f, 0f);
                    }
                }
            }

            calamity.GetItem("OceanCrest").UpdateAccessory(player, hideVisual);
            calamity.GetItem("DeepDiver").UpdateAccessory(player, hideVisual);
            calamity.GetItem("TheTransformer").UpdateAccessory(player, hideVisual);
            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.LuxorGift))
            {
                calamity.GetItem("LuxorsGift").UpdateAccessory(player, hideVisual);
            }
        }
Пример #10
0
        private void CallBossChecklist()
        {
            Mod bcl = ModLoader.GetMod("BossChecklist");

            if (bcl == null)
            {
                return;
            }

            List <int> SquidBossCollection = new List <int>();
            List <int> SquidBossLoot       = new List <int>();
            string     SquidBossInfo       = "Drop Auroracle Bait into the prismatic waters  of the permafrost shrine.";

            bcl.Call("AddBoss", 2.6f, ModContent.NPCType <NPCs.Boss.SquidBoss.SquidBoss>(), this, "Auroracle", (Func <bool>)(() => StarlightWorld.HasFlag(WorldFlags.SquidBossDowned)), ModContent.ItemType <Items.Permafrost.SquidBossSpawn>(), SquidBossCollection, SquidBossLoot, SquidBossInfo, null, "StarlightRiver/NPCs/Boss/SquidBoss/BodyPreview");

            List <int> vitricMiniBossCollection = new List <int>();
            List <int> vitricMiniBossLoot       = new List <int>();
            string     vitricMiniBossInfo       = "Talk to the glassweaver in the vitric desert.";

            bcl.Call("AddMiniBoss", 3.1f, ModContent.NPCType <NPCs.Miniboss.Glassweaver.GlassMiniboss>(), this, "Glassweaver", (Func <bool>)(() => StarlightWorld.HasFlag(WorldFlags.DesertOpen)), null, vitricMiniBossCollection, vitricMiniBossLoot, vitricMiniBossInfo);

            List <int> vitricBossCollection = new List <int>()
            {
                ModContent.ItemType <Tiles.Trophies.CeirosTrophyItem>(),
            };
            List <int> vitricBossLoot = new List <int>()
            {
                ModContent.ItemType <Items.BossDrops.VitricBossDrops.VitricBossBag>(),
            };
            string vitricBossInfo = "Use a Glass Idol at cerios' altar in the vitric desert, after breaking the crystal covering it.";

            bcl.Call("AddBoss", 3.9f, ModContent.NPCType <NPCs.Boss.VitricBoss.VitricBoss>(), this, "Ceiros", (Func <bool>)(() => StarlightWorld.HasFlag(WorldFlags.GlassBossDowned)), ModContent.ItemType <Items.Vitric.GlassIdol>(), vitricBossCollection, vitricBossLoot, vitricBossInfo, null, "StarlightRiver/NPCs/Boss/VitricBoss/Preview");
        }
Пример #11
0
        public override void SetDefaults()
        {
            //item.useStyle = 1;
            //item.autoReuse = true;
            //item.useTurn = true;
            //item.useAnimation = 15;
            //item.useTime = 10;
            //item.maxStack = 999;
            //item.consumable = true;
            //item.width = 12;
            //item.height = 12;
            //item.makeNPC = 360;
            //item.noUseGraphic = true;
            //item.bait = 15;

            item.CloneDefaults(ItemID.GlowingSnail);
            Mod mod = ModLoader.GetMod("CalamityMod");

            if (mod == null)
            {
                return;
            }
            if (((bool)mod.Call("GetBossDowned", "polterghast")) || CalValEXConfig.Instance.IsopodBait)
            {
                item.bait = 55;
            }
            else if (!((bool)mod.Call("GetBossDowned", "polterghast")) && !CalValEXConfig.Instance.IsopodBait)
            {
                item.bait = 1;
            }
            item.makeNPC = (short)NPCType <Isopod>();
        }
Пример #12
0
        public void SetupHerosMod()
        {
            if (herosmod != null)
            {
                herosmod.Call(
                    // Special string
                    "AddPermission",
                    // Permission Name
                    heropermission,
                    // Permission Display Name
                    heropermissiondisplayname);

                if (!Main.dedServ)
                {
                    herosmod.Call(
                        // Special string
                        "AddSimpleButton",
                        // Name of Permission governing the availability of the button/tool
                        heropermission,
                        // Texture of the button. 38x38 is recommended for HERO's Mod. Also, a white outline on the icon similar to the other icons will look good.
                        GetTexture("ItemControl"),
                        // A method that will be called when the button is clicked
                        (Action)NPCControlButtonPressed,
                        // A method that will be called when the player's permissions have changed
                        (Action <bool>)NPCControlPermissionChanged,
                        // A method that will be called when the button is hovered, returning the Tooltip
                        (Func <string>)NPCControlTooltip
                        );
                }
            }
        }
Пример #13
0
        private void Calamity(Player player)
        {
            calamity.Call("AddRogueDamage", player, 0.3f);
            calamity.Call("AddRogueCrit", player, 15);
            calamity.Call("AddRogueVelocity", player, 0.15f);

            player.GetModPlayer <CalamityMod.CalPlayer.CalamityPlayer>().nanotech = true;
        }
Пример #14
0
 public static bool?Enter(string id)
 {
     if (!Loaded)
     {
         return(null);
     }
     return(subworldLibrary.Call("Enter", id) as bool?);
 }
Пример #15
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "Eye of cthulhu (Ultra Version)", 16.0f, (Func <bool>)(() => TerrariaUltraApocalypse.EoCDeath >= 1), "Use a [i:" + ItemID.SuspiciousLookingEye + "] at night after Moon lord has been defeated");
                bossChecklist.Call("AddBossWithInfo", "Eye of Apocalypse", 16.1f, (Func <bool>)(() => TUAWorld.UltraMode), "Use a [i:" + ItemType("Spawner") + "] after --1sing Ay. 0F C1^lh> in ^1tra and murder it, if you can...");
            }
        }
Пример #16
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "Ship of Zephr", 7.3f, (Func <bool>)(() => TheWorldOfSlime.downedZephrShip), "Multiple will spawn during the Zephr Raid event.");
                bossChecklist.Call("AddEvent", "Zephr Raid", 7.2, (Func <bool>)(() => TheWorldOfSlime.downedZephrRaid), "Travel to a Sky Island during the day after a mechanical boss has been defeated.");
            }
        }
Пример #17
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "Granite Basilisk", 5.1f, (Func <bool>)(() => PerplexityWorld.downedEnergyWeaver), "Use a [i:" + ItemType <NPCs.GraniteBoss.GraniteCrystal>() + "] to Summon it in the Granite Biome");
                bossChecklist.Call("AddBossWithInfo", "Asterism", 6.1f, (Func <bool>)(() => PerplexityWorld.downedAsterism), "Use the [i:" + ItemType <NPCs.FallenCometBoss.AsterismSummon>() + "] to summon Asterism anywhere.");
            }
        }
Пример #18
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "Corrupt/Blood Cookie", 3.5f, (Func <bool>)(() => CookieModWorld.downedCookieBoss), "Use a [i:" + ItemType("CursedCookie") + "] or a [i:" + ItemType("BloodyCookie") + "] at night");
                bossChecklist.Call("AddBossWithInfo", "Bunny King", 5.5f, (Func <bool>)(() => CookieModWorld.downedBunny), "Use a [i:" + ItemType("BunnyCrown") + "] at any time");
            }
        }
Пример #19
0
        //BossChecklist
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "The Annihilator", 9.991f, (Func <bool>)(() => LaugicalityWorld.downedAnnihilator), string.Format("The Steam-O-Vision [i:{0}] will summon it at night", ItemType("MechanicalMonitor")));
                bossChecklist.Call("AddBossWithInfo", "Slybertron", 9.992f, (Func <bool>)(() => LaugicalityWorld.downedSlybertron), string.Format("The Steam Crown [i:{0}] calls to its King", ItemType("SteamCrown")));
                bossChecklist.Call("AddBossWithInfo", "Steam Train", 9.993f, (Func <bool>)(() => LaugicalityWorld.downedSteamTrain), string.Format("A Suspicious Train Whistle [i:{0}] might get its attention.", ItemType("SuspiciousTrainWhistle")));
                bossChecklist.Call("AddBossWithInfo", "Dune Sharkron", 2.3f, (Func <bool>)(() => LaugicalityWorld.downedDuneSharkron), string.Format("A Tasty Morsel [i:{0}] in the daytime will attract this Shark's attention.", ItemType("TastyMorsel")));
                bossChecklist.Call("AddBossWithInfo", "Hypothema", 3.8f, (Func <bool>)(() => LaugicalityWorld.downedHypothema), string.Format("There's a chill in the air... [i:{0}]", ItemType("ChilledMesh")));
                bossChecklist.Call("AddBossWithInfo", "Ragnar", 4.5f, (Func <bool>)(() => LaugicalityWorld.downedRagnar), string.Format("This Molten Mess [i:{0}] guards the Obsidium.", ItemType("MoltenMess")));
                bossChecklist.Call("AddBossWithInfo", "Etheria", 10.51f, (Func <bool>)(() => LaugicalityWorld.downedTrueEtheria), string.Format("The guardian of the Etherial will consume her prey. Can only be called at night.[i:{0}]", ItemType("EmblemOfEtheria")));
                bossChecklist.Call("AddBossWithInfo", "Dioritus", 5.91f, (Func <bool>)(() => LaugicalityWorld.downedAnDio), string.Format("This  [i:{0}] calls the brother of the Guardians of the Underground", ItemType("AncientAwakener")));
                bossChecklist.Call("AddBossWithInfo", "Andesia", 5.92f, (Func <bool>)(() => LaugicalityWorld.downedAnDio), string.Format("The brother calls for his sister."));
            }
            Mod achMod = ModLoader.GetMod("AchievementLibs");

            int[] rewardsBleedingHeart      = { ItemType("ObsidiumHeart") };
            int[] rewardsBleedingHeartCount = { 1 };
            if (achMod != null)
            {
                achMod.Call("AddAchievementWithoutAction", this, "A Bleeding Heart", string.Format("Defeat Ragnar, Guardian of the Obsidium.  [i:{0}]", ItemType("MoltenMess")), "Achievements/ragChieve2", rewardsBleedingHeart, rewardsBleedingHeartCount, (Func <bool>)(() => LaugicalityWorld.downedRagnar));
                //achMod.Call("AddAchievementWithoutReward", this, "The Bleeding Heart Guardian", string.Format("Defeat Ragnar, Guardian of the Obsidium.  [i:{0}]", ItemType("MoltenMess")), "Achievements/ragChieve2", (Func<bool>)(() => LaugicalityWorld.downedRagnar));
            }
        }
Пример #20
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "The Bloodshot Eye", 2.5f, (Func <bool>)(() => DecimationWorld.downedBloodshotEye), "INSERT LATER");
                bossChecklist.Call("AddBossWithInfo", "The Ancient Dune Worm", 5.7f, (Func <bool>)(() => DecimationWorld.downedDuneWorm), "INSERT LATER");
                bossChecklist.Call("AddBossWithInfo", "Arachnus", 20f, (Func <bool>)(() => DecimationWorld.downedArachnus), "INSERT LATER");
            }
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!Fargowiltas.Instance.CalamityLoaded)
            {
                return;
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.DaedalusEffects))
            {
                calamity.Call("SetSetBonus", player, "daedalus_melee", true);
                calamity.Call("SetSetBonus", player, "daedalus_ranged", true);
                calamity.Call("SetSetBonus", player, "daedalus_magic", true);
                calamity.Call("SetSetBonus", player, "daedalus_summon", true);
                calamity.Call("SetSetBonus", player, "daedalus_rogue", true);
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.PermafrostPotion))
            {
                //permafrost concoction
                calamity.GetItem("PermafrostsConcoction").UpdateAccessory(player, hideVisual);
            }

            if (player.GetModPlayer <FargoPlayer>().Eternity)
            {
                return;
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.DaedalusMinion) && player.whoAmI == Main.myPlayer)
            {
                if (player.FindBuffIndex(calamity.BuffType("DaedalusCrystal")) == -1)
                {
                    player.AddBuff(calamity.BuffType("DaedalusCrystal"), 3600, true);
                }
                if (player.ownedProjectileCounts[calamity.ProjectileType("DaedalusCrystal")] < 1)
                {
                    Projectile.NewProjectile(player.Center.X, player.Center.Y, 0f, -1f, calamity.ProjectileType("DaedalusCrystal"), (int)(95f * player.minionDamage), 0f, Main.myPlayer, 0f, 0f);
                }
            }

            //regenerator
            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.Regenerator))
            {
                calamity.GetItem("Regenator").UpdateAccessory(player, hideVisual);
            }

            mod.GetItem("SnowRuffianEnchant").UpdateAccessory(player, hideVisual);

            FargoPlayer fargoPlayer = player.GetModPlayer <FargoPlayer>();

            fargoPlayer.DaedalusEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.ThirdSagePet, hideVisual, calamity.BuffType("ThirdSageBuff"), calamity.ProjectileType("ThirdSage"));
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.BearPet, hideVisual, calamity.BuffType("BearBuff"), calamity.ProjectileType("Bear"));
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.KendraPet, hideVisual, calamity.BuffType("Kendra"), calamity.ProjectileType("KendraPet"));
        }
Пример #22
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!Fargowiltas.Instance.CalamityLoaded)
            {
                return;
            }

            calamity.Call("AddRogueDamage", player, 0.18f);
            calamity.Call("AddRogueCrit", player, 5);
            calamity.Call("AddRogueVelocity", player, 0.05f);
        }
Пример #23
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "The Sunken King", 4.1451f, (Func <bool>)(() => MyWorld.downedSunkenKing), "Use a [i:" + ItemType("SunkenScroll") + "] in the Glowing Mushroom Biome, and face off against the King!");
                bossChecklist.Call("AddBossWithInfo", "The Amalgamation", 5.1451f, (Func <bool>)(() => MyWorld.downedAmalgamation), "Use a [i:" + ItemType("NeiroplasmicCore") + "] at night or spawns randomly in the Dungeon. Prepare for horror.");
                bossChecklist.Call("AddBossWithInfo", "The Primordial Maw", 5.7f, (Func <bool>)(() => MyWorld.downedAmalgamation), "Use a [i:" + ItemType("PrimordialFragment") + "] anywhere. Fear the Maw.");
            }
        }
Пример #24
0
        public override void PostSetupContent()
        {
            Mod bossList = ModLoader.GetMod("BossChecklist");

            if (bossList != null)
            {
                bossList.Call("AddBossWithInfo", "Soul of the Guide", 3.4f, (Func <bool>)(() => AgheriumWorld.downedSoul), string.Format("Use a [i:{0}]", ItemType("SoulActivator")));
                bossList.Call("AddBossWithInfo", "Fallen Angel", 7.5f, (Func <bool>)(() => AgheriumWorld.downedAngel), string.Format("Use a [i:{0}]", ItemType("UnholyBeacon")));
                bossList.Call("AddBossWithInfo", "Rorbert", 5.1f, (Func <bool>)(() => AgheriumWorld.downedRorbert), string.Format("Use a [i:{0}]", ItemType("StrangeMachine")));
                bossList.Call("AddBossWithInfo", "Aarhac'n, the Spider Queen", 10.2f, (Func <bool>)(() => AgheriumWorld.downedSpodermen), string.Format("Use a [i:{0}]", ItemType("SpiderEgg")));
            }
        }
Пример #25
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                // To include a description JK MEME TAG:
                bossChecklist.Call("AddBossWithInfo", "Ghastly Ent", 9.4f, (Func <bool>)(() => TGEMWorld.downedGhastlyEnt), "Summon the forest's army using [i:" + ItemType("AncientLog") + "] and defeat it during hardmode");
                bossChecklist.Call("AddBossWithInfo", "Arterius", 6.3f, (Func <bool>)(() => TGEMWorld.downedArterius), "Use a [i:" + ItemType("BloodClot") + "] at night");
                bossChecklist.Call("AddBossWithInfo", "Titan Rock", 6.9f, (Func <bool>)(() => TGEMWorld.downedTitanRock), "Use a [i:" + ItemType("anomalydetector") + "]");
            }
        }
Пример #26
0
        //BossChecklist
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "The Annihilator", 9.2f, (Func <bool>)(() => LaugicalityWorld.downedAnnihilator), "The Mechanical Television will summon it at night");
                bossChecklist.Call("AddBossWithInfo", "Slybertron", 9.3f, (Func <bool>)(() => LaugicalityWorld.downedSlybertron), "The Steam Crown calls to its King");
                bossChecklist.Call("AddBossWithInfo", "Steam Train", 9.4f, (Func <bool>)(() => LaugicalityWorld.downedSteamTrain), "A Suspicious Train Whistle might get its attention.");
                bossChecklist.Call("AddBossWithInfo", "Dune Sharkron", 2.3f, (Func <bool>)(() => LaugicalityWorld.downedDuneSharkron), "A tasty morsel in the daytime will attract this Shark's attention.");
            }
        }
Пример #27
0
        public override void AddRecipes()
        {
            ARareItemSwapJPANs.tokenList.Add(ARareItemSwapJPANs.ItemToTag(item));
            Mod rmod = ModLoader.GetMod("ResearchFrom14");

            if (rmod == null)
            {
                return;
            }
            rmod.Call("SetDefaultMaxResearch", item.type, 100);
            rmod.Call("SetDefaultCategories", item.type, "Parts");
        }
Пример #28
0
 public static void LoadCustomModClasses()
 {
     ModContentList.Clear();
     foreach (Mod mod in ModLoader.Mods)
     {
         try
         {
             mod.Call(new string[] { ModClassAndSkillListCallName });
         }
         catch { }
     }
 }
Пример #29
0
        private void SetupHEROsModIntegration(Mod herosMod)
        {
            // Add Permissions always.
            herosMod.Call(
                // Special string
                "AddPermission",
                // Permission Name
                ModifySpawnRateMultiplier_Permission,
                // Permission Display Name
                ModifySpawnRateMultiplier_Display
                );

            // Add Buttons only to non-servers (otherwise the server will crash, since textures aren't loaded on servers)
            if (!Main.dedServ)
            {
                herosMod.Call(
                    // Special string
                    "AddSimpleButton",
                    // Name of Permission governing the availability of the button/tool
                    ModifySpawnRateMultiplier_Permission,
                    // Texture of the button. 38x38 is recommended for HERO's Mod. Also, a white outline on the icon similar to the other icons will look good.
                    Main.itemTexture[ItemID.WaterCandle],
                    // A method that will be called when the button is clicked
                    (Action)SpawnRateMultiplier.HEROsButtonPressed,
                    // A method that will be called when the player's permissions have changed
                    (Action <bool>)SpawnRateMultiplier.HEROsPermissionChanged,
                    // A method that will be called when the button is hovered, returning the Tooltip
                    (Func <string>)SpawnRateMultiplier.HEROsTooltip
                    );
            }

            // Other non-tutorial permissions.
            // For simplicity, not doing buttons in Heros, just permissions for most tools.
            // Could implement most without sub-menus as buttons if I have time. Right and left click support in Heros desireable.
            var permissions = new List <ValueTuple <string, string> >()
            {
                (PaintTools_Permission, PaintTools_Display),
                (RecipeBrowser_Permission, RecipeBrowser_Display),
                (MinionBooster_Permission, MinionBooster_Display),
                (ClearItemNPCProjectile_Permission, ClearItemNPCProjectile_Display),
                (ExtraAccessories_Permission, ExtraAccessories_Display),
                (Vacuum_Permission, Vacuum_Display),
                (NPCButcher_Permission, NPCButcher_Display),
                (CheatSheetExtensions_Permission, CheatSheetExtensions_Display),
                (QuickTeleport_Permission, QuickTeleport_Display),
            };

            foreach (var permission in permissions)
            {
                herosMod.Call("AddPermission", permission.Item1, permission.Item2, (Action <bool>)((hasPermission) => HEROsPermissionChanged(permission.Item1, hasPermission)));
            }
        }
Пример #30
0
        public override void PostSetupContent()
        {
            Mod bossChecklist = ModLoader.GetMod("BossChecklist");

            if (bossChecklist != null)
            {
                bossChecklist.Call("AddBossWithInfo", "Giant Sand Sifter", 2.001f, (Func <bool>)(() => MyWorld.downedGiantSandSifter), string.Format("Use [i:{0}] in the desert", ItemType("SandEmblem")));
                bossChecklist.Call("AddBossWithInfo", "Life Enforcer", 2.001f, (Func <bool>)(() => MyWorld.downedLifeEnforcer), string.Format("Use [i:{0}] underground", ItemType("CrystalHeart")));
                bossChecklist.Call("AddBossWithInfo", "Cosmic Slime", 15.001f, (Func <bool>)(() => MyWorld.downedCosmicSlime), string.Format("Use [i:{0}] anytime, anywhere.", ItemType("CosmicStarMesh")));
                bossChecklist.Call("AddBossWithInfo", "Neo Mothership", 5.001f, (Func <bool>)(() => MyWorld.downedNeoMothership), string.Format("Use [i:{0}] anytime, anywhere.", ItemType("NeoLocator")));
                bossChecklist.Call("AddBossWithInfo", "Ancient Observer", 4.001f, (Func <bool>)(() => MyWorld.downedAncientObserver), string.Format("Use [i:{0}] anytime, in the ruin.", ItemType("RelicPebble")));
            }
        }