WifTutorialHeliRepairPad
Overview
Presumably shown around landing on/using a helicopter repair pad, per its message key ("[Tutorial.LandingZoneHealth]"). Unlike the vehicle-seat tutorials, this file overrides ActivateTutorial itself with a helicopter-only guard rather than relying on the activation-criteria event filter to restrict when it can fire.
Inheritance
- Inherits from:
MrxTutorial(src/resident/mrxtutorial.lua) โ a real corpus module, already documented under Resident Modules, not an opaque native-only engine class despite this file living insrc/vz/. - Imports: none
Instance pattern
A subclass of the corpusโs MrxTutorial task-framework base class โ self-based lifecycle overrides, not the Inheritable/uGuid object pattern used in resident/. No module-level or per-instance state beyond what the base class itself tracks (_tEvents).
Functions
GetMessage()
Returns the fixed message key "[Tutorial.LandingZoneHealth]".
ActivateTutorial(self)
Overridden with a single-parameter signature โ note this drops the base classโs bDontNetSync parameter entirely and always net-syncs true internally. Bails out (returns without activating) unless the playerโs current ridden vehicle both exists (Vehicle.GetFromRider) and Object.HasLabel(uVehicle, "Helicopter"); otherwise calls MrxTutorial.ActivateTutorial(self, true).
SetupCompletionCriteria(self)
Standard pattern: a 10-second Event.TimerRelative that calls the bare global EndTutorial(self, true) (resolves through inheritance to MrxTutorial.EndTutorial).
Events
Event.TimerRelativeโ 10-second completion delay.
Notes for modders
- Trigger key:
"HeliRepairPad". NoSetupActivationCriteriaoverride exists in this file, and no call site for itsActivateTutorialor aStartTutorial("HeliRepairPad")/BeginCustomTutorial("HeliRepairPad")call was found anywhere in this corpus โRepairpad(resident/repairpad.lua) importsMrxTutorialManagerbut contains no further reference to it in its own (very short) body. The actual trigger โ presumably tied to landing-pad repair logic โ isnโt confirmable from static reading alone. - The
ActivateTutorial(self)override silently ignores anybDontNetSyncargument a caller might pass โ it always net-syncstrueregardless of whatโs asked for.