ACE3/TO_MERGE/agm/Respawn/config.cpp

282 lines
8.3 KiB
C++

class CfgPatches {
class AGM_Respawn {
units[] = {};
weapons[] = {"AGM_Rallypoint_West", "AGM_Rallypoint_East", "AGM_Rallypoint_Independent", "AGM_RallypointExit_West", "AGM_RallypointExit_East", "AGM_RallypointExit_Independent"};
requiredVersion = 0.60;
requiredAddons[] = {AGM_Core};
version = "0.95";
versionStr = "0.95";
versionAr[] = {0,95,0};
author[] = {"bux578", "commy2"};
authorUrl = "https://github.com/bux578/";
};
};
class CfgFunctions {
class AGM_Respawn {
class AGM_Respawn {
file = "AGM_Respawn\functions";
class canMoveRallypoint;
class getAllGear;
class handleKilled;
class handleRespawn;
class initRallypoint;
class module;
class moduleFriendlyFire;
class moduleRallypoint;
class moveRallypoint;
class removeBody;
class removeDisconnectedPlayer;
class restoreGear;
class showFriendlyFireMessage;
class teleportToRallypoint;
};
};
};
class Extended_Killed_EventHandlers {
class CAManBase {
class AGM_Respawn_HandleGear {
killed = "_this call AGM_Respawn_fnc_handleKilled";
};
};
};
class Extended_Respawn_EventHandlers {
class CAManBase {
class AGM_Respawn_HandleGear {
respawn = "_this call AGM_Respawn_fnc_handleRespawn";
};
};
};
class CfgAddons {
class AGM_Respawn_Rallypoints {
list[] = {"AGM_Rallypoint_West", "AGM_Rallypoint_East", "AGM_Rallypoint_Independent", "AGM_RallypointExit_West", "AGM_RallypointExit_East", "AGM_RallypointExit_Independent"};
};
};
class CfgVehicleClasses {
class AGM_Respawn_Rallypoints {
displayName = "AGM Respawn";
};
};
class CfgVehicles {
class Module_F;
class AGM_ModuleRespawn: Module_F {
author = "$STR_AGM_Core_AGMTeam";
category = "AGM";
displayName = "Respawn System";
function = "AGM_Respawn_fnc_module";
scope = 2;
isGlobal = 1;
icon = "\AGM_Respawn\UI\Icon_Module_Respawn_ca.paa";
class Arguments {
class SavePreDeathGear {
displayName = "Save Gear?";
description = "Respawn with the gear a soldier had just before his death?";
typeName = "BOOL";
class values {
class Yes { name = "Yes"; value = 1;};
class No { default = 1; name = "No"; value = 0; };
};
};
class RemoveDeadBodiesDisonncected {
displayName = "Remove bodies?";
description = "Remove player bodies after disconnect?";
typeName = "BOOL";
class values {
class Yes { default = 1; name = "Yes"; value = 1;};
class No { name = "No"; value = 0; };
};
};
/*class BodyRemoveTimer {
displayName = "Time to remove bodies.";
description = "The amount of time (in seconds) after that a unit's body gets removed. Default: 90";
typeName = "NUMBER";
defaultValue = 90;
};*/
};
};
class AGM_ModuleFriendlyFire: Module_F {
author = "$STR_AGM_Core_AGMTeam";
category = "AGM";
displayName = "Friendly Fire Messages";
function = "AGM_Respawn_fnc_moduleFriendlyFire";
scope = 2;
isGlobal = 1;
icon = "\AGM_Respawn\UI\Icon_Module_FriendlyFire_ca.paa";
class Arguments {
};
};
class AGM_ModuleRallypoint: Module_F {
author = "$STR_AGM_Core_AGMTeam";
category = "AGM";
displayName = "Rallypoint System";
function = "AGM_Respawn_fnc_moduleRallypoint";
scope = 2;
isGlobal = 1;
icon = "\AGM_Respawn\UI\Icon_Module_Rallypoint_ca.paa";
class Arguments {
};
};
// rallypoints
class FlagCarrier;
class Flag_NATO_F: FlagCarrier {
class AGM_Actions;
};
class Flag_CSAT_F: FlagCarrier {
class AGM_Actions;
};
class Flag_AAF_F: FlagCarrier {
class AGM_Actions;
};
// static
class AGM_Rallypoint_West: Flag_NATO_F {
author = "$STR_AGM_Core_AGMTeam";
displayName = "Rallypoint West Base";
vehicleClass = "AGM_Respawn_Rallypoints";
class EventHandlers {
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
};
class AGM_Actions: AGM_Actions {
class AGM_Teleport {
displayName = "Teleport to Rallypoint";
distance = 4;
condition = "side group _player == west";
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
showDisabled = 1;
priority = 1;
};
};
};
class AGM_Rallypoint_East: Flag_CSAT_F {
author = "$STR_AGM_Core_AGMTeam";
displayName = "Rallypoint East Base";
vehicleClass = "AGM_Respawn_Rallypoints";
class EventHandlers {
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
};
class AGM_Actions: AGM_Actions {
class AGM_Teleport {
displayName = "Teleport to Rallypoint";
distance = 4;
condition = "side group _player == east";
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
showDisabled = 1;
priority = 1;
};
};
};
class AGM_Rallypoint_Independent: Flag_AAF_F {
author = "$STR_AGM_Core_AGMTeam";
displayName = "Rallypoint Independent Base";
vehicleClass = "AGM_Respawn_Rallypoints";
class EventHandlers {
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
};
class AGM_Actions: AGM_Actions {
class AGM_Teleport {
displayName = "Teleport to Rallypoint";
distance = 4;
condition = "side group _player == independent";
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
showDisabled = 1;
priority = 1;
};
};
};
// moveable
class AGM_RallypointExit_West: Flag_NATO_F {
author = "$STR_AGM_Core_AGMTeam";
displayName = "Rallypoint West";
vehicleClass = "AGM_Respawn_Rallypoints";
class EventHandlers {
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
};
class AGM_Actions: AGM_Actions {
class AGM_Teleport {
displayName = "Teleport to Base";
distance = 4;
condition = "side group _player == west";
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
showDisabled = 1;
priority = 1;
};
};
};
class AGM_RallypointExit_East: Flag_CSAT_F {
author = "$STR_AGM_Core_AGMTeam";
displayName = "Rallypoint East";
vehicleClass = "AGM_Respawn_Rallypoints";
class EventHandlers {
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
};
class AGM_Actions: AGM_Actions {
class AGM_Teleport {
displayName = "Teleport to Base";
distance = 4;
condition = "side group _player == east";
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
showDisabled = 1;
priority = 1;
};
};
};
class AGM_RallypointExit_Independent: Flag_AAF_F {
author = "$STR_AGM_Core_AGMTeam";
displayName = "Rallypoint Independent";
vehicleClass = "AGM_Respawn_Rallypoints";
class EventHandlers {
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
};
class AGM_Actions: AGM_Actions {
class AGM_Teleport {
displayName = "Teleport to Base";
distance = 4;
condition = "side group _player == independent";
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
showDisabled = 1;
priority = 1;
};
};
};
// team leader
class Man;
class CAManBase: Man {
class AGM_SelfActions {
class AGM_MoveRallypoint {
displayName = "Move Rallypoint";
condition = "[_player, side group _player] call AGM_Respawn_fnc_canMoveRallypoint";
statement = "[_player, side group _player] call AGM_Respawn_fnc_moveRallypoint";
showDisabled = 0;
priority = -0.5;
};
};
};
};
class AGM_Parameters_Boolean {
// Boolean Parameters (0/1)
AGM_Respawn_SavePreDeathGear = 0;
AGM_Respawn_RemoveDeadBodiesDisonncected = 1;
};