Paste #48922: Untitled Paste

Date: 2018/08/10 07:35:46 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


FireRing:
    type: world
    debug: false
    events:
        on player starts sneaking:
            - if <player.has_flag[element_toggled]> {
                - queue clear
            }
            - if <player.flag[element]> == fire && <player.location.cursor_on[4].material.name> != air {
                - flag <player> FireRingActive
                - define FireRingBaseLoc l@0,0,4,<player.location.world.name>
                - define FireRingLocs li@
                - define FireRingCenter <player.location>
                - repeat 60 {
                    - define FireRingLocs <def[FireRingLocs].include[<def[FireRingBaseLoc].rotate_around_y[<util.tau.div[60].mul[<def[value]>]>]>]>
                }
                - wait 1t
                - while <player.is_sneaking> {
                    - define FireRingCenter <player.location>
                    - playeffect <def[FireRingLocs].parse[add[<def[FireRingCenter]>]]> effect:flame quantity:1 offset:0.3,3,0.3
                    - playeffect <def[FireRingLocs].parse[add[<def[FireRingCenter]>]]> effect:flame quantity:1 offset:0.3,3,0.3
                    - wait 1t
                }
            }
        on player stops sneaking:
            - if <player.has_flag[FireRingActive]> {
                - flag FireRingActive:!
                - define FireRingLocs li@
                - define FireRingBaseLoc l@0,0,4,<player.location.world.name>
                - define FireRingCenter <player.location>
                - repeat 30 {
                    - define FireRingLocs li@
                    - define FireRingBaseLoc l@0,0,<def[value].add[4]>,<player.location.world.name>
                    - define RadialThickness <def[value]>
                    - repeat <def[RadialThickness].mul[40]> {
                        - define FireRingLocs <def[FireRingLocs].include[<def[FireRingBaseLoc].rotate_around_y[<util.tau.div[<def[RadialThickness].mul[30]>].mul[<def[value]>]>]>]>
                    }
                    - playeffect <def[FireRingLocs].parse[add[<def[FireRingCenter]>]]> effect:flame quantity:1 offset:0.3,3,0.3
                    - wait 1t
                }
            }