feat: add defend task module with configurable parameters and attributes
This commit is contained in:
parent
d7018742b5
commit
3668223f11
@ -267,6 +267,128 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
|
||||
class FORGE_Module_Defend: Module_F {
|
||||
scope = 2;
|
||||
displayName = "Defend Task";
|
||||
category = "FORGE_Modules";
|
||||
|
||||
function = QFUNC(defendModule);
|
||||
functionPriority = 1;
|
||||
isGlobal = 1;
|
||||
isTriggerActivated = 1;
|
||||
isDisposable = 1;
|
||||
is3DEN = 0;
|
||||
|
||||
canSetArea = 0;
|
||||
canSetAreaShape = 0;
|
||||
canSetAreaHeight = 0;
|
||||
|
||||
class AttributeValues {};
|
||||
class Attributes: AttributesBase {
|
||||
class TaskID: Edit {
|
||||
property = "FORGE_Module_Defend_TaskID";
|
||||
displayName = "Task ID";
|
||||
tooltip = "Unique identifier for this task";
|
||||
typeName = "STRING";
|
||||
};
|
||||
class DefenseZone: Edit {
|
||||
property = "FORGE_Module_Defend_DefenseZone";
|
||||
displayName = "Defense Zone Marker";
|
||||
tooltip = "Name of the marker defining the defense zone";
|
||||
typeName = "STRING";
|
||||
};
|
||||
class DefendTime: Edit {
|
||||
property = "FORGE_Module_Defend_DefendTime";
|
||||
displayName = "Defend Time";
|
||||
tooltip = "Time in seconds the zone must be held";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 600;
|
||||
};
|
||||
class WaveCount: Edit {
|
||||
property = "FORGE_Module_Defend_WaveCount";
|
||||
displayName = "Wave Count";
|
||||
tooltip = "Number of enemy waves to spawn";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 3;
|
||||
};
|
||||
class WaveCooldown: Edit {
|
||||
property = "FORGE_Module_Defend_WaveCooldown";
|
||||
displayName = "Wave Cooldown";
|
||||
tooltip = "Time in seconds between enemy waves";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 300;
|
||||
};
|
||||
class MinBlufor: Edit {
|
||||
property = "FORGE_Module_Defend_MinBlufor";
|
||||
displayName = "Minimum BLUFOR";
|
||||
tooltip = "Minimum number of BLUFOR units that must remain in the zone";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class CompanyFunds: Edit {
|
||||
property = "FORGE_Module_Defend_CompanyFunds";
|
||||
displayName = "Reward Funds";
|
||||
tooltip = "Amount of funds awarded on success";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class RatingFail: Edit {
|
||||
property = "FORGE_Module_Defend_RatingFail";
|
||||
displayName = "Rating Loss";
|
||||
tooltip = "Amount of rating lost on failure";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class RatingSuccess: Edit {
|
||||
property = "FORGE_Module_Defend_RatingSuccess";
|
||||
displayName = "Rating Gain";
|
||||
tooltip = "Amount of rating gained on success";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class EndSuccess: Combo {
|
||||
property = "FORGE_Module_Defend_EndSuccess";
|
||||
displayName = "End on Success";
|
||||
tooltip = "End mission when task is completed successfully";
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
|
||||
class Values {
|
||||
class EnableEndSuccess { name = "Enable"; value = 1; };
|
||||
class DisableEndSuccess { name = "Disable"; value = 0; };
|
||||
};
|
||||
};
|
||||
class EndFail: Combo {
|
||||
property = "FORGE_Module_Defend_EndFail";
|
||||
displayName = "End on Failure";
|
||||
tooltip = "End mission when task fails";
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
|
||||
class Values {
|
||||
class EnableEndFail { name = "Enable"; value = 1; };
|
||||
class DisableEndFail { name = "Disable"; value = 0; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class ModuleDescription: ModuleDescription {
|
||||
description = "Creates a defend task with configurable defense zone and enemy wave parameters";
|
||||
sync[] = { "Anything" };
|
||||
|
||||
class Anything {
|
||||
description[] = {
|
||||
"Defend task module",
|
||||
"Enemy waves are spawned automatically; no synced entities are required"
|
||||
};
|
||||
position = 1;
|
||||
direction = 1;
|
||||
optional = 1;
|
||||
duplicate = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class FORGE_Module_Defuse: Module_F {
|
||||
scope = 2;
|
||||
displayName = "Defuse Task";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user