Exemple #1
0
        public override bool CanUseItem(Player player)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon >= 5)
            {
                item.damage      *= (int)1.5;
                item.useTime      = 60;
                item.useAnimation = 60;
                item.useStyle     = 5;
                item.knockBack    = 2f;
                item.shootSpeed   = 12f;
                item.useTurn      = true;
                item.noWet        = true;
            }
            if (player.altFunctionUse != 2 || (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon <= 4))
            {
                item.damage       = 16;
                item.useTime      = 60;
                item.useAnimation = 60;
                item.useStyle     = 5;
                item.knockBack    = 2f;
                item.shoot        = mod.ProjectileType("ClackerProjectile");
                item.shootSpeed   = 8f;
                item.useTurn      = true;
                item.noWet        = true;
            }
            if ((player.ownedProjectileCounts[mod.ProjectileType("ClackerProjectile")] >= 1) || (player.ownedProjectileCounts[mod.ProjectileType("ChargedClackerProjectile")] >= 1))
            {
                return(false);
            }
            return(true);
        }
Exemple #2
0
        public override void HoldItem(Player player)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            ChargeHamon();
            if (player.whoAmI == item.owner && hamonPlayer.learnedHamonSkills.ContainsKey(HamonPlayer.HamonItemHealing) && hamonPlayer.learnedHamonSkills[HamonPlayer.HamonItemHealing])
            {
                if (Main.mouseRight && hamonPlayer.amountOfHamon >= hamonPlayer.hamonAmountRequirements[HamonPlayer.HamonItemHealing])
                {
                    healTimer++;
                    if (Main.rand.Next(0, 2) == 0)
                    {
                        int dustIndex = Dust.NewDust(player.position, player.width, player.height, 169, SpeedY: Main.rand.NextFloat(-0.6f, 1f));
                        Main.dust[dustIndex].noGravity = true;
                    }
                }
                if (healTimer >= (4 * 60) / hamonPlayer.hamonSkillLevels[HamonPlayer.HamonItemHealing])
                {
                    int healamount = Main.rand.Next(10 + (5 * hamonPlayer.hamonSkillLevels[HamonPlayer.HamonItemHealing]), 20 * hamonPlayer.hamonSkillLevels[HamonPlayer.HamonItemHealing]);
                    player.HealEffect(healamount);
                    player.statLife           += healamount;
                    hamonPlayer.amountOfHamon -= hamonPlayer.hamonAmountRequirements[HamonPlayer.HamonItemHealing];
                    healTimer = 0;
                }
                if (Main.mouseRightRelease)
                {
                    healTimer = 0;
                }
            }
            if (player.statLife <= 25)
            {
                player.AddBuff(mod.BuffType("RUUUN"), 360);
            }
        }
        public void ChargeHamon()
        {
            Player      player         = Main.player[item.owner];
            HamonPlayer hamonPlayer    = player.GetModPlayer <HamonPlayer>();
            bool        specialPressed = false;

            if (!Main.dedServ)
            {
                specialPressed = JoJoStands.SpecialHotKey.Current;
            }

            if (specialPressed)
            {
                increaseCounter++;
                player.velocity.X /= 3f;
                hamonPlayer.hamonIncreaseCounter = 0;
                hamonPlayer.chargingHamon        = true;
                Dust.NewDust(player.position, player.width, player.height, 169, player.velocity.X * -0.5f, player.velocity.Y * -0.5f);
                if (hamonPlayer.learnedHamonSkills[HamonPlayer.PoisonCancellation])
                {
                    for (int b = 0; b < player.buffType.Length; b++)
                    {
                        if (player.buffType[b] == BuffID.Poisoned)
                        {
                            player.buffTime[b] -= 5;
                        }
                    }
                }
            }
            if (increaseCounter >= 30)
            {
                hamonPlayer.amountOfHamon += 1;
                increaseCounter            = 0;
            }
        }
Exemple #4
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)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon >= 3)
            {
                damage   += 6;
                type      = mod.ProjectileType("CutterHamonBubble");
                knockBack = 8f;
            }
            if (player.altFunctionUse != 2 && hamonPlayer.amountOfHamon > 1)
            {
                if (player.statLife <= (player.statLifeMax * 0.05f))
                {
                    damage += 24;
                    type    = mod.ProjectileType("HamonBloodBubble");
                    hamonPlayer.amountOfHamon -= 1;
                }
                else
                {
                    type = mod.ProjectileType("HamonBubble");
                    hamonPlayer.amountOfHamon -= 1;
                }
            }
            return(true);
        }
Exemple #5
0
        public override bool CanUseItem(Player player)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (player.altFunctionUse == 2 && player.ownedProjectileCounts[mod.ProjectileType("CutterHamonBubble")] <= 0 && hamonPlayer.amountOfHamon < 3)
            {
                return(false);
            }

            if (player.altFunctionUse != 2 && hamonPlayer.amountOfHamon < 1)
            {
                return(false);
            }

            if (player.altFunctionUse == 2)
            {
                item.damage    = 15;
                item.knockBack = 8f;
                item.shoot     = mod.ProjectileType("CutterHamonBubble");
            }
            if (player.altFunctionUse != 2)
            {
                item.damage    = 9;
                item.knockBack = 1f;
                item.shoot     = mod.ProjectileType("HamonBubble");
            }
            return(true);
        }
Exemple #6
0
        public override bool CanUseItem(Player player)
        {
            MyPlayer    mPlayer     = player.GetModPlayer <MyPlayer>();
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (!mPlayer.StandOut || (mPlayer.StandOut && mPlayer.StandAutoMode))
            {
                if (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon >= 5)
                {
                    item.noUseGraphic = true;
                    item.useTime      = 180;
                    item.useAnimation = 180;
                    item.shoot        = 0;
                    int healamount = Main.rand.Next(10, 20);
                    player.HealEffect(healamount);
                    player.statLife           += healamount;
                    hamonPlayer.amountOfHamon -= 5;
                }
                if (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon <= 5)
                {
                    return(false);
                }
            }
            if (player.altFunctionUse != 2)
            {
                item.knockBack    = 1f;
                item.shoot        = mod.ProjectileType("HamonPunches");
                item.useAnimation = 25;
                item.useTime      = 15;
                item.channel      = true;
                item.autoReuse    = false;
                item.shootSpeed   = 15f;
            }
            return(true);
        }
Exemple #7
0
 public override void GetWeaponKnockback(Player player, ref float knockback)
 {
     Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Hamon.HamonPlayer>();
     if (hamonPlayer.amountOfHamon >= 5)
     {
         knockback += 1f;
     }
 }
Exemple #8
0
 public override void ModifyWeaponDamage(Player player, ref float add, ref float mult, ref float flat)
 {
     Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Hamon.HamonPlayer>();
     if (hamonPlayer.amountOfHamon >= 5)
     {
         flat += 33f;
     }
 }
        public override void ModifyHitNPC(Player player, NPC target, ref int damage, ref float knockBack, ref bool crit)
        {
            HamonPlayer hPlayer = player.GetModPlayer <HamonPlayer>();

            if (hPlayer.learnedHamonSkills[HamonPlayer.SunTag] && target.GetGlobalNPC <JoJoGlobalNPC>().sunTagged)
            {
                damage = (int)(damage * 1.15f);
            }
        }
        // As a modder, you could also opt to make the Get overrides also sealed. Up to the modder
        public override void ModifyWeaponDamage(Player player, ref float add, ref float mult, ref float flat)       //when making the base damage values, make sure they are around the 10-20's cause otherwise, at MoonLord they'd go over 250
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            mult *= hamonPlayer.hamonDamageBoosts;

            if (!affectedByHamonScaling)
            {
                return;
            }

            if (NPC.downedBoss1)  //eye of cthulu
            {
                add += 1.15f;     //this is 14%
            }
            if (NPC.downedBoss2)  //the crimson/corruption bosses
            {
                add += 1.17f;
            }
            if (NPC.downedBoss3)       //skeletron
            {
                add += 1.13f;
            }
            if (Main.hardMode)      //wall of flesh
            {
                mult *= 1.3f;
            }
            if (NPC.downedMechBoss1)        //any mechboss orders
            {
                add += 1.18f;
            }
            if (NPC.downedMechBoss2)
            {
                add += 1.16f;
            }
            if (NPC.downedMechBoss3)
            {
                add += 1.18f;
            }
            if (NPC.downedPlantBoss)       //plantera
            {
                add += 1.19f;
            }
            if (NPC.downedGolemBoss)        //golem
            {
                add += 1.19f;
            }
            if (NPC.downedMoonlord)     //moon lord
            {
                add += 1.29f;
            }
            if (hamonPlayer.amountOfHamon >= hamonPlayer.maxHamon / 2)     //more than half of maxHamon
            {
                mult *= 1.5f;
            }
        }
Exemple #11
0
        public override void ModifyTooltips(List <TooltipLine> tooltips)
        {
            Player      player      = Main.player[item.owner];
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (hamonPlayer.learnedHamonSkills.ContainsKey(HamonPlayer.HamonItemHealing) && hamonPlayer.learnedHamonSkills[HamonPlayer.HamonItemHealing])
            {
                TooltipLine tooltipAddition = new TooltipLine(mod, "Damage", "Hold Right-Click for more than " + (4 / hamonPlayer.hamonSkillLevels[HamonPlayer.HamonItemHealing]) + " seconds to heal life! (Requires more than " + hamonPlayer.hamonAmountRequirements[HamonPlayer.HamonItemHealing] + " Hamon)");
                tooltips.Add(tooltipAddition);
            }
        }
Exemple #12
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)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon >= 5)
            {
                type = mod.ProjectileType("ChargedClackerProjectile");
                hamonPlayer.amountOfHamon -= 5;
            }
            return(true);
        }
Exemple #13
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)
 {
     Hamon.HamonPlayer hamonPlayer = player.GetModPlayer <Hamon.HamonPlayer>();
     if (hamonPlayer.amountOfHamon >= 5)
     {
         speedX *= 2f;
         speedY *= 2f;
         hamonPlayer.amountOfHamon -= 5;
     }
     return(true);
 }
Exemple #14
0
        public override bool CanUseItem(Player player)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if ((player.ownedProjectileCounts[mod.ProjectileType("ClackerProjectile")] >= 1) || (player.ownedProjectileCounts[mod.ProjectileType("ChargedClackerProjectile")] >= 1))
            {
                return(false);
            }

            if (player.altFunctionUse != 2 || (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon <= 4))
            {
                item.shoot = mod.ProjectileType("ClackerProjectile");
            }
            return(true);
        }
Exemple #15
0
        public override void HoldItem(Player player)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (JoJoStands.SpecialHotKey.Current)
            {
                increaseCounter++;
                player.velocity.X  /= 3f;
                hamonPlayer.counter = 0;
                Dust.NewDust(player.position, player.width, player.height, 169, player.velocity.X * -0.5f, player.velocity.Y * -0.5f);
            }
            if (increaseCounter >= 30)
            {
                hamonPlayer.HamonCounter += 1;
                increaseCounter           = 0;
            }
        }
Exemple #16
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)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (player.statLife <= 50)
            {
                item.shoot                 = mod.ProjectileType("HamonBloodBubble");
                item.shootSpeed            = 5f;
                item.damage               += 24;
                hamonPlayer.amountOfHamon -= 1;
            }
            else
            {
                item.shoot                 = mod.ProjectileType("HamonBubble");
                item.shootSpeed            = 30f;
                hamonPlayer.amountOfHamon -= 1;
            }
            return(true);
        }
Exemple #17
0
        public override void HoldItem(Player player)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            player.waterWalk  = true;
            player.waterWalk2 = true;
            if (player.statLife <= 25)
            {
                player.AddBuff(mod.BuffType("RUUUN"), 360);
            }
            if (JoJoStands.SpecialHotKey.Current)
            {
                increaseCounter++;
                player.velocity.X  /= 3f;
                hamonPlayer.counter = 0;
                Dust.NewDust(player.position, player.width, player.height, 169, player.velocity.X * -0.5f, player.velocity.Y * -0.5f);
            }
            if (increaseCounter >= 30)
            {
                hamonPlayer.HamonCounter += 1;
                increaseCounter           = 0;
            }
        }
Exemple #18
0
        public override bool CanUseItem(Player player)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon >= 3)
            {
                item.damage                = 17;
                item.width                 = 30;
                item.height                = 18;
                item.useTime               = 12;
                item.useAnimation          = 12;
                item.useStyle              = 3;
                item.knockBack             = 3;
                item.autoReuse             = false;
                item.shoot                 = mod.ProjectileType("CutterHamonBubble");
                item.shootSpeed            = 7f;
                hamonPlayer.amountOfHamon -= 3;
            }
            if (player.altFunctionUse == 2 && hamonPlayer.amountOfHamon <= 3)
            {
                return(false);
            }
            if (player.altFunctionUse != 2)
            {
                item.damage       = 15;
                item.width        = 30;
                item.height       = 30;
                item.useTime      = 8;
                item.useAnimation = 8;
                item.useStyle     = 3;
                item.knockBack    = 1;
                item.autoReuse    = false;
                item.shoot        = mod.ProjectileType("HamonBubble");
                item.shootSpeed   = 10f;
            }
            return(true);
        }
Exemple #19
0
        public void ChargeHamon()
        {
            Player      player         = Main.player[item.owner];
            HamonPlayer hamonPlayer    = player.GetModPlayer <HamonPlayer>();
            bool        specialPressed = false;

            if (!Main.dedServ)
            {
                specialPressed = JoJoStands.SpecialHotKey.Current;
            }

            if (specialPressed)
            {
                increaseCounter++;
                player.velocity.X /= 3f;
                hamonPlayer.hamonIncreaseCounter = 0;
                Dust.NewDust(player.position, player.width, player.height, 169, player.velocity.X * -0.5f, player.velocity.Y * -0.5f);
            }
            if (increaseCounter >= 30)
            {
                hamonPlayer.amountOfHamon += 1;
                increaseCounter            = 0;
            }
        }
Exemple #20
0
        public override void HoldItem(Player player)
        {
            MyPlayer    mPlayer     = player.GetModPlayer <MyPlayer>();
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (punchCounter > 0)
            {
                punchCounter--;
            }

            if (useCool > 0)
            {
                useCool--;
            }

            if (punchCounter <= 0)
            {
                numberOfPunches = 0;
            }
            ChargeHamon();

            if (mPlayer.StandOut && !mPlayer.StandAutoMode)
            {
                return;
            }

            hamonPlayer.usingItemThatIgnoresEnemyDamage = true;
            if (Main.mouseLeft && canPunchAgain && useCool <= 0 && player.ownedProjectileCounts[mod.ProjectileType("SilkPunches")] <= 0)
            {
                useCool      += item.useTime;
                canPunchAgain = false;
                if (Main.MouseWorld.X - player.position.X >= 0)
                {
                    player.direction = 1;
                }
                else
                {
                    player.direction = -1;
                }
                if (Math.Abs(player.velocity.X) <= 4f)
                {
                    player.velocity.X += 1f * player.direction;
                }

                if (numberOfPunches > 2)
                {
                    punchCounter = 0;
                    hamonPlayer.amountOfHamon -= 2;
                    Projectile.NewProjectile(player.position, Vector2.Zero, mod.ProjectileType("SilkPunches"), item.damage, item.knockBack, item.owner, numberOfPunches);
                    numberOfPunches = 0;
                }
                else
                {
                    punchCounter += 15;
                    hamonPlayer.amountOfHamon -= 1;
                    Main.PlaySound(SoundID.Item1, player.Center);
                    Projectile.NewProjectile(player.position, Vector2.Zero, mod.ProjectileType("SilkPunches"), item.damage, item.knockBack, item.owner, numberOfPunches);
                    numberOfPunches += 1;
                }
            }
            if (Main.mouseLeftRelease)
            {
                canPunchAgain = true;
            }
            if (Main.mouseRight && hamonPlayer.amountOfHamon >= 5)
            {
                if (!enemyBeingGrabbed)
                {
                    for (int n = 0; n < Main.maxNPCs; n++)
                    {
                        NPC npc = Main.npc[n];
                        if (npc.active)
                        {
                            if (player.Distance(npc.Center) <= 30f && !npc.boss && !npc.immortal && !npc.hide)
                            {
                                enemyBeingGrabbed = true;
                                heldEnemyIndex    = npc.whoAmI;
                                hamonPlayer.enemyToIgnoreDamageFromIndex = npc.whoAmI;
                                break;
                            }
                        }
                    }
                }
                else
                {
                    NPC heldNPC = Main.npc[heldEnemyIndex];
                    if (hamonPlayer.enemyToIgnoreDamageFromIndex == -1 || !heldNPC.active)
                    {
                        hamonPlayer.enemyToIgnoreDamageFromIndex = -1;
                        enemyBeingGrabbed = false;
                        heldEnemyIndex    = -1;
                        heldEnemyTimer    = 0;
                        item.reuseDelay  += 120;
                        return;
                    }

                    player.controlUp    = false;
                    player.controlDown  = false;
                    player.controlLeft  = false;
                    player.controlRight = false;
                    player.controlJump  = false;
                    player.velocity     = Vector2.Zero;
                    player.itemRotation = MathHelper.ToRadians(30f);

                    heldNPC.direction = -player.direction;
                    heldNPC.position  = player.position + new Vector2(5f * player.direction, -2f - heldNPC.height / 3f);
                    heldNPC.velocity  = Vector2.Zero;
                    hamonPlayer.enemyToIgnoreDamageFromIndex = heldNPC.whoAmI;

                    heldEnemyTimer++;
                    if (heldEnemyTimer >= 60)
                    {
                        hamonPlayer.amountOfHamon -= 5;
                        heldNPC.StrikeNPC(item.damage, 0f, player.direction);
                        heldNPC.AddBuff(mod.BuffType("Sunburn"), 3 * 60);
                        Main.PlaySound(SoundID.Item, (int)player.position.X, (int)player.position.Y, 3, 1f, -0.8f);
                        heldEnemyTimer = 0;
                    }
                }
            }
            if (!Main.mouseRight && hamonPlayer.enemyToIgnoreDamageFromIndex != -1)
            {
                hamonPlayer.enemyToIgnoreDamageFromIndex = -1;
                enemyBeingGrabbed = false;
                heldEnemyIndex    = -1;
                heldEnemyTimer    = 0;
            }
        }
Exemple #21
0
        public override void PreUpdate()
        {
            MyPlayer    Mplayer     = player.GetModPlayer <MyPlayer>();
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            if (NPC.downedBoss1)
            {
                hamonLevel = 1;
            }
            if (NPC.downedBoss2)      //the crimson/corruption bosses
            {
                hamonLevel = 2;
            }
            if (NPC.downedBoss3)       //skeletron
            {
                hamonLevel = 3;
            }
            if (Main.hardMode)      //wall of flesh
            {
                hamonLevel = 4;
            }
            if (NPC.downedMechBoss1)
            {
                hamonLevel = 5;
            }
            if (NPC.downedMechBoss2)
            {
                hamonLevel = 6;
            }
            if (NPC.downedMechBoss3)
            {
                hamonLevel = 7;
            }
            if (NPC.downedPlantBoss)       //plantera
            {
                hamonLevel = 8;
            }
            if (NPC.downedGolemBoss)
            {
                hamonLevel = 9;
            }
            if (NPC.downedMoonlord)     //you are an expert with hamon by moon lord
            {
                hamonLevel = 10;
            }


            if (hamonLevel == 1)
            {
                hamonPlayer.maxHamon = 72;
            }
            if (hamonLevel == 2)
            {
                hamonPlayer.maxHamon = 84;
            }
            if (hamonLevel == 3)
            {
                hamonPlayer.maxHamon = 96;
            }
            if (hamonLevel == 4)
            {
                hamonPlayer.maxHamon = 108;
            }
            if (hamonLevel == 5)
            {
                hamonPlayer.maxHamon = 120;
            }
            if (hamonLevel == 6)
            {
                hamonPlayer.maxHamon = 132;
            }
            if (hamonLevel == 7)
            {
                hamonPlayer.maxHamon = 144;
            }
            if (hamonLevel == 8)
            {
                hamonPlayer.maxHamon = 156;
            }
            if (hamonLevel == 9)
            {
                hamonPlayer.maxHamon = 168;
            }
            if (hamonLevel == 10)
            {
                hamonPlayer.maxHamon = 180;
            }

            if (AjaStone)           //Hamon charging stuff
            {
                maxHamon       *= 2;
                maxHamonCounter = 120;
            }
            if (Mplayer.Vampire)
            {
                HamonCounter = 0;
                counter      = 0;
            }
            if (counter >= maxHamonCounter) //the one that increases Hamon
            {
                if (AjaStone)               //or any other decrease-preventing accessories
                {
                    counter       = 0;
                    HamonCounter += 1;
                }
                if (HamonCounter <= 60)
                {
                    counter       = 0;
                    HamonCounter += 1;
                }
            }
            if (counter >= maxHamonCounter && HamonCounter > 60 && !AjaStone)      //the one that decreases Hamon
            {
                counter       = 0;
                HamonCounter -= 1;
            }
            if (!Mplayer.Vampire && player.breath == player.breathMax && HamonCounter <= 60)       //in general, to increase Hamon while it can still be increased, no speeding up decreasing
            {
                if (player.velocity.X != 0f || player.velocity.Y != 0f)
                {
                    counter++;
                }
                if (player.velocity.X == 0f && player.velocity.Y == 0f)
                {
                    counter += 2;
                }
                if (player.lavaWet && !player.lavaImmune)
                {
                    counter--;
                }
            }
            if (!AjaStone)          //list maxHamonCounter decreasing things in here
            {
                maxHamonCounter = 240;
            }
            if (HamonCounter > 60 && HamonCounter < 120 && !AjaStone)      //every 6 seconds, while Hamon is at the UI's second row, it decreases. Only if you don't have the Aja Stone
            {
                maxHamonCounter = 360;
            }
            if (HamonCounter >= 120 && !AjaStone)      //same as top but every 3 seconds
            {
                maxHamonCounter = 180;
            }

            if (HamonCounter >= maxHamon)       //hamon limit stuff
            {
                HamonCounter = maxHamon;
            }
            if (HamonCounter <= 0)
            {
                HamonCounter = 0;
            }
        }
        public override void GetWeaponKnockback(Player player, ref float knockback)
        {
            HamonPlayer hamonPlayer = player.GetModPlayer <HamonPlayer>();

            knockback *= hamonPlayer.hamonKnockbackBoosts;
        }