Paste #52087: Untitled Paste

Date: 2019/02/02 19:46:21 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Normal Experience Drop Cancelation:
  type: world
  debug: true
  events:
    on entity death:
      - determine NO_XP

Skills Check:
  type: command
  debug: true
  name: skills
  usage: /skills
  description: Gain access to your skills through this chat-menu.
  aliases: 
  - skill
  - sk
  script:
    - if <player.flag[race]> == human:
      - if <player.flag[<player.flag[race]>level]> < 3:
        - narrate "<&6><&l>[<&e>TDPO Levels<&6><&l>] <&7>You currently have <&c>no skills<&7> unlocked! You must reach level 3 to unlock your first skill."
      - if <player.flag[<player.flag[race]>level]> >= 3:
        - narrate "<&7><&m>-----------------------------------------------"
        - narrate "<&7> Hover over the skill name to read more about it!"
        - narrate "<&7><&gt> <&b>Level 3 Skill: <proc[msgHover].context[<&7>Aspiro|<&7>Aspiro: <&f>Say the incantation and sneak to blow a gust of wind at your foes!]><&7> <&lt>     <&b>Bound to Primal Stone"
      - if <player.flag[<player.flag[race]>level]> >= 12:
        - narrate "<&7><&gt> <&b>Level 12 Skill: <proc[msgHover].context[<&c>Flame|<&c>Flame: <&f>Cast and manipulate a large flame for several seconds that scourches enemies!]> <&7><&lt>  <&b>/c bind <&dq>Flame<&dq>"
      - if <player.flag[<player.flag[race]>level]> >= 25:
        - narrate "<&7><&gt> <&b>Level 25 Skill: <proc[msgHover].context[<&a>Summoning Stallion|<&a>Summoning Stallion: <&f>Summon a battle stallion for a short period of time and swing your sword or staff!]> <&7><&lt>  <&b>/c bind <&dq>Summon Stallion<&dq>"
      - if <player.flag[<player.flag[race]>level]> >= 40:
        - narrate "<&7><&gt> <&b>Level 40 Skill: <proc[msgHover].context[<&6>Torch|<&6>Torch: <&f>Cast a torch-like light, lighting up the area around you in the darkness!]> <&7><&lt>  <&b>/c bind <&dq>Torch<&dq>"""
      - if <player.flag[<player.flag[race]>level]> >= 65:
        - narrate "<&7><&gt> <&b>Level 65 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[<player.flag[race]>level]> >= 90:
        - narrate "<&7><&gt> <&b>Level 90 Skill: <proc[msgHover].context[<&c>Hello|<&c>It's me.]> <&7><&lt>"
      - narrate "<&7><&m>-----------------------------------------------"
    - if <player.flag[race]> == moonshadow:
      - if <player.flag[<player.flag[race]>level]> < 3:
        - narrate "<&6><&l>[<&e>TDPO Levels<&6><&l>] <&7>You currently have <&c>no skills<&7> unlocked! You must reach level 3 to unlock your first skill."
      - if <player.flag[<player.flag[race]>level]> >= 3:
        - narrate "<&7><&m>-----------------------------------------------"
        - narrate "<&7> Hover over the skill name to read more about it!"
        - narrate "<&7><&gt> <&b>Level 3 Skill: <proc[msgHover].context[<&8>Cloak|<&8>Cloak: <&f>Cloak yourself for a breif period of time, becoming nearly invisible to the naked eye!]><&7> <&lt>     <&b>/c bind <&dq>Cloak<&dq>"
      - if <player.flag[<player.flag[race]>level]> >= 12:
        - narrate "<&7><&gt> <&b>Level 12 Skill: <proc[msgHover].context[<&5>Illusion|<&5>Illusion: <&f>Create an illusion of yourself that draws enemies to it and explodes with a blast of moon magic!]><&7> <&lt>     <&b>/c bind <&dq>Illusion<&dq>"
      - if <player.flag[<player.flag[race]>level]> >= 25:
        - narrate "<&7><&gt> <&b>Level 25 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[<player.flag[race]>level]> >= 40:
        - narrate "<&7><&gt> <&b>Level 40 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[<player.flag[race]>level]> >= 65:
        - narrate "<&7><&gt> <&b>Level 65 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[<player.flag[race]>level]> >= 90:
        - narrate "<&7><&gt> <&b>Level 90 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - narrate "<&7><&m>-----------------------------------------------"
    - if <player.flag[race]> == sunfire:
      - if <player.flag[<player.flag[race]>level]> < 3:
        - narrate "<&6><&l>[<&e>TDPO Levels<&6><&l>] <&7>You currently have <&c>no skills<&7> unlocked! You must reach level 3 to unlock your first skill."
      - if <player.flag[<player.flag[race]>level]> >= 3:
        - narrate "<&7><&m>-----------------------------------------------"
        - narrate "<&7> Hover over the skill name to read more about it!"
        - narrate "<&7><&gt> <&b>Level 3 Skill: <proc[msgHover].context[<&6>Sun Forge|<&6>Sun Forge: <&f>As a sunfire elf, you gain the ability to forge magical weapons. Right click a forging station to get started.]>"
      - if <player.flag[<player.flag[race]>level]> >= 12:
        - narrate "<&7><&gt> <&b>Level 12 Skill: <proc[msgHover].context[<&c>Hot Forge|<&c>Hot Forge: <&f>Weapons you forge now have a chance to set enemies a-blaze in combat!]>"
      - if <player.flag[<player.flag[race]>level]> >= 25:
        - narrate "<&7><&gt> <&b>Level 25 Skill: <proc[msgHover].context[<&e>Forge: Armor|<&e>Forge Armor: <&f>You gain the ability to forge magical armor sets in addition to weapons.]>"
      - if <player.flag[<player.flag[race]>level]> >= 40:
        - narrate "<&7><&gt> <&b>Level 40 Skill: <proc[msgHover].context[<&c>Scorching Forge|<&c>Scorching Forge: <&f>Weapons you forge now have a guarenteed chance to scorch enemies in combat, as well as dull their senses.]>"
      - if <player.flag[<player.flag[race]>level]> >= 65:
        - narrate "<&7><&gt> <&b>Level 65 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[<player.flag[race]>level]> >= 90:
        - narrate "<&7><&gt> <&b>Level 90 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - narrate "<&7><&m>-----------------------------------------------"

Teach Skills on Join:
  type: world
  events:
    on player joins:
      - if <player.flag[race]> == human:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name> Aspiro"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name> Flame"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name> 'Summon Stallion'"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name> Torch"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == moonshadow:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == sunfire:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == dragonoid:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == vampire:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == lycan:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == starlight:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == skywing:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == oceanwave:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"
      - if <player.flag[race]> == earthland:
        - if <player.flag[<player.flag[race]>level]> >= 3:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 12:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 25:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 40:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 65:
          - execute as_server "c teach <player.name>"
        - if <player.flag[<player.flag[race]>level]> >= 90:
          - execute as_server "c teach <player.name>"


Level Check:
  type: command
  debug: true
  name: level
  usage: /level
  description: Check your level and experience with this command!
  aliases:
  - lvl
  script:
    - narrate "<&b>Level: <&a><player.flag[<player.flag[race]>level]>"
    - narrate "<&a>Experience: <&b><player.flag[<player.flag[race]>experience].round_up>/<player.flag[<player.flag[race]>experience_needed].round_up>"

Set Experience:
  type: world
  debug: true
  events:
    on player joins:
      - if "<player.has_flag[<player.flag[race]>level]>":
        - queue clear
      - flag player "<player.flag[race]>level:1"
      - flag "<pl>" "<player.flag[race]>experience:0"
      - flag "<pl>" "<player.flag[race]>experience_needed:100"

Gain:
  type: task
  debug: true
  definitions: gain_value
  script:
    - flag player <player.flag[race]>experience:+:<def[gain_value]>
    - while "<player.flag[<player.flag[race]>experience]>" >= "<player.flag[<player.flag[race]>experience_needed]>":
      - flag player <player.flag[race]>experience_needed:-:<player.flag[race]>experience
      - flag player <player.flag[race]>level:++
      - firework <player.location> power:0 random
      - narrate "<&6><&l><&lb><&e>TDPO Levels<&6><&l><&rb> <&a>You are now level <player.flag[<player.flag[race]>level]>!"
      - if <list[3|12|25|40|65|90]> contains <player.flag[<player.flag[race]>level]>:
        - execute as_server "c forcecast <player.name> Level-Unlock_MSG" 
        - if <player.flag[race]> == human:
          - if <player.flag[<player.flag[race]>level]> == 3:
            - execute as_server "c teach <player.name> Aspiro"
            - queue clear
        - if <player.flag[race]> == moonshadow:
          - queue clear
        - if <player.flag[race]> == sunfire:
          - queue clear
        - if <player.flag[race]> == starshine:
          - queue clear
        - if <player.flag[race]> == skywing:
          - queue clear
        - if <player.flag[race]> == oceanwave:
          - queue clear
        - if <player.flag[race]> == earthland:
          - queue clear
        - if <player.flag[race]> == dragonoid:
          - queue clear
        - if <player.flag[race]> == vampire:
          - queue clear
        - if <player.flag[race]> == lycan:
          - queue clear
      - flag player <player.flag[<player.flag[race]>experience_needed]>:<player.flag[<player.flag[race]>experience_needed].mul[1.25].round_up>
      - playsound "<pl>" "sound:ENTITY_PLAYER_LEVELUP"
    - actionbar "<&a>Experience: <&b><player.flag[<player.flag[race]>experience].round_up><&a>/<&b><player.flag[<player.flag[race]>experience_needed].round_up> <&b>| <&a>LVL: <&b><player.flag[<player.flag[race]>level]>"

Lose25:
  type: task
  debug: true
  script:
    - flag player <player.flag[<player.flag[race]>experience]>:-:25
    - actionbar "<&a>Experience: <&b><player.flag[<player.flag[race]>experience].round_up><&a>/<&b> <player.flag[<player.flag[race]>experience_needed].round_up> <&b>| <&a>LVL: <player.flag[<player.flag[race]>level]>"  

Gain XP:
  type: world
  debug: true
  events:
      on player kills entity:
      - choose <context.entity.entity_type>:
        - case SHEEP PIG COW CHICKEN:
          - run Gain def:3 instantly
        - case HORSE COW OCELOT LLAMA:
          - run Gain def:5 instantly
        - case BLAZE ZOMBIE SKELETON SPIDER CREEPER WITCH:
          - run Gain def:10 instantly
      on player dies:
      - inject Lose25