Date: 2018/08/10 07:35:46 UTC-07:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
}
}