public HammerActionCommandUI(HammerCommand hammerCommand) : base(hammerCommand, new Vector2(250, 230), 0, true) { Texture2D battleGFX = AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"); LightBarEnd = new CroppedTexture2D(battleGFX, new Rectangle(795, 14, 15, 22)); LightBarMiddle = new CroppedTexture2D(battleGFX, new Rectangle(813, 14, 1, 22)); }
public MegaSmashAction(BattleEntity user) : base(user) { Name = "Mega Smash"; MoveInfo.Icon.SetRect(new Rectangle(907, 73, 24, 24)); MoveInfo.Description = "Hammers an enemy with a huge\namount of attack power."; MoveInfo.ResourceCost = 6; SetMoveSequence(new MegaSmashSequence(this)); actionCommand = new HammerCommand(MoveSequence, 4, 1000d); }
public PowerSmashAction(BattleEntity user, int numEquipped) : base(user) { Name = "Power Smash"; MoveInfo.Description = "Hammer a single enemy using\nlots of Attack power."; //Each additional Power Smash costs 2 more FP MoveInfo.ResourceCost = 2 * numEquipped; //Each additional Power Smash adds 1 more damage SetMoveSequence(new HammerSequence(this, 2 + (numEquipped - 1))); actionCommand = new HammerCommand(MoveSequence, 4, 800d); }
public HeadRattleAction(BattleEntity user) : base(user) { Name = "Head Rattle"; MoveInfo.ResourceCost = 2; MoveInfo.Description = "Wear this to use Head Rattle. " + "2 FP are required to use this attack, which can confuse enemies if executed superbly. " + "Wearing two or more of these badges requires more FP for the move, but enemies stay confused longer."; DamageInfo.Statuses = new StatusChanceHolder[] { new StatusChanceHolder(100d, new ConfusedStatus(2)) }; SetMoveSequence(new HammerSequence(this, 0)); actionCommand = new HammerCommand(MoveSequence, 4, 1000d); }
public ShellToss() { Name = "Shell Toss"; MoveInfo = new MoveActionData(null, "Shoot yourself at an enemy.", MoveResourceTypes.FP, 0, CostDisplayTypes.Shown, MoveAffectionTypes.Enemy, TargetSelectionMenu.EntitySelectionType.First, true, new HeightStates[] { HeightStates.Grounded, HeightStates.Hovering }); DamageInfo = new DamageData(1, Elements.Normal, false, ContactTypes.None, null, DamageEffects.RemovesSegment); SetMoveSequence(new ShellTossSequence(this)); actionCommand = new HammerCommand(MoveSequence, 4, 500d); }
public IceSmash() { Name = "Ice Smash"; MoveInfo.ResourceCost = 3; MoveInfo.Description = "Wear this to use Ice Smash. " + "3 FP are required to use this attack, which can freeze and immobilize an enemy if executed superbly. " + "Wearing two or more of these badges requires more FP for the move, but enemies stay frozen longer."; DamageInfo.DamagingElement = Enumerations.Elements.Ice; DamageInfo.Statuses = new StatusChanceHolder[] { new StatusChanceHolder(100d, new FrozenStatus(3)) }; SetMoveSequence(new HammerSequence(this)); actionCommand = new HammerCommand(MoveSequence, 4, 1000d); }
public ShellToss() { Name = "Shell Toss"; MoveInfo = new MoveActionData(new CroppedTexture2D(AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"), new Rectangle(216, 845, 22, 22)), "Shoot yourself at an enemy.", MoveResourceTypes.FP, 0, CostDisplayTypes.Shown, MoveAffectionTypes.Other, TargetSelectionMenu.EntitySelectionType.First, true, new HeightStates[] { HeightStates.Grounded, HeightStates.Hovering }, User.GetOpposingEntityType(), EntityTypes.Neutral); DamageInfo = new DamageData(1, Elements.Normal, false, ContactTypes.SideDirect, ContactProperties.Protected, null, DamageEffects.RemovesSegment); SetMoveSequence(new ShellTossSequence(this)); actionCommand = new HammerCommand(MoveSequence, 4, 500d); }
public QuakeHammerAction(int numBadges) { Name = "Quake Hammer"; MoveInfo = new MoveActionData(new CroppedTexture2D(AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"), new Rectangle(907, 102, 23, 24)), "Slightly damage all ground\nenemies.", MoveResourceTypes.FP, 3 /*2 FP in PM*/, CostDisplayTypes.Shown, MoveAffectionTypes.Other, TargetSelectionMenu.EntitySelectionType.All, true, new HeightStates[] { HeightStates.Grounded, HeightStates.Ceiling }, User.GetOpposingEntityType()); //Scale by the number of badges the move has int damage = BaseDamage + (DamageScalePerBadge * (numBadges - 1)); DamageInfo = new DamageData(damage, Elements.Normal, true, ContactTypes.None, ContactProperties.Ranged, null, DamageEffects.FlipsShelled | DamageEffects.FlipsClefts); SetMoveSequence(new QuakeHammerSequence(this)); actionCommand = new HammerCommand(MoveSequence, 4, 500d); }
public ShellTossAction(BattleEntity user) : base(user) { Name = "Shell Toss"; MoveInfo = new MoveActionData(new CroppedTexture2D(AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"), new Rectangle(216, 845, 22, 22)), "Shoot yourself at an enemy.", MoveResourceTypes.FP, 0, CostDisplayTypes.Shown, MoveAffectionTypes.Other, Enumerations.EntitySelectionType.First, true, new HeightStates[] { HeightStates.Grounded, HeightStates.Hovering }, User.GetOpposingEntityType(), EntityTypes.Neutral); DamageInfo = new DamageData(1, Elements.Normal, false, ContactTypes.SideDirect, ContactProperties.Protected, null, DamageEffects.RemovesSegment); //If a partner (Kooper or Koops) is using this move, the base damage is the Partner rank PartnerStats partnerStats = User.BattleStats as PartnerStats; if (partnerStats != null) { DamageInfo.Damage = (int)partnerStats.PartnerRank; } SetMoveSequence(new ShellTossSequence(this)); actionCommand = new HammerCommand(MoveSequence, 4, 500d); }
public Hammer() { Name = "Hammer"; MoveInfo = new MoveActionData(null, "Whack an enemy with your Hammer.", MoveResourceTypes.FP, 0, CostDisplayTypes.Shown, MoveAffectionTypes.Enemy, TargetSelectionMenu.EntitySelectionType.First, true, new HeightStates[] { HeightStates.Grounded, HeightStates.Hovering }); //The base damage for Hammer is Mario's current Hammer level //If Mario isn't the one using this move, it defaults to 1 int baseDamage = 1; MarioStats marioStats = User.BattleStats as MarioStats; if (marioStats != null) { baseDamage = (int)marioStats.HammerLevel; } DamageInfo = new DamageData(baseDamage, Elements.Normal, false, ContactTypes.Approach, null, DamageEffects.None); SetMoveSequence(new HammerSequence(this)); actionCommand = new HammerCommand(MoveSequence, 4, 500d); }
public Hammer() { Name = "Hammer"; MoveInfo = new MoveActionData(new CroppedTexture2D(AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"), new Rectangle(216, 845, 22, 22)), "Whack an enemy with your Hammer.", MoveResourceTypes.FP, 0, CostDisplayTypes.Shown, MoveAffectionTypes.Other, TargetSelectionMenu.EntitySelectionType.First, true, new HeightStates[] { HeightStates.Grounded, HeightStates.Hovering }, User.GetOpposingEntityType(), EntityTypes.Neutral); //The base damage for Hammer is Mario's current Hammer level //If Mario isn't the one using this move, it defaults to 1 int baseDamage = 1; MarioStats marioStats = User.BattleStats as MarioStats; if (marioStats != null) { baseDamage = (int)marioStats.HammerLevel; } DamageInfo = new DamageData(baseDamage, Elements.Normal, false, ContactTypes.SideDirect, ContactProperties.WeaponDirect, null, DamageEffects.None); SetMoveSequence(new HammerSequence(this, 0)); actionCommand = new HammerCommand(MoveSequence, 4, 500d); }