client/addons/task/CfgVehicles.hpp
2025-01-05 17:00:03 -06:00

791 lines
28 KiB
C++

class CfgVehicles {
class Logic;
class Module_F: Logic {
class AttributesBase {
class Default;
class Edit;
class Combo;
class Checkbox;
class CheckboxNumber;
class NumberState;
class ModuleDescription;
class Units;
};
class ModuleDescription {
class AnyBrain;
class Anything;
};
};
class FORGE_Module_Attack: Module_F {
scope = 2;
displayName = "Attack Task";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(attackModule);
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_Attack_TaskID";
displayName = "Task ID";
tooltip = "Unique identifier for this task";
typeName = "STRING";
// defaultValue = """";
};
class LimitFail: Edit {
property = "FORGE_Module_Attack_LimitFail";
displayName = "Fail Limit";
tooltip = "Number of targets that escape to fail the task";
typeName = "NUMBER";
defaultValue = -1;
};
class LimitSuccess: Edit {
property = "FORGE_Module_Attack_LimitSuccess";
displayName = "Success Limit";
tooltip = "Number of targets that need to be eliminated to succeed the task";
typeName = "NUMBER";
defaultValue = -1;
};
class CompanyFunds: Edit {
property = "FORGE_Module_Attack_CompanyFunds";
displayName = "Reward Funds";
tooltip = "Amount of funds awarded on success";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingFail: Edit {
property = "FORGE_Module_Attack_RatingFail";
displayName = "Rating Loss";
tooltip = "Amount of rating lost on failure";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingSuccess: Edit {
property = "FORGE_Module_Attack_RatingSuccess";
displayName = "Rating Gain";
tooltip = "Amount of rating gained on success";
typeName = "NUMBER";
defaultValue = 0;
};
class EndSuccess: Combo {
property = "FORGE_Module_Attack_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_Attack_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 TimeLimit: Edit {
property = "FORGE_Module_Attack_TimeLimit";
displayName = "Time Limit";
tooltip = "Time in seconds before targets escape (0 for no limit)";
typeName = "NUMBER";
defaultValue = 0;
};
};
class ModuleDescription: ModuleDescription {
description = "Creates an attack task with configurable parameters";
sync[] = { "Anything" };
class Anything {
description[] = {
"Attack task module",
"Sync with units/vehicles to mark as targets"
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
class FORGE_Module_Explosives: Module_F {
scope = 2;
displayName = "Explosive Entities";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(explosivesModule);
functionPriority = 1;
isGlobal = 1;
isTriggerActivated = 0;
isDisposable = 1;
is3DEN = 0;
canSetArea = 0;
canSetAreaShape = 0;
canSetAreaHeight = 0;
class AttributeValues {};
class Attributes: AttributesBase {};
class ModuleDescription: ModuleDescription {
description = "Module for explosive entities that need to be defused";
sync[] = { "Anything" };
class Anything {
description[] = {
"Explosive entities module",
"Sync with objects to mark as explosives",
"Those objects will be processed as defusal targets"
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
class FORGE_Module_Hostages: Module_F {
scope = 2;
displayName = "Hostage Entities";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(hostagesModule);
functionPriority = 1;
isGlobal = 1;
isTriggerActivated = 0;
isDisposable = 1;
is3DEN = 0;
canSetArea = 0;
canSetAreaShape = 0;
canSetAreaHeight = 0;
class AttributeValues {};
class Attributes: AttributesBase {};
class ModuleDescription: ModuleDescription {
description = "Module for hostage entities that need to be rescued";
sync[] = { "Anything" };
class Anything {
description[] = {
"Hostage entities module",
"Sync with units to mark as hostages",
"Those objects will be processed as rescue targets"
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
class FORGE_Module_Shooters: Module_F {
scope = 2;
displayName = "Shooter Entities";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(shootersModule);
functionPriority = 1;
isGlobal = 1;
isTriggerActivated = 0;
isDisposable = 1;
is3DEN = 0;
canSetArea = 0;
canSetAreaShape = 0;
canSetAreaHeight = 0;
class AttributeValues {};
class Attributes: AttributesBase {};
class ModuleDescription: ModuleDescription {
description = "Module for shooter entities that need to be eliminated";
sync[] = { "AnyBrain" };
class AnyBrain {
description[] = {
"Shooter entities module",
"Sync with units to mark as shooters",
"Those objects will be processed as elimination targets"
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
class FORGE_Module_Protected: Module_F {
scope = 2;
displayName = "Protected Entities";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(protectedModule);
functionPriority = 1;
isGlobal = 1;
isTriggerActivated = 0;
isDisposable = 1;
is3DEN = 0;
canSetArea = 0;
canSetAreaShape = 0;
canSetAreaHeight = 0;
class AttributeValues {};
class Attributes: AttributesBase {};
class ModuleDescription: ModuleDescription {
description = "Module for protected entities that need to be protected";
sync[] = { "Anything" };
class Anything {
description[] = {
"Protected entities module",
"Sync with objects to mark as protected entities",
"Those objects will be processed as protected targets"
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
class FORGE_Module_Defuse: Module_F {
scope = 2;
displayName = "Defuse Task";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(defuseModule);
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_Defuse_TaskID";
displayName = "Task ID";
tooltip = "Unique identifier for this task";
typeName = "STRING";
// defaultValue = """";
};
class LimitFail: Edit {
property = "FORGE_Module_Defuse_LimitFail";
displayName = "Fail Limit";
tooltip = "Number of protected entities destroyed to fail the task";
typeName = "NUMBER";
defaultValue = -1;
};
class LimitSuccess: Edit {
property = "FORGE_Module_Defuse_LimitSuccess";
displayName = "Success Limit";
tooltip = "Number of entities that need to be defused to complete the task";
typeName = "NUMBER";
defaultValue = -1;
};
class CompanyFunds: Edit {
property = "FORGE_Module_Defuse_CompanyFunds";
displayName = "Reward Funds";
tooltip = "Amount of funds awarded on success";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingFail: Edit {
property = "FORGE_Module_Defuse_RatingFail";
displayName = "Rating Loss";
tooltip = "Amount of rating lost on failure";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingSuccess: Edit {
property = "FORGE_Module_Defuse_RatingSuccess";
displayName = "Rating Gain";
tooltip = "Amount of rating gained on success";
typeName = "NUMBER";
defaultValue = 0;
};
class EndSuccess: Combo {
property = "FORGE_Module_Defuse_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 DisableEnSuccess { name = "Disable"; value = 0; };
};
};
class EndFail: Combo {
property = "FORGE_Module_Defuse_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 TimeLimit: Edit {
property = "FORGE_Module_Defuse_TimeLimit";
displayName = "Time Limit";
tooltip = "Time in seconds before detenation (0 for no limit)";
typeName = "NUMBER";
defaultValue = 0;
};
};
class ModuleDescription: ModuleDescription {
description = "Creates a defuse task with configurable parameters";
sync[] = { "Anything" };
class Anything {
description[] = {
"Defuse task module",
"Sync with entities to mark as explosives and protected entities",
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
class FORGE_Module_Destroy: Module_F {
scope = 2;
displayName = "Destroy Task";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(destroyModule);
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_Destroy_TaskID";
displayName = "Task ID";
tooltip = "Unique identifier for this task";
typeName = "STRING";
// defaultValue = """";
};
class LimitFail: Edit {
property = "FORGE_Module_Destroy_LimitFail";
displayName = "Fail Limit";
tooltip = "Number of targets that can escape before failing";
typeName = "NUMBER";
defaultValue = -1;
};
class LimitSuccess: Edit {
property = "FORGE_Module_Destroy_LimitSuccess";
displayName = "Success Limit";
tooltip = "Number of targets that need to be destroyed";
typeName = "NUMBER";
defaultValue = -1;
};
class CompanyFunds: Edit {
property = "FORGE_Module_Destroy_CompanyFunds";
displayName = "Reward Funds";
tooltip = "Amount of funds awarded on success";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingFail: Edit {
property = "FORGE_Module_Destroy_RatingFail";
displayName = "Rating Loss";
tooltip = "Amount of rating lost on failure";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingSuccess: Edit {
property = "FORGE_Module_Destroy_RatingSuccess";
displayName = "Rating Gain";
tooltip = "Amount of rating gained on success";
typeName = "NUMBER";
defaultValue = 0;
};
class EndSuccess: Combo {
property = "FORGE_Module_Destroy_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_Destroy_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 TimeLimit: Edit {
property = "FORGE_Module_Destroy_TimeLimit";
displayName = "Time Limit";
tooltip = "Time in seconds before targets escape (0 for no limit)";
typeName = "NUMBER";
defaultValue = 0;
};
};
class ModuleDescription: ModuleDescription {
description = "Creates a destroy task with configurable parameters";
sync[] = { "Anything" };
class Anything {
description[] = {
"Destroy task module",
"Sync with units and/or vehicles to mark as targets"
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
class FORGE_Module_Hostage: Module_F {
scope = 2;
displayName = "Hostage Task";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(hostageModule);
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_Hostage_TaskID";
displayName = "Task ID";
tooltip = "Unique identifier for this task";
typeName = "STRING";
// defaultValue = """";
};
class LimitFail: Edit {
property = "FORGE_Module_Hostage_LimitFail";
displayName = "Fail Limit";
tooltip = "Number of hostages KIA before failing";
typeName = "NUMBER";
defaultValue = -1;
};
class LimitSuccess: Edit {
property = "FORGE_Module_Hostage_LimitSuccess";
displayName = "Success Limit";
tooltip = "Number of hostages rescued before succeeding";
typeName = "NUMBER";
defaultValue = -1;
};
class ExtZone: Edit {
property = "FORGE_Module_Hostage_ExtZone";
displayName = "Extraction Zone";
tooltip = "Unique marker name for the extraction zone";
typeName = "STRING";
// defaultValue = """";
};
class CompanyFunds: Edit {
property = "FORGE_Module_Hostage_CompanyFunds";
displayName = "Reward Funds";
tooltip = "Amount of funds awarded on success";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingFail: Edit {
property = "FORGE_Module_Hostage_RatingFail";
displayName = "Rating Loss";
tooltip = "Amount of rating lost on failure";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingSuccess: Edit {
property = "FORGE_Module_Hostage_RatingSuccess";
displayName = "Rating Gain";
tooltip = "Amount of rating gained on success";
typeName = "NUMBER";
defaultValue = 0;
};
class CBRN: Combo {
property = "FORGE_Module_Hostage_CBRN";
displayName = "CBRN Attack";
tooltip = "CBRN Attack instead of execution";
typeName = "BOOL";
defaultValue = 0;
class Values {
class TrueCBRN { name = "True"; value = 1; };
class FalseCBRN { name = "False"; value = 0; };
};
};
class Execution: Combo {
property = "FORGE_Module_Hostage_Execution";
displayName = "Execution";
tooltip = "Execution instead of CBRN Attack";
typeName = "BOOL";
defaultValue = 0;
class Values {
class TrueExecution { name = "True"; value = 1; };
class FalseExecution { name = "False"; value = 0; };
};
};
class EndSuccess: Combo {
property = "FORGE_Module_Hostage_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_Hostage_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 TimeLimit: Edit {
property = "FORGE_Module_Hostage_TimeLimit";
displayName = "Time Limit";
tooltip = "Time in seconds before HVTs escape (0 for no limit)";
typeName = "NUMBER";
defaultValue = 0;
};
class CBRNZone: Edit {
property = "FORGE_Module_Hostage_CBRNZone";
displayName = "CBRN Zone";
tooltip = "Unique marker name for the CBRN zone";
typeName = "STRING";
// defaultValue = """";
};
};
class ModuleDescription: ModuleDescription {
description = "Creates a Hostage task with configurable parameters";
sync[] = { "Anything" };
class Anything {
description[] = {
"Hostage task module",
"Sync with hostage and shooter module to register the entities to the task"
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
class FORGE_Module_HVT: Module_F {
scope = 2;
displayName = "HVT Task";
// icon = "\a3\ui_f\data\IGUI\Cfg\simpleTasks\types\default_ca.paa";
category = "FORGE_Modules";
function = QFUNC(hvtModule);
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_HVT_TaskID";
displayName = "Task ID";
tooltip = "Unique identifier for this task";
typeName = "STRING";
// defaultValue = """";
};
class LimitFail: Edit {
property = "FORGE_Module_HVT_LimitFail";
displayName = "Fail Limit";
tooltip = "Number of hvts that can escape or KIA before failing";
typeName = "NUMBER";
defaultValue = -1;
};
class LimitSuccess: Edit {
property = "FORGE_Module_HVT_LimitSuccess";
displayName = "Success Limit";
tooltip = "Number of hvts that need to be captured or KIA";
typeName = "NUMBER";
defaultValue = -1;
};
class ExtZone: Edit {
property = "FORGE_Module_HVT_ExtZone";
displayName = "Extraction Zone";
tooltip = "Unique marker name for the extraction zone";
typeName = "STRING";
// defaultValue = """";
};
class CompanyFunds: Edit {
property = "FORGE_Module_HVT_CompanyFunds";
displayName = "Reward Funds";
tooltip = "Amount of funds awarded on success";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingFail: Edit {
property = "FORGE_Module_HVT_RatingFail";
displayName = "Rating Loss";
tooltip = "Amount of rating lost on failure";
typeName = "NUMBER";
defaultValue = 0;
};
class RatingSuccess: Edit {
property = "FORGE_Module_HVT_RatingSuccess";
displayName = "Rating Gain";
tooltip = "Amount of rating gained on success";
typeName = "NUMBER";
defaultValue = 0;
};
class CaptureHVT: Combo {
property = "FORGE_Module_HVT_CaptureHVT";
displayName = "Capture HVT";
tooltip = "Capture HVT instead of eliminating";
typeName = "BOOL";
defaultValue = 1;
class Values {
class TrueCapture { name = "True"; value = 1; };
class FalseCapture { name = "False"; value = 0; };
};
};
class EliminateHVT: Combo {
property = "FORGE_Module_HVT_EliminateHVT";
displayName = "Eliminate HVT";
tooltip = "Eliminate HVT instead of capturing";
typeName = "BOOL";
defaultValue = 0;
class Values {
class TrueEliminate { name = "True"; value = 1; };
class FalseEliminate { name = "False"; value = 0; };
};
};
class EndSuccess: Combo {
property = "FORGE_Module_HVT_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_HVT_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 TimeLimit: Edit {
property = "FORGE_Module_HVT_TimeLimit";
displayName = "Time Limit";
tooltip = "Time in seconds before HVTs escape (0 for no limit)";
typeName = "NUMBER";
defaultValue = 0;
};
};
class ModuleDescription: ModuleDescription {
description = "Creates a HVT task with configurable parameters";
sync[] = { "Anything" };
class Anything {
description[] = {
"HVT task module",
"Sync with units to mark as HVTs"
};
position = 1;
direction = 1;
optional = 1;
duplicate = 1;
};
};
};
};