Beispiel #1
0
        public BodyThrowAction(BattleEntity user, ISegmentBehavior segmentBehavior, CroppedTexture2D segmentTex) : base(user)
        {
            Name = "Body Throw";

            MoveInfo = new MoveActionData(null, "Throw a body part at the target.", MoveResourceTypes.FP, 0f, CostDisplayTypes.Shown,
                                          MoveAffectionTypes.Other, EntitySelectionType.Single, true, null, User.GetOpposingEntityType());

            DamageInfo = new DamageData(0, Elements.Normal, false, ContactTypes.None, ContactProperties.Ranged, null, DamageEffects.None);

            SetMoveSequence(new BodyThrowSequence(this, segmentBehavior, segmentTex));
            actionCommand = null;
        }
        protected override void OnEnd()
        {
            base.OnEnd();

            if (SegmentTexUI != null)
            {
                User.BManager.battleUIManager.RemoveUIElement(SegmentTexUI);
                SegmentTexUI = null;
            }

            SegmentTex      = null;
            SegmentBehavior = null;
        }
 public BodyThrowSequence(MoveAction moveAction, ISegmentBehavior segmentBehavior, CroppedTexture2D segmentTex) : base(moveAction)
 {
     SegmentBehavior = segmentBehavior;
     SegmentTex      = segmentTex;
 }
 protected virtual void SetSegmentBehavior()
 {
     SegmentBehavior?.CleanUp();
     SegmentBehavior = new PokeySegmentBehavior(this, 3, Enumerations.DamageEffects.RemovesSegment);
 }