92 lines
No EOL
2.7 KiB
Text
92 lines
No EOL
2.7 KiB
Text
quest_demo:
|
|
set_button shopButton true
|
|
set_button parkButton greyed
|
|
jump bread_quest
|
|
|
|
bread_quest:
|
|
choice:
|
|
talk helper idle "Can you get 2 pieces of bread for me?"
|
|
"Yes":
|
|
talk helper idle "Thanks, that's very nice!"
|
|
talk helper idle "I'll be waiting for you at the park"
|
|
jump bread_start
|
|
"No":
|
|
talk helper idle "Oh, okay"
|
|
jump quest_demo
|
|
|
|
bread_start:
|
|
start_quest breadShopping
|
|
talk inner idle "Time to go to the shop to buy some bread then."
|
|
set_screen map
|
|
set_button shopButton true
|
|
|
|
shopButton:
|
|
// set_screen default
|
|
"You visit the bread shop"
|
|
talk shopkeeper idle "Hello, I'm a little baker selling bread and drinks!"
|
|
set data.breadPrice 5
|
|
jump shop_menu
|
|
|
|
parkButton:
|
|
choice:
|
|
talk helper idle "Ah, so do you have my bread?"
|
|
"Yes!" if (>= $items.bread.amount 2):
|
|
talk helper idle "Thanks a lot!"
|
|
add_item bread -2
|
|
complete_objective breadShopping delivery
|
|
complete_quest breadShopping
|
|
set_button parkButton false
|
|
jump demo_end
|
|
"No :(":
|
|
talk helper idle "Oh okay"
|
|
|
|
shop_menu:
|
|
choice:
|
|
talk shopkeeper idle "So, do you want some bread?"
|
|
"Buy bread (costs %{$$data.breadPrice})" if (>= $stats.money.value $data.breadPrice):
|
|
add_item bread 1
|
|
if (== $data.breadPrice 5):
|
|
add_stat money -5
|
|
else:
|
|
add_stat money -4
|
|
jump map_update
|
|
roll bread_haggle haggling 50 "Try to haggle for bread" hideAfterRoll:
|
|
success "You explain that helper cat needs bread to feed his poor family":
|
|
add_xp haggling 10
|
|
set data.breadPrice 4
|
|
talk shopkeeper idle "I guess I can sell you bread for 4 coins"
|
|
jump shop_menu
|
|
failure "You try to pity trip the shopkeeper but he won't bulge":
|
|
add_xp haggling 5
|
|
talk shopkeeper idle "The price is 5 coins, nothing less, nothing more."
|
|
jump shop_menu
|
|
"Exit":
|
|
jump map_update
|
|
|
|
show_map:
|
|
set_button parkButton false
|
|
set_button shopButton true
|
|
set_screen map
|
|
|
|
map_update:
|
|
set_button parkButton false
|
|
set_button shopButton true
|
|
log $items.bread
|
|
if (>= $items.bread.amount 2):
|
|
complete_objective breadShopping bread
|
|
talk inner idle "I've got enough bread now, I'm going to go to the park."
|
|
start_objective breadShopping delivery
|
|
set_screen map
|
|
set_button parkButton true
|
|
set_button shopButton false
|
|
else:
|
|
talk inner idle "Hmm, I still need to buy more bread for helper cat."
|
|
set_screen map
|
|
|
|
eat_bread:
|
|
talk player idle "hmm, bread"
|
|
|
|
read_book:
|
|
talk inner idle "It's full of ocult rituals. I'm not sure what they are, but I'm sure they are useful."
|
|
|
|
// From: https://github.com/liana-p/narrat-engine/blob/main/packages/narrat/examples/games/demo/data/quest.narrat |