Paste #52377: Spiral thingy updated possibly

Date: 2019/02/14 20:15:41 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Fire_Spell:
  type: task
  debug: true
  definitions: Player|PlayerTarget|Range
  script:

    - define StartPosition <def[Player].location.add[0,1,0]>
    - if <def[player].can_see[<def[PlayerTarget]>]> && <player.location.distance[<def[PlayerTarget].location>]> < <def[Range]> :
        - define EndPosition <def[PlayerTarget].location.add[0,1,0]>
    - else :
        - foreach <def[Player].location.points_between[<def[PlayerTarget].location>]>:
            - narrate <def[value].material>
            - if <def[value].material> != m@air :
                - define EndPosition <def[value]>
                - foreach stop
            - if <def[loop_index]> == <def[Range]> :
                - define EndPosition <def[value]>
                - foreach stop


    - define string <def[StartPosition].points_between[<def[EndPosition]>].distance[0.02]>
    - define pitch <def[player].eye_location.direction[<def[EndPosition]>].pitch.add[90].to_radians>
    - define yaw <def[player].eye_location.direction[<def[EndPosition]>].yaw.mul[-1].to_radians>

    - foreach <def[string]>:
      - define vector <location[<def[loop_index].sin.div[1.5]>,0,<def[loop_index].cos.div[1.5]>]>
      - if <def[loop_index].mod[3]> = 1:
        - playeffect at:<def[value].add[<def[vector].rotate_around_x[<def[pitch]>].rotate_around_y[<def[yaw]>]>]> quantity:3 offset:0.01,0.01,0.01 visibility:50 effect:REDSTONE special_data:.3|255,<li@200|150|100.get[<def[loop_index].mod[4]>]>,0 data:0
      - if <def[loop_index].mod[100]> == 1:
        - wait 1t
      - if <def[loop_index].mod[15]> == 1:
        - playeffect at:<def[value]> effect:flame offset:0.2,0.2,0.2
      - playeffect at:<def[value]> offset:0.1,0.1,0.1 visibility:50 effect:REDSTONE special_data:.5|255,<li@200|150|100.get[<def[loop_index].mod[4]>]>,0 data:0