private DialogueNode GenFight100(long id = 100, long victoryId = 3, long defeatId = 3)
    {
        DialogueCombatNode output = new DialogueCombatNode(id, combatUI);

        output
        .AddEffect()
        .AddHandler(new DialogueEffectPlayMusicHandler(1));
        output.victoryNodeId = victoryId;
        output.defeatNodeId  = defeatId;

        output.startDialogue = new DialogueSpeech("An unpeted dogo appears!")
                               .AddEffect()
                               .AddHandler(new DialogueEffectSetSpriteSizeHandler(3, new Vector2(1, 1)))
                               .AddHandler(new DialogueEffectSnapSpriteToPositionHandler(3, new Vector3(0, 0), SpriteSnapPosition.Bottom))
                               .AddHandler(new DialogueEffectSetSpriteVisibleHandler(3, true));

        output.petDialogues     = new DialogueNode[] { new DialogueSpeech("You heroically reach for the head, and pet!") };
        output.dogoPetDialogues = new DialogueNode[] {
            new DialogueSpeech("Dogo can't keep it together and gets loose.")
            .AddEffect()
            .AddHandler(new DialogueEffectMoveSpriteHandler(3, 0.1f, new Vector3(0.5f, 0, 0), SpriteSnapPosition.Bottom))
            .AddHandler(new DialogueEffectPlayAudioHandler(2))
            .AddHandler(new DialogueEffectWaitHandler(0.1f))
            .AddHandler(new DialogueEffectMoveSpriteHandler(3, 0.1f, new Vector3(-0.5f, 0, 0), SpriteSnapPosition.Bottom))
            .AddHandler(new DialogueEffectPlayAudioHandler(2))
            .AddHandler(new DialogueEffectWaitHandler(0.1f))
            .AddHandler(new DialogueEffectMoveSpriteHandler(3, 0.1f, new Vector3(0, 0, 0), SpriteSnapPosition.Bottom))
            .AddHandler(new DialogueEffectPlayAudioHandler(2))
            .AddHandler(new DialogueEffectWaitHandler(0.1f))
        };
        output.waitDialogues        = new DialogueNode[] { new DialogueSpeech("You stand still, doing nothing.") };
        output.dogoWaitDialogues    = new DialogueNode[] { new DialogueSpeech("Dogo is observing you, his tail moving in excited swipes.") };
        output.surrendDialogues     = new DialogueNode[] { new DialogueSpeech("Hopeless, you sit on the floor.") };
        output.dogoSurrendDialogues = new DialogueNode[] { new DialogueSpeech("Dogo jump on top of you. You're his thing now!")
                                                           .AddEffect()
                                                           .AddHandler(new DialogueEffectScaleSpriteHandler(3, 0.3f, new Vector2(1.25f, 1.25f)))
                                                           .AddHandler(new DialogueEffectMoveSpriteHandler(3, 0.15f, new Vector3(0, 0.2f, 0), SpriteSnapPosition.Bottom))
                                                           .AddHandler(new DialogueEffectPlayAudioHandler(2))
                                                           .AddHandler(new DialogueEffectWaitHandler(0.15f))
                                                           .AddHandler(new DialogueEffectMoveSpriteHandler(3, 0.15f, new Vector3(0, -0.1f, 0), SpriteSnapPosition.Bottom))
                                                           .AddHandler(new DialogueEffectPlayAudioHandler(2))
                                                           .AddHandler(new DialogueEffectWaitHandler(0.15f)) };
        output.victoryDialogue = new DialogueSpeech("You won! Dogo is going back home.")
                                 .AddEffect()
                                 .AddHandler(new DialogueEffectSetSpriteVisibleHandler(3, false));
        output.defeatDialogue = new DialogueSpeech("You were defeated!", "")
                                .AddEffect()
                                .AddHandler(new DialogueEffectSetSpriteVisibleHandler(3, false));
        dialogueContext.RegisterDialogueNode(id, output);
        return(output);
    }