Paste #41411: Untitled Paste

Date: 2017/04/18 04:27:47 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Clicker_Balance_Data:
    type: yaml data
    balances:
        1:
            number: 12
            name: trillion
        2:
            number: 15
            name: quadrillion
        3:
            number: 18
            name: quintillion
        4:
            number: 21
            name: sextillion
        5:
            number: 24
            name: septillion
        6:
            number: 27
            name: octillion
        7:
            number: 30
            name: nonillion
        8:
            number: 33
            name: decillion
        9:
            number: 36
            name: undecillion
        10:
            number: 39
            name: duodecillion
        11:
            number: 42
            name: tredecillion
        12:
            number: 45
            name: quattuordecillion
        13:
            number: 48
            name: quindecillion
        14:
            number: 51
            name: sexdecillion
        15:
            number: 54
            name: septendecillion
        16:
            number: 57
            name: octodecillion
        17:
            number: 60
            name: novemdecillion
        18:
            number: 63
            name: vigintillion
        19:
            number: 66
            name: unvigintillion
        20:
            number: 69
            name: duovigintillion
        21:
            number: 72
            name: tresvigintillion
        22:
            number: 75
            name: quattuorvigintillion
        23:
            number: 78
            name: quinquavigintillion
        24:
            number: 81
            name: sesvigintillion
        25:
            number: 84
            name: septemvigintillion
        26:
            number: 87
            name: octovigintillion
        27:
            number: 90
            name: novemvigintillion
        28:
            number: 93
            name: trigintillion
        29:
            number: 96
            name: untrigintillion
        30:
            number: 99
            name: duotrigintillion
        31:
            number: 100
            name: googol
        32:
            number: 102
            name: trestrigintillion
        33:
            number: 105
            name: quattuortrigintillion
        34:
            number: 108
            name: quinquatrigintillion
        35:
            number: 111
            name: sestrigintillion
        36:
            number: 114
            name: septentrigintillion
        37:
            number: 117
            name: octotrigintillion
        38:
            number: 120
            name: noventrigintillion
        39:
            number: 123
            name: quadragintillion
        40:
            number: 153
            name: quinquagintillion
        41:
            number: 183
            name: sexagintillion
        42:
            number: 213
            name: septuagintillion
        43:
            number: 243
            name: octogintillion
        44:
            number: 273
            name: nonagintillion
        45:
            number: 303
            name: centillion
        46:
            number: 306
            name: uncentillion

# 'uncentillion': 1e306,
# 'duocentillion': 1e309,
# 'trescentillion': 1e312,
# 'decicentillion': 1e333,
# 'undecicentillion': 1e336,
# 'viginticentillion': 1e363,
# 'unviginticentillion': 1e366,
# 'trigintacentillion': 1e393,
# 'quadragintacentillion': 1e423,
# 'quinquagintacentillion': 1e453,
# 'sexagintacentillion': 1e483,
# 'septuagintacentillion': 1e513,
# 'octogintacentillion': 1e543,
# 'nonagintacentillion': 1e573,
# 'ducentillion': 1e603,
# 'trecentillion': 1e903,
# 'quadringentillion': 1e1203,
# 'quingentillion': 1e1503,
# 'sescentillion': 1e1803,
# 'septingentillion': 1e2103,
# 'octingentillion': 1e2403,
# 'nongentillion': 1e2703,
# 'millinillion': 1e3003,
# 'googolplex': 1e10e100

Clicker_Balance_Command:
    type: command
    name: money
    alias:
    - balance
    - bal
    script:
    - narrate format:util_ff "Your Money<&co> <proc[Clicker_Convert_Balance].context[<player.money.mul[1]||0>]>"

Clicker_Convert_Balance:
    type: procedure
    definitions: bal
    script:
    # - narrate "<def[bal]> <def[bal].round_to[2]>"
    - if <def[bal].round_to[3].contains[E]> {
        - repeat <s@Clicker_Balance_Data.list_keys[balances].size> {
            - define number <s@Clicker_Balance_Data.yaml_key[balances.<def[value]>.number]>
            - if <def[bal].round_to[3].after[E]> < <def[number]> {
                - define text "<s@Clicker_Balance_Data.yaml_key[balances.<def[value]>.name]>"
                - define jump_amount <def[bal].round_to[3].after[E].mod[3]>
                - define amount "<def[bal].round_to[3].before[E].mul[<el@10.power[<def[jump_amount]>]>].round_to[3]>"
                - determine "<def[amount]> <def[text]>"
            }
        }
    }
    else {
        - if <def[bal].round.length> <= 9 {
            - determine "<def[bal].round_to[2]>"
        }
        else {
            - repeat <s@Clicker_Balance_Data.list_keys[balances].size> {
                - define number <s@Clicker_Balance_Data.yaml_key[balances.<def[value]>.number]>
                - if <def[bal].round.length> <= <def[number]> {
                    - define text "<s@Clicker_Balance_Data.yaml_key[balances.<def[value]>.name]>"
                    - define amount "<def[bal].div[<el@10.power[<def[number].sub_int[3]>]>].round_to[3]>"
                    - determine "<def[amount]> <def[text]>"
                }
            }
        }
    }