Paste #4990: Travelers

Date: 2014/05/31 21:39:09 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


traveler_assign:
    type: assignment
    actions:
        on assignment:
        - trigger name:click state:true
        - trigger name:proximity state:true
        - trigger name:chat state:true
        on enter proximity:
        - narrate format:cchat "Come talk to me if you need to get somewhere!"
    interact scripts:
    - 10 traveler_interact

traveler_interact:
    type: interact
    steps:
        1:
            click trigger:
                script:
                - ^run npc_wander_pause instantly
                - narrate format:cchat "I can take you anywhere you need to go! $100 to go anywhere!"
                - narrate format:cchat "Merstone, StoneRose, Solace, Flotsam..."
                - narrate "<&c><&o>Specify a location to travel there."
                - ^run npc_wander_resume delay:10s
            chat trigger:
                1:
                    trigger: /regex:(?i)(Merstone|StoneRose|Solace|Flotsam)/
                    script:
                    - ^if !<li@merstone|stonerose|solace|flotsam.contains[<escape:<context.message>>]> {
                      - narrate format:cchat "Huh?"
                      - queue clear
                      }
                    - ^define destination <context.message>
                    - ^inject traveler_shop_handler

traveler_shop_handler:
    type: task
    script:
    - ^if <npc.flag[cityloc]> == %destination% {
      - narrate format:cchat "We're already there, silly."
      - queue clear
      }
    - ^if <player.money> < 100 {
      - narrate format:cchat "You can't afford that!"
      - queue clear
      }
    - ^narrate format:cchat "Alright, let's go!"
    - execute as_server "warp %destination% <player.name>"