GurCon005
Overview
A short Guerilla minor contract: assassinate four named Universal Petroleum targets scattered around a single location. No travel, escort, or defense phase β just one MrxTaskObjectiveDestroy with milestone VO barks as targets fall. The simplest full story contract in this batch.
Inheritance
- Inherits from:
MrxTaskContract(a realresident/module β see that page for the base classβs own behavior) - Imports:
MrxSubtitle,MrxLayerManager,MrxUtil,MrxSupportData,MrxFactionManager
Instance pattern
A native task-framework subclass β self-based lifecycle overrides, not the Inheritable/uGuid pattern. The only module-level state is TargetsKilled, a counter reset in Activated and incremented in TargetKilledVO. Unlike most other contracts in this batch, this file defines no Cleanup override at all β whatever MrxTaskContract.Cleanup does by default is all that runs.
Functions
LoadAssets(self, tSaveData)
Adds four state layers (VZ_state_gurcon005*) via MrxLayerManager.Add.
Activated(self)
Calls MrxTaskContract.Activated(self), resets TargetsKilled, and creates the single MrxTaskObjectiveDestroy covering all four GurCon005_Target0N objects, with per-part completion routed to TargetKilledVO, full completion to self.Complete, and cancel to self.Cancel.
TargetKilledVO(self)
Plays one of four milestone VO lines keyed by how many targets have died so far (0β3), then increments TargetsKilled.
Reported(self)
Sets a bare global bNoReport = false. Nothing else in this file reads bNoReport, so its effect (if any) is consumed elsewhere β possibly by the native MrxTaskContract base itself as a βplayer called this target inβ hook. Not enough visible in this file alone to say more.
Events
None registered directly by name in this file beyond the objectiveβs own built-in completion callbacks (tOnPartComplete/tOnComplete/tOnCancel), which are MrxTaskObjectiveDestroy fields, not raw Event.Create calls.
Notes for modders
This is the native MrxTaskContract/WifMissionData mission system, not Contract Framework β see VZ Modules for the general native-vs-framework explanation and Contract.Register & Lifecycle for why mods use a different, ephemeral system instead of hooking into this one directly.
- Good minimal-example file if you want to see the smallest possible βrealβ (non-outpost, non-job) contract shape:
LoadAssets+Activated+ one objective + one VO callback.