2020-10-26 21:08:24 -04:00
|
|
|
;;-*-Lisp-*-
|
2020-09-04 14:44:23 -04:00
|
|
|
(in-package goal)
|
|
|
|
|
|
|
|
;; name: mayor.gc
|
|
|
|
;; name in dgo: mayor
|
|
|
|
;; dgos: BEA, L1
|
|
|
|
|
2021-09-28 20:42:00 -04:00
|
|
|
;; DECOMP BEGINS
|
2022-06-09 21:18:08 -04:00
|
|
|
|
2021-08-18 21:33:31 -04:00
|
|
|
(deftype mayor (process-taskable)
|
2021-09-28 20:42:00 -04:00
|
|
|
()
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
|
|
|
|
2021-09-28 20:42:00 -04:00
|
|
|
|
2022-05-19 21:30:14 -04:00
|
|
|
(defskelgroup *mayor-sg* mayor mayor-lod0-jg mayor-idle-ja
|
|
|
|
((mayor-lod0-mg (meters 999999)))
|
|
|
|
:bounds (static-spherem 0 0 0 2.5)
|
|
|
|
:shadow mayor-shadow-mg
|
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
|
2023-10-29 23:20:02 -04:00
|
|
|
(defmethod process-taskable-method-52 ((this mayor))
|
2023-09-26 10:17:00 -04:00
|
|
|
(let ((v1-1 (-> this draw shadow-ctrl)))
|
2022-01-12 10:47:17 -05:00
|
|
|
(when v1-1
|
2023-10-29 23:20:02 -04:00
|
|
|
(let ((f0-0 (-> this root trans y)))
|
2022-01-12 10:47:17 -05:00
|
|
|
(let ((a0-2 v1-1))
|
|
|
|
(set! (-> a0-2 settings bot-plane w) (- (+ -2048.0 f0-0)))
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
0
|
|
|
|
(set! (-> v1-1 settings top-plane w) (- (+ 2048.0 f0-0)))
|
|
|
|
)
|
|
|
|
0
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(none)
|
|
|
|
)
|
|
|
|
|
2023-10-29 23:20:02 -04:00
|
|
|
(defmethod draw-npc-shadow ((this mayor))
|
2023-09-26 10:17:00 -04:00
|
|
|
(-> this draw shadow-ctrl)
|
2022-01-12 10:47:17 -05:00
|
|
|
(cond
|
2023-09-26 10:17:00 -04:00
|
|
|
((and (-> this draw shadow)
|
|
|
|
(zero? (-> this draw cur-lod))
|
|
|
|
(logtest? (-> this draw status) (draw-status was-drawn))
|
2022-05-02 18:35:17 -04:00
|
|
|
)
|
2023-09-26 10:17:00 -04:00
|
|
|
(let ((v1-9 (-> this draw shadow-ctrl)))
|
2022-06-12 12:58:10 -04:00
|
|
|
(logclear! (-> v1-9 settings flags) (shadow-flags disable-draw))
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
0
|
2023-09-26 10:17:00 -04:00
|
|
|
(update-direction-from-time-of-day (-> this draw shadow-ctrl))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
(else
|
2023-09-26 10:17:00 -04:00
|
|
|
(let ((v1-14 (-> this draw shadow-ctrl)))
|
2022-05-02 18:35:17 -04:00
|
|
|
(set! (-> v1-14 settings flags) (the-as shadow-flags (logior (the-as int (-> v1-14 settings flags)) 32)))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
0
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
(none)
|
|
|
|
)
|
|
|
|
|
|
|
|
(defun mayor-lurkerm-reward-speech ((arg0 mayor) (arg1 symbol))
|
|
|
|
(when arg1
|
|
|
|
(set! (-> arg0 cell-for-task) (game-task jungle-lurkerm))
|
|
|
|
(close-specific-task! (game-task jungle-lurkerm) (task-status need-reward-speech))
|
|
|
|
(first-any (-> arg0 tasks) #t)
|
|
|
|
)
|
2023-09-16 07:39:51 -04:00
|
|
|
;; og:preserve-this PAL patch here
|
2022-06-22 00:16:34 -04:00
|
|
|
(new 'static 'spool-anim
|
|
|
|
:name "mayor-resolution-beams"
|
|
|
|
:index 7
|
|
|
|
:parts 6
|
|
|
|
:command-list '((0 setting-unset ambient-volume))
|
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
|
2023-10-29 23:20:02 -04:00
|
|
|
(defmethod play-anim! ((this mayor) (arg0 symbol))
|
2023-09-26 10:17:00 -04:00
|
|
|
(set! (-> this talk-message) (text-id press-to-talk))
|
|
|
|
(case (current-status (-> this tasks))
|
2022-01-12 10:47:17 -05:00
|
|
|
(((task-status need-hint) (task-status need-introduction))
|
|
|
|
(when arg0
|
|
|
|
(close-specific-task! (game-task jungle-lurkerm) (task-status need-introduction))
|
|
|
|
(close-specific-task! (game-task village1-mayor-money) (task-status need-introduction))
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
(cond
|
2023-09-26 10:17:00 -04:00
|
|
|
((closed? (-> this tasks) (game-task jungle-lurkerm) (task-status need-reminder))
|
|
|
|
(mayor-lurkerm-reward-speech this arg0)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
(else
|
|
|
|
(new 'static 'spool-anim :name "mayor-introduction" :index 4 :parts 16 :command-list '())
|
|
|
|
(new 'static 'spool-anim
|
|
|
|
:name "mayor-introduction"
|
|
|
|
:index 4
|
|
|
|
:parts 16
|
2022-06-09 21:18:08 -04:00
|
|
|
:command-list '((0 kill "villagea-part-65")
|
2022-01-12 10:47:17 -05:00
|
|
|
(0 kill "villagea-part-70")
|
|
|
|
(0 kill "med-res-level-2")
|
|
|
|
(0 kill "med-res-level-3")
|
|
|
|
(0 kill "med-res-level-4")
|
|
|
|
(0 kill "med-res-level-6")
|
|
|
|
(0 kill "med-res-level-7")
|
|
|
|
(0 kill "med-res-level-8")
|
|
|
|
(0 kill "med-res-level-11")
|
|
|
|
(0 kill "med-res-level-14")
|
|
|
|
(0 kill "fishermans-boat-2")
|
|
|
|
(0 kill "windspinner-9")
|
|
|
|
(0 kill "sagesail-6")
|
|
|
|
(0 kill "sharkey-12")
|
|
|
|
(0 kill "windmill-sail-4")
|
|
|
|
(0 kill "water-vol-7")
|
|
|
|
(0 kill "windspinner-8")
|
|
|
|
(0 kill "villagea-part-32")
|
|
|
|
(0 kill "water-vol-10")
|
|
|
|
(0 kill "ropebridge-4")
|
|
|
|
(0 kill "ropebridge-5")
|
|
|
|
(0 kill "reflector-end-1")
|
|
|
|
(0 kill "eco-10")
|
|
|
|
(0 kill "eco-11")
|
|
|
|
(0 kill "warp-gate-switch-3")
|
|
|
|
(0 kill "reflector-middle-2")
|
|
|
|
(0 kill "evilplant-2")
|
|
|
|
(0 kill "crate-3147")
|
|
|
|
(0 kill "villagea-water-2")
|
|
|
|
(0 kill "med-res-level-22")
|
|
|
|
(0 kill "med-res-level-23")
|
|
|
|
(0 kill "villagea-part-50")
|
|
|
|
(0 kill "water-vol-9")
|
|
|
|
(0 kill "crate-3144")
|
|
|
|
(0 kill "orb-cache-top-4")
|
|
|
|
(0 kill "village-cam-2")
|
|
|
|
(0 kill "villagea-part-18")
|
|
|
|
(0 kill "villagea-part-24")
|
|
|
|
(0 kill "money-2676")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "villagea-part-13")
|
|
|
|
(0 kill "villagea-part-17")
|
|
|
|
(0 kill "money-2689")
|
|
|
|
(0 kill "money-2690")
|
|
|
|
(0 kill "farmer-3")
|
|
|
|
(0 kill "villagea-part-26")
|
|
|
|
(0 kill "money-2692")
|
|
|
|
(0 kill "villagea-part-37")
|
|
|
|
(0 kill "villagea-part-38")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "crate-3142")
|
|
|
|
(0 kill "crate-3143")
|
|
|
|
(0 kill "money-2688")
|
|
|
|
(0 kill "villagea-part-14")
|
|
|
|
(0 kill "money-2691")
|
|
|
|
(0 kill "villagea-part-62")
|
|
|
|
(0 kill "villagea-part-63")
|
|
|
|
(0 kill "sharkey-1")
|
|
|
|
(0 kill "eco-82")
|
|
|
|
(0 kill "eco-83")
|
|
|
|
(0 kill "crate-2470")
|
|
|
|
(0 kill "villagea-part-3")
|
|
|
|
(0 kill "villagea-part-15")
|
|
|
|
(0 kill "villagea-part-22")
|
|
|
|
(0 kill "villagea-part-28")
|
|
|
|
(0 kill "explorer-4")
|
|
|
|
(0 kill "oracle-1")
|
|
|
|
(0 kill "crate-3141")
|
|
|
|
(0 kill "crate-3145")
|
|
|
|
(0 kill "water-vol-8")
|
|
|
|
(0 kill "water-vol-63")
|
|
|
|
(0 kill "lrocklrg-1")
|
|
|
|
(0 kill "crate-2469")
|
|
|
|
(0 kill "villagea-part-69")
|
|
|
|
(0 display-level beach special)
|
|
|
|
(565 joint "cameraB")
|
|
|
|
(850 joint "camera")
|
|
|
|
(915 joint "cameraB")
|
|
|
|
)
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(((task-status need-reminder-a) (task-status need-reminder))
|
2023-09-26 10:17:00 -04:00
|
|
|
(set! (-> this skippable) #t)
|
2022-01-12 10:47:17 -05:00
|
|
|
(cond
|
2023-09-26 10:17:00 -04:00
|
|
|
((closed? (-> this tasks) (game-task jungle-lurkerm) (task-status need-reward-speech))
|
2022-01-12 10:47:17 -05:00
|
|
|
(new 'static 'spool-anim
|
|
|
|
:name "mayor-reminder-donation"
|
|
|
|
:index 6
|
|
|
|
:parts 3
|
2022-06-09 21:18:08 -04:00
|
|
|
:command-list '((0 kill "villagea-part-65")
|
2022-01-12 10:47:17 -05:00
|
|
|
(0 kill "villagea-part-70")
|
|
|
|
(0 kill "med-res-level-2")
|
|
|
|
(0 kill "med-res-level-3")
|
|
|
|
(0 kill "med-res-level-4")
|
|
|
|
(0 kill "med-res-level-6")
|
|
|
|
(0 kill "med-res-level-7")
|
|
|
|
(0 kill "med-res-level-8")
|
|
|
|
(0 kill "med-res-level-11")
|
|
|
|
(0 kill "med-res-level-14")
|
|
|
|
(0 kill "fishermans-boat-2")
|
|
|
|
(0 kill "windspinner-9")
|
|
|
|
(0 kill "sagesail-6")
|
|
|
|
(0 kill "sharkey-12")
|
|
|
|
(0 kill "windmill-sail-4")
|
|
|
|
(0 kill "water-vol-7")
|
|
|
|
(0 kill "windspinner-8")
|
|
|
|
(0 kill "villagea-part-32")
|
|
|
|
(0 kill "water-vol-10")
|
|
|
|
(0 kill "ropebridge-4")
|
|
|
|
(0 kill "ropebridge-5")
|
|
|
|
(0 kill "reflector-end-1")
|
|
|
|
(0 kill "eco-10")
|
|
|
|
(0 kill "eco-11")
|
|
|
|
(0 kill "warp-gate-switch-3")
|
|
|
|
(0 kill "reflector-middle-2")
|
|
|
|
(0 kill "evilplant-2")
|
|
|
|
(0 kill "crate-3147")
|
|
|
|
(0 kill "villagea-water-2")
|
|
|
|
(0 kill "med-res-level-22")
|
|
|
|
(0 kill "med-res-level-23")
|
|
|
|
(0 kill "villagea-part-50")
|
|
|
|
(0 kill "water-vol-9")
|
|
|
|
(0 kill "crate-3144")
|
|
|
|
(0 kill "orb-cache-top-4")
|
|
|
|
(0 kill "village-cam-2")
|
|
|
|
(0 kill "villagea-part-18")
|
|
|
|
(0 kill "villagea-part-24")
|
|
|
|
(0 kill "money-2676")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "villagea-part-13")
|
|
|
|
(0 kill "villagea-part-17")
|
|
|
|
(0 kill "money-2689")
|
|
|
|
(0 kill "money-2690")
|
|
|
|
(0 kill "farmer-3")
|
|
|
|
(0 kill "villagea-part-26")
|
|
|
|
(0 kill "money-2692")
|
|
|
|
(0 kill "villagea-part-37")
|
|
|
|
(0 kill "villagea-part-38")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "crate-3142")
|
|
|
|
(0 kill "crate-3143")
|
|
|
|
(0 kill "money-2688")
|
|
|
|
(0 kill "villagea-part-14")
|
|
|
|
(0 kill "money-2691")
|
|
|
|
(0 kill "villagea-part-62")
|
|
|
|
(0 kill "villagea-part-63")
|
|
|
|
(0 kill "sharkey-1")
|
|
|
|
(0 kill "eco-82")
|
|
|
|
(0 kill "eco-83")
|
|
|
|
(0 kill "crate-2470")
|
|
|
|
(0 kill "villagea-part-3")
|
|
|
|
(0 kill "villagea-part-15")
|
|
|
|
(0 kill "villagea-part-22")
|
|
|
|
(0 kill "villagea-part-28")
|
|
|
|
(0 kill "explorer-4")
|
|
|
|
(0 kill "oracle-1")
|
|
|
|
(0 kill "crate-3141")
|
|
|
|
(0 kill "crate-3145")
|
|
|
|
(0 kill "water-vol-8")
|
|
|
|
(0 kill "water-vol-63")
|
|
|
|
(0 kill "lrocklrg-1")
|
|
|
|
(0 kill "crate-2469")
|
|
|
|
(0 kill "villagea-part-69")
|
|
|
|
(0 display-level beach special)
|
|
|
|
)
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
2023-09-26 10:17:00 -04:00
|
|
|
((closed? (-> this tasks) (game-task village1-mayor-money) (task-status need-reward-speech))
|
2022-01-12 10:47:17 -05:00
|
|
|
(new 'static 'spool-anim
|
|
|
|
:name "mayor-reminder-beams"
|
|
|
|
:index 5
|
|
|
|
:parts 3
|
2022-06-09 21:18:08 -04:00
|
|
|
:command-list '((0 kill "villagea-part-65")
|
2022-01-12 10:47:17 -05:00
|
|
|
(0 kill "villagea-part-70")
|
|
|
|
(0 kill "med-res-level-2")
|
|
|
|
(0 kill "med-res-level-3")
|
|
|
|
(0 kill "med-res-level-4")
|
|
|
|
(0 kill "med-res-level-6")
|
|
|
|
(0 kill "med-res-level-7")
|
|
|
|
(0 kill "med-res-level-8")
|
|
|
|
(0 kill "med-res-level-11")
|
|
|
|
(0 kill "med-res-level-14")
|
|
|
|
(0 kill "fishermans-boat-2")
|
|
|
|
(0 kill "windspinner-9")
|
|
|
|
(0 kill "sagesail-6")
|
|
|
|
(0 kill "sharkey-12")
|
|
|
|
(0 kill "windmill-sail-4")
|
|
|
|
(0 kill "water-vol-7")
|
|
|
|
(0 kill "windspinner-8")
|
|
|
|
(0 kill "villagea-part-32")
|
|
|
|
(0 kill "water-vol-10")
|
|
|
|
(0 kill "ropebridge-4")
|
|
|
|
(0 kill "ropebridge-5")
|
|
|
|
(0 kill "reflector-end-1")
|
|
|
|
(0 kill "eco-10")
|
|
|
|
(0 kill "eco-11")
|
|
|
|
(0 kill "warp-gate-switch-3")
|
|
|
|
(0 kill "reflector-middle-2")
|
|
|
|
(0 kill "evilplant-2")
|
|
|
|
(0 kill "crate-3147")
|
|
|
|
(0 kill "villagea-water-2")
|
|
|
|
(0 kill "med-res-level-22")
|
|
|
|
(0 kill "med-res-level-23")
|
|
|
|
(0 kill "villagea-part-50")
|
|
|
|
(0 kill "water-vol-9")
|
|
|
|
(0 kill "crate-3144")
|
|
|
|
(0 kill "orb-cache-top-4")
|
|
|
|
(0 kill "village-cam-2")
|
|
|
|
(0 kill "villagea-part-18")
|
|
|
|
(0 kill "villagea-part-24")
|
|
|
|
(0 kill "money-2676")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "villagea-part-13")
|
|
|
|
(0 kill "villagea-part-17")
|
|
|
|
(0 kill "money-2689")
|
|
|
|
(0 kill "money-2690")
|
|
|
|
(0 kill "farmer-3")
|
|
|
|
(0 kill "villagea-part-26")
|
|
|
|
(0 kill "money-2692")
|
|
|
|
(0 kill "villagea-part-37")
|
|
|
|
(0 kill "villagea-part-38")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "crate-3142")
|
|
|
|
(0 kill "crate-3143")
|
|
|
|
(0 kill "money-2688")
|
|
|
|
(0 kill "villagea-part-14")
|
|
|
|
(0 kill "money-2691")
|
|
|
|
(0 kill "villagea-part-62")
|
|
|
|
(0 kill "villagea-part-63")
|
|
|
|
(0 kill "sharkey-1")
|
|
|
|
(0 kill "eco-82")
|
|
|
|
(0 kill "eco-83")
|
|
|
|
(0 kill "crate-2470")
|
|
|
|
(0 kill "villagea-part-3")
|
|
|
|
(0 kill "villagea-part-15")
|
|
|
|
(0 kill "villagea-part-22")
|
|
|
|
(0 kill "villagea-part-28")
|
|
|
|
(0 kill "explorer-4")
|
|
|
|
(0 kill "oracle-1")
|
|
|
|
(0 kill "crate-3141")
|
|
|
|
(0 kill "crate-3145")
|
|
|
|
(0 kill "water-vol-8")
|
|
|
|
(0 kill "water-vol-63")
|
|
|
|
(0 kill "lrocklrg-1")
|
|
|
|
(0 kill "crate-2469")
|
|
|
|
(0 kill "villagea-part-69")
|
|
|
|
(0 display-level beach special)
|
|
|
|
)
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
2023-09-26 10:17:00 -04:00
|
|
|
((zero? (get-reminder (-> this tasks) 0))
|
2022-01-12 10:47:17 -05:00
|
|
|
(if arg0
|
2023-09-26 10:17:00 -04:00
|
|
|
(save-reminder (-> this tasks) 1 0)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
(new 'static 'spool-anim
|
|
|
|
:name "mayor-reminder-beams"
|
|
|
|
:index 5
|
|
|
|
:parts 3
|
2022-06-09 21:18:08 -04:00
|
|
|
:command-list '((0 kill "villagea-part-65")
|
2022-01-12 10:47:17 -05:00
|
|
|
(0 kill "villagea-part-70")
|
|
|
|
(0 kill "med-res-level-2")
|
|
|
|
(0 kill "med-res-level-3")
|
|
|
|
(0 kill "med-res-level-4")
|
|
|
|
(0 kill "med-res-level-6")
|
|
|
|
(0 kill "med-res-level-7")
|
|
|
|
(0 kill "med-res-level-8")
|
|
|
|
(0 kill "med-res-level-11")
|
|
|
|
(0 kill "med-res-level-14")
|
|
|
|
(0 kill "fishermans-boat-2")
|
|
|
|
(0 kill "windspinner-9")
|
|
|
|
(0 kill "sagesail-6")
|
|
|
|
(0 kill "sharkey-12")
|
|
|
|
(0 kill "windmill-sail-4")
|
|
|
|
(0 kill "water-vol-7")
|
|
|
|
(0 kill "windspinner-8")
|
|
|
|
(0 kill "villagea-part-32")
|
|
|
|
(0 kill "water-vol-10")
|
|
|
|
(0 kill "ropebridge-4")
|
|
|
|
(0 kill "ropebridge-5")
|
|
|
|
(0 kill "reflector-end-1")
|
|
|
|
(0 kill "eco-10")
|
|
|
|
(0 kill "eco-11")
|
|
|
|
(0 kill "warp-gate-switch-3")
|
|
|
|
(0 kill "reflector-middle-2")
|
|
|
|
(0 kill "evilplant-2")
|
|
|
|
(0 kill "crate-3147")
|
|
|
|
(0 kill "villagea-water-2")
|
|
|
|
(0 kill "med-res-level-22")
|
|
|
|
(0 kill "med-res-level-23")
|
|
|
|
(0 kill "villagea-part-50")
|
|
|
|
(0 kill "water-vol-9")
|
|
|
|
(0 kill "crate-3144")
|
|
|
|
(0 kill "orb-cache-top-4")
|
|
|
|
(0 kill "village-cam-2")
|
|
|
|
(0 kill "villagea-part-18")
|
|
|
|
(0 kill "villagea-part-24")
|
|
|
|
(0 kill "money-2676")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "villagea-part-13")
|
|
|
|
(0 kill "villagea-part-17")
|
|
|
|
(0 kill "money-2689")
|
|
|
|
(0 kill "money-2690")
|
|
|
|
(0 kill "farmer-3")
|
|
|
|
(0 kill "villagea-part-26")
|
|
|
|
(0 kill "money-2692")
|
|
|
|
(0 kill "villagea-part-37")
|
|
|
|
(0 kill "villagea-part-38")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "crate-3142")
|
|
|
|
(0 kill "crate-3143")
|
|
|
|
(0 kill "money-2688")
|
|
|
|
(0 kill "villagea-part-14")
|
|
|
|
(0 kill "money-2691")
|
|
|
|
(0 kill "villagea-part-62")
|
|
|
|
(0 kill "villagea-part-63")
|
|
|
|
(0 kill "sharkey-1")
|
|
|
|
(0 kill "eco-82")
|
|
|
|
(0 kill "eco-83")
|
|
|
|
(0 kill "crate-2470")
|
|
|
|
(0 kill "villagea-part-3")
|
|
|
|
(0 kill "villagea-part-15")
|
|
|
|
(0 kill "villagea-part-22")
|
|
|
|
(0 kill "villagea-part-28")
|
|
|
|
(0 kill "explorer-4")
|
|
|
|
(0 kill "oracle-1")
|
|
|
|
(0 kill "crate-3141")
|
|
|
|
(0 kill "crate-3145")
|
|
|
|
(0 kill "water-vol-8")
|
|
|
|
(0 kill "water-vol-63")
|
|
|
|
(0 kill "lrocklrg-1")
|
|
|
|
(0 kill "crate-2469")
|
|
|
|
(0 kill "villagea-part-69")
|
|
|
|
(0 display-level beach special)
|
|
|
|
)
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
(else
|
|
|
|
(if arg0
|
2023-09-26 10:17:00 -04:00
|
|
|
(save-reminder (-> this tasks) 0 0)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
(new 'static 'spool-anim
|
|
|
|
:name "mayor-reminder-donation"
|
|
|
|
:index 6
|
|
|
|
:parts 3
|
2022-06-09 21:18:08 -04:00
|
|
|
:command-list '((0 kill "villagea-part-65")
|
2022-01-12 10:47:17 -05:00
|
|
|
(0 kill "villagea-part-70")
|
|
|
|
(0 kill "med-res-level-2")
|
|
|
|
(0 kill "med-res-level-3")
|
|
|
|
(0 kill "med-res-level-4")
|
|
|
|
(0 kill "med-res-level-6")
|
|
|
|
(0 kill "med-res-level-7")
|
|
|
|
(0 kill "med-res-level-8")
|
|
|
|
(0 kill "med-res-level-11")
|
|
|
|
(0 kill "med-res-level-14")
|
|
|
|
(0 kill "fishermans-boat-2")
|
|
|
|
(0 kill "windspinner-9")
|
|
|
|
(0 kill "sagesail-6")
|
|
|
|
(0 kill "sharkey-12")
|
|
|
|
(0 kill "windmill-sail-4")
|
|
|
|
(0 kill "water-vol-7")
|
|
|
|
(0 kill "windspinner-8")
|
|
|
|
(0 kill "villagea-part-32")
|
|
|
|
(0 kill "water-vol-10")
|
|
|
|
(0 kill "ropebridge-4")
|
|
|
|
(0 kill "ropebridge-5")
|
|
|
|
(0 kill "reflector-end-1")
|
|
|
|
(0 kill "eco-10")
|
|
|
|
(0 kill "eco-11")
|
|
|
|
(0 kill "warp-gate-switch-3")
|
|
|
|
(0 kill "reflector-middle-2")
|
|
|
|
(0 kill "evilplant-2")
|
|
|
|
(0 kill "crate-3147")
|
|
|
|
(0 kill "villagea-water-2")
|
|
|
|
(0 kill "med-res-level-22")
|
|
|
|
(0 kill "med-res-level-23")
|
|
|
|
(0 kill "villagea-part-50")
|
|
|
|
(0 kill "water-vol-9")
|
|
|
|
(0 kill "crate-3144")
|
|
|
|
(0 kill "orb-cache-top-4")
|
|
|
|
(0 kill "village-cam-2")
|
|
|
|
(0 kill "villagea-part-18")
|
|
|
|
(0 kill "villagea-part-24")
|
|
|
|
(0 kill "money-2676")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "villagea-part-13")
|
|
|
|
(0 kill "villagea-part-17")
|
|
|
|
(0 kill "money-2689")
|
|
|
|
(0 kill "money-2690")
|
|
|
|
(0 kill "farmer-3")
|
|
|
|
(0 kill "villagea-part-26")
|
|
|
|
(0 kill "money-2692")
|
|
|
|
(0 kill "villagea-part-37")
|
|
|
|
(0 kill "villagea-part-38")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "crate-3142")
|
|
|
|
(0 kill "crate-3143")
|
|
|
|
(0 kill "money-2688")
|
|
|
|
(0 kill "villagea-part-14")
|
|
|
|
(0 kill "money-2691")
|
|
|
|
(0 kill "villagea-part-62")
|
|
|
|
(0 kill "villagea-part-63")
|
|
|
|
(0 kill "sharkey-1")
|
|
|
|
(0 kill "eco-82")
|
|
|
|
(0 kill "eco-83")
|
|
|
|
(0 kill "crate-2470")
|
|
|
|
(0 kill "villagea-part-3")
|
|
|
|
(0 kill "villagea-part-15")
|
|
|
|
(0 kill "villagea-part-22")
|
|
|
|
(0 kill "villagea-part-28")
|
|
|
|
(0 kill "explorer-4")
|
|
|
|
(0 kill "oracle-1")
|
|
|
|
(0 kill "crate-3141")
|
|
|
|
(0 kill "crate-3145")
|
|
|
|
(0 kill "water-vol-8")
|
|
|
|
(0 kill "water-vol-63")
|
|
|
|
(0 kill "lrocklrg-1")
|
|
|
|
(0 kill "crate-2469")
|
|
|
|
(0 kill "villagea-part-69")
|
|
|
|
(0 display-level beach special)
|
|
|
|
)
|
|
|
|
)
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
(((task-status need-reward-speech))
|
|
|
|
(if (not arg0)
|
2023-09-26 10:17:00 -04:00
|
|
|
(set! (-> this will-talk) #t)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
2023-09-26 10:17:00 -04:00
|
|
|
(case (current-task (-> this tasks))
|
2022-01-12 10:47:17 -05:00
|
|
|
(((game-task jungle-lurkerm))
|
2023-09-26 10:17:00 -04:00
|
|
|
(mayor-lurkerm-reward-speech this arg0)
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
|
|
|
(else
|
2022-01-12 10:47:17 -05:00
|
|
|
(cond
|
|
|
|
(arg0
|
2023-09-26 10:17:00 -04:00
|
|
|
(set! (-> this cell-for-task) (current-task (-> this tasks)))
|
|
|
|
(close-current! (-> this tasks))
|
2022-01-12 10:47:17 -05:00
|
|
|
(send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc)))
|
|
|
|
)
|
|
|
|
(else
|
2023-09-26 10:17:00 -04:00
|
|
|
(set! (-> this talk-message) (text-id press-to-trade-money))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
)
|
|
|
|
(new 'static 'spool-anim
|
|
|
|
:name "mayor-resolution-donation"
|
|
|
|
:index 8
|
|
|
|
:parts 5
|
2022-06-09 21:18:08 -04:00
|
|
|
:command-list '((0 kill "villagea-part-65")
|
2022-01-12 10:47:17 -05:00
|
|
|
(0 kill "villagea-part-70")
|
|
|
|
(0 kill "med-res-level-2")
|
|
|
|
(0 kill "med-res-level-3")
|
|
|
|
(0 kill "med-res-level-4")
|
|
|
|
(0 kill "med-res-level-6")
|
|
|
|
(0 kill "med-res-level-7")
|
|
|
|
(0 kill "med-res-level-8")
|
|
|
|
(0 kill "med-res-level-11")
|
|
|
|
(0 kill "med-res-level-14")
|
|
|
|
(0 kill "fishermans-boat-2")
|
|
|
|
(0 kill "windspinner-9")
|
|
|
|
(0 kill "sagesail-6")
|
|
|
|
(0 kill "sharkey-12")
|
|
|
|
(0 kill "windmill-sail-4")
|
|
|
|
(0 kill "water-vol-7")
|
|
|
|
(0 kill "windspinner-8")
|
|
|
|
(0 kill "villagea-part-32")
|
|
|
|
(0 kill "water-vol-10")
|
|
|
|
(0 kill "ropebridge-4")
|
|
|
|
(0 kill "ropebridge-5")
|
|
|
|
(0 kill "reflector-end-1")
|
|
|
|
(0 kill "eco-10")
|
|
|
|
(0 kill "eco-11")
|
|
|
|
(0 kill "warp-gate-switch-3")
|
|
|
|
(0 kill "reflector-middle-2")
|
|
|
|
(0 kill "evilplant-2")
|
|
|
|
(0 kill "crate-3147")
|
|
|
|
(0 kill "villagea-water-2")
|
|
|
|
(0 kill "med-res-level-22")
|
|
|
|
(0 kill "med-res-level-23")
|
|
|
|
(0 kill "villagea-part-50")
|
|
|
|
(0 kill "water-vol-9")
|
|
|
|
(0 kill "crate-3144")
|
|
|
|
(0 kill "orb-cache-top-4")
|
|
|
|
(0 kill "village-cam-2")
|
|
|
|
(0 kill "villagea-part-18")
|
|
|
|
(0 kill "villagea-part-24")
|
|
|
|
(0 kill "money-2676")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "villagea-part-13")
|
|
|
|
(0 kill "villagea-part-17")
|
|
|
|
(0 kill "money-2689")
|
|
|
|
(0 kill "money-2690")
|
|
|
|
(0 kill "farmer-3")
|
|
|
|
(0 kill "villagea-part-26")
|
|
|
|
(0 kill "money-2692")
|
|
|
|
(0 kill "villagea-part-37")
|
|
|
|
(0 kill "villagea-part-38")
|
|
|
|
(0 kill "villagea-part-64")
|
|
|
|
(0 kill "crate-3142")
|
|
|
|
(0 kill "crate-3143")
|
|
|
|
(0 kill "money-2688")
|
|
|
|
(0 kill "villagea-part-14")
|
|
|
|
(0 kill "money-2691")
|
|
|
|
(0 kill "villagea-part-62")
|
|
|
|
(0 kill "villagea-part-63")
|
|
|
|
(0 kill "sharkey-1")
|
|
|
|
(0 kill "eco-82")
|
|
|
|
(0 kill "eco-83")
|
|
|
|
(0 kill "crate-2470")
|
|
|
|
(0 kill "villagea-part-3")
|
|
|
|
(0 kill "villagea-part-15")
|
|
|
|
(0 kill "villagea-part-22")
|
|
|
|
(0 kill "villagea-part-28")
|
|
|
|
(0 kill "explorer-4")
|
|
|
|
(0 kill "oracle-1")
|
|
|
|
(0 kill "crate-3141")
|
|
|
|
(0 kill "crate-3145")
|
|
|
|
(0 kill "water-vol-8")
|
|
|
|
(0 kill "water-vol-63")
|
|
|
|
(0 kill "lrocklrg-1")
|
|
|
|
(0 kill "crate-2469")
|
|
|
|
(0 kill "villagea-part-69")
|
|
|
|
(0 display-level beach special)
|
|
|
|
)
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
(else
|
|
|
|
(if arg0
|
|
|
|
(format
|
|
|
|
0
|
|
|
|
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
2023-09-26 10:17:00 -04:00
|
|
|
(-> this name)
|
|
|
|
(task-status->string (current-status (-> this tasks)))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
)
|
2023-09-26 10:17:00 -04:00
|
|
|
(-> this draw art-group data 3)
|
2021-10-16 15:12:01 -04:00
|
|
|
)
|
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
|
|
|
|
2023-10-29 23:20:02 -04:00
|
|
|
(defmethod get-art-elem ((this mayor))
|
2023-09-26 10:17:00 -04:00
|
|
|
(-> this draw art-group data 3)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
|
|
|
|
2023-10-29 23:20:02 -04:00
|
|
|
(defmethod should-display? ((this mayor))
|
2021-08-18 21:33:31 -04:00
|
|
|
(if *target*
|
2023-10-29 23:20:02 -04:00
|
|
|
(< (- (-> (target-pos 0) z) (-> this root trans z)) 57344.0)
|
|
|
|
(< (- (-> (camera-pos) z) (-> this root trans z)) 57344.0)
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
|
|
|
|
2023-10-29 23:20:02 -04:00
|
|
|
(defmethod process-taskable-method-43 ((this mayor))
|
2023-09-26 10:17:00 -04:00
|
|
|
(when (ambient-control-method-10 (-> this ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 this)
|
2022-06-09 21:18:08 -04:00
|
|
|
(let ((f0-2 (rand-float-gen)))
|
2022-01-12 10:47:17 -05:00
|
|
|
(cond
|
|
|
|
((< 0.8888889 f0-2)
|
2023-09-26 10:17:00 -04:00
|
|
|
(if (not (closed? (-> this tasks) (game-task jungle-lurkerm) (task-status need-reminder)))
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-LO01" #f (-> this root trans))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
((< 0.7777778 f0-2)
|
2023-09-26 10:17:00 -04:00
|
|
|
(if (not (closed? (-> this tasks) (game-task jungle-lurkerm) (task-status need-reminder)))
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-LO02" #f (-> this root trans))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
((< 0.6666667 f0-2)
|
2023-09-26 10:17:00 -04:00
|
|
|
(if (not (closed? (-> this tasks) (game-task jungle-lurkerm) (task-status need-reminder)))
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-AM07" #f (-> this root trans))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
((< 0.5555556 f0-2)
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-AM06" #f (-> this root trans))
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
((< 0.44444445 f0-2)
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-AM05" #f (-> this root trans))
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
((< 0.33333334 f0-2)
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-AM04" #f (-> this root trans))
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
2022-01-12 10:47:17 -05:00
|
|
|
((< 0.22222222 f0-2)
|
2023-09-26 10:17:00 -04:00
|
|
|
(if (not (closed? (-> this tasks) (game-task jungle-lurkerm) (task-status need-reminder)))
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-AM03" #f (-> this root trans))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
)
|
|
|
|
((< 0.11111111 f0-2)
|
2023-09-26 10:17:00 -04:00
|
|
|
(if (not (closed? (-> this tasks) (game-task jungle-lurkerm) (task-status need-reminder)))
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-AM02" #f (-> this root trans))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
)
|
|
|
|
(else
|
2023-09-26 10:17:00 -04:00
|
|
|
(if (not (closed? (-> this tasks) (game-task jungle-lurkerm) (task-status need-reminder)))
|
2023-10-29 23:20:02 -04:00
|
|
|
(play-ambient (-> this ambient) "CHI-AM01" #f (-> this root trans))
|
2022-01-12 10:47:17 -05:00
|
|
|
)
|
|
|
|
)
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
(defstate idle (mayor)
|
|
|
|
:virtual #t
|
2022-06-09 21:18:08 -04:00
|
|
|
:trans (behavior ()
|
2022-01-12 10:47:17 -05:00
|
|
|
(if (not (should-display? self))
|
|
|
|
(go-virtual hidden)
|
|
|
|
)
|
|
|
|
((-> (method-of-type process-taskable idle) trans))
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
2022-06-09 21:18:08 -04:00
|
|
|
:post (behavior ()
|
2022-01-12 10:47:17 -05:00
|
|
|
(let ((t9-0 (-> (method-of-type process-taskable idle) post)))
|
|
|
|
(if t9-0
|
|
|
|
((the-as (function none) t9-0))
|
|
|
|
)
|
|
|
|
)
|
2023-10-29 23:20:02 -04:00
|
|
|
(do-push-aways! (-> self root))
|
2021-08-18 21:33:31 -04:00
|
|
|
)
|
|
|
|
)
|
|
|
|
|
2023-10-29 23:20:02 -04:00
|
|
|
(defmethod init-from-entity! ((this mayor) (arg0 entity-actor))
|
2023-09-26 10:17:00 -04:00
|
|
|
(process-taskable-method-40 this arg0 *mayor-sg* 3 51 (new 'static 'vector :y 4096.0 :w 4096.0) 5)
|
|
|
|
(set! (-> this bounce-away) #f)
|
|
|
|
(set! (-> this tasks) (get-task-control (game-task jungle-lurkerm)))
|
|
|
|
(set! (-> this sound-flava) (music-flava mayor))
|
|
|
|
(set! (-> this draw light-index) (the-as uint 2))
|
|
|
|
(process-taskable-method-42 this)
|
2021-08-18 21:33:31 -04:00
|
|
|
(none)
|
|
|
|
)
|