SHARE
TWEET

dRaC

a guest Jul 22nd, 2019 52 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # - COMMANDS
  2. command_Race:
  3.     type: command
  4.     name: race
  5.     usage: /race
  6.     script:
  7.        - define arg1:<context.args.[1]||null>
  8.        - define arg2:<context.args.[2]||null>
  9.        - define arg3:<context.args.[3]||!>
  10.         - if <yaml[race_config].list_keys[].contains[<[arg1].to_titlecase>]>:
  11.            - narrate " "
  12.             - narrate "<&8>-------------------"
  13.             - narrate "<&a><&l>    - <[arg1].to_titlecase> -"
  14.             - narrate "<&8>-------------------"
  15.             - foreach <yaml[race_config].list_keys[<[arg1].to_titlecase>.buffs]> as:buff:
  16.                - define val:<yaml[race_config].read[<[arg1].to_titlecase>.buffs.<[buff]>]>
  17.                 - choose <[buff]>:
  18.                     - case Health:
  19.                        - narrate "<&e>Increases health by up to <[val].*[40]>"
  20.                     - case Mana:
  21.                        - narrate "<&e>Increases mana by up to <[val].*[40]>"
  22.                     - case Armor:
  23.                        - narrate "<&e>Increases armor by up to <[val].*[40]>"
  24.                     - case Damage:
  25.                        - narrate "<&e>Increases damage by up to <[val].*[40]>%"
  26.                     - case MagicDamage:
  27.                        - narrate "<&e>Increases magic damage by up to <[val].*[40]>%"
  28.                     - case SwordDamage:
  29.                        - narrate "<&e>Increases sword damage by up to <[val].*[40]>%"
  30.                     - case AxeDamage:
  31.                        - narrate "<&e>Increases axe damage by up to <[val].*[40]>%"
  32.                     - case BowDamage:
  33.                        - narrate "<&e>Increases bow damage by up to <[val].*[40]>%"
  34.                     - case LongRangeDamage:
  35.                        - narrate "<&e>Increases long range damage by up to <[val].*[40]>%"
  36.                     - case Critical:
  37.                        - narrate "<&e>Increases critical chance by up to <[val].*[40]>%"
  38.                     - case Poison:
  39.                        - narrate "<&e>Increases chance to poison by up to <[val].*[40]>%"
  40.                     - case Bleed:
  41.                        - narrate "<&e>Increases chance to bleed by up to <[val].*[40]>%"
  42.                     - case Backstab:
  43.                        - narrate "<&e>Increases backstab damage by up to <[val].*[40]>%"
  44.                     - case Speed:
  45.                        - narrate "<&e>Increases speed by up to <[val].*[40]>"
  46.                     - case Dodge:
  47.                        - narrate "<&e>Increases dodge by up to <[val].*[40]>%"
  48.                     - case Parry:
  49.                        - narrate "<&e>Increases parry by up to <[val].*[40]>%"
  50.                     - case Lifesteal
  51.                         - narrate "<&e>Increases lifesteal by up to <[val].*[40]>%"
  52.                     - case Luck
  53.                         - narrate "<&e>Increases luck by up to <[val].*[40]>"
  54.                     - case Regen:
  55.                        - narrate "<&e>Increases regen by up to <[val].*[40]>%"
  56.                     - case HpRegen:
  57.                        - narrate "<&e>Increases health regen by up to <[val].*[40]>%"
  58.                     - case ManaRegen:
  59.                        - narrate "<&e>Increases mana regen by up to <[val].*[40]>%"
  60.                     - case RegenAura:
  61.                        - narrate "<&e>Increases regen of allies by up to <[val].*[40]>%"
  62.                     - case HpRegenAura:
  63.                        - narrate "<&e>Increases health regen of allies by up to <[val].*[40]>%"
  64.                     - case ManaRegenAura:
  65.                        - narrate "<&e>Increases mana regen of allies by up to <[val].*[40]>%"
  66.                     - case Hover:
  67.                        - narrate "<&e>Allows you to hover"
  68.                     - case UnderwaterBreathing:
  69.                        - narrate "<&e>Allows you to breathe underwater"
  70.             - narrate "<&a>----Sub-Races----"
  71.             - foreach <yaml[race_config].list_keys[<[arg1].to_titlecase>.subraces]> as:subrace:
  72.                - narrate "<&6><[subrace]>"
  73.             - narrate "<&8>-------------------"
  74.             - narrate "<&e>Type /race (subracename) to view more info on a subrace"
  75.             - stop
  76.         - else:
  77.             - foreach <yaml[race_config].list_keys[]> as:race:
  78.                 - if <yaml[race_config].list_keys[<[race]>.subraces].contains[<[arg1].to_titlecase>]||false>:
  79.                    - narrate " "
  80.                     - narrate "<&8>-------------------"
  81.                     - narrate "<&a><&l>    - <[arg1].to_titlecase> -"
  82.                     - narrate "<&8>-------------------"
  83.                     - foreach <yaml[race_config].list_keys[<[race]>.subraces.<[arg1].to_titlecase>.buffs]> as:buff:
  84.                        - define val:<yaml[race_config].read[<[race]>.subraces.<[arg1].to_titlecase>.buffs.<[buff]>]>
  85.                         - choose <[buff]>:
  86.                             - case Health:
  87.                                - narrate "<&e>Increases health by up to <[val].*[40]>"
  88.                             - case Mana:
  89.                                - narrate "<&e>Increases mana by up to <[val].*[40]>"
  90.                             - case Armor:
  91.                                - narrate "<&e>Increases armor by up to <[val].*[40]>"
  92.                             - case Damage:
  93.                                - narrate "<&e>Increases damage by up to <[val].*[40]>%"
  94.                             - case MagicDamage:
  95.                                - narrate "<&e>Increases magic damage by up to <[val].*[40]>%"
  96.                             - case SwordDamage:
  97.                                - narrate "<&e>Increases sword damage by up to <[val].*[40]>%"
  98.                             - case AxeDamage:
  99.                                - narrate "<&e>Increases axe damage by up to <[val].*[40]>%"
  100.                             - case BowDamage:
  101.                                - narrate "<&e>Increases bow damage by up to <[val].*[40]>%"
  102.                             - case LongRangeDamage:
  103.                                - narrate "<&e>Increases long range damage by up to <[val].*[40]>%"
  104.                             - case Critical:
  105.                                - narrate "<&e>Increases critical chance by up to <[val].*[40]>%"
  106.                             - case Poison:
  107.                                - narrate "<&e>Increases chance to poison by up to <[val].*[40]>%"
  108.                             - case Bleed:
  109.                                - narrate "<&e>Increases chance to bleed by up to <[val].*[40]>%"
  110.                             - case Backstab:
  111.                                - narrate "<&e>Increases backstab damage by up to <[val].*[40]>%"
  112.                             - case Speed:
  113.                                - narrate "<&e>Increases speed by up to <[val].*[40]>"
  114.                             - case Dodge:
  115.                                - narrate "<&e>Increases dodge by up to <[val].*[40]>%"
  116.                             - case Parry:
  117.                                - narrate "<&e>Increases parry by up to <[val].*[40]>%"
  118.                             - case Lifesteal
  119.                                 - narrate "<&e>Increases lifesteal by up to <[val].*[40]>%"
  120.                             - case Luck
  121.                                 - narrate "<&e>Increases luck by up to <[val].*[40]>"
  122.                             - case Regen:
  123.                                - narrate "<&e>Increases regen by up to <[val].*[40]>%"
  124.                             - case HpRegen:
  125.                                - narrate "<&e>Increases health regen by up to <[val].*[40]>%"
  126.                             - case ManaRegen:
  127.                                - narrate "<&e>Increases mana regen by up to <[val].*[40]>%"
  128.                             - case RegenAura:
  129.                                - narrate "<&e>Increases regen of allies by up to <[val].*[40]>%"
  130.                             - case HpRegenAura:
  131.                                - narrate "<&e>Increases health regen of allies by up to <[val].*[40]>%"
  132.                             - case ManaRegenAura:
  133.                                - narrate "<&e>Increases mana regen of allies by up to <[val].*[40]>%"
  134.                             - case Hover:
  135.                                - narrate "<&e>Allows you to hover"
  136.                             - case UnderwaterBreathing:
  137.                                - narrate "<&e>Allows you to breathe underwater"
  138.                     - narrate "<&8>-------------------"
  139.                     - stop
  140.         - choose <[arg1]>:
  141.             - case null:
  142.                - narrate " "
  143.                 - narrate "<&8>-------------------"
  144.                 - narrate "<&a><&l>- Race Commands -"
  145.                 - narrate "<&8>-------------------"
  146.                 - narrate "<&e>/race<&8>- <&7>Race commands"
  147.                 - narrate "<&e>/race help<&8>- <&7>Explains races"
  148.                 - narrate "<&e>/race list <&8>- <&7>Displays a list of races"
  149.                 - narrate "<&e>/race (name) <&8>- <&7>Gives info on a race"
  150.                 - narrate "<&e>/race change (name) <&8>- <&7>Changes race"
  151.                 - narrate "<&e>/race info <&8>- <&7>Gives info on your current race"
  152.                 - narrate "<&e>/race stats <&8>- <&7>Displays stats"
  153.                 - narrate "<&e>/stats <&8>- <&7>Displays all stats"
  154.                 - narrate "<&e>/subrace <&8>- <&7>Subrace commands"
  155.                 - narrate "<&8>-------------------"
  156.                 - stop
  157.             - case help:
  158.                - narrate " "
  159.                 - narrate "<&e>- Races give you stats that increase as you level"
  160.                 - narrate "<&e>- Gain experience from mob kills and"
  161.                 - narrate "<&e>  played time"
  162.                 - stop
  163.             - case list:
  164.                - narrate " "
  165.                 - narrate "<&8>-------------------"
  166.                 - narrate "<&a><&l>   - Races -"
  167.                 - narrate "<&8>-------------------"
  168.                 - foreach <yaml[race_config].list_keys[]> as:race_name:
  169.                    - narrate "<&6><&l><[race_name]>"
  170.                 - narrate "<&8>-------------------"
  171.                 - narrate "<&e>/race (name) to view more info on a race"
  172.                 - stop
  173.             - case info:
  174.                - narrate " "
  175.                 - narrate "<&8>-------------------"
  176.                 - narrate "<&a><&l>  - Race Info -"
  177.                 - narrate "<&8>-------------------"
  178.                 - narrate "<&6><&l>Race:   <&e><yaml[<player.uuid>].read[races.race]>"
  179.                - narrate "<&6><&l>Level:  <&e><yaml[<player.uuid>].read[races.level]>"
  180.                - narrate "<&6><&l>Xp:     <&e><yaml[<player.uuid>].read[races.xp]>/<el@10000.*[<yaml[<player.uuid>].read[races.level]>]>"
  181.                - narrate "<&8>---------"
  182.                - narrate "<&6><&l>SubRace: <&e><yaml[<player.uuid>].read[races.subrace]>"
  183.                - narrate "<&6><&l>Level:  <&e><yaml[<player.uuid>].read[races.sublevel]>"
  184.                - narrate "<&6><&l>Xp:     <&e><yaml[<player.uuid>].read[races.subxp]>/<el@10000.*[<yaml[<player.uuid>].read[races.sublevel]>]>"
  185.                - narrate "<&8>-------------------"
  186.                - stop
  187.            - case stats:
  188.                - define race:<yaml[<player.uuid>].read[races.race]>
  189.                - define level:<yaml[<player.uuid>].read[races.level]>
  190.                - if <[race]> == Default:
  191.                    - narrate "<&c>You have no race"
  192.                    - stop
  193.                - narrate " "
  194.                - narrate "<&8>-------------------"
  195.                - narrate "<&a><&l>  - Race Stats -"
  196.                - narrate "<&8>-------------------"
  197.                - foreach <yaml[race_config].list_keys[<[race]>.buffs]||null> as:stat:
  198.                    - define val:<yaml[race_config].read[<[race]>.buffs.<[stat]>].*[<[level]>]>
  199.                    - choose <[stat]>:
  200.                        - case Health:
  201.                            - narrate "<&e>Increased <&6>health<&e> - <[val]>"
  202.                        - case Mana:
  203.                            - narrate "<&e>Increased <&6>mana<&e> - <[val]>"
  204.                        - case Armor:
  205.                            - narrate "<&e>Increased <&6>armor<&e> - <[val]>"
  206.                        - case Damage:
  207.                            - narrate "<&e>Increased <&6>damage<&e> - <[val]>%"
  208.                         - case MagicDamage:
  209.                            - narrate "<&e>Increased <&6>magic damage<&e> - <[val]>%"
  210.                         - case SwordDamage:
  211.                            - narrate "<&e>Increased <&6>sword damage<&e> - <[val]>%"
  212.                         - case AxeDamage:
  213.                            - narrate "<&e>Increased <&6>axe damage<&e> - <[val]>%"
  214.                         - case BowDamage:
  215.                            - narrate "<&e>Increased <&6>bow damage<&e> - <[val]>%"
  216.                         - case LongRangeDamage:
  217.                            - narrate "<&e>Increased <&6>long range damage<&e> - <[val]>%"
  218.                         - case Critical:
  219.                            - narrate "<&e>Increased <&6>critical<&e> chance - <[val]>%"
  220.                         - case Poison:
  221.                            - narrate "<&e>Increased <&6>chance to poison<&e> - <[val]>%"
  222.                         - case Bleed:
  223.                            - narrate "<&e>Increased <&6>chance to bleed<&e> - <[val]>%"
  224.                         - case Backstab:
  225.                            - narrate "<&e>Increased <&6>backstab damage<&e> - <[val]>%"
  226.                         - case Speed:
  227.                            - narrate "<&e>Increased <&6>speed<&e> - <[val]>"
  228.                         - case Dodge:
  229.                            - narrate "<&e>Increased <&6>dodge<&e> - <[val]>%"
  230.                         - case Parry:
  231.                            - narrate "<&e>Increased <&6>parry<&e> - <[val]>%"
  232.                         - case Lifesteal
  233.                             - narrate "<&e>Increased <&6>lifesteal<&e> - <[val]>%"
  234.                         - case Luck
  235.                             - narrate "<&e>Increased <&6>luck<&e> - <[val]>"
  236.                         - case Regen:
  237.                            - narrate "<&e>Increased <&6>regen<&e> - <[val]>%"
  238.                         - case HpRegen:
  239.                            - narrate "<&e>Increased <&6>health regen<&e> - <[val]>%"
  240.                         - case ManaRegen:
  241.                            - narrate "<&e>Increased <&6>mana regen<&e> - <[val]>%"
  242.                         - case RegenAura:
  243.                            - narrate "<&e>Increased <&6>regen<&e> of allies - <[val]>%"
  244.                         - case HpRegenAura:
  245.                            - narrate "<&e>Increased <&6>health regen<&e> of allies - <[val]>%"
  246.                         - case ManaRegenAura:
  247.                            - narrate "<&e>Increases <&6>mana regen<&e> of allies - <[val]>%"
  248.                         - case Hover:
  249.                            - narrate "<&e>Can hover"
  250.                         - case UnderwaterBreathing:
  251.                            - narrate "<&e>Can breathe underwater"
  252.                 - narrate "<&8>-------------------"
  253.                 - stop
  254.             - case change:
  255.                 - if <yaml[race_config].list_keys[].contains[<[arg2].to_titlecase>]> && <yaml[<player.uuid>].read[races.race]> != <[arg2].to_titlecase>:
  256.                    - narrate "<&e>You change to <[arg2].to_titlecase>"
  257.                     - if <yaml[<player.uuid>].read[races.subrace]> != Default:
  258.                        - run instantly function_ClearSubraceBuffs
  259.                         - define subrace:Default
  260.                         - define last_subrace:<yaml[<player.uuid>].read[races.subrace]>
  261.                        - define sublevel:1
  262.                         - define last_sublevel:<yaml[<player.uuid>].read[races.sublevel]||1>
  263.                        - define subxp:0
  264.                         - define last_subxp:<yaml[<player.uuid>].read[races.subxp]||0>
  265.                        - yaml id:<player.uuid> set races.subrace:<[subrace]>
  266.                        - yaml id:<player.uuid> set races.last_subrace:<[last_subrace]>
  267.                        - yaml id:<player.uuid> set races.sublevel:<[sublevel]>
  268.                        - yaml id:<player.uuid> set races.last_sublevel:<[last_sublevel]>
  269.                        - yaml id:<player.uuid> set races.subxp:<[subxp]>
  270.                        - yaml id:<player.uuid> set races.last_subxp:<[last_subxp]>
  271.                        - yaml id:<player.uuid> set races.<[last_subrace]>_level:<[last_sublevel]>
  272.                        - yaml id:<player.uuid> set races.<[last_subrace]>_xp:<[last_subxp]>
  273.                     - if <yaml[<player.uuid>].read[races.race]> != default
  274.                         - run instantly function_ClearRaceBuffs
  275.                     - define race:<[arg2].to_titlecase>
  276.                    - define last_race:<yaml[<player.uuid>].read[races.race]>
  277.                    - define level:<yaml[<player.uuid>].read[races.<[race]>_level]||1>
  278.                    - define last_level:<yaml[<player.uuid>].read[races.level]||1>
  279.                    - define xp:<yaml[<player.uuid>].read[races.<[race]>_xp]||0>
  280.                    - define last_xp:<yaml[<player.uuid>].read[races.xp]||0>
  281.                    - define race_buffs:<yaml[race_config].list_keys[<[race]>.buffs]>
  282.                    - define last_race_buffs:<yaml[race_config].list_keys[<[last_race]>.buffs]||null>
  283.                    - yaml id:<player.uuid> set races.race:<[race]>
  284.                    - yaml id:<player.uuid> set races.last_race:<[last_race]>
  285.                    - yaml id:<player.uuid> set races.level:<[level]>
  286.                    - yaml id:<player.uuid> set races.last_level:<[last_level]>
  287.                    - yaml id:<player.uuid> set races.xp:<[xp]>
  288.                    - yaml id:<player.uuid> set races.last_xp:<[last_xp]>
  289.                    - yaml id:<player.uuid> set races.<[last_race]>_level:<[last_level]>
  290.                    - yaml id:<player.uuid> set races.<[last_race]>_xp:<[last_xp]>
  291.                    - run instantly function_UpdateRaceBuffs
  292.                     - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  293.                     - stop
  294.                
  295.                 - else if <yaml[race_config].list_keys[<yaml[<player.uuid>].read[races.race]>.subraces].contains[<[arg2].to_titlecase>]||false> && <yaml[<player.uuid>].read[races.subrace]> != <[arg2].to_titlecase>:
  296.                    - narrate "<&e>You change to <[arg2].to_titlecase>"
  297.                     - if <yaml[<player.uuid>].read[races.subrace]> != Default:
  298.                        - run instantly function_ClearSubraceBuffs
  299.                     - define race:<yaml[<player.uuid>].read[races.race]>
  300.                    - define subrace:<[arg2].to_titlecase>
  301.                    - define last_subrace:<yaml[<player.uuid>].read[races.subrace]>
  302.                    - define sublevel:<yaml[<player.uuid>].read[races.<[subrace]>_level]||1>
  303.                    - define last_sublevel:<yaml[<player.uuid>].read[races.sublevel]||1>
  304.                    - define subxp:<yaml[<player.uuid>].read[races.<[subrace]>_xp]||0>
  305.                    - define last_subxp:<yaml[<player.uuid>].read[races.subxp]||0>
  306.                    - define subrace_buffs:<yaml[race_config].list_keys[<[race]>.subraces.<[subrace]>.buffs]>
  307.                    - yaml id:<player.uuid> set races.subrace:<[subrace]>
  308.                    - yaml id:<player.uuid> set races.last_subrace:<[last_subrace]>
  309.                    - yaml id:<player.uuid> set races.sublevel:<[sublevel]>
  310.                    - yaml id:<player.uuid> set races.last_sublevel:<[last_sublevel]>
  311.                    - yaml id:<player.uuid> set races.subxp:<[subxp]>
  312.                    - yaml id:<player.uuid> set races.last_subxp:<[last_subxp]>
  313.                    - yaml id:<player.uuid> set races.<[last_subrace]>_level:<[last_subrace]>
  314.                    - yaml id:<player.uuid> set races.<[last_subrace]>_xp:<[last_subxp]>
  315.                    - run instantly function_UpdateSubraceBuffs
  316.                     - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  317.                     - stop
  318.                 - narrate "<&c>You cannot change race to <[arg2].to_titlecase>"
  319.                 - stop
  320.         - narrate "<&c>Invalid race command"
  321.  
  322. command_Subrace:
  323.     type: command
  324.     name: subrace
  325.     usage: /subrace
  326.     script:
  327.        - define arg1:<context.args.[1]||null>
  328.        - define arg2:<context.args.[2]||null>
  329.         - foreach <yaml[race_config].list_keys[]> as:race:
  330.             - if <yaml[race_config].list_keys[<[race]>.subraces].contains[<[arg1].to_titlecase>]||false>:
  331.                - narrate " "
  332.                 - narrate "<&8>-------------------"
  333.                 - narrate "<&a><&l>    - <[arg1].to_titlecase> -"
  334.                 - narrate "<&8>-------------------"
  335.                 - foreach <yaml[race_config].list_keys[<[race]>.subraces.<[arg1].to_titlecase>.buffs]> as:buff:
  336.                    - define val:<yaml[race_config].read[<[race]>.subraces.<[arg1].to_titlecase>.buffs.<[buff]>]>
  337.                     - choose <[buff]>:
  338.                         - case Health:
  339.                            - narrate "<&e>Increases health by up to <[val].*[40]>"
  340.                         - case Mana:
  341.                            - narrate "<&e>Increases mana by up to <[val].*[40]>"
  342.                         - case Armor:
  343.                            - narrate "<&e>Increases armor by up to <[val].*[40]>"
  344.                         - case Damage:
  345.                            - narrate "<&e>Increases damage by up to <[val].*[40]>%"
  346.                         - case MagicDamage:
  347.                            - narrate "<&e>Increases magic damage by up to <[val].*[40]>%"
  348.                         - case SwordDamage:
  349.                            - narrate "<&e>Increases sword damage by up to <[val].*[40]>%"
  350.                         - case AxeDamage:
  351.                            - narrate "<&e>Increases axe damage by up to <[val].*[40]>%"
  352.                         - case BowDamage:
  353.                            - narrate "<&e>Increases bow damage by up to <[val].*[40]>%"
  354.                         - case LongRangeDamage:
  355.                            - narrate "<&e>Increases long range damage by up to <[val].*[40]>%"
  356.                         - case Critical:
  357.                            - narrate "<&e>Increases critical chance by up to <[val].*[40]>%"
  358.                         - case Poison:
  359.                            - narrate "<&e>Increases chance to poison by up to <[val].*[40]>%"
  360.                         - case Bleed:
  361.                            - narrate "<&e>Increases chance to bleed by up to <[val].*[40]>%"
  362.                         - case Backstab:
  363.                            - narrate "<&e>Increases backstab damage by up to <[val].*[40]>%"
  364.                         - case Speed:
  365.                            - narrate "<&e>Increases speed by up to <[val].*[40]>"
  366.                         - case Dodge:
  367.                            - narrate "<&e>Increases dodge by up to <[val].*[40]>%"
  368.                         - case Parry:
  369.                            - narrate "<&e>Increases parry by up to <[val].*[40]>%"
  370.                         - case Lifesteal
  371.                             - narrate "<&e>Increases lifesteal by up to <[val].*[40]>%"
  372.                         - case Luck
  373.                             - narrate "<&e>Increases luck by up to <[val].*[40]>"
  374.                         - case Regen:
  375.                            - narrate "<&e>Increases regen by up to <[val].*[40]>%"
  376.                         - case HpRegen:
  377.                            - narrate "<&e>Increases health regen by up to <[val].*[40]>%"
  378.                         - case ManaRegen:
  379.                            - narrate "<&e>Increases mana regen by up to <[val].*[40]>%"
  380.                         - case RegenAura:
  381.                            - narrate "<&e>Increases regen of allies by up to <[val].*[40]>%"
  382.                         - case HpRegenAura:
  383.                            - narrate "<&e>Increases health regen of allies by up to <[val].*[40]>%"
  384.                         - case ManaRegenAura:
  385.                            - narrate "<&e>Increases mana regen of allies by up to <[val].*[40]>%"
  386.                         - case Hover:
  387.                            - narrate "<&e>Allows you to hover"
  388.                         - case UnderwaterBreathing:
  389.                            - narrate "<&e>Allows you to breathe underwater"
  390.                 - narrate "<&8>-------------------"
  391.                 - stop
  392.         - choose <[arg1]>:
  393.             - case null:
  394.                - narrate " "
  395.                 - narrate "<&8>-------------------"
  396.                 - narrate "<&a><&l>- Subrace Commands -"
  397.                 - narrate "<&8>-------------------"
  398.                 - narrate "<&e>/subrace<&8>- <&7>Subrace commands"
  399.                 - narrate "<&e>/subrace help<&8>- <&7>Explains subraces"
  400.                 - narrate "<&e>/subrace list <&8>- <&7>Displays a list of subraces"
  401.                 - narrate "<&e>/subrace (name) <&8>- <&7>Gives info on a subrace"
  402.                 - narrate "<&e>/subrace change (name) <&8>- <&7>Changes subrace"
  403.                 - narrate "<&e>/subrace info <&8>- <&7>Gives info on your current subrace"
  404.                 - narrate "<&e>/subrace stats <&8>- <&7>Displays subrace stats"
  405.                 - narrate "<&e>/stats <&8>- <&7>Displays all stats"
  406.                 - narrate "<&8>-------------------"
  407.                 - stop
  408.             - case help:
  409.                - narrate " "
  410.                 - narrate "<&e>- Subraces give you stats that increase as you level"
  411.                 - narrate "<&e>- Gain experience from mob kills and"
  412.                 - narrate "<&e>  played time"
  413.                 - stop
  414.             - case list:
  415.                - narrate " "
  416.                 - narrate "<&8>-------------------"
  417.                 - narrate "<&a><&l>  - Subaces -"
  418.                 - narrate "<&8>-------------------"
  419.                 - foreach <yaml[race_config].list_keys[]> as:race:
  420.                    - narrate "<&a><&l><[race]>"
  421.                     - foreach <yaml[race_config].list_keys[<[race]>.subraces]> as:subrace:
  422.                        - narrate "  <&6><[subrace]>"
  423.                 - narrate "<&8>-------------------"
  424.                 - narrate "<&e>Type /race (name) to view more info on a race"
  425.                 - narrate "<&e>Type /subrace (name) to view more info on a subrace"
  426.                 - stop
  427.             - case info:
  428.                - narrate " "
  429.                 - narrate "<&8>-------------------"
  430.                 - narrate "<&a><&l>  - Race Info -"
  431.                 - narrate "<&8>-------------------"
  432.                 - narrate "<&6><&l>Race: <&e><yaml[<player.uuid>].read[races.race]>"
  433.                - narrate "<&6><&l>Level: <&e><yaml[<player.uuid>].read[races.level]>"
  434.                - narrate "<&6><&l>Xp:   <&e><yaml[<player.uuid>].read[races.xp]>/<el@10000.*[<yaml[<player.uuid>].read[races.level]>]>"
  435.                - narrate "<&8>---------"
  436.                - narrate "<&6><&l>SubRace: <&e><yaml[<player.uuid>].read[races.subrace]>"
  437.                - narrate "<&6><&l>Level:  <&e><yaml[<player.uuid>].read[races.sublevel]>"
  438.                - narrate "<&6><&l>Xp:     <&e><yaml[<player.uuid>].read[races.subxp]>/<el@10000.*[<yaml[<player.uuid>].read[races.sublevel]>]>"
  439.                - narrate "<&8>-------------------"
  440.                - stop
  441.            - case stats:
  442.                - define race:<yaml[<player.uuid>].read[races.race]>
  443.                - define subrace:<yaml[<player.uuid>].read[races.subrace]>
  444.                - define sublevel:<yaml[<player.uuid>].read[races.sublevel]>
  445.                - if <[subrace]> == Default:
  446.                    - narrate "<&c>You have no subrace"
  447.                    - stop
  448.                - narrate " "
  449.                - narrate "<&8>-------------------"
  450.                - narrate "<&a><&l> - Subrace Stats -"
  451.                - narrate "<&8>-------------------"
  452.                - foreach <yaml[race_config].list_keys[<[race]>.subraces.<[subrace]>.buffs]> as:stat:
  453.                    - define val:<yaml[race_config].read[<[race]>.subraces.<[subrace]>.buffs.<[stat]>].*[<[sublevel]>]>
  454.                    - choose <[stat]>:
  455.                        - case Health:
  456.                            - narrate "<&e>Increased <&6>health<&e> - <[val]>"
  457.                        - case Mana:
  458.                            - narrate "<&e>Increased <&6>mana<&e> - <[val]>"
  459.                        - case Armor:
  460.                            - narrate "<&e>Increased <&6>armor<&e> - <[val]>"
  461.                        - case Damage:
  462.                            - narrate "<&e>Increased <&6>damage<&e> - <[val]>%"
  463.                         - case MagicDamage:
  464.                            - narrate "<&e>Increased <&6>magic damage<&e> - <[val]>%"
  465.                         - case SwordDamage:
  466.                            - narrate "<&e>Increased <&6>sword damage<&e> - <[val]>%"
  467.                         - case AxeDamage:
  468.                            - narrate "<&e>Increased <&6>axe damage<&e> - <[val]>%"
  469.                         - case BowDamage:
  470.                            - narrate "<&e>Increased <&6>bow damage<&e> - <[val]>%"
  471.                         - case LongRangeDamage:
  472.                            - narrate "<&e>Increased <&6>long range damage<&e> - <[val]>%"
  473.                         - case Critical:
  474.                            - narrate "<&e>Increased <&6>critical<&e> chance - <[val]>%"
  475.                         - case Poison:
  476.                            - narrate "<&e>Increased <&6>chance to poison<&e> - <[val]>%"
  477.                         - case Bleed:
  478.                            - narrate "<&e>Increased <&6>chance to bleed<&e> - <[val]>%"
  479.                         - case Backstab:
  480.                            - narrate "<&e>Increased <&6>backstab damage<&e> - <[val]>%"
  481.                         - case Speed:
  482.                            - narrate "<&e>Increased <&6>speed<&e> - <[val]>"
  483.                         - case Dodge:
  484.                            - narrate "<&e>Increased <&6>dodge<&e> - <[val]>%"
  485.                         - case Parry:
  486.                            - narrate "<&e>Increased <&6>parry<&e> - <[val]>%"
  487.                         - case Lifesteal
  488.                             - narrate "<&e>Increased <&6>lifesteal<&e> - <[val]>%"
  489.                         - case Luck
  490.                             - narrate "<&e>Increased <&6>luck<&e> - <[val]>"
  491.                         - case Regen:
  492.                            - narrate "<&e>Increased <&6>regen<&e> - <[val]>%"
  493.                         - case HpRegen:
  494.                            - narrate "<&e>Increased <&6>health regen<&e> - <[val]>%"
  495.                         - case ManaRegen:
  496.                            - narrate "<&e>Increased <&6>mana regen<&e> - <[val]>%"
  497.                         - case RegenAura:
  498.                            - narrate "<&e>Increased <&6>regen<&e> of allies - <[val]>%"
  499.                         - case HpRegenAura:
  500.                            - narrate "<&e>Increased <&6>health regen<&e> of allies - <[val]>%"
  501.                         - case ManaRegenAura:
  502.                            - narrate "<&e>Increases <&6>mana regen<&e> of allies - <[val]>%"
  503.                         - case Hover:
  504.                            - narrate "<&e>Can hover"
  505.                         - case UnderwaterBreathing:
  506.                            - narrate "<&e>Can breathe underwater"
  507.                 - narrate "<&8>-------------------"
  508.                 - stop
  509.             - case change:
  510.                 - if <yaml[race_config].list_keys[<yaml[<player.uuid>].read[races.race]>.subraces].contains[<[arg2].to_titlecase>]||false> && <yaml[<player.uuid>].read[races.subrace]> != <[arg2].to_titlecase>:
  511.                    - narrate "<&e>You change to <[arg2].to_titlecase>"
  512.                     - if <yaml[<player.uuid>].read[races.subrace]> != Default:
  513.                        - run instantly function_ClearSubraceBuffs
  514.                     - define race:<yaml[<player.uuid>].read[races.race]>
  515.                    - define subrace:<[arg2].to_titlecase>
  516.                    - define last_subrace:<yaml[<player.uuid>].read[races.subrace]>
  517.                    - define sublevel:<yaml[<player.uuid>].read[races.<[subrace]>_level]||1>
  518.                    - define last_sublevel:<yaml[<player.uuid>].read[races.sublevel]||1>
  519.                    - define subxp:<yaml[<player.uuid>].read[races.<[subrace]>_xp]||0>
  520.                    - define last_subxp:<yaml[<player.uuid>].read[races.subxp]||0>
  521.                    - define subrace_buffs:<yaml[race_config].list_keys[<[race]>.subraces.<[subrace]>.buffs]>
  522.                    #- define last_subrace_buffs:<yaml[race_config].list_keys[<[race]>.subraces.<[last_subrace]>.buffs]||null>
  523.                     - yaml id:<player.uuid> set races.subrace:<[subrace]>
  524.                    - yaml id:<player.uuid> set races.last_subrace:<[last_subrace]>
  525.                    - yaml id:<player.uuid> set races.sublevel:<[sublevel]>
  526.                    - yaml id:<player.uuid> set races.last_sublevel:<[last_sublevel]>
  527.                    - yaml id:<player.uuid> set races.subxp:<[subxp]>
  528.                    - yaml id:<player.uuid> set races.last_subxp:<[last_subxp]>
  529.                    - yaml id:<player.uuid> set races.<[last_subrace]>_level:<[last_sublevel]>
  530.                    - yaml id:<player.uuid> set races.<[last_subrace]>_xp:<[last_subxp]>
  531.                    - run instantly function_UpdateSubraceBuffs
  532.                     - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  533.                     - stop
  534.                 - narrate "<&c>You cannot change subrace to <[arg2].to_titlecase>"
  535.                 - stop
  536.         - narrate "<&c>Invalid subrace command"
  537.  
  538. command_Class:
  539.     type: command
  540.     name: class
  541.     usage: /class
  542.     script:
  543.        - define arg1:<context.args.[1]||null>
  544.        - define arg2:<context.args.[2]||null>
  545.        - define arg3:<context.args.[3]||null>
  546.         - if <yaml[class_config].list_keys[].contains[<[arg1].to_titlecase>]>:
  547.            - narrate " "
  548.             - narrate "<&8>-------------------"
  549.             - narrate "<&a><&l>    - <[arg1].to_titlecase> -"
  550.             - narrate "<&8>-------------------"
  551.             - foreach <yaml[class_config].list_keys[<[arg1].to_titlecase>.buffs]> as:buff:
  552.                - define val:<yaml[class_config].read[<[arg1].to_titlecase>.buffs.<[buff]>]>
  553.                 - choose <[buff]>:
  554.                     - case Health:
  555.                        - narrate "<&e>Increases health by up to <[val].*[40]>"
  556.                     - case Mana:
  557.                        - narrate "<&e>Increases mana by up to <[val].*[40]>"
  558.                     - case Armor:
  559.                        - narrate "<&e>Increases armor by up to <[val].*[40]>"
  560.                     - case Damage:
  561.                        - narrate "<&e>Increases damage by up to <[val].*[40]>%"
  562.                     - case MagicDamage:
  563.                        - narrate "<&e>Increases magic damage by up to <[val].*[40]>%"
  564.                     - case SwordDamage:
  565.                        - narrate "<&e>Increases sword damage by up to <[val].*[40]>%"
  566.                     - case AxeDamage:
  567.                        - narrate "<&e>Increases axe damage by up to <[val].*[40]>%"
  568.                     - case BowDamage:
  569.                        - narrate "<&e>Increases bow damage by up to <[val].*[40]>%"
  570.                     - case LongRangeDamage:
  571.                        - narrate "<&e>Increases long range damage by up to <[val].*[40]>%"
  572.                     - case Critical:
  573.                        - narrate "<&e>Increases critical chance by up to <[val].*[40]>%"
  574.                     - case Poison:
  575.                        - narrate "<&e>Increases chance to poison by up to <[val].*[40]>%"
  576.                     - case Bleed:
  577.                        - narrate "<&e>Increases chance to bleed by up to <[val].*[40]>%"
  578.                     - case Backstab:
  579.                        - narrate "<&e>Increases backstab damage by up to <[val].*[40]>%"
  580.                     - case Speed:
  581.                        - narrate "<&e>Increases speed by up to <[val].*[40]>"
  582.                     - case Dodge:
  583.                        - narrate "<&e>Increases dodge by up to <[val].*[40]>%"
  584.                     - case Parry:
  585.                        - narrate "<&e>Increases parry by up to <[val].*[40]>%"
  586.                     - case Lifesteal
  587.                         - narrate "<&e>Increases lifesteal by up to <[val].*[40]>%"
  588.                     - case Luck
  589.                         - narrate "<&e>Increases luck by up to <[val].*[40]>"
  590.                     - case Regen:
  591.                        - narrate "<&e>Increases regen by up to <[val].*[40]>%"
  592.                     - case HpRegen:
  593.                        - narrate "<&e>Increases health regen by up to <[val].*[40]>%"
  594.                     - case ManaRegen:
  595.                        - narrate "<&e>Increases mana regen by up to <[val].*[40]>%"
  596.                     - case RegenAura:
  597.                        - narrate "<&e>Increases regen of allies by up to <[val].*[40]>%"
  598.                     - case HpRegenAura:
  599.                        - narrate "<&e>Increases health regen of allies by up to <[val].*[40]>%"
  600.                     - case ManaRegenAura:
  601.                        - narrate "<&e>Increases mana regen of allies by up to <[val].*[40]>%"
  602.                     - case Hover:
  603.                        - narrate "<&e>Allows you to hover"
  604.                     - case UnderwaterBreathing:
  605.                        - narrate "<&e>Allows you to breathe underwater"
  606.             - narrate "<&8>----<&a>Sub-Classes<&8>----"
  607.             - foreach <yaml[class_config].list_keys[<[arg1].to_titlecase>.subclasses]> as:subclass:
  608.                - narrate "<&6><[subclass]>"
  609.             - narrate "<&8>-------------------"
  610.             - narrate "<&e>Type /subclass (name) to view more info on a subclass"
  611.             - stop
  612.         - else:
  613.             - foreach <yaml[class_config].list_keys[]> as:class:
  614.                 - if <yaml[class_config].list_keys[<[class]>.subclasses].contains[<[arg1].to_titlecase>]>:
  615.                    - narrate " "
  616.                     - narrate "<&8>-------------------"
  617.                     - narrate "<&a><&l>    - <[arg1].to_titlecase> -"
  618.                     - narrate "<&8>-------------------"
  619.                     - foreach <yaml[class_config].list_keys[<[class]>.subclasses.<[arg1].to_titlecase>.buffs]> as:buff:
  620.                        - define val:<yaml[class_config].read[<[class]>.subclasses.<[arg1].to_titlecase>.buffs.<[buff]>]>
  621.                         - choose <[buff]>:
  622.                             - case Health:
  623.                                - narrate "<&e>Increases health by up to <[val].*[40]>"
  624.                             - case Mana:
  625.                                - narrate "<&e>Increases mana by up to <[val].*[40]>"
  626.                             - case Armor:
  627.                                - narrate "<&e>Increases armor by up to <[val].*[40]>"
  628.                             - case Damage:
  629.                                - narrate "<&e>Increases damage by up to <[val].*[40]>%"
  630.                             - case MagicDamage:
  631.                                - narrate "<&e>Increases magic damage by up to <[val].*[40]>%"
  632.                             - case SwordDamage:
  633.                                - narrate "<&e>Increases sword damage by up to <[val].*[40]>%"
  634.                             - case AxeDamage:
  635.                                - narrate "<&e>Increases axe damage by up to <[val].*[40]>%"
  636.                             - case BowDamage:
  637.                                - narrate "<&e>Increases bow damage by up to <[val].*[40]>%"
  638.                             - case LongRangeDamage:
  639.                                - narrate "<&e>Increases long range damage by up to <[val].*[40]>%"
  640.                             - case Critical:
  641.                                - narrate "<&e>Increases critical chance by up to <[val].*[40]>%"
  642.                             - case Poison:
  643.                                - narrate "<&e>Increases chance to poison by up to <[val].*[40]>%"
  644.                             - case Bleed:
  645.                                - narrate "<&e>Increases chance to bleed by up to <[val].*[40]>%"
  646.                             - case Backstab:
  647.                                - narrate "<&e>Increases backstab damage by up to <[val].*[40]>%"
  648.                             - case Speed:
  649.                                - narrate "<&e>Increases speed by up to <[val].*[40]>"
  650.                             - case Dodge:
  651.                                - narrate "<&e>Increases dodge by up to <[val].*[40]>%"
  652.                             - case Parry:
  653.                                - narrate "<&e>Increases parry by up to <[val].*[40]>%"
  654.                             - case Lifesteal
  655.                                 - narrate "<&e>Increases lifesteal by up to <[val].*[40]>%"
  656.                             - case Luck
  657.                                 - narrate "<&e>Increases luck by up to <[val].*[40]>"
  658.                             - case Regen:
  659.                                - narrate "<&e>Increases regen by up to <[val].*[40]>%"
  660.                             - case HpRegen:
  661.                                - narrate "<&e>Increases health regen by up to <[val].*[40]>%"
  662.                             - case ManaRegen:
  663.                                - narrate "<&e>Increases mana regen by up to <[val].*[40]>%"
  664.                             - case RegenAura:
  665.                                - narrate "<&e>Increases regen of allies by up to <[val].*[40]>%"
  666.                             - case HpRegenAura:
  667.                                - narrate "<&e>Increases health regen of allies by up to <[val].*[40]>%"
  668.                             - case ManaRegenAura:
  669.                                - narrate "<&e>Increases mana regen of allies by up to <[val].*[40]>%"
  670.                             - case Hover:
  671.                                - narrate "<&e>Allows you to hover"
  672.                             - case UnderwaterBreathing:
  673.                                - narrate "<&e>Allows you to breathe underwater"
  674.                     #- narrate "<&8>------<&a>Abilities<&8>-------"
  675.                     #- foreach <yaml[class_config].list_keys[<[class]>.subclasses.<[arg1].to_titlecase>.abilities]||<yaml[class_config].read[<[class]>.subclasses.<[arg1].to_titlecase>.abilities]>> as:ability:
  676.                     #    - narrate "<&6><[ability]>"
  677.                     #- narrate "<&8>-------------------"
  678.                     #- narrate "<&e>Use /ability (name) for more info"
  679.                     - stop
  680.         - choose <[arg1]>:
  681.             - case null:
  682.                - narrate " "
  683.                 - narrate "<&8>-------------------"
  684.                 - narrate "<&a><&l>- Class Commands -"
  685.                 - narrate "<&8>-------------------"
  686.                 - narrate "<&e>/class<&8>- <&7>Class commands"
  687.                 - narrate "<&e>/class help<&8>- <&7>Explains classes"
  688.                 - narrate "<&e>/class list <&8>- <&7>Displays a list of classes"
  689.                 - narrate "<&e>/class (name) <&8>- <&7>Gives info on a class"
  690.                 - narrate "<&e>/class change (name) <&8>- <&7>Changes class"
  691.                 - narrate "<&e>/class info <&8>- <&7>Displays info on your current classes"
  692.                 - narrate "<&e>/class stats <&8>- <&7>Displays class stats"
  693.                 - narrate "<&e>/subclass <&8>- <&7>Subclass commands"
  694.                 - narrate "<&8>-------------------"
  695.                 - stop
  696.             - case help:
  697.                - narrate " "
  698.                 - narrate "<&e>- Classes give you stats that increase as you level"
  699.                 - narrate "<&e>- Gain experience from mob kills"
  700.                 - stop
  701.             - case list:
  702.                - narrate " "
  703.                 - narrate "<&8>-------------------"
  704.                 - narrate "<&a><&l>   - Classes -"
  705.                 - narrate "<&8>-------------------"
  706.                 - foreach <yaml[class_config].list_keys[]> as:class_name:
  707.                    - narrate "<&6><&l><[class_name]>"
  708.                 - narrate "<&8>-------------------"
  709.                 - narrate "<&e>Type /class (name) to view more info on a class"
  710.                 - stop
  711.             - case info:
  712.                - narrate " "
  713.                 - narrate "<&8>-------------------"
  714.                 - narrate "<&a><&l>  - Class Info -"
  715.                 - narrate "<&8>-------------------"
  716.                 - narrate "<&6><&l>Class:   <&e><yaml[<player.uuid>].read[classes.class]>"
  717.                - narrate "<&6><&l>Level:   <&e><yaml[<player.uuid>].read[classes.level]>"
  718.                - narrate "<&6><&l>Xp:      <&e><yaml[<player.uuid>].read[classes.xp]>/<el@10000.*[<yaml[<player.uuid>].read[classes.level]>]>"
  719.                - narrate "<&8>---------"
  720.                - narrate "<&6><&l>Subclass: <&e><yaml[<player.uuid>].read[classes.subclass]>"
  721.                - narrate "<&6><&l>Level:    <&e><yaml[<player.uuid>].read[classes.sublevel]>"
  722.                - narrate "<&6><&l>Xp:       <&e><yaml[<player.uuid>].read[classes.subxp]>/<el@10000.*[<yaml[<player.uuid>].read[classes.sublevel]>]>"
  723.                - narrate "<&8>-------------------"
  724.                - stop
  725.            - case stats:
  726.                - define class:<yaml[<player.uuid>].read[classes.class]>
  727.                - define level:<yaml[<player.uuid>].read[classes.level]>
  728.                - if <[class]> == Default:
  729.                    - narrate "<&c>You have no class"
  730.                    - stop
  731.                - narrate " "
  732.                - narrate "<&8>-------------------"
  733.                - narrate "<&a><&l>  - Class Stats -"
  734.                - narrate "<&8>-------------------"
  735.                - foreach <yaml[class_config].list_keys[<[class]>.buffs]||null> as:stat:
  736.                    - define val:<yaml[class_config].read[<[class]>.buffs.<[stat]>].*[<[level]>]>
  737.                    - choose <[stat]>:
  738.                        - case Health:
  739.                            - narrate "<&e>Increased <&6>health<&e> - <[val]>"
  740.                        - case Mana:
  741.                            - narrate "<&e>Increased <&6>mana<&e> - <[val]>"
  742.                        - case Armor:
  743.                            - narrate "<&e>Increased <&6>armor<&e> - <[val]>"
  744.                        - case Damage:
  745.                            - narrate "<&e>Increased <&6>damage<&e> - <[val]>%"
  746.                         - case MagicDamage:
  747.                            - narrate "<&e>Increased <&6>magic damage<&e> - <[val]>%"
  748.                         - case SwordDamage:
  749.                            - narrate "<&e>Increased <&6>sword damage<&e> - <[val]>%"
  750.                         - case AxeDamage:
  751.                            - narrate "<&e>Increased <&6>axe damage<&e> - <[val]>%"
  752.                         - case BowDamage:
  753.                            - narrate "<&e>Increased <&6>bow damage<&e> - <[val]>%"
  754.                         - case LongRangeDamage:
  755.                            - narrate "<&e>Increased <&6>long range damage<&e> - <[val]>%"
  756.                         - case Critical:
  757.                            - narrate "<&e>Increased <&6>critical<&e> chance - <[val]>%"
  758.                         - case Poison:
  759.                            - narrate "<&e>Increased <&6>chance to poison<&e> - <[val]>%"
  760.                         - case Bleed:
  761.                            - narrate "<&e>Increased <&6>chance to bleed<&e> - <[val]>%"
  762.                         - case Backstab:
  763.                            - narrate "<&e>Increased <&6>backstab damage<&e> - <[val]>%"
  764.                         - case Speed:
  765.                            - narrate "<&e>Increased <&6>speed<&e> - <[val]>"
  766.                         - case Dodge:
  767.                            - narrate "<&e>Increased <&6>dodge<&e> - <[val]>%"
  768.                         - case Parry:
  769.                            - narrate "<&e>Increased <&6>parry<&e> - <[val]>%"
  770.                         - case Lifesteal
  771.                             - narrate "<&e>Increased <&6>lifesteal<&e> - <[val]>%"
  772.                         - case Luck
  773.                             - narrate "<&e>Increased <&6>luck<&e> - <[val]>"
  774.                         - case Regen:
  775.                            - narrate "<&e>Increased <&6>regen<&e> - <[val]>%"
  776.                         - case HpRegen:
  777.                            - narrate "<&e>Increased <&6>health regen<&e> - <[val]>%"
  778.                         - case ManaRegen:
  779.                            - narrate "<&e>Increased <&6>mana regen<&e> - <[val]>%"
  780.                         - case RegenAura:
  781.                            - narrate "<&e>Increased <&6>regen<&e> of allies - <[val]>%"
  782.                         - case HpRegenAura:
  783.                            - narrate "<&e>Increased <&6>health regen<&e> of allies - <[val]>%"
  784.                         - case ManaRegenAura:
  785.                            - narrate "<&e>Increases <&6>mana regen<&e> of allies - <[val]>%"
  786.                         - case Hover:
  787.                            - narrate "<&e>Can hover"
  788.                         - case UnderwaterBreathing:
  789.                            - narrate "<&e>Can breathe underwater"
  790.                 - narrate "<&8>-------------------"
  791.                 - stop
  792.             - case change:
  793.                 - if <yaml[class_config].list_keys[].contains[<[arg2].to_titlecase>]> && <yaml[<player.uuid>].read[classes.class]> != <[arg2].to_titlecase>:
  794.                    - narrate "<&e>You change to <[arg2].to_titlecase>"
  795.                     - if <yaml[<player.uuid>].read[classes.subclass]> != Default:
  796.                        - run instantly function_ClearSubclassBuffs
  797.                         - define subclass:Default
  798.                         - define last_subclass:<yaml[<player.uuid>].read[classes.subclass]>
  799.                        - define sublevel:1
  800.                         - define last_sublevel:<yaml[<player.uuid>].read[classes.sublevel]||1>
  801.                        - define subxp:<yaml[<player.uuid>].read[classes.<[subclass]>_xp]||0>
  802.                        - define last_subxp:<yaml[<player.uuid>].read[classes.<[last_subclass]>_xp]||0>
  803.                        - yaml id:<player.uuid> set classes.subclass:<[subclass]>
  804.                        - yaml id:<player.uuid> set classes.last_subclass:<[last_subclass]>
  805.                        - yaml id:<player.uuid> set classes.sublevel:<[sublevel]>
  806.                        - yaml id:<player.uuid> set classes.last_sublevel:<[last_sublevel]>
  807.                        - yaml id:<player.uuid> set classes.subxp:<[subxp]>
  808.                        - yaml id:<player.uuid> set classes.last_subxp:<[last_subxp]>
  809.                        - yaml id:<player.uuid> set classes.<[last_subclass]>_level:<[last_sublevel]>
  810.                        - yaml id:<player.uuid> set classes.<[last_subclass]>_xp:<[last_subxp]>
  811.                     - if <yaml[<player.uuid>].read[classes.class]> != default
  812.                         - run instantly function_ClearClassBuffs
  813.                     - define class:<[arg2].to_titlecase>
  814.                    - define last_class:<yaml[<player.uuid>].read[classes.class]>
  815.                    - define level:<yaml[<player.uuid>].read[classes.<[class]>_level]||1>
  816.                    - define last_level:<yaml[<player.uuid>].read[classes.level]||1>
  817.                    - define xp:<yaml[<player.uuid>].read[classes.<[class]>_xp]||0>
  818.                    - define last_xp:<yaml[<player.uuid>].read[classes.<[last_class]>_xp]||0>
  819.                    - define class_buffs:<yaml[class_config].list_keys[<[class]>.buffs]>
  820.                    - yaml id:<player.uuid> set classes.class:<[class]>
  821.                    - yaml id:<player.uuid> set classes.last_class:<[last_class]>
  822.                    - yaml id:<player.uuid> set classes.level:<[level]>
  823.                    - yaml id:<player.uuid> set classes.last_level:<[last_level]>
  824.                    - yaml id:<player.uuid> set classes.xp:<[xp]>
  825.                    - yaml id:<player.uuid> set classes.last_xp:<[last_xp]>
  826.                    - yaml id:<player.uuid> set classes.<[last_class]>_level:<[last_level]>
  827.                    - yaml id:<player.uuid> set classes.<[last_class]>_xp:<[last_xp]>
  828.                    - run instantly function_updateclassbuffs
  829.                     - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  830.                     - stop
  831.  
  832.                 - else if <yaml[class_config].list_keys[<yaml[<player.uuid>].read[classes.class]>.subclasses].contains[<[arg2].to_titlecase>]||false> && <yaml[<player.uuid>].read[classes.subclass]> != <[arg2].to_titlecase>:
  833.                    - narrate "<&e>You change to <[arg2].to_titlecase>"
  834.                     - if <yaml[<player.uuid>].read[classes.subclass]> != Default:
  835.                        - run instantly function_ClearSubclassBuffs
  836.                         - yaml id:<player.uuid> set classes.abilities:!
  837.                     - define class:<yaml[<player.uuid>].read[classes.class]>
  838.                    - define subclass:<[arg2].to_titlecase>
  839.                    - define last_subclass:<yaml[<player.uuid>].read[classes.subclass]>
  840.                    - define sublevel:<yaml[<player.uuid>].read[classes.<[subclass]>_level]||1>
  841.                    - define last_sublevel:<yaml[<player.uuid>].read[classes.sublevel]||1>
  842.                    - define subxp:<yaml[<player.uuid>].read[classes.<[subclass]>_xp]||0>
  843.                    - define last_subxp:<yaml[<player.uuid>].read[classes.<[last_subclass]>_xp]||0>
  844.                    - define subclass_buffs:<yaml[class_config].list_keys[<[class]>.subclasses.<[subclass]>.buffs]>
  845.                    - flag player ability:0
  846.                     - yaml id:<player.uuid> set classes.subclass:<[subclass]>
  847.                    - yaml id:<player.uuid> set classes.last_subclass:<[last_subclass]>
  848.                    - yaml id:<player.uuid> set classes.sublevel:<[sublevel]>
  849.                    - yaml id:<player.uuid> set classes.last_sublevel:<[last_sublevel]>
  850.                    - yaml id:<player.uuid> set classes.subxp:<[subxp]>
  851.                    - yaml id:<player.uuid> set classes.last_subxp:<[last_subxp]>
  852.                    - yaml id:<player.uuid> set classes.<[last_subclass]>_level:<[last_sublevel]>
  853.                    - yaml id:<player.uuid> set classes.<[last_subclass]>_xp:<[last_subxp]>
  854.                    #- yaml id:<player.uuid> set classes.abilities:<yaml[class_config].read[<[class]>.subclasses.<[subclass]>.abilities]>
  855.                     - run instantly function_UpdateSubclassBuffs
  856.                     - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  857.                     - stop
  858.                 - narrate "<&c>You cannot change class to <[arg2].to_titlecase>"
  859.         - narrate "<&c>Invalid class command"
  860.  
  861. command_Subclass:
  862.     type: command
  863.     name: subclass
  864.     usage: /subclass
  865.     script:
  866.        - define arg1:<context.args.[1]||null>
  867.        - define arg2:<context.args.[2]||null>
  868.         - foreach <yaml[class_config].list_keys[]> as:class:
  869.             - if <yaml[class_config].list_keys[<[class]>.subclasses].contains[<[arg1].to_titlecase>]||false>:
  870.                - narrate " "
  871.                 - narrate "<&8>-------------------"
  872.                 - narrate "<&a><&l>    - <[arg1].to_titlecase> -"
  873.                 - narrate "<&8>-------------------"
  874.                 - foreach <yaml[class_config].list_keys[<[class]>.subclasses.<[arg1].to_titlecase>.buffs]> as:buff:
  875.                    - define val:<yaml[class_config].read[<[class]>.subclasses.<[arg1].to_titlecase>.buffs.<[buff]>]>
  876.                     - choose <[buff]>:
  877.                         - case Health:
  878.                            - narrate "<&e>Increases health by up to <[val].*[40]>"
  879.                         - case Mana:
  880.                            - narrate "<&e>Increases mana by up to <[val].*[40]>"
  881.                         - case Armor:
  882.                            - narrate "<&e>Increases armor by up to <[val].*[40]>"
  883.                         - case Damage:
  884.                            - narrate "<&e>Increases damage by up to <[val].*[40]>%"
  885.                         - case MagicDamage:
  886.                            - narrate "<&e>Increases magic damage by up to <[val].*[40]>%"
  887.                         - case SwordDamage:
  888.                            - narrate "<&e>Increases sword damage by up to <[val].*[40]>%"
  889.                         - case AxeDamage:
  890.                            - narrate "<&e>Increases axe damage by up to <[val].*[40]>%"
  891.                         - case BowDamage:
  892.                            - narrate "<&e>Increases bow damage by up to <[val].*[40]>%"
  893.                         - case LongRangeDamage:
  894.                            - narrate "<&e>Increases long range damage by up to <[val].*[40]>%"
  895.                         - case Critical:
  896.                            - narrate "<&e>Increases critical chance by up to <[val].*[40]>%"
  897.                         - case Poison:
  898.                            - narrate "<&e>Increases chance to poison by up to <[val].*[40]>%"
  899.                         - case Bleed:
  900.                            - narrate "<&e>Increases chance to bleed by up to <[val].*[40]>%"
  901.                         - case Backstab:
  902.                            - narrate "<&e>Increases backstab damage by up to <[val].*[40]>%"
  903.                         - case Speed:
  904.                            - narrate "<&e>Increases speed by up to <[val].*[40]>"
  905.                         - case Dodge:
  906.                            - narrate "<&e>Increases dodge by up to <[val].*[40]>%"
  907.                         - case Parry:
  908.                            - narrate "<&e>Increases parry by up to <[val].*[40]>%"
  909.                         - case Lifesteal
  910.                             - narrate "<&e>Increases lifesteal by up to <[val].*[40]>%"
  911.                         - case Luck
  912.                             - narrate "<&e>Increases luck by up to <[val].*[40]>"
  913.                         - case Regen:
  914.                            - narrate "<&e>Increases regen by up to <[val].*[40]>%"
  915.                         - case HpRegen:
  916.                            - narrate "<&e>Increases health regen by up to <[val].*[40]>%"
  917.                         - case ManaRegen:
  918.                            - narrate "<&e>Increases mana regen by up to <[val].*[40]>%"
  919.                         - case RegenAura:
  920.                            - narrate "<&e>Increases regen of allies by up to <[val].*[40]>%"
  921.                         - case HpRegenAura:
  922.                            - narrate "<&e>Increases health regen of allies by up to <[val].*[40]>%"
  923.                         - case ManaRegenAura:
  924.                            - narrate "<&e>Increases mana regen of allies by up to <[val].*[40]>%"
  925.                         - case Hover:
  926.                            - narrate "<&e>Allows you to hover"
  927.                         - case UnderwaterBreathing:
  928.                            - narrate "<&e>Allows you to breathe underwater"
  929.                 #- narrate "<&8>------<&a>Abilities<&8>-------"
  930.                 #- foreach <yaml[class_config].list_keys[<[class]>.subclasses.<[arg1].to_titlecase>.abilities]||<yaml[class_config].read[<[class]>.subclasses.<[arg1].to_titlecase>.abilities]>> as:ability:
  931.                 #    - narrate "<&6><[ability]>"
  932.                 #    - narrate "<&8>-------------------"
  933.                 #    - narrate "<&e>Use /ability (name) for more info"
  934.                 - stop
  935.         - choose <[arg1]>:
  936.             - case null:
  937.                - narrate " "
  938.                 - narrate "<&8>-------------------"
  939.                 - narrate "<&a><&l>- Subclass Commands -"
  940.                 - narrate "<&8>-------------------"
  941.                 - narrate "<&e>/subclass<&8>- <&7>Subclass commands"
  942.                 - narrate "<&e>/subclass help<&8>- <&7>Explains subclasses"
  943.                 - narrate "<&e>/subclass list <&8>- <&7>Displays a list of subclasses"
  944.                 - narrate "<&e>/subclass (name) <&8>- <&7>Gives info on a subclass"
  945.                 - narrate "<&e>/subclass change (name) <&8>- <&7>Changes subclass"
  946.                 - narrate "<&e>/subclass info <&8>- <&7>Gives info on your current subclass"
  947.                 - narrate "<&e>/subclass stats <&8>- <&7>Displays subclass stats"
  948.                 - narrate "<&e>/stats <&8>- <&7>Displays all stats"
  949.                 - narrate "<&8>-------------------"
  950.                 - stop
  951.             - case help:
  952.                - narrate " "
  953.                 - narrate "<&e>- Subclasses give you stats that increase as you level"
  954.                 - narrate "<&e>- Gain experience from mob kills"
  955.                 - stop
  956.             - case list:
  957.                - narrate " "
  958.                 - narrate "<&8>-------------------"
  959.                 - narrate "<&a><&l>  - Subclasses -"
  960.                 - narrate "<&8>-------------------"
  961.                 - foreach <yaml[class_config].list_keys[]> as:class:
  962.                    - narrate "<&a><&l><[class]>"
  963.                     - foreach <yaml[class_config].list_keys[<[class]>.subclasses]> as:subclass:
  964.                        - narrate "  <&6><[subclass]>"
  965.                 - narrate "<&8>-------------------"
  966.                 - narrate "<&e>Type /class (name) to view more info on a class"
  967.                 - narrate "<&e>Type /subclass (name) to view more info on a subclass"
  968.                 - stop
  969.             - case info:
  970.                - narrate " "
  971.                 - narrate "<&8>-------------------"
  972.                 - narrate "<&a><&l>  - Class Info -"
  973.                 - narrate "<&8>-------------------"
  974.                 - narrate "<&6><&l>class: <&e><yaml[<player.uuid>].read[classes.class]>"
  975.                - narrate "<&6><&l>Level: <&e><yaml[<player.uuid>].read[classes.level]>"
  976.                - narrate "<&6><&l>Xp:   <&e><yaml[<player.uuid>].read[classes.xp]>/<el@10000.*[<yaml[<player.uuid>].read[classes.level]>]>"
  977.                - narrate "<&8>---------"
  978.                - narrate "<&6><&l>Subclass: <&e><yaml[<player.uuid>].read[classes.subclass]>"
  979.                - narrate "<&6><&l>Level:  <&e><yaml[<player.uuid>].read[classes.sublevel]>"
  980.                - narrate "<&6><&l>Xp:     <&e><yaml[<player.uuid>].read[classes.subxp]>/<el@10000.*[<yaml[<player.uuid>].read[classes.sublevel]>]>"
  981.                - narrate "<&8>-------------------"
  982.                - stop
  983.            - case stats:
  984.                - define class:<yaml[<player.uuid>].read[classes.class]>
  985.                - define subclass:<yaml[<player.uuid>].read[classes.subclass]>
  986.                - define sublevel:<yaml[<player.uuid>].read[classes.sublevel]>
  987.                - if <[subclass]> == Default:
  988.                    - narrate "<&c>You have no subclass"
  989.                    - stop
  990.                - narrate " "
  991.                - narrate "<&8>-------------------"
  992.                - narrate "<&a><&l> - Subclass Stats -"
  993.                - narrate "<&8>-------------------"
  994.                - foreach <yaml[class_config].list_keys[<[class]>.subclasses.<[subclass]>.buffs]> as:stat:
  995.                    - define val:<yaml[class_config].read[<[class]>.subclasses.<[subclass]>.buffs.<[stat]>].*[<[sublevel]>]>
  996.                    - choose <[stat]>:
  997.                        - case Health:
  998.                            - narrate "<&e>Increased <&6>health<&e> - <[val]>"
  999.                        - case Mana:
  1000.                            - narrate "<&e>Increased <&6>mana<&e> - <[val]>"
  1001.                        - case Armor:
  1002.                            - narrate "<&e>Increased <&6>armor<&e> - <[val]>"
  1003.                        - case Damage:
  1004.                            - narrate "<&e>Increased <&6>damage<&e> - <[val]>%"
  1005.                         - case MagicDamage:
  1006.                            - narrate "<&e>Increased <&6>magic damage<&e> - <[val]>%"
  1007.                         - case SwordDamage:
  1008.                            - narrate "<&e>Increased <&6>sword damage<&e> - <[val]>%"
  1009.                         - case AxeDamage:
  1010.                            - narrate "<&e>Increased <&6>axe damage<&e> - <[val]>%"
  1011.                         - case BowDamage:
  1012.                            - narrate "<&e>Increased <&6>bow damage<&e> - <[val]>%"
  1013.                         - case LongRangeDamage:
  1014.                            - narrate "<&e>Increased <&6>long range damage<&e> - <[val]>%"
  1015.                         - case Critical:
  1016.                            - narrate "<&e>Increased <&6>critical<&e> chance - <[val]>%"
  1017.                         - case Poison:
  1018.                            - narrate "<&e>Increased <&6>chance to poison<&e> - <[val]>%"
  1019.                         - case Bleed:
  1020.                            - narrate "<&e>Increased <&6>chance to bleed<&e> - <[val]>%"
  1021.                         - case Backstab:
  1022.                            - narrate "<&e>Increased <&6>backstab damage<&e> - <[val]>%"
  1023.                         - case Speed:
  1024.                            - narrate "<&e>Increased <&6>speed<&e> - <[val]>"
  1025.                         - case Dodge:
  1026.                            - narrate "<&e>Increased <&6>dodge<&e> - <[val]>%"
  1027.                         - case Parry:
  1028.                            - narrate "<&e>Increased <&6>parry<&e> - <[val]>%"
  1029.                         - case Lifesteal
  1030.                             - narrate "<&e>Increased <&6>lifesteal<&e> - <[val]>%"
  1031.                         - case Luck
  1032.                             - narrate "<&e>Increased <&6>luck<&e> - <[val]>"
  1033.                         - case Regen:
  1034.                            - narrate "<&e>Increased <&6>regen<&e> - <[val]>%"
  1035.                         - case HpRegen:
  1036.                            - narrate "<&e>Increased <&6>health regen<&e> - <[val]>%"
  1037.                         - case ManaRegen:
  1038.                            - narrate "<&e>Increased <&6>mana regen<&e> - <[val]>%"
  1039.                         - case RegenAura:
  1040.                            - narrate "<&e>Increased <&6>regen<&e> of allies - <[val]>%"
  1041.                         - case HpRegenAura:
  1042.                            - narrate "<&e>Increased <&6>health regen<&e> of allies - <[val]>%"
  1043.                         - case ManaRegenAura:
  1044.                            - narrate "<&e>Increases <&6>mana regen<&e> of allies - <[val]>%"
  1045.                         - case Hover:
  1046.                            - narrate "<&e>Can hover"
  1047.                         - case UnderwaterBreathing:
  1048.                            - narrate "<&e>Can breathe underwater"
  1049.                 - narrate "<&8>-------------------"
  1050.                 - stop
  1051.             - case change:
  1052.                 - if <yaml[class_config].list_keys[<yaml[<player.uuid>].read[classes.class]>.subclasses].contains[<[arg2].to_titlecase>]||false> && <yaml[<player.uuid>].read[classes.subclass]> != <[arg2].to_titlecase>:
  1053.                    - narrate "<&e>You change to <[arg2].to_titlecase>"
  1054.                     - if <yaml[<player.uuid>].read[classes.subclass]> != Default:
  1055.                        - run instantly function_ClearSubclassBuffs
  1056.                     - define class:<yaml[<player.uuid>].read[classes.class]>
  1057.                    - define subclass:<[arg2].to_titlecase>
  1058.                    - define last_subclass:<yaml[<player.uuid>].read[classes.subclass]>
  1059.                    - define sublevel:<yaml[<player.uuid>].read[classes.<[subclass]>_level]||1>
  1060.                    - define last_sublevel:<yaml[<player.uuid>].read[classes.sublevel]||1>
  1061.                    - define subxp:<yaml[<player.uuid>].read[classes.<[subclass]>_xp]||0>
  1062.                    - define last_subxp:<yaml[<player.uuid>].read[classes.<[last_subclass]>_xp]||0>
  1063.                    - define subclass_buffs:<yaml[class_config].list_keys[<[class]>.subclasses.<[subclass]>.buffs]>
  1064.                    - flag player ability:0
  1065.                     - yaml id:<player.uuid> set classes.subclass:<[subclass]>
  1066.                    - yaml id:<player.uuid> set classes.last_subclass:<[last_subclass]>
  1067.                    - yaml id:<player.uuid> set classes.sublevel:<[sublevel]>
  1068.                    - yaml id:<player.uuid> set classes.last_sublevel:<[last_sublevel]>
  1069.                    - yaml id:<player.uuid> set classes.subxp:<[subxp]>
  1070.                    - yaml id:<player.uuid> set classes.last_subxp:<[last_subxp]>
  1071.                    - yaml id:<player.uuid> set classes.<[last_subclass]>_level:<[last_sublevel]>
  1072.                    - yaml id:<player.uuid> set classes.<[last_subclass]>_xp:<[last_subxp]>
  1073.                    #- yaml id:<player.uuid> set classes.abilities:<yaml[class_config].read[<[class]>.subclasses.<[subclass]>.abilities]>
  1074.                     - run instantly function_UpdateSubclassBuffs
  1075.                     - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  1076.                     - stop
  1077.                 - narrate "<&c>You cannot change subclass to <[arg2].to_titlecase>"
  1078.                 - stop
  1079.         - narrate "<&c>Invalid subclass command"
  1080.  
  1081. command_Stats:
  1082.     type: command
  1083.     name: stats
  1084.     usage: /stats (name/help)
  1085.     script:
  1086.        - define stats:<yaml[<player.uuid>].list_keys[buffs]||null>
  1087.         - choose <context.args.[1]||null>:
  1088.             - case help:
  1089.                - narrate " "
  1090.                 - narrate "<&8>-------------------"
  1091.                 - narrate "<&a><&l>  - Stats Help -"
  1092.                 - narrate "<&8>-------------------"
  1093.                 - narrate "<&e>- Stats increase attributes of your character or give you unique abilities"
  1094.                 - narrate "<&e>/stats help<&8>- <&7>Explains stats"
  1095.                 - narrate "<&e>/stats<&8> - <&7>Displays info on your current stats"
  1096.                 - narrate "<&e>/stats (name) <&8>- <&7>Displays info on a stat"
  1097.                 - stop
  1098.  
  1099.             - case null:
  1100.                 - if <[stats]> == null:
  1101.                    - narrate "<&c>You have no stats"
  1102.                     - stop
  1103.  
  1104.                 - narrate " "
  1105.                 - narrate "<&8>-------------------"
  1106.                 - narrate "<&a><&l>  - Stats -"
  1107.                 - narrate "<&8>-------------------"
  1108.                 - foreach <[stats]> as:stat:
  1109.                    - define val:<yaml[<player.uuid>].read[buffs.<[stat]>]>
  1110.                     - choose <[stat]>:
  1111.                         - case Health:
  1112.                            - narrate "<&e>Increased <&6>health<&e> - <[val]>"
  1113.                         - case Mana:
  1114.                            - narrate "<&e>Increased <&6>mana<&e> - <[val]>"
  1115.                         - case Armor:
  1116.                            - narrate "<&e>Increased <&6>armor<&e> - <[val]>"
  1117.                         - case Damage:
  1118.                            - narrate "<&e>Increased <&6>damage<&e> - <[val]>%"
  1119.                         - case MagicDamage:
  1120.                            - narrate "<&e>Increased <&6>magic damage<&e> - <[val]>%"
  1121.                         - case SwordDamage:
  1122.                            - narrate "<&e>Increased <&6>sword damage<&e> - <[val]>%"
  1123.                         - case AxeDamage:
  1124.                            - narrate "<&e>Increased <&6>axe damage<&e> - <[val]>%"
  1125.                         - case BowDamage:
  1126.                            - narrate "<&e>Increased <&6>bow damage<&e> - <[val]>%"
  1127.                         - case LongRangeDamage:
  1128.                            - narrate "<&e>Increased <&6>long range damage<&e> - <[val]>%"
  1129.                         - case Critical:
  1130.                            - narrate "<&e>Increased <&6>critical<&e> chance - <[val]>%"
  1131.                         - case Poison:
  1132.                            - narrate "<&e>Increased <&6>chance to poison<&e> - <[val]>%"
  1133.                         - case Bleed:
  1134.                            - narrate "<&e>Increased <&6>chance to bleed<&e> - <[val]>%"
  1135.                         - case Backstab:
  1136.                            - narrate "<&e>Increased <&6>backstab damage<&e> - <[val]>%"
  1137.                         - case Speed:
  1138.                            - narrate "<&e>Increased <&6>speed<&e> - <[val]>"
  1139.                         - case Dodge:
  1140.                            - narrate "<&e>Increased <&6>dodge<&e> - <[val]>%"
  1141.                         - case Parry:
  1142.                            - narrate "<&e>Increased <&6>parry<&e> - <[val]>%"
  1143.                         - case Lifesteal
  1144.                             - narrate "<&e>Increased <&6>lifesteal<&e> - <[val]>%"
  1145.                         - case Luck
  1146.                             - narrate "<&e>Increased <&6>luck<&e> - <[val]>"
  1147.                         - case Regen:
  1148.                            - narrate "<&e>Increased <&6>regen<&e> - <[val]>%"
  1149.                         - case HpRegen:
  1150.                            - narrate "<&e>Increased <&6>health regen<&e> - <[val]>%"
  1151.                         - case ManaRegen:
  1152.                            - narrate "<&e>Increased <&6>mana regen<&e> - <[val]>%"
  1153.                         - case RegenAura:
  1154.                            - narrate "<&e>Increased <&6>regen<&e> of allies - <[val]>%"
  1155.                         - case HpRegenAura:
  1156.                            - narrate "<&e>Increased <&6>health regen<&e> of allies - <[val]>%"
  1157.                         - case ManaRegenAura:
  1158.                            - narrate "<&e>Increases <&6>mana regen<&e> of allies - <[val]>%"
  1159.                         - case Hover:
  1160.                            - narrate "<&e>Can hover by sneaking"
  1161.                         - case UnderwaterBreathing:
  1162.                            - narrate "<&e>Can breathe underwater"
  1163.                 - stop
  1164.  
  1165.         - choose <context.args.[1]>:
  1166.             - case Health:
  1167.                - narrate "<&e>Increases health"
  1168.             - case Mana:
  1169.                - narrate "<&e>Increases mana"
  1170.             - case Armor:
  1171.                - narrate "<&e>Increases armor"
  1172.             - case Damage:
  1173.                - narrate "<&e>Increases damage by a percentage"
  1174.             - case MagicDamage:
  1175.                - narrate "Increases magic damage by a percentage"
  1176.             - case SwordDamage:
  1177.                - narrate "<&e>Increases sword damage by a percentage"
  1178.             - case AxeDamage:
  1179.                - narrate "<&e>Increases axe damage by a percentage"
  1180.             - case BowDamage:
  1181.                - narrate "<&e>Increases bow damage by a percentage"
  1182.             - case LongRangeDamage:
  1183.                - narrate "<&e>Increases long range damage by a percentage"
  1184.             - case Critical:
  1185.                - narrate "<&e>Increases critical chance"
  1186.             - case Poison:
  1187.                - narrate "<&e>Increases chance to poison"
  1188.             - case Bleed:
  1189.                - narrate "<&e>Increases chance to bleed"
  1190.             - case Backstab:
  1191.                - narrate "<&e>Increases backstab damage by a percentage"
  1192.             - case Speed:
  1193.                - narrate "<&e>Increases speed"
  1194.             - case Dodge:
  1195.                - narrate "<&e>Increases dodge chance"
  1196.             - case Parry:
  1197.                - narrate "<&e>Increases parry chance"
  1198.             - case Lifesteal
  1199.                 - narrate "<&e>Increases lifesteal by a percentage"
  1200.             - case Luck
  1201.                 - narrate "<&e>Increases luck"
  1202.             - case Regen:
  1203.                - narrate "<&e>Increases regen by a percentage"
  1204.             - case HpRegen:
  1205.                - narrate "<&e>Increases health regen by a percentage"
  1206.             - case ManaRegen:
  1207.                - narrate "<&e>Increases mana regen by a percentage"
  1208.             - case RegenAura:
  1209.                - narrate "<&e>Increases regen of allies by a percentage"
  1210.             - case HpRegenAura:
  1211.                - narrate "<&e>Increases health regen of allies by a percentage"
  1212.             - case ManaRegenAura:
  1213.                - narrate "<&e>Increases mana regen of allies by a percentage"
  1214.             - case Hover:
  1215.                - narrate "<&e>Allows you to hover"
  1216.             - case UnderwaterBreathing:
  1217.                - narrate "<&e>Allows you to breathe underwater"
  1218.         #- stop
  1219.         - narrate "<&c>Invalid stat command"
  1220.  
  1221.  
  1222. command_Ability:
  1223.     type: command
  1224.     name: ability
  1225.     usage: /ability (name/help)
  1226.     script:
  1227.         - if <context.args.[1]||help> == help:
  1228.            - narrate "<&e>- Left click with a melee weapon to switch melee ability"
  1229.             - narrate "<&e>- Left click with a magic weapon to switch magic ability"
  1230.             - narrate "<&e>- Right click with a bow to to switch ranged ability"
  1231.             - narrate "<&e>- Opposite click to use selected ability"
  1232.             - narrate "<&e>/ability (name) to view ability info"
  1233.             - stop
  1234.  
  1235.         - define "ability:<context.raw_args.replace[ ].with[]>"
  1236.         - define name:<script[data_<[ability]>].yaml_key[name]||null>
  1237.        - define description:<script[data_<[ability]>].yaml_key[description]||null>
  1238.        - define cooldown:<script[data_<[ability]>].yaml_key[cooldown]||null>
  1239.        - define duration:<script[data_<[ability]>].yaml_key[duration]||null>
  1240.        - define mana:<script[data_<[ability]>].yaml_key[mana]||null>
  1241.         - if <[name]> != null:
  1242.            - narrate " "
  1243.             - narrate "<&8>-------------------"
  1244.             - narrate "<&a><&l>   - <[name]> -"
  1245.             - narrate "<&8>-------------------"
  1246.             - if <[cooldown]> != null:
  1247.                 - narrate "<&e>Cooldown: <[cooldown]>"
  1248.            - if <[duration]> != null:
  1249.                - narrate "<&e>Duration: <[duration]>"
  1250.            - if <[mana]> != null:
  1251.                - narrate "<&e>Mana: <[mana]>"
  1252.            - narrate "<&6>- <[description]>"
  1253.            - stop
  1254.        - narrate "<&c>Invalid ability"
  1255.  
  1256. command_Mana:
  1257.    type: command
  1258.    name: mana
  1259.    usage: /mana
  1260.    script:
  1261.        - narrate "<&1><&l><yaml[<player.uuid>].read[buffs.Mana]||0>"
  1262.        #- narrate <queue.time_ran>
  1263.  
  1264. # - HANDLERS
  1265. handler_init:
  1266.    type: world
  1267.    events:
  1268.        on server start:
  1269.        - if !<server.has_file[../dConfig/races/races.yml]>:
  1270.            - yaml id:race_config create
  1271.            - yaml id:race_config loadtext:<s@race_config.to_text>
  1272.            - yaml id:race_config "savefile:../dConfig/races/races.yml"
  1273.        - else:
  1274.            - yaml id:race_config load:../dConfig/races/races.yml
  1275.        - if !<server.has_file[../dConfig/classes/classes.yml]>:
  1276.            - yaml id:class_config create
  1277.            - yaml id:class_config loadtext:<s@class_config.to_text>
  1278.            - yaml id:class_config "savefile:../dConfig/classes/classes.yml"
  1279.        - else:
  1280.            - yaml id:class_config load:../dConfig/classes/classes.yml
  1281.  
  1282.        on player joins:
  1283.        - if !<server.has_file[../dData/players/<player.uuid>.yml]>:
  1284.            - yaml id:<player.uuid> create
  1285.            - yaml id:<player.uuid> loadtext:<s@player_data.to_text>
  1286.            - narrate "<&e>Use /race to pick a race!"
  1287.            - narrate "<&e>Use /class to pick a class!"
  1288.        - else:
  1289.            - yaml id:<player.uuid> "load:../dData/players/<player.uuid>.yml"
  1290.            - if <yaml[<player.uuid>].read[races.race]||Default> == Default:
  1291.                - narrate "<&e>Use /race to pick a race!"
  1292.            - if <yaml[<player.uuid>].read[classes.class]||Default> == Default:
  1293.                - narrate "<&e>Use /class to pick a class!"
  1294.            - if <yaml[<player.uuid>].list_keys[buffs]||null> != null:
  1295.                - run instantly function_resetplayer
  1296.        #- narrate <queue.time_ran>
  1297.  
  1298.        on player quits:
  1299.        - flag player ability:!
  1300.        - yaml id:<player.uuid> "savefile:../dData/players/<player.uuid>.yml"
  1301.        - yaml id:<player.uuid> unload
  1302.  
  1303.  
  1304. handler_buffs:
  1305.    type: world
  1306.    debug: true
  1307.    events:
  1308.        on entity damaged by player:
  1309.        - define buffs:<yaml[<player.uuid>].list_keys[buffs]||null>
  1310.        - if <[buffs]> == null:
  1311.            - determine <context.final_damage>
  1312.        - define modifier:0
  1313.        - define modifier:+:<yaml[<player.uuid>].read[buffs.Damage]||0>
  1314.        - if <player.item_in_hand.material.contains[sword]>:
  1315.            - define modifier:+:<yaml[<player.uuid>].read[buffs.SwordDamage]||0>
  1316.        - if <player.item_in_hand.material.contains[axe]>:
  1317.            - define modifier:+:<yaml[<player.uuid>].read[buffs.AxeDamage]||0>
  1318.        - if <player.item_in_hand.material.contains[bow]>:
  1319.            - define modifier:+:<yaml[<player.uuid>].read[buffs.BowDamage]||0>
  1320.            - if <player.location.distance[<context.entity.location>]> >= 50:
  1321.                - define modifier:+:<yaml[<player.uuid>].read[buffs.LongRangeDamage]||0>
  1322.        - if <[buffs].contains[AimedShot]>:
  1323.            - define modifier:+:<yaml[<player.uuid>].read[buffs.AimedShot]||0>
  1324.            - yaml id:<player.uuid> set buffs.AimedShot:!
  1325.        - if <[buffs].contains[Backstab]> && !<player.target.location.facing[<player>].degrees[120]>:
  1326.            - narrate "<&e>*Backstab*"
  1327.            - define modifier:+:1.5
  1328.        - if <[buffs].contains[AoE]>:
  1329.            - foreach <player.location.find.living_entities.within[4]>:
  1330.                - hurt <context.final_damage> <[value]> cause:<player>
  1331.        - if <[buffs].contains[Poison]>:
  1332.            - cast POISON duration:200 power:3 <context.entity>
  1333.        - if <[buffs].contains[Critical]>:
  1334.            - if <util.random.int[1].to[100]> <= <yaml[<player.uuid>].read[buffs.Critical]>:
  1335.                - narrate "<&e>*Critical*"
  1336.                - define modifier:*:1.5
  1337.        - if <[buffs].contains[Lifesteal]>:
  1338.            - heal <context.final_damage./[100].*[<yaml[<player.uuid>].read[buffs.Lifesteal]>]> <player>
  1339.        #- narrate <queue.time_ran>
  1340.        - determine <context.final_damage.+[<context.final_damage./[100].*[<[modifier]>]>]>
  1341.  
  1342.        on player damaged by entity:
  1343.        - define buffs:<yaml[<player.uuid>].read[buffs]||null>
  1344.        - if <[buffs]> == null:
  1345.            - determine <context.final_damage>
  1346.        - if <player.has_flag[hovering]>:
  1347.            - adjust <player> gravity:true
  1348.        - if <[buffs].contains[Parry]>:
  1349.            - if <util.random.int[1].to[100]> <= <yaml[<player.uuid>].read[buffs.Parry]||0>:
  1350.                - narrate "<&e>*Parried*"
  1351.                - determine cancelled
  1352.        - if <[buffs].contains[Dodge]>:
  1353.            - if <util.random.int[1].to[100]> <= <yaml[<player.uuid>].read[buffs.Dodge]||0>:
  1354.                - narrate "<&e>*Dodged*"
  1355.                - determine cancelled
  1356.        - if <[buffs].contains[Absorb]>:
  1357.            - narrate "<&e>*Absorbed*"
  1358.            - if <context.final_damage> >= <yaml[<player.uuid>].read[buffs.Absorb]||0>:
  1359.                - playeffect effect:end_rod at:<player.location> q:20
  1360.                - yaml id:<player.uuid> set "buffs.Absorb:!"
  1361.                - determine <context.final_damage.-[<yaml[<player.uuid>].read[buffs.Absorb]||0>]>
  1362.            - determine <context.final_damage.-[<context.final_damage./[100].*[<yaml[<player.uuid>].read[buffs.Absorb]>]||0>]>
  1363.        - if <[buffs].contains[BlockReflect]>:
  1364.            - if <player.is_blocking>:
  1365.                - hurt <context.damager> <context.final_damage./[100].*[<yaml[<player.uuid>].read[<[classes.sublevel]>]||0>]>
  1366.        - if <[buffs].contains[BladeMaster]>:
  1367.            - narrate "<&e>*Parried*"
  1368.            - determine cancelled
  1369.        #- narrate <queue.time_ran>
  1370.  
  1371.        on player starts sneaking:
  1372.        - if <yaml[<player.uuid>].list_keys[buffs].contains[Hover]||false>:
  1373.            - if <player.has_flag[hovering]>:
  1374.                - flag player no_fall_damage
  1375.                - flag player hovering:!
  1376.                - adjust <player> gravity:true
  1377.            - else:
  1378.                - flag player hovering
  1379.                - adjust <player> gravity:false
  1380.            #- narrate <queue.time_ran>
  1381.  
  1382.        on player damaged by fall:
  1383.        - if <player.has_flag[no_fall_damage]>:
  1384.            - flag player no_fall_damage:!
  1385.            - determine cancelled
  1386.            #- narrate <queue.time_ran>
  1387.  
  1388.        on player damaged by drowning:
  1389.        - if <yaml[<player.uuid>].list_keys[buffs].contains[UnderwaterBreathing]>:
  1390.            #- narrate <queue.time_ran>
  1391.            - determine cancelled
  1392.  
  1393.        on delta time secondly every:10:
  1394.        - foreach <server.list_online_players_flagged[Regen]> as:player:
  1395.            - heal <[player].health.max./[100].*[<[player].flag[Regen]>]> <[player]>
  1396.            #- if <yaml[<[player].uuid>].read[buffs].contains[Mana]>:
  1397.            #    - yaml id:<[player].uuid> set "buffs.Mana:+:<yaml[<[player].uuid>].read[buffs.mana]./[100].*[<[player].flag[Regen]>]>"
  1398.  
  1399.        - foreach <server.list_online_players_flagged[HpRegen]> as:player:
  1400.            - heal <[player].health.max./[100].*[<[player].flag[HpRegen]>]> <[player]>
  1401.  
  1402.        #- foreach <server.list_online_players_flagged[ManaRegen]> as:player:
  1403.        #    - if <yaml[<[player].uuid>].read[buffs].contains[mana]>:
  1404.        #        - yaml set "buffs.Mana:+:<yaml[<[player].uuid>].read[buffs.mana]./[100].*[<[player].flag[ManaRegen]>]>"
  1405.  
  1406.        - foreach <server.list_online_players_flagged[RegenAura]> as:player:
  1407.            - foreach <[player].location.find.players.within[10]> as:target:
  1408.                - heal <[target].health.max./[100].*[<[player].flag[Regen]>]> <[target]>
  1409.                #- if <yaml[<[target].uuid>].read[buffs].contains[Mana]>:
  1410.                #    - yaml id:<[target].uuid> set "buffs.Mana:+:<yaml[<[target].uuid>].read[buffs.mana]./[100].*[<[player].flag[Regen]>]>"
  1411.  
  1412.        - foreach <server.list_online_players_flagged[HpRegenAura]> as:player:
  1413.            - foreach <[player].location.find.players.within[10]> as:target:
  1414.                - heal <[target].health.max./[100].*[<[player].flag[Regen]>]> <[target]>
  1415.  
  1416.        - foreach <server.list_online_players_flagged[ManaRegenAura]> as:player:
  1417.            - define mod:<[player].flag[ManaRegen]>
  1418.            - foreach <[player].location.find.players.within[10]> as:target:
  1419.                #- if <yaml[<[target].uuid>].read[buffs].contains[mana]>:
  1420.                #    - yaml set "buffs.Mana:+:<yaml[<[target].uuid>].read[buffs.mana]./[100].*[<[mod]>]>"
  1421.        #- narrate <queue.time_ran>
  1422.  
  1423.        on player kills entity:
  1424.        - if !<yaml[spawned_entities].list_keys[].contains[<context.entity>]>:
  1425.            - define class:<yaml[<player.uuid>].read[classes.class]>
  1426.            - define subclass:<yaml[<player.uuid>].read[classes.subclass]>
  1427.            - define race:<yaml[<player.uuid>].read[races.race]>
  1428.            - define subrace:<yaml[<player.uuid>].read[races.subrace]>
  1429.  
  1430.            - if <[class]> != Default:
  1431.                - yaml id:<player.uuid> set classes.xp:+:<element[10].+[<yaml[<player.uuid>].read[classes.level]>]>
  1432.                - if <yaml[<player.uuid>].read[classes.xp]> >= <element[10000].*[<yaml[<player.uuid>].read[classes.level]>]>:
  1433.                    - run instantly function_ClassLevel
  1434.                    - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  1435.            - if <[subclass]> != Default:
  1436.                - yaml id:<player.uuid> set classes.subxp:+:<element[5].+[<yaml[<player.uuid>].read[classes.level]>]>
  1437.                - if <yaml[<player.uuid>].read[classes.subxp]> >= <element[10000].*[<yaml[<player.uuid>].read[classes.sublevel]>]>:
  1438.                    - run instantly function_SubclassLevel
  1439.                    - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  1440.            - if <[race]> != Default:
  1441.                - yaml id:<player.uuid> set races.xp:+:<element[10].+[<yaml[<player.uuid>].read[races.level]>]>
  1442.                - if <yaml[<player.uuid>].read[races.xp]> >= <element[10000].*[<yaml[<player.uuid>].read[races.level]>]>:
  1443.                    - run instantly function_RaceLevel
  1444.                    - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  1445.            - if <[subrace]> != Default:
  1446.                - yaml id:<player.uuid> set races.subxp:+:<element[5].+[<yaml[<player.uuid>].read[races.level]>]>
  1447.                - if <yaml[<player.uuid>].read[races.subxp]> >= <element[10000].*[<yaml[<player.uuid>].read[races.sublevel]>]>:
  1448.                    - run instantly function_SubraceLevel
  1449.                    - yaml id:<player.uuid> savefile:../dData/players/<player.uuid>.yml
  1450.        #- narrate "<queue.time_ran>"
  1451.        
  1452.  
  1453. handler_Saving:
  1454.    type: world
  1455.    events:
  1456.        on delta time secondly every:300:
  1457.        - foreach <server.list_online_players> as:player:
  1458.            - define location:<[player].location>
  1459.            - define last_location:<[player].flag[last_location]||<[location]>>
  1460.            - flag <[player]> last_location:<[location]>
  1461.            - if <yaml[<[player].uuid>].read[races.race]> != Default && <yaml[<[player].uuid>].read[races.subrace]> != Default:
  1462.                - if <[location].distance_squared[<[last_location]>]> >= 400:
  1463.                    - yaml id:<[player].uuid> set races.xp:+:<element[50].+[<yaml[<[player].uuid>].read[races.level]>]>
  1464.                    - if <yaml[<[player].uuid>].read[races.xp]> >= <element[10000].*[<yaml[<[player].uuid>].read[races.level]>]>:
  1465.                        - run instantly function_RaceLevel player:<[player]>
  1466.                    - yaml id:<[player].uuid> set races.subxp:+:<element[25].+[<yaml[<[player].uuid>].read[races.level]>]>
  1467.                    - if <yaml[<[player].uuid>].read[races.subxp]> >= <element[10000].*[<yaml[<[player].uuid>].read[races.sublevel]>]>:
  1468.                        - run instantly function_SubraceLevel player:<[player]>
  1469.            - yaml id:<[player].uuid> savefile:../dData/players/<[player].uuid>.yml
  1470.  
  1471.  
  1472. handler_Entities:
  1473.    type: world
  1474.    events:
  1475.        on server start:
  1476.        - yaml id:spawned_entities create
  1477.  
  1478.        on spawner spawns entity:
  1479.        - yaml id:spawned_entities set <context.entity>:true
  1480.  
  1481.        on entity death priority:-1:
  1482.        - if <yaml[spawned_entities].list_keys[].contains[<context.entity>]||false>:
  1483.            - yaml id:spawned_entities set <context.entity>:!
  1484.  
  1485.        on delta time secondly every:60:
  1486.        - foreach <yaml[spawned_entities].list_keys[]||null> as:entity:
  1487.            - if !<server.entity_is_spawned[<[entity]>]>:
  1488.                - yaml id:spawned_entities set <[entity]>:!
  1489. #handler_abilities:
  1490. #   type: world
  1491. #   events:
  1492. #       on player right clicks block:
  1493. #       - define target:<player.target>
  1494. #       - define is_spawned:<player.target.mcmmo.is_spawned_mob>
  1495. #        
  1496. #        - if <yaml[<player.uuid>].read[classes.subclass]||Default> != Default:
  1497. #            - if li@sword|axe contains <player.item_in_hand.material.name.after_last[_]>:
  1498. #                - define abilities:<yaml[<player.uuid>].read[classes.abilities]>
  1499. #                - flag player ability:++
  1500. #                - if <player.flag[ability]> > 1:
  1501. #                    - flag player ability:0
  1502. #                - define curr_ability <[abilities].get[<player.flag[ability]>]>
  1503. #                - if "<player.has_flag[cooldown_<yaml[<player.uuid>].read[classes.abilities].as_list.get[<player.flag[ability]>].replace[ ].with[]>]>":
  1504. #                    - actionbar "<&e><&l>-= <&c><&l><[curr_ability]> <&e><&l>=-"
  1505. #                - else:
  1506. #                    - actionbar "<&e><&l>-= <&a><&l><[curr_ability]> <&e><&l>=-"
  1507.  
  1508. #            - if <player.flag[ability]> > 0 && <yaml[<player.uuid>].read[classes.class]> == Archer && "!<player.has_flag[cooldown_<yaml[<player.uuid>].read[classes.abilities].as_list.get[<player.flag[ability]>].replace[ ].with[]>]>":
  1509. #                    - run instantly "ability_<yaml[<player.uuid>].read[classes.abilities].as_list.get[<player.flag[ability]>].replace[ ].with[]>"
  1510. #                    #- yaml set "classes.subxp:+:<element[5].*[<player.flag[ability]>]>" id:<player.uuid>
  1511. #                    - flag player ability:0
  1512.  
  1513. #        on player left clicks block:
  1514. #        - if <yaml[<player.uuid>].read[classes.subclass]||Default> != Default:
  1515. #            - if <player.item_in_hand.material.name> == bow && <yaml[<player.uuid>].read[classes.class]> == archer:
  1516. #                - define abilities:<yaml[<player.uuid>].read[classes.abilities]>
  1517. #                - flag player ability:++
  1518. #                - if <player.flag[ability]> > 1:
  1519. #                    - flag player ability:0
  1520. #                - define curr_ability <[abilities].get[<player.flag[ability]>]>
  1521. #                - if "<player.has_flag[cooldown_<yaml[<player.uuid>].read[classes.abilities].as_list.get[<player.flag[ability]>].replace[ ].with[]>]>":
  1522. #                    - actionbar "<&e><&l>-= <&c><&l><[curr_ability]> <&e><&l>=-"
  1523. #                - else:
  1524. #                    - actionbar "<&e><&l>-= <&a><&l><[curr_ability]> <&e><&l>=-"
  1525.            #- if <yaml[<player.uuid>].read[subclass_xp]> >= <el@10000.*[<yaml[<player.uuid>].read[class_level]>]>:
  1526.                #- run classes_SubLevel
  1527.  
  1528. #            - if <player.flag[ability]> > 0 && <yaml[<player.uuid>].read[classes.class]> != archer:
  1529. #                - define "curr_ability:<yaml[<player.uuid>].read[classes.abilities].as_list.get[<player.flag[ability]>].replace[ ].with[]>"
  1530. #                - if <yaml[<player.uuid>].read[buffs.Mana]||null> != null && <yaml[<player.uuid>].read[buffs.Mana]||0> >= <yaml[<[curr_ability]>].read[mana]||1>:
  1531. #                    - run instantly "ability_<yaml[<player.uuid>].read[classes.abilities].as_list.get[<player.flag[ability]>].replace[ ].with[]>"
  1532. #                - else if "!<player.has_flag[cooldown_<yaml[<player.uuid>].read[classes.abilities].as_list.get[<player.flag[ability]>].replace[ ].with[]>]>":
  1533. #                    - run instantly "ability_<yaml[<player.uuid>].read[classes.abilities].as_list.get[<player.flag[ability]>].replace[ ].with[]>"
  1534. #                #- yaml set "classes.subxp:+:<element[5].*[<player.flag[ability]>]>" id:<player.uuid>
  1535. #                - flag player ability:0
  1536.  
  1537.  
  1538. # - FUNCTIONS
  1539. function_ResetPlayer:
  1540.    type: task
  1541.    script:
  1542.        - foreach <yaml[<player.uuid>].list_keys[buffs]||null> as:buff:
  1543.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1544.            - choose <[buff]>:
  1545.                - case Health:
  1546.                    - adjust <player> max_health:<player.health.max.-[<[player_val]>]>
  1547.                - case Armor:
  1548.                    - adjust <player> armor_bonus:<player.armor_bonus.-[<[player_val]>]>
  1549.                - case Speed:
  1550.                    - adjust <player> walk_speed:<player.walk_speed.-[<[player_val]>]>
  1551.                - case Hover:
  1552.                    - flag player Hover:!
  1553.                - case Regen:
  1554.                    - flag player Regen:!
  1555.                - case HpRegen:
  1556.                    - flag player HpRegen:!
  1557.                - case ManaRegen:
  1558.                    - flag player ManaRegen:!
  1559.                - case RegenAura:
  1560.                    - flag player RegenAura:!
  1561.                - case HpRegenAura:
  1562.                    - flag player HpRegenAura:!
  1563.                - case ManaRegenAura:
  1564.                    - flag player ManaRegenAura:!
  1565.        - yaml id:<player.uuid> set buffs:!
  1566.        - if <yaml[<player.uuid>].read[races.race]> != Default:
  1567.            - run instantly function_UpdateRaceBuffs
  1568.        - if <yaml[<player.uuid>].read[races.subrace]> != Default:
  1569.            - run instantly function_UpdateSubraceBuffs
  1570.        - if <yaml[<player.uuid>].read[classes.class]> != Default:
  1571.            - run instantly function_UpdateClassBuffs
  1572.        - if <yaml[<player.uuid>].read[classes.subclass]> != Default:
  1573.            - run instantly function_UpdateSubclassBuffs
  1574.  
  1575. function_ResetRace:
  1576.    type: task
  1577.    script:
  1578.        - if <yaml[<player.uuid>].read[races.race]> != Default:
  1579.            - run instantly function_ClearRaceBuffs
  1580.            - run instantly function_UpdateRaceBuffs
  1581.        - if <yaml[<player.uuid>].read[races.subrace]> != Default:
  1582.            - run instantly function_ClearSubraceBuffs
  1583.            - run instantly function_UpdateSubraceBuffs
  1584.        
  1585.  
  1586. function_ResetClass:
  1587.    type: task
  1588.    script:
  1589.        - if <yaml[<player.uuid>].read[classes.class]> != Default:
  1590.            - run instantly function_ClearClassBuffs
  1591.            - run instantly function_UpdateClassBuffs
  1592.        - if <yaml[<player.uuid>].read[classes.subclass]> != Default:
  1593.            - run instantly function_ClearSubclassBuffs
  1594.            - run instantly function_UpdateSubclassBuffs
  1595.  
  1596. function_ClearRaceBuffs:
  1597.    type: task
  1598.    script:
  1599.        - define race:<yaml[<player.uuid>].read[races.race]>
  1600.        - define level:<yaml[<player.uuid>].read[races.level]||1>
  1601.        - define race_buffs:<yaml[race_config].list_keys[<[race]>.buffs]>
  1602.        - foreach <[race_buffs]> as:buff:
  1603.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1604.            - define config_val:<yaml[race_config].read[<[race]>.buffs.<[buff]>]>
  1605.            - choose <[buff]>:
  1606.                - case Health:
  1607.                    - adjust <player> max_health:<player.health.max.-[<[config_val].*[<[level]>]>]>
  1608.                - case Armor:
  1609.                    - adjust <player> armor_bonus:<player.armor_bonus.-[<[config_val].*[<[level]>]>]>
  1610.                - case Speed:
  1611.                    - adjust <player> walk_speed:<player.walk_speed.-[<[config_val].*[<[level]>]>]>
  1612.                - case Hover:
  1613.                    - flag player Hover:!
  1614.                - case UnderwaterBreathing:
  1615.                    - flag player UnderwaterBreathing:!
  1616.                - case Regen:
  1617.                    - if <[buff]> == 0:
  1618.                        - flag player Regen:!
  1619.                    - else:
  1620.                        - flag player Regen:<[player_val].-[<[config_val].*[<[level]>]>]>
  1621.                - case HpRegen:
  1622.                    - if <[buff]> == 0:
  1623.                        - flag player HpRegen:!
  1624.                    - else:
  1625.                        - flag player HpRegen:<[player_val].-[<[config_val].*[<[level]>]>]>
  1626.                - case ManaRegen:
  1627.                    - if <[buff]> == 0:
  1628.                        - flag player ManaRegen:!
  1629.                    - else:
  1630.                        - flag player ManaRegen:<[player_val].-[<[config_val].*[<[level]>]>]>
  1631.                - case RegenAura:
  1632.                    - if <[buff]> == 0:
  1633.                        - flag player RegenAura:!
  1634.                    - else:
  1635.                        - flag player RegenAura:<[player_val].-[<[config_val].*[<[level]>]>]>
  1636.                - case HpRegenAura:
  1637.                    - if <[buff]> == 0:
  1638.                        - flag player HpRegenAura:!
  1639.                    - else:
  1640.                        - flag player HpRegenAura:<[player_val].-[<[config_val].*[<[level]>]>]>
  1641.                - case ManaRegenAura:
  1642.                    - if <[buff]> == 0:
  1643.                        - flag player ManaRegenAura:!
  1644.                    - else:
  1645.                        - flag player ManaRegenAura:<[player_val].-[<[config_val].*[<[level]>]>]>
  1646.            - if <[player_val].-[<[config_val].*[<[level]>]>]> == 0:
  1647.                - yaml id:<player.uuid> set buffs.<[buff]>:!
  1648.            - else:
  1649.                - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].-[<[config_val].*[<[level]>]>]>
  1650.  
  1651. function_ClearSubraceBuffs:
  1652.    type: task
  1653.    script:
  1654.        - define race:<yaml[<player.uuid>].read[races.race]>
  1655.        - define subrace:<yaml[<player.uuid>].read[races.subrace]>
  1656.        - define sublevel:<yaml[<player.uuid>].read[races.sublevel]||1>
  1657.        - define subrace_buffs:<yaml[race_config].list_keys[<[race]>.subraces.<[subrace]>.buffs]>
  1658.        - foreach <[subrace_buffs]> as:buff:
  1659.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1660.            - define config_val:<yaml[race_config].read[<[race]>.subraces.<[subrace]>.buffs.<[buff]>]>
  1661.            - choose <[buff]>:
  1662.                - case Health:
  1663.                    - adjust <player> max_health:<player.health.max.-[<[config_val].*[<[sublevel]>]>]>
  1664.                - case Armor:
  1665.                    - adjust <player> armor_bonus:<player.armor_bonus.-[<[config_val].*[<[sublevel]>]>]>
  1666.                - case Speed:
  1667.                    - adjust <player> walk_speed:<player.walk_speed.-[<[config_val].*[<[sublevel]>]>]>
  1668.                - case Hover:
  1669.                    - flag player Hover:!
  1670.                - case UnderwaterBreathing:
  1671.                    - flag player UnderwaterBreathing:!
  1672.                - case Regen:
  1673.                    - if <[buff]> == 0:
  1674.                        - flag player Regen:!
  1675.                    - else:
  1676.                        - flag player Regen:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1677.                - case HpRegen:
  1678.                    - if <[buff]> == 0:
  1679.                        - flag player HpRegen:!
  1680.                    - else:
  1681.                        - flag player HpRegen:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1682.                - case ManaRegen:
  1683.                    - if <[buff]> == 0:
  1684.                        - flag player ManaRegen:!
  1685.                    - else:
  1686.                        - flag player ManaRegen:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1687.                - case RegenAura:
  1688.                    - if <[buff]> == 0:
  1689.                        - flag player RegenAura:!
  1690.                    - else:
  1691.                        - flag player RegenAura:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1692.                - case HpRegenAura:
  1693.                    - if <[buff]> == 0:
  1694.                        - flag player HpRegenAura:!
  1695.                    - else:
  1696.                        - flag player HpRegenAura:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1697.                - case ManaRegenAura:
  1698.                    - if <[buff]> == 0:
  1699.                        - flag player ManaRegenAura:!
  1700.                    - else:
  1701.                        - flag player ManaRegenAura:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1702.            - if <[player_val].-[<[config_val].*[<[sublevel]>]>]> == 0:
  1703.                - yaml id:<player.uuid> set buffs.<[buff]>:!
  1704.            - else:
  1705.                - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1706.  
  1707. function_UpdateRaceBuffs:
  1708.    type: task
  1709.    script:
  1710.        - define race:<yaml[<player.uuid>].read[races.race]>
  1711.        - define level:<yaml[<player.uuid>].read[races.level]||1>
  1712.        - define race_buffs:<yaml[race_config].list_keys[<[race]>.buffs]>
  1713.        - foreach <[race_buffs]> as:buff:
  1714.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1715.            - define config_val:<yaml[race_config].read[<[race]>.buffs.<[buff]>]>
  1716.            - choose <[buff]>:
  1717.                - case Health:
  1718.                    - adjust <player> max_health:<player.health.max.+[<[config_val].*[<[level]>]>]>
  1719.                - case Armor:
  1720.                    - adjust <player> armor_bonus:<player.armor_bonus.+[<[config_val].*[<[level]>]>]>
  1721.                - case Speed:
  1722.                    - adjust <player> walk_speed:<player.walk_speed.+[<[config_val].*[<[level]>]>]>
  1723.                - case Hover:
  1724.                    - flag player Hover:1
  1725.                - case UnderwaterBreathing:
  1726.                    - flag player UnderwaterBreathing:1
  1727.                - case Regen:
  1728.                    - flag player Regen:<[player_val].+[<[config_val].*[<[level]>]>]>
  1729.                - case HpRegen:
  1730.                    - flag player HpRegen:<[player_val].+[<[config_val].*[<[level]>]>]>
  1731.                - case ManaRegen:
  1732.                    - flag player ManaRegen:<[player_val].+[<[config_val].*[<[level]>]>]>
  1733.                - case RegenAura:
  1734.                    - flag player RegenAura:<[player_val].+[<[config_val].*[<[level]>]>]>
  1735.                - case HpRegenAura:
  1736.                    - flag player HpRegenAura:<[player_val].+[<[config_val].*[<[level]>]>]>
  1737.                - case ManaRegenAura:
  1738.                    - flag player ManaRegenAura:<[player_val].+[<[config_val].*[<[level]>]>]>
  1739.            - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].+[<[config_val].*[<[level]>]>]>
  1740.  
  1741. function_UpdateSubraceBuffs:
  1742.    type: task
  1743.    script:
  1744.        - define race:<yaml[<player.uuid>].read[races.race]>
  1745.        - define subrace:<yaml[<player.uuid>].read[races.subrace]>
  1746.        - define sublevel:<yaml[<player.uuid>].read[races.sublevel]||1>
  1747.        - define subrace_buffs:<yaml[race_config].list_keys[<[race]>.subraces.<[subrace]>.buffs]>
  1748.        - foreach <[subrace_buffs]> as:buff:
  1749.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1750.            - define config_val:<yaml[race_config].read[<[race]>.subraces.<[subrace]>.buffs.<[buff]>]>
  1751.            - choose <[buff]>:
  1752.                - case Health:
  1753.                    - adjust <player> max_health:<player.health.max.+[<[config_val].*[<[sublevel]>]>]>
  1754.                - case Armor:
  1755.                    - adjust <player> armor_bonus:<player.armor_bonus.+[<[config_val].*[<[sublevel]>]>]>
  1756.                - case Speed:
  1757.                    - adjust <player> walk_speed:<player.walk_speed.+[<[config_val].*[<[sublevel]>]>]>
  1758.                - case Hover:
  1759.                    - flag player Hover:1
  1760.                - case UnderwaterBreathing:
  1761.                    - flag player UnderwaterBreathing:1
  1762.                - case Regen:
  1763.                    - flag player Regen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1764.                - case HpRegen:
  1765.                    - flag player HpRegen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1766.                - case ManaRegen:
  1767.                    - flag player ManaRegen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1768.                - case RegenAura:
  1769.                    - flag player RegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1770.                - case HpRegenAura:
  1771.                    - flag player HpRegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1772.                - case ManaRegenAura:
  1773.                    - flag player ManaRegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1774.            - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1775.  
  1776. function_ClearClassBuffs:
  1777.    type: task
  1778.    script:
  1779.        - define class:<yaml[<player.uuid>].read[classes.class]>
  1780.        - define level:<yaml[<player.uuid>].read[classes.level]||1>
  1781.        - define class_buffs:<yaml[class_config].list_keys[<[class]>.buffs]>
  1782.        - foreach <[class_buffs]> as:buff:
  1783.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1784.            - define config_val:<yaml[class_config].read[<[class]>.buffs.<[buff]>]>
  1785.            - choose <[buff]>:
  1786.                - case Health:
  1787.                    - adjust <player> max_health:<player.health.max.-[<[config_val].*[<[level]>]>]>
  1788.                - case Armor:
  1789.                    - adjust <player> armor_bonus:<player.armor_bonus.-[<[config_val].*[<[level]>]>]>
  1790.                - case Speed:
  1791.                    - adjust <player> walk_speed:<player.walk_speed.-[<[config_val].*[<[level]>]>]>
  1792.                - case Hover:
  1793.                    - flag player Hover:!
  1794.                - case UnderwaterBreathing:
  1795.                    - flag player UnderwaterBreathing:!
  1796.                - case Regen:
  1797.                    - if <[buff]> == 0:
  1798.                        - flag player Regen:!
  1799.                    - else:
  1800.                        - flag player Regen:<[player_val].-[<[config_val].*[<[level]>]>]>
  1801.                - case HpRegen:
  1802.                    - if <[buff]> == 0:
  1803.                        - flag player HpRegen:!
  1804.                    - else:
  1805.                        - flag player HpRegen:<[player_val].-[<[config_val].*[<[level]>]>]>
  1806.                - case ManaRegen:
  1807.                    - if <[buff]> == 0:
  1808.                        - flag player ManaRegen:!
  1809.                    - else:
  1810.                        - flag player ManaRegen:<[player_val].-[<[config_val].*[<[level]>]>]>
  1811.                - case RegenAura:
  1812.                    - if <[buff]> == 0:
  1813.                        - flag player RegenAura:!
  1814.                    - else:
  1815.                        - flag player RegenAura:<[player_val].-[<[config_val].*[<[level]>]>]>
  1816.                - case HpRegenAura:
  1817.                    - if <[buff]> == 0:
  1818.                        - flag player HpRegenAura:!
  1819.                    - else:
  1820.                        - flag player HpRegenAura:<[player_val].-[<[config_val].*[<[level]>]>]>
  1821.                - case ManaRegenAura:
  1822.                    - if <[buff]> == 0:
  1823.                        - flag player ManaRegenAura:!
  1824.                    - else:
  1825.                        - flag player ManaRegenAura:<[player_val].-[<[config_val].*[<[level]>]>]>
  1826.            - if <[player_val].-[<[config_val].*[<[level]>]>]> == 0:
  1827.                - yaml id:<player.uuid> set buffs.<[buff]>:!
  1828.            - else:
  1829.                - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].-[<[config_val].*[<[level]>]>]>
  1830.  
  1831. function_ClearSubclassBuffs:
  1832.    type: task
  1833.    script:
  1834.        - define class:<yaml[<player.uuid>].read[classes.class]>
  1835.        - define subclass:<yaml[<player.uuid>].read[classes.subclass]>
  1836.        - define sublevel:<yaml[<player.uuid>].read[classes.sublevel]||1>
  1837.        - define subclass_buffs:<yaml[class_config].list_keys[<[class]>.subclasses.<[subclass]>.buffs]>
  1838.        - foreach <[subclass_buffs]> as:buff:
  1839.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1840.            - define config_val:<yaml[class_config].read[<[class]>.subclasses.<[subclass]>.buffs.<[buff]>]>
  1841.            - choose <[buff]>:
  1842.                - case Health:
  1843.                    - adjust <player> max_health:<player.health.max.-[<[config_val].*[<[sublevel]>]>]>
  1844.                - case Armor:
  1845.                    - adjust <player> armor_bonus:<player.armor_bonus.-[<[config_val].*[<[sublevel]>]>]>
  1846.                - case Speed:
  1847.                    - adjust <player> walk_speed:<player.walk_speed.-[<[config_val].*[<[sublevel]>]>]>
  1848.                - case Hover:
  1849.                    - flag player Hover:!
  1850.                - case UnderwaterBreathing:
  1851.                    - flag player UnderwaterBreathing:!
  1852.                - case Regen:
  1853.                    - if <[buff]> == 0:
  1854.                        - flag player Regen:!
  1855.                    - else:
  1856.                        - flag player Regen:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1857.                - case HpRegen:
  1858.                    - if <[buff]> == 0:
  1859.                        - flag player HpRegen:!
  1860.                    - else:
  1861.                        - flag player HpRegen:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1862.                - case ManaRegen:
  1863.                    - if <[buff]> == 0:
  1864.                        - flag player ManaRegen:!
  1865.                    - else:
  1866.                        - flag player ManaRegen:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1867.                - case RegenAura:
  1868.                    - if <[buff]> == 0:
  1869.                        - flag player RegenAura:!
  1870.                    - else:
  1871.                        - flag player RegenAura:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1872.                - case HpRegenAura:
  1873.                    - if <[buff]> == 0:
  1874.                        - flag player HpRegenAura:!
  1875.                    - else:
  1876.                        - flag player HpRegenAura:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1877.                - case ManaRegenAura:
  1878.                    - if <[buff]> == 0:
  1879.                        - flag player ManaRegenAura:!
  1880.                    - else:
  1881.                        - flag player ManaRegenAura:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1882.            - if <[player_val].-[<[config_val].*[<[sublevel]>]>]> == 0:
  1883.                - yaml id:<player.uuid> set buffs.<[buff]>:!
  1884.            - else:
  1885.                - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].-[<[config_val].*[<[sublevel]>]>]>
  1886.  
  1887. function_UpdateClassBuffs:
  1888.    type: task
  1889.    script:
  1890.        - define class:<yaml[<player.uuid>].read[classes.class]>
  1891.        - define level:<yaml[<player.uuid>].read[classes.level]||1>
  1892.        - define class_buffs:<yaml[class_config].list_keys[<[class]>.buffs]>
  1893.        - foreach <[class_buffs]> as:buff:
  1894.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1895.            - define config_val:<yaml[class_config].read[<[class]>.buffs.<[buff]>]>
  1896.            - choose <[buff]>:
  1897.                - case Health:
  1898.                    - adjust <player> max_health:<player.health.max.+[<[config_val].*[<[level]>]>]>
  1899.                - case Armor:
  1900.                    - adjust <player> armor_bonus:<player.armor_bonus.+[<[config_val].*[<[level]>]>]>
  1901.                - case Speed:
  1902.                    - adjust <player> walk_speed:<player.walk_speed.+[<[config_val].*[<[level]>]>]>
  1903.                - case Hover:
  1904.                    - flag player Hover:1
  1905.                - case UnderwaterBreathing:
  1906.                    - flag player UnderwaterBreathing:1
  1907.                - case Regen:
  1908.                    - flag player Regen:<[player_val].+[<[config_val].*[<[level]>]>]>
  1909.                - case HpRegen:
  1910.                    - flag player HpRegen:<[player_val].+[<[config_val].*[<[level]>]>]>
  1911.                - case ManaRegen:
  1912.                    - flag player ManaRegen:<[player_val].+[<[config_val].*[<[level]>]>]>
  1913.                - case RegenAura:
  1914.                    - flag player RegenAura:<[player_val].+[<[config_val].*[<[level]>]>]>
  1915.                - case HpRegenAura:
  1916.                    - flag player HpRegenAura:<[player_val].+[<[config_val].*[<[level]>]>]>
  1917.                - case ManaRegenAura:
  1918.                    - flag player ManaRegenAura:<[player_val].+[<[config_val].*[<[level]>]>]>
  1919.            - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].+[<[config_val].*[<[level]>]>]>
  1920.  
  1921. function_UpdateSubclassBuffs:
  1922.    type: task
  1923.    script:
  1924.        - define class:<yaml[<player.uuid>].read[classes.class]>
  1925.        - define subclass:<yaml[<player.uuid>].read[classes.subclass]>
  1926.        - define sublevel:<yaml[<player.uuid>].read[classes.sublevel]||1>
  1927.        - define subclass_buffs:<yaml[class_config].list_keys[<[class]>.subclasses.<[subclass]>.buffs]>
  1928.        - foreach <[subclass_buffs]> as:buff:
  1929.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1930.            - define config_val:<yaml[class_config].read[<[class]>.subclasses.<[subclass]>.buffs.<[buff]>]>
  1931.            - choose <[buff]>:
  1932.                - case Health:
  1933.                    - adjust <player> max_health:<player.health.max.+[<[config_val].*[<[sublevel]>]>]>
  1934.                - case Armor:
  1935.                    - adjust <player> armor_bonus:<player.armor_bonus.+[<[config_val].*[<[sublevel]>]>]>
  1936.                - case Speed:
  1937.                    - adjust <player> walk_speed:<player.walk_speed.+[<[config_val].*[<[sublevel]>]>]>
  1938.                - case Hover:
  1939.                    - flag player Hover:1
  1940.                - case UnderwaterBreathing:
  1941.                    - flag player UnderwaterBreathing:1
  1942.                - case Regen:
  1943.                    - flag player Regen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1944.                - case HpRegen:
  1945.                    - flag player HpRegen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1946.                - case ManaRegen:
  1947.                    - flag player ManaRegen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1948.                - case RegenAura:
  1949.                    - flag player RegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1950.                - case HpRegenAura:
  1951.                    - flag player HpRegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1952.                - case ManaRegenAura:
  1953.                    - flag player ManaRegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1954.            - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1955.  
  1956. function_RaceLevel:
  1957.    type: task
  1958.    script:
  1959.        - define race:<yaml[<player.uuid>].read[races.race]>
  1960.        - define level:<yaml[<player.uuid>].read[races.level].+[1]||1>
  1961.        - define race_buffs:<yaml[race_config].list_keys[<[race]>.buffs]>
  1962.        - foreach <[race_buffs]> as:buff:
  1963.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  1964.            - define config_val:<yaml[race_config].read[<[race]>.buffs.<[buff]>]>
  1965.            - choose <[buff]>:
  1966.                - case Health:
  1967.                    - adjust <player> max_health:<player.health.max.+[<[config_val]>]>
  1968.                - case Armor:
  1969.                    - adjust <player> armor_bonus:<player.armor_bonus.+[<[config_val]>]>
  1970.                - case Speed:
  1971.                    - adjust <player> walk_speed:<player.walk_speed.+[<[config_val]>]>
  1972.                - case Hover:
  1973.                    - flag player Hover:1
  1974.                - case UnderwaterBreathing:
  1975.                    - flag player UnderwaterBreathing:1
  1976.                - case Regen:
  1977.                    - flag player Regen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1978.                - case HpRegen:
  1979.                    - flag player HpRegen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1980.                - case ManaRegen:
  1981.                    - flag player ManaRegen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1982.                - case RegenAura:
  1983.                    - flag player RegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1984.                - case HpRegenAura:
  1985.                    - flag player HpRegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1986.                - case ManaRegenAura:
  1987.                    - flag player ManaRegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  1988.            - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].+[<[config_val]>]>
  1989.            - yaml id:<player.uuid> set races.level:<[level]>
  1990.  
  1991. function_SubraceLevel:
  1992.    type: task
  1993.    script:
  1994.        - define race:<yaml[<player.uuid>].read[races.race]>
  1995.        - define subrace:<yaml[<player.uuid>].read[races.subrace]>
  1996.        - define sublevel:<yaml[<player.uuid>].read[races.sublevel].+[1]||1>
  1997.        - define race_buffs:<yaml[race_config].list_keys[<[race]>.subraces.<[subrace]>.buffs]>
  1998.        - foreach <[race_buffs]> as:buff:
  1999.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  2000.            - define config_val:<yaml[race_config].read[<[race]>.subraces.<[subrace]>.buffs.<[buff]>]>
  2001.            - choose <[buff]>:
  2002.                - case Health:
  2003.                    - adjust <player> max_health:<player.health.max.+[<[config_val]>]>
  2004.                - case Armor:
  2005.                    - adjust <player> armor_bonus:<player.armor_bonus.+[<[config_val]>]>
  2006.                - case Speed:
  2007.                    - adjust <player> walk_speed:<player.walk_speed.+[<[config_val]>]>
  2008.                - case Hover:
  2009.                    - flag player Hover:1
  2010.                - case UnderwaterBreathing:
  2011.                    - flag player UnderwaterBreathing:1
  2012.                - case Regen:
  2013.                    - flag player Regen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  2014.                - case HpRegen:
  2015.                    - flag player HpRegen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  2016.                - case ManaRegen:
  2017.                    - flag player ManaRegen:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  2018.                - case RegenAura:
  2019.                    - flag player RegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  2020.                - case HpRegenAura:
  2021.                    - flag player HpRegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  2022.                - case ManaRegenAura:
  2023.                    - flag player ManaRegenAura:<[player_val].+[<[config_val].*[<[sublevel]>]>]>
  2024.            - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].+[<[config_val]>]>
  2025.            - yaml id:<player.uuid> set races.sublevel:<[sublevel]>
  2026.  
  2027. function_ClassLevel:
  2028.    type: task
  2029.    script:
  2030.        - define class:<yaml[<player.uuid>].read[classes.class]>
  2031.        - define level:<yaml[<player.uuid>].read[classes.level].+[1]||1>
  2032.        - define class_buffs:<yaml[class_config].list_keys[<[class]>.buffs]>
  2033.        - foreach <[class_buffs]> as:buff:
  2034.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  2035.            - define config_val:<yaml[class_config].read[<[class]>.buffs.<[buff]>]>
  2036.            - choose <[buff]>:
  2037.                - case Health:
  2038.                    - adjust <player> max_health:<player.health.max.+[<[config_val]>]>
  2039.                - case Armor:
  2040.                    - adjust <player> armor_bonus:<player.armor_bonus.+[<[config_val]>]>
  2041.                - case Speed:
  2042.                    - adjust <player> walk_speed:<player.walk_speed.+[<[config_val]>]>
  2043.            - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].+[<[config_val]>]>
  2044.            - yaml id:<player.uuid> set classes.level:<[level]>
  2045.  
  2046. function_SubclassLevel:
  2047.    type: task
  2048.    script:
  2049.        - define class:<yaml[<player.uuid>].read[classes.class]>
  2050.        - define subclass:<yaml[<player.uuid>].read[classes.subclass]>
  2051.        - define sublevel:<yaml[<player.uuid>].read[classes.sublevel].+[1]||1>
  2052.        - define class_buffs:<yaml[class_config].list_keys[<[class]>.subclasses.<[subclass]>.buffs]>
  2053.        - foreach <[class_buffs]> as:buff:
  2054.            - define player_val:<yaml[<player.uuid>].read[buffs.<[buff]>]||0>
  2055.            - define config_val:<yaml[class_config].read[<[class]>.subclasses.<[subclass]>.buffs.<[buff]>]>
  2056.            - choose <[buff]>:
  2057.                - case Health:
  2058.                    - adjust <player> max_health:<player.health.max.+[<[config_val]>]>
  2059.                - case Armor:
  2060.                    - adjust <player> armor_bonus:<player.armor_bonus.+[<[config_val]>]>
  2061.                - case Speed:
  2062.                    - adjust <player> walk_speed:<player.walk_speed.+[<[config_val]>]>
  2063.            - yaml id:<player.uuid> set buffs.<[buff]>:<[player_val].+[<[config_val]>]>
  2064.            - yaml id:<player.uuid> set classes.sublevel:<[sublevel]>
  2065.  
  2066.  
  2067. # - DATA
  2068. player_data:
  2069.    type: yaml data
  2070.    races:
  2071.        race: Default
  2072.        subrace: Default
  2073.        last_race: Defaultt
  2074.        last_subrace: Default
  2075.        level: 1
  2076.        sublevel: 1
  2077.        xp: 0
  2078.        subxp: 0
  2079.    classes:
  2080.        class: Default
  2081.        subclass: Default
  2082.        last_class: Default
  2083.        last_subclass: Default
  2084.        level: 1
  2085.        sublevel: 1
  2086.        xp: 0
  2087.        subxp: 0
  2088.    buffs:
  2089.        None: 0
  2090.  
  2091.  
  2092. # - CONFIG
  2093. race_config:
  2094.    type: yaml data
  2095.    Human:
  2096.        buffs:
  2097.            Health: 0.125
  2098.            Damage: 0.125
  2099.        subraces:
  2100.            Man:
  2101.                buffs:
  2102.                    Health: 0.125
  2103.                    Damage: 0.125
  2104.            Dwarf:
  2105.                buffs:
  2106.                    Health: 0.125
  2107.                    Armor: 0.125
  2108.            Undead:
  2109.                buffs:
  2110.                    MagicDamage: 0.25
  2111.                    UnderwaterBreathing: 1
  2112.    Orc:
  2113.        buffs:
  2114.            AxeDamage: 0.125
  2115.            Armor: 0.125
  2116.        subraces:
  2117.            Warorc:
  2118.                buffs:
  2119.                    AxeDamage: 0.125
  2120.                    Health: 0.125
  2121.            Goblin:
  2122.                buffs:
  2123.                    Backstab: 1
  2124.                    Critical: 0.25
  2125.            Ogre:
  2126.                buffs:
  2127.                    Health: 0.125
  2128.                    Armor: 0.125
  2129.    Elf:
  2130.        buffs:
  2131.            SwordDamage: 0.25
  2132.            Dodge: 0.125
  2133.        subraces:
  2134.            Highelf:
  2135.                buffs:
  2136.                    MagicDamage: 0.25
  2137.                    Regen: 0.125
  2138.            Surfaceelf:
  2139.                buffs:
  2140.                    BowDamage: 0.5
  2141.                    Speed: 0.0025
  2142.            Darkelf:
  2143.                buffs:
  2144.                    SwordDamage: 0.125
  2145.                    Dodge: 0.25
  2146.    Beast:
  2147.        buffs:
  2148.            Damage: 0.125
  2149.            Speed: 0.0025
  2150.        subraces:
  2151.            Centaur:
  2152.                buffs:
  2153.                    BowDamage: 0.125
  2154.                    Speed: 0.0025
  2155.            Harpy:
  2156.                buffs:
  2157.                    Hover: 1
  2158.                    Speed: 0.0025
  2159.            Gorgon:
  2160.                buffs:
  2161.                    Armor: 0.125
  2162.                    Damage: 0.125
  2163.  
  2164.  
  2165. class_config:
  2166.    type: yaml data
  2167.    Warrior:
  2168.        buffs:
  2169.            AxeDamage: 0.125
  2170.            Armor: 0.125
  2171.        subclasses:
  2172.            Protector:
  2173.                buffs:
  2174.                    Health: 0.125
  2175.                    Damage: 0.125
  2176.                abilities:
  2177.                    - Saviour
  2178.            Paladin:
  2179.                buffs:
  2180.                    Regen: 0.125
  2181.                    RegenAura: 0.125
  2182.                abilities:
  2183.                    - Righteousness
  2184.            Champion:
  2185.                buffs:
  2186.                    AxeDamage: 0.125
  2187.                    Parry: 0.375
  2188.                abilities:
  2189.                    - Whirlwind
  2190.    Healer:
  2191.        buffs:
  2192.            HpRegen: 0.125
  2193.            Mana: 1.25
  2194.        subclasses:
  2195.            Priest:
  2196.                buffs:
  2197.                    ManaRegen: 0.125
  2198.                    Mana: 1.25
  2199.                abilities:
  2200.                    - Divine Protection
  2201.            Cleric:
  2202.                buffs:
  2203.                    HpRegen: 0.125
  2204.                    Mana: 1.25
  2205.                abilities:
  2206.                    - Prayer
  2207.            Necromancer:
  2208.                buffs:
  2209.                    Health: 0.125
  2210.                    Lifesteal: 0.0125
  2211.                abilities:
  2212.                    - Hunger for Darkness
  2213.    Rogue:
  2214.        buffs:
  2215.            SwordDamage: 0.25
  2216.            Dodge: 0.125
  2217.        subclasses:
  2218.            Thief:
  2219.                buffs:
  2220.                    Speed: 0.0025
  2221.                    Dodge: 0.25
  2222.                abilities:
  2223.                    - Sprint
  2224.            Cutthroat:
  2225.                buffs:
  2226.                    SwordDamage: 0.25
  2227.                    Parry: 0.25
  2228.                abilities:
  2229.                    - Blade Flurry
  2230.            Assassin:
  2231.                buffs:
  2232.                    Critical: 0.25
  2233.                    Backstab: 0.075
  2234.                abilities:
  2235.                    - Shade Step
  2236.    Archer:
  2237.        buffs:
  2238.            BowDamage: 0.5
  2239.            Speed: 0.0025
  2240.        subclasses:
  2241.            Marksman:
  2242.                buffs:
  2243.                    LongRangeDamage: 0.75
  2244.                    Speed: 0.0025
  2245.                abilities:
  2246.                    - Aimed Shot
  2247.            Trickster:
  2248.                buffs:
  2249.                    BowDamage: 0.5
  2250.                    Speed: 0.0025
  2251.                abilities:
  2252.                    - Ephemereal Arrow
  2253.            Hunter:
  2254.                buffs:
  2255.                    BowDamage: 0.5
  2256.                    Speed: 0.0025
  2257.                abilities:
  2258.                    - Call Pack
  2259.    Sorcerer:
  2260.        buffs:
  2261.            MagicDamage: 0.25
  2262.            Mana: 1.25
  2263.        subclasses:
  2264.            Mage:
  2265.                buffs:
  2266.                    MagicDamage: 0.25
  2267.                    Mana: 1.25
  2268.                abilities:
  2269.                    - Fireball
  2270.            Alchemist:
  2271.                buffs:
  2272.                    MagicDamage: 0.25
  2273.                    Speed: 0.0025
  2274.                abilities:
  2275.                    - Poison Cloud
  2276.            Spellsword:
  2277.                buffs:
  2278.                    SwordDamage: 0.25
  2279.                    Mana: 1.25
  2280.                abilities:
  2281.                    - Enchanted Armor
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top