jak-project/goal_src/jak3/levels/factory/factory-boss-scenes.gc

2150 lines
73 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: factory-boss-scenes.gc
;; name in dgo: factory-boss-scenes
;; dgos: FACD
(define-extern *range-fbme-dust-color* curve-color-fast)
(define-extern *range-fbme-dust-alpha* curve2d-fast)
(define-extern *range-fbme-dust-scale-x* curve2d-fast)
(define-extern *range-fbme-dust-scale-y* curve2d-fast)
(define-extern *curve-fbme-dust-alpha* curve2d-fast)
(define-extern *curve-fbme-dust-scale-x* curve2d-fast)
(define-extern *curve-fbme-dust-scale-y* curve2d-fast)
(define-extern *range-fbme-color* curve-color-fast)
(define-extern *range-fbme-alpha* curve2d-fast)
(define-extern *range-fbme-scale-x* curve2d-fast)
(define-extern *range-fbme-scale-y* curve2d-fast)
(define-extern *curve-fbme-alpha* curve2d-fast)
(define-extern *curve-fbme-scale-x* curve2d-fast)
(define-extern *curve-fbme-scale-y* curve2d-fast)
;; DECOMP BEGINS
(defskelgroup skel-fac-fma-breaking-bits fac-fma-breaking-bits fac-fma-breaking-bits-lod0-jg fac-fma-breaking-bits-idle-ja
((fac-fma-breaking-bits-lod0-mg (meters 999999)))
:bounds (static-spherem 0 0 0 50)
:origin-joint-index 3
)
(defskelgroup skel-eco-crystal-light-fma eco-crystal-light eco-crystal-light-lod0-jg eco-crystal-light-idle-ja
((eco-crystal-light-lod0-mg (meters 999999)))
:bounds (static-spherem 0 0 0 10)
:origin-joint-index 3
)
(defskelgroup skel-fac-drop-plat-fma fac-drop-plat fac-drop-plat-lod0-jg fac-drop-plat-idle-ja
((fac-drop-plat-lod0-mg (meters 999999)))
:bounds (static-spherem 0 0 0 10)
:origin-joint-index 3
)
(set! (-> *lightning-spec-id-table* 40) (new 'static 'lightning-spec
:name "warp-gate-lightning-shock-small"
:flags (lightning-spec-flags lsf0)
:start-color (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
:end-color (new 'static 'rgba :r #x40 :g #x10 :b #x80 :a #x80)
:fade-to-color (new 'static 'rgba :r #xbf :b #x8f :a #x5)
:fade-start-factor 0.2
:texture (new 'static 'texture-id :index #x8f :page #x4)
:reduction 0.42
:num-points 16
:box-size 8601.6
:merge-factor 0.5
:merge-count 2
:radius 1638.4
:duration 30.0
:sound (static-sound-spec "shock" :group 0)
)
)
(load-scene (new 'static 'scene
:name "factory-boss-res"
:extra #f
:info #f
:scene-flags (scene-flags scf1 scf2 scf3)
:mask-to-clear (process-mask movie projectile)
:entity "scene-stage-204"
:art-group "scenecamera"
:anim "factory-boss-res"
:parts 11
:command-list '((0
(send-event "factory-boss-1" 'complete)
(apply ,(lambda :behavior scene-player
()
(let ((gp-0 (level-get *level* 'factorya)))
(when gp-0
(clear-mood-context (-> gp-0 mood-context))
(if #f
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factoryd)
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
)
)
(setting-reset borrow mode '((factorya 1 lfacrm2 special)))
(kill "fac-drop-plat-21")
(kill "fac-drop-plat-30")
(kill "fac-drop-plat-32")
(kill "fac-drop-plat-45")
(kill "fac-drop-plat-57")
(kill "fac-drop-plat-58")
(kill "fac-drop-plat-62")
(kill "fac-drop-plat-64")
(kill "fac-drop-plat-77")
(kill "fac-drop-plat-78")
(kill "fac-drop-plat-79")
(kill "fac-drop-plat-90")
(kill "fac-drop-plat-92")
(kill "fac-drop-plat-102")
(kill "fac-drop-plat-104")
(kill "fac-drop-plat-108")
(kill "fac-drop-plat-133")
(kill "fac-drop-plat-137")
(kill "fac-drop-plat-145")
(kill "fac-drop-plat-148")
(kill "fac-drop-plat-156")
(kill "fac-drop-plat-159")
(kill "fac-drop-plat-162")
(kill "fac-drop-plat-166")
(kill "fac-drop-plat-178")
(kill "fac-drop-plat-179")
(kill "fac-drop-plat-185")
(kill "fac-drop-plat-190")
(kill "fac-drop-plat-212")
(kill "fac-drop-plat-216")
(kill "fac-drop-plat-218")
(kill "fac-drop-plat-219")
(kill "fac-drop-plat-226")
(kill "fac-drop-plat-227")
(kill "fac-drop-plat-241")
(kill "fac-drop-plat-255")
(kill "fac-drop-plat-258")
)
(81 (part-tracker
"group-fac-boss-missile-explosion"
entity
"particleman"
joint
"particleA"
track
#f
duration
(frame-range 81 111)
)
)
(132 (part-tracker
"group-placeholder-small"
entity
"light-eco-crystal"
joint
"main"
track
#t
duration
(frame-range 132 133)
)
)
(133 (part-tracker
"group-placeholder-small"
entity
"light-eco-crystal"
joint
"main"
track
#t
duration
(frame-range 133 134)
)
)
(143 (part-tracker
"group-placeholder-small"
entity
"light-eco-crystal"
joint
"main"
track
#t
duration
(frame-range 143 144)
)
)
(279
(part-tracker
"group-enter-dark-warpgate"
entity
"particleman"
joint
"particleW"
track
#f
duration
(frame-range 279 295)
)
(lightning-tracker
"warp-gate-lightning-shock-small"
from-entity
"particleman"
to-entity
"particleman"
from-joint
"particleW"
to-joint
"particleT"
duration
(frame-range 279 300)
)
(lightning-tracker
"warp-gate-lightning-shock-small"
from-entity
"particleman"
to-entity
"particleman"
from-joint
"particleW"
to-joint
"particleU"
duration
(frame-range 279 320)
)
(lightning-tracker
"warp-gate-lightning-shock-small"
from-entity
"particleman"
to-entity
"particleman"
from-joint
"particleW"
to-joint
"particleV"
duration
(frame-range 279 305)
)
)
(304 (part-tracker
"group-factory-daxter-impact-dust"
entity
"sidekick-highres"
joint
"Rball"
track
#f
duration
(frame-range 304 305)
)
)
(388
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleO"
track
#t
duration
(frame-range 388 422)
)
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleP"
track
#t
duration
(frame-range 388 422)
)
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleQ"
track
#t
duration
(frame-range 388 422)
)
)
(399 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleC"
track
#f
duration
(frame-time-30 10)
)
)
(400
(part-tracker
"group-factory-debris-trails"
entity
"fac-fma-breaking-bits"
joint
"a"
track
#t
duration
(frame-range 400 655)
)
(part-tracker
"group-factory-debris-trails"
entity
"fac-fma-breaking-bits"
joint
"b"
track
#t
duration
(frame-range 400 655)
)
(part-tracker
"group-factory-debris-trails"
entity
"fac-fma-breaking-bits"
joint
"c"
track
#t
duration
(frame-range 400 655)
)
(part-tracker
"group-factory-debris-trails"
entity
"fac-fma-breaking-bits"
joint
"d"
track
#t
duration
(frame-range 400 655)
)
)
(401
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleF"
track
#f
duration
(frame-time-30 10)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleJ"
track
#f
duration
(frame-time-30 10)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleK"
track
#f
duration
(frame-time-30 10)
)
)
(402
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleH"
track
#f
duration
(frame-time-30 10)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleI"
track
#f
duration
(frame-time-30 10)
)
)
(403 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleG"
track
#f
duration
(frame-time-30 10)
)
)
(438 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleE"
track
#f
duration
(frame-time-30 10)
)
)
(440
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleO"
track
#t
duration
(frame-range 440 475)
)
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleP"
track
#t
duration
(frame-range 388 422)
)
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleQ"
track
#t
duration
(frame-range 388 422)
)
)
(446 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleE"
track
#f
duration
(frame-time-30 10)
)
)
(448 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleK"
track
#f
duration
(frame-time-30 10)
)
)
(457 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleD"
track
#f
duration
(frame-time-30 10)
)
)
(476 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleR"
track
#f
duration
(frame-time-30 10)
)
)
(487 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleC"
track
#f
duration
(frame-time-30 10)
)
)
(489 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleG"
track
#f
duration
(frame-time-30 10)
)
)
(490 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleF"
track
#f
duration
(frame-time-30 10)
)
)
(514 (part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleR"
track
#t
duration
(frame-range 514 534)
)
)
(520
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleO"
track
#t
duration
(frame-range 520 547)
)
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleP"
track
#t
duration
(frame-range 520 547)
)
(part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleQ"
track
#t
duration
(frame-range 520 547)
)
)
(526
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleB"
track
#f
duration
(frame-range 526 527)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleH"
track
#f
duration
(frame-time-30 10)
)
)
(533
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleB"
track
#f
duration
(frame-time-30 10)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleI"
track
#f
duration
(frame-time-30 10)
)
)
(534
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleD"
track
#f
duration
(frame-time-30 10)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleJ"
track
#f
duration
(frame-time-30 10)
)
)
(550 (part-tracker
"group-factory-daxter-impact-dust"
entity
"jakc-highres"
joint
"Lball"
track
#f
duration
(frame-range 550 551)
)
)
(559 (part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleS"
track
#t
duration
(frame-range 559 577)
)
)
(567 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleE"
track
#f
duration
(frame-time-30 10)
)
)
(568 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleC"
track
#f
duration
(frame-time-30 10)
)
)
(578 (part-tracker
"group-factory-debris-trails"
entity
"particleman"
joint
"particleS"
track
#t
duration
(frame-range 578 605)
)
)
(586
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleF"
track
#f
duration
(frame-time-30 10)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleL"
track
#t
duration
(frame-range 586 587)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleM"
track
#t
duration
(frame-range 586 587)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleN"
track
#t
duration
(frame-range 586 587)
)
)
(587 (part-tracker
"group-factory-daxter-impact-dust"
entity
"jakc-highres"
joint
"Lball"
track
#f
duration
(frame-range 587 588)
)
)
(588 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleG"
track
#f
duration
(frame-time-30 10)
)
)
(589 (part-tracker
"group-factory-debris-impact"
entity
"light-eco-crystal"
joint
"main"
track
#f
duration
(frame-time-30 10)
)
)
(600
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleD"
track
#f
duration
(frame-time-30 10)
)
(part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleJ"
track
#f
duration
(frame-time-30 10)
)
)
(601 (part-tracker
"group-factory-debris-impact"
entity
"particleman"
joint
"particleI"
track
#t
duration
(frame-time-30 10)
)
)
(648
(part-tracker
"group-enter-dark-warpgate"
entity
"particleman"
joint
"particleW"
track
#f
duration
(frame-range 648 670)
)
(lightning-tracker
"warp-gate-lightning-shock-small"
from-entity
"particleman"
to-entity
"particleman"
from-joint
"particleW"
to-joint
"particleT"
duration
(frame-range 648 689)
)
(lightning-tracker
"warp-gate-lightning-shock-small"
from-entity
"particleman"
to-entity
"particleman"
from-joint
"particleW"
to-joint
"particleU"
duration
(frame-range 648 674)
)
(lightning-tracker
"warp-gate-lightning-shock-small"
from-entity
"particleman"
to-entity
"particleman"
from-joint
"particleW"
to-joint
"particleV"
duration
(frame-range 648 692)
)
)
(send-event self 'user-data-set! (task-closed? "factory-boss-resolution"))
(10000
(apply ,(lambda :behavior scene-player
()
(let ((gp-0 (level-get *level* 'factorya)))
(when gp-0
(clear-mood-context (-> gp-0 mood-context))
(if #f
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factory)
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
)
)
(task-close! "factory-boss-resolution")
)
)
:cut-list '()
:wait-ground-time (seconds 1)
:actor (new 'static 'boxed-array :type scene-actor
(new 'static 'scene-actor
:name "scenecamera"
:level #f
:art-group "skel-scenecamera"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:camera 4
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "particleman"
:level 'factorya
:art-group "skel-particleman"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "jakc-highres"
:level 'factorya
:art-group "skel-jakc-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '((239 243))
:cloth-commands '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
:no-draw-seg #x280
)
(new 'static 'scene-actor
:name "sidekick-highres"
:level 'factorya
:art-group "skel-sidekick-highres"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "errol"
:level 'factorya
:art-group "skel-errol"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-fma-breaking-bits"
:level 'factorya
:art-group "skel-fac-fma-breaking-bits"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "a-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "b-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "g-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "i-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "l-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "m-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "n-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "o-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "p-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "r-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "s-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "t-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "u-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "v-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "x-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "y-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "z-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "aa-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "ab-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "ac-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "ad-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "ae-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "ai-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "ak-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "al-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "am-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "fac-drop-plat-fma"
:level 'factoryd
:art-group "skel-fac-drop-plat-fma"
:prefix "an-"
:draw-frames '((120 max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:light-index #x11
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
(new 'static 'scene-actor
:name "eco-crystal-light-fma"
:level 'factoryd
:art-group "skel-eco-crystal-light-fma"
:prefix ""
:draw-frames '((min max))
:scissor-frames '()
:shadow-frames '((min max))
:cloth-reset-frames '()
:cloth-commands '()
:flags #x1
:shadow-flags -1
:shadow-volume-joint #f
)
)
:load-point "factoryd-res-fma"
:end-point "freehq-post-boss"
:borrow '()
:sfx-volume -1.0
:ambient-volume -1.0
:music-delay 1500.0
:scene-task #xe7
:on-running '(sound-play-loop "factory-amb-mov")
:on-complete '(unless (send-event self 'user-data) (talker-spawn "powup026"))
)
)
(defpartgroup group-fac-boss-missile-explosion
:id 1379
:duration (seconds 5)
:flags (sp0)
:bounds (static-bspherem 0 0 0 640)
:parts ((sp-item 4575 :flags (sp3) :period (seconds 30) :length (seconds 0.017))
(sp-item 4576 :flags (sp3) :period (seconds 30) :length (seconds 0.017))
(sp-item 4577 :period (seconds 30) :length (seconds 0.035))
(sp-item 4578 :flags (sp3) :period (seconds 30) :length (seconds 0.017))
(sp-item 4579 :period (seconds 30) :length (seconds 0.167))
(sp-item 4580 :period (seconds 30) :length (seconds 0.5))
)
)
(defpart 4575
:init-specs ((:texture (glow-soft level-default-sprite))
(:num 1.0)
(:scale-x (meters 20))
(:rot-x (degrees 225))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 128.0)
(:b 40.0)
(:a 64.0)
(:fade-a -0.21333334)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow))
(:userdata 40960.0)
)
)
(defpart 4576
:init-specs ((:texture (dirtpuff01 level-default-sprite))
(:num 30.0)
(:scale-x (meters 3) (meters 2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 160.0)
(:b 40.0)
(:a 128.0)
(:vel-y (meters 0) (meters 0.06666667))
(:scalevel-x (meters 0.016666668))
(:scalevel-y :copy scalevel-x)
(:fade-g -0.13333334)
(:fade-b -0.05)
(:fade-a -0.21333334 -0.21333334)
(:friction 0.93)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
(:conerot-x (degrees 0) (degrees 360))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4577
:init-specs ((:texture (dirtpuff01 level-default-sprite))
(:birth-func 'birth-func-curve)
(:num 30.0)
(:scale-x (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 1.0)
(:g 1.0)
(:b 128.0)
(:a 128.0)
(:vel-y (meters 0.05))
(:friction 0.97)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-13 sp-cpuinfo-flag-14))
(:userdata 0.0)
(:func 'live-func-curve)
(:conerot-x (degrees 0) (degrees 360))
(:conerot-z (degrees 0) (degrees 360))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(if #t
(set! *range-fbme-dust-color* (new 'static 'curve-color-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'inline-array vector 4
(new 'static 'vector :x 70.0 :y 70.0 :z 70.0 :w 128.0)
(new 'static 'vector :x 40.0 :y 40.0 :z 40.0 :w 128.0)
(new 'static 'vector :x 40.0 :y 40.0 :z 40.0 :w 128.0)
(new 'static 'vector :x 40.0 :y 40.0 :z 40.0 :w 128.0)
)
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-fbme-dust-alpha* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 80.0 :y 64.0 :z 65.0 :w 66.0)
:one-over-x-deltas (new 'static 'vector :x -16.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-fbme-dust-scale-x* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 8.0 :y 10.0 :z 11.0 :w 12.0)
:one-over-x-deltas (new 'static 'vector :x 2.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-fbme-dust-scale-y* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 8.0 :y 10.0 :z 11.0 :w 12.0)
:one-over-x-deltas (new 'static 'vector :x 2.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *curve-fbme-dust-alpha* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.7 :z -1.0 :w -2.0)
:ys (new 'static 'vector :y 1.0 :w 1.0)
:one-over-x-deltas (new 'static 'vector :x 1.4285715 :y -3.3333333 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *curve-fbme-dust-scale-x* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.5 :z -1.0 :w -2.0)
:ys (new 'static 'vector :x 0.2 :y 0.8 :z 1.2 :w 2.2)
:one-over-x-deltas (new 'static 'vector :x 1.2 :y 0.8000001 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *curve-fbme-dust-scale-y* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.5 :z -1.0 :w -2.0)
:ys (new 'static 'vector :x 0.2 :y 0.8 :z 1.2 :w 2.2)
:one-over-x-deltas (new 'static 'vector :x 1.2 :y 0.8000001 :z 1.0 :w 1.0)
)
)
)
(define *part-fac-boss-missile-explosion-dust-in-curve-settings* (new 'static 'particle-curve-settings
:lifetime-base (seconds 1)
:lifetime-offset (seconds 2)
:flags (particle-curve-flags pcf0)
)
)
(set! (-> *part-id-table* 4577 init-specs 14 initial-valuef)
(the-as float *part-fac-boss-missile-explosion-dust-in-curve-settings*)
)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* color-start) *range-fbme-dust-color*)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* alpha-start) *range-fbme-dust-alpha*)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* scale-x-start) *range-fbme-dust-scale-x*)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* scale-y-start) *range-fbme-dust-scale-y*)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* r-scalar) #f)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* g-scalar) #f)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* b-scalar) #f)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* a-scalar) *curve-fbme-dust-alpha*)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* scale-x-scalar) *curve-fbme-dust-scale-x*)
(set! (-> *part-fac-boss-missile-explosion-dust-in-curve-settings* scale-y-scalar) *curve-fbme-dust-scale-y*)
(defpart 4579
:init-specs ((:texture (explosion-edge level-default-sprite))
(:num 5.0)
(:scale-x (meters 3) (meters 2))
(:rot-y (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 80.0 20.0)
(:b 30.0)
(:a 128.0)
(:vel-y (meters 0.33333334) (meters 0.13333334))
(:scalevel-x (meters 0.033333335))
(:scalevel-y :copy scalevel-x)
(:fade-g -0.17777778)
(:fade-b -0.06666667)
(:fade-a -0.28444445 -0.28444445)
(:friction 0.7)
(:timer (seconds 1.5))
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
(:func 'sparticle-2d-spline-align-instant)
(:conerot-x (degrees 0) (degrees 360))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4580
:init-specs ((:texture (explo-texture level-default-sprite))
(:birth-func 'birth-func-curve)
(:num 8.0)
(:x (meters -1) (meters 2))
(:y (meters 0) (meters 2))
(:scale-x (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 128.0)
(:vel-y (meters 0.06666667) (meters 0.033333335))
(:friction 0.9)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-14))
(:userdata 0.0)
(:func 'live-func-curve)
(:conerot-x (degrees 20) (degrees 90))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(if #t
(set! *range-fbme-color* (new 'static 'curve-color-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'inline-array vector 4
(new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
(new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
(new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
(new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
)
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-fbme-alpha* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 128.0 :y 128.0 :z 129.0 :w 130.0)
:one-over-x-deltas (new 'static 'vector :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-fbme-scale-x* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 3.0 :y 5.0 :z 6.0 :w 7.0)
:one-over-x-deltas (new 'static 'vector :x 2.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-fbme-scale-y* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 3.0 :y 5.0 :z 6.0 :w 7.0)
:one-over-x-deltas (new 'static 'vector :x 2.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *curve-fbme-alpha* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.05 :z -0.7 :w -1.0)
:ys (new 'static 'vector :y 1.0 :z 0.8)
:one-over-x-deltas (new 'static 'vector :x 20.0 :y -0.3076923 :z -2.6666665 :w 1.0)
)
)
)
(if #t
(set! *curve-fbme-scale-x* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.8 :z -1.0 :w -2.0)
:ys (new 'static 'vector :y 1.0 :z 1.5 :w 2.5)
:one-over-x-deltas (new 'static 'vector :x 1.25 :y 2.5000002 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *curve-fbme-scale-y* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.8 :z -1.0 :w -2.0)
:ys (new 'static 'vector :y 1.0 :z 1.5 :w 2.5)
:one-over-x-deltas (new 'static 'vector :x 1.25 :y 2.5000002 :z 1.0 :w 1.0)
)
)
)
(define *part-fac-boss-missile-explosion-texture-curve-settings* (new 'static 'particle-curve-settings
:lifetime-base (seconds 0.1)
:lifetime-offset (seconds 0.6)
:flags (particle-curve-flags pcf0)
)
)
(set! (-> *part-id-table* 4580 init-specs 16 initial-valuef)
(the-as float *part-fac-boss-missile-explosion-texture-curve-settings*)
)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* color-start) *range-fbme-color*)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* alpha-start) *range-fbme-alpha*)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* scale-x-start) *range-fbme-scale-x*)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* scale-y-start) *range-fbme-scale-y*)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* r-scalar) #f)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* g-scalar) #f)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* b-scalar) #f)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* a-scalar) *curve-fbme-alpha*)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* scale-x-scalar) *curve-fbme-scale-x*)
(set! (-> *part-fac-boss-missile-explosion-texture-curve-settings* scale-y-scalar) *curve-fbme-scale-y*)
(defpart 4578
:init-specs ((:texture (starflash level-default-sprite))
(:num 1.0)
(:scale-x (meters 20))
(:rot-x (degrees 2.25))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 80.0)
(:b 40.0)
(:a 128.0)
(:omega (degrees 6767.9995))
(:scalevel-x (meters -0.33333334))
(:scalevel-y :copy scalevel-x)
(:timer (seconds 0.135))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 4096.0)
)
)
(defpartgroup group-enter-dark-warpgate
:id 1380
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 20)
:parts ((sp-item 4581 :flags (sp3))
(sp-item 4582 :flags (sp3))
(sp-item 4583 :period (seconds 2) :length (seconds 0.167))
)
)
(defpart 4581
:init-specs ((:texture (starflash level-default-sprite))
(:num 1.0)
(:scale-x (meters 10))
(:rot-x (degrees 22.5))
(:rot-z (degrees 0))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 128.0)
(:scalevel-x (meters -0.16666667))
(:scalevel-y (meters 0.26666668))
(:timer (seconds 0.167))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 4096.0)
)
)
(defpart 4582
:init-specs ((:texture (rainbow-halo level-default-sprite))
(:num 1.0)
(:scale-x (meters 10))
(:rot-x (degrees 22.5))
(:rot-z (degrees 0))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 64.0)
(:scalevel-x (meters 0.06666667))
(:scalevel-y (meters 0.13333334))
(:fade-a -0.21333334)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 4096.0)
)
)
(defpart 4583
:init-specs ((:texture (middot level-default-sprite))
(:num 10.0)
(:scale-x (meters 0.1) (meters 0.1))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 128.0)
(:omega (degrees 0.01125))
(:vel-z (meters 0.13333334) (meters 0.016666668))
(:scalevel-x (meters -0.00033333333))
(:scalevel-y :copy scalevel-x)
(:fade-r -0.42666668)
(:fade-g -0.21333334 -0.21333334)
(:friction 0.96)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-3))
(:func 'sparticle-motion-blur)
(:conerot-x (degrees -30) (degrees 60))
(:rotate-z (degrees 0) (degrees 3600))
)
)
(defpartgroup group-factory-errol-jetpack-l
:id 1381
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 640)
:parts ((sp-item 4584 :flags (is-3d sp7)) (sp-item 4585 :flags (sp6 sp7)) (sp-item 4586 :flags (sp7)))
)
(defpart 4584
:init-specs ((:texture (gun-yellow-muzzleflash level-default-sprite))
(:num 6.0)
(:x (meters 0.2))
(:y (meters 0.3))
(:z (meters 0.5))
(:scale-x (meters 0.4) (meters 0.2))
(:rot-x (degrees 60))
(:rot-y (degrees 0))
(:rot-z (degrees 0) 1 (degrees 90))
(:scale-y (meters 1) (meters 0.5))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 30.0 30.0)
(:fade-a -0.6)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:conerot-z (degrees 0))
(:rotate-x (degrees 0))
(:rotate-y (degrees 0))
)
)
(defpart 4585
:init-specs ((:texture (glow level-default-sprite))
(:num 1.0)
(:x (meters 0.2))
(:y (meters 0.3))
(:z (meters 0.5))
(:scale-x (meters 2) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 100.0)
(:b 0.0)
(:a 80.0 2.0)
(:fade-a -0.12)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:conerot-z (degrees 0))
(:rotate-y (degrees 0))
)
)
(defpart 4586
:init-specs ((:num 1.0)
(:x (meters 0.2))
(:rot-x 8)
(:r 4096.0)
(:g 2048.0)
(:b 1638.4)
(:vel-y (meters 0.33333334))
(:fade-b 1.3653333)
(:accel-y (meters -0.00066666666))
(:friction 0.8)
(:timer (seconds 0.167) (seconds 0.08))
(:flags (distort))
(:conerot-x (degrees 0) (degrees 30))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpartgroup group-factory-errol-jetpack-r
:id 1382
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 640)
:parts ((sp-item 4587 :flags (is-3d sp7)) (sp-item 4588 :flags (sp6 sp7)) (sp-item 4589 :flags (sp7)))
)
(defpart 4587
:init-specs ((:texture (gun-yellow-muzzleflash level-default-sprite))
(:num 6.0)
(:x (meters -0.2))
(:y (meters 0.3))
(:z (meters 0.5))
(:scale-x (meters 0.4) (meters 0.2))
(:rot-x (degrees 60))
(:rot-y (degrees 0))
(:rot-z (degrees 0) 1 (degrees 90))
(:scale-y (meters 1) (meters 0.5))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 30.0 30.0)
(:fade-a -0.6)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:conerot-z (degrees 0))
(:rotate-x (degrees 0))
(:rotate-y (degrees 0))
)
)
(defpart 4588
:init-specs ((:texture (glow level-default-sprite))
(:num 1.0)
(:x (meters -0.2))
(:y (meters 0.3))
(:z (meters 0.5))
(:scale-x (meters 2) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 100.0)
(:b 0.0)
(:a 80.0 2.0)
(:fade-a -0.12)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:conerot-z (degrees 0))
(:rotate-y (degrees 0))
)
)
(defpart 4589
:init-specs ((:num 1.0)
(:x (meters -0.2))
(:rot-x 8)
(:r 4096.0)
(:g 2048.0)
(:b 1638.4)
(:vel-y (meters 0.33333334))
(:fade-b 1.3653333)
(:accel-y (meters -0.00066666666))
(:friction 0.8)
(:timer (seconds 0.167) (seconds 0.08))
(:flags (distort))
(:conerot-x (degrees 0) (degrees 30))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpartgroup group-factory-daxter-impact-dust
:id 1383
:flags (sp0)
:bounds (static-bspherem 0 0 0 12)
:parts ((sp-item 4590))
)
(defpart 4590
:init-specs ((:texture (dirtpuff01 level-default-sprite))
(:num 8.0)
(:scale-x (meters 0.5) (meters 0.5))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 100.0 150.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters 0.02) (meters 0.01))
(:scalevel-x (meters 0.0016666667))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.042666666 -0.042666666)
(:accel-y (meters 0) (meters 0.000033333334))
(:friction 0.95)
(:timer (seconds 5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:conerot-x (degrees 90))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpartgroup group-factory-debris-trails
:id 1384
:flags (sp0)
:bounds (static-bspherem 0 0 0 12)
:parts ((sp-item 4591))
)
(defpart 4591
:init-specs ((:texture (ceiling-dust factoryd-sprite))
(:birth-func 'spt-birth-func-part-factory-debris-trails)
(:num 2.0 2.0)
(:x (meters 0) (meters 3))
(:scale-x (meters -2) 2.0 (meters 4))
(:rot-z (degrees 0))
(:scale-y (meters 2) (meters 4))
(:r 50.0 200.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:fade-a -0.042666666 -0.042666666)
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
(:friction 0.999)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2))
(:userdata
:data (new 'static 'boxed-array :type int32 5 1 0 -1161820672 -1161820416 -1161820416 -1161820416 -1161820416)
)
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defun spt-birth-func-part-factory-debris-trails ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo) (arg3 object) (arg4 object))
(birth-func-texture-group (the-as int arg0) arg1 arg2)
(birth-func-flip-based-on-scale
arg0
arg1
(the-as sprite-vec-data-3d arg2)
(the-as sparticle-launcher arg3)
(the-as sparticle-launch-state arg4)
)
(none)
)
(defpartgroup group-factory-debris-impact
:id 1385
:flags (sp0)
:bounds (static-bspherem 0 0 0 12)
:parts ((sp-item 4592) (sp-item 4593 :falloff-to (meters 20) :flags (is-3d sp7)))
)
(defpart 4592
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 8.0)
(:scale-x (meters 1) (meters 2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 100.0 150.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters 0.02) (meters 0.01))
(:scalevel-x (meters 0.0033333334))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.042666666 -0.042666666)
(:accel-y (meters 0) (meters 0.000033333334))
(:friction 0.95)
(:timer (seconds 5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:conerot-x (degrees 90))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4593
:init-specs ((:texture (glass-shard-01 factoryd-sprite))
(:birth-func 'birth-func-texture-group)
(:num 50.0 10.0)
(:scale-x (meters 0.1) (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.1) (meters 0.3))
(:r 0.0 2.0 64.0)
(:g 64.0 2.0 64.0)
(:b :copy g)
(:a 128.0)
(:vel-y (meters 0.033333335) (meters 0.1))
(:rotvel-x (degrees -4) (degrees 8))
(:rotvel-y (degrees -4) (degrees 8))
(:rotvel-z (degrees -4) (degrees 8))
(:accel-y (meters -0.0033333334))
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 -1161820160 -1161819904 -1161819648 -1161819392))
(:func 'check-drop-group-center)
(:next-time (seconds 0.167))
(:next-launcher 4594)
(:conerot-x (degrees 0) (degrees 45))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4594
:init-specs ((:r 0.0 2.0 64.0)
(:g 64.0 2.0 64.0)
(:b :copy g)
(:a 128.0)
(:next-time (seconds 0.085) (seconds 0.165))
(:next-launcher 4595)
)
)
(defpart 4595
:init-specs ((:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 128.0)
(:next-time (seconds 0.017) (seconds 0.015))
(:next-launcher 4594)
)
)