Paste #56365: Untitled Paste

Date: 2019/08/04 22:41:13 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


command_Spec:
    type: command
    name: dspecs
    usage: /spec (help/info/list/change/name) (name)
    permission: specs.spec
    aliases:
    - spec
    - specs
    script:
        - define arg:<context.args.[1]||help>
        - define arg2:<context.args.[2]||null>
        - define spec_roots:<yaml[spec_config].list_keys[specs]>
        - foreach <[spec_roots]> as:root:
            - define specs:->:<yaml[spec_config].list_keys[specs.<[root]>]>

        - narrate "Executing loop?"
        - foreach <[specs]> as:spec:
            - narrate "<[spec]>"
            - if <[spec].contains[<[arg]>]>:
                - narrate "Spec found in - <[spec]>"

        - narrate "Executing switch?"
        - choose <[arg]>:
            - case help:
                - narrate "Spec help"

            - case info:
                - if !<player.has_permission[specs.spec.info]>:
                    - stop
                - if <[arg2]> == null:
                    - stop

                - foreach <[specs]> as:spec:
                    - if <[spec].contains[<[arg2]>]>:
                        - narrate "Giving info on spec"

            - case list:
                - if !<player.has_permission[specs.spec.list]>:
                    - stop
                - define index:1
                - foreach <[spec_roots]> as:root:
                    - narrate "<&a><&l><[root]>"
                    - foreach <[specs].[<[index]>]> as:spec:
                        - narrate "<&e>  <[spec]>"
                    - define index:++

            - case change:
                - if !<player.has_permission[specs.spec.change]>:
                    - stop
                - narrate "Changing"

            - case stats:
                - if !<player.has_permission[specs.spec.stats]>:
                    - stop
                - narrate "Stats"


command_Subspec:
    type: command
    name: dspecs
    usage: /spec (help/root/info/list/change) (name)
    aliases:
    - spec
    - specs
    script:
        - define arg:<context.args.[1]||help>
        - define spec_roots:<yaml[spec_config].list_keys[specs]>
        - foreach <[spec_roots]> as:root:
            - define specs:->:<yaml[spec_config].list_keys[specs.<[root]>]>

        - choose <[arg]>:
            - case help:

            - case info:

            - case list:
                - define index:1
                - foreach <[spec_roots]> as:root:
                    - narrate "<&a><&l><[root]>"
                    - foreach <[specs].[<[index]>]> as:spec:
                        - narrate "<&e>  <[spec]>"
                    - define index:++

            - case change:

            - case stats:


handler_dSpecs:
    type: world
    debug: true
    events:
        on server start:
        - yaml id:dspecs_config loadtext:<script[config_dSpecs].to_text>
        - yaml id:spec_config loadtext:<script[config_Specs].to_text>

        on player joins:
        - wait 1t

        on player quits:
        - wait 1t


data_dSpecsPlayer:
    type: yaml data
    specs:


config_dSpecs:
    type: yaml data
    num_specs: 2
    num_subspecs: 1
    reset_on_change: false
    mastery: true


config_Specs:
    type: yaml data
    specs:
        race:
            Human:
                name: Human
                max_level: 40
                description:
                - A human
                subspecs:
                - subrace: Man
                - subrace: Dwarf
                - subrace: Undead
                stats:
                    Damage: 5
                    Health: 5
                    while_full_health:
                        RegenAura: 5
            Orc:
                name: Orc 
                description:
                - An orc
                subspecs:
                - subrace: WarOrc
                - subrace: Goblin
                - subrace: Ogre
                stats:
                    AxeDamage: 5
                    Armor: 5
                    while_dying:
                        Damage: 5
            Elf:
                name: Elf 
                description:
                - An elf
                subspecs:
                - subrace: HighElf
                - subrace: SurfaceElf
                - subrace: DarkElf
                stats:
                    SwordDamage: 5
                    Dodge: 5
                    while_night:
                        Regen: 5
            Beast:
                name: Beast 
                description:
                - A beast
                subspecs:
                - subrace: Vampire
                - subrace: Werewolf
                - subrace: Harpy
                stats:
                    Damage: 5
                    Speed: 0.1
                    while_full_health:
                        speed: 0.1
        class:
            Warrior:
                subspecs:
                - subclass: Protector
                - subclass: Paladin
                - subclass: Champion
            Healer:
                subspecs:
                - subclass: Priest
                - subclass: Cleric
                - subclass: Necromancer
            Thief:
                subspecs:
                - subclass: Rogue
                - subclass: Cutthroat
                - subclass: Assassin
            Archer:
                subspecs:
                - subclass: Marksman
                - subclass: Trickster
                - subclass: Hunter
            Sorcerer:
                subspecs:
                - subclass: Mage
                - subclass: Alchemist
                - subclass: Spellsword
        profession:
            Miner:
                name: Miner
            Farmer:
                name: Farmer
            Mercenary:
                name: Mercenary
            Blacksmith:
                name: Blacksmith
            Technician:
                name: Technician
            Builder:
                name: Builder
            Brewer:
                name: Brewer

    subspecs:
        subrace:
            Man:
                name: Man
                description:
                - A man
            Dwarf:
                name: Dwarf
                description:
                - A dwarf
            Undead:
                name: Undead
                description:
                - An undead
            WarOrc:
                name: War Orc
                description:
                - A war orc
            Goblin:
                name: Goblin
                description:
                - A Goblin
            Ogre:
                name: Ogre
                description:
                - An ogre
            HighElf:
                name: High Elf
                description:
                - A high elf
            SurfaceElf:
                name: Surface Elf
                description:
                - A surface elf
            DarkElf:
                name: Dark Elf
                description:
                - A dark elf
            Vampire:
                name: Vampire
                description:
                - A vampire
            Werewolf:
                name: Werewolf
                description:
                - A werewolf
            Harpy:
                name: Harpy
                description:
                - A harpy
        subclass:
            Protector:
                name: Protector
                description:
                - A protector
            Paladin:
                name: Paladin
                description:
                - A paladin
            Champion:
                name: Champion
                description:
                - A champion
            Priest:
                name: Priest
                description:
                - A priest
            Cleric:
                name: Cleric
                description:
                - A cleric
            Necromancer:
                name: Necromancer
                description:
                - A necromancer
            Rogue:
                name: Rogue
                description:
                - A rogue
            Cutthroat:
                name: Cutthroat
                description:
                - A cutthroat
            Assassin:
                name: Assassin
                description:
                - An assassin
            Marksman:
                name: Marksman
                description:
                - A marksman
            Trickster:
                name: Trickster
                description:
                - A trickster
            Hunter:
                name: Hunter
                description:
                - A hunter
            Mage:
                name: Mage
                description:
                - A mage
            Alchemist:
                name: Alchemist
                description:
                - An alchemist
            Spellsword:
                name: Spellsword
                description:
                - A spellsword