Example #1
0
        public override void UpdateArmorSet(Player player)
        {
            ModPlayerFists mpf = ModPlayerFists.Get(player);

            switch (armourSet)
            {
            case 1:
                player.setBonus     = WeaponOut.GetTranslationTextValue("FistBoxingHelmetPower");
                player.statDefense += 3;
                break;

            case 2:
                player.setBonus     = WeaponOut.GetTranslationTextValue("FistBoxingHelmetDefence");
                player.statDefense += 6;
                break;

            case 3:
                player.setBonus     = WeaponOut.GetTranslationTextValue("FistBoxingHelmetSpeed");
                player.statDefense += 4;
                break;

            case 4:
                player.setBonus = WeaponOut.GetTranslationTextValue("FistBoxingHelmetGi");
                mpf.longParry   = true;
                break;
            }
        }
Example #2
0
        public override void UpdateArmorSet(Player player)
        {
            ModPlayerFists mpf = ModPlayerFists.Get(player);

            switch (armourSet)
            {
            case 1:
                player.setBonus  = WeaponOut.GetTranslationTextValue("FistMartialHeadPower");
                player.noFallDmg = true;
                break;

            case 2:
                player.setBonus    = WeaponOut.GetTranslationTextValue("FistMartialHeadDefence");
                player.longInvince = true;
                break;

            case 3:
                player.setBonus     = WeaponOut.GetTranslationTextValue("FistMartialHeadSpeed");
                player.accRunSpeed += 2f;
                break;

            case 4:
                player.setBonus     = WeaponOut.GetTranslationTextValue("FistMartialHeadGi");
                mpf.uppercutDamage += 0.5f;
                mpf.divekickDamage += 0.5f;
                break;
            }
        }
Example #3
0
        public override void UpdateArmorSet(Player player)
        {
            ModPlayerFists mpf = ModPlayerFists.Get(player);
            PlayerFX       pfx = player.GetModPlayer <PlayerFX>();

            switch (armourSet)
            {
            case 1:
                player.setBonus = WeaponOut.GetTranslationTextValue("ChampionLaurelsPower");
                player.GetModPlayer <PlayerFX>().diveKickHeal += 0.03f;
                pfx.patienceBuildUpModifier += 0.2f;
                break;

            case 2:
                player.setBonus     = WeaponOut.GetTranslationTextValue("ChampionLaurelsDefence");
                player.statDefense += 23;
                player.endurance   += 0.05f;
                pfx.yomiEndurance  += 0.45f;
                break;

            case 3:
                player.setBonus = WeaponOut.GetTranslationTextValue("ChampionLaurelsSpeed");
                pfx.secondWind  = true;
                break;
            }
        }
Example #4
0
        public override void UpdateArmorSet(Player player)
        {
            ModPlayerFists mpf = ModPlayerFists.Get(player);
            PlayerFX       pfx = player.GetModPlayer <PlayerFX>();

            switch (armourSet)
            {
            case 1:
                player.setBonus              = WeaponOut.GetTranslationTextValue("FistMasterHeadPower");
                pfx.millstone                = true;
                pfx.patienceBuildUpModifier += 0.1f;
                break;

            case 2:
                player.setBonus = WeaponOut.GetTranslationTextValue("FistMasterHeadDefence");
                pfx.yinyang     = true;
                break;

            case 3:
                string button = Language.GetTextValue(Main.ReversedUpDownArmorSetBonuses ? "Key.UP" : "Key.DOWN");
                player.setBonus     = WeaponOut.GetTranslationTextValue("FistMasterHeadSpeed").Replace("$BUTTON", button);
                pfx.buildMomentum   = true;
                pfx.momentumDash    = true;
                player.accRunSpeed += 3f;
                break;
            }
        }
Example #5
0
 public override void SetStaticDefaults()
 {
     DisplayName.SetDefault("Gathering Horn");
     Tooltip.SetDefault(
         "Summons a one way portal from your spawn to the current position\n" +
         "Only for players on your team");
     customGlowMask = WeaponOut.SetStaticDefaultsGlowMask(this);
 }
 public override void SetStaticDefaults()
 {
     DisplayName.SetDefault("Channeler Staff");
     Tooltip.SetDefault(
         "Greatly increases mana regen when held\n" +
         "Cast a mana restoring ray to players on your team\n" +
         "Ray also increases magic damage");
     customGlowMask = WeaponOut.SetStaticDefaultsGlowMask(this);
 }
Example #7
0
 public override void SetStaticDefaults()
 {
     DisplayName.SetDefault("Hidden Dragon");
     Tooltip.SetDefault(
         "<right> to dash through enemies\n" +
         "Dash grants 100% increased melee damage and knockback\n" +
         "Combo causes damage to echo to nearby enemies");
     altEffect      = ModPlayerFists.RegisterDashEffectID(DashEffects);
     projectileID   = mod.ProjectileType <Projectiles.SpiritDragon>();
     customGlowMask = WeaponOut.SetStaticDefaultsGlowMask(this);
 }
Example #8
0
        public override void UpdateArmorSet(Player player)
        {
            ModPlayerFists mpf = ModPlayerFists.Get(player);

            switch (armourSet)
            {
            case 1:
                if (!hardMode)
                {
                    player.setBonus = WeaponOut.GetTranslationTextValue("FistBoxingHelmetPlusPower");
                    player.GetModPlayer <PlayerFX>().barbariousDefence = 10;
                }
                else
                {
                    player.setBonus = WeaponOut.GetTranslationTextValue("FistBoxingHelmetPlusPowerHardmode");
                    player.GetModPlayer <PlayerFX>().barbariousDefence = 6;
                }
                break;

            case 2:
                // Not so useful, but very good for not dying in expert (double damage lmao)
                player.setBonus = WeaponOut.GetTranslationTextValue("FistBoxingHelmetPlusDefence");
                if (!hardMode)
                {
                    player.GetModPlayer <PlayerFX>().yomiEndurance += 0.3f;
                }
                else
                {
                    player.GetModPlayer <PlayerFX>().yomiEndurance += 0.45f;
                }
                break;

            case 3:
                if (!hardMode)
                {    // Decent armour for protecting against most attacks (11 dmg reduction)
                    player.setBonus     = WeaponOut.GetTranslationTextValue("FistBoxingHelmetPlusSpeed");
                    player.statDefense += 15;
                }
                else
                {    // Hardmode armour gets an extra 10 dmg reduction
                    player.setBonus     = WeaponOut.GetTranslationTextValue("FistBoxingHelmetPlusSpeedHardmode");
                    player.statDefense += 20;
                }
                break;

            case 4:
                player.setBonus           = WeaponOut.GetTranslationTextValue("FistBoxingHelmetPlusGi");
                mpf.longParry             = true;
                mpf.comboCounterMaxBonus -= 1;
                break;
            }
        }
 public override void SetStaticDefaults()
 {
     DisplayName.SetDefault("All-Porpoise Assault Rifle");
     Tooltip.SetDefault(
         "<right> to fire a powerful underbarrel rocket\n" +
         "50% chance to not consume primary ammo\n" +
         "'Perfect for target rich environments'");
     proji          = mod.GetProjectile("APARocketI").projectile.type;
     projii         = mod.GetProjectile("APARocketII").projectile.type;
     projiii        = mod.GetProjectile("APARocketIII").projectile.type;
     projiv         = mod.GetProjectile("APARocketIV").projectile.type;
     customGlowMask = WeaponOut.SetStaticDefaultsGlowMask(this);
 }
Example #10
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Gathering Horn");
            DisplayName.AddTranslation(GameCulture.Chinese, "集结号");
            DisplayName.AddTranslation(GameCulture.Russian, "Рог Призыва");

            Tooltip.SetDefault(
                "Summons a one way portal from your spawn to the current position\n" +
                "Only for players on your team");
            Tooltip.AddTranslation(GameCulture.Chinese, "在你的出生点和目前所在地生成传送门\n仅供你和你的队友");
            Tooltip.AddTranslation(GameCulture.Russian, "Создаёт одноразовый портал от спавна к вашей локации\n" +
                                   "Работает только для вашей команды");
            customGlowMask = WeaponOut.SetStaticDefaultsGlowMask(this);
        }
Example #11
0
        public override void UpdateArmorSet(Player player)
        {
            ModPlayerFists mpf = ModPlayerFists.Get(player);

            switch (armourSet)
            {
            case 1:
                if (!hardMode)
                {
                    player.setBonus = WeaponOut.GetTranslationTextValue("FistVeteranHeadPower");
                }
                else
                {
                    player.setBonus = WeaponOut.GetTranslationTextValue("FistVeteranHeadPowerHardmode");
                    player.GetModPlayer <PlayerFX>().doubleDamageUp = true;
                }
                player.GetModPlayer <PlayerFX>().taekwonCounter = true;
                break;

            case 2:
                if (!hardMode)
                {
                    player.setBonus = WeaponOut.GetTranslationTextValue("FistVeteranHeadDefence");
                }
                else
                {
                    player.setBonus    = WeaponOut.GetTranslationTextValue("FistVeteranHeadDefenceHardmode");
                    player.longInvince = true;
                }
                player.GetModPlayer <PlayerFX>().rapidRecovery = true;
                break;

            case 3:
                player.setBonus     = WeaponOut.GetTranslationTextValue("FistVeteranHeadSpeed");
                player.accRunSpeed += 2f;
                if (hardMode)
                {
                    player.accRunSpeed += 1f; player.moveSpeed += 0.15f;
                }
                player.GetModPlayer <PlayerFX>().buildMomentum = true;
                break;

            case 4:
                player.setBonus           = WeaponOut.GetTranslationTextValue("FistVeteranHeadGi");
                mpf.uppercutDamage       += 1f;
                mpf.divekickDamage       += 1f;
                mpf.comboCounterMaxBonus -= 1;
                break;
            }
        }
Example #12
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Channeler Staff");
            DisplayName.AddTranslation(GameCulture.Chinese, "通灵者法杖");
            DisplayName.AddTranslation(GameCulture.Russian, "Посох Шамана");

            Tooltip.SetDefault(
                "Greatly increases mana regen when held\n" +
                "Cast a mana restoring ray to players on your team\n" +
                "Ray also increases magic damage");
            Tooltip.AddTranslation(GameCulture.Chinese, "手持法杖时大大增加魔力回复速度\n向你队伍里的玩家发射魔力回复射线\n射线同时也增加魔法伤害");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "Значительно регенерирует ману, если держать в руке\n" +
                                   "Выпускает луч, восстанавливающий ману ваших союзников\n" +
                                   "Луч также увеличивает магический урон");

            customGlowMask = WeaponOut.SetStaticDefaultsGlowMask(this);
        }
Example #13
0
 internal static void CheckRODTooltip(List <TooltipLine> tooltips)
 {
     for (int i = 0; i < tooltips.Count; i++)
     {
         if (tooltips[i].text.Contains("$ROD"))
         {
             foreach (Item item in Main.LocalPlayer.inventory)
             {
                 if (item.type == ItemID.RodofDiscord)
                 {
                     tooltips.RemoveAt(i);
                     return;
                 }
             }
             tooltips[i].text = tooltips[i].text.Replace("$ROD", WeaponOut.GetTranslationTextValue("DiscordantRodTooltip"));
             return;
         }
     }
 }
Example #14
0
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("Hidden Dragon");
            DisplayName.AddTranslation(GameCulture.Chinese, "潜龙拳");
            DisplayName.AddTranslation(GameCulture.Russian, "Тайный Дракон");

            Tooltip.SetDefault(
                "<right> to dash through enemies\n" +
                "Dash grants 100% increased melee damage and knockback\n" +
                "Combo causes damage to echo to nearby enemies");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键向敌人冲刺\n冲刺将增加100%的近战伤害和击退\n连击会出现灼烧附近敌人的火焰环");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы прорваться через врагов\n" +
                                   "Рывок: +100% урон и отбрасывание\n" +
                                   "Комбо: урон передаётся ближайшим врагам");

            altEffect      = ModPlayerFists.RegisterDashEffectID(DashEffects);
            projectileID   = mod.ProjectileType <Projectiles.SpiritDragon>();
            customGlowMask = WeaponOut.SetStaticDefaultsGlowMask(this);
        }
        public override void SetStaticDefaults()
        {
            DisplayName.SetDefault("All-Porpoise Assault Rifle");
            DisplayName.AddTranslation(GameCulture.Chinese, "万能突击步枪");
            DisplayName.AddTranslation(GameCulture.Russian, "Универсальный Автомат");

            Tooltip.SetDefault(
                "<right> to fire a powerful underbarrel rocket\n" +
                "50% chance to not consume primary ammo\n" +
                "'Perfect for target rich environments'");
            Tooltip.AddTranslation(GameCulture.Chinese, "鼠标右键在副枪口发射一个强大的火箭\n50%的概率不消耗主要(子弹)弹药\n“适合目标多样的情况”");
            Tooltip.AddTranslation(GameCulture.Russian,
                                   "<right>, чтобы пустить подствольную ракету\n" +
                                   "50% шанс не потратить основные боеприпасы\n" +
                                   "'Каждому своё'");

            proji          = mod.GetProjectile("APARocketI").projectile.type;
            projii         = mod.GetProjectile("APARocketII").projectile.type;
            projiii        = mod.GetProjectile("APARocketIII").projectile.type;
            projiv         = mod.GetProjectile("APARocketIV").projectile.type;
            customGlowMask = WeaponOut.SetStaticDefaultsGlowMask(this);
        }
Example #16
0
        public override void UpdateArmorSet(Player player)
        {
            string button = Language.GetTextValue(Main.ReversedUpDownArmorSetBonuses ? "Key.UP" : "Key.DOWN");

            player.setBonus = WeaponOut.GetTranslationTextValue("LunarFistHeadBonus").Replace("$BUTTON", button);

            if (player.whoAmI == Main.myPlayer)
            {
                // Based on Stardust Guardian spawn
                int buffID     = mod.BuffType <Buffs.SpiritGuardian>();
                int guardianID = mod.ProjectileType <Projectiles.SpiritGuardian>();
                if (player.FindBuffIndex(buffID) == -1)
                {
                    player.AddBuff(buffID, 1, true);
                }
                if (player.ownedProjectileCounts[guardianID] < 1) // No guardian? spawn one
                {
                    Projectile.NewProjectile(
                        player.Center.X,
                        player.Center.Y,
                        0.0f, -1f, guardianID, 0, 0.0f, Main.myPlayer, 0.0f, 0.0f);
                }
            }
        }
Example #17
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 + 18;
                player.AddBuff(buffID, 60 * 6);
                player.GetModPlayer <ModPlayerFists>().jumpAgainUppercut = true;
                Main.PlaySound(SoundID.DD2_SkyDragonsFurySwing, player.position);
            }

            Rectangle r = ModPlayerFists.UseItemGraphicbox(player, 10, 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.Blood, 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)
            {
                // Lower pitch
                Main.PlaySound(4, (int)player.position.X, (int)player.position.Y, 12, 1f, -0.2f);
                if (player.whoAmI == Main.myPlayer)
                {
                    PlayerDeathReason pdr = PlayerDeathReason.LegacyDefault();
                    switch (Main.rand.Next(3))
                    {
                    case 1:
                        pdr.SourceCustomReason = WeaponOut.GetTranslationTextValue("KnucklesIchorSuicide1")
                                                 .Replace("$NAME", player.name);
                        break;

                    case 2:
                        pdr.SourceCustomReason = WeaponOut.GetTranslationTextValue("KnucklesIchorSuicide2")
                                                 .Replace("$NAME", player.name).Replace("$ITEM", item.Name);
                        break;

                    default:
                        pdr.SourceCustomReason = WeaponOut.GetTranslationTextValue("KnucklesIchorSuicide3")
                                                 .Replace("$NAME", player.name);
                        break;
                    }
                    player.immune = false;
                    player.Hurt(pdr, 100 + player.statDefense / 2, player.direction, false, false, false, -1);
                }

                for (int i = 0; i < 30; i++)
                {
                    Dust d = Main.dust[Dust.NewDust(r.TopLeft(), 16, 16, DustID.Blood, 0, -0.5f, 0, default(Color), 2f)];
                    d.velocity.X *= 2f;
                }

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