jak-project/goal_src/jak1/levels/village2/village2-part.gc
ManDude cd68cb671e
deftype and defmethod syntax major changes (#3094)
Major change to how `deftype` shows up in our code:
- the decompiler will no longer emit the `offset-assert`,
`method-count-assert`, `size-assert` and `flag-assert` parameters. There
are extremely few cases where having this in the decompiled code is
helpful, as the types there come from `all-types` which already has
those parameters. This also doesn't break type consistency because:
  - the asserts aren't compared.
- the first step of the test uses `all-types`, which has the asserts,
which will throw an error if they're bad.
- the decompiler won't emit the `heap-base` parameter unless necessary
now.
- the decompiler will try its hardest to turn a fixed-offset field into
an `overlay-at` field. It falls back to the old offset if all else
fails.
- `overlay-at` now supports field "dereferencing" to specify the offset
that's within a field that's a structure, e.g.:
```lisp
(deftype foobar (structure)
  ((vec    vector  :inline)
   (flags  int32   :overlay-at (-> vec w))
   )
  )
```
in this structure, the offset of `flags` will be 12 because that is the
final offset of `vec`'s `w` field within this structure.
- **removed ID from all method declarations.** IDs are only ever
automatically assigned now. Fixes #3068.
- added an `:overlay` parameter to method declarations, in order to
declare a new method that goes on top of a previously-defined method.
Syntax is `:overlay <method-name>`. Please do not ever use this.
- added `state-methods` list parameter. This lets you quickly specify a
list of states to be put in the method table. Same syntax as the
`states` list parameter. The decompiler will try to put as many states
in this as it can without messing with the method ID order.

Also changes `defmethod` to make the first type definition (before the
arguments) optional. The type can now be inferred from the first
argument. Fixes #3093.

---------

Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
2023-10-30 03:20:02 +00:00

1982 lines
58 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: village2-part.gc
;; name in dgo: village2-part
;; dgos: L1, VI2
;; DECOMP BEGINS
(deftype villageb-part (part-spawner)
()
)
(defpartgroup group-village2-moth
:id 264
:bounds (static-bspherem 0 0 0 3)
:parts ((sp-item 1129 :fade-after (meters 120) :flags (bit1) :period (seconds 60.1) :length (seconds 0.017) :binding 1127)
(sp-item 1127 :flags (start-dead launch-asap) :binding 1128)
(sp-item 1128 :flags (is-3d start-dead))
)
)
(defpart 1129
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 1.0)
(:scale-x (meters 0.1))
(:scale-y :copy scale-x)
(:r 128.0)
(:a 0.0)
(:timer (seconds 60))
(:flags (bit3))
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 1127
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 1.0)
(:y (meters 0) (meters 16))
(:z (meters 1.5))
(:scale-x (meters 0.1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 0.0)
(:omega 0.0 65536.0)
(:vel-x (meters 0.0044444446) (meters 0.0044444446))
(:vel-y (meters 0.008888889) (meters 0.008888889))
(:vel-z (meters 0))
(:timer (seconds 60))
(:flags (bit3 bit7))
(:next-time (seconds 0.5) (seconds 1.497))
(:next-launcher 1130)
)
)
(defpart 1130
:init-specs ((:vel-x (meters -0.035555556) (meters 0.07111111))
(:vel-y (meters -0.0148148155) (meters 0.029629631))
(:rotvel-z (degrees -0.4) (degrees 0.8))
(:next-time (seconds 0.5) (seconds 1.497))
(:next-launcher 1130)
)
)
(defpart 1128
:init-specs ((:texture (new 'static 'texture-id :index #x22 :page #x2))
(:birth-func 'birth-func-copy-rot-color)
(:num 2.0)
(:scale-x (meters 0.4))
(:rot-x (degrees -60) (degrees 300))
(:scale-y (meters 0.4))
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 128.0)
(:timer (seconds 0.017))
(:flags (bit2 bit3 bit9 bit12))
)
)
(defpartgroup group-village2-tableflys
:id 265
:bounds (static-bspherem 0 3 0 10)
:parts ((sp-item 1133 :flags (launch-asap) :binding 1131)
(sp-item 1134 :flags (launch-asap) :binding 1131)
(sp-item 1135 :flags (launch-asap) :binding 1131)
(sp-item 1131 :flags (start-dead launch-asap) :binding 1132)
(sp-item 1131 :flags (start-dead launch-asap) :binding 1132)
(sp-item 1131 :flags (start-dead launch-asap) :binding 1132)
(sp-item 1132 :flags (is-3d start-dead))
(sp-item 1132 :flags (is-3d start-dead))
(sp-item 1132 :flags (is-3d start-dead))
)
)
(defpart 1133
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 1.0)
(:x (meters 0))
(:y (meters 2))
(:z (meters 5))
(:scale-x (meters 0.01))
(:scale-y :copy scale-x)
(:a 128.0)
(:timer (seconds 1))
(:flags (bit3))
(:next-time (seconds 0.5))
(:next-launcher 1136)
)
)
(defpart 1136
:init-specs ((:timer (seconds 1)) (:next-time (seconds 0.5)) (:next-launcher 1136))
)
(defpart 1134
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 1.0)
(:x (meters 4))
(:y (meters 2))
(:z (meters -2))
(:scale-x (meters 0.01))
(:scale-y :copy scale-x)
(:a 128.0)
(:timer (seconds 1))
(:flags (bit3))
(:next-time (seconds 0.5))
(:next-launcher 1136)
)
)
(defpart 1135
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 1.0)
(:x (meters -4))
(:y (meters 2))
(:z (meters -2))
(:scale-x (meters 0.01))
(:scale-y :copy scale-x)
(:a 128.0)
(:timer (seconds 1))
(:flags (bit3))
(:next-time (seconds 0.5))
(:next-launcher 1136)
)
)
(defpart 1131
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 1.0 1 2.0)
(:y (meters 0) (meters 16))
(:z (meters 1) (meters 1))
(:scale-x (meters 0.1))
(:scale-y :copy scale-x)
(:a 0.0)
(:omega 0.0 65536.0)
(:vel-x (meters 0.0044444446) (meters 0.0044444446))
(:vel-y (meters 0.008888889) (meters 0.008888889))
(:vel-z (meters 0))
(:timer (seconds 1))
(:flags (bit7))
(:next-time (seconds 0.5))
(:next-launcher 1136)
)
)
(defpart 1132
:init-specs ((:texture (new 'static 'texture-id :index #x22 :page #x2))
(:birth-func 'birth-func-copy-rot-color)
(:num 3.0)
(:scale-x (meters 0.15))
(:rot-x (degrees -60) (degrees 300))
(:scale-y (meters 0.15))
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 64.0 64.0)
(:timer (seconds 0.017))
(:flags (bit2 bit9 bit12))
)
)
(defpartgroup group-village2-flamepot
:id 266
:bounds (static-bspherem 0 5 0 6)
:parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180))
(sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 1.641) :length (seconds 0.2))
(sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100))
(sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 1.23) :length (seconds 0.73))
(sp-item 1141 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2.3) :length (seconds 0.3))
(sp-item 1142 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 3.06) :length (seconds 2.23))
(sp-item 1143 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2.5) :length (seconds 0.1))
(sp-item 1144 :fade-after (meters 50) :falloff-to (meters 60))
)
)
(defpartgroup group-village2-flamepot-half
:id 267
:bounds (static-bspherem 0 5 0 6)
:parts ((sp-item 1145 :fade-after (meters 180) :falloff-to (meters 180))
(sp-item 1146 :fade-after (meters 100) :falloff-to (meters 100))
(sp-item 1147 :fade-after (meters 50) :falloff-to (meters 60))
)
)
(defpartgroup group-village2-flamepot-alt1
:id 268
:bounds (static-bspherem 0 5 0 6)
:parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180))
(sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 1.26) :length (seconds 0.2))
(sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100))
(sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 1.45) :length (seconds 0.73))
(sp-item 1141 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 1.76) :length (seconds 0.3))
(sp-item 1142 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 3.59) :length (seconds 2.23))
(sp-item 1143 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2.04) :length (seconds 0.1))
(sp-item 1144 :fade-after (meters 50) :falloff-to (meters 60))
)
)
(defpartgroup group-village2-flamepot-alt2
:id 269
:bounds (static-bspherem 0 5 0 6)
:parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180))
(sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2.031) :length (seconds 0.2))
(sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100))
(sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 0.96) :length (seconds 0.73))
(sp-item 1141 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2.15) :length (seconds 0.3))
(sp-item 1142 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2.57) :length (seconds 2.23))
(sp-item 1143 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2.857) :length (seconds 0.1))
(sp-item 1144 :fade-after (meters 50) :falloff-to (meters 60))
)
)
(defpartgroup group-village2-flamepot-off
:id 270
:bounds (static-bspherem 0 5 0 6)
:parts ((sp-item 1148 :fade-after (meters 100) :falloff-to (meters 100)))
)
(defpart 1144
:init-specs ((:num 0.4)
(:x (meters 1))
(:rot-x 5)
(:r 4096.0)
(:g 2949.12)
(:b 3276.8)
(:vel-x (meters 0) (meters 0.006666667))
(:vel-y (meters 0.026666667))
(:timer (seconds 0.6))
(:flags (aux-list))
(:next-time (seconds 0.4))
(:next-launcher 1149)
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 1149
:init-specs ((:fade-b -5.4613333))
)
(defpart 1147
:init-specs ((:num 0.15)
(:x (meters 0.4))
(:rot-x 5)
(:r 4096.0)
(:g 2867.2)
(:b 3072.0)
(:vel-y (meters 0.01))
(:timer (seconds 0.6))
(:flags (aux-list))
(:next-time (seconds 0.4))
(:next-launcher 1150)
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 1150
:init-specs ((:fade-b -3.4133334))
)
(defpart 1137
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.5 0.4)
(:x (meters -0.25) (meters 0.75))
(:y (meters -0.25))
(:z (meters -0.25) (meters 0.75))
(:scale-x (meters 1) (meters 0.9))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.011666667) (meters 0.0075))
(:rotvel-z (degrees -1.9999999) (degrees 3.9999998))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees 15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1145
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.35 0.25)
(:x (meters -0.1) (meters 0.1))
(:y (meters -0.25))
(:z (meters -0.1) (meters 0.1))
(:scale-x (meters 0.6) (meters 0.6))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.005) (meters 0.004166667))
(:rotvel-z (degrees -0.99999994) (degrees 1.9999999))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters -0.000013333334))
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees 15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1138
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.7 1 1.0)
(:x (meters 0) (meters 0.5))
(:y (meters -0.25))
(:z (meters 0) (meters 0.5))
(:scale-x (meters 1) (meters 0.9))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.02) 1 (meters 0.005))
(:rotvel-z (degrees -1.9999999) (degrees 3.9999998))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.5))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees 15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1139
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.15 0.2)
(:x (meters -0.5) (meters 1))
(:y (meters -0.25))
(:z (meters -0.5) (meters 1))
(:scale-x (meters 2) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 64.0)
(:b 0.0)
(:a 20.0 12.0)
(:vel-y (meters 0.02) (meters 0.01))
(:scalevel-x (meters 0.0055555557))
(:rotvel-z (degrees -0.99999994) (degrees 1.9999999))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.0627451)
(:accel-y (meters -0.00026666667))
(:timer (seconds 2))
(:flags (bit2 bit14))
(:next-time (seconds 0.5) (seconds 0.197))
(:next-launcher 1151)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1146
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.06 0.06)
(:x (meters -0.5) (meters 1))
(:y (meters -0.25))
(:z (meters -0.5) (meters 1))
(:scale-x (meters 2) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 64.0)
(:b 0.0)
(:a 20.0 12.0)
(:vel-y (meters 0.006666667) (meters 0.0033333334))
(:scalevel-x (meters 0.0055555557))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.0627451)
(:accel-y (meters -0.0001))
(:timer (seconds 2))
(:flags (bit2 bit14))
(:next-time (seconds 0.5) (seconds 0.197))
(:next-launcher 1151)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1148
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.08 0.1)
(:x (meters -0.5) (meters 1))
(:y (meters -0.25))
(:z (meters -0.5) (meters 1))
(:scale-x (meters 2) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 64.0)
(:b 0.0)
(:a 20.0 12.0)
(:vel-y (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-x (meters 0.0055555557))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.0627451)
(:accel-y (meters -0.00006666667))
(:timer (seconds 2))
(:flags (bit2 bit14))
(:next-time (seconds 0.5) (seconds 0.197))
(:next-launcher 1151)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1151
:init-specs ((:fade-g 0.53333336) (:fade-b 1.0666667) (:next-time (seconds 0.4)) (:next-launcher 1152))
)
(defpart 1152
:init-specs ((:fade-g 0.0) (:fade-b 0.0))
)
(defpart 1140
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.4 0.55)
(:x (meters -0.6) (meters 1.2))
(:y (meters -0.25))
(:z (meters -0.6) (meters 1.2))
(:scale-x (meters 1) (meters 0.9))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.01) (meters 0.006666667))
(:rotvel-z (degrees -1.9999999) (degrees 3.9999998))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees -15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1141
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.06 1 0.9)
(:x (meters -0.6) (meters 0.5))
(:y (meters 0.75))
(:z (meters -0.6) (meters 0.5))
(:scale-x (meters 1) (meters 0.9))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.02) 1 (meters 0.005))
(:rotvel-z (degrees -1.9999999) (degrees 3.9999998))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.5))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees -15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1142
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.6 0.9)
(:x (meters -0.6) (meters 1.2))
(:y (meters -0.25))
(:z (meters -0.6) (meters 1))
(:scale-x (meters 1) (meters 0.9))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.01) (meters 0.005))
(:rotvel-z (degrees -1.9999999) (degrees 3.9999998))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees 0))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1143
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.7 1 1.5)
(:x (meters -0.25) (meters 0.75))
(:y (meters 0.75))
(:z (meters -0.5) (meters 0.5))
(:scale-x (meters 1) (meters 0.9))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.02) 1 (meters 0.005))
(:rotvel-z (degrees -1.9999999) (degrees 3.9999998))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.5))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees 0))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpartgroup group-village2-fireboulder-off
:id 634
:bounds (static-bspherem 0 4 0 10.5)
:parts ((sp-item 1169 :fade-after (meters 80) :falloff-to (meters 100))
(sp-item 1170 :fade-after (meters 80) :falloff-to (meters 100))
)
)
(defpartgroup group-village2-fireboulder
:id 271
:duration (seconds 60)
:bounds (static-bspherem 0 4 0 10.5)
:parts ((sp-item 1153 :fade-after (meters 200) :falloff-to (meters 240))
(sp-item 1154 :fade-after (meters 100) :falloff-to (meters 120) :period (seconds 1) :length (seconds 0.2))
(sp-item 1155 :fade-after (meters 80) :falloff-to (meters 100))
(sp-item 1156 :fade-after (meters 50) :falloff-to (meters 50))
(sp-item 1157 :fade-after (meters 200) :falloff-to (meters 240))
(sp-item 1158 :fade-after (meters 100) :falloff-to (meters 120) :period (seconds 2) :length (seconds 0.3))
(sp-item 1159 :fade-after (meters 80) :falloff-to (meters 100))
(sp-item 1160 :fade-after (meters 50) :falloff-to (meters 50))
(sp-item 1161 :fade-after (meters 200) :falloff-to (meters 240))
(sp-item 1162 :fade-after (meters 100) :falloff-to (meters 120) :period (seconds 1.5) :length (seconds 0.1))
(sp-item 1163 :fade-after (meters 80) :falloff-to (meters 100))
(sp-item 1164 :fade-after (meters 50) :falloff-to (meters 50))
(sp-item 1165 :fade-after (meters 200) :falloff-to (meters 240))
(sp-item 1166 :fade-after (meters 100) :falloff-to (meters 120) :period (seconds 0.8) :length (seconds 0.25))
(sp-item 1167 :fade-after (meters 80) :falloff-to (meters 100))
(sp-item 1168 :fade-after (meters 200) :falloff-to (meters 240))
(sp-item 1169 :fade-after (meters 80) :falloff-to (meters 100))
(sp-item 1170 :fade-after (meters 80) :falloff-to (meters 100))
)
)
(defpart 1156
:init-specs ((:num 0.15)
(:x (meters 1.5) (meters 1))
(:y (meters 6) (meters 1))
(:z (meters 0.5) (meters 2.5))
(:rot-x 5)
(:r 8192.0)
(:g 6144.0)
(:b 5324.8)
(:vel-x (meters -0.006666667) (meters 0.013333334))
(:vel-y (meters 0.026666667))
(:vel-z (meters -0.006666667) (meters 0.013333334))
(:timer (seconds 0.6))
(:flags (aux-list))
(:next-time (seconds 0.4))
(:next-launcher 1171)
)
)
(defpart 1171
:init-specs ((:fade-b 13.653334))
)
(defpart 1160
:init-specs ((:num 0.15)
(:x (meters -3.5) (meters 0.5))
(:y (meters 5.5) (meters 1))
(:z (meters -1) (meters 1))
(:rot-x 5)
(:r 8192.0)
(:g 6144.0)
(:b 5324.8)
(:vel-x (meters -0.006666667) (meters 0.013333334))
(:vel-y (meters 0.026666667))
(:vel-z (meters -0.006666667) (meters 0.013333334))
(:timer (seconds 0.6))
(:flags (aux-list))
(:next-time (seconds 0.4))
(:next-launcher 1171)
)
)
(defpart 1164
:init-specs ((:num 0.15)
(:x (meters 2.7))
(:y (meters 4) (meters 1))
(:z (meters -3) (meters 2))
(:rot-x 5)
(:r 8192.0)
(:g 6144.0)
(:b 5324.8)
(:vel-x (meters -0.006666667) (meters 0.013333334))
(:vel-y (meters 0.026666667))
(:vel-z (meters -0.006666667) (meters 0.013333334))
(:timer (seconds 0.6))
(:flags (aux-list))
(:next-time (seconds 0.4))
(:next-launcher 1171)
)
)
(defpart 1153
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.7 1.2)
(:x (meters 1.5) (meters 1))
(:y (meters 5) (meters 1))
(:z (meters 0.5) (meters 2.5))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.016666668) (meters 0.01))
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1154
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.6 1 1.7)
(:x (meters 1.5) (meters 0.7))
(:y (meters 6) (meters 0.6))
(:z (meters 0.5) (meters 1.8))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.026666667) 1 (meters 0.006666667))
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.5))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1155
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.05 0.2)
(:x (meters 1.5) (meters 1))
(:y (meters 6) (meters 1))
(:z (meters 0.5) (meters 2.5))
(:scale-x (meters 3) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 64.0)
(:b 0.0)
(:a 20.0 12.0)
(:vel-y (meters 0.023333333) (meters 0.01))
(:scalevel-x (meters 0.005))
(:rotvel-z (degrees -0.99999994) (degrees 1.9999999))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.0627451)
(:accel-y (meters -0.00026666667))
(:timer (seconds 2))
(:flags (bit2))
(:next-time (seconds 0.5) (seconds 0.197))
(:next-launcher 1172)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1172
:init-specs ((:fade-g 0.53333336) (:fade-b 1.0666667) (:next-time (seconds 0.4)) (:next-launcher 1173))
)
(defpart 1173
:init-specs ((:fade-g 0.0) (:fade-b 0.0))
)
(defpart 1157
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.65 1.2)
(:x (meters -3.5) (meters 0.5))
(:y (meters 4.5) (meters 1))
(:z (meters -1) (meters 1))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.016666668) (meters 0.01))
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees 15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1158
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.5 1 1.2)
(:x (meters -3.5) (meters 0.5))
(:y (meters 4.5) (meters 1))
(:z (meters -1) (meters 1))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.026666667) 1 (meters 0.006666667))
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.5))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees 15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1159
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.08 0.25)
(:x (meters -3.5) (meters 0.5))
(:y (meters 5.5) (meters 1))
(:z (meters -1) (meters 1))
(:scale-x (meters 3) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 64.0)
(:b 0.0)
(:a 32.0)
(:vel-y (meters 0.023333333) (meters 0.01))
(:scalevel-x (meters 0.005))
(:rotvel-z (degrees -0.99999994) (degrees 1.9999999))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.0627451)
(:accel-y (meters -0.00026666667))
(:timer (seconds 2))
(:flags (bit2))
(:next-time (seconds 0.5) (seconds 0.197))
(:next-launcher 1172)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees 5))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1161
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.7 1.5)
(:x (meters 2.7))
(:y (meters 3) (meters 1))
(:z (meters -3) (meters 2))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.016666668) (meters 0.01))
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees -15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1162
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.6 1 1.4)
(:x (meters 2.7))
(:y (meters 3) (meters 1))
(:z (meters -3) (meters 2))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.026666667) 1 (meters 0.006666667))
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.5))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees -15))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1163
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.08 0.25)
(:x (meters 2.7))
(:y (meters 4) (meters 1))
(:z (meters -3) (meters 2))
(:scale-x (meters 3) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 64.0)
(:b 0.0)
(:a 32.0)
(:vel-y (meters 0.023333333) (meters 0.01))
(:scalevel-x (meters 0.005))
(:rotvel-z (degrees -0.99999994) (degrees 1.9999999))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.0627451)
(:accel-y (meters -0.00026666667))
(:timer (seconds 2))
(:flags (bit2))
(:next-time (seconds 0.5) (seconds 0.197))
(:next-launcher 1172)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees -5))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1165
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.65 1.5)
(:x (meters -3) (meters 1))
(:y (meters 4) (meters 1))
(:z (meters -3) (meters 1.5))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.016666668) (meters 0.01))
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
(:rotate-y (degrees -45))
)
)
(defpart 1166
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.65 1 1.5)
(:x (meters -3) (meters 1))
(:y (meters 4) (meters 1))
(:z (meters -3) (meters 1.5))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.026666667) 1 (meters 0.006666667))
(:rotvel-z (degrees -3.0000002) (degrees 6.0000005))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5)
(:accel-y (meters -0.000006666667))
(:timer (seconds 0.5))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
(:rotate-y (degrees -45))
)
)
(defpart 1167
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.08 0.25)
(:x (meters -3) (meters 1))
(:y (meters 5) (meters 1))
(:z (meters -3) (meters 1.5))
(:scale-x (meters 3) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 64.0)
(:b 0.0)
(:a 32.0)
(:vel-y (meters 0.023333333) (meters 0.01))
(:scalevel-x (meters 0.005))
(:rotvel-z (degrees -0.99999994) (degrees 1.9999999))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.0627451)
(:accel-y (meters -0.00026666667))
(:timer (seconds 2))
(:flags (bit2))
(:next-time (seconds 0.5) (seconds 0.197))
(:next-launcher 1172)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
(:rotate-y (degrees -45))
)
)
(defpart 1168
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 1.1 0.4)
(:x (meters 1.5) (meters 1))
(:y (meters -0.5))
(:z (meters 0.5) (meters 1))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 32.0 64.0)
(:a 96.0)
(:vel-y (meters 0.006666667) (meters 0.006666667))
(:rotvel-z (degrees -1.9999999) (degrees 3.9999998))
(:fade-g 0.32)
(:fade-b 0.32)
(:fade-a -0.5416667)
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.6) (seconds 0.097))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees -8) 4 (degrees 4))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-z (degrees -45))
(:conerot-radius (meters 0) (meters 0.5))
(:rotate-y (degrees 0) 2 (degrees -102))
)
)
(defpart 1169
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.15 0.15)
(:y (meters 4))
(:scale-x (meters 2.5) (meters 1.2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 64.0)
(:b 64.0)
(:a 0.0)
(:scalevel-x (meters 0.0044444446))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.34133333)
(:fade-g -0.17066666)
(:fade-b -0.17066666)
(:fade-a 0.4)
(:accel-y (meters 0.00033333333))
(:timer (seconds 4))
(:flags (bit2))
(:next-time (seconds 0.25))
(:next-launcher 1174)
(:conerot-x (degrees 30) (degrees 60))
(:conerot-y (degrees 0) (degrees 360))
(:conerot-radius (meters 4.5))
)
)
(defpart 1174
:init-specs ((:vel-y (meters 0.013333334))
(:fade-a 0.0)
(:accel-y (meters -0.000000097656255))
(:next-time (seconds 1))
(:next-launcher 1175)
)
)
(defpart 1175
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:fade-a -0.10666667))
)
(defpart 1170
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.15 0.3)
(:y (meters 0))
(:scale-x (meters 2.5) (meters 1.2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 64.0)
(:g 48.0)
(:b 48.0)
(:a 0.0)
(:vel-y (meters 0.0073333336))
(:scalevel-x (meters 0.0013333333))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.4)
(:accel-y (meters 0.00013333333))
(:friction 0.995)
(:timer (seconds 5.25))
(:flags (bit2))
(:next-time (seconds 0.25))
(:next-launcher 1176)
(:conerot-x (degrees 90))
(:conerot-y (degrees 0) (degrees 360))
(:conerot-radius (meters 2))
)
)
(defpart 1176
:init-specs ((:fade-a 0.0) (:next-time (seconds 2)) (:next-launcher 1177))
)
(defpart 1177
:init-specs ((:vel-x (meters 0))
(:vel-y (meters 0.011666667))
(:vel-z (meters 0))
(:scalevel-x (meters 0.0016666667))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.10666667)
(:fade-g -0.08)
(:fade-b -0.08)
(:fade-a -0.053333335)
(:accel-y (meters 0.000033333334))
(:timer (seconds 2))
)
)
(defpartgroup group-village2-window-flames-45
:id 272
:bounds (static-bspherem 8 -8 0 36)
:parts ((sp-item 1178 :fade-after (meters 300))
(sp-item 1179 :fade-after (meters 300))
(sp-item 1179 :fade-after (meters 180))
(sp-item 1180 :fade-after (meters 200) :period (seconds 7.2) :length (seconds 0.017))
(sp-item 1180 :fade-after (meters 200) :period (seconds 2.23) :length (seconds 0.017))
(sp-item 1180 :fade-after (meters 200) :period (seconds 14.265) :length (seconds 0.017))
(sp-item 1180 :fade-after (meters 200) :period (seconds 4.127) :length (seconds 0.017))
(sp-item 1181 :fade-after (meters 300))
(sp-item 1182 :fade-after (meters 300))
(sp-item 1182 :fade-after (meters 180))
)
)
(defpart 1178
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.015 0.035)
(:x (meters 4) (meters 12))
(:y (meters 4) (meters 8))
(:z (meters 8))
(:scale-x (meters 4) 1 (meters 10))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 32.0)
(:g 32.0)
(:b 32.0)
(:a 0.0 8.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.21333334)
(:accel-y (meters 0.00006666667))
(:timer (seconds 6))
(:flags (bit2))
(:next-time (seconds 1))
(:next-launcher 1183)
(:rotate-y (degrees -15))
)
)
(defpart 1183
:init-specs ((:fade-a 0.0) (:next-time (seconds 1) (seconds 0.997)) (:next-launcher 1184))
)
(defpart 1184
:init-specs ((:fade-a -0.08))
)
(defpart 1179
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.3 0.4)
(:x (meters 10) (meters 4))
(:y (meters 0) (meters 6))
(:z (meters 7) 1 (meters 2))
(:scale-x (meters 2) (meters 5))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 0.0 128.0)
(:b 0.0)
(:a 0.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 4.266667)
(:accel-y (meters 0.0023333333) (meters 0.0026666666))
(:timer (seconds 0.4))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.1))
(:next-launcher 1185)
(:rotate-y (degrees -15))
)
)
(defpart 1185
:init-specs ((:fade-a -0.85333335))
)
(defpart 1180
:init-specs ((:texture (new 'static 'texture-id :index #x4 :page #x2))
(:num 0.8 0.4)
(:x (meters 10) (meters 4))
(:y (meters 6))
(:z (meters 7) 1 (meters 2))
(:scale-x (meters 0.2) (meters 0.2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 0.0 2 128.0)
(:b 0.0)
(:a 255.0)
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:fade-a -0.048484847)
(:accel-x (meters -0.00008333333) (meters 0.00016666666))
(:accel-y (meters -0.00066666666))
(:accel-z (meters -0.00008333333) (meters 0.00016666666))
(:timer (seconds 2.8))
(:flags (bit2 bit3 bit14))
(:rotate-y (degrees -15))
)
)
(defpart 1181
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.015 0.03)
(:x (meters -6) (meters 16))
(:y (meters 8) (meters 8))
(:z (meters -6) (meters 6))
(:scale-x (meters 4) 1 (meters 10))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 32.0)
(:g 32.0)
(:b 32.0)
(:a 0.0 8.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.21333334)
(:accel-y (meters 0.00006666667))
(:timer (seconds 6))
(:flags (bit2))
(:next-time (seconds 1))
(:next-launcher 1183)
(:rotate-y (degrees 15))
)
)
(defpart 1182
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.3 0.3)
(:x (meters 2) (meters 4))
(:y (meters 4) (meters 6))
(:z (meters -8) 1 (meters 2))
(:scale-x (meters 2) (meters 4))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 0.0 128.0)
(:b 0.0)
(:a 0.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 4.266667)
(:accel-y (meters 0.0025) (meters 0.0025))
(:timer (seconds 0.4))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.1))
(:next-launcher 1185)
(:rotate-y (degrees 5))
)
)
(defpartgroup group-village2-window-flames-41
:id 273
:bounds (static-bspherem 8 -8 0 36)
:parts ((sp-item 1186 :fade-after (meters 300))
(sp-item 1187 :fade-after (meters 300))
(sp-item 1187 :fade-after (meters 180))
(sp-item 1188 :fade-after (meters 200) :period (seconds 7.2) :length (seconds 0.017))
(sp-item 1188 :fade-after (meters 200) :period (seconds 2.23) :length (seconds 0.017))
(sp-item 1188 :fade-after (meters 200) :period (seconds 14.265) :length (seconds 0.017))
(sp-item 1188 :fade-after (meters 200) :period (seconds 4.127) :length (seconds 0.017))
(sp-item 1189 :fade-after (meters 300))
(sp-item 1190 :fade-after (meters 300))
(sp-item 1190 :fade-after (meters 180))
)
)
(defpart 1186
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.015 0.03)
(:x (meters 6) (meters 12))
(:y (meters 4) (meters 8))
(:z (meters 8))
(:scale-x (meters 4) 1 (meters 10))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 32.0)
(:g 32.0)
(:b 32.0)
(:a 0.0 8.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.21333334)
(:accel-y (meters 0.00006666667))
(:timer (seconds 6))
(:flags (bit2))
(:next-time (seconds 1))
(:next-launcher 1183)
(:rotate-y (degrees 82))
)
)
(defpart 1187
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.3 0.4)
(:x (meters 10) (meters 4))
(:y (meters 0) (meters 6))
(:z (meters 7) 1 (meters 2))
(:scale-x (meters 2) (meters 5))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 0.0 128.0)
(:b 0.0)
(:a 0.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 4.266667)
(:accel-y (meters 0.0023333333) (meters 0.0026666666))
(:timer (seconds 0.4))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.1))
(:next-launcher 1185)
(:rotate-y (degrees 82))
)
)
(defpart 1188
:init-specs ((:texture (new 'static 'texture-id :index #x4 :page #x2))
(:num 0.8 0.4)
(:x (meters 10) (meters 4))
(:y (meters 6))
(:z (meters 7) 1 (meters 2))
(:scale-x (meters 0.2) (meters 0.2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 0.0 2 128.0)
(:b 0.0)
(:a 255.0)
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:fade-a -0.048484847)
(:accel-x (meters -0.00008333333) (meters 0.00016666666))
(:accel-y (meters -0.00066666666))
(:accel-z (meters -0.00008333333) (meters 0.00016666666))
(:timer (seconds 2.7))
(:flags (bit2 bit3 bit14))
(:rotate-y (degrees 82))
)
)
(defpart 1189
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.015 0.03)
(:x (meters -2) (meters 16))
(:y (meters 8) (meters 8))
(:z (meters -6) (meters 6))
(:scale-x (meters 4) 1 (meters 10))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 32.0)
(:g 32.0)
(:b 32.0)
(:a 0.0 8.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.21333334)
(:accel-y (meters 0.00006666667))
(:timer (seconds 6))
(:flags (bit2))
(:next-time (seconds 1))
(:next-launcher 1183)
(:rotate-y (degrees 112.00001))
)
)
(defpart 1190
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.3 0.3)
(:x (meters 6) (meters 4))
(:y (meters 4) (meters 6))
(:z (meters -8) 1 (meters 2))
(:scale-x (meters 2) (meters 4))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 0.0 128.0)
(:b 0.0)
(:a 0.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 4.266667)
(:accel-y (meters 0.0025) (meters 0.0025))
(:timer (seconds 0.4))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.1))
(:next-launcher 1185)
(:rotate-y (degrees 106))
)
)
(defpartgroup group-village2-big-boulder
:id 274
:bounds (static-bspherem 8 -8 0 36)
:parts ((sp-item 1191 :fade-after (meters 300))
(sp-item 1192 :fade-after (meters 300))
(sp-item 1192 :fade-after (meters 180))
)
)
(defpart 1191
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.015 0.03)
(:x (meters -2) (meters 4))
(:y (meters 8) (meters 4))
(:z (meters -2) (meters 4))
(:scale-x (meters 8) 1 (meters 10))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 32.0)
(:g 32.0)
(:b 32.0)
(:a 0.0 8.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.21333334)
(:accel-y (meters 0.00006666667))
(:timer (seconds 6))
(:flags (bit2))
(:next-time (seconds 1))
(:next-launcher 1183)
(:rotate-y (degrees 0))
)
)
(defpart 1192
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.4 0.4)
(:x (meters 2))
(:y (meters 4))
(:scale-x (meters 2) (meters 5))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 0.0 128.0)
(:b 0.0)
(:a 0.0)
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.020000001) (degrees 0.040000003))
(:scalevel-y :copy scalevel-x)
(:fade-a 4.266667)
(:accel-y (meters 0.0023333333) (meters 0.0026666666))
(:timer (seconds 0.4))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.1))
(:next-launcher 1185)
(:conerot-x (degrees 0) (degrees 90))
(:conerot-y (degrees 0) (degrees 360))
(:conerot-radius (meters 4.5))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-village2-sages-controlpanel
:id 275
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 1193 :fade-after (meters 30) :period (seconds 2.455) :length (seconds 0.035))
(sp-item 1193 :fade-after (meters 30) :period (seconds 5.655) :length (seconds 0.035))
(sp-item 1193 :fade-after (meters 30) :period (seconds 16.93) :length (seconds 0.035))
(sp-item 1194 :fade-after (meters 30) :period (seconds 16.93) :length (seconds 0.035))
(sp-item 1194 :fade-after (meters 30) :period (seconds 7.21) :length (seconds 0.035))
(sp-item 1195 :fade-after (meters 40) :falloff-to (meters 50))
)
)
(defpart 1195
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.2 0.4)
(:x (meters 0.9))
(:y (meters 0.25))
(:z (meters -1.2))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 64.0)
(:g 64.0)
(:b 64.0 32.0)
(:a 0.0)
(:vel-y (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-x (meters 0.0022222223))
(:rotvel-z (degrees -0.4) (degrees 0.8))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.53333336)
(:timer (seconds 2))
(:flags (bit2))
(:next-time (seconds 0.1) (seconds 0.297))
(:next-launcher 1196)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1196
:init-specs ((:fade-r -0.053333335) (:fade-g -0.053333335) (:fade-b -0.053333335) (:fade-a -0.10666667))
)
(defpart 1193
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 4.0 16.0)
(:sound (static-sound-spec "spark" :num 0.1 :volume 100.0))
(:x (meters 0.9))
(:y (meters 0.05))
(:z (meters -0.9))
(:scale-x (meters 0.1) (meters 0.1))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 128.0)
(:b 64.0)
(:a 64.0 64.0)
(:vel-y (meters 0.013333334) (meters 0.08))
(:scalevel-x (meters -0.00055555557))
(:scalevel-y :copy scalevel-x)
(:fade-g -0.2)
(:fade-b -0.2)
(:fade-a -0.6)
(:accel-y (meters -0.0016666667))
(:friction 0.94)
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2))
(:conerot-x (degrees 0) (degrees 120))
(:conerot-y (degrees -45) (degrees 180))
)
)
(defpart 1194
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 4.0 16.0)
(:sound (static-sound-spec "spark" :num 0.1 :volume 100.0))
(:x (meters -1.2))
(:y (meters -0.5))
(:z (meters 1.2))
(:scale-x (meters 0.1) (meters 0.1))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 128.0)
(:b 64.0)
(:a 64.0 64.0)
(:vel-y (meters 0.013333334) (meters 0.08))
(:scalevel-x (meters -0.00055555557))
(:scalevel-y :copy scalevel-x)
(:fade-g -0.2)
(:fade-b -0.2)
(:fade-a -0.6)
(:accel-y (meters -0.0016666667))
(:friction 0.94)
(:timer (seconds 0.3) (seconds 0.197))
(:flags (bit2))
(:conerot-x (degrees 0) (degrees 120))
(:conerot-y (degrees -45) (degrees 180))
)
)
(defpartgroup group-village2-sages-machine
:id 276
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 1199 :fade-after (meters 40) :period (seconds 2.56) :length (seconds 0.035) :binding 1197)
(sp-item 1199 :fade-after (meters 40) :period (seconds 3.655) :length (seconds 0.035) :binding 1198)
(sp-item 1199 :fade-after (meters 40) :period (seconds 7.125) :length (seconds 0.035) :binding 1197)
(sp-item 1197 :fade-after (meters 40) :flags (start-dead))
(sp-item 1197 :fade-after (meters 40) :flags (start-dead))
(sp-item 1198 :fade-after (meters 40) :flags (start-dead))
(sp-item 1200 :fade-after (meters 40) :period (seconds 1) :length (seconds 0.017))
(sp-item 1200 :fade-after (meters 40) :period (seconds 1.567) :length (seconds 0.017))
(sp-item 1200 :fade-after (meters 40) :period (seconds 2.045) :length (seconds 0.017))
(sp-item 1200 :fade-after (meters 40) :period (seconds 4.455) :length (seconds 0.017))
(sp-item 1201 :fade-after (meters 40) :falloff-to (meters 40))
(sp-item 1202 :fade-after (meters 40))
(sp-item 1203 :fade-after (meters 40) :falloff-to (meters 50))
(sp-item 1204 :fade-after (meters 40) :falloff-to (meters 50))
)
)
(defpart 1201
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 0.5 1.0)
(:x (meters -0.75))
(:y (meters -0.8))
(:z (meters 2.6))
(:scale-x (meters 0.2) (meters 0.4))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 128.0)
(:a 64.0 64.0)
(:scalevel-x (meters -0.00055555557))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.06)
(:fade-a -0.18)
(:timer (seconds 0.1) (seconds 1.497))
(:flags (bit2 bit3 bit14))
(:conerot-x (degrees 0) (degrees 180))
(:conerot-y (degrees -120) (degrees 210))
(:conerot-radius (meters 0.3))
)
)
(defpart 1202
:init-specs ((:texture (new 'static 'texture-id :index #x12 :page #x2))
(:num 1.0)
(:x (meters -0.75))
(:y (meters -0.8))
(:z (meters 2.6))
(:scale-x (meters 2) (meters 2.4))
(:scale-y :copy scale-x)
(:r 32.0 64.0)
(:g 32.0 64.0)
(:b 128.0 128.0)
(:a 32.0 64.0)
(:scalevel-x (meters -0.00055555557))
(:scalevel-y :copy scalevel-x)
(:timer (seconds 0.017))
(:flags (bit2 bit3 bit14))
)
)
(defpart 1200
:init-specs ((:texture (new 'static 'texture-id :index #x1f :page #x2))
(:num 1.0 0.5)
(:x (meters -0.7))
(:y (meters -0.7))
(:z (meters 2.6))
(:scale-x (meters 4) (meters 3))
(:rot-x 4)
(:rot-z (degrees 60) (degrees 60))
(:scale-y (meters 0.4) (meters 0.4))
(:r 64.0)
(:g 64.0)
(:b 128.0)
(:a 128.0)
(:fade-a -1.6)
(:timer (seconds 0.3))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.035))
(:next-launcher 1205)
)
)
(defpart 1205
:init-specs ((:r 64.0) (:g 64.0) (:fade-r -1.0666667) (:fade-g -1.0666667) (:fade-a -2.1333334))
)
(defpart 1203
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.2 0.4)
(:x (meters -1.25))
(:y (meters 0))
(:z (meters 0))
(:scale-x (meters 1) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 64.0 32.0)
(:g 64.0)
(:b 64.0 32.0)
(:a 0.0)
(:vel-y (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-x (meters 0.0022222223))
(:rotvel-z (degrees -0.4) (degrees 0.8))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.53333336)
(:timer (seconds 2))
(:flags (bit2))
(:next-time (seconds 0.1) (seconds 0.297))
(:next-launcher 1206)
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0) (meters 0.5))
)
)
(defpart 1206
:init-specs ((:fade-r -0.053333335) (:fade-g -0.053333335) (:fade-b -0.053333335) (:fade-a -0.10666667) (:friction 0.95))
)
(defpart 1204
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 0.2 0.8)
(:x (meters -0.7))
(:y (meters -0.7))
(:z (meters 2.6))
(:scale-x (meters 0.5) (meters 0.25))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 64.0 32.0)
(:g 64.0 32.0)
(:b 64.0)
(:a 32.0 32.0)
(:vel-y (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-x (meters 0.0022222223))
(:rotvel-z (degrees -0.4) (degrees 0.8))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.053333335)
(:fade-g -0.053333335)
(:fade-b -0.053333335)
(:fade-a -0.10666667)
(:friction 0.99)
(:timer (seconds 2))
(:flags (bit2))
(:conerot-x (degrees -4) 4 (degrees 2))
(:conerot-y (degrees -180) (degrees 360))
(:conerot-radius (meters 0))
)
)
(defpart 1199
:init-specs ((:texture (new 'static 'texture-id :index #x12 :page #x2))
(:num 1.0)
(:scale-x (meters 1))
(:scale-y :copy scale-x)
(:r 64.0)
(:g 64.0)
(:b 64.0)
(:a 128.0)
(:fade-a -6.4)
(:timer (seconds 0.067))
(:flags (bit2 bit3))
(:conerot-x (degrees 0) (degrees 180))
(:conerot-y (degrees -60) (degrees 120))
(:conerot-radius (meters 1.1))
)
)
(defpart 1197
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 2.0 8.0)
(:sound (static-sound-spec "spark" :num 0.1 :volume 100.0))
(:scale-x (meters 0.1) (meters 0.1))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 128.0)
(:b 64.0)
(:a 32.0 96.0)
(:vel-y (meters 0.013333334) (meters 0.08))
(:scalevel-x (meters -0.00016666666))
(:scalevel-y :copy scalevel-x)
(:fade-g -0.2)
(:fade-b -0.2)
(:fade-a -0.4)
(:accel-y (meters -0.0016666667))
(:friction 0.92)
(:timer (seconds 1))
(:flags (bit2 bit14))
(:conerot-x (degrees 0) (degrees 120))
(:conerot-y (degrees -180) (degrees 180))
)
)
(defpart 1198
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 2.0 6.0)
(:sound (static-sound-spec "spark" :num 0.1 :volume 100.0))
(:scale-x (meters 0.1) (meters 0.1))
(:scale-y :copy scale-x)
(:r 128.0 128.0)
(:g 128.0)
(:b 64.0)
(:a 32.0 96.0)
(:vel-y (meters 0.013333334) (meters 0.08))
(:scalevel-x (meters -0.00016666666))
(:scalevel-y :copy scalevel-x)
(:fade-g -0.2)
(:fade-b -0.2)
(:accel-y (meters -0.002))
(:friction 0.92)
(:timer (seconds 4))
(:flags (bit2 bit14))
(:userdata 91750.4)
(:func 'check-drop-level-sagehut2)
(:conerot-x (degrees 0) (degrees 120))
(:conerot-y (degrees -180) (degrees 180))
)
)
(defpart 1207
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 0.0 3.0)
(:scale-x (meters 0.075) (meters 0.075))
(:scale-y :copy scale-x)
(:r 128.0 64.0)
(:g 64.0)
(:a 32.0 96.0)
(:vel-y (meters 0.011666667) (meters 0.0033333334))
(:fade-a -0.85333335)
(:accel-y (meters -0.00016666666))
(:timer (seconds 1))
(:flags (bit2 bit14))
(:conerot-x (degrees 50.000004) (degrees 30))
(:conerot-y (degrees 0) (degrees 360))
)
)
(defun check-drop-level-sagehut2 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
(when (< (-> arg2 y) (-> arg1 user-float))
(let ((gp-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(if (< (rand-float-gen) 0.25)
(sound-play "water-drop")
)
(set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
(launch-particles (-> *part-id-table* 1207) gp-0 :rate 1.0)
)
)
(none)
)
(defpartgroup group-village2-fireboulder-hover
:id 678
:duration (seconds 3)
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 16)
:parts ((sp-item 2792 :fade-after (meters 100) :falloff-to (meters 100) :binding 2791)
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2791 :flags (bit1 start-dead launch-asap))
(sp-item 2793)
(sp-item 2794 :falloff-to (meters 400))
(sp-item 2795 :falloff-to (meters 400))
(sp-item 2796 :falloff-to (meters 400))
)
)
(defpart 2795
:init-specs ((:texture (new 'static 'texture-id :index #x23 :page #x2))
(:num 0.2 2.0)
(:scale-x (meters 12.5) (meters 3.5))
(:rot-x 4)
(:rot-z (degrees -45) (degrees 180))
(:scale-y (meters 0.5) (meters 0.2))
(:r 64.0)
(:g 64.0)
(:b 128.0)
(:a 128.0)
(:fade-a -1.5)
(:timer (seconds 0.3))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.035))
(:next-launcher 146)
)
)
(defpart 2794
:init-specs ((:texture (new 'static 'texture-id :index #x24 :page #x2))
(:num 0.2 2.0)
(:scale-x (meters 12.5) (meters 3.5))
(:rot-x 4)
(:rot-z (degrees -45) (degrees 180))
(:scale-y (meters 0.5) (meters 0.1))
(:r 64.0)
(:g 64.0)
(:b 128.0)
(:a 128.0)
(:fade-a -1.5)
(:timer (seconds 0.3))
(:flags (bit2 bit3 bit14))
(:next-time (seconds 0.035))
(:next-launcher 146)
)
)
(defpart 2793
:init-specs ((:texture (new 'static 'texture-id :page #x2))
(:num 1.0)
(:x (meters -0.001) (meters 0.002))
(:y (meters -0.001) (meters 0.002))
(:z (meters -0.001) (meters 0.002))
(:scale-x (meters 14))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 0.0)
(:g 0.0 128.0)
(:b 255.0)
(:a 64.0 64.0)
(:vel-y (meters 0))
(:rotvel-z (degrees -1.2) (degrees 2.4))
(:fade-a -3.2)
(:timer (seconds 0.135))
(:flags (bit2 bit3))
)
)
(defpart 2792
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 1.0)
(:scale-x (meters 1) (meters 0.5))
(:scale-y :copy scale-x)
(:r 255.0)
(:b 128.0 128.0)
(:a 32.0 32.0)
(:scalevel-x (meters -0.0033333334))
(:scalevel-y :copy scalevel-x)
(:timer (seconds 3))
(:flags (bit2 bit3 bit14))
)
)
(defpart 2791
:init-specs ((:texture (new 'static 'texture-id :index #xf :page #x2))
(:num 1.0)
(:x (meters 0) (meters 16))
(:y (meters 0) (meters 16))
(:z (meters 4) (meters 1))
(:scale-x (meters 0.5) (meters 0.2))
(:scale-y :copy scale-x)
(:r 0.0)
(:g 0.0 128.0)
(:b 128.0 128.0)
(:a 128.0)
(:omega 0.0 65536.0)
(:vel-x (meters -0.026666667) 1 (meters 0.053333335))
(:vel-y (meters 0) (meters 0.053333335))
(:vel-z (meters 0))
(:accel-z (meters 0))
(:timer (seconds 3))
(:flags (bit2 bit3 bit7 bit14))
)
)