示例#1
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>();

            //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;
        }