Paste #30864: Untitled Paste

Date: 2016/02/27 07:54:18 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


CoinFlip:
  type: command
  name: Coinflip
  usage: /coinflip [player] [amount]
  description: Flip a coin and bet your money on the outcome!
  tab complete:
  - determine <server.list_players.parse[name].filter[starts_with[<context.args.last||>]]>
  script:
  - define CoinFlipPlayer <player.name>
  - define CoinFlipEnemy <context.args.get[1]>
  - define CoinFlipMoney <context.args.get[2]>
  - flag p@<def[CoinFlipEnemy]> CoinFlipMoney:<context.args.get[2]>
  - if <player.money> < <def[CoinFlipMoney]> || <def[CoinFlipEnemy].money> < <def[CoinFlipMoney]> {
    - narrate "<&c>You or the targetted player do not have enough money to coin flip!"
    - queue clear 
  }
  - take money qty:<def[CoinFlipMoney]>
  - narrate "<&6>Sent Coinflip request to <&f><def[CoinFlipEnemy]> <&6>for $<def[CoinFlipMoney]>!"
  - narrate "<&a>They have 15 seconds to accept the coin flip by doing /coinflip accept"
  - narrate "<&6>Player <player.name> wants to flip-a-coin with you for $<def[CoinFlipMoney]>" targets:p@<def[CoinFlipEnemy]>
  - narrate "<&7>Type /coinflip accept to accept the coinflip!" targets:p@<def[CoinFlipEnemy]>
  - flag p@<def[CoinFlipEnemy]> CoinFlip:<player.name> duration:15s
  - flag <player> CoinFlip:<def[CoinFlipEnemy]> duration:15s




CoinFlipAccept:
  type: command
  name: CoinflipAccept
  usage: /coinflipaccept
  description: Accept the coin flip request
  script:
  - if <player.has_flag[CoinFlip]> {
    - flag p@<def[CoinFlipEnemy]> CoinFlip:<player.name> duration:15s
    - flag p@<player.flag[CoinFlip]> CoinFlip duration:15s
    - take money qty:<player.flag[CoinFlipMoney]>
    - narrate "<&6>Coin flip accepted! Flipping the coin in..."
    - narrate "<&6>Coin flip accepted! Flipping the coin in..." targets:p@<player.flag[CoinFlip]>
    - wait 1s
    - narrate "<&7>3..."
    - narrate "<&7>3..." targets:p@<player.flag[CoinFlip]>
    - wait 1s
    - narrate "<&7>2..."
    - narrate "<&7>2..." targets:p@<player.flag[CoinFlip]>
    - wait 1s
    - narrate "<&7>1..."
    - narrate "<&7>1..." targets:p@<player.flag[CoinFlip]>
    - wait 1s
    - inject CoinFlipWinner
    - queue clear
  }
  - narrate "<&7>You have no pending coin flip requests!"


CoinFlipWinner:
  type: task
  script:
  - define CoinFlipNumber <util.random.int[1].to[2]>
  - if <def[CoinFlipNumber]> == 1 {
    - give <player.flag[CoinFlip]> money qty:<player.flag[CoinFlipMoney].mul[2]>
    - narrate "<&a>You won a coin flip against p@<player.flag[CoinFlipEnemy]> and won $<player.flag[CoinFlipMoney].mul[2].as_money>" targets:<player.flag[CoinFlip]>
    - queue clear
  }
  - if <def[CoinFlipNumber]> == 2 {
    - give <player.flag[CoinFlipEnemy]> money qty:<player.flag[CoinFlipMoney].mul[2]>
    - narrate "<&a>You won a coin flip against p@<player.flag[CoinFlip]> and won $<player.flag[CoinFlipMoney].mul[2].as_money>" targets:<player.flag[CoinFlipEnemy]>
  }