コード例 #1
0
ファイル: Controller.cs プロジェクト: HassakuTb/IkkiuchiV2
        private void ResolveRapidAttackAnim(IAction p1a, IAction p2a, int momentIndex)
        {
            if (p1a.HasRapidAttack())
            {
                P1MoveFailAnimation = true;
                P1MoveTo            = Player1.Gradiator.RelativePosToAbsolute(Direction.Front.ToRelativePos());
                DamageParams.Add(new DamageEffectParam {
                    Pos = Player2.Gradiator.Position, Value = p1a.ResolveRapidAttack(momentIndex, Player1)
                });
                if (p1a.ResolveRapidAttack(momentIndex, Player1) > 0)
                {
                    Slashes.Add(Player2.Gradiator.Position);
                }
            }

            if (p2a.HasRapidAttack())
            {
                P2MoveFailAnimation = true;
                P2MoveTo            = Player2.Gradiator.RelativePosToAbsolute(Direction.Front.ToRelativePos());
                DamageParams.Add(new DamageEffectParam {
                    Pos = Player1.Gradiator.Position, Value = p2a.ResolveRapidAttack(momentIndex, Player2)
                });
                if (p2a.ResolveRapidAttack(momentIndex, Player2) > 0)
                {
                    Slashes.Add(Player1.Gradiator.Position);
                }
            }
        }
コード例 #2
0
ファイル: Controller.cs プロジェクト: HassakuTb/IkkiuchiV2
 public void ResetAnimation()
 {
     P1MoveAnimation     = false;
     P2MoveAnimation     = false;
     P1MoveFailAnimation = false;
     P2MoveFailAnimation = false;
     DamageParams.Clear();
     Slashes.Clear();
     Heal.Clear();
     PowUp.Clear();
 }
コード例 #3
0
ファイル: Controller.cs プロジェクト: HassakuTb/IkkiuchiV2
        private void ResolveActionAttackAnim(IAction p1a, IAction p2a, int momentIndex)
        {
            if (p1a.HasActionAttack())
            {
                P1MoveFailAnimation = true;
                P1MoveTo            = Player1.Gradiator.RelativePosToAbsolute(Direction.Front.ToRelativePos());
                if (p1a.ResolveDamage(momentIndex, Player1) == 0)
                {
                    DamageParams.Add(new DamageEffectParam {
                        Pos = Player2.Gradiator.Position, Value = 0
                    });
                    //  miss
                }
                else
                {
                    if (Player2.BigCounter)
                    {
                        Slashes.Add(Player1.Gradiator.Position);
                        DamageParams.Add(new DamageEffectParam {
                            Pos = Player1.Gradiator.Position, Value = p1a.ResolveDamage(momentIndex, Player1) * 2
                        });
                    }
                    else
                    {
                        // damage
                        Slashes.Add(Player2.Gradiator.Position);
                        DamageParams.Add(new DamageEffectParam {
                            Pos = Player2.Gradiator.Position, Value = p1a.ResolveDamage(momentIndex, Player1)
                        });
                    }
                    if (Player2.Cotton)
                    {
                        Heal.Add(Player2.Gradiator.Position);
                    }
                    if (Player2.Counter)
                    {
                        Slashes.Add(Player1.Gradiator.Position);
                        DamageParams.Add(new DamageEffectParam {
                            Pos = Player1.Gradiator.Position, Value = p1a.ResolveDamage(momentIndex, Player1)
                        });
                    }
                }
            }

            if (p2a.HasActionAttack())
            {
                P2MoveFailAnimation = true;
                P2MoveTo            = Player2.Gradiator.RelativePosToAbsolute(Direction.Front.ToRelativePos());
                if (p2a.ResolveDamage(momentIndex, Player2) == 0)
                {
                    DamageParams.Add(new DamageEffectParam {
                        Pos = Player1.Gradiator.Position, Value = 0
                    });
                    //  miss
                }
                else
                {
                    if (Player1.BigCounter)
                    {
                        Slashes.Add(Player2.Gradiator.Position);
                        DamageParams.Add(new DamageEffectParam {
                            Pos = Player2.Gradiator.Position, Value = p2a.ResolveDamage(momentIndex, Player2) * 2
                        });
                    }
                    else
                    {
                        // damage
                        Slashes.Add(Player1.Gradiator.Position);
                        DamageParams.Add(new DamageEffectParam {
                            Pos = Player1.Gradiator.Position, Value = p2a.ResolveDamage(momentIndex, Player2)
                        });
                    }
                    if (Player1.Cotton)
                    {
                        Heal.Add(Player1.Gradiator.Position);
                    }
                    if (Player1.Counter)
                    {
                        Slashes.Add(Player2.Gradiator.Position);
                        DamageParams.Add(new DamageEffectParam {
                            Pos = Player2.Gradiator.Position, Value = p2a.ResolveDamage(momentIndex, Player2)
                        });
                    }
                }
            }
        }