GurJob020

Overview

The largest Guerilla side job in this batch: a destroy-set covering 13 buildings across two location series (GurJob007_Target01–03 and GurJob011a–j_Target), with DangerousBuilding-tuned AI spawners armed on each one and a VO table that scales its line selection by how many targets remain, not just a flat weight.

Inheritance

  • Inherits from: MrxTaskJobDestroySet (a real resident/ module β€” see that page for the base class’s own behavior)
  • Imports: DangerousBuilding

Instance pattern

A native task-framework subclass. Module-level tables: _tTargetNearbyVo (5 lines), _tTargetCompleteVo (8 entries, several using tRange β€” e.g. {"[", 1, 11, "]"} or a bare {13} β€” to gate which line plays by remaining-target count rather than a flat weight), and _tBuildings (the 10 GurJob011x_Target names).

Functions

LoadAssets(self, tSaveData)

Registers all 13 targets via self:_AddTarget{...} β€” the three GurJob007_TargetNN buildings first (each with pristine/defense/destroyed layers), then the ten _tBuildings entries β€” then calls MrxTaskJobDestroySet.LoadAssets(self, tSaveData).

Activated(self) / ActivateBuilding(self, sBuildingName)

Activated calls the base Activated, sets both VO tables, then arms spawners on all 13 targets: the first three via plain ActivateBuilding(self, "...") calls and the remaining ten via a for ... do self:ActivateBuilding(sTargetName) end loop β€” cosmetically inconsistent call syntax (self passed explicitly vs. via :), but functionally identical since ActivateBuilding’s first parameter is self either way. Finishes with _Go(). ActivateBuilding itself turns on DangerousBuilding for the given target and tunes its "Ground"-group spawner to the VZ ground spawn list.

Events

None registered directly in this file β€” target discovery/completion events live in the native MrxTaskJobDestroySet base; only the DangerousBuilding/Ai.TweakAttachedSpawners calls in ActivateBuilding are this file’s own doing.

Notes for modders

This is the native MrxTaskJobDestroySet/WifMissionData job 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.

  • The tRange-gated VO table (_tTargetCompleteVo) is a richer pattern than the flat-weighted tables seen elsewhere (e.g. GurJob001) β€” worth copying if you want completion barks that change as a destroy-set job nears its end rather than staying uniformly random throughout.

Back to top

This site uses Just the Docs, a documentation theme for Jekyll.