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

;; name: gun-dummy-part.gc
;; name in dgo: gun-dummy-part
;; dgos: GGA

;; DECOMP BEGINS

(defpartgroup group-gun-dummy-sparks
  :id 1413
  :bounds (static-bspherem 0 0 0 2)
  :parts ((sp-item 4657 :fade-after (meters 50) :falloff-to (meters 100)) (sp-item 4658 :fade-after (meters 50)))
  )

(defpart 4657
  :init-specs ((:texture (motion-blur-part level-default-sprite))
    (:num 2.0 4.0)
    (:scale-x (meters 2.5))
    (:rot-x 4)
    (:scale-y (meters 0.04) (meters 0.03))
    (:r 255.0)
    (:g 128.0 128.0)
    (:b 0.0 128.0)
    (:a 128.0)
    (:omega (degrees 0.01125) (degrees 0.01125))
    (:vel-y (meters 0.1) (meters 0.06666667))
    (:fade-g -2.55 -2.55)
    (:fade-b -8.0)
    (:fade-a -0.64 -0.64)
    (:friction 0.8 0.02)
    (:timer (seconds 0.335))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
    (:func 'sparticle-motion-blur)
    (:conerot-x (degrees 0) (degrees 80))
    (:conerot-y (degrees 0) (degrees 3600))
    )
  )

(defpart 4658
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 0.25))
    (:rot-x (degrees 0.225))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 128.0 128.0)
    (:b 0.0)
    (:a 96.0 16.0)
    (:omega (degrees 1136.25))
    (:scalevel-x (meters 0.08))
    (:scalevel-y :copy scalevel-x)
    (:fade-g -10.2)
    (:fade-a -4.48)
    (:timer (seconds 0.085))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 0.0)
    )
  )

(defpartgroup group-dummy-explode-cit-a
  :id 1414
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4664 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpartgroup group-dummy-explode-cit-b
  :id 1415
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4664 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpartgroup group-dummy-explode-cit-c
  :id 1416
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4664 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpartgroup group-dummy-explode-cit-d
  :id 1417
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4664 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpart 4664
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:y (meters 1.5))
    (:scale-x (meters 5))
    (:rot-x (degrees 0.675))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 128.0 64.0)
    (:g 96.0 32.0)
    (:b 32.0 32.0)
    (:a 64.0)
    (:omega (degrees 1136.25))
    (:scalevel-x (meters 0.2))
    (:scalevel-y :copy scalevel-x)
    (:fade-a -2.56)
    (:timer (seconds 0.085))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 1024.0)
    )
  )

(defpart 4661
  :init-specs ((:texture (dirtpuff01 level-default-sprite))
    (:num 12.0 3.0)
    (:y (meters 0.5) (meters 2))
    (:z (meters -1.5) (meters 3))
    (:scale-x (meters 2) (meters 2))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y (meters 2) (meters 2))
    (:r 128.0 64.0)
    (:g 96.0 32.0)
    (:b 32.0 32.0)
    (:a 16.0 8.0)
    (:vel-y (meters 0.05) (meters 0.033333335))
    (:scalevel-x (meters 0) (meters 0.0033333334))
    (:rotvel-z (degrees -0.2) (degrees 0.4))
    (:scalevel-y (meters 0) (meters 0.0033333334))
    (:fade-a -0.02 -0.02)
    (:accel-y (meters -0.00033333333) (meters -0.00083333335))
    (:friction 0.82 0.07)
    (:timer (seconds 4))
    (:flags (sp-cpuinfo-flag-2))
    (:conerot-x (degrees 30) (degrees 50.000004))
    (:conerot-y (degrees 0) (degrees 180))
    (:rotate-y (degrees 0))
    )
  )

(defpart 4660
  :init-specs ((:texture (gen-01 gungame-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 12.0 4.0)
    (:y (meters 0.5) (meters 2))
    (:z (meters -1.5) (meters 3))
    (:scale-x (meters 0.2) (meters 0.3))
    (:rot-x (degrees 0) (degrees 3600))
    (:rot-y (degrees 0) (degrees 3600))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y (meters 0.2) (meters 0.3))
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 128.0)
    (:vel-y (meters 0.083333336) (meters 0.05))
    (:scalevel-x (meters -0.00022222222))
    (:rotvel-x (degrees -2) (degrees 4))
    (:rotvel-y (degrees -2) (degrees 4))
    (:rotvel-z (degrees -2) (degrees 4))
    (:scalevel-y (meters -0.00022222222))
    (:fade-a -0.21333334 -0.21333334)
    (:accel-y (meters -0.0033333334) (meters -0.0016666667))
    (:friction 0.92 0.07)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 left-multiply-quat))
    (:userdata :data (new 'static 'boxed-array :type int32
                       5
                       0
                       0
                       #x56d01100
                       #x56d01200
                       #x56d01300
                       #x56d01400
                       #x56d00600
                       #x56d00700
                       #x56d00800
                       )
               )
    (:next-time (seconds 0.335) (seconds 0.33))
    (:next-launcher 4665)
    (:conerot-x (degrees 0) (degrees 110))
    (:conerot-y (degrees 0) (degrees 180))
    (:rotate-y (degrees 0))
    )
  )

(defpart 4665
  :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335) (seconds 0.33)) (:next-launcher 4666))
  )

(defpart 4666
  :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335) (seconds 0.33)) (:next-launcher 4667))
  )

(defpart 4667
  :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335)) (:next-launcher 4668))
  )

(defpart 4659
  :init-specs ((:texture (gen-01 gungame-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 8.0 4.0)
    (:y (meters 0.5) (meters 2))
    (:z (meters -1.5) (meters 3))
    (:scale-x (meters 0.5) (meters 0.5))
    (:rot-x (degrees 0) (degrees 3600))
    (:rot-y (degrees 0) (degrees 3600))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 32.0 223.0)
    (:g :copy r)
    (:b :copy r)
    (:a 128.0)
    (:vel-y (meters 0.1) (meters 0.06666667))
    (:rotvel-x (degrees -2) (degrees 4))
    (:rotvel-y (degrees -2) (degrees 4))
    (:rotvel-z (degrees -2) (degrees 4))
    (:accel-y (meters -0.0033333334) (meters -0.0016666667))
    (:friction 0.92 0.07)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2 left-multiply-quat))
    (:userdata :data (new 'static 'boxed-array :type int32
                       5
                       0
                       0
                       #x56d01100
                       #x56d01200
                       #x56d01300
                       #x56d01400
                       #x56d00600
                       #x56d00700
                       #x56d00800
                       )
               )
    (:next-time (seconds 0.335) (seconds 0.33))
    (:next-launcher 4665)
    (:conerot-x (degrees 0) (degrees 110))
    (:conerot-y (degrees 0) (degrees 180))
    (:rotate-y (degrees 0))
    )
  )

(defpartgroup group-dummy-explode-kg-big
  :id 1418
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4672 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpartgroup group-dummy-explode-kg-b
  :id 1419
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4672 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpartgroup group-dummy-explode-kg-c
  :id 1420
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4672 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpartgroup group-dummy-explode-kg-gun
  :id 1421
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4672 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpartgroup group-dummy-explode-bomb-spider-shatter
  :id 1422
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4672 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpart 4672
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:y (meters 1.5))
    (:scale-x (meters 5))
    (:rot-x (degrees 0.675))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 64.0 64.0)
    (:g 128.0 64.0)
    (:b 192.0)
    (:a 64.0)
    (:omega (degrees 1136.25))
    (:scalevel-x (meters 0.2))
    (:scalevel-y :copy scalevel-x)
    (:fade-a -2.56)
    (:timer (seconds 0.085))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 1024.0)
    )
  )

(defpart 4671
  :init-specs ((:texture (bigpuff level-default-sprite))
    (:num 12.0 3.0)
    (:y (meters 0.5) (meters 2))
    (:z (meters -1.5) (meters 3))
    (:scale-x (meters 2) (meters 2))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y (meters 2) (meters 2))
    (:r 64.0 32.0)
    (:g 96.0 32.0)
    (:b 96.0 32.0)
    (:a 16.0 8.0)
    (:vel-y (meters 0.05) (meters 0.033333335))
    (:scalevel-x (meters 0) (meters 0.0033333334))
    (:rotvel-z (degrees -0.2) (degrees 0.4))
    (:scalevel-y (meters 0) (meters 0.0033333334))
    (:fade-a -0.02 -0.02)
    (:accel-y (meters -0.00033333333) (meters -0.00083333335))
    (:friction 0.82 0.07)
    (:timer (seconds 4))
    (:flags (sp-cpuinfo-flag-2))
    (:conerot-x (degrees 30) (degrees 50.000004))
    (:conerot-y (degrees 0) (degrees 180))
    (:rotate-y (degrees 0))
    )
  )

(defpart 4670
  :init-specs ((:texture (gen-01 gungame-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 12.0 4.0)
    (:y (meters 0.5) (meters 2))
    (:z (meters -1.5) (meters 3))
    (:scale-x (meters 0.2) (meters 0.3))
    (:rot-x (degrees 0) (degrees 3600))
    (:rot-y (degrees 0) (degrees 3600))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y (meters 0.2) (meters 0.3))
    (:r 255.0)
    (:g 255.0)
    (:b 255.0)
    (:a 128.0)
    (:vel-y (meters 0.083333336) (meters 0.05))
    (:scalevel-x (meters -0.00022222222))
    (:rotvel-x (degrees -4.8) (degrees 9.6))
    (:rotvel-y (degrees -4.8) (degrees 9.6))
    (:rotvel-z (degrees -4.8) (degrees 9.6))
    (:scalevel-y (meters -0.00022222222))
    (:fade-a -0.21333334 -0.21333334)
    (:accel-y (meters -0.0033333334) (meters -0.0016666667))
    (:friction 0.92 0.07)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
    (:userdata :data (new 'static 'boxed-array :type int32
                       5
                       0
                       0
                       #x56d01500
                       #x56d01600
                       #x56d01700
                       #x56d01800
                       #x56d01500
                       #x56d01600
                       #x56d01700
                       #x56d01500
                       #x56d01600
                       #x56d01700
                       #x56d01800
                       #x56d01800
                       #x56d00600
                       #x56d00700
                       #x56d00800
                       )
               )
    (:next-time (seconds 0.335) (seconds 0.33))
    (:next-launcher 4665)
    (:conerot-x (degrees 0) (degrees 110))
    (:conerot-y (degrees 0) (degrees 180))
    (:rotate-y (degrees 0))
    )
  )

(defpart 4669
  :init-specs ((:texture (gen-01 gungame-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 8.0 4.0)
    (:y (meters 0.5) (meters 2))
    (:z (meters -1.5) (meters 3))
    (:scale-x (meters 0.5) (meters 0.5))
    (:rot-x (degrees 0) (degrees 3600))
    (:rot-y (degrees 0) (degrees 3600))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 255.0)
    (:a 128.0)
    (:vel-y (meters 0.1) (meters 0.06666667))
    (:rotvel-x (degrees -4.8) (degrees 9.6))
    (:rotvel-y (degrees -4.8) (degrees 9.6))
    (:rotvel-z (degrees -4.8) (degrees 9.6))
    (:accel-y (meters -0.0033333334) (meters -0.0016666667))
    (:friction 0.92 0.07)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
    (:userdata :data (new 'static 'boxed-array :type int32
                       5
                       0
                       0
                       #x56d01500
                       #x56d01600
                       #x56d01700
                       #x56d01800
                       #x56d01500
                       #x56d01600
                       #x56d01700
                       #x56d01500
                       #x56d01600
                       #x56d01700
                       #x56d01800
                       #x56d01800
                       #x56d00600
                       #x56d00700
                       #x56d00800
                       )
               )
    (:func 'check-gungame-piece-ground)
    (:next-time (seconds 0.335) (seconds 0.33))
    (:next-launcher 4665)
    (:conerot-x (degrees 0) (degrees 110))
    (:conerot-y (degrees 0) (degrees 180))
    (:rotate-y (degrees 0))
    )
  )

(defpartgroup group-dummy-explode-kg-bonus
  :id 1423
  :duration (seconds 8)
  :flags (sp0 sp6 sp7)
  :bounds (static-bspherem 0 0 0 15)
  :rotate ((degrees 0) (degrees 90) (degrees 0))
  :scale (1.0 0.83 1.2)
  :parts ((sp-item 4673 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035))
    (sp-item 4674 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05))
    (sp-item 4672 :period (seconds 4) :length (seconds 0.017))
    )
  )

(defpart 4674
  :init-specs ((:texture (gen-01 gungame-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 12.0 4.0)
    (:y (meters 0.5) (meters 2))
    (:z (meters -1.5) (meters 3))
    (:scale-x (meters 0.2) (meters 0.3))
    (:rot-x (degrees 0) (degrees 3600))
    (:rot-y (degrees 0) (degrees 3600))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y (meters 0.2) (meters 0.3))
    (:r 255.0)
    (:g 255.0)
    (:b 255.0)
    (:a 128.0)
    (:vel-y (meters 0.083333336) (meters 0.05))
    (:scalevel-x (meters -0.00022222222))
    (:rotvel-x (degrees -4.8) (degrees 9.6))
    (:rotvel-y (degrees -4.8) (degrees 9.6))
    (:rotvel-z (degrees -4.8) (degrees 9.6))
    (:scalevel-y (meters -0.00022222222))
    (:fade-a -0.21333334 -0.21333334)
    (:accel-y (meters -0.0033333334) (meters -0.0016666667))
    (:friction 0.92 0.07)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
    (:userdata :data (new 'static 'boxed-array :type int32
                       5
                       0
                       0
                       #x56d01900
                       #x56d01a00
                       #x56d01b00
                       #x56d01900
                       #x56d01a00
                       #x56d01b00
                       #x56d01900
                       #x56d01a00
                       #x56d01b00
                       #x56d00600
                       #x56d00700
                       #x56d00800
                       )
               )
    (:next-time (seconds 0.335) (seconds 0.33))
    (:next-launcher 4665)
    (:conerot-x (degrees 0) (degrees 110))
    (:conerot-y (degrees 0) (degrees 180))
    (:rotate-y (degrees 0))
    )
  )

(defpart 4673
  :init-specs ((:texture (gen-01 gungame-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 8.0 4.0)
    (:y (meters 0.5) (meters 2))
    (:z (meters -1.5) (meters 3))
    (:scale-x (meters 0.5) (meters 0.5))
    (:rot-x (degrees 0) (degrees 3600))
    (:rot-y (degrees 0) (degrees 3600))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 255.0)
    (:a 128.0)
    (:vel-y (meters 0.1) (meters 0.06666667))
    (:rotvel-x (degrees -4.8) (degrees 9.6))
    (:rotvel-y (degrees -4.8) (degrees 9.6))
    (:rotvel-z (degrees -4.8) (degrees 9.6))
    (:accel-y (meters -0.0033333334) (meters -0.0016666667))
    (:friction 0.92 0.07)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
    (:userdata :data (new 'static 'boxed-array :type int32
                       5
                       0
                       0
                       #x56d01900
                       #x56d01a00
                       #x56d01b00
                       #x56d01900
                       #x56d01a00
                       #x56d01b00
                       #x56d01900
                       #x56d01a00
                       #x56d01b00
                       #x56d00600
                       #x56d00700
                       #x56d00800
                       )
               )
    (:next-time (seconds 0.335) (seconds 0.33))
    (:next-launcher 4665)
    (:conerot-x (degrees 0) (degrees 110))
    (:conerot-y (degrees 0) (degrees 180))
    (:rotate-y (degrees 0))
    )
  )

(defpartgroup group-dummy-explode-bomb-spider-explode
  :id 1424
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 0 0 20)
  :parts ((sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035))
    (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035))
    (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035))
    (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.085))
    (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.085))
    (sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50)
    (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50)
    (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035) :offset 50)
    (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50)
    (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50)
    (sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 75)
    (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 75)
    (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035) :offset 75)
    (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.1) :offset 75)
    (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.1) :offset 75)
    )
  )

(defpart 4675
  :init-specs ((:texture (colorflash level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 2) (meters 6))
    (:rot-x (degrees 22.5))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 128.0)
    (:scalevel-x (meters -0.033333335))
    (:scalevel-y :copy scalevel-x)
    (:timer (seconds 0.067))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:rotate-y (degrees 0))
    )
  )

(defpart 4676
  :init-specs ((:texture (ring level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 10))
    (:rot-x (degrees 22.5))
    (:scale-y :copy scale-x)
    (:r 0.0)
    (:g 32.0)
    (:b 128.0)
    (:a 8.0)
    (:timer (seconds 0.035))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:rotate-y (degrees 0))
    )
  )

(defpart 4677
  :init-specs ((:texture (glow-soft level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 20))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 64.0)
    (:fade-a -3.2)
    (:timer (seconds 0.067))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-y (degrees 0))
    )
  )

(defun spt-func-ground-spark-bounce ((arg0 sparticle-system)
                            (arg1 sparticle-cpuinfo)
                            (arg2 sprite-vec-data-3d)
                            (arg3 sparticle-launcher)
                            (arg4 sparticle-launch-state)
                            )
  (when (and (< (-> arg2 x-y-z-sx y) 34734.08) (< (-> arg1 vel-sxvel y) 0.0))
    (let ((s5-0 (new 'stack-no-clear 'vector)))
      (sp-kill-particle arg0 arg1)
      (set-vector! s5-0 (-> arg2 x-y-z-sx x) (-> arg2 x-y-z-sx y) (-> arg2 x-y-z-sx z) 1.0)
      (launch-particles (-> *part-id-table* 4680) s5-0)
      )
    )
  (none)
  )

(defpart 4678
  :init-specs ((:texture (glow-hotdot level-default-sprite))
    (:num 20.0)
    (:scale-x (meters 0.2))
    (:scale-y :copy scale-x)
    (:r 64.0 1 64.0)
    (:g :copy r)
    (:b 128.0 128.0)
    (:a 128.0)
    (:omega (degrees 0.045))
    (:vel-y (meters 0.033333335) (meters 0.033333335))
    (:accel-y (meters -0.0016666667))
    (:friction 0.98)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-3))
    (:func 'spt-func-part-dummy-explode-spider-bomb)
    (:conerot-x (degrees 10) (degrees 60))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defun spt-func-part-dummy-explode-spider-bomb ((arg0 sparticle-system)
                                       (arg1 sparticle-cpuinfo)
                                       (arg2 sprite-vec-data-3d)
                                       (arg3 sparticle-launcher)
                                       (arg4 sparticle-launch-state)
                                       )
  (sparticle-motion-blur arg0 arg1 (-> arg2 x-y-z-sx))
  (check-drop-group-center arg0 arg1 (the-as sparticle-launchinfo arg2))
  (spt-func-ground-spark-bounce arg0 arg1 arg2 arg3 arg4)
  (none)
  )

(defpart 4680
  :init-specs ((:texture (glow-hotdot level-default-sprite))
    (:num 0.0 3.0)
    (:scale-x (meters 0.2))
    (:scale-y :copy scale-x)
    (:r 64.0 1 64.0)
    (:g :copy r)
    (:b 128.0 128.0)
    (:a 128.0)
    (:omega (degrees 0.045))
    (:vel-y (meters 0.01) (meters 0.026666667))
    (:accel-y (meters -0.0016666667))
    (:friction 0.98)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-3))
    (:func 'sparticle-motion-blur)
    (:conerot-x (degrees 10) (degrees 60))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 4679
  :init-specs ((:texture (glow-hotdot level-default-sprite))
    (:num 4.0)
    (:scale-x (meters 0.2))
    (:scale-y :copy scale-x)
    (:r 64.0 1 64.0)
    (:g :copy r)
    (:b 128.0 128.0)
    (:a 128.0)
    (:omega (degrees 0.045))
    (:vel-y (meters 0.033333335) (meters 0.06666667))
    (:accel-y (meters -0.0016666667))
    (:friction 0.98)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-3))
    (:func 'spt-func-part-dummy-explode-spider-bomb)
    (:conerot-x (degrees 10) (degrees 60))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defun check-gungame-piece-ground ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
  (cond
    ((and (>= 35635.2 (-> arg2 launchrot y)) (>= 0.0 (-> arg1 vel-sxvel y)))
     (set! (-> arg2 launchrot y) 35635.2)
     (set! (-> arg1 next-time) (the-as uint 0))
     0
     )
    (else
      (set! (-> arg1 next-time)
            (the-as uint (* (max 1 (the-as int (-> *display* clock (-> arg1 clock-index) sparticle-data x))) 2))
            )
      )
    )
  (none)
  )

(defpart 4668
  :init-specs ((:rot-x (degrees 0))
    (:rot-y (degrees 0) (degrees 3600))
    (:rot-z (degrees 0))
    (:vel-y (meters 0))
    (:rotvel-x (degrees 0))
    (:rotvel-y (degrees 0))
    (:rotvel-z (degrees 0))
    (:accel-y (meters 0))
    (:friction 0.8 0.1)
    (:timer (seconds 4))
    (:next-time (seconds 1) (seconds 0.997))
    (:next-launcher 4681)
    )
  )

(defpart 4681
  :init-specs ((:fade-a -0.21333334) (:flags (sp-cpuinfo-flag-2 left-multiply-quat)))
  )

(defpartgroup group-gun-dummy-shield-explode
  :id 1425
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 0 0 10)
  :parts ((sp-item 4682 :flags (sp3 sp7)))
  )

(defpart 4682
  :init-specs ((:texture (specs level-default-sprite))
    (:num 100.0)
    (:x (meters 0) (meters 1))
    (:scale-x (meters 2))
    (:scale-y :copy scale-x)
    (:r 0.0)
    (:g 255.0)
    (:b 255.0)
    (:a 128.0)
    (:vel-z (meters -0.033333335) (meters -0.06666667))
    (:fade-a -0.21333334)
    (:accel-y (meters -0.0016666667))
    (:friction 0.98)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-3 launch-along-z))
    (:conerot-x (degrees -40) (degrees 10))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0) (degrees 3600))
    )
  )
