summaryrefslogtreecommitdiffstats
path: root/Server/Functions/Server_HandleSpecial.sqf
diff options
context:
space:
mode:
authorhybrid <hybrid@hybridlabs.pro>2026-06-11 19:38:09 +0300
committerhybrid <hybrid@hybridlabs.pro>2026-06-11 19:38:09 +0300
commita3a91d4f45b22fd487ecbc954ad979be5d03efdd (patch)
treea554ab159a347dcd6c00ca1c7c26c1ec3ac0a6bd /Server/Functions/Server_HandleSpecial.sqf
downloada2wf_chernarus-a3a91d4f45b22fd487ecbc954ad979be5d03efdd.tar.gz
a2wf_chernarus-a3a91d4f45b22fd487ecbc954ad979be5d03efdd.tar.bz2
a2wf_chernarus-a3a91d4f45b22fd487ecbc954ad979be5d03efdd.zip
Diffstat (limited to 'Server/Functions/Server_HandleSpecial.sqf')
-rw-r--r--Server/Functions/Server_HandleSpecial.sqf48
1 files changed, 48 insertions, 0 deletions
diff --git a/Server/Functions/Server_HandleSpecial.sqf b/Server/Functions/Server_HandleSpecial.sqf
new file mode 100644
index 0000000..fc3fec8
--- /dev/null
+++ b/Server/Functions/Server_HandleSpecial.sqf
@@ -0,0 +1,48 @@
+Private['_args','_base','_dropPosX','_dropPosY','_dropPosZ','_droppos1','_droppos2','_playerTeam','_side','_st','_target'];
+
+_args = _this;
+_side = _args select 1;
+
+switch (_args select 0) do {
+ case "Paratroops": {
+ _args spawn KAT_Paratroopers;
+ };
+
+ case "ParaVehi": {
+ _args spawn KAT_ParaVehicles;
+ };
+
+ case "ParaAmmo": {
+ _args spawn KAT_ParaAmmo;
+ };
+
+ case "RespawnST": {
+ _st = Format ["WFBE_%1_AISupplyTrucks",Str _side] Call GetNamespace;
+ {if (!isNull (driver _x)) then {driver _x setDammage 1};_x setDammage 1} forEach _st;
+ diag_log Format["[WFBE (INFORMATION)][frameno:%2 | ticktime:%3] Server_HandleSpecial: The %1 supply trucks have been respawned.",str _side,diag_frameno,diag_tickTime];
+ };
+
+ case "uav": {
+ _args spawn KAT_UAV;
+ };
+
+ case "upgrade": {["NewIntelAvailable","",_side,""] Spawn SideMessage};
+
+ case "ICBM": {
+ _base = (_args select 2);
+ _target = (_args select 3);
+ _playerTeam = (_args select 4);
+ diag_log Format["[WFBE (INFORMATION)][frameno:%4 | ticktime:%5] Server_HandleSpecial: The %1 %2 Team (Leader: %3) has called an ICBM Nuke.",str _side,_playerTeam,name (leader _playerTeam),diag_frameno,diag_tickTime];
+ if (isNull _target || !alive _target) exitWith {};
+ _dropPosX = getPos _base select 0;
+ _dropPosY = getPos _base select 1;
+ _dropPosZ = getPos _base select 2;
+ _droppos1 = [_dropPosX + 4, _dropPosY + 4, _dropPosZ];
+ _droppos2 = [_dropPosX + 8, _dropPosY + 8, _dropPosZ];
+ waitUntil {!alive _target || isNull _target};
+ det1 = "BO_GBU12_LGB" createVehicle [(getpos _target select 0),(getpos _target select 1), 0];
+ det2 = createVehicle ["BO_GBU12_LGB",_droppos1,[], 0, "None"];
+ det3 = createVehicle ["BO_GBU12_LGB",_droppos2,[], 0, "None"];
+ [_base] Spawn NukeDammage;
+ };
+}; \ No newline at end of file