Paste #22156: Untitled Paste

Date: 2015/11/01 22:48:17 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Bob:
    type: assignment
    actions:
        on assignment:
        - trigger name:click state:true
        - trigger name:chat state:true
    interact scripts:
    - 5 bob_killquest

cchat:
    type: format
    format: "<&b><npc.name> <&f>to you<&co> <&2><text>"

bob_killquest:
    type: interact
    steps:
        1:
            click trigger:
                script:
                - if <player.has_flag[npc_engaged]> queue clear
                - if <player.has_flag[kill_zombie_quest_cooldown]> {
                    - narrate "You can repeat this quest in <player.flag[kill_zombie_quest_cooldown].expiration.formatted>"
                    - queue clear
                }
                - if <player.has_flag[kill_zombie_quest]> queue clear
                - flag player npc_engaged
                - engage
                - if <player.flag[kill_zombie_quest_count]> == 5 {
                    - narrate format::cchat "Great work! Here's your reward!"
                    - give i@iron_ingot
                    - flag player kill_zombie_quest_count:!
                    - flag player kill_zombie_quest_cooldown duration: 24h
                    - disengage
                    - flag player npc_engaged:!
                    - queue clear
                }
                - narrate format:cchat "Hello there. Would you care for a special prize?"
                - wait 5t
                - narrate format:cchat "If so, you can kill 5 zombies for me."
                - wait 5t
                - narrate format:cchat "Will you accept this request?"
                - wait 5t
                - narrate "[<&o>Type <&b><&o>Yes<&f><&o> or <&b><&o>No<&7>]"
                - disengage
                - flag player npc_engaged:!
            chat trigger:
                1:
                    trigger: /Yes/ I accept the quest
                    script:
                    - if <player.flag[kill_zombie_quest_cooldown]> {
                        - queue clear
                    }
                    - if <player.has_flag[kill_zombie_quest]> queue clear
                    - engage
                    - narrate format:cchat "Okay, great!"
                    - wait 5t
                    - narrate "[Kill 5 zombies!]"
                    - flag player kill_zombie_quest
                    - flag player kill_zombie_quest_count:0
                    - disengage
                2:
                    trigger: /No/ I don't
                    script:
                    - random {
                        - narrate format:cchat "Okay, screw off!"
                        - narrate format:cchat "Okay then."
                        - narrate format:cchat "Screw you then!"
                    }

bob_killquest_listener:
    type: world
    events:
        on player kills zombie:
        - if !<player.has_flag[kill_zombie_quest]> queue clear
        - flag player kill_zombie_quest_count:++
        - if <player.flag[kill_zombie_quest_count]> == 5 {
            - narrate "[Return to Bob!]"
            - flag player kill_zombie_quest:!
        }