jak-project/goal_src/levels/training/training-part.gc

1353 lines
54 KiB
Common Lisp
Raw Normal View History

;;-*-Lisp-*-
2020-09-04 14:44:23 -04:00
(in-package goal)
;; name: training-part.gc
;; name in dgo: training-part
;; dgos: L1, TRA
;; DECOMP BEGINS
(deftype training-part (part-spawner)
()
:heap-base #x60
:method-count-assert 21
:size-assert #xd0
:flag-assert #x15006000d0
)
(defpartgroup group-training-geyser-2
:id 146
:flags (always-draw)
:bounds (static-bspherem 0 32 0 70)
:parts
((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4500)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 4530)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 4560)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 4590)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 960 :offset 4620)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 900 :offset 4650)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4050)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1140 :offset 4080)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1080 :offset 4110)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1020 :offset 4140)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 960 :offset 4170)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 900 :offset 3900)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4050)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1140 :offset 4080)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1080 :offset 4110)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1020 :offset 4140)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 960 :offset 4170)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 900 :offset 3900)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 4050)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 4050)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 3750)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 3450)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 4050)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 4050)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 3750)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 3450)
)
)
(defpartgroup group-training-geyser-5
:id 147
:flags (always-draw)
:bounds (static-bspherem 0 32 0 70)
:parts
((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 900)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 930)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 960)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 990)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 960 :offset 1020)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 900 :offset 1050)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1200 :offset 450)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1140 :offset 420)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1080 :offset 390)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1020 :offset 360)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 960 :offset 330)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 900 :offset 300)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1200 :offset 450)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1140 :offset 420)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1080 :offset 390)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1020 :offset 360)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 960 :offset 330)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 900 :offset 300)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 450)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 450)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 150)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 4650)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 450)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 450)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 150)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 4650)
)
)
(defpartgroup group-training-geyser-6
:id 149
:flags (always-draw)
:bounds (static-bspherem 0 32 0 70)
:parts
((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2100)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 2130)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 2160)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 2190)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 960 :offset 2220)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 900 :offset 2250)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1200 :offset 1650)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1140 :offset 1680)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1080 :offset 1710)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1020 :offset 1740)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 960 :offset 1770)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 900 :offset 1500)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1200 :offset 1650)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1140 :offset 1680)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1080 :offset 1710)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1020 :offset 1740)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 960 :offset 1770)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 900 :offset 1500)
)
)
(defpartgroup group-training-geyser-4
:id 148
:flags (always-draw)
:bounds (static-bspherem 0 32 0 70)
:parts
((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 3300)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 3330)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 3360)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 3390)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 960 :offset 3420)
(sp-item 752 :falloff-to (meters 500) :period 4800 :length 900 :offset 3450)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2850)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1140 :offset 2880)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1080 :offset 2910)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 1020 :offset 2940)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 960 :offset 2970)
(sp-item 753 :falloff-to (meters 500) :period 4800 :length 900 :offset 2700)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2850)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1140 :offset 2880)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1080 :offset 2910)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 1020 :offset 2940)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 960 :offset 2970)
(sp-item 754 :falloff-to (meters 500) :period 4800 :length 900 :offset 2700)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 2850)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 2850)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 2550)
(sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 2250)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 2850)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 2850)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 2550)
(sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 2250)
)
)
(defpart 752
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-flt spt-num 0.2)
(sp-sound (static-sound-spec "geyser" :num 0.1 :fo-min 50 :fo-max 200))
(sp-rnd-flt spt-x (meters 0) (meters 1) 1.0)
(sp-flt spt-y (meters -8))
(sp-flt spt-scale-x (meters 8))
(sp-flt spt-rot-z (degrees 180.0))
(sp-flt spt-scale-y (meters 16))
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 200.0 55.0 1.0)
(sp-rnd-flt spt-b 200.0 55.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0)
(sp-flt spt-scalevel-x (meters 0.0033333334))
(sp-flt spt-accel-y -16.384)
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit2 bit14)
(sp-int spt-next-time 510)
(sp-launcher-by-id spt-next-launcher 761)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 761
:init-specs
((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667))
)
(defpart 753
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
(sp-flt spt-num 0.15)
(sp-rnd-flt spt-x (meters 0) (meters 1) 1.0)
(sp-rnd-flt spt-y (meters 85) (meters 10) 1.0)
(sp-flt spt-scale-x (meters 8))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 200.0 55.0 1.0)
(sp-rnd-flt spt-b 200.0 55.0 1.0)
(sp-flt spt-a 0.0)
(sp-flt spt-scalevel-x (meters 0.035555556))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.053333335)
(sp-flt spt-fade-g -0.053333335)
(sp-flt spt-fade-a 1.0666667)
(sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0)
(sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0)
(sp-int spt-timer 1800)
(sp-cpuinfo-flags bit2 bit14)
(sp-flt spt-userdata 0.0)
(sp-func spt-func 'check-drop-level-training-mist)
(sp-int-plain-rnd spt-next-time 30 29 1)
(sp-launcher-by-id spt-next-launcher 762)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 762
:init-specs
((sp-flt spt-fade-a -0.03678161))
)
(defun check-drop-level-training-mist ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
(when (< (-> arg2 y) (-> arg1 user-float))
(new 'stack-no-clear 'vector)
(sp-kill-particle arg0 arg1)
)
(none)
)
(defpart 754
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
(sp-flt spt-num 0.035)
(sp-rnd-flt spt-x (meters 0) (meters 1) 1.0)
(sp-rnd-flt spt-y (meters 85) (meters 10) 1.0)
(sp-flt spt-scale-x (meters 8))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 200.0 55.0 1.0)
(sp-rnd-flt spt-b 200.0 55.0 1.0)
(sp-flt spt-a 0.0)
(sp-flt spt-scalevel-x (meters 0.035555556))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.053333335)
(sp-flt spt-fade-g -0.053333335)
(sp-flt spt-fade-a 1.0666667)
(sp-rnd-flt spt-accel-x 1.3653333 1.3653333 1.0)
(sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0)
(sp-int spt-timer 1800)
(sp-cpuinfo-flags bit2 bit14)
(sp-flt spt-userdata 0.0)
(sp-func spt-func 'check-drop-level-training-mist)
(sp-int-plain-rnd spt-next-time 30 29 1)
(sp-launcher-by-id spt-next-launcher 762)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 763
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2))
(sp-rnd-int spt-num 0 1 1.0)
(sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 110.0 32.0 1.0)
(sp-rnd-flt spt-g 128.0 32.0 1.0)
(sp-rnd-flt spt-b 64.0 64.0 1.0)
(sp-rnd-flt spt-a 64.0 64.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-fade-a -0.85333335)
(sp-flt spt-accel-y -2.7306666)
(sp-int spt-timer 150)
(sp-cpuinfo-flags bit2 bit3)
(sp-rnd-flt spt-conerot-x (degrees 25.000002) (degrees 40.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 764
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.02))
(sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0)
(sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 110.0 32.0 1.0)
(sp-rnd-flt spt-g 128.0 32.0 1.0)
(sp-rnd-flt spt-b 96.0 32.0 1.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -0.4)
(sp-int spt-timer 120)
(sp-cpuinfo-flags bit2 bit3)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defun check-drop-level-training-spout-rain ((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)
(let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256))
(v1-2 (the-as number (logior #x3f800000 v1-1)))
)
(if (< (+ -1.0 (the-as float v1-2)) 0.25)
(sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t)
)
)
(set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 763)
gp-0
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
(sp-launch-particles-var
*sp-particle-system-3d*
(-> *part-id-table* 764)
gp-0
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
)
)
(none)
)
(defpart 759
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 2.0)
(sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
(sp-rnd-flt spt-y (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
(sp-flt spt-r 50.0)
(sp-rnd-flt spt-g 80.0 55.0 1.0)
(sp-rnd-flt spt-b 50.0 50.0 1.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0)
(sp-int spt-timer 240)
(sp-cpuinfo-flags bit2)
(sp-flt spt-userdata 66560.0)
(sp-func spt-func 'check-drop-level-training-spout-rain)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 760
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 4.0)
(sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
(sp-rnd-flt spt-y (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
(sp-flt spt-r 50.0)
(sp-rnd-flt spt-g 80.0 55.0 1.0)
(sp-rnd-flt spt-b 50.0 50.0 1.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0)
(sp-int spt-timer 240)
(sp-cpuinfo-flags bit2)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 757
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 2.0)
(sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
(sp-rnd-flt spt-y (meters 4) (meters 8) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
(sp-flt spt-r 50.0)
(sp-rnd-flt spt-g 80.0 55.0 1.0)
(sp-rnd-flt spt-b 50.0 50.0 1.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0)
(sp-int spt-timer 240)
(sp-cpuinfo-flags bit2)
(sp-flt spt-userdata 0.0)
(sp-func spt-func 'check-drop-level-training-spout-rain)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 758
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 4.0)
(sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
(sp-rnd-flt spt-y (meters 4) (meters 10) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
(sp-flt spt-r 50.0)
(sp-rnd-flt spt-g 80.0 55.0 1.0)
(sp-rnd-flt spt-b 50.0 50.0 1.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0)
(sp-int spt-timer 240)
(sp-cpuinfo-flags bit2)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 755
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 2.0)
(sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
(sp-rnd-flt spt-y (meters 10) (meters 10) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
(sp-flt spt-r 50.0)
(sp-rnd-flt spt-g 80.0 55.0 1.0)
(sp-rnd-flt spt-b 50.0 50.0 1.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0)
(sp-int spt-timer 240)
(sp-cpuinfo-flags bit2)
(sp-flt spt-userdata 0.0)
(sp-func spt-func 'check-drop-level-training-spout-rain)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 756
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 4.0)
(sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
(sp-rnd-flt spt-y (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
(sp-flt spt-r 50.0)
(sp-rnd-flt spt-g 80.0 55.0 1.0)
(sp-rnd-flt spt-b 50.0 50.0 1.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0)
(sp-int spt-timer 240)
(sp-cpuinfo-flags bit2)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpartgroup group-training-warpgate
:id 150
:bounds (static-bspherem 0 0 0 8)
:parts
((sp-item 767 :fade-after (meters 60) :falloff-to (meters 60))
(sp-item 768 :fade-after (meters 60) :falloff-to (meters 100) :binding 765)
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 765 :flags (bit1 start-dead launch-asap))
(sp-item 769 :fade-after (meters 60) :falloff-to (meters 100) :binding 766)
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 766 :flags (bit1 start-dead launch-asap))
(sp-item 770 :fade-after (meters 100) :flags (is-3d))
)
)
(defpart 770
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2))
(sp-flt spt-num 0.5)
(sp-flt spt-x (meters 0))
(sp-flt spt-scale-x (meters 5))
(sp-flt spt-rot-x 16384.0)
(sp-flt spt-rot-z (degrees 15.0))
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 0.0 32.0 1.0)
(sp-rnd-flt spt-g 0.0 32.0 1.0)
(sp-rnd-flt spt-b 64.0 64.0 1.0)
(sp-rnd-flt spt-a 0.0 64.0 1.0)
(sp-int spt-timer 10)
(sp-cpuinfo-flags bit3 bit14)
)
)
(defpart 769
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 0.25)
(sp-flt spt-x (meters -2))
(sp-flt spt-scale-x (meters 0.25))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-g 128.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.0033333334))
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit3 bit14)
(sp-flt spt-rotate-y (degrees -105.0))
)
)
(defpart 766
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 1.0)
(sp-flt spt-x (meters -0.6666667))
(sp-flt spt-y (meters 4))
(sp-rnd-flt spt-z (meters 5.4) (meters 1) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 0.0 32.0 1.0)
(sp-rnd-flt spt-g 0.0 32.0 1.0)
(sp-rnd-flt spt-b 64.0 196.0 1.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-flt spt-vel-x (meters 0))
(sp-flt spt-vel-z (meters 0))
(sp-flt spt-fade-a 0.16)
(sp-flt spt-accel-x 1.2136296)
(sp-flt spt-accel-z -0.75093335)
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit2 bit3 bit7 bit14)
)
)
(defpart 767
:init-specs
((sp-rnd-flt spt-num 3.0 3.0 1.0)
(sp-flt spt-x (meters -0.5))
(sp-int spt-rot-x 5)
(sp-flt spt-r 4096.0)
(sp-flt spt-g 3481.6)
(sp-flt spt-b 3481.6)
(sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0)
(sp-flt spt-fade-b 2.968116)
(sp-int spt-timer 69)
(sp-cpuinfo-flags aux-list)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 4) (meters 3) 1.0)
(sp-flt spt-rotate-y (degrees -105.0))
)
)
(defpart 768
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 1.0)
(sp-flt spt-scale-x (meters 0.25))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-g 128.0)
(sp-flt spt-a 0.0)
(sp-flt spt-accel-x 0.06826667)
(sp-int spt-timer 690)
(sp-cpuinfo-flags bit3 bit14)
(sp-flt spt-rotate-y (degrees -105.0))
)
)
(defpart 765
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-flt spt-num 1.0)
(sp-flt spt-x (meters -0.6666667))
(sp-flt spt-y (meters 4))
(sp-flt spt-z (meters 2.4))
(sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 0.0 32.0 1.0)
(sp-rnd-flt spt-g 0.0 32.0 1.0)
(sp-rnd-flt spt-b 64.0 64.0 1.0)
(sp-rnd-flt spt-a 8.0 32.0 1.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-flt spt-vel-x (meters -0.0044444446))
(sp-flt spt-vel-z (meters -0.0034999999))
(sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0)
(sp-flt spt-fade-a 0.21333334)
(sp-flt spt-accel-x 4.247704)
(sp-int spt-timer 690)
(sp-cpuinfo-flags bit2 bit3 bit7 bit14)
)
)
(defpartgroup group-training-butterflies
:id 151
:bounds (static-bspherem 0 0 0 30)
:parts
((sp-item 773 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 771)
(sp-item 773 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 771)
(sp-item 773 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 771)
(sp-item 771 :flags (start-dead launch-asap) :binding 772)
(sp-item 772 :flags (is-3d start-dead))
(sp-item 771 :flags (start-dead launch-asap) :binding 772)
(sp-item 772 :flags (is-3d start-dead))
(sp-item 771 :flags (start-dead launch-asap) :binding 772)
(sp-item 772 :flags (is-3d start-dead))
(sp-item 771 :flags (start-dead launch-asap) :binding 772)
(sp-item 772 :flags (is-3d start-dead))
(sp-item 771 :flags (start-dead launch-asap) :binding 772)
(sp-item 772 :flags (is-3d start-dead))
)
)
(defpart 773
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 7.5) 1.0)
(sp-rnd-flt spt-y (meters 14) (meters 3) 1.0)
(sp-flt spt-scale-x (meters 1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-y (meters -0.036666665))
(sp-flt spt-accel-y 1.3653333)
(sp-int spt-timer 6000)
(sp-cpuinfo-flags bit3)
(sp-int spt-next-time 555)
(sp-launcher-by-id spt-next-launcher 774)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 774
:init-specs
((sp-flt spt-accel-y 0.0)
(sp-int-plain-rnd spt-next-time 2700 1499 1)
(sp-launcher-by-id spt-next-launcher 775)
)
)
(defpart 775
:init-specs
((sp-flt spt-accel-y 1.3653333))
)
(defpart 771
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-z (meters 3) (meters 1) 1.0)
(sp-flt spt-scale-x (meters 0.1))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-g 0.0 256.0 1.0)
(sp-rnd-int spt-b 1124073472 1 128.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0)
(sp-flt spt-vel-z (meters 0))
(sp-int spt-timer 6000)
(sp-cpuinfo-flags bit3 bit7)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 776)
)
)
(defpart 776
:init-specs
((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 776)
)
)
(defpart 772
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2))
(sp-func spt-birth-func 'birth-func-copy-rot-color)
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 0.9))
(sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0)
(sp-flt spt-scale-y (meters 1.3))
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-fade-a -8.0)
(sp-int spt-timer 10)
(sp-cpuinfo-flags bit2 bit9 bit12)
)
)
(defpartgroup group-training-birds
:id 152
:bounds (static-bspherem 0 8 0 45)
:parts
((sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777)
(sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777)
(sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777)
(sp-item 777 :flags (start-dead launch-asap) :binding 778)
(sp-item 778 :flags (is-3d start-dead))
(sp-item 777 :flags (start-dead launch-asap) :binding 778)
(sp-item 778 :flags (is-3d start-dead))
(sp-item 777 :flags (start-dead launch-asap) :binding 778)
(sp-item 778 :flags (is-3d start-dead))
)
)
(defun tra-bird-bob-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
(set! (-> arg2 y) (+ (-> (the-as process-drawable (-> arg1 key proc)) root trans y)
(* -2048.0 (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300)))))
)
)
0
(none)
)
(defpart 779
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-func spt-birth-func 'birth-func-random-next-time)
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters -15) (meters 30) 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-z (meters -15) (meters 30) 1.0)
(sp-flt spt-scale-x (meters 1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-a 0.0)
(sp-int spt-timer -1)
(sp-cpuinfo-flags bit3)
(sp-flt spt-userdata 199.98)
(sp-func spt-func 'tra-bird-bob-func)
)
)
(defun tra-sparticle-seagull-moon ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
(set! (-> arg2 vector 1 z) (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48)))
0
(none)
)
(defpart 777
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-func spt-birth-func 'birth-func-copy-omega-to-z)
(sp-flt spt-num 1.0)
(sp-flt spt-x (meters 0))
(sp-flt spt-y (meters 0))
(sp-flt spt-z (meters 30))
(sp-flt spt-scale-x (meters 0))
(sp-flt spt-rot-z (degrees 0.0))
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-flt spt-vel-x (meters 0.0044444446))
(sp-flt spt-vel-z (meters 0))
(sp-flt spt-scalevel-x (meters 0.04))
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit3 bit7)
(sp-func spt-func 'tra-sparticle-seagull-moon)
(sp-int spt-next-time 199)
(sp-launcher-by-id spt-next-launcher 780)
)
)
(defpart 780
:init-specs
((sp-flt spt-scale-x (meters 8))
(sp-flt spt-scalevel-x (meters -0.08))
(sp-int spt-timer 600)
(sp-int spt-next-time 100)
(sp-launcher-by-id spt-next-launcher 781)
)
)
(defpart 781
:init-specs
((sp-flt spt-scale-x (meters 0))
(sp-flt spt-scalevel-x (meters -0.04))
(sp-int spt-timer 600)
(sp-int spt-next-time 199)
(sp-launcher-by-id spt-next-launcher 780)
)
)
(defpart 778
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2))
(sp-func spt-birth-func 'birth-func-copy2-rot-color)
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 4))
(sp-flt spt-scale-y (meters 1.5))
(sp-flt spt-a 128.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags bit2 bit9 bit12)
)
)
(defpartgroup group-training-waterfall-21
:id 153
:flags (always-draw)
:bounds (static-bspherem 0 16 0 32)
:parts
((sp-item 782 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 783 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 784 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 785 :fade-after (meters 80) :falloff-to (meters 80))
(sp-item 786 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 787 :fade-after (meters 160) :falloff-to (meters 160))
)
)
(defpart 789
:init-specs
((sp-flt spt-fade-a -0.10666667))
)
(defpart 790
:init-specs
((sp-flt spt-fade-a -0.16))
)
(defpart 791
:init-specs
((sp-flt spt-fade-a -2.6666667))
)
(defpart 782
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
(sp-flt spt-num 0.9)
(sp-rnd-flt spt-x (meters -9) (meters 1) 1.0)
(sp-flt spt-y (meters 47))
(sp-rnd-flt spt-z (meters -1) (meters 2) 1.0)
(sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0)
(sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 32.0 16.0 1.0)
(sp-flt spt-vel-x (meters 0.05))
(sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0)
(sp-flt spt-scalevel-x (meters 0.0073242188))
(sp-flt spt-scalevel-y (meters 0.029296875))
(sp-flt spt-accel-x -3.7304192)
(sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0)
(sp-int spt-timer 384)
(sp-cpuinfo-flags bit2)
(sp-int spt-next-time 369)
(sp-launcher-by-id spt-next-launcher 791)
(sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
(sp-flt spt-rotate-y (degrees 90.0))
)
)
(defpart 783
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
(sp-flt spt-num 0.9)
(sp-rnd-flt spt-x (meters -9) (meters 1) 1.0)
(sp-rnd-flt spt-y (meters 39) (meters 5) 1.0)
(sp-flt spt-z (meters 0))
(sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0)
(sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 32.0 16.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters 0.011666667) (meters 0.01) 1.0)
(sp-flt spt-scalevel-x (meters 0.0073242188))
(sp-flt spt-scalevel-y (meters 0.029296875))
(sp-flt spt-accel-x -3.7304192)
(sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0)
(sp-int spt-timer 210)
(sp-cpuinfo-flags bit2)
(sp-int spt-next-time 369)
(sp-launcher-by-id spt-next-launcher 791)
(sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
(sp-flt spt-rotate-y (degrees 90.0))
)
)
(defpart 784
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters -2) (meters 3) 1.0)
(sp-rnd-flt spt-y (meters 24) (meters 6) 1.0)
(sp-flt spt-z (meters 2))
(sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0)
(sp-rnd-flt spt-scale-y (meters 4.8) (meters 3.2) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 32.0 16.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0) (meters 0.026666667) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.0033333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.021666666) (meters 0.013333334) 1.0)
(sp-flt spt-scalevel-x (meters 0.0073242188))
(sp-flt spt-scalevel-y (meters 0.029296875))
(sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0)
(sp-int spt-timer 270)
(sp-cpuinfo-flags bit2)
(sp-int spt-next-time 369)
(sp-launcher-by-id spt-next-launcher 791)
(sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
(sp-flt spt-rotate-y (degrees 90.0))
)
)
(defpart 785
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters -9) (meters 1) 1.0)
(sp-flt spt-y (meters 47))
(sp-rnd-flt spt-z (meters -1) (meters 2) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 24.0)
(sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-scalevel-x (meters -0.00024414062))
(sp-flt spt-scalevel-y (meters 0.001953125))
(sp-flt spt-accel-x -2.8444445)
(sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0)
(sp-int spt-timer 510)
(sp-cpuinfo-flags bit2 bit3)
(sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0)
(sp-flt spt-rotate-y (degrees 90.0))
)
)
(defpart 786
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.5 0.4 1.0)
(sp-rnd-flt spt-x (meters -7) (meters 3.5) 1.0)
(sp-flt spt-y (meters 47))
(sp-rnd-flt spt-z (meters -1) (meters 2) 1.0)
(sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 16.0 16.0 1.0)
(sp-flt spt-vel-x (meters 0.021666666))
(sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0)
(sp-flt spt-scalevel-x (meters 0.0146484375))
(sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0)
(sp-flt spt-scalevel-y (meters 0.0146484375))
(sp-flt spt-accel-x -1.189495)
(sp-rnd-flt spt-accel-y -4.096 -1.024 1.0)
(sp-int spt-timer 681)
(sp-cpuinfo-flags bit2)
(sp-int spt-next-time 666)
(sp-launcher-by-id spt-next-launcher 791)
(sp-flt spt-rotate-y (degrees 90.0))
)
)
(defpart 787
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-flt spt-num 0.133)
(sp-rnd-flt spt-x (meters 0) (meters 6) 1.0)
(sp-flt spt-y (meters -3.5))
(sp-rnd-flt spt-z (meters -5) (meters 10) 1.0)
(sp-flt spt-scale-x (meters 12))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0)
(sp-flt spt-vel-y (meters 0.033333335))
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-scalevel-x (meters 0.006666667))
(sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a 1.28)
(sp-flt spt-accel-y 0.013653334)
(sp-flt spt-friction 0.99)
(sp-int spt-timer 900)
(sp-cpuinfo-flags bit2)
(sp-int-plain-rnd spt-next-time 45 29 1)
(sp-launcher-by-id spt-next-launcher 790)
(sp-flt spt-rotate-y (degrees 90.0))
)
)
(defpartgroup group-training-waterfall-20
:id 154
:flags (always-draw)
:bounds (static-bspherem 0 12 0 12)
:parts
((sp-item 792 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 793 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 794 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 795 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 796 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 797 :fade-after (meters 160) :falloff-to (meters 160) :flags (is-3d))
)
)
(defpart 792
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters -6) (meters 1) 1.0)
(sp-flt spt-y (meters 15.5))
(sp-rnd-flt spt-z (meters -6) (meters 6) 1.0)
(sp-rnd-flt spt-scale-x (meters 3.4) (meters 1.6) 1.0)
(sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 32.0 16.0 1.0)
(sp-flt spt-vel-x (meters 0.05))
(sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0)
(sp-flt spt-scalevel-x (meters 0.0073242188))
(sp-flt spt-scalevel-y (meters 0.029296875))
(sp-flt spt-accel-x -3.7304192)
(sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0)
(sp-int spt-timer 210)
(sp-cpuinfo-flags bit2)
(sp-int spt-next-time 369)
(sp-launcher-by-id spt-next-launcher 791)
(sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
(sp-flt spt-rotate-y (degrees 120.0))
)
)
(defpart 793
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
(sp-flt spt-num 1.4)
(sp-rnd-flt spt-x (meters -4) (meters 1) 1.0)
(sp-flt spt-y (meters 15.5))
(sp-rnd-flt spt-z (meters -3) (meters 10) 1.0)
(sp-rnd-flt spt-scale-x (meters 3.4) (meters 1.6) 1.0)
(sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 32.0 16.0 1.0)
(sp-flt spt-vel-x (meters 0.05))
(sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0)
(sp-flt spt-scalevel-x (meters 0.0073242188))
(sp-flt spt-scalevel-y (meters 0.029296875))
(sp-flt spt-accel-x -3.7304192)
(sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0)
(sp-int spt-timer 210)
(sp-cpuinfo-flags bit2)
(sp-int spt-next-time 369)
(sp-launcher-by-id spt-next-launcher 791)
(sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
(sp-flt spt-rotate-y (degrees 190.0))
)
)
(defpart 794
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.5 0.4 1.0)
(sp-rnd-flt spt-x (meters -6) (meters 1) 1.0)
(sp-flt spt-y (meters 15.5))
(sp-rnd-flt spt-z (meters -6) (meters 6) 1.0)
(sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.8) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 16.0 16.0 1.0)
(sp-flt spt-vel-x (meters 0.021666666))
(sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0)
(sp-flt spt-scalevel-x (meters 0.0146484375))
(sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0)
(sp-flt spt-scalevel-y (meters 0.0146484375))
(sp-flt spt-accel-x -1.189495)
(sp-rnd-flt spt-accel-y -4.096 -1.024 1.0)
(sp-int spt-timer 540)
(sp-cpuinfo-flags bit2)
(sp-int spt-next-time 360)
(sp-launcher-by-id spt-next-launcher 791)
(sp-flt spt-rotate-y (degrees 120.0))
)
)
(defpart 795
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.5 0.4 1.0)
(sp-rnd-flt spt-x (meters -4) (meters 1) 1.0)
(sp-flt spt-y (meters 15.5))
(sp-rnd-flt spt-z (meters -3) (meters 10) 1.0)
(sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.8) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 16.0 16.0 1.0)
(sp-flt spt-vel-x (meters 0.021666666))
(sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0)
(sp-flt spt-scalevel-x (meters 0.0146484375))
(sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0)
(sp-flt spt-scalevel-y (meters 0.0146484375))
(sp-flt spt-accel-x -1.189495)
(sp-rnd-flt spt-accel-y -4.096 -1.024 1.0)
(sp-int spt-timer 540)
(sp-cpuinfo-flags bit2)
(sp-int spt-next-time 360)
(sp-launcher-by-id spt-next-launcher 791)
(sp-flt spt-rotate-y (degrees 190.0))
)
)
(defpart 796
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-flt spt-num 0.133)
(sp-rnd-flt spt-x (meters 0) (meters 6) 1.0)
(sp-flt spt-y (meters -3.5))
(sp-rnd-flt spt-z (meters -5) (meters 10) 1.0)
(sp-flt spt-scale-x (meters 12))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0)
(sp-flt spt-vel-y (meters 0.033333335))
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-scalevel-x (meters 0.006666667))
(sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a 1.28)
(sp-flt spt-accel-y 0.013653334)
(sp-flt spt-friction 0.99)
(sp-int spt-timer 900)
(sp-cpuinfo-flags bit2)
(sp-int-plain-rnd spt-next-time 45 29 1)
(sp-launcher-by-id spt-next-launcher 790)
(sp-flt spt-rotate-y (degrees 90.0))
)
)
(defpart 797
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2))
(sp-flt spt-num 0.05)
(sp-rnd-flt spt-x (meters 0) (meters 5) 1.0)
(sp-rnd-flt spt-z (meters -8) (meters 8) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 92.0)
(sp-flt spt-g 92.0)
(sp-flt spt-b 92.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a 0.2)
(sp-int spt-timer 900)
(sp-cpuinfo-flags bit2 bit3)
(sp-int spt-next-time 300)
(sp-launcher-by-id spt-next-launcher 789)
(sp-flt spt-rotate-y (degrees 90.0))
)
)