view data/npcs/kitsune.json @ 524:4242066f771d

Hook up if choices in haiku battle.
author Simon Cross <hodgestar@gmail.com>
date Sat, 09 Apr 2011 23:46:07 +0200
parents b48c194c4af9
children e648501c2eea
line wrap: on
line source

{
    "start" : {
        "on_entry" : "world.missions.haiku_losses = 0; world.missions.haiku_wins = 0",
        "text" : "I’ve been watching you for a time but I never thought you would get this far! You have been very wily and devious.",
        "auto_next": "state.onlyone"
    },
    "onlyone" : {
        "text" : "There can only be one kitsune in this world at a time. I did not think someone the likes of you would ever challenge me.",
        "auto_next": "state.here"
    },
    "here" : {
        "text" : "But now we are here, face to face. How could you ever hope to defeat me?",
        "choices" : [
            { "text": "In battle!", "next": "state.battle_start" },
            { "text": "In a haiku competition.", "next": "state.haiku_start", "if": "len(world.fox.scrolls) > 0" }
        ]
    },
    "battle_start" : {
        "text" : "Take your best shot!",
        "auto_next": "state.battle"
    },
    "haiku_start" : {
        "text" : "What? Play me at my own game? You can certainly try! You must beat me at two out of three challenges. Tell me which line is missing.",
        "auto_next": "state.haiku1"
    },
    "battle" : {
        "events" : [
            { "matches" : "world.missions.final_battle_lost", "next": "state.lost" },
            { "matches" : "world.missions.final_battle_won", "next": "state.won" }
        ]
    },
    "haiku1" : {
        "text" : "Over the wintry\nforest, winds howl in rage\n...?",
        "choices" : [
            { "text": "remaining in it?", "next": "state.haiku_wrong", "if": "'remaining in it?' in world.fox.scrolls" },
            { "text": "the end of autumn.", "next": "state.haiku_wrong", "if": "'the end of autumn.' in world.fox.scrolls"  },
            { "text": "with no leaves to blow.", "next": "state.haiku_right", "if": "'with no leaves to blow.' in world.fox.scrolls" },
            { "text": "the Galaxy.", "next": "state.haiku_wrong", "if": "'the Galaxy.' in world.fox.scrolls" },
            { "text": "and it passes by.", "next": "state.haiku_wrong", "if": "'and it passes by.' in world.fox.scrolls" }
        ]
    },
    "haiku2" : {
        "text" : "A dead chrysanthemum\nand yet - isn't there still something\n...?",
        "choices" : [
            { "text": "remaining in it?", "next": "state.haiku_right", "if": "'remaining in it?' in world.fox.scrolls" },
            { "text": "the end of autumn.", "next": "state.haiku_wrong", "if": "'the end of autumn.' in world.fox.scrolls" },
            { "text": "with no leaves to blow.", "next": "state.haiku_wrong", "if": "'with no leaves to blow.' in world.fox.scrolls" },
            { "text": "the Galaxy.", "next": "state.haiku_wrong", "if": "'the Galaxy.' in world.fox.scrolls" },
            { "text": "and it passes by.", "next": "state.haiku_wrong", "if": "'and it passes by.' in world.fox.scrolls" }
        ]
    },
    "haiku3" : {
        "text" : "First day of spring--\nI keep thinking about\n...?",
        "choices" : [
            { "text": "remaining in it?", "next": "state.haiku_wrong", "if": "'remaining in it?' in world.fox.scrolls" },
            { "text": "the end of autumn.", "next": "state.haiku_right", "if": "'the end of autumn.' in world.fox.scrolls" },
            { "text": "with no leaves to blow.", "next": "state.haiku_wrong", "if": "'with no leaves to blow.' in world.fox.scrolls" },
            { "text": "the Galaxy.", "next": "state.haiku_wrong" , "if": "'the Galaxy.' in world.fox.scrolls"},
            { "text": "and it passes by.", "next": "state.haiku_wrong", "if": "'and it passes by.' in world.fox.scrolls" }
        ]
    },
    "haiku_right" : {
        "on_entry" : "world.missions.haiku_wins += 1",
        "events" : [
            { "matches" : "world.missions.haiku_wins == 1 and world.missions.haiku_losses == 0", "next": "state.haiku_1win_0loss" },
            { "matches" : "world.missions.haiku_wins == 1 and world.missions.haiku_losses == 1", "next": "state.haiku_1win_1loss" },
            { "matches" : "world.missions.haiku_wins == 2", "next": "state.haiku_2wins" }
        ]
    },
    "haiku_1win_0loss" : {
        "text" : "Correct. Hmm, let’s try a harder one.",
        "auto_next": "state.haiku2"
    },
    "haiku_1win_1loss" : {
        "text" : "That’s right! Who would have thought? One more try...",
        "auto_next": "state.haiku3"
    },
    "haiku_2wins" : {
        "text" : "Yes – that’s correct! How could this be?",
        "auto_next": "state.won"
    },
    "haiku_wrong" : {
        "on_entry" : "world.missions.haiku_losses += 1",
        "text" : "Ha, that’s wrong! One point to me.",
        "events" : [
            { "matches" : "world.missions.haiku_losses == 1 and world.missions.haiku_wins == 0", "next": "state.haiku2" },
            { "matches" : "world.missions.haiku_losses == 1 and world.missions.haiku_wins == 1", "next": "state.haiku3" },
            { "matches" : "world.missions.haiku_losses == 2", "next": "state.lost" }
        ]
    },
    "lost" : {
        "text" : "Haha! Nobody can withstand the might and wit of the kitsune! You are defeated, fox. Out of my sight.",
        "auto_next": "state.start"
    },
    "won" : {
        "text" : "What? How? No! This is impossible – how could you defeat me? My power... slipping... my tails! Gone! Noooo...",
        "auto_next": "state.defeated"
    },
    "defeated" : {
    }
}