Beispiel #1
0
        public override void AI()       //make them very slightly controllable
        {
            Player player = Main.player[projectile.owner];

            Items.Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Items.Hamon.HamonPlayer>();
            hamonLossCounter++;
            if (projectile.timeLeft <= 550 && Main.mouseRight && hamonPlayer.HamonCounter >= 1)
            {
                beingControlled = true;
            }
            if (beingControlled)
            {
                hamonLossCounter++;
                if (projectile.owner == Main.myPlayer)
                {
                    projectile.velocity = Main.MouseWorld - projectile.Center;
                }
                projectile.velocity.Normalize();
                projectile.velocity *= 10f;
            }
            if (hamonLossCounter >= 120)
            {
                hamonLossCounter          = 0;
                hamonPlayer.HamonCounter -= 1;
            }
            if (hamonPlayer.HamonCounter <= 1)
            {
                beingControlled = false;
                projectile.timeLeft--;
            }
            else
            {
                Dust.NewDust(projectile.position + projectile.velocity, projectile.width, projectile.height, 169, projectile.velocity.X * -0.5f, projectile.velocity.Y * -0.5f);
            }
        }
Beispiel #2
0
 public override void ModifyHitNPC(NPC target, ref int damage, ref float knockback, ref bool crit, ref int hitDirection)
 {
     Items.Hamon.HamonPlayer hamonPlayer = Main.player[projectile.owner].GetModPlayer <Items.Hamon.HamonPlayer>();
     if (hamonPlayer.HamonCounter >= 5 && Main.rand.Next(0, 101) <= 25)
     {
         target.AddBuff(mod.BuffType("Spin"), 40);
     }
     base.ModifyHitNPC(target, ref damage, ref knockback, ref crit, ref hitDirection);
 }
Beispiel #3
0
        public override void Update(GameTime gameTime)
        {
            Player player = Main.player[Main.myPlayer];

            Items.Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Items.Hamon.HamonPlayer>();
            if (sizeMode >= 4)
            {
                sizeMode = 3;
            }
            if (sizeMode <= 0)
            {
                sizeMode = 0;
                Visible  = false;
            }
            if (sizeMode == 1)      //default size
            {
                Visible = true;
                HamonBar.Width.Set(140f, 0f);
                HamonBar.Height.Set(96f, 0f);

                hamonDisplay.Left.Set(28f, 0f);
                hamonDisplay.Top.Set(80f, 0f);
            }
            if (sizeMode == 2)
            {
                Visible = true;
                HamonBar.Width.Set(210f, 0f);
                HamonBar.Height.Set(144f, 0f);

                hamonDisplay.Left.Set(60f, 0f);
                hamonDisplay.Top.Set(120f, 0f);
            }
            if (sizeMode == 3)
            {
                Visible = true;
                HamonBar.Width.Set(280f, 0f);
                HamonBar.Height.Set(192f, 0f);

                hamonDisplay.Left.Set(90f, 0f);
                hamonDisplay.Top.Set(150f, 0f);
            }
            hamonDisplay.SetText(hamonPlayer.amountOfHamon + "/" + hamonPlayer.maxHamon);
            if (changedInConfig)
            {
                HamonBar.Left.Set(MyPlayer.HamonBarPositionX * (Main.screenWidth * 0.01f), 0f);
                HamonBar.Top.Set(MyPlayer.HamonBarPositionY * (Main.screenHeight * 0.01f), 0f);
                changedInConfig = false;
            }


            base.Update(gameTime);
        }
        public override void AI()
        {
            Player player = Main.player[projectile.owner];

            Items.Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Items.Hamon.HamonPlayer>();
            if (projectile.timeLeft == 790)
            {
                projectile.velocity *= 0;
            }
            if (hamonPlayer.amountOfHamon >= 1)
            {
                Dust.NewDust(projectile.position + projectile.velocity, projectile.width, projectile.height, 169, projectile.velocity.X * -0.5f, projectile.velocity.Y * -0.5f);
            }
            Dust.NewDust(projectile.position + projectile.velocity, projectile.width, projectile.height, DustID.Blood, projectile.velocity.X * -0.5f, projectile.velocity.Y * -0.5f);
        }
Beispiel #5
0
        public override void AI()
        {
            Player player = Main.player[projectile.owner];

            Items.Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Items.Hamon.HamonPlayer>();
            if (projectile.timeLeft == 592)
            {
                projectile.velocity *= 0;
            }
            if (hamonPlayer.HamonCounter >= 1)
            {
                Dust.NewDust(projectile.position + projectile.velocity, projectile.width, projectile.height, 169, projectile.velocity.X * -0.5f, projectile.velocity.Y * -0.5f);
            }
            else
            {
                projectile.timeLeft = projectile.timeLeft / 2;
            }
        }
        public override void AI()
        {
            Player player = Main.player[projectile.owner];

            Items.Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Items.Hamon.HamonPlayer>();
            if (!Main.mouseRight)
            {
                projectile.Kill();
                return;
            }

            hamonLossCounter++;
            if (beingControlled)
            {
                hamonLossCounter++;
                if (projectile.owner == Main.myPlayer)
                {
                    projectile.velocity = Main.MouseWorld - projectile.Center;
                    projectile.velocity.Normalize();
                    projectile.velocity *= 10f;
                }
                projectile.netUpdate = true;
            }
            if (hamonLossCounter >= 120)
            {
                hamonLossCounter           = 0;
                hamonPlayer.amountOfHamon -= 1;
            }
            if (hamonPlayer.amountOfHamon <= 1)
            {
                beingControlled = false;
                projectile.timeLeft--;
            }
            else
            {
                int dustIndex = Dust.NewDust(projectile.position + projectile.velocity, projectile.width, projectile.height, 169, projectile.velocity.X * -0.5f, projectile.velocity.Y * -0.5f);
                Main.dust[dustIndex].noGravity = true;
            }
        }
Beispiel #7
0
        protected override void DrawSelf(SpriteBatch spriteBatch)       //from ExampleMod's ExampleUI
        {
            Player player = Main.player[Main.myPlayer];

            Items.Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Items.Hamon.HamonPlayer>();
            int frame       = 0;
            int frameHeight = hamonBarTexture.Height / 24;      //24 frames in that sheet

            if (hamonPlayer.amountOfHamon >= 3 && hamonPlayer.amountOfHamon <= 12)
            {
                frame = 0;
            }
            if (hamonPlayer.amountOfHamon >= 13 && hamonPlayer.amountOfHamon <= 24)
            {
                frame = 1;
            }
            if (hamonPlayer.amountOfHamon >= 25 && hamonPlayer.amountOfHamon <= 36)
            {
                frame = 2;
            }
            if (hamonPlayer.amountOfHamon >= 37 && hamonPlayer.amountOfHamon <= 48)
            {
                frame = 3;
            }
            if (hamonPlayer.amountOfHamon >= 49 && hamonPlayer.amountOfHamon <= 60)
            {
                frame = 4;
            }
            if (hamonPlayer.amountOfHamon >= 61 && hamonPlayer.amountOfHamon <= 75)
            {
                frame = 5;
            }
            if (hamonPlayer.amountOfHamon >= 76 && hamonPlayer.amountOfHamon <= 90)
            {
                frame = 6;
            }
            if (hamonPlayer.amountOfHamon >= 91 && hamonPlayer.amountOfHamon <= 105)
            {
                frame = 7;
            }
            if (hamonPlayer.amountOfHamon >= 106 && hamonPlayer.amountOfHamon <= 120)
            {
                frame = 8;
            }
            if (hamonPlayer.amountOfHamon >= 121 && hamonPlayer.amountOfHamon <= 140)
            {
                frame = 9;
            }
            if (hamonPlayer.amountOfHamon >= 141 && hamonPlayer.amountOfHamon <= 160)
            {
                frame = 10;
            }
            if (hamonPlayer.amountOfHamon >= 161 && hamonPlayer.amountOfHamon <= 180)
            {
                frame = 11;
            }
            if (hamonPlayer.amountOfHamon >= 181 && hamonPlayer.amountOfHamon <= 192)   //Aja stone frames
            {
                frame = 12;
            }
            if (hamonPlayer.amountOfHamon >= 193 && hamonPlayer.amountOfHamon <= 204)
            {
                frame = 13;
            }
            if (hamonPlayer.amountOfHamon >= 205 && hamonPlayer.amountOfHamon <= 216)
            {
                frame = 14;
            }
            if (hamonPlayer.amountOfHamon >= 217 && hamonPlayer.amountOfHamon <= 228)
            {
                frame = 15;
            }
            if (hamonPlayer.amountOfHamon >= 229 && hamonPlayer.amountOfHamon <= 240)       //last of the first row
            {
                frame = 16;
            }
            if (hamonPlayer.amountOfHamon >= 241 && hamonPlayer.amountOfHamon <= 255)       //2nd row starts here
            {
                frame = 17;
            }
            if (hamonPlayer.amountOfHamon >= 256 && hamonPlayer.amountOfHamon <= 270)
            {
                frame = 18;
            }
            if (hamonPlayer.amountOfHamon >= 271 && hamonPlayer.amountOfHamon <= 285)
            {
                frame = 19;
            }
            if (hamonPlayer.amountOfHamon >= 286 && hamonPlayer.amountOfHamon <= 300)       //3rd row starts here
            {
                frame = 20;
            }
            if (hamonPlayer.amountOfHamon >= 301 && hamonPlayer.amountOfHamon <= 320)
            {
                frame = 21;
            }
            if (hamonPlayer.amountOfHamon >= 321 && hamonPlayer.amountOfHamon <= 340)
            {
                frame = 22;
            }
            if (hamonPlayer.amountOfHamon >= 341 && hamonPlayer.amountOfHamon <= 360)
            {
                frame = 23;
            }
            spriteBatch.Draw(hamonBarTexture, HamonBar.GetClippingRectangle(spriteBatch), new Rectangle(0, frameHeight * frame, hamonBarTexture.Width, frameHeight), Color.Yellow);
        }