コード例 #1
0
ファイル: GameController.cs プロジェクト: ozgurtt/Blockara
    private void HandleLaunchAnimations(BoardWar launcher, BoardWar victim, int damageDealt, int type)
    {
        CutsceneChar sender, receiver;

        if (launcher.player == 1)
        {
            sender = actor1; receiver = actor2;
        }
        else
        {
            sender = actor2; receiver = actor1;
        }
        if (damageDealt == 0)
        {
            if (victim.DidLastMoveBlockCurrentAttack())
            {
                sender.DoReaction(CutsceneChar.Reaction.block, true);
                receiver.DoReaction(CutsceneChar.Reaction.block, false);
            }
            else
            {
                if (++launcher.misses < 2)
                {
                    return;
                }
                sender.DoReaction(CutsceneChar.Reaction.miss2, true);
                receiver.DoReaction(CutsceneChar.Reaction.miss2, false);
            }
            if (PD.p2Char == PersistData.C.FuckingBalloon)
            {
                if (Random.value > 0.65f)
                {
                    if (Random.value > 0.98f)
                    {
                        actor1.SayThingFromReaction(CutsceneChar.SpeechType.nonDamageNegative);
                    }
                    else
                    {
                        actor2.SayThingFromReaction(CutsceneChar.SpeechType.nonDamagePositive);
                    }
                }
            }
            else
            {
                if (Random.value > 0.33f)
                {
                    if (Random.value > 0.5f)
                    {
                        sender.SayThingFromReaction(CutsceneChar.SpeechType.nonDamageNegative);
                    }
                    else
                    {
                        receiver.SayThingFromReaction(CutsceneChar.SpeechType.nonDamagePositive);
                    }
                }
            }
            return;
        }
        launcher.misses = 0;
        receiver.FlickerColor(type);
        if (firstLaunch)
        {
            firstLaunch = false;
            sender.DoReaction(CutsceneChar.Reaction.firstStrike, true);
            receiver.DoReaction(CutsceneChar.Reaction.firstStrike, false);
        }
        else if (damageDealt == 3)
        {
            sender.DoReaction(CutsceneChar.Reaction.combo3, true);
            receiver.DoReaction(CutsceneChar.Reaction.combo3, false);
        }
        else if (damageDealt == 2)
        {
            sender.DoReaction(CutsceneChar.Reaction.combo2, true);
            receiver.DoReaction(CutsceneChar.Reaction.combo2, false);
        }
        else if (launcher.chain >= 2)
        {
            sender.DoReaction(CutsceneChar.Reaction.hit3, true);
            receiver.DoReaction(CutsceneChar.Reaction.hit3, false);
        }
        else if (launcher.chain == 1)
        {
            sender.DoReaction(CutsceneChar.Reaction.hit2, true);
            receiver.DoReaction(CutsceneChar.Reaction.hit2, false);
        }
        else
        {
            sender.DoReaction(CutsceneChar.Reaction.hit, true);
            receiver.DoReaction(CutsceneChar.Reaction.hit, false);
        }
        if (Random.value > 0.33f)
        {
            if (Random.value > 0.5f)
            {
                sender.SayThingFromReaction(CutsceneChar.SpeechType.doDamage);
            }
            else
            {
                receiver.SayThingFromReaction(CutsceneChar.SpeechType.takeDamage);
            }
        }
    }