;;-*-Lisp-*-
(in-package goal)

;; name: neo-wasp-part.gc
;; name in dgo: neo-wasp-part
;; dgos: LFORM, FACD, LPATK, TOWERA, PRECA

;; DECOMP BEGINS

(defpart 2175
  :init-specs ((:texture (gun-enemy-beam level-default-sprite))
    (:birth-func 'birth-func-set-quat)
    (:num 1.0)
    (:scale-x (meters 0.4))
    (:scale-y (meters 8))
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 32.0 64.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-14 left-multiply-quat))
    )
  )

(defpart 2176
  :init-specs ((:texture (starflash level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 1) (meters 1))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 64.0)
    (:b 128.0)
    (:a 64.0 32.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    )
  )

(defpart 2177
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 0.3) (meters 0.3))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 64.0 32.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    )
  )

(defpart 2178
  :init-specs ((:texture (gun-enemy-muzzleflash level-default-sprite))
    (:birth-func 'birth-func-set-quat)
    (:num 1.0)
    (:scale-x (meters 2))
    (:scale-y (meters 4.5))
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 128.0)
    (:fade-a -3.6571429)
    (:timer (seconds 0.117))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 left-multiply-quat))
    )
  )

(defpart 2179
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 2) (meters 2))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 64.0)
    (:b 128.0)
    (:a 128.0)
    (:rotvel-z (degrees -360) (degrees 720))
    (:fade-a -3.6571429)
    (:timer (seconds 0.117))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    )
  )

(defpartgroup group-neo-wasp-shot-hit
  :id 553
  :duration (seconds 1)
  :flags (sp0)
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 2180 :period (seconds 2) :length (seconds 0.017))
    (sp-item 2181 :fade-after (meters 100) :period (seconds 2) :length (seconds 0.017))
    (sp-item 2182 :period (seconds 2) :length (seconds 0.017))
    (sp-item 2183 :fade-after (meters 50) :falloff-to (meters 50) :period (seconds 2) :length (seconds 0.017))
    )
  )

(defpart 2183
  :init-specs ((:texture (hotdot level-default-sprite))
    (:num 20.0 10.0)
    (:y (meters 0.25))
    (:scale-x (meters 0.2) (meters 0.2))
    (:rot-x 4)
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 0.0 96.0)
    (:b 128.0 128.0)
    (:a 64.0 32.0)
    (:vel-y (meters 0.06666667) (meters 0.013333334))
    (:scalevel-x (meters -0.001) (meters -0.00033333333))
    (:rotvel-z (degrees -2.4) 1 (degrees 4.8))
    (:scalevel-y :copy scalevel-x)
    (:fade-g -0.42666668)
    (:accel-y (meters -0.00033333333) (meters -0.0013333333))
    (:friction 0.9)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    (:next-time (seconds 0.667))
    (:next-launcher 2184)
    (:conerot-x (degrees 0) (degrees 360))
    (:conerot-y (degrees 0) (degrees 360))
    )
  )

(defpart 2185
  :init-specs ((:texture (hotdot level-default-sprite))
    (:num 0.5)
    (:scale-x (meters 0.5) (meters 0.3))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 128.0 128.0)
    (:b 32.0 8.0)
    (:a 96.0)
    (:vel-y (meters 0.016666668) (meters 0.033333335))
    (:scalevel-x (meters -0.0005) (meters -0.0005))
    (:scalevel-y :copy scalevel-x)
    (:fade-g -0.64)
    (:fade-b -0.10666667)
    (:accel-y (meters -0.00033333333) (meters -0.0013333333))
    (:friction 0.95)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    (:next-time (seconds 0.335))
    (:next-launcher 2184)
    (:conerot-x (degrees 0) (degrees 180))
    (:conerot-y (degrees 0) (degrees 360))
    )
  )

(defpart 2184
  :init-specs ((:fade-a -0.48 -0.48))
  )

(defpart 2181
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 4))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 128.0)
    (:b 128.0 128.0)
    (:a 128.0)
    (:rotvel-z (degrees -0.1))
    (:fade-a -1.6)
    (:timer (seconds 0.267))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    (:next-time (seconds 0.035))
    (:next-launcher 2186)
    )
  )

(defpart 2186
  :init-specs ((:scale-x (meters 2) (meters 0.5))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 0.0 64.0)
    (:b 128.0 128.0)
    (:next-time (seconds 0.017))
    (:next-launcher 2186)
    )
  )

(defpart 2182
  :init-specs ((:texture (glow level-default-sprite))
    (:num 2.0)
    (:scale-x (meters 1))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 0.0 64.0)
    (:b 128.0 128.0)
    (:a 48.0)
    (:scalevel-x (meters 0.12857144))
    (:rotvel-z (degrees -0.3) (degrees 0.6))
    (:scalevel-y :copy scalevel-x)
    (:fade-g -2.1333334)
    (:fade-b -2.1333334)
    (:timer (seconds 0.267))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
    (:next-time (seconds 0.067))
    (:next-launcher 2187)
    )
  )

(defpart 2187
  :init-specs ((:scale-x (meters 4.5))
    (:scale-y :copy scale-x)
    (:scalevel-x (meters -0.06666667))
    (:scalevel-y :copy scalevel-x)
    (:fade-g -0.53333336)
    (:fade-a -0.8)
    )
  )

(defpart 2180
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 1))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 255.0)
    (:a 96.0)
    (:scalevel-x (meters 0.16666667))
    (:rotvel-z (degrees 0.3))
    (:scalevel-y :copy scalevel-x)
    (:timer (seconds 0.185))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
    (:next-time (seconds 0.05))
    (:next-launcher 2188)
    )
  )

(defpart 2188
  :init-specs ((:scale-x (meters 3.5))
    (:scale-y :copy scale-x)
    (:scalevel-x (meters -0.0875))
    (:scalevel-y :copy scalevel-x)
    (:fade-b -6.4)
    )
  )

(defpartgroup group-neo-wasp-shot-die
  :id 554
  :duration (seconds 0.017)
  :flags (sp0)
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 249))
  )

(defpart 2189
  :init-specs ((:texture (glow-soft level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 2.5))
    (:rot-x (degrees 2.25))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 192.0)
    (:b 64.0)
    (:a 16.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 819.2)
    )
  )

(defpartgroup group-neo-wasp-gun-smoke
  :id 555
  :duration (seconds 0.017)
  :flags (sp0)
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 2190 :flags (sp7)))
  )

(defpart 2190
  :init-specs ((:texture (bigpuff level-default-sprite))
    (:num 1.5)
    (:scale-x (meters 0.5) (meters 0.25))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 64.0 64.0)
    (:g :copy r)
    (:b :copy g)
    (:a 64.0)
    (:vel-z (meters 0.006666667) (meters 0.006666667))
    (:scalevel-x (meters 0.0033333334) (meters 0.004))
    (:rotvel-z (degrees -0.3) (degrees 0.6))
    (:scalevel-y :copy scalevel-x)
    (:fade-a -0.026666667 -0.10666667)
    (:accel-y (meters 0.0001) (meters 0.000033333334))
    (:friction 0.98)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2))
    (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700))
    (:rotate-y (degrees 0))
    )
  )

(defpartgroup group-neo-wasp-gun-casing
  :id 556
  :duration (seconds 0.017)
  :flags (sp0)
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 2191 :fade-after (meters 80) :falloff-to (meters 100) :flags (sp7))
    (sp-item 2192 :fade-after (meters 80) :falloff-to (meters 100) :flags (sp7))
    )
  )

(defpart 2192
  :init-specs ((:texture (bigpuff level-default-sprite))
    (:num 3.0)
    (:scale-x (meters 0.5) (meters 0.25))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 0.0)
    (:a 32.0)
    (:vel-z (meters 0.006666667) (meters 0.006666667))
    (:scalevel-x (meters 0.0033333334) (meters 0.004))
    (:rotvel-z (degrees -0.3) (degrees 0.6))
    (:scalevel-y :copy scalevel-x)
    (:fade-r -2.56)
    (:fade-g -2.56)
    (:fade-b 2.56)
    (:fade-a -0.32)
    (:accel-y (meters 0.0001) (meters 0.000033333334))
    (:friction 0.98)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2))
    (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700))
    (:next-time (seconds 0.167))
    (:next-launcher 2193)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2193
  :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:fade-a -0.026666667 -0.10666667))
  )

(defpart 2191
  :init-specs ((:texture (motion-blur-part level-default-sprite))
    (:num 1.0)
    (:z (meters -0.4))
    (:scale-x (meters 2.5))
    (:rot-x 4)
    (:scale-y (meters 0.15) (meters 0.02))
    (:r 255.0)
    (:g 255.0)
    (:b 255.0)
    (:a 64.0 32.0)
    (:omega (degrees 0.03375))
    (:vel-z (meters 0.033333335) (meters 0.06666667))
    (:fade-b -8.0)
    (:accel-y (meters -0.0016666667) (meters -0.0016666667))
    (:friction 0.9 0.04)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
    (:func 'sparticle-motion-blur)
    (:next-time (seconds 0.05))
    (:next-launcher 2194)
    (:conerot-x (degrees -20) (degrees 40))
    (:conerot-z (degrees 0) (degrees 360))
    (:rotate-y (degrees 0))
    )
  )

(defpart 2194
  :init-specs ((:r 255.0) (:g 255.0) (:b 0.0) (:fade-r 0.0) (:fade-g -2.45) (:fade-a -0.384 -0.96))
  )

(defpartgroup group-neo-wasp-engine
  :id 557
  :duration (seconds 0.017)
  :flags (sp0 sp7)
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 2195 :flags (is-3d sp7))
    (sp-item 2196 :fade-after (meters 120) :falloff-to (meters 120) :flags (sp7))
    (sp-item 2197 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7))
    (sp-item 2198 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7))
    (sp-item 2199 :fade-after (meters 120) :falloff-to (meters 120) :flags (sp7))
    )
  )

(defpart 2195
  :init-specs ((:texture (mech-flame lprecurc-sprite))
    (:num 1.0)
    (:y (meters 0))
    (:z (meters -1.2) (meters 0.1))
    (:scale-x (meters 0.6))
    (:scale-y (meters 2.6))
    (:r 128.0 128.0)
    (:g 64.0 64.0)
    (:b :copy g)
    (:a 128.0 64.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
    (:rotate-x (degrees -90))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2199
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:y (meters -0.3))
    (:scale-x (meters 1.5) (meters 0.1))
    (:rot-x (degrees 2.25))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 64.0 64.0)
    (:b 0.0)
    (:a 16.0 8.0)
    (:omega (degrees 2718))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    )
  )

(defpart 2196
  :init-specs ((:texture (bigpuff level-default-sprite))
    (:num 0.5)
    (:y (meters 0) (meters -0.25))
    (:scale-x (meters 0.2) (meters 0.2))
    (:rot-z (degrees 0) 1 (degrees 180))
    (:scale-y (meters 1) (meters 0.6))
    (:r 192.0)
    (:g 64.0)
    (:b 0.0)
    (:a 0.0 16.0)
    (:vel-y (meters -0.1) (meters -0.016666668))
    (:scalevel-x (meters 0.033333335))
    (:scalevel-y (meters 0.006666667))
    (:fade-r -2.0)
    (:fade-g 2.0)
    (:fade-b 5.0)
    (:fade-a 0.32)
    (:accel-x (meters 0) (meters 0.0016666667))
    (:accel-y (meters 0.00016666666) (meters 0.00033333333))
    (:friction 0.94)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 sp-cpuinfo-flag-14 launch-along-z))
    (:next-time (seconds 0.085))
    (:next-launcher 2200)
    (:rotate-y (degrees 0) (degrees 360))
    )
  )

(defpart 2200
  :init-specs ((:r 64.0 64.0)
    (:g 64.0 64.0)
    (:b 64.0 64.0)
    (:fade-r 0.0)
    (:fade-g 0.0)
    (:fade-b 0.0)
    (:fade-a -0.064 -0.128)
    )
  )

(defpart 2197
  :init-specs ((:texture (hotdot level-default-sprite))
    (:num 0.1 0.1)
    (:y (meters 0.25) (meters -0.5))
    (:scale-x (meters 0.05))
    (:scale-y (meters 0.5))
    (:r 192.0 64.0)
    (:g 0.0 128.0)
    (:b 0.0)
    (:a 128.0)
    (:vel-y (meters -0.033333335) (meters -0.026666667))
    (:scalevel-x (meters 0.001))
    (:scalevel-y (meters -0.017))
    (:fade-g 0.0)
    (:accel-x (meters 0) (meters 0.0016666667))
    (:accel-y (meters 0.00016666666) (meters 0.0005))
    (:friction 0.96)
    (:timer (seconds 0.167) (seconds 0.247))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-13 sp-cpuinfo-flag-14 launch-along-z))
    (:next-time (seconds 0.1))
    (:next-launcher 2201)
    (:rotate-y (degrees 0) (degrees 360))
    )
  )

(defpart 2201
  :init-specs ((:scalevel-x (meters 0)) (:scalevel-y (meters 0)))
  )

(defpart 2198
  :init-specs ((:num 1.0)
    (:rot-x 8)
    (:r 1638.4)
    (:g 1331.2)
    (:b 1433.6)
    (:vel-y (meters -0.1) (meters -0.016666668))
    (:fade-r 32.768)
    (:fade-g 26.623999)
    (:fade-b 28.671999)
    (:accel-x (meters 0) (meters 0.0016666667))
    (:friction 0.94)
    (:timer (seconds 0.335))
    (:flags (distort launch-along-z))
    (:next-time (seconds 0.167))
    (:next-launcher 2202)
    (:rotate-y (degrees 0) (degrees 360))
    )
  )

(defpart 2202
  :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b -4.096))
  )
