Paste #3129: Untitled Paste

Date: 2014/04/04 11:23:56 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


"Stonefellow":
  type: assignment

  default constants:
    durability_multiplier: 5
    enchantment_multiplier: 500

  interact scripts:
  - 10 SmithCheck

  actions:
    on assignment:
    - trigger name:chat toggle:true
    - trigger name:click toggle:true
    - trigger name:proximity toggle:true radius:2

    on enter proximity:
    - narrate <player.item_in_hand.enchantments.levels>
    - chat "<white>Hello, <player.name>. What can I do for you?"
    - narrate "<white> - I'd like an item <gold>repaired<white>."
    - narrate "<white> - I'd like to <gold>buy <white>smithing supplies"
    - narrate "<white> - I'd like to become a <gold>smith<white>."
    - if <p@player.jobs[<blacksmith>]> == null {
      - narrate "<white> - I'd like to become a <gold>smith<white>."
      }

    on exit proximity:
    - zap 's@SmithCheck' step:default

"SmithCheck":
  type: interact
  steps:
    default:
      chat trigger:
        'Repair':
          trigger: "I<&sq>d like the have this /repair/ed."
          script:
            - chat "<white>Hmmm<&cm> let<&sq>s see..."
            - wait 1s
            - if <<player.item_in_hand>.repairable> == true {
              - run CalcCost instantly
              }
            - if <flag.p:repaircost> > 0 {
              - chat "<white>Yeah<&cm> I can fix that. It<&sq>ll cost <gold><flag.p:repaircost> <white>coins to repair<&cm> though."
              - narrate "<gold>Yes <white>or <gold>No"
              - zap repair
              } else {
              - chat "<white>That doesn<&sq>t need to be repaired."
              }
              } else {
                - chat "<white>Sorry<&cm> but I'm afraid I can<&sq>t repair that."
              }

        'Job':
          trigger: "I'd like to become a /smith/."
          script:
            - chat "<white>Great<&cm> we always need more smiths<white>. Would you like to join our brotherhood?"
            - narrate "<gold>Yes <white>or <gold>No"
            - zap job

    job:
      chat trigger:
        'Yes':
          trigger: "/Yes/<&cm> I would."
          script:
            - chat "<white>Great!"
            - jobs join blacksmith
            - chat "<white>Welcome to the brotherhood!"

        'No':
          trigger: "/No/<&cm> sorry."
          script:
            - chat "<white>Oh well. I<&sq>m sure you<&sq>ll find something that fits."

    repair:
      chat trigger:
        'Yes':
          trigger: "/Yes/<&cm> repair it."
          script:
            - if <player.money> OR_MORE <flag.p:repaircost> {
              - adjust <player.item_in_hand> durability:0 save:newitem
              - take iteminhand
              - playsound <player.location> sound:anvil_use
              - wait 3s
              - playsound <player.location> sound:anvil_use
              - wait 3s
              - playsound <player.location> sound:anvil_use
              - wait 3s
              - take money qty:<flag.p:repaircost>
              - give <entry[newitem].result>
              - chat "<white>Here you go! Come back if you need anymore repairs."
              - zap default
              } else {
                - chat "<white>Hey<&cm> you don't have enough money! Come back when you can afford it..."
                - zap default
              }

        'No':
          trigger: "/No/<&cm> I don<&sq>t want to repair it."
          script:
            - chat "<white>Well... alright. Come back if you change your mind."

"CalcCost":
  type: task
  script:
    - define durability_cost 0
    - define enchantment_cost 0

    - if <player.item_in_hand.durability> != 0 {
      - define durability_cost <<player.item_in_hand>.durability.mul[<cons:durability_multiplier>]>

      - if <player.item_in_hand.enchantments> != null {
#        - foreach <player.item_in_hand.enchantments.levels> {
#            - define enchantment_cost enchantment_levels
#          }
#        - define enchantment_cost = <enchantment_levels.mul[<cons:enchantment_multiplier>]>
        }
      }

    - flag player repair_cost:<%durability_cost%.add[<%enchantment_cost%>]>