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