Ejemplo n.º 1
0
 public override void PostItemCheck()
 {
     if (triggerItemTime)
     {
         player.itemTime = PlayerHooks.TotalUseTime(player.HeldItem.useTime * player.tileSpeed, player, player.HeldItem);
     }
     triggerItemTime = false;
 }
Ejemplo n.º 2
0
 public override bool UseItem(Player player)
 {
     if (player.itemAnimation > 0 && !player.GetModPlayer <SteviesModPlayer>().extendedLungs&& player.itemTime == 0)
     {
         player.itemTime  = PlayerHooks.TotalUseTime(item.useTime, player, item);
         player.breath   += 100;
         player.breathMax = 300;
         player.GetModPlayer <SteviesModPlayer>().extendedLungs = true;
     }
     return(false);
 }
Ejemplo n.º 3
0
        public override void UseStyle(Player player)
        {
            int totalTime = PlayerHooks.TotalUseTime(item.useTime, player, item);

            if (player.itemTime == totalTime / 2)
            {
                if (!firstuse && done)
                {
                    firstuse = true;
                }
            }
        }
Ejemplo n.º 4
0
 public override bool UseItem(Player player)
 {
     if (player.itemAnimation > 0 && player.itemTime == 0 && player.GetModPlayer <KeyPlayer>().ChargedCrystals == 7)
     {
         player.itemTime = PlayerHooks.TotalUseTime(item.useTime, player, item);
         player.GetModPlayer <KeyPlayer>().maxMP           += 25;
         player.GetModPlayer <KeyPlayer>().ChargedCrystals += 1;
         player.GetModPlayer <KeyPlayer>().currentMP       += 25;
         if (Main.myPlayer == player.whoAmI)
         {
             CombatText.NewText(player.getRect(), Color.DodgerBlue, 25);
         }
     }
     return(false);
 }
Ejemplo n.º 5
0
 public override bool UseItem(Player player)
 {
     if (player.itemAnimation > 0 && player.statManaMax >= 200 && player.statManaMax < 300 && player.itemTime == 0)
     {
         player.itemTime      = PlayerHooks.TotalUseTime(item.useTime, player, item);
         player.statManaMax2 += 10;
         player.GetModPlayer <TemperatePlayer>().ArcaneCrystals += 1;
         player.statMana += 10;
         if (Main.myPlayer == player.whoAmI)
         {
             player.ManaEffect(10);
         }
         AchievementsHelper.HandleSpecialEvent(player, AchievementHelperID.Special.ConsumeStar);
     }
     return(false);
 }
Ejemplo n.º 6
0
        public override void UseStyle(Player player)
        {
            const int dustType     = 27;
            var       totalUseTime = PlayerHooks.TotalUseTime(item.useTime, player, item);

            if (Main.rand.NextBool())
            {
                Dust.NewDust(player.position, player.width, player.height, dustType, Alpha: 150, newColor: Color.Black,
                             Scale: 1.7f);
            }

            if (player.itemTime == 0)
            {
                player.itemTime = totalUseTime;
            }
            else if (player.itemTime == totalUseTime / 2)
            {
                Repeat(70,
                       () => Dust.NewDust(player.position, player.width, player.height, dustType, player.velocity.X * 0.5f,
                                          player.velocity.Y * 0.5f, 150, Color.Purple, 1.5f));

                player.grappling[0] = -1;
                player.grapCount    = 0;
                foreach (var projectile in Main.projectile)
                {
                    if (projectile.active && projectile.owner == player.whoAmI && projectile.aiStyle == 7)
                    {
                        projectile.Kill();
                    }
                }

                var modPlayer = player.GetModPlayer <RemorsePlayer>();
                if (!modPlayer.RemorsePosition.Equals(Vector2.Zero))
                {
                    player.TeleportPlayer(modPlayer.RemorsePosition, teleportStyle: -1 /* ensures we don't use a predefined style */);
                }
            }
            else if (player.itemTime == totalUseTime / 2 - 1)
            {
                Repeat(70,
                       () => Dust.NewDust(player.position, player.width, player.height, dustType, Alpha: 150,
                                          newColor: Color.Black, Scale: 1.5f));
            }
        }
Ejemplo n.º 7
0
        public override bool UseItem(Player player)
        {
            if (player.whoAmI == Main.myPlayer)
            {
                if (player.wet)
                {
                    int num522 = Main.tile[Player.tileTargetX, Player.tileTargetY].liquidType();
                    int num521 = 0;
                    for (int num520 = Player.tileTargetX - 1; num520 <= Player.tileTargetX + 1; num520++)
                    {
                        for (int num515 = Player.tileTargetY - 1; num515 <= Player.tileTargetY + 1; num515++)
                        {
                            if (Main.tile[num520, num515].liquidType() == num522)
                            {
                                num521 += Main.tile[num520, num515].liquid;
                            }
                        }
                    }
                    if (Main.tile[Player.tileTargetX, Player.tileTargetY].liquid > 0 && (num521 > 100 || item.type == 3032))
                    {
                        int liquidType = Main.tile[Player.tileTargetX, Player.tileTargetY].liquidType();

                        Main.PlaySound(19, (int)item.position.X, (int)item.position.Y, 1, 1f, 0f);
                        player.itemTime = PlayerHooks.TotalUseTime(item.useTime, player, item);
                        int num519 = Main.tile[Player.tileTargetX, Player.tileTargetY].liquid;
                        Main.tile[Player.tileTargetX, Player.tileTargetY].liquid = 0;
                        if (Main.rand.NextFloat() < .0450f)
                        { //4.5%
                            Item.NewItem(player.getRect(), ItemID.CopperOre, 1);
                        }
                        if (Main.rand.NextFloat() < .0450f)
                        { //7%
                            Item.NewItem(player.getRect(), ItemID.TinOre, 1);
                        }
                        if (Main.rand.NextFloat() < .0250f)
                        { //5%
                            Item.NewItem(player.getRect(), ItemID.IronOre, 1);
                        }
                        if (Main.rand.NextFloat() < .0250f)
                        { //5%
                            Item.NewItem(player.getRect(), ItemID.LeadOre, 1);
                        }
                        if (Main.rand.NextFloat() < .0200f)
                        { //4%
                            Item.NewItem(player.getRect(), ItemID.SilverOre, 1);
                        }
                        if (Main.rand.NextFloat() < .0200f)
                        { //4%
                            Item.NewItem(player.getRect(), ItemID.TungstenOre, 1);
                        }
                        if (Main.rand.NextFloat() < .0100f)
                        { //2%
                            Item.NewItem(player.getRect(), ItemID.GoldOre, 1);
                        }
                        if (Main.rand.NextFloat() < .0100f)
                        { //2%
                            Item.NewItem(player.getRect(), ItemID.PlatinumOre, 1);
                        }
                        if (Main.rand.NextFloat() < .0050f)
                        { //1%
                            Item.NewItem(player.getRect(), ItemID.Obsidian, 1);
                        }
                        Main.tile[Player.tileTargetX, Player.tileTargetY].lava(false);
                        Main.tile[Player.tileTargetX, Player.tileTargetY].honey(false);
                        WorldGen.SquareTileFrame(Player.tileTargetX, Player.tileTargetY, false);
                        if (Main.netMode == 1)
                        {
                            NetMessage.sendWater(Player.tileTargetX, Player.tileTargetY);
                        }
                        else
                        {
                            Liquid.AddWater(Player.tileTargetX, Player.tileTargetY);
                        }
                        for (int num518 = Player.tileTargetX - 1; num518 <= Player.tileTargetX + 1; num518++)
                        {
                            for (int num517 = Player.tileTargetY - 1; num517 <= Player.tileTargetY + 1; num517++)
                            {
                                if (num519 < 256 && Main.tile[num518, num517].liquidType() == num522)
                                {
                                    int num516 = Main.tile[num518, num517].liquid;
                                    if (num516 + num519 > 255)
                                    {
                                        num516 = 255 - num519;
                                    }
                                    num519 += num516;
                                    Main.tile[num518, num517].liquid -= (byte)num516;
                                    Main.tile[num518, num517].liquidType(liquidType);
                                    if (Main.tile[num518, num517].liquid == 0)
                                    {
                                        Main.tile[num518, num517].lava(false);
                                        Main.tile[num518, num517].honey(false);
                                    }
                                    WorldGen.SquareTileFrame(num518, num517, false);
                                    if (Main.netMode == 1)
                                    {
                                        NetMessage.sendWater(num518, num517);
                                    }
                                    else
                                    {
                                        Liquid.AddWater(num518, num517);
                                    }
                                }
                            }
                        }
                    }
                }
            } //Thx Dark;Light and Direwolf
            return(true);
        }