示例#1
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.SilvaEffects))
            {
                calamity.Call("SetSetBonus", player, "silva", true);
                calamity.Call("SetSetBonus", player, "silva_melee", true);
                calamity.Call("SetSetBonus", player, "silva_ranged", true);
                calamity.Call("SetSetBonus", player, "silva_magic", true);
                calamity.Call("SetSetBonus", player, "silva_rogue", true);
            }

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

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.FungalMinion))
            {
                calamity.GetItem("TheAmalgam").UpdateAccessory(player, hideVisual);
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.GodlySoulArtifact))
            {
                calamity.GetItem("GodlySoulArtifact").UpdateAccessory(player, hideVisual);
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.YharimGift))
            {
                calamity.GetItem("YharimsGift").UpdateAccessory(player, hideVisual);
            }

            calamity.GetItem("DynamoStemCells").UpdateAccessory(player, hideVisual);

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

            fargoPlayer.SilvaEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.AkatoPet, hideVisual, calamity.BuffType("AkatoYharonBuff"), calamity.ProjectileType("Akato"));
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.FoxPet, hideVisual, calamity.BuffType("Fox"), calamity.ProjectileType("Fox"));
        }
示例#2
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.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 (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);

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

            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"));
        }
示例#3
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.AstralStars))
            {
                calamity.Call("SetSetBonus", player, "astral", true);
            }

            calamity.GetItem("AstralArcanum").UpdateAccessory(player, hideVisual);

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.HideofAstrumDeus))
            {
                calamity.GetItem("HideofAstrumDeus").UpdateAccessory(player, hideVisual);
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.GravistarSabaton))
            {
                calamity.GetItem("GravistarSabaton").UpdateAccessory(player, hideVisual);
            }

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

            fargoPlayer.AstralEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.AstrophagePet, hideVisual, ModContent.BuffType <AstrophageBuff>(), ModContent.ProjectileType <Astrophage>());
        }
        /*public override void ModifyTooltips(List<TooltipLine> list)
         * {
         *  foreach (TooltipLine tooltipLine in list)
         *  {
         *      if (tooltipLine.mod == "Terraria" && tooltipLine.Name == "ItemName")
         *      {
         *          tooltipLine.overrideColor = new Color(70, 63, 69);
         *      }
         *  }
         * }*/

        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            CalamityPlayer calamityPlayer = player.Calamity();

            calamityPlayer.sulfurSet   = true;
            player.doubleJumpSandstorm = true;
            //calamity.Call("SetSetBonus", player, "sulphur", true); hopefully soon
            calamity.GetItem("SandCloak").UpdateAccessory(player, hideVisual);
            calamity.GetItem("AlluringBait").UpdateAccessory(player, hideVisual);

            //pets
            FargoDLCPlayer fargoPlayer = player.GetModPlayer <FargoDLCPlayer>();

            fargoPlayer.SulphurEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.DannyPet, hideVisual, ModContent.BuffType <DannyDevito>(), ModContent.ProjectileType <DannyDevitoPet>());
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.RadiatorPet, hideVisual, ModContent.BuffType <RadiatorBuff>(), ModContent.ProjectileType <RadiatorPet>());
        }
示例#5
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            CalamityPlayer modPlayer = player.GetModPlayer <CalamityPlayer>();

            //set bonus
            calamity.Call("SetSetBonus", player, "demonshade", true);

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.RedDevilMinion))
            {
                modPlayer.redDevil = true;
                if (player.whoAmI == Main.myPlayer)
                {
                    if (player.FindBuffIndex(calamity.BuffType("RedDevil")) == -1)
                    {
                        player.AddBuff(calamity.BuffType("RedDevil"), 3600, true);
                    }
                    if (player.ownedProjectileCounts[calamity.ProjectileType("RedDevil")] < 1)
                    {
                        Projectile.NewProjectile(player.Center.X, player.Center.Y, 0f, -1f, calamity.ProjectileType("RedDevil"), 10000, 0f, Main.myPlayer, 0f, 0f);
                    }
                }
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.ProfanedSoulCrystal))
            {
                calamity.GetItem("ProfanedSoulCrystal").UpdateAccessory(player, hideVisual);
            }

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

            fargoPlayer.DemonShadeEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.LeviPet, hideVisual, ModContent.BuffType <LeviBuff>(), ModContent.ProjectileType <LeviPet>());
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.ScalPet, hideVisual, ModContent.BuffType <SCalPetBuff>(), ModContent.ProjectileType <SCalPet>());
        }
示例#6
0
        /*public override void ModifyTooltips(List<TooltipLine> list)
         * {
         *  foreach (TooltipLine tooltipLine in list)
         *  {
         *      if (tooltipLine.mod == "Terraria" && tooltipLine.Name == "ItemName")
         *      {
         *          tooltipLine.overrideColor = new Color(70, 63, 69);
         *      }
         *  }
         * }*/

        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            calamity.Call("SetSetBonus", player, "fathomswarmer", true);
            if (Collision.DrownCollision(player.position, player.width, player.height, player.gravDir))
            {
                player.minionDamage += 0.1f;
            }
            calamity.GetItem("CorrosiveSpine").UpdateAccessory(player, hideVisual);
            calamity.GetItem("LumenousAmulet").UpdateAccessory(player, hideVisual);
            mod.GetItem("SulphurousEnchant").UpdateAccessory(player, hideVisual);

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

            fargoPlayer.FathomEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.SirenPet, hideVisual, calamity.BuffType("StrangeOrb"), calamity.ProjectileType("SirenYoung"));
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.FlakPet, hideVisual, ModContent.BuffType <FlakPetBuff>(), ModContent.ProjectileType <FlakPet>());
        }
示例#7
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            //set bonus
            calamity.Call("SetSetBonus", player, "brimflame", true);

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

            fargoPlayer.BrimflameEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.BrimlingPet, hideVisual, calamity.BuffType("BrimlingBuff"), calamity.ProjectileType("BrimlingPet"));
        }
示例#8
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.DreadSpeed))
            {
                //dread set bonus
                player.moveSpeed       += 0.8f;
                player.maxRunSpeed     += 10f;
                player.runAcceleration += 0.05f;
                if (player.velocity.X > 0f || player.velocity.X < 0f)
                {
                    modPlayer.AllDamageUp(.25f);
                    modPlayer.AllCritUp(20);
                    player.endurance += 0.1f;
                    for (int i = 0; i < 2; i++)
                    {
                        int num  = Dust.NewDust(new Vector2(player.position.X, player.position.Y) - player.velocity * 0.5f, player.width, player.height, 65, 0f, 0f, 0, default(Color), 1.75f);
                        int num2 = Dust.NewDust(new Vector2(player.position.X, player.position.Y) - player.velocity * 0.5f, player.width, player.height, 75, 0f, 0f, 0, default(Color), 1f);
                        Main.dust[num].noGravity  = true;
                        Main.dust[num2].noGravity = true;
                        Main.dust[num].noLight    = true;
                        Main.dust[num2].noLight   = true;
                    }
                }
            }

            //crash boots
            thorium.GetItem("CrashBoots").UpdateAccessory(player, hideVisual);
            player.moveSpeed   -= 0.15f;
            player.maxRunSpeed -= 1f;
            //cursed core
            thoriumPlayer.accCursedCore = true;
            //dragon
            thoriumPlayer.dragonSet = true;
            //dragon tooth necklace
            player.armorPenetration += 15;
            //wyvern pet
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.WyvernPet, hideVisual, thorium.BuffType("WyvernPetBuff"), thorium.ProjectileType("WyvernPet"));
            modPlayer.DragonEnchant = true;
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            //sacred effect
            modPlayer.SacredEnchant = true;
            //twinkle pet
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.SpiritPet, hideVisual, thorium.BuffType("LifeSpiritBuff"), thorium.ProjectileType("LifeSpirit"));

            if (modPlayer.ThoriumSoul)
            {
                return;
            }

            //novice cleric set bonus
            thoriumPlayer.clericSet        = true;
            thoriumPlayer.orbital          = true;
            thoriumPlayer.orbitalRotation3 = Utils.RotatedBy(thoriumPlayer.orbitalRotation3, -0.05000000074505806, default(Vector2));
            timer++;
            if (thoriumPlayer.clericSetCrosses < 3)
            {
                if (timer > 300)
                {
                    thoriumPlayer.clericSetCrosses++;
                    timer = 0;
                    return;
                }
            }
            else
            {
                timer = 0;
            }

            //karmic holder
            thoriumPlayer.karmicHolder = true;
            if (thoriumPlayer.healStreak >= 0 && player.ownedProjectileCounts[thorium.ProjectileType("KarmicHolderPro")] < 1)
            {
                Projectile.NewProjectile(player.Center.X, player.Center.Y, 0f, 0f, thorium.ProjectileType("KarmicHolderPro"), 0, 0f, player.whoAmI, 0f, 0f);
            }
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            //flesh set bonus
            thoriumPlayer.Symbiotic = true;
            //vampire gland
            thoriumPlayer.vampireGland = true;
            //blister pet
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.BlisterPet, hideVisual, thorium.BuffType("BlisterBuff"), thorium.ProjectileType("BlisterPet"));
            modPlayer.FleshEnchant = true;
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.ShellfishMinion))
            {
                //set bonus clams
                calamity.Call("SetSetBonus", player, "mollusk", true);
                player.maxMinions += 4;
                if (player.whoAmI == Main.myPlayer)
                {
                    if (player.FindBuffIndex(calamity.BuffType("Shellfish")) == -1)
                    {
                        player.AddBuff(calamity.BuffType("Shellfish"), 3600, true);
                    }
                    if (player.ownedProjectileCounts[calamity.ProjectileType("Shellfish")] < 2)
                    {
                        Projectile.NewProjectile(player.Center.X, player.Center.Y, 0f, -1f, calamity.ProjectileType("Shellfish"), (int)(1500.0 * (double)player.minionDamage), 0f, Main.myPlayer, 0f, 0f);
                    }
                }
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.GiantPearl))
            {
                calamity.GetItem("GiantPearl").UpdateAccessory(player, hideVisual);
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.AmidiasPendant))
            {
                calamity.GetItem("AmidiasPendant").UpdateAccessory(player, hideVisual);
            }

            calamity.GetItem("AquaticEmblem").UpdateAccessory(player, hideVisual);
            calamity.GetItem("EnchantedPearl").UpdateAccessory(player, hideVisual);
            mod.GetItem("VictideEnchant").UpdateAccessory(player, hideVisual);

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

            fargoPlayer.MolluskEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.GhostBellPet, hideVisual, ModContent.BuffType <BabyGhostBellBuff>(), ModContent.ProjectileType <BabyGhostBell>());
        }
示例#12
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.ReaverEffects))
            {
                calamity.Call("SetSetBonus", player, "reaver_melee", true);
                calamity.Call("SetSetBonus", player, "reaver_ranged", true);
                calamity.Call("SetSetBonus", player, "reaver_magic", true);
                calamity.Call("SetSetBonus", player, "reaver_rogue", true);
            }

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

            //fabled tortoise shell
            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.FabledTurtleShell))
            {
                calamity.GetItem("FabledTortoiseShell").UpdateAccessory(player, hideVisual);
                player.statDefense += 35;
            }

            //pet
            FargoDLCPlayer fargoPlayer = player.GetModPlayer <FargoDLCPlayer>();

            fargoPlayer.ReaverEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.SparksPet, hideVisual, ModContent.BuffType <SparksBuff>(), ModContent.ProjectileType <Sparks>());
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            //increase range from crystallinecharm

            thoriumPlayer.geodeShine = true;
            Lighting.AddLight(player.position, 1.2f, 0.8f, 1.2f);
            //pets
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.BoxPet, hideVisual, thorium.BuffType("LockBoxBuff"), thorium.ProjectileType("LockBoxPet"));
            //mining speed, spelunker, dangersense, light, hunter, pet
            //modPlayer.MinerEffect(hideVisual, .5f);
        }
示例#14
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            //dragon
            thoriumPlayer.dragonSet = true;
            //dragon tooth necklace
            player.armorPenetration += 15;
            //wyvern pet
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.WyvernPet, hideVisual, thorium.BuffType("WyvernPetBuff"), thorium.ProjectileType("WyvernPet"));
            modPlayer.DragonEnchant = true;

            // discomusicplayer
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            calamity.Call("SetSetBonus", player, "aerospec", true);
            player.noFallDmg = true;

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.ValkyrieMinion))
            {
                calamity.Call("SetSetBonus", player, "aerospec_summon", true);
                if (player.whoAmI == Main.myPlayer)
                {
                    if (player.FindBuffIndex(calamity.BuffType("Valkyrie")) == -1)
                    {
                        player.AddBuff(calamity.BuffType("Valkyrie"), 3600, true);
                    }
                    if (player.ownedProjectileCounts[calamity.ProjectileType("Valkyrie")] < 1)
                    {
                        Projectile.NewProjectile(player.Center.X, player.Center.Y, 0f, -1f, calamity.ProjectileType("Valkyrie"), 25, 0f, Main.myPlayer, 0f, 0f);
                    }
                }
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.GladiatorLocket))
            {
                calamity.GetItem("GladiatorsLocket").UpdateAccessory(player, hideVisual);
            }
            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.UnstablePrism))
            {
                calamity.GetItem("UnstablePrism").UpdateAccessory(player, hideVisual);
            }

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

            fargoPlayer.AerospecEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.RotomPet, hideVisual, ModContent.BuffType <RotomBuff>(), ModContent.ProjectileType <RotomPet>());
        }
示例#16
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            player.buffImmune[BuffID.Frostburn] = true;
            player.buffImmune[BuffID.Poisoned]  = true;
            player.buffImmune[BuffID.OnFire]    = true;
            player.buffImmune[BuffID.Bleeding]  = true;
            player.buffImmune[BuffID.Venom]     = true;

            //night shade petal
            thoriumPlayer.nightshadeBoost = true;

            //pet
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.GlitterPet, hideVisual, thorium.BuffType("ShineDust"), thorium.ProjectileType("ShinyPet"));
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            //cryo set bonus, dmg duplicate
            modPlayer.CryoEnchant = true;
            //strider hide
            thoriumPlayer.frostBonusDamage = true;
            //pets
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.OwlPet, hideVisual, thorium.BuffType("SnowyOwlBuff"), thorium.ProjectileType("SnowyOwlPet"));
            //icy set bonus
            thoriumPlayer.setIcy = true;
            if (player.ownedProjectileCounts[thorium.ProjectileType("IcyAura")] < 1)
            {
                Projectile.NewProjectile(player.Center.X, player.Center.Y, 0f, 0f, thorium.ProjectileType("IcyAura"), 0, 0f, player.whoAmI, 0f, 0f);
            }
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            //depth diver set
            for (int i = 0; i < 255; i++)
            {
                Player player2 = Main.player[i];
                if (player2.active && Vector2.Distance(player2.Center, player.Center) < 250f)
                {
                    player2.AddBuff(thorium.BuffType("DepthSpeed"), 30, false);
                    player2.AddBuff(thorium.BuffType("DepthDamage"), 30, false);
                    player2.AddBuff(thorium.BuffType("DepthBreath"), 30, false);
                }
            }

            //sea breeze pendant
            player.accFlipper = true;

            if (player.wet || thoriumPlayer.drownedDoubloon)
            {
                player.AddBuff(thorium.BuffType("AquaticAptitude"), 60, true);
                player.GetModPlayer <FargoDLCPlayer>().AllDamageUp(.1f);
            }

            //bubble magnet
            thoriumPlayer.bubbleMagnet = true;
            modPlayer.DepthEnchant     = true;
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.JellyfishPet, hideVisual, thorium.BuffType("JellyPet"), thorium.ProjectileType("JellyfishPet"));
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoPlayer    fargoPlayer   = player.GetModPlayer <FargoPlayer>();
            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            //bubble magnet
            thoriumPlayer.bubbleMagnet = true;
            modPlayer.DepthEnchant     = true;
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.JellyfishPet, hideVisual, thorium.BuffType("JellyPet"), thorium.ProjectileType("JellyfishPet"));

            //tide hunter
            modPlayer.TideHunterEnchant = true;
            //angler bowl
            thorium.GetItem("AnglerBowl").UpdateAccessory(player, hideVisual);
            //yew wood
            modPlayer.YewEnchant = true;

            //strider hide
            thoriumPlayer.frostBonusDamage = true;
            //pets
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.OwlPet, hideVisual, thorium.BuffType("SnowyOwlBuff"), thorium.ProjectileType("SnowyOwlPet"));

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.IcyBarrier))
            {
                //icy set bonus
                thoriumPlayer.icySet = true;
                if (player.ownedProjectileCounts[thorium.ProjectileType("IcyAura")] < 1)
                {
                    Projectile.NewProjectile(player.Center.X, player.Center.Y, 0f, 0f, thorium.ProjectileType("IcyAura"), 0, 0f, player.whoAmI, 0f, 0f);
                }
            }
            //cryo
            modPlayer.CryoEnchant = true;

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.WhisperingTentacles))
            {
                mod.GetItem("WhisperingEnchant").UpdateAccessory(player, hideVisual);
            }

            if (modPlayer.ThoriumSoul)
            {
                return;
            }

            //water bonuses
            if (player.breath <= player.breathMax + 2)
            {
                player.breath = player.breathMax + 3;
            }
            //sea breeze pendant
            player.accFlipper = true;
            if (player.wet || thoriumPlayer.drownedDoubloon)
            {
                player.AddBuff(thorium.BuffType("AquaticAptitude"), 60, true);
                player.GetModPlayer <FargoDLCPlayer>().AllDamageUp(.1f);
                fargoPlayer.AttackSpeed += .2f;
            }
            //quicker in water
            player.ignoreWater = true;
            if (player.wet)
            {
                player.moveSpeed += 0.15f;
            }

            //goblin war shield
            thorium.GetItem("GoblinWarshield").UpdateAccessory(player, hideVisual);
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.ThoriumLoaded)
            {
                return;
            }

            FargoDLCPlayer modPlayer     = player.GetModPlayer <FargoDLCPlayer>();
            ThoriumPlayer  thoriumPlayer = player.GetModPlayer <ThoriumPlayer>();

            //spirit trapper
            modPlayer.SpiritTrapperEnchant = true;
            thoriumPlayer.spiritTrapper    = true;
            //inner flame
            thoriumPlayer.spiritFlame = true;

            //malignant
            modPlayer.MalignantEnchant = true;
            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.ManaBoots))
            {
                //mana charge rockets
                thorium.GetItem("ManaChargedRocketeers").UpdateAccessory(player, hideVisual);
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.DreadSpeed))
            {
                //dread
                player.moveSpeed       += 0.8f;
                player.maxRunSpeed     += 10f;
                player.runAcceleration += 0.05f;
                if (player.velocity.X > 0f || player.velocity.X < 0f)
                {
                    modPlayer.AllDamageUp(.25f);
                    modPlayer.AllCritUp(20);

                    for (int i = 0; i < 2; i++)
                    {
                        int num  = Dust.NewDust(new Vector2(player.position.X, player.position.Y) - player.velocity * 0.5f, player.width, player.height, 65, 0f, 0f, 0, default(Color), 1.75f);
                        int num2 = Dust.NewDust(new Vector2(player.position.X, player.position.Y) - player.velocity * 0.5f, player.width, player.height, 75, 0f, 0f, 0, default(Color), 1f);
                        Main.dust[num].noGravity  = true;
                        Main.dust[num2].noGravity = true;
                        Main.dust[num].noLight    = true;
                        Main.dust[num2].noLight   = true;
                    }
                }
            }
            //crash boots
            thorium.GetItem("CrashBoots").UpdateAccessory(player, hideVisual);
            player.moveSpeed   -= 0.15f;
            player.maxRunSpeed -= 1f;
            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.DragonFlames))
            {
                //dragon
                thoriumPlayer.dragonSet = true;
            }
            //wyvern pet
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.WyvernPet, hideVisual, thorium.BuffType("WyvernPetBuff"), thorium.ProjectileType("WyvernPet"));
            modPlayer.DragonEnchant = true;

            //demon blood effect
            modPlayer.DemonBloodEnchant = true;
            //demon blood badge
            thoriumPlayer.CrimsonBadge = true;
            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.FleshDrops))
            {
                //flesh set bonus
                thoriumPlayer.Symbiotic = true;
            }
            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.VampireGland))
            {
                //vampire gland
                thoriumPlayer.vampireGland = true;
            }
            //blister pet
            modPlayer.AddPet(SoulConfig.Instance.thoriumToggles.BlisterPet, hideVisual, thorium.BuffType("BlisterBuff"), thorium.ProjectileType("BlisterPet"));
            modPlayer.FleshEnchant = true;
            //pet
            modPlayer.KnightEnchant = true;

            //berserker
            mod.GetItem("BerserkerEnchant").UpdateAccessory(player, hideVisual);

            if (modPlayer.ThoriumSoul)
            {
                return;
            }

            //dragon tooth necklace
            player.armorPenetration += 15;

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.thoriumToggles.HarbingerOvercharge))
            {
                //harbinger
                if (player.statLife > (int)(player.statLifeMax2 * 0.75))
                {
                    thoriumPlayer.overCharge = true;
                    modPlayer.AllDamageUp(.5f);
                }
            }
            //shade band
            thoriumPlayer.shadeBand = true;
        }
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            if (!FargowiltasSoulsDLC.Instance.CalamityLoaded)
            {
                return;
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.GodSlayerEffects))
            {
                calamity.Call("SetSetBonus", player, "godslayer", true);
                calamity.Call("SetSetBonus", player, "godslayer_melee", true);
                calamity.Call("SetSetBonus", player, "godslayer_ranged", true);
                calamity.Call("SetSetBonus", player, "godslayer_magic", true);
                calamity.Call("SetSetBonus", player, "godslayer_rogue", true);
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.MechwormMinion))
            {
                //summon
                calamity.Call("SetSetBonus", player, "godslayer_summon", true);
                if (player.whoAmI == Main.myPlayer)
                {
                    if (player.FindBuffIndex(calamity.BuffType("Mechworm")) == -1)
                    {
                        player.AddBuff(calamity.BuffType("Mechworm"), 3600, true);
                    }
                    if (player.ownedProjectileCounts[calamity.ProjectileType("MechwormHead")] < 1)
                    {
                        int whoAmI = player.whoAmI;
                        int num    = calamity.ProjectileType("MechwormHead");
                        int num2   = calamity.ProjectileType("MechwormBody");
                        int num3   = calamity.ProjectileType("MechwormBody2");
                        int num4   = calamity.ProjectileType("MechwormTail");
                        for (int i = 0; i < 1000; i++)
                        {
                            if (Main.projectile[i].active && Main.projectile[i].owner == whoAmI && (Main.projectile[i].type == num || Main.projectile[i].type == num4 || Main.projectile[i].type == num2 || Main.projectile[i].type == num3))
                            {
                                Main.projectile[i].Kill();
                            }
                        }
                        int num5 = player.maxMinions;
                        if (num5 > 10)
                        {
                            num5 = 10;
                        }
                        int     num6   = (int)(35f * (player.minionDamage * 5f / 3f + player.minionDamage * 0.46f * (num5 - 1)));
                        Vector2 value  = player.RotatedRelativePoint(player.MountedCenter, true);
                        Vector2 value2 = Utils.RotatedBy(Vector2.UnitX, player.fullRotation, default(Vector2));
                        Vector2 value3 = Main.MouseWorld - value;
                        float   num7   = Main.mouseX + Main.screenPosition.X - value.X;
                        float   num8   = Main.mouseY + Main.screenPosition.Y - value.Y;
                        if (player.gravDir == -1f)
                        {
                            num8 = Main.screenPosition.Y + Main.screenHeight - Main.mouseY - value.Y;
                        }
                        float num9 = (float)Math.Sqrt((num7 * num7 + num8 * num8));
                        if ((float.IsNaN(num7) && float.IsNaN(num8)) || (num7 == 0f && num8 == 0f))
                        {
                            num7 = player.direction;
                            num8 = 0f;
                            num9 = 10f;
                        }
                        else
                        {
                            num9 = 10f / num9;
                        }
                        num7 *= num9;
                        num8 *= num9;
                        int num10 = -1;
                        int num11 = -1;
                        for (int j = 0; j < 1000; j++)
                        {
                            if (Main.projectile[j].active && Main.projectile[j].owner == whoAmI)
                            {
                                if (num10 == -1 && Main.projectile[j].type == num)
                                {
                                    num10 = j;
                                }
                                else if (num11 == -1 && Main.projectile[j].type == num4)
                                {
                                    num11 = j;
                                }
                                if (num10 != -1 && num11 != -1)
                                {
                                    break;
                                }
                            }
                        }
                        if (num10 == -1 && num11 == -1)
                        {
                            float num12 = Vector2.Dot(value2, value3);
                            if (num12 > 0f)
                            {
                                player.ChangeDir(1);
                            }
                            else
                            {
                                player.ChangeDir(-1);
                            }
                            num7    = 0f;
                            num8    = 0f;
                            value.X = Main.mouseX + Main.screenPosition.X;
                            value.Y = Main.mouseY + Main.screenPosition.Y;
                            int num13 = Projectile.NewProjectile(value.X, value.Y, num7, num8, calamity.ProjectileType("MechwormHead"), num6, 1f, whoAmI, 0f, 0f);
                            int num14 = num13;
                            num13 = Projectile.NewProjectile(value.X, value.Y, num7, num8, calamity.ProjectileType("MechwormBody"), num6, 1f, whoAmI, num14, 0f);
                            num14 = num13;
                            num13 = Projectile.NewProjectile(value.X, value.Y, num7, num8, calamity.ProjectileType("MechwormBody2"), num6, 1f, whoAmI, num14, 0f);
                            Main.projectile[num14].localAI[1] = num13;
                            Main.projectile[num14].netUpdate  = true;
                            num14 = num13;
                            num13 = Projectile.NewProjectile(value.X, value.Y, num7, num8, calamity.ProjectileType("MechwormTail"), num6, 1f, whoAmI, num14, 0f);
                            Main.projectile[num14].localAI[1] = num13;
                            Main.projectile[num14].netUpdate  = true;
                        }
                        else if (num10 != -1 && num11 != -1)
                        {
                            int num15 = Projectile.NewProjectile(value.X, value.Y, num7, num8, calamity.ProjectileType("MechwormBody"), num6, 1f, whoAmI, Main.projectile[num11].ai[0], 0f);
                            int num16 = Projectile.NewProjectile(value.X, value.Y, num7, num8, calamity.ProjectileType("MechwormBody2"), num6, 1f, whoAmI, num15, 0f);
                            Main.projectile[num15].localAI[1]  = num16;
                            Main.projectile[num15].ai[1]       = 1f;
                            Main.projectile[num15].minionSlots = 0f;
                            Main.projectile[num15].netUpdate   = true;
                            Main.projectile[num16].localAI[1]  = num11;
                            Main.projectile[num16].netUpdate   = true;
                            Main.projectile[num16].minionSlots = 0f;
                            Main.projectile[num16].ai[1]       = 1f;
                            Main.projectile[num11].ai[0]       = num16;
                            Main.projectile[num11].netUpdate   = true;
                            Main.projectile[num11].ai[1]       = 1f;
                        }
                    }
                }
            }

            if (SoulConfig.Instance.GetValue(SoulConfig.Instance.calamityToggles.NebulousCore))
            {
                calamity.GetItem("NebulousCore").UpdateAccessory(player, hideVisual);
            }

            //draedons heart
            calamity.GetItem("DraedonsHeart").UpdateAccessory(player, hideVisual);

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

            fargoPlayer.GodSlayerEnchant = true;
            fargoPlayer.AddPet(SoulConfig.Instance.calamityToggles.ChibiiPet, hideVisual, calamity.BuffType("ChibiiBuff"), calamity.ProjectileType("ChibiiDoggo"));
        }