mirror of
https://github.com/open-goal/jak-project
synced 2026-08-07 02:06:59 -04:00
5090 lines
247 KiB
Common Lisp
5090 lines
247 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
(bundles "ENGINE.CGO" "GAME.CGO")
|
|
(require "engine/game/game-info.gc")
|
|
(require "engine/game/task/game-task-h.gc")
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(defun-debug task-status->string ((status task-status))
|
|
"Return status's task-status name, or *unknown* for an unrecognized value."
|
|
(enum->string task-status status))
|
|
|
|
(defmethod get-task ((this task-cstage))
|
|
"Return this stage's game task."
|
|
(-> this game-task))
|
|
|
|
(defmethod get-status ((this task-cstage))
|
|
"Return this stage's progress status."
|
|
(-> this status))
|
|
|
|
(defmethod closed? ((this task-cstage))
|
|
"Return whether this stage is currently closed."
|
|
(declare (inline))
|
|
(logtest? (-> this flags) (task-flags closed)))
|
|
|
|
(defmethod closed-by-default? ((this task-cstage))
|
|
"Return whether non-game resets leave this stage closed."
|
|
(declare (inline))
|
|
(logtest? (-> this flags) (task-flags closed-by-default)))
|
|
|
|
(defmethod task-available? ((this task-cstage) (control task-control))
|
|
"Return whether this open stage may become current. Permanently close it when saved progress
|
|
has reached its status or the task is complete; otherwise evaluate its condition against control."
|
|
(cond
|
|
((closed? this)
|
|
;; we're already closed.
|
|
#f)
|
|
((>= (the-as int (-> (get-entity-task-perm *game-info* (-> this game-task)) user-uint8 0)) (the-as int (-> this status)))
|
|
;; the permanent entity for this task has stored that we have progresssed past
|
|
;; our status. Remember that we are closed, and return #f.
|
|
(logior! (-> this flags) (task-flags closed))
|
|
#f)
|
|
((task-complete? *game-info* (-> this game-task))
|
|
;; the game-info thinks that we have completed this task already.
|
|
;; remember we are closed and return #f
|
|
(logior! (-> this flags) (task-flags closed))
|
|
#f)
|
|
(else
|
|
;; we aren't closed. Check the condition.
|
|
((-> this condition) control))))
|
|
|
|
(defmethod close-task! ((this task-cstage))
|
|
"Close this stage. When it has an associated entity, mark its persistent task status as
|
|
user-authored and advance that status monotonically to this stage."
|
|
(if (= (-> this game-task) (game-task none))
|
|
;; invalid task.
|
|
(return (the-as int #f)))
|
|
;; flag as closed
|
|
(logior! (-> this flags) (task-flags closed))
|
|
;; do we have an entity to update?
|
|
(when (logtest? (-> this flags) (task-flags has-entity))
|
|
;; look up the permanent storage for the entity associated with our task
|
|
(let ((task-perm (get-entity-task-perm *game-info* (-> this game-task))))
|
|
;; we set a bit to indicate that we are storing a non-default status
|
|
(logior! (-> task-perm status) (entity-perm-status user-set-from-cstage))
|
|
;; and store the actual status (only increment)
|
|
(if (< (-> task-perm user-uint8 0) (the-as uint (-> this status)))
|
|
(set! (-> task-perm user-int8 0) (the-as int (-> this status))))))
|
|
0)
|
|
|
|
(defmethod open-task! ((this task-cstage))
|
|
"Clear the closed flag."
|
|
(logclear! (-> this flags) (task-flags closed))
|
|
0)
|
|
|
|
;; a task-control containing no cstages
|
|
(define *null-task-control*
|
|
(new 'static 'task-control :current-stage -1 :stage (new 'static 'boxed-array :type task-cstage)))
|
|
|
|
(defmethod current-task ((this task-control))
|
|
"Return the current stage's task, or game-task.none when this is the null control or no stage
|
|
is current."
|
|
(cond
|
|
((= this *null-task-control*) (format 0 "ERROR<GMJ>: current-task received *null-task-control*~%") (game-task none))
|
|
((= (-> this current-stage) -1)
|
|
;; state unknown
|
|
(game-task none))
|
|
(else
|
|
;; look up the current cstage's task
|
|
(-> this stage (-> this current-stage) game-task))))
|
|
|
|
(defmethod current-status ((this task-control))
|
|
"Return the current stage's status, or task-status.invalid when this is the null control or no
|
|
stage is current."
|
|
(cond
|
|
((= this *null-task-control*)
|
|
(format 0 "ERROR<GMJ>: current-status received self of *null-task-control*~%~%")
|
|
(task-status invalid))
|
|
((= (-> this current-stage) -1) (task-status invalid))
|
|
(else (-> this stage (-> this current-stage) status))))
|
|
|
|
(defmethod close-current! ((this task-control))
|
|
"Close the current stage when one exists, then select and return the first available task."
|
|
(cond
|
|
((= this *null-task-control*) (format 0 "ERROR<GMJ>: close-current! received self of *null-task-control*~%~%"))
|
|
((= (-> this current-stage) -1)
|
|
;; no current stage, do nothing
|
|
)
|
|
(else (close-task! (-> this stage (-> this current-stage)))))
|
|
;; attempt to update the current task
|
|
(first-any this #t))
|
|
|
|
(defmethod close-status! ((this task-control) (status task-status))
|
|
"Close the stage with status for the current task, then select the first available task.
|
|
Report an error and return game-task.none when no matching stage exists."
|
|
(let ((task (current-task this)))
|
|
;; iterate over all cstages
|
|
(dotimes (i (-> this stage length))
|
|
(when (and (= task (-> this stage i game-task)) (= status (-> this stage i status)))
|
|
;; found it! close and update current stage
|
|
(close-task! (-> this stage i))
|
|
(return (first-any this #t))))
|
|
;; nope, complain.
|
|
(format 0
|
|
"ERROR<GMJ>: close-status! received non-existent task-cstage(~S ~S)--returning #t.~%"
|
|
(game-task->string task)
|
|
(task-status->string status)))
|
|
(game-task none))
|
|
|
|
(defmethod first-any ((this task-control) (warn-on-null? symbol))
|
|
"Select the first available stage in array order and return its task. Clear current-stage and
|
|
return game-task.none when none is available; warn for the null control when requested."
|
|
;; check for null
|
|
(when (= this *null-task-control*)
|
|
(if warn-on-null? (format 0 "ERROR<GMJ>: first-any received self of *null-task-control*~%~%"))
|
|
(return (game-task none)))
|
|
;; iterate through all tasks
|
|
(dotimes (i (-> this stage length))
|
|
(when (task-available? (-> this stage i) this)
|
|
;; found an available task, set it.
|
|
(set! (-> this current-stage) i)
|
|
(return (-> this stage i game-task))))
|
|
;; none available.
|
|
(set! (-> this current-stage) -1)
|
|
(game-task none))
|
|
|
|
(defmethod reset! ((this task-control) (reset-mode symbol) (warn-on-null? symbol))
|
|
"Reset stage closure. A game reset opens every stage; other resets open only stages that are
|
|
not closed by default. Reapply persistent closure for stages that remain closed."
|
|
(when (= this *null-task-control*)
|
|
(if warn-on-null? (format 0 "ERROR<GMJ>: reset! received self of *null-task-control*~%~%"))
|
|
(return 0))
|
|
(dotimes (i (-> this stage length))
|
|
;; do we open the task?
|
|
(if (or (= reset-mode 'game) ;; open every task on game reset
|
|
(not (closed-by-default? (-> this stage i))))
|
|
(open-task! (-> this stage i)))
|
|
;; call close-task! to send closed stuff to entities
|
|
(if (closed? (-> this stage i)) (close-task! (-> this stage i))))
|
|
(the-as int #f))
|
|
|
|
(defmethod closed? ((this task-control) (task game-task) (status task-status))
|
|
"Return whether the matching task and status stage is closed. Report an error and return true
|
|
when no matching stage exists."
|
|
(when (= this *null-task-control*)
|
|
(format 0 "ERROR<GMJ>: closed? received self of *null-task-control*~%~%")
|
|
(return #f))
|
|
;; iterate all and check for match
|
|
(dotimes (i (-> this stage length))
|
|
(when (and (= task (-> this stage i game-task)) (= status (-> this stage i status)))
|
|
(return (closed? (-> this stage i)))))
|
|
(format 0
|
|
"ERROR<GMJ>: closed? received non-existent task-cstage(~S ~S)--returning #t.~%"
|
|
(game-task->string task)
|
|
(task-status->string status))
|
|
#t)
|
|
|
|
(defmethod exists? ((this task-control) (task game-task) (status task-status))
|
|
"Return whether a stage with the given task and status exists."
|
|
(when (= this *null-task-control*)
|
|
(format 0 "ERROR<GMJ>: exists? received self of *null-task-control*~%~%")
|
|
(return #f))
|
|
(dotimes (i (-> this stage length))
|
|
(if (and (= task (-> this stage i game-task)) (= status (-> this stage i status))) (return #t)))
|
|
#f)
|
|
|
|
(defmethod get-reminder ((this task-control) (reminder-index int))
|
|
"Return reminder byte index from the persistent task record associated with the first stage."
|
|
(when (= this *null-task-control*)
|
|
(format 0 "ERROR<GMJ>: get-reminder received self of *null-task-control*~%~%")
|
|
(return 0))
|
|
(let ((task-perm (get-entity-task-perm *game-info* (-> this stage 0 game-task))))
|
|
(the-as int (-> task-perm user-uint8 (+ reminder-index 1)))))
|
|
|
|
(defmethod save-reminder ((this task-control) (value int) (reminder-index int))
|
|
"Store value in reminder byte index of the first stage's persistent task record and mark the
|
|
record as user-modified."
|
|
(when (= this *null-task-control*)
|
|
(format 0 "ERROR<GMJ>: save-reminder received self of *null-task-control*~%~%")
|
|
(return 0))
|
|
(let ((task-perm (get-entity-task-perm *game-info* (-> this stage 0 game-task))))
|
|
;; remember that we have a change.
|
|
(logior! (-> task-perm status) (entity-perm-status user-set-from-cstage))
|
|
(set! (-> task-perm user-int8 (+ reminder-index 1)) value))
|
|
0)
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; Task Control Definitions
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
;; Each control is an ordered dialogue/progression program for one task-giving character. A task
|
|
;; normally appears several times with successively later task-status values; closing one stage
|
|
;; advances persistent progress and exposes a later stage. first-any selects the first open stage
|
|
;; whose condition succeeds, so the order below is also the character's task priority.
|
|
;;
|
|
;; Conditions are process-taskable behaviors: they run in the current character's context and use
|
|
;; the control argument to inspect sibling stages and reminder counters. They combine permanent task
|
|
;; completion, earlier conversations, collectible totals, level progress, and other character
|
|
;; controls to decide which conversation is available without duplicating that policy in the NPC
|
|
;; state files.
|
|
|
|
;; tasks for assistant (note: keira)
|
|
(define *assistant-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-eggtop)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-eggtop)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task jungle-eggtop) (task-status need-reminder))
|
|
(and (closed? control (game-task jungle-eggtop) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task jungle-eggtop) (task-status need-reminder))
|
|
(and (closed? control (game-task jungle-eggtop) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-eggtop)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike)
|
|
:status (task-status need-reminder-a)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status unknown)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(task-closed? (game-task village4-button) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-eggtop)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *assistant-village2-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-levitator)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-levitator)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-levitator)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-levitator)
|
|
:status (task-status need-reminder-a)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-levitator)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 45)))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-room)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-room)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-flutflut)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(and (task-closed? (game-task beach-flutflut) (task-status need-reminder))
|
|
(or (closed? control (game-task sunken-room) (task-status need-reminder))
|
|
(and (closed? control (game-task sunken-room) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3)))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-flutflut)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(and (task-closed? (game-task beach-flutflut) (task-status need-reminder))
|
|
(or (closed? control (game-task sunken-room) (task-status need-reminder))
|
|
(and (closed? control (game-task sunken-room) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3)))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-robbers)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(if (task-closed? (game-task beach-flutflut) (task-status need-reminder))
|
|
(or (closed? control (game-task swamp-flutflut) (task-status need-reminder))
|
|
(and (closed? control (game-task swamp-flutflut) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))
|
|
(or (closed? control (game-task sunken-room) (task-status need-reminder))
|
|
(and (closed? control (game-task sunken-room) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3)))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-robbers)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(if (task-closed? (game-task beach-flutflut) (task-status need-reminder))
|
|
(or (closed? control (game-task swamp-flutflut) (task-status need-reminder))
|
|
(and (closed? control (game-task swamp-flutflut) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))
|
|
(or (closed? control (game-task sunken-room) (task-status need-reminder))
|
|
(and (closed? control (game-task sunken-room) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3)))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-room)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-room)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-flutflut)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(task-closed? (game-task beach-flutflut) (task-status need-reminder))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-flutflut)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(task-closed? (game-task beach-flutflut) (task-status need-reminder))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-robbers)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-robbers)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-room)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-robbers)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-flutflut)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-levitator)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *gambler-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-race)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-race)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-gambler-money)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-gambler-money)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-race)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task rolling-race) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-gambler-money)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task village2-gambler-money) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-race)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task rolling-race) (task-status need-reminder))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-gambler-money)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-race)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task rolling-race) (task-status need-introduction))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-gambler-money)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task rolling-race) (task-status need-introduction)))))))
|
|
|
|
(define *geologist-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-moles)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-moles)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-geologist-money)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-geologist-money)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-moles)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task rolling-moles) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-geologist-money)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task village2-geologist-money) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-moles)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task rolling-moles) (task-status need-reminder))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-geologist-money)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-moles)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task rolling-moles) (task-status need-introduction))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-geologist-money)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task rolling-moles) (task-status need-introduction)))))))
|
|
|
|
(define *mayor-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-lurkerm)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-lurkerm)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-mayor-money)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-mayor-money)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-lurkerm)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task jungle-lurkerm) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-mayor-money)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task village1-mayor-money) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-lurkerm)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task jungle-lurkerm) (task-status need-reminder))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-mayor-money)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-lurkerm)
|
|
:status (task-status need-reminder-a)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task jungle-lurkerm) (task-status need-introduction))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-lurkerm)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task jungle-lurkerm) (task-status need-introduction))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-mayor-money)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(closed? control (game-task jungle-lurkerm) (task-status need-introduction)))))))
|
|
|
|
(define *sage-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task intro)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task intro)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task intro)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-ecorocks)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-ecorocks)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-cannon)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task beach-ecorocks) (task-status need-reminder))
|
|
(and (closed? control (game-task beach-ecorocks) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-cannon)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task beach-ecorocks) (task-status need-reminder))
|
|
(and (closed? control (game-task beach-ecorocks) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-ecorocks)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-cannon)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-cannon)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status unknown)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(task-closed? (game-task village4-button) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-ecorocks)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-cannon)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *sage-bluehut-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-plants)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-plants)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-arm)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task rolling-plants) (task-status need-reminder))
|
|
(and (closed? control (game-task rolling-plants) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-arm)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task rolling-plants) (task-status need-reminder))
|
|
(and (closed? control (game-task rolling-plants) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-plants)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-arm)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-arm)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-plants)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-arm)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *oracle-village1-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money1)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money1)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money2)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money2)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money1)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money1)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money1)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money2)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money2)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-oracle-money2)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *oracle-village2-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money1)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money1)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money2)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money2)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money1)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money1)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money1)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money2)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money2)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-oracle-money2)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *oracle-village3-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money1)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money1)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money2)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money2)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money1)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money1)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money1)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money2)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money2)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-oracle-money2)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *miners-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money1)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money1)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money2)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money2)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money3)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money3)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money4)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money4)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money1)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money2)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money3)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money4)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-gnawers)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task village3-miner-money4) (task-status need-reminder))
|
|
(and (closed? control (game-task village3-miner-money4) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-gnawers)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task village3-miner-money4) (task-status need-reminder))
|
|
(and (closed? control (game-task village3-miner-money4) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-eggtop)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task cave-gnawers) (task-status need-reminder))
|
|
(and (closed? control (game-task cave-gnawers) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-eggtop)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task cave-gnawers) (task-status need-reminder))
|
|
(and (closed? control (game-task cave-gnawers) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money1)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money1)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money2)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money2)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money3)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money3)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money4)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money4)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-gnawers)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-gnawers)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-eggtop)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-eggtop)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money1)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money2)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money3)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-miner-money4)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-gnawers)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-eggtop)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *sage-villagec-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-button)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-button)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-button)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-dark-crystals)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-dark-crystals)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ram)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task cave-dark-crystals) (task-status need-reminder))
|
|
(and (closed? control (game-task cave-dark-crystals) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ram)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(or (closed? control (game-task cave-dark-crystals) (task-status need-reminder))
|
|
(and (closed? control (game-task cave-dark-crystals) (task-status need-introduction))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) (+ (get-reminder control 1) 3))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-dark-crystals)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ram)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ram)
|
|
:status (task-status need-reminder-a)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ram)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-dark-crystals)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ram)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *citb-greensage-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-sage-green)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-sage-green)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *citb-bluesage-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-sage-blue)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-sage-blue)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *citb-redsage-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-sage-red)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-sage-red)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *citb-yellowsage-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-sage-yellow)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-sage-yellow)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))
|
|
|
|
(define *task-controls*
|
|
(the-as (array task-control)
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
basic
|
|
'*null-task-control*
|
|
'*null-task-control*
|
|
'*assistant-tasks*
|
|
'*mayor-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-tower)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-tower)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-tower)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-tower)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-fishgame)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-fishgame)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-fishgame)
|
|
:status (task-status need-reminder-a)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-fishgame)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-fishgame)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-fishgame)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-plant)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-plant)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-plant)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-plant)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-canyon-end)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-canyon-end)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-canyon-end)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-canyon-end)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-temple-door)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-temple-door)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-temple-door)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task jungle-temple-door)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-yakow)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-yakow)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-yakow)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-yakow)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-yakow)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*mayor-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-uncle-money)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-uncle-money)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-uncle-money)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-uncle-money)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-uncle-money)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*oracle-village1-tasks*
|
|
'*oracle-village1-tasks*
|
|
'*sage-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-pelican)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-pelican)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-pelican)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-pelican)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-flutflut)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-flutflut)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-flutflut)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-flutflut)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-flutflut)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-seagull)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-seagull)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-seagull)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-seagull)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-cannon)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-cannon)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-cannon)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-cannon)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-gimmie)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-gimmie)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-gimmie)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-gimmie)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-sentinel)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-sentinel)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-sentinel)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task beach-sentinel)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-muse)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-muse)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-muse)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-muse)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-muse)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-boat)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-boat)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-boat)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-boat)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-warehouse)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-warehouse)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-warehouse)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-warehouse)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*sage-tasks*
|
|
'*assistant-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike-jump)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike-jump)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike-jump)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-bike-jump)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-eco-challenge)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-eco-challenge)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-eco-challenge)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task misty-eco-challenge)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*gambler-tasks*
|
|
'*geologist-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-warrior-money)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(and (not (task-closed? (game-task ogre-boss) (task-status need-reminder)))
|
|
(not (task-closed? (game-task village2-levitator) (task-status need-reward-speech))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-warrior-money)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(and (not (task-closed? (game-task ogre-boss) (task-status need-reminder)))
|
|
(not (task-closed? (game-task village2-levitator) (task-status need-reward-speech))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-warrior-money)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(the-as symbol
|
|
(and *target*
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))))))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-warrior-money)
|
|
:status (task-status need-reminder)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-warrior-money)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*oracle-village2-tasks*
|
|
'*oracle-village2-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-billy)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-billy)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-billy)
|
|
:status (task-status need-reminder-a)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-billy)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-billy)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-billy)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*assistant-village2-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-battle)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-battle)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-battle)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-battle)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-1)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-1)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-1)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-1)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-2)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-2)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-2)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-2)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-3)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-3)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-3)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-3)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-4)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-4)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-4)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-tether-4)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task swamp-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-platforms)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-platforms)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-platforms)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-platforms)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-pipe)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-pipe)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-pipe)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-pipe)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-slide)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-slide)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-slide)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-slide)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*assistant-village2-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-sharks)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-sharks)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-sharks)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-sharks)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-top-of-helix)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-top-of-helix)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-top-of-helix)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-top-of-helix)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-spinning-room)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-spinning-room)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-spinning-room)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task sunken-spinning-room)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*gambler-tasks*
|
|
'*assistant-village2-tasks*
|
|
'*geologist-tasks*
|
|
'*sage-bluehut-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-lake)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-lake)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-lake)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-lake)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-ring-chase-1)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-ring-chase-1)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-ring-chase-1)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-ring-chase-1)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-ring-chase-2)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-ring-chase-2)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-ring-chase-2)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task rolling-ring-chase-2)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*miners-tasks*
|
|
'*sage-villagec-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-fort)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-fort)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-fort)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-fort)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ball)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ball)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ball)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-ball)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-bunnies)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-bunnies)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-bunnies)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-bunnies)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-bumpers)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-bumpers)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-bumpers)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-bumpers)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-cage)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-cage)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-cage)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task snow-cage)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-end)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-end)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-end)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-end)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*citb-greensage-tasks*
|
|
'*citb-bluesage-tasks*
|
|
'*citb-redsage-tasks*
|
|
'*citb-yellowsage-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-extra1)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-extra1)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-extra1)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-extra1)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village1-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village2-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village3-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*miners-tasks*
|
|
'*sage-villagec-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-dark-climb)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-dark-climb)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-dark-climb)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-dark-climb)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-robot-climb)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-robot-climb)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-robot-climb)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-robot-climb)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-swing-poles)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-swing-poles)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-swing-poles)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-swing-poles)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-spider-tunnel)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-spider-tunnel)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-spider-tunnel)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-spider-tunnel)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-platforms)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-platforms)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-platforms)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-platforms)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task cave-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-boss)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-boss)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-boss)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-boss)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-end)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-end)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-end)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-end)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-end)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-end)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-end)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-end)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task citadel-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-gimmie)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-gimmie)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-gimmie)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-gimmie)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-door)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-door)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-door)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-door)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-climb)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-climb)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-climb)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-climb)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-buzzer)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-buzzer)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-buzzer)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task training-buzzer)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*miners-tasks*
|
|
'*miners-tasks*
|
|
'*miners-tasks*
|
|
'*miners-tasks*
|
|
'*oracle-village3-tasks*
|
|
'*oracle-village3-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-assistant)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 20)))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task firecanyon-assistant)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*assistant-village2-tasks*
|
|
'*sage-bluehut-tasks*
|
|
'*sage-villagec-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task red-eggtop)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task red-eggtop)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task red-eggtop)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task red-eggtop)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-balls)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-balls)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-balls)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-balls)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-start)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 72)))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task lavatube-start)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
'*sage-tasks*
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-secret)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-secret)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-secret)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task ogre-secret)
|
|
:status (task-status need-resolution)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village4-button)
|
|
:status (task-status unknown)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village4-button)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task village4-button)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task finalboss-movies)
|
|
:status (task-status unknown)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task finalboss-movies)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task finalboss-movies)
|
|
:status (task-status need-reminder-a)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task finalboss-movies)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task finalboss-movies)
|
|
:status (task-status need-reward-speech)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task plunger-lurker-hit)
|
|
:status (task-status unknown)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task plunger-lurker-hit)
|
|
:status (task-status need-hint)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task leaving-misty)
|
|
:status (task-status need-introduction)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))
|
|
(new 'static
|
|
'task-cstage
|
|
:game-task (game-task leaving-misty)
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity closed-by-default)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t))))
|
|
(new 'static
|
|
'task-control
|
|
:current-stage -1
|
|
:stage
|
|
(new 'static
|
|
'boxed-array
|
|
:type
|
|
task-cstage
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status unknown)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
(task-closed? (game-task village4-button) (task-status need-reward-speech))))
|
|
(new 'static
|
|
'task-cstage
|
|
:status (task-status need-reminder)
|
|
:flags (task-flags has-entity)
|
|
:condition
|
|
(lambda :behavior process-taskable ((control task-control))
|
|
#t)))))))
|
|
|
|
(defun task-control-reset ((reset-mode symbol))
|
|
"Reset every task control with reset-mode, then select each control's first available stage."
|
|
(let ((controls *task-controls*))
|
|
(countdown (i (-> controls length))
|
|
(reset! (-> controls i) reset-mode #f)
|
|
(first-any (-> controls i) #f)))
|
|
0
|
|
(none))
|
|
|
|
(defun get-task-control ((task game-task))
|
|
"Return the control selected by task in *task-controls*. Report an error and return the null
|
|
control for values outside the shipped task range."
|
|
(cond
|
|
((or (>= (the-as uint 1) (the-as uint task)) (>= (the-as uint task) (the-as uint 116)))
|
|
;; invalid game task
|
|
(format 0 "ERROR<GMJ>: get-task-control received invalid task ~D/~S~%" task (game-task->string task))
|
|
*null-task-control*)
|
|
(else
|
|
;; otherwise look up in table
|
|
(-> *task-controls* task))))
|
|
|
|
(defun get-task-status ((task game-task))
|
|
"Return the first available stage status matching task. Refresh the control's current stage
|
|
before returning; return task-status.invalid when no matching available stage exists."
|
|
(let ((control (get-task-control task)))
|
|
(when control
|
|
(dotimes (i (-> control stage length))
|
|
(when (and (= task (-> control stage i game-task)) (task-available? (-> control stage i) control))
|
|
(first-any control #t)
|
|
(return (the-as task-status (-> control stage i status))))))
|
|
(first-any control #t))
|
|
(task-status invalid))
|
|
|
|
(defun close-specific-task! ((task game-task) (status task-status))
|
|
"Close the stage matching task and status, then select and return the first available task in
|
|
that control. Report an error and return game-task.none when no matching stage exists."
|
|
(let ((control (get-task-control task)))
|
|
(when control
|
|
(dotimes (i (-> control stage length))
|
|
(when (and (= task (-> control stage i game-task)) (= status (-> control stage i status)))
|
|
(close-task! (-> control stage i))
|
|
(return (first-any control #t))))
|
|
(format 0
|
|
"ERROR<GMJ>: close-specific! received non-existent task-cstage(~S ~S)--returning #t.~%"
|
|
(game-task->string task)
|
|
(task-status->string status))))
|
|
(game-task none))
|
|
|
|
(defun open-specific-task! ((task game-task) (status task-status))
|
|
"Open the stage matching task and status, then select and return the first available task in that
|
|
control. Report an error and return game-task.none when no matching stage exists."
|
|
(let ((control (get-task-control task)))
|
|
(when control
|
|
(dotimes (i (-> control stage length))
|
|
(when (and (= task (-> control stage i game-task)) (= status (-> control stage i status)))
|
|
(open-task! (-> control stage i))
|
|
(return (first-any control #t))))
|
|
(format 0
|
|
"ERROR<GMJ>: open-specific! received non-existent task-cstage(~S ~S)--returning #t.~%"
|
|
(game-task->string task)
|
|
(task-status->string status))))
|
|
(game-task none))
|
|
|
|
(defun task-closed? ((task game-task) (status task-status))
|
|
"Return whether the stage matching task and status is closed. The underlying control method
|
|
reports an error and returns true when that stage does not exist."
|
|
(closed? (get-task-control task) task status))
|
|
|
|
(defun task-exists? ((task game-task) (status task-status))
|
|
"Return whether a stage matching task and status exists in task's control."
|
|
(exists? (get-task-control task) task status))
|
|
|
|
(defun task-known? ((task game-task))
|
|
"Return true when task's current status is introduction, either reminder, resolution, reward
|
|
speech, or invalid; return false for need-hint and unknown."
|
|
(case (get-task-status task)
|
|
(((task-status need-reward-speech)
|
|
(task-status need-introduction)
|
|
(task-status need-reminder)
|
|
(task-status need-reminder-a)
|
|
(task-status need-resolution)
|
|
(task-status invalid))
|
|
#t)
|
|
(else #f)))
|
|
|
|
(defun sages-kidnapped? ()
|
|
"Return whether the village4-button reward-speech stage is closed."
|
|
(task-closed? (game-task village4-button) (task-status need-reward-speech)))
|
|
|
|
;; replace symbols in task-controls with their value.
|
|
(let ((controls *task-controls*))
|
|
(countdown (i (-> controls length))
|
|
(when (and (-> controls i) (= (-> controls i type) symbol))
|
|
;; found a symbol
|
|
(let ((value (-> (the-as symbol (-> controls i)) value)))
|
|
(cond
|
|
((and (nonzero? value) (type-type? (rtype-of value) task-control))
|
|
;; symbol holds a task-control, replace it
|
|
(set! (-> controls i) (the-as task-control value)))
|
|
(else
|
|
;; invalid symbol
|
|
(format 0 "ERROR<GMJ>: value of symbol ~A in task-controls is not a task-control~%")
|
|
(set! (-> controls i) (the-as task-control '*null-task-control*))))))))
|
|
|
|
(task-control-reset 'game)
|