Paste #114661: scrolling

Date: 2023/08/31 11:03:24 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


rw_trait_scrolling_task:
    type: task
    debug: false
    definitions: selection
    script:
        - define player <player>
        - define traits_data <script[cfg_traits].data_key[traits]>
        - define traits <list[<[player].flag[TRAITS_SELECTION].sub[1]>|<[player].flag[TRAITS_SELECTION]>|<[player].flag[TRAITS_SELECTION].add[1]>]>

        # makes the list wrap around itself
        - foreach <[traits]> as:trait:
            - if <[trait]> < 1:
                - define new_trait <[traits_data].size.sub[<[trait].mod[<[traits_data].size>].abs>]>
            - else if <[trait]> > <[traits_data].size>:
                - define new_trait <element[1].add[<[trait].mod[<[traits_data].size>]>]>
            - else:
                - define new_trait <[trait]>
            - define new_traits:->:<[new_trait]>

        - define trait_1 <[traits_data].get[<[traits_data].keys.get[<[new_traits].get[1]>]>]>
        - define trait_2 <[traits_data].get[<[traits_data].keys.get[<[new_traits].get[2]>]>]>
        - define trait_3 <[traits_data].get[<[traits_data].keys.get[<[new_traits].get[3]>]>]>