Paste #48344: Diff note for paste #48343

Date: 2018/07/02 21:39:05 UTC-07:00
Type: Diff Report

View Raw Paste Download This Paste
Copy Link


 beartender:
   type: assignment
   actions:
     on assignment:
     - trigger name:proximity state:true radius:3
     on enter proximity:
     - if <player.has_flag[beartender_initiated].not> {
       - narrate "Beartender<&co> Youre awake! Glad to see you. A few folks in town found you knocked out, cart spilled and all just outside the limits of the city here. Brought you right to Beartender they did! Come on, come on! Sit down. What would you like to eat. Tell me, would you like a cookie, rabbit stew or a pie?"
       }
     else {
       - zap s@beartender_feed 2
     }
   interact scripts:
   - 3 beartender_feed
 
 beartender_feed:
     type: interact
     steps:
         1:
             chat trigger:
                 1:
                    trigger: I'd like a /cookie/ please!
                    script:
                    - chat "Good choice!!! I love cookies, Old Fashioned Honey Cookies are my absolute favorite. Here's a dozen! Oh! Here's your stuff too, we found it by you last night."
                    - give cookie quantity:12
                    - execute as_player "kit newplayer"
                    - flag player beartender_initiated
                    - zap 2
                 2:
                   trigger: I feel like some rabbit /stew/
                   script:
                     - chat "Mmm, mmm, mmm. A hearty rabbit stew! Sit back and enjoy a bowl of this! Oh! Here's your stuff too, we found it by you last night."
                     - give rabbit_stew
                     - execute as_player "kit <newplayer>"
                     - flag player beartender_initiated
                     - zap 2
                 3:
                    trigger: Mmmm... /pie/
                    script:
                    - chat "You know, there's nothing better than a nice slice of pie! I love apple pie the best! Here you go, one pie! Oh! Here's your stuff too, we found it by you last night."
                    - give pumpkin_pie
                    - execute as_player "kit <newplayer>"
                    - flag player beartender_initiated
                    - zap 2
         2:
             proximity trigger:
                 entry:
                     script:
                     - narrate "Welcome back to the Honey Pot! How has your adventuring been? I bet you're famished, what can I get you?"
                     - look <player>
                 exit:
                     script:
                     - narrate "Thanks for your patronage! Have a great adventure!"
             click trigger:
                 script:
                 - narrate "Watcha hungry for?"
                 - wait 1s
                 - inventory open d:in@beartender_menu
 
 beartender_menu:
     type: inventory
     title: Honey Pot Menu
     size: 27
     slots:
     - "[i@honeycookie] [i@peanutbuttercookie] [] [] [] [] [] [] []"
     - "[] [] [] [] [] [] [] [] []"
     - "[i@magicwater] [] [] [] [] [] [] [] []"
 
-
 CookieStuff:
   type: world
   events:
     on player clicks in beartender_menu:
     - determine passively cancelled
-    - if <context.item.material.name> == air {
+    - define script <context.item.script||null>
+    - if <def[script]> == null {
       - queue clear
-    }
-    - choose <context.item.scriptname||null>:
-      - case honeycookie:
-        - if <player.money> >= "5" {
-          - money take quantity:5
-          - narrate "<&a>$<&e>5 <&a>has been taken from your balance"
-          - give honeycookie
-          }
-      - case peanutbuttercookie:
-        - if <player.money> >= "5" {
-          - money take quantity:5
-          - narrate "<&a>$<&e>5 <&a>has been taken from your balance"
-          - give peanutbuttercookie
-          }
+      }
+    - define price <def[script].yaml_key[price]>
+    - if <def[price]> == 0 {
+      - narrate "Here's some <def[script].name>!"
+      - give i@<def[script].name>
+      }
+      else if <player.money> >= <def[price]> {
+      - money take quantity:<def[price]>
+      - narrate "<&a>$<&e><def[price]> <&a>has been taken from your balance"
+      - give i@<def[script].name>
+      }
+      else {
+      - narrate "<&c>You do not have enough money!"
+      }
-      - case carrotcake:
-        - if <player.money> >= "20" {
-          - money take quantity:20
-          - narrate "<&a>$<&e>20 <&a>has been taken from your balance"
-          - give carrotcake
-          }
-        else {
-          - narrate "<&c>You do not have enough money!"
-        }
-      - case magicwater:
-        - narrate "Here's some magical water!"
-        - give magicwater
     - inventory close
 
 
 #########
 #COOKIES
 #########
 honeycookie:
     type: item
     material: cookie
     display name: Old Fashioned Honey Cookie
+    price: 5
     lore:
     - "These are Beartenders favorite cookies!"
     - "<&a>$<&f>5"
 peanutbuttercookie:
     type: item
     material: cookie
     display name: Peanut Butter Cookie
+    price: 5
     lore:
     - "Mmmm, soft chewy peanut butter cookies!"
     - "<&a>$<&f>5"
 #########
 #CAKE
 #########
 carrotcake:
     type: item
     material: cake
     display name: Carrot Cake
+    price: 20
     lore:
     - "Delicious, spiced carrot cake."
     - "<&a>$<&f>20"
 magicwater:
   type: item
   material: 373
   display name: "<&b>Water"
+  price: 0
   lore:
   - "Bland. Old. Water."
   - "<&a>$<&f>0"
-
-