Beispiel #1
0
        public KissyKissyAction(bool hasActionCommand, int numAttacks, int damagePerAttack, Elements damageElement,
                                bool piercing, bool sideDirect, HeightStates[] heightsAffected)
        {
            Name = "Kissy-Kissy";

            //None of the enemies that use this move ever perform a charge; it makes sense to me to make it use up a charge
            MoveInfo = new MoveActionData(null, "Absorb health from your opponent.", MoveResourceTypes.FP, 0, CostDisplayTypes.Shown, MoveAffectionTypes.Other,
                                          TargetSelectionMenu.EntitySelectionType.Single, true, heightsAffected, User.GetOpposingEntityType());

            ContactTypes contactType = ContactTypes.SideDirect;

            if (sideDirect == false)
            {
                contactType = ContactTypes.TopDirect;
            }

            DamageInfo = new DamageData(damagePerAttack, damageElement, piercing, contactType, ContactProperties.None, null, false, false,
                                        DefensiveActionTypes.None, DamageEffects.None);

            SetMoveSequence(new KissyKissySequence(this, numAttacks));

            EnableActionCommand = hasActionCommand;

            if (hasActionCommand == true)
            {
                //If Kissy-Kissy has an Action Command, it can't be Guarded or Superguarded
                DamageInfo.DefensiveOverride = DefensiveActionTypes.Guard | DefensiveActionTypes.Superguard;

                actionCommand = new MashButtonCommand(MoveSequence, 100d, 10d, MashButtonCommand.InfiniteTime, Microsoft.Xna.Framework.Input.Keys.A);
            }
        }
        public PowerShockAction()
        {
            Name = "Power Shock";

            MoveInfo = new MoveActionData(new CroppedTexture2D(AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"), new Rectangle(874, 14, 22, 22)),
                                          "If it works, paralyze an enemy\nwith an electric shock.", MoveResourceTypes.FP, 2, CostDisplayTypes.Shown, MoveAffectionTypes.Other,
                                          TargetSelectionMenu.EntitySelectionType.Single, false, null, User.GetOpposingEntityType());

            DamageInfo = new DamageData(0, Elements.Electric, false, ContactTypes.SideDirect, ContactProperties.None,
                                        new StatusChanceHolder[] { new StatusChanceHolder(100d, new ParalyzedStatus(3)) }, DamageEffects.None);

            SetMoveSequence(new PowerShockSequence(this));
            actionCommand = new MashButtonCommand(MoveSequence, 100d, 8d, CommandTime, ButtonToPress);
        }