Esempio n. 1
0
        public BattlePartner(PartnerStats stats) : base(stats)
        {
            Name = "Partner";

            EntityType = Enumerations.EntityTypes.Player;
            PlayerType = Enumerations.PlayerTypes.Partner;
        }
Esempio n. 2
0
        public BonkAction(BattleEntity user) : base(user)
        {
            Name = "Bonk";
            MoveInfo.Description = "Headbonk an enemy.";

            DamageInfo.Damage = 1;

            //If a partner (Goombario or Goombella) 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;
            }
        }
Esempio n. 3
0
        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 ElectroDashAction(BattleEntity user) : base(user)
        {
            Name = "Electro Dash";

            MoveInfo = new MoveActionData(new CroppedTexture2D(AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.BattleGFX}.png"), new Rectangle(216, 845, 22, 22)),
                                          "Pierce enemy defense, dealing 5 damage.", MoveResourceTypes.FP, 0, CostDisplayTypes.Shown, MoveAffectionTypes.Other,
                                          Enumerations.EntitySelectionType.Single, true, null, new EntityTypes[] { User.GetOpposingEntityType() });

            DamageInfo = new DamageData(3, Elements.Electric, true, ContactTypes.SideDirect, ContactProperties.None, null, DamageEffects.None);

            //If a Partner (Watt) is using this move, the base damage is increased by 1 per Partner rank above Normal
            PartnerStats partnerStats = User.BattleStats as PartnerStats;

            if (partnerStats != null)
            {
                DamageInfo.Damage += ((int)partnerStats.PartnerRank - 1);
            }

            ElectroDashSequence electroDashSequence = new ElectroDashSequence(this);

            SetMoveSequence(electroDashSequence);
            actionCommand = new GulpCommand(MoveSequence, electroDashSequence.CommandDur, 500d, 1d, Microsoft.Xna.Framework.Input.Keys.Z);
        }