예제 #1
0
 private static void DownedWallOfFleshEffect(LaugicalityPlayer laugicalityPlayer, bool hideAccessory)
 {
     laugicalityPlayer.WallOfFleshEffect = true;
 }
예제 #2
0
        public override bool CanUseItem(Player player)
        {
            LaugicalityPlayer modPlayer = LaugicalityPlayer.Get(player);

            return(!modPlayer.zCool);
        }
예제 #3
0
 public override bool UseItem(Player player)
 {
     LaugicalityPlayer.Get(player).inf = !LaugicalityPlayer.Get(player).inf;
     Main.NewText(LaugicalityPlayer.Get(player).inf.ToString(), 250, 250, 0);
     return(true);
 }
예제 #4
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            LaugicalityPlayer mPlayer = LaugicalityPlayer.Get(player);
            int Class = mPlayer.Class;



            if (NPC.downedSlimeKing)
            {
                if (LaugicalityVars.slimeThrow.Contains(Class))
                {
                    player.thrownDamage += 0.1f;
                }

                if (LaugicalityVars.slimeJump.Contains(Class) && mPlayer.SoulStoneMovement)
                {
                    player.jumpSpeedBoost += 5.0f;
                }

                if (LaugicalityVars.slimeMinion.Contains(Class))
                {
                    mPlayer.Slimey = true;
                }

                if (LaugicalityVars.slimeVelocity.Contains(Class))
                {
                    player.thrownVelocity += .2f;
                }
            }
            if (NPC.downedBoss1)
            {
                if (LaugicalityVars.boss1Thorns.Contains(Class))
                {
                    mPlayer.Eyes = true;
                }

                if (LaugicalityVars.boss1Speed.Contains(Class))
                {
                    player.moveSpeed += 1.0f;
                }

                if (LaugicalityVars.boss1Detect.Contains(Class) && mPlayer.SoulStoneVisuals)
                {
                    player.detectCreature = true;
                }

                if (LaugicalityVars.boss1Damage.Contains(Class))
                {
                    mPlayer.DestructionDamage += 0.05f;
                    mPlayer.ConjurationDamage += 0.05f;
                    mPlayer.MysticDuration    += 0.2f;
                }
            }
            if (NPC.downedBoss2)
            {
                if (LaugicalityVars.boss2Rage.Contains(Class))
                {
                    mPlayer.BloodRage = true;
                }

                if (LaugicalityVars.boss2Defence.Contains(Class))
                {
                    player.statDefense  += 4;
                    player.statLifeMax2 += 20;
                }
                if (LaugicalityVars.boss2Regen.Contains(Class))
                {
                    player.lifeRegen    += 1;
                    player.statManaMax2 += 20;
                }
                if (LaugicalityVars.boss2RBonus.Contains(Class))
                {
                    player.manaRegenBonus += 15;
                }
            }
            if (NPC.downedQueenBee)
            {
                if (LaugicalityVars.beeTrue.Contains(Class))
                {
                    mPlayer.QueenBee = true;
                }

                if (LaugicalityVars.beeRegen.Contains(Class))
                {
                    player.lifeRegen += 2;
                }

                if (LaugicalityVars.beeMinions.Contains(Class))
                {
                    player.maxMinions += 1;
                }

                if (LaugicalityVars.beeMDamage.Contains(Class))
                {
                    player.minionDamage += .1f;
                }
            }
            if (NPC.downedBoss3)
            {
                if (LaugicalityVars.boss3Damage.Contains(Class))
                {
                    player.allDamage += 0.05f;
                }
                if (LaugicalityVars.boss3Defense.Contains(Class))
                {
                    player.statDefense += 5;
                }

                if (LaugicalityVars.boss3Speed.Contains(Class))
                {
                    player.maxRunSpeed += .5f;
                    player.moveSpeed   += .5f;
                }
                if (LaugicalityVars.boss3Crit.Contains(Class))
                {
                    player.rangedCrit += 10;
                }
            }
            if (Main.hardMode)
            {
                if (LaugicalityVars.hardDamage.Contains(Class))
                {
                    player.allDamage += 0.05f;
                }
                if (LaugicalityVars.hardRegen.Contains(Class))
                {
                    player.lifeRegen += 2;
                }

                if (LaugicalityVars.hardMana.Contains(Class))
                {
                    player.statManaMax2 += 40;
                }

                if (LaugicalityVars.hardObsid.Contains(Class))
                {
                    mPlayer.Obsidium = true;
                }
            }
            if (NPC.downedMechBoss1)
            {
                if (LaugicalityVars.mech1Crit.Contains(Class))
                {
                    player.rangedCrit += 12;
                }

                if (LaugicalityVars.mech1Speed.Contains(Class))
                {
                    player.moveSpeed += .4f;
                }
            }
            if (NPC.downedMechBoss2)
            {
                if (LaugicalityVars.mech2Magic.Contains(Class))
                {
                    player.magicDamage   += 0.05f;
                    player.statManaMax2  += 20;
                    player.manaCost      -= .1f;
                    mPlayer.MysticDamage += .05f;
                }
                if (LaugicalityVars.mech2Jump.Contains(Class) && mPlayer.SoulStoneMovement)
                {
                    player.wingTimeMax += 120;
                }
            }
            if (NPC.downedMechBoss3)
            {
                if (LaugicalityVars.mech3Damage.Contains(Class))
                {
                    mPlayer.SkeletonPrime = true;
                    player.meleeDamage   += 0.05f;
                    player.meleeSpeed    += 0.05f;
                }
                if (LaugicalityVars.mech3Defense.Contains(Class))
                {
                    player.statDefense += 6;
                }
            }
            if (NPC.downedPlantBoss)
            {
                if (LaugicalityVars.plantBonus.Contains(Class))
                {
                    player.maxMinions++;
                    player.manaRegenBonus += 20;
                }
                if (LaugicalityVars.plantThorns.Contains(Class))
                {
                    mPlayer.Spores = true;
                }
            }
            if (NPC.downedGolemBoss)
            {
                if (LaugicalityVars.golemCrit.Contains(Class))
                {
                    player.thrownCrit += 10;
                    player.rangedCrit += 10;
                    player.magicCrit  += 10;
                    player.meleeCrit  += 10;
                }
                if (LaugicalityVars.golemRegen.Contains(Class))
                {
                    player.lifeRegen += 2;
                }
            }
            if (NPC.downedFishron)
            {
                if (LaugicalityVars.fishDouche.Contains(Class))
                {
                    mPlayer.Doucheron    = true;
                    player.rangedDamage += 0.08f;
                    player.meleeSpeed   += 0.08f;
                }
                if (LaugicalityVars.fishSpeed.Contains(Class) && mPlayer.SoulStoneMovement)
                {
                    player.jumpSpeedBoost += 4.0f;
                }

                if (LaugicalityVars.fishMDamage.Contains(Class))
                {
                    mPlayer.DestructionDamage += 0.05f;
                    mPlayer.ConjurationDamage += 0.05f;
                    mPlayer.MysticDuration    += 0.1f;
                }
            }
            if (NPC.downedAncientCultist)
            {
                if (LaugicalityVars.cultistDamage1.Contains(Class))
                {
                    player.rangedDamage += 0.08f;
                    player.meleeDamage  += 0.08f;
                    player.thrownDamage += .08f;
                }
                if (LaugicalityVars.cultistDamage2.Contains(Class))
                {
                    player.magicDamage   += 0.08f;
                    player.minionDamage  += 0.08f;
                    mPlayer.MysticDamage += .08f;
                }
            }
            if (NPC.downedMoonlord)
            {
                player.allDamage   += 0.10f;
                player.statDefense += 12;
            }
        }
예제 #5
0
        public override void UpdateArmorSet(Player player)
        {
            LaugicalityPlayer modPlayer = LaugicalityPlayer.Get(player);

            player.setBonus = "Absorb the power of up to 3 Etherial creatures";
            if (modPlayer.BysmalAbsorbDisabled)
            {
                player.setBonus += "\nLocked- Will not absorb any new bonuses";
            }
            modPlayer.fullBysmal = 2;

            // TODO Change this to some kind of list definition.
            for (int i = 0; i < modPlayer.BysmalPowers.Count; i++)
            {
                if (modPlayer.BysmalPowers[i] == (NPCID.KingSlime))
                {
                    player.setBonus += "\nSuper Jump Boost & Super Speed Boost while in the Etherial";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.EyeofCthulhu))
                {
                    player.setBonus += "\nAllows you to see all creatures, no matter which dimension you are in.";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.EaterofWorldsHead))
                {
                    player.setBonus += "\nWhile in the etherial, prevent a hit of lethal damage once every minute. \n20% Damage Reduction";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.BrainofCthulhu))
                {
                    player.setBonus += "\nWhile in the etherial, if you would die from contact damage, heal 300 life instead. 3 minute cooldown.\nAfter colliding with an enemy, that enemy takes 50% more damage for 15 seconds.";
                }

                if (modPlayer.BysmalPowers[i] == (ModContent.NPCType <Hypothema>()))
                {
                    player.setBonus += "\nAttacks inflict 'Frostbite'";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.QueenBee))
                {
                    player.setBonus += "\nHoney provides triple the normal regen, 15 defense, and +15% damage while in the Etherial";
                }

                if (modPlayer.BysmalPowers[i] == (ModContent.NPCType <Ragnar>()))
                {
                    player.setBonus += "\nAfter submerging in Lava in the Etherial, greatly increased attack stats and mobility. +25% Max Life.";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.SkeletronHead))
                {
                    player.setBonus += "\nWhile in the Etherial, after taking damage, your damage is boosted by the percentage of your health that was taken for 10 seconds.\nIf this buff is still active when damage is taken again, the boost is stacked.";
                }

                if (modPlayer.BysmalPowers[i] == (ModContent.NPCType <AnDio3>()))
                {
                    player.setBonus += "\nYour projectiles are immune to Time Stop when in the Etherial";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.Retinazer) || modPlayer.BysmalPowers[i] == (NPCID.Spazmatism))
                {
                    player.setBonus += "\nTaking damage in the Etherial heals you for that damage instead once every 90 seconds.";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.TheDestroyer))
                {
                    player.setBonus += "\nYour global damage modifier is applied to your defense while in the Etherial";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.SkeletronPrime))
                {
                    player.setBonus += "\nIn the Etherial, deal more damage the lower your life is";
                }

                if (modPlayer.BysmalPowers[i] == (ModContent.NPCType <TheAnnihilator>()))
                {
                    player.setBonus += "\nKilling an enemy while in the Etherial boosts your damage by 20% for 10 seconds. Killing another enemy in this time resets the timer and stacks the bonus.";
                }

                if (modPlayer.BysmalPowers[i] == (ModContent.NPCType <Slybertron>()))
                {
                    player.setBonus += "\nAttacks in the Etherial inflict 'Steamified', dealing damage over time, making enemies take more damage, and explode into cogs on death.";
                }

                if (modPlayer.BysmalPowers[i] == (ModContent.NPCType <NPCs.SteamTrain.SteamTrain>()))
                {
                    player.setBonus += "\nCHOO CHOO! While in the etherial, the faster you move, the higher your damage. Colliding with an enemy deals your movement speed * 500 in damage. Greatly increases Movement Speed.";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.Plantera))
                {
                    player.setBonus += "\nIf you are grappled to a tile in the Etherial, +50% Damage & increased life regen.";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.Golem))
                {
                    player.setBonus += "\nYour defense is added to your Max Life. Greatly increased Life Regen and +20 Defense while in the Etherial";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.DukeFishron))
                {
                    player.setBonus += "\nWater brings you great power in the Etherial";
                }

                if (modPlayer.BysmalPowers[i] == (NPCID.MoonLordCore))
                {
                    player.setBonus += "\nAll Etherial effects can occur in any dimension";
                }
            }
        }
예제 #6
0
        /*
         * public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
         * {
         *  LaugicalityPlayer modPlayer = player.GetModPlayer<LaugicalityPlayer>(mod);
         *  damage = (int) modPlayer.mysticDamage;
         *  knockBack = modPlayer.mysticDuration;
         *  return true;
         * }
         *
         *
         * //Mystic Stuff
         * public override bool AltFunctionUse(Player player)
         * {
         *
         *  LaugicalityPlayer modPlayer = player.GetModPlayer<LaugicalityPlayer>(mod);
         *  modPlayer.mysticMode += 1;
         *  if (modPlayer.mysticMode > 3) modPlayer.mysticMode = 1;
         *  return true;
         * }
         * public override bool CanUseItem(Player player)
         * {
         *  return true;
         *  if (player.altFunctionUse == 2)
         *  {
         *
         *  }
         * }*/

        public virtual void GetWeaponDamage(Player player, ref int damage)
        {
            LaugicalityPlayer modPlayer = player.GetModPlayer <LaugicalityPlayer>(mod);

            item.damage = (int)(item.damage * modPlayer.mysticDamage);
        }
예제 #7
0
        public override void ModifyTooltips(List <TooltipLine> tooltips)
        {
            Player ttPlayer = Main.player[Main.myPlayer];
            int    Class    = LaugicalityPlayer.Get(ttPlayer).Class;

            //Tooltips

            /*if (KS > 0)
             * {
             *  TooltipLine lineKSTT = new TooltipLine(mod, "", KSTT);
             *  tooltips.Add(lineKSTT);
             * }*/

            //Class
            if (Class == (int)LaugicalityVars.ClassType.Undefined)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Your Soul is not Bound. \nCraft one of the class Stones to bind it!"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Warrior)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Warrior"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Tank)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Tank"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Paladin)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Paladin"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Warlock)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Warlock"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Wizard)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Wizard"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Mage)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Mage"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Sharpshooter)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Sharpshooter"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Rogue)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Rogue"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Hunter)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Hunter"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Necromancer)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Necromancer"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Sorcerer)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Sorcerer"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Shaman)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Shaman"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Assasin)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Assassin"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Ninja)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Ninja"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Thief)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Thief"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Destructionist)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Destructionist"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Illusionist)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Illusionist"); tooltips.Add(lineClass);
            }
            else if (Class == (int)LaugicalityVars.ClassType.Conjurer)
            {
                TooltipLine lineClass = new TooltipLine(mod, "", "Conjurer"); tooltips.Add(lineClass);
            }
            //Tooltips
            if (NPC.downedSlimeKing)
            {
                if (LaugicalityVars.slimeThrow.Contains(Class))
                {
                    TooltipLine lineKs1 = new TooltipLine(mod, "", _ks1);
                    tooltips.Add(lineKs1);
                }

                if (LaugicalityVars.slimeJump.Contains(Class))
                {
                    TooltipLine lineKs2 = new TooltipLine(mod, "", _ks2);
                    tooltips.Add(lineKs2);
                }

                if (LaugicalityVars.slimeMinion.Contains(Class))
                {
                    TooltipLine lineKs3 = new TooltipLine(mod, "", _ks3);
                    tooltips.Add(lineKs3);
                }

                if (LaugicalityVars.slimeVelocity.Contains(Class))
                {
                    TooltipLine lineKs4 = new TooltipLine(mod, "", _ks4);
                    tooltips.Add(lineKs4);
                }
            }
            if (NPC.downedBoss1)
            {
                if (LaugicalityVars.boss1Thorns.Contains(Class))
                {
                    TooltipLine lineEoC1 = new TooltipLine(mod, "", _eoC1);
                    tooltips.Add(lineEoC1);
                }
                if (LaugicalityVars.boss1Speed.Contains(Class))
                {
                    TooltipLine lineEoC2 = new TooltipLine(mod, "", _eoC2);
                    tooltips.Add(lineEoC2);
                }
                if (LaugicalityVars.boss1Detect.Contains(Class))
                {
                    TooltipLine lineEoC3 = new TooltipLine(mod, "", _eoC3);
                    tooltips.Add(lineEoC3);
                }
                if (LaugicalityVars.boss1Damage.Contains(Class))
                {
                    TooltipLine lineEoC4 = new TooltipLine(mod, "", _eoC4);
                    tooltips.Add(lineEoC4);
                }
            }
            if (NPC.downedBoss2)
            {
                if (LaugicalityVars.boss2Rage.Contains(Class))
                {
                    TooltipLine lineEoWboC1 = new TooltipLine(mod, "", _eoWboC1);
                    tooltips.Add(lineEoWboC1);
                }
                if (LaugicalityVars.boss2Defence.Contains(Class))
                {
                    TooltipLine lineEoWboC2 = new TooltipLine(mod, "", _eoWboC2);
                    tooltips.Add(lineEoWboC2);
                }
                if (LaugicalityVars.boss2Regen.Contains(Class))
                {
                    TooltipLine lineEoWboC3 = new TooltipLine(mod, "", _eoWboC3);
                    tooltips.Add(lineEoWboC3);
                }
                if (LaugicalityVars.boss2RBonus.Contains(Class))
                {
                    TooltipLine lineEoWboC4 = new TooltipLine(mod, "", _eoWboC4);
                    tooltips.Add(lineEoWboC4);
                }
            }
            if (NPC.downedQueenBee)
            {
                if (LaugicalityVars.beeTrue.Contains(Class))
                {
                    TooltipLine lineQb1 = new TooltipLine(mod, "", _qb1);
                    tooltips.Add(lineQb1);
                }
                if (LaugicalityVars.beeRegen.Contains(Class))
                {
                    TooltipLine lineQb2 = new TooltipLine(mod, "", _qb2);
                    tooltips.Add(lineQb2);
                }
                if (LaugicalityVars.beeMinions.Contains(Class))
                {
                    TooltipLine lineQb3 = new TooltipLine(mod, "", _qb3);
                    tooltips.Add(lineQb3);
                }
                if (LaugicalityVars.beeMDamage.Contains(Class))
                {
                    TooltipLine lineQb4 = new TooltipLine(mod, "", _qb4);
                    tooltips.Add(lineQb4);
                }
            }
            if (NPC.downedBoss3)
            {
                if (LaugicalityVars.boss3Damage.Contains(Class))
                {
                    TooltipLine lineSk1 = new TooltipLine(mod, "", _sk1);
                    tooltips.Add(lineSk1);
                }
                if (LaugicalityVars.boss3Defense.Contains(Class))
                {
                    TooltipLine lineSk2 = new TooltipLine(mod, "", _sk2);
                    tooltips.Add(lineSk2);
                }
                if (LaugicalityVars.boss3Speed.Contains(Class))
                {
                    TooltipLine lineSk3 = new TooltipLine(mod, "", _sk3);
                    tooltips.Add(lineSk3);
                }
                if (LaugicalityVars.boss3Crit.Contains(Class))
                {
                    TooltipLine lineSk4 = new TooltipLine(mod, "", _sk4);
                    tooltips.Add(lineSk4);
                }
            }
            if (Main.hardMode)
            {
                if (LaugicalityVars.hardDamage.Contains(Class))
                {
                    TooltipLine lineWoF1 = new TooltipLine(mod, "", _woF1);
                    tooltips.Add(lineWoF1);
                }
                if (LaugicalityVars.hardRegen.Contains(Class))
                {
                    TooltipLine lineWoF2 = new TooltipLine(mod, "", _woF2);
                    tooltips.Add(lineWoF2);
                }
                if (LaugicalityVars.hardMana.Contains(Class))
                {
                    TooltipLine lineWoF3 = new TooltipLine(mod, "", _woF3);
                    tooltips.Add(lineWoF3);
                }
                if (LaugicalityVars.hardObsid.Contains(Class))
                {
                    TooltipLine lineWoF4 = new TooltipLine(mod, "", _woF4);
                    tooltips.Add(lineWoF4);
                }
            }
            if (NPC.downedMechBoss1)
            {
                if (LaugicalityVars.mech1Crit.Contains(Class))

                {
                    TooltipLine lineDst1 = new TooltipLine(mod, "", _dst1);
                    tooltips.Add(lineDst1);
                }
                if (LaugicalityVars.mech1Speed.Contains(Class))
                {
                    TooltipLine lineDst2 = new TooltipLine(mod, "", _dst2);
                    tooltips.Add(lineDst2);
                }
            }
            if (NPC.downedMechBoss2)
            {
                if (LaugicalityVars.mech2Magic.Contains(Class))
                {
                    TooltipLine lineTw1 = new TooltipLine(mod, "", _tw1);
                    tooltips.Add(lineTw1);
                }
                if (LaugicalityVars.mech2Jump.Contains(Class))
                {
                    TooltipLine lineTw2 = new TooltipLine(mod, "", _tw2);
                    tooltips.Add(lineTw2);
                }
            }
            if (NPC.downedMechBoss3)
            {
                if (LaugicalityVars.mech3Damage.Contains(Class))
                {
                    TooltipLine lineSp1 = new TooltipLine(mod, "", _sp1);
                    tooltips.Add(lineSp1);
                }
                if (LaugicalityVars.mech3Defense.Contains(Class))
                {
                    TooltipLine lineSp2 = new TooltipLine(mod, "", _sp2);
                    tooltips.Add(lineSp2);
                }
            }
            if (NPC.downedPlantBoss)
            {
                if (LaugicalityVars.plantBonus.Contains(Class))
                {
                    TooltipLine linePt1 = new TooltipLine(mod, "", _pt1);
                    tooltips.Add(linePt1);
                }
                if (LaugicalityVars.plantThorns.Contains(Class))
                {
                    TooltipLine linePt2 = new TooltipLine(mod, "", _pt2);
                    tooltips.Add(linePt2);
                }
            }
            if (NPC.downedGolemBoss)
            {
                if (LaugicalityVars.golemCrit.Contains(Class))
                {
                    TooltipLine lineGl1 = new TooltipLine(mod, "", _gl1);
                    tooltips.Add(lineGl1);
                }
                if (LaugicalityVars.golemRegen.Contains(Class))
                {
                    TooltipLine lineGl2 = new TooltipLine(mod, "", _gl2);
                    tooltips.Add(lineGl2);
                }
            }
            if (NPC.downedFishron)
            {
                if (LaugicalityVars.fishDouche.Contains(Class))
                {
                    TooltipLine lineDf1 = new TooltipLine(mod, "", _df1);
                    tooltips.Add(lineDf1);
                }
                if (LaugicalityVars.fishSpeed.Contains(Class))
                {
                    TooltipLine lineDf2 = new TooltipLine(mod, "", _df2);
                    tooltips.Add(lineDf2);
                }
                if (LaugicalityVars.fishMDamage.Contains(Class))
                {
                    TooltipLine lineDf3 = new TooltipLine(mod, "", _df3);
                    tooltips.Add(lineDf3);
                }
            }
            if (NPC.downedAncientCultist)
            {
                if (LaugicalityVars.cultistDamage1.Contains(Class))
                {
                    TooltipLine lineLc1 = new TooltipLine(mod, "", _lc1);
                    tooltips.Add(lineLc1);
                }
                if (LaugicalityVars.cultistDamage2.Contains(Class))
                {
                    TooltipLine lineLc2 = new TooltipLine(mod, "", _lc2);
                    tooltips.Add(lineLc2);
                }
            }
            if (NPC.downedMoonlord && Class > 0)
            {
                TooltipLine lineMl1 = new TooltipLine(mod, "", _ml1);
                tooltips.Add(lineMl1);
            }
        }
예제 #8
0
        /*public override bool CanUseItem(Player player)
         * {
         *  LaugicalityPlayer modPlayer = LaugicalityPlayer.Get(player);
         *  switch (modPlayer.MysticMode)
         *  {
         *      case 1:
         *          return modPlayer.Lux > luxCost;
         *      case 2:
         *          return modPlayer.Vis > visCost;
         *      case 3:
         *          return modPlayer.Mundus > mundusCost;
         *  }
         *  return true;
         * }*/

        public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
        {
            LaugicalityPlayer modPlayer = LaugicalityPlayer.Get(player);

            switch (modPlayer.MysticMode)
            {
            case 1:
                if (modPlayer.Lux >= LuxCost * modPlayer.LuxUseRate * modPlayer.GlobalPotentiaUseRate)
                {
                    modPlayer.Lux -= LuxCost * modPlayer.LuxUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Lux < 0)
                    {
                        modPlayer.Lux = 0;
                    }
                    if (modPlayer.Lux > (modPlayer.LuxMax + modPlayer.LuxMaxPermaBoost) * modPlayer.LuxOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Lux = (modPlayer.LuxMax + modPlayer.LuxMaxPermaBoost) * modPlayer.LuxOverflow * modPlayer.GlobalOverflow;
                    }
                    modPlayer.Vis += LuxCost * modPlayer.GlobalAbsorbRate * modPlayer.VisAbsorbRate * modPlayer.LuxDischargeRate * modPlayer.LuxUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Vis > (modPlayer.VisMax + modPlayer.VisMaxPermaBoost) * modPlayer.VisOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Vis = (modPlayer.VisMax + modPlayer.VisMaxPermaBoost) * modPlayer.VisOverflow * modPlayer.GlobalOverflow;
                    }
                    modPlayer.Mundus += LuxCost * modPlayer.GlobalAbsorbRate * modPlayer.MundusAbsorbRate * modPlayer.LuxDischargeRate * modPlayer.LuxUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Mundus > (modPlayer.MundusMax + modPlayer.MundusMaxPermaBoost) * modPlayer.MundusOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Mundus = (modPlayer.MundusMax + modPlayer.MundusMaxPermaBoost) * modPlayer.MundusOverflow * modPlayer.GlobalOverflow;
                    }
                }
                else
                {
                    return(false);
                }
                break;

            case 2:
                if (modPlayer.Vis >= VisCost * modPlayer.VisUseRate * modPlayer.GlobalPotentiaUseRate)
                {
                    modPlayer.Vis -= VisCost * modPlayer.VisUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Vis < 0)
                    {
                        modPlayer.Vis = 0;
                    }
                    modPlayer.Lux += VisCost * modPlayer.GlobalAbsorbRate * modPlayer.LuxAbsorbRate * modPlayer.VisDischargeRate * modPlayer.VisUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Lux > (modPlayer.LuxMax + modPlayer.LuxMaxPermaBoost) * modPlayer.LuxOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Lux = (modPlayer.LuxMax + modPlayer.LuxMaxPermaBoost) * modPlayer.LuxOverflow * modPlayer.GlobalOverflow;
                    }
                    if (modPlayer.Vis > (modPlayer.VisMax + modPlayer.VisMaxPermaBoost) * modPlayer.VisOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Vis = (modPlayer.VisMax + modPlayer.VisMaxPermaBoost) * modPlayer.VisOverflow * modPlayer.GlobalOverflow;
                    }
                    modPlayer.Mundus += VisCost * modPlayer.GlobalAbsorbRate * modPlayer.MundusAbsorbRate * modPlayer.VisDischargeRate * modPlayer.VisUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Mundus > (modPlayer.MundusMax + modPlayer.MundusMaxPermaBoost) * modPlayer.MundusOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Mundus = (modPlayer.MundusMax + modPlayer.MundusMaxPermaBoost) * modPlayer.MundusOverflow * modPlayer.GlobalOverflow;
                    }
                }
                else
                {
                    return(false);
                }
                break;

            case 3:
                if (modPlayer.Mundus >= MundusCost * modPlayer.MundusUseRate * modPlayer.GlobalPotentiaUseRate)
                {
                    modPlayer.Mundus -= MundusCost * modPlayer.MundusUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Mundus < 0)
                    {
                        modPlayer.Mundus = 0;
                    }
                    modPlayer.Lux += MundusCost * modPlayer.GlobalAbsorbRate * modPlayer.LuxAbsorbRate * modPlayer.MundusDischargeRate * modPlayer.MundusUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Lux > (modPlayer.LuxMax + modPlayer.LuxMaxPermaBoost) * modPlayer.LuxOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Lux = (modPlayer.LuxMax + modPlayer.LuxMaxPermaBoost) * modPlayer.LuxOverflow * modPlayer.GlobalOverflow;
                    }
                    modPlayer.Vis += MundusCost * modPlayer.GlobalAbsorbRate * modPlayer.VisAbsorbRate * modPlayer.MundusDischargeRate * modPlayer.MundusUseRate * modPlayer.GlobalPotentiaUseRate;
                    if (modPlayer.Vis > (modPlayer.VisMax + modPlayer.VisMaxPermaBoost) * modPlayer.VisOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Vis = (modPlayer.VisMax + modPlayer.VisMaxPermaBoost) * modPlayer.VisOverflow * modPlayer.GlobalOverflow;
                    }
                    if (modPlayer.Mundus > (modPlayer.MundusMax + modPlayer.MundusMaxPermaBoost) * modPlayer.MundusOverflow * modPlayer.GlobalOverflow)
                    {
                        modPlayer.Mundus = (modPlayer.MundusMax + modPlayer.MundusMaxPermaBoost) * modPlayer.MundusOverflow * modPlayer.GlobalOverflow;
                    }
                }
                else
                {
                    return(false);
                }
                break;
            }

            return(MysticShoot(player, ref position, ref speedX, ref speedY, ref type, ref damage, ref knockBack));
        }
예제 #9
0
 public override void Update(Player player, ref int buffIndex)
 {
     LaugicalityPlayer.Get(player).Electrified = true;
 }
예제 #10
0
 public abstract void Conjuration(LaugicalityPlayer modPlayer);
예제 #11
0
 public abstract void Illusion(LaugicalityPlayer modPlayer);
예제 #12
0
 public abstract void Destruction(LaugicalityPlayer modPlayer);
예제 #13
0
        public override void UpdateAccessory(Player player, bool hideVisual)
        {
            LaugicalityPlayer modPlayer = player.GetModPlayer <LaugicalityPlayer>(mod);

            modPlayer.mysticDamage += .15f;
        }
예제 #14
0
 public override void Update(Player player, ref int buffIndex)
 {
     LaugicalityPlayer.Get(player).Mysticality     = 2;
     LaugicalityPlayer.Get(player).GlobalOverflow += .2f;
 }