Paste #22126: Untitled Paste

Date: 2015/11/01 16:32:15 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


petcommands:
  type: command
  name: pet
  description: Pet commands
  usage: <&5> /pet [call|dismiss|stay|follow|name] (type)
  aliases:
  - p
  allowed help:
  - determine true
  script:
    - if <context.args.get[1].escaped> == "call" {
      - if <player.flag[pet]> == null {
        - narrate "<&A>Your pet comes to you"
        - execute as_server "npc create <player.name>.jr --type wolf --at <player.location>"
        - execute as_server "npc assignment --set petass"
        - execute as_server "npc age baby"
        - if !<player.flag[petname]> == null execute as_server "npc rename <player.flag[petname]>"
        - flag <server.selected_npc> owner:<player>
        - flag <player> pet:<server.selected_npc>
        - flag <server.selected_npc> move:follow
        } else {
          - narrate "<&A> your pet is already with you"
        }
      - queue clear
      } else {
        - if <context.args.get[1].escaped> == "dismiss" {
          - if <player.flag[pet]> != null {
            - narrate "<&A> you dismiss your pet"
            - execute as_server "npc remove <player.flag[pet].after[n@]>"
            - flag <player> pet:null
            } else {
              - narrate "<&A> you do not have a pet to dismiss"
            }
            - queue clear
          } else {
            - if <context.args.get[1].escaped> == "name" {
              - execute as_server "npc select <player.flag[pet].after[n@]>"
              - execute as_server "npc rename <context.raw_args[0].after[name ]>"
              - flag <player> "petname:<context.raw_args[0].after[name ]>"
              - narrate "<&A>you have named your pet <&6><player.flag[petname]>"
              - queue clear
                } else {
                - if <context.args.get[1].escaped> == "follow" {
                  - flag <player.flag[pet].as_npc> move:follow
                  - stand <player.flag[pet].as_npc>
                  - narrate "your pet will follow"
                    - while <player.flag[pet].as_npc.location.distance[<player.location>].is[more].than[3]> {
                      - walk <player.flag[pet].as_npc> <player.location> speed:1
                      - wait 1
                      }
                    - queue clear
                  } else {
                    - if <context.args.get[1].escaped> == "stay" {
                      - flag <player.flag[pet].as_npc> move:stay
                      - sit <player.flag[pet].as_npc>
                      - narrate "your pet will stay"
                      - queue clear
                      }
                    }
                  }
                }
            }
    - narrate "<&6> /pet <&6>[<&c>all<&6>|<&c>dismiss<&6>|<&c>stay<&6>|<&c>follow<&6>|<&c>name<&6>] (type)"
    - queue clear