mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
143 lines
5.4 KiB
Common Lisp
143 lines
5.4 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: citb-bunny.gc
|
|
;; name in dgo: citb-bunny
|
|
;; dgos: CIT, L1
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(import "goal_src/jak1/import/citb-bunny-ag.gc")
|
|
|
|
(deftype citb-bunny (snow-bunny)
|
|
()
|
|
:heap-base #x190
|
|
:method-count-assert 77
|
|
:size-assert #x200
|
|
:flag-assert #x4d01900200
|
|
(:methods
|
|
(TODO-RENAME-48 (_type_ object) none :replace 48)
|
|
)
|
|
)
|
|
|
|
|
|
(defskelgroup *citb-bunny-sg* citb-bunny citb-bunny-lod0-jg citb-bunny-idle-ja
|
|
((citb-bunny-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0.25 0 2)
|
|
)
|
|
|
|
(define *citb-bunny-nav-enemy-info* (new 'static 'nav-enemy-info
|
|
:idle-anim 3
|
|
:walk-anim 3
|
|
:turn-anim 3
|
|
:notice-anim 7
|
|
:run-anim 3
|
|
:jump-anim 5
|
|
:jump-land-anim 8
|
|
:victory-anim 7
|
|
:taunt-anim 7
|
|
:die-anim 9
|
|
:neck-joint 5
|
|
:player-look-at-joint 5
|
|
:run-travel-speed (meters 6)
|
|
:run-rotate-speed (degrees 2880.0)
|
|
:run-acceleration (meters 1)
|
|
:run-turn-time (seconds 0.1)
|
|
:walk-travel-speed (meters 4)
|
|
:walk-rotate-speed (degrees 720.0)
|
|
:walk-acceleration (meters 1)
|
|
:walk-turn-time (seconds 0.5)
|
|
:shadow-size (meters 2)
|
|
:notice-nav-radius (meters 1.2)
|
|
:nav-nearest-y-threshold (meters 10)
|
|
:notice-distance (meters 130)
|
|
:stop-chase-distance (meters 150)
|
|
:frustration-distance (meters 8)
|
|
:frustration-time (seconds 4)
|
|
:die-anim-hold-frame 31.0
|
|
:jump-anim-start-frame 11.0
|
|
:jump-land-anim-end-frame 10000000000.0
|
|
:jump-height-min (meters 1)
|
|
:jump-height-factor 0.6
|
|
:jump-start-anim-speed 1.0
|
|
:shadow-max-y (meters 0.25)
|
|
:shadow-min-y (meters -3.5)
|
|
:shadow-locus-dist (meters 150)
|
|
:use-align #f
|
|
:draw-shadow #t
|
|
:move-to-ground #t
|
|
:hover-if-no-ground #f
|
|
:use-momentum #f
|
|
:use-flee #f
|
|
:use-proximity-notice #f
|
|
:use-jump-blocked #f
|
|
:use-jump-patrol #f
|
|
:gnd-collide-with (collide-kind background)
|
|
:debug-draw-neck #f
|
|
:debug-draw-jump #f
|
|
)
|
|
)
|
|
|
|
(defmethod dummy-60 citb-bunny ((obj citb-bunny))
|
|
(initialize-skeleton obj *citb-bunny-sg* '())
|
|
(set! (-> obj draw origin-joint-index) (the-as uint 3))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod TODO-RENAME-48 citb-bunny ((obj citb-bunny) (arg0 object))
|
|
(dummy-60 obj)
|
|
(TODO-RENAME-45 obj *citb-bunny-nav-enemy-info*)
|
|
(logclear! (-> obj draw shadow-ctrl settings flags) (shadow-flags shdf03))
|
|
(cond
|
|
((zero? (res-lump-value (-> obj entity) 'mode uint128))
|
|
(set! (-> obj defense) (the-as uint 1))
|
|
(set! (-> obj retreat-timeout) 5.0)
|
|
)
|
|
(else
|
|
(set! (-> obj defense) (the-as uint 0))
|
|
(set! (-> obj retreat-timeout) 0.1)
|
|
)
|
|
)
|
|
(set! (-> obj last-nondangerous-time) (-> *display* base-frame-counter))
|
|
(set! (-> obj gnd-popup) 16384.0)
|
|
(set! (-> obj got-jump-event?) #f)
|
|
(set! (-> obj notice-land-anim) 8)
|
|
(set! (-> obj attack-anim) 4)
|
|
(set! (-> obj neck up) (the-as uint 1))
|
|
(set! (-> obj neck nose) (the-as uint 2))
|
|
(set! (-> obj neck ear) (the-as uint 0))
|
|
(set! (-> obj patrol-rand-distraction) (+ (nav-enemy-rnd-int-count 5) 1))
|
|
(set! (-> obj patrol-hop-failed?) #f)
|
|
(logclear! (-> obj mask) (process-mask actor-pause))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod set-jump-height-factor! citb-bunny ((obj citb-bunny) (arg0 int))
|
|
(let ((v1-0 arg0))
|
|
(cond
|
|
((zero? v1-0)
|
|
(set! (-> obj jump-anim) 6)
|
|
(set! (-> obj jump-height-min) 4096.0)
|
|
(set! (-> obj jump-height-factor) 0.6)
|
|
)
|
|
((= v1-0 1)
|
|
(set! (-> obj jump-anim) 5)
|
|
(set! (-> obj jump-height-min) 4096.0)
|
|
(set! (-> obj jump-height-factor) 0.6)
|
|
)
|
|
((= v1-0 2)
|
|
(set! (-> obj jump-anim) 5)
|
|
(set! (-> obj jump-height-min) 4096.0)
|
|
(set! (-> obj jump-height-factor) 0.4)
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
|
|
|
|
|