Exemplo n.º 1
0
        // Melee Effect
        public override void MeleeEffects(Player player, Rectangle hitbox)
        {
            Rectangle r        = ModPlayerFists.UseItemGraphicbox(player, 16, 26);
            Vector2   pVelo    = (player.position - player.oldPosition);
            Vector2   velocity = ModPlayerFists.GetFistVelocity(player) * -3f + pVelo * 0.5f;
            Dust      d;

            Vector2 pos = r.TopLeft();

            for (int i = 0; i < 2; i++)
            {
                d = Main.dust[Dust.NewDust(pos, r.Width, r.Height, DustID.Sandnado,
                                           velocity.X * -1.5f, velocity.Y * -1.5f, 100, default(Color), 0.2f)];
                d.noGravity = true;
                d.fadeIn    = 0.4f;
            }
        }
Exemplo n.º 2
0
 private void ModifyHit(Player player, ref int damage, ref float knockBack, ref bool crit)
 {
     if (AltStats(player))
     {
         ModPlayerFists mpf = player.GetModPlayer <ModPlayerFists>();
         if (mpf.IsComboActiveItemOnHit)
         {
             damage     = (int)(damage * 2f);
             knockBack *= 2f;
         }
         else
         {
             damage     = (int)(damage * 1.75f);
             knockBack *= 1.75f;
         }
     }
 }
        private void ModifyHit(Player player, ref int damage, ref float knockBack, ref bool crit)
        {
            ModPlayerFists mpf = player.GetModPlayer <ModPlayerFists>();

            if (mpf.IsComboActiveItemOnHit)
            {
                damage += 2;
            }
            if (mpf.parryBuff)
            {
                if (mpf.GetParryBuff() >= 0)
                {
                    mpf.ClearParryBuff();
                }
                damage += 15;
            }
        }
Exemplo n.º 4
0
        // Melee Effect
        public override void MeleeEffects(Player player, Rectangle hitbox)
        {
            Rectangle r        = ModPlayerFists.UseItemGraphicbox(player, 4, 20);
            Vector2   velocity = ModPlayerFists.GetFistVelocity(player);
            Vector2   pVelo    = (player.position - player.oldPosition) * -2f + velocity * 0.5f;
            Dust      d;

            for (int i = 0; i < 5; i++)
            {
                // Light spore
                d           = Main.dust[Dust.NewDust(r.TopLeft(), r.Width, r.Height, 44, velocity.X * 3, velocity.Y * 3, 0, default(Color), 0.6f)];
                d.noGravity = true;
                // Grass
                d           = Main.dust[Dust.NewDust(r.TopLeft(), r.Width, r.Height, 39, velocity.X * 1.2f, velocity.Y * 1.2f)];
                d.noGravity = true;
            }
        }
        public override void OnHitNPC(Player player, NPC target, int damage, float knockBack, bool crit)
        {
            ModPlayerFists mpf = player.GetModPlayer <ModPlayerFists>();

            if (AltStats(player)) // If counterstrike is available
            {
                if (mpf.GetParryBuff() >= 0)
                {
                    mpf.ClearParryBuff();                          // Consume counterstrike buff
                }
                // =================== BEHAVIOURS =================== //

                target.AddBuff(BuffID.OnFire, 600, false);

                // ^^^^^^^^^^^^^^^^^^^ BEHAVIOURS ^^^^^^^^^^^^^^^^^^^ //
            }
        }
Exemplo n.º 6
0
        // Combo
        public override void UpdateInventory(Player player)
        {
            if (player.HeldItem != item)
            {
                return;
            }
            ModPlayerFists mpf = player.GetModPlayer <ModPlayerFists>();

            // TODO: change to somewhere else because holditem is too late in the procedure to effect damage
            if (mpf.IsComboActive)
            {
                player.endurance   += 0.04f;
                player.statDefense += 7;
                player.longInvince  = true;
                player.noKnockback  = true;
            }
        }
Exemplo n.º 7
0
        // Melee Effect
        public override void MeleeEffects(Player player, Rectangle hitbox)
        {
            Rectangle r        = ModPlayerFists.UseItemGraphicbox(player, 4, 20);
            Vector2   velocity = ModPlayerFists.GetFistVelocity(player);
            Vector2   pVelo    = (player.position - player.oldPosition);
            Dust      d        = Main.dust[Dust.NewDust(r.TopLeft(), r.Width, r.Height, 174,
                                                        velocity.X + pVelo.X, velocity.Y + pVelo.Y)];

            d.noGravity = true;

            for (int i = 0; i < 3; i++)
            {
                d = Main.dust[Dust.NewDust(r.TopLeft(), r.Width, r.Height, 174,
                                           velocity.X * 1.2f + pVelo.X, velocity.Y * 1.2f + pVelo.Y)];
                d.noGravity = true;
            }
        }
Exemplo n.º 8
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Cerulean Claws");
            DisplayName.AddTranslation(GameCulture.Chinese, "天蓝地牢爪");
            DisplayName.AddTranslation(GameCulture.Russian, "Лазурные Когти");

            Tooltip.SetDefault(
                "<right> consumes combo to unleash a flurry of strikes\n" +
                "Combo grants 25% increased melee attack speed");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键消耗连击能量将开始一连串的冲击\n连击将增加25%近战攻速");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы использовать комбо и ударить много раз\n" +
                                   "Комбо: +25% скорость атаки");

            comboEffect = ModPlayerFists.RegisterComboEffectID(ComboEffects);
            buffID      = mod.BuffType <Buffs.Flurry>();
        }
Exemplo n.º 9
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Comet Fu");
            DisplayName.AddTranslation(GameCulture.Chinese, "彗星武拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Удар Кометы");

            Tooltip.SetDefault(
                "<right> consumes combo to meteor strike!\n" +
                "Combo grants a protective barrier\n" +
                "'Space CQC is explicitly stated to be whatever you claim it to be'"); //これは宇宙CQC! sorry MPT no kanas are supported
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键消耗连击能量进行陨石打击!\n连击将给予陨铁盾效果\n“宇宙CQC是明确的规定,无论你声称它是什么”");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы использовать комбо и нанести метеоритный удар!\n" +
                                   "Комбо: создаёт защитный барьер\n");

            comboEffect = ModPlayerFists.RegisterComboEffectID(ComboEffects);
        }
Exemplo n.º 10
0
        /// <summary> The method called during a combo. Use for ongoing dust and gore effects. </summary>
        public static void ComboEffects(Player player, Item item, bool initial)
        {
            if (initial)
            {
                player.itemAnimation = player.itemAnimationMax + 10;
                player.GetModPlayer <ModPlayerFists>().jumpAgainUppercut = true;
                Main.PlaySound(SoundID.DD2_SkyDragonsFurySwing, player.position);
            }

            Rectangle r = ModPlayerFists.UseItemGraphicbox(player, 16, altHitboxSize);

            player.statDefense += player.itemAnimation; // Bonus defence during special
            if (player.itemAnimation > player.itemAnimationMax)
            {
                // Charging
                Dust d = Main.dust[Dust.NewDust(r.TopLeft(), 16, 16, DustID.GrassBlades, 0, 0, 100, default(Color), 1.2f)];
                d.position -= d.velocity * 20f;
                d.velocity *= 1.5f;
                d.velocity += player.position - player.oldPosition;
                d.noGravity = true;
            }
            else if (player.itemAnimation == player.itemAnimationMax)
            {
                // Create a shield of leaves
                Main.PlaySound(SoundID.Grass, player.position);
                if (player.whoAmI == Main.myPlayer)
                {
                    foreach (Projectile p in Main.projectile)
                    {
                        if (p.active && p.owner == Main.myPlayer && p.type == leafID)
                        {
                            p.Kill();
                        }
                    }
                    for (int i = 0; i < 4; i++)
                    {
                        Projectile.NewProjectile(player.Center, new Vector2(), leafID, 100, 1f, Main.myPlayer, player.direction, MathHelper.PiOver2 * i);
                    }
                }
            }
            else
            {
                // Punch effect
            }
        }
Exemplo n.º 11
0
        /// <summary> The method called during a combo. Use for ongoing dust and gore effects. </summary>
        public static void ComboEffects(Player player, Item item, bool initial)
        {
            if (initial)
            {
                player.itemAnimation = player.itemAnimationMax + comboDelay;      // Set initial combo animation delay
                Main.PlaySound(SoundID.DD2_SkyDragonsFurySwing, player.position); // Combo activation sound
            }
            // Charging (Pre-Hard)
            Rectangle r = ModPlayerFists.UseItemGraphicbox(player, 16, altHitboxSize);

            if (player.itemAnimation > player.itemAnimationMax)
            {
                // =================== BEHAVIOURS =================== //

                // Charge effect
                Dust d = Main.dust[Dust.NewDust(r.TopLeft(), 16, 16, 31, 0, 0, 100, default(Color), 1.2f)];
                d.position -= d.velocity * 10f;
                d.velocity /= 2;

                // ^^^^^^^^^^^^^^^^^^^ BEHAVIOURS ^^^^^^^^^^^^^^^^^^^ //
            }
            // Initial throw
            else if (player.itemAnimation == player.itemAnimationMax)
            {
                // Higher pitch
                Main.PlaySound(42, (int)player.position.X, (int)player.position.Y, 184, 1f, 0.5f);
                // =================== BEHAVIOURS =================== //

                // Allow dash
                player.GetModPlayer <ModPlayerFists>().
                SetDashOnMovement(altDashSpeed, altDashThresh, 0.992f, 0.96f, true, 0);

                // ^^^^^^^^^^^^^^^^^^^ BEHAVIOURS ^^^^^^^^^^^^^^^^^^^ //
            }
            else
            {
                // =================== BEHAVIOURS =================== //

                // Punch effect
                Dust d = Main.dust[Dust.NewDust(r.TopLeft(), 16, 16, 31, 3, 3, 100, default(Color), 1f)];
                d.velocity *= 0.6f * ModPlayerFists.GetFistVelocity(player);

                // ^^^^^^^^^^^^^^^^^^^ BEHAVIOURS ^^^^^^^^^^^^^^^^^^^ //
            }
        }
Exemplo n.º 12
0
        // Melee Effect
        public override void MeleeEffects(Player player, Rectangle hitbox)
        {
            Rectangle r             = ModPlayerFists.UseItemGraphicbox(player, 1, 8);
            Vector2   velocity      = ModPlayerFists.GetFistVelocity(player);
            Vector2   perpendicular = velocity.RotatedBy(Math.PI / 2);
            Vector2   pVelo         = (player.position - player.oldPosition);

            // Claw like effect
            for (int y = -1; y < 2; y++)
            {
                Dust d = Dust.NewDustPerfect(r.TopLeft() + perpendicular * y * 7, 170, null, 0, default(Color), 0.6f);
                d.velocity  = new Vector2(velocity.X * -2, velocity.Y * -2);
                d.position -= d.velocity * 8;
                d.velocity += pVelo;
                d.fadeIn    = 0.7f;
                d.noGravity = true;
            }
        }
Exemplo n.º 13
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Granite Smasher");
            DisplayName.AddTranslation(GameCulture.Chinese, "花岗岩重拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Гранитный Крушитель");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash grants 10% increased melee damage\n" +
                "Combo grants 8 defense");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺将增加10%的近战伤害\n连击将增加8防御力");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: +10% урон\n" +
                                   "Комбо: +8 защиты");

            altEffect = ModPlayerFists.RegisterDashEffectID(DashEffects);
        }
Exemplo n.º 14
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Cursed Gadling");
            DisplayName.AddTranslation(GameCulture.Chinese, "咒炎刺拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Проклятый Наруч");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash grants 50% increased melee damage and knockback\n" +
                "Combo causes enemies to take more damage from fire");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺将增加50%的近战伤害和击退\n连击会使敌人被引燃,受到更多的伤害");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: +50% урон и отбрасывание\n" +
                                   "Комбо: урон от огня увеличен");

            altEffect = ModPlayerFists.RegisterDashEffectID(DashEffects);
        }
Exemplo n.º 15
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Spiked Gauntlets");
            DisplayName.AddTranslation(GameCulture.Chinese, "毒刺草拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Шипастые Кулаки");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash increases armor penetration by 12\n" +
                "Combo has a chance to poison enemies");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺将增加12点破甲\n连击有概率使敌人中毒");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: +12 бронепробиваемость\n" +
                                   "Комбо: шанс отравить врага");

            dustEffect = ModPlayerFists.RegisterDashEffectID(DashEffects);
        }
        // Melee Effect
        public override void MeleeEffects(Player player, Rectangle hitbox)
        {
            Rectangle r        = ModPlayerFists.UseItemGraphicbox(player, 12, fistHitboxSize);
            Vector2   pVelo    = (player.position - player.oldPosition);
            Vector2   velocity = ModPlayerFists.GetFistVelocity(player) * 2f + pVelo * 0.5f;
            Dust      d;

            Vector2 pos = r.TopLeft();

            for (int i = 0; i < 3; i++)
            {
                d = Main.dust[Dust.NewDust(pos, r.Width, r.Height, DustID.t_Martian,
                                           0, 0, 0, default(Color), 0.75f)];
                d.velocity  = velocity;
                d.noGravity = true;
                pos        -= d.velocity * 4 + pVelo / 5; // trail better at high speeds
            }
        }
Exemplo n.º 17
0
        private void ModifyHit(Player player, ref int damage, ref float knockBack, ref bool crit, int EnemyPower)
        {
            ModPlayerFists mpf = player.GetModPlayer <ModPlayerFists>();

            if (mpf.parryBuff)
            {
                if (mpf.GetParryBuff() >= 0)
                {
                    mpf.ClearParryBuff();
                }

                // =================== BEHAVIOURS =================== //

                damage += 120 + EnemyPower * 2;

                // ^^^^^^^^^^^^^^^^^^^ BEHAVIOURS ^^^^^^^^^^^^^^^^^^^ //
            }
        }
Exemplo n.º 18
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Slime Slapper");
            DisplayName.AddTranslation(GameCulture.Chinese, "史莱姆之拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Слизневый Кулак");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Combo restore 1 life per hit\n" +
                "'Slip and slide!'");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n连击一段时间后每攻击一次恢复1点生命值\n“小心手滑!”");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Комбо: восстанавливает 1 здоровье за удар\n" +
                                   "'Попробуй отмыть'");

            altEffect = ModPlayerFists.RegisterDashEffectID(DashEffects);
        }
Exemplo n.º 19
0
        // Hold Fire effect
        public override void HoldItem(Player player)
        {
            // Dust effect when Idle
            if (Main.time % 3 == 0)
            {
                Rectangle r = ModPlayerFists.GetPlayerOnHandRectangle(player, 10);

                Dust d = Main.dust[Dust.NewDust
                                       (r.TopLeft(), r.Width, r.Height, 174, (float)(player.direction * 2), 0f,
                                       100, default(Color), 0.5f)
                         ];
                d.position += player.position - player.oldPosition;
                d.velocity  = Utils.RandomVector2(Main.rand, -0.5f, 0.5f) + player.velocity * 0.5f - new Vector2(0, player.gravDir);
                d.noGravity = true;
                d.fadeIn    = 0.7f;
                d.shader    = GameShaders.Armor.GetSecondaryShader(player.cHandOn, player);
            }
        }
Exemplo n.º 20
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Phoenix Mark");
            DisplayName.AddTranslation(GameCulture.Chinese, "凤凰标记");
            DisplayName.AddTranslation(GameCulture.Russian, "Печать Феникса");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash grants 50% increased melee damage and knockback\n" +
                "Combo grants bonus damage against burning enemies");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺将增加50%的近战伤害和击退\n连击将对灼烧的敌人造成额外伤害");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: +50% урон и отбрасывание\n" +
                                   "Комбо: дополнительный урон горящим врагам");

            dustEffect = ModPlayerFists.RegisterDashEffectID(DashEffects);
        }
Exemplo n.º 21
0
        // Melee Effect
        public override void MeleeEffects(Player player, Rectangle hitbox)
        {
            Rectangle r        = ModPlayerFists.UseItemGraphicbox(player, 12, 26);
            Vector2   pVelo    = (player.position - player.oldPosition);
            Vector2   velocity = ModPlayerFists.GetFistVelocity(player) * -3f + pVelo * 0.5f;
            Dust      d;

            Vector2 pos = r.TopLeft();

            for (int i = 0; i < 4; i++)
            {
                d = Main.dust[Dust.NewDust(pos, r.Width, r.Height, 135,
                                           velocity.X, velocity.Y, 100, default(Color), 1.2f + player.itemAnimation * 0.05f)];
                d.velocity *= 2f;
                d.noGravity = true;
                pos        -= pVelo / 5; // trail better at high speeds
            }
        }
Exemplo n.º 22
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Fists of Fury");
            DisplayName.AddTranslation(GameCulture.Chinese, "怒之铁拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Кулаки Ярости");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash grants 15% increased melee damage and knockback\n" +
                "Combo may ignite enemies");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺将增加15%的近战伤害和击退\n连击可能使敌人被点燃");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: +15% урон и отбрасывание\n" +
                                   "Комбо: шанс поджечь врагов");

            dustEffect = ModPlayerFists.RegisterDashEffectID(DashEffects);
        }
Exemplo n.º 23
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)
        {
            if (player.itemAnimation >= player.itemAnimationMax)
            {
                return(false);
            }

            // Normall shots
            if (player.altFunctionUse > 0)
            {
                for (int shot = 0; shot < 4; shot++)
                {
                    Projectile.NewProjectile(position, new Vector2(
                                                 speedX + 3f * Main.rand.NextFloatDirection(),
                                                 speedY + 3f * Main.rand.NextFloatDirection()),
                                             type, damage, knockBack, player.whoAmI);
                }
            }

            // Cannonball
            if (player.GetModPlayer <ModPlayerFists>().ComboEffectAbs == altEffect)
            {
                damage *= 2;
                for (int shot = 0; shot < 6; shot++)
                {
                    Projectile.NewProjectile(position, new Vector2(
                                                 speedX + 1.5f * Main.rand.NextFloatDirection(),
                                                 speedY + 1.5f * Main.rand.NextFloatDirection()),
                                             type, damage, knockBack, player.whoAmI);
                }

                player.velocity = new Vector2(-speedX, -speedY);
                NetMessage.SendData(MessageID.SyncPlayer, -1, player.whoAmI, null, player.whoAmI);

                ModPlayerFists mpf = player.GetModPlayer <ModPlayerFists>();
                type       = ProjectileID.CannonballFriendly;
                damage    *= 4;
                speedX    *= 2f;
                speedY    *= 2f;
                knockBack *= 2f;
                return(true);
            }
            return(false);
        }
        /// <summary> The method called during a combo. Use for ongoing dust and gore effects. </summary>
        public static void ComboEffects(Player player, Item item, bool initial)
        {
            if (initial)
            {
                player.itemAnimation = player.itemAnimationMax + 10;
                Main.PlaySound(SoundID.Item73);
                player.GetModPlayer <ModPlayerFists>().jumpAgainUppercut = true;
            }

            Rectangle r = ModPlayerFists.UseItemGraphicbox(player, 8, altHitboxSize);

            if (player.itemAnimation > player.itemAnimationMax)
            {
                // Charging
                Dust.NewDust(r.TopLeft(), r.Width, r.Height, 21, 0f, 0f, 0, default(Color), 0.5f);
            }
            else if (player.itemAnimation == player.itemAnimationMax)
            {
                Main.PlaySound(SoundID.Item71, player.position);
                // Force dash
                player.GetModPlayer <ModPlayerFists>().
                SetDash(altDashSpeed, altDashThresh, 0.992f, 0.96f, true, 0);

                for (int i = 0; i < 64; i++)
                {
                    double angle = Main.time + i / 10.0;
                    Dust   d     = Dust.NewDustPerfect(player.Center, 21,
                                                       new Vector2((float)(5.0 * Math.Sin(angle)), (float)(5.0 * Math.Cos(angle))));
                }
            }
            else
            {
                player.yoraiz0rEye = Math.Max(2, player.yoraiz0rEye);
                if (player.attackCD > 2)
                {
                    player.attackCD = 2;                     // Attack more things
                }
                for (int i = 0; i < 5; i++)
                {
                    int d = Dust.NewDust(r.TopLeft(), r.Width, r.Height, 27, player.velocity.X * -0.5f, player.velocity.Y * -0.5f, 180);
                    Main.dust[d].noGravity = true;
                }
            }
        }
Exemplo n.º 25
0
        /// <summary> The method called during a combo. Use for ongoing dust and gore effects. </summary>
        public static void ComboEffects(Player player, Item item, bool initial)
        {
            if (initial)
            {
                Main.PlaySound(SoundID.Item9, player.position);
                player.itemAnimation = player.itemAnimationMax + 20;
                player.GetModPlayer <ModPlayerFists>().jumpAgainUppercut = true;
            }

            Rectangle r = ModPlayerFists.UseItemGraphicbox(player, 4, altHitboxSize);

            player.statDefense += player.itemAnimation; // Bonus defence during special
            if (player.itemAnimation > player.itemAnimationMax)
            {
                // Charging
                Dust d = Main.dust[Dust.NewDust(r.TopLeft(), 4, 4, 88, 0, 0, 100, default(Color), 1.2f)];
                d.position -= d.velocity * 10f;
                d.velocity *= 1f;
                d.velocity += player.position - player.oldPosition;
                d.noGravity = true;
            }
            else if (player.itemAnimation == player.itemAnimationMax)
            {
                Main.PlaySound(SoundID.Shatter, player.position);
                Dust    d;
                Vector2 center = player.Center - new Vector2(4, 4);
                for (int i = 0; i < 15; i++)
                {
                    d           = Main.dust[Dust.NewDust(center, 8, 8, DustID.Ice, 0, -1, 100, default(Color), 1.5f)];
                    d.velocity *= 3f;
                    d.noGravity = true;
                    d           = Main.dust[Dust.NewDust(center, 8, 8, 88, 0, -1, 100, default(Color), 0.5f)];
                    d.velocity *= 2f;
                    d.fadeIn    = 1f;
                    d.noGravity = true;
                }

                player.itemTime = 0;
            }
            else
            {
                // Punch effect
            }
        }
Exemplo n.º 26
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Strongarm");
            DisplayName.AddTranslation(GameCulture.Chinese, "石巨人铁拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Ручищи");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash for a projectile deflecting punch\n" +
                "Combo causes successful strikes to generate powerful shockwaves");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺会使敌人(包括部分Boss)遭受巨力冲撞而击退\n连击成功将引发强烈的震荡波");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: отражает снаряды\n" +
                                   "Комбо: выпускет мощные волны при удачной атаке");

            altEffect    = ModPlayerFists.RegisterDashEffectID(DashEffects);
            projectileID = mod.ProjectileType <Projectiles.SpiritQuake>();
        }
Exemplo n.º 27
0
        // Combo
        public override void UpdateInventory(Player player)
        {
            if (player.HeldItem != item)
            {
                return;
            }
            // Fishron effect
            if (player.MountFishronSpecial)
            {
                player.meleeDamage += 0.15f;
            }

            ModPlayerFists mpf = player.GetModPlayer <ModPlayerFists>();

            if (mpf.IsComboActive)
            {
                player.dripping = true;
            }
        }
Exemplo n.º 28
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Frostflame Fist");
            DisplayName.AddTranslation(GameCulture.Chinese, "霜炎拳套");
            DisplayName.AddTranslation(GameCulture.Russian, "Кулак Морозного Огня");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash grants 75% increased melee damage and knockback\n" +
                "Combo leaves a chilly slipstream that amplifies frostburn");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺将增加75%的近战伤害和击退\n连击滞留冷气,增幅霜炎威力");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: +75% урон и отбрасыание\n" +
                                   "Комбо: оставляет холодный след, усиливающий морозное пламя");

            altEffect    = ModPlayerFists.RegisterDashEffectID(DashEffects);
            projectileID = mod.ProjectileType <Projectiles.SpiritWindstream>();
        }
Exemplo n.º 29
0
        // Combo
        public override void OnHitNPC(Player player, NPC target, int damage, float knockBack, bool crit)
        {
            ModPlayerFists mpf = player.GetModPlayer <ModPlayerFists>();

            if (mpf.IsComboActiveItemOnHit)
            {
                target.AddBuff(BuffID.Ichor, 60 * 10);

                if (!target.immortal)
                {
                    int divider = 60;
                    if (player.FindBuffIndex(buffID) >= 0)
                    {
                        divider = 30;
                    }
                    PlayerFX.LifeStealPlayer(player, damage, target.lifeMax, 1f / divider);
                }
            }
        }
Exemplo n.º 30
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Titanium Fist");
            DisplayName.AddTranslation(GameCulture.Chinese, "钛金钢拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Титанитовый Кулак");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash grants 30% increased melee damage and knockback\n" +
                "Combo grants shadow clones");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺将增加30%的近战伤害和击退\n连击将给予影子克隆体");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: +30% урон и отбрасывание\n" +
                                   "Комбо: призывает теневых клонов");

            altEffect = ModPlayerFists.RegisterDashEffectID(DashEffects);
            shadowID  = mod.ProjectileType <Projectiles.SpiritShadow>();
        }