Paste #118877: Gem

Date: 2023/12/24 04:22:45 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


gem_deposit_handler:
    type: world
    debug: true
    events:
        on player clicks gem_filler_item in gem_deposit_inventory:
            - determine cancelled
        after player clicks air in gem_deposit_inventory with:item_flagged:currency:
            - if <context.clicked_inventory.script.exists>:
                    - define quantity <context.clicked_inventory.quantity_item[currency_*]>
                    - take item:currency_* quantity:<[quantity]> from:<context.clicked_inventory>
                    - define gems_value <server.flag[currency]>
                    - define total <[quantity]>:*:<[gems_value]>
                    - flag <player> gem_bank:+:<[total]>
                    - narrate "<&a> You just deposited <[total].proc[gem_display_amt]><&a> to your account!" targets:<player>
            - else:
                - determine passively cancelled

gem_display_amt:
    type: procedure
    debug: false
    definitions: gem_bank
    script:
        - define curr_name <proc[gem_get_name]>
        - if <[gem_bank]> > 1 || <[gem_bank]> < -1:
            - define curr_name <proc[gem_get_plural]>
        - determine "<[gem_bank].format_number><&d> <[curr_name]>"

currency_christmas:
    type: item
    material: cookie
    mechanisms:
        custom_model_data: 10002
    display name: <&a>Christmas <&6>cookie
    flags:
        currency: 4

currency_gems:
    type: item
    material: paper
    mechanisms:
        custom_model_data: 10000
    display name: <&f>Gem
    flags:
        currency: 1