181 return "PizzaMissionState";
[AI] Holds state and transient gameplay data for the first act on Lego Island.
[AI] Represents an actor instance specifically used within LEGO Island, extending LegoActor with noti...
MxBool IsA(const char *p_name) const override
[AI] Checks if this instance is of the specified class, or inherits from it.
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
[AI] Base class for game state blocks which encapsulate serializable and/or resettable aspects of the...
MxBool IsA(const char *p_name) const override
[AI] Tests if this object is of a given class name, directly or through inheritance.
ScoreColor
[AI] Score coloring values for in-game display feedback or logic.
@ e_grey
[AI] Default/neutral color (0) [AI]
Abstract base class providing an interface for file-like storage with binary and text read/write oper...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
Pizza mission state for the pizza delivery minigame and related characters.
static MxLong g_nickFinishTimes[]
PizzeriaState * m_pizzeriaState
Pointer to current pizzeria state for delegating cross-mission logic. [AI].
static MxLong g_mamaFinishTimes[]
MxS16 FUN_10039540()
Invokes logic in the PizzeriaState required for mission state transitions.
MxU32 m_unk0xb0
Holds currently "pending" action/object for mission transitions. [AI].
MxU32 GetUnknown0xb0()
Gets the m_unk0xb0 member, which holds the object ID associated with current/next mission flow.
MxS16 GetHighScore(MxU8 p_actorId)
Retrieves the historical best (high) score for a given actor's pizza mission.
static IsleScript::Script g_mamaActions[]
static MxLong g_pepperFinishTimes[]
Finish time thresholds (red/blue/yellow/timeout) for all pizza missions (per-actor) [AI].
static MxLong g_lauraFinishTimes[]
static IsleScript::Script g_lauraActions[]
PizzaMissionState()
Constructs a new PizzaMissionState and initializes missions for all possible actors.
MxBool IsA(const char *p_name) const override
Checks whether the given class name is PizzaMissionState or any base.
Mission * GetMission(MxU8 p_actorId)
Finds the Mission struct belonging to a given actor/character.
static MxLong g_papaFinishTimes[]
void SetUnknown0xb0(MxU32 p_unk0xb0)
Sets the m_unk0xb0 member, which holds the current object ID of the pending mission action.
undefined4 m_unk0x0c
Used for internal state machine; controls mission flow/progress (e.g., 0=idle, 1=proposed,...
Mission m_missions[5]
Array with per-actor mission progress. [AI].
static IsleScript::Script g_papaActions[]
static IsleScript::Script g_nickActions[]
MxResult Serialize(LegoStorage *p_storage) override
Serializes custom mission fields (score, progress) for saving/loading game state.
const char * ClassName() const override
Returns the name of this state class (PizzaMissionState).
static IsleScript::Script g_pepperActions[]
Action scripts for each actor's pizza mission (indexed in Mission::m_actions) [AI].
Interactive pizza entity actor; manages the in-game pizza delivery sequence and reacts to mission tri...
void SetSkateboard(SkateBoard *p_skateBoard)
Sets the SkateBoard actor pointer used for interaction and scene presentation.
Pizza()
Constructs a new Pizza actor, zeroing mission and UI/logic references.
MxBool IsA(const char *p_name) const override
Checks if the given class name is this or a base.
MxLong HandleEndAction(MxEndActionNotificationParam &p_param) override
Handles the end of an action/animation sequence, advancing mission state machine if action matches a ...
MxResult Create(MxDSAction &p_dsAction) override
Initializes Pizza and links in-game state and SkateBoard reference after DSAction evaluation.
const char * ClassName() const override
Returns the class name string "Pizza".
MxResult Tickle() override
Called every tick when Pizza is active; handles mission timers, timeouts, and auto-advances mission s...
void StopActions()
Stops all currently running pizza mission actions and resets to an idle state.
~Pizza() override
Destroys the Pizza actor and unregisters it as a tickle client.
void PlayAction(MxU32 p_objectId, MxBool p_param7)
Plays an animation action for the pizza mission, updating active object ID and handling script concur...
MxLong HandlePathStruct(LegoPathStructNotificationParam &p_param) override
Handles notification from a path struct event, e.g., actors walking, object triggers,...
void FUN_10038220(IsleScript::Script p_objectId)
Starts mission flow for Pizza with the given action script object.
MxLong HandleClick() override
Handles mouse or user interaction with Pizza: advances pizza mission state and starts corresponding a...
void FUN_100382b0()
Cancels or resets the Pizza mission, stopping music, resetting camera, and animation state.
void CreateState()
Initializes or restores references to PizzaMissionState and Act1State in GameState.
[AI] Stores all state information for the pizzeria (Pizza Shop) minigame.
[AI] Represents the skateboard vehicle actor used in the minigame and cutscenes.
unsigned short undefined2
Holds all data for a single pizza mission for a specific actor.
MxS16 m_numActions
Number of standard actions in script (before special finish actions) [AI].
IsleScript::Script GetBlueFinishAction()
Gets the script for the "blue" (medium time) mission finish.
undefined m_unk0x08
Unknown, always set to 1 at construction. [AI].
Mission & operator=(const Mission &p_mission)
Assignment operator for copying all mission data.
IsleScript::Script GetUnknownFinishAction()
Gets the script corresponding to the "unknown finish", used as an alternative timeout/decline action.
IsleScript::Script * m_actions
Script array for actions and finish events for the mission [AI].
Mission(MxU8 p_actorId, undefined2 p_unk0x04, MxLong *p_finishTimes, IsleScript::Script *p_actions, MxS16 p_numActions)
Initializes the mission with actor, time thresholds, scripts array, and number of actions.
undefined2 m_unk0x04
Used by mission logic, typically 2. [AI].
MxLong * m_finishTimes
Pointer to array of finish time thresholds, 4 per mission [AI].
Mission()
Default mission constructor.
MxU8 m_actorId
Actor (character) ID for this mission [AI].
MxLong GetBlueFinishTime()
Gets the maximum allowed time for a "blue" finish.
MxS16 m_hiScore
Historical best (high score) for this mission/color [AI].
void UpdateScore(ScoreColor p_score)
Updates both current and high score with the supplied new score color, raising high score if necessar...
IsleScript::Script GetRedFinishAction()
Gets the script for the "red" (best time) mission finish.
MxLong m_startTime
Time when mission started (INT_MIN if not started) [AI].
MxS16 m_unk0x06
Used by serialization and progress tracking (mission attempt counter/state) [AI].
MxS16 m_unk0x14
Used by helicopter and special mission checks [AI].
MxS16 m_score
Current completion score (LegoState color encoding) [AI].
MxLong GetTimeoutTime()
Gets the threshold time used for mission timeout events.
IsleScript::Script GetYellowFinishAction()
Gets the script for the "yellow" (slowest success) finish.
IsleScript::Script * GetActions()
Returns pointer to array of all action scripts for this mission.
MxLong GetRedFinishTime()
Gets the maximum allowed time for a "red" (perfect) finish.