Skip to content
AntaresTheSarcastic edited this page Sep 30, 2016 · 1 revision

Zeus's Intent

The purpose of a Zeus, much like a conductor - is to guide and shape the encounters of a mission in a way that feels organic and spontaneous. Playing to "win" is not the objective of the Zeus - creating interesting and dynamic fun for the most amount of people is the name of the game. Give challenge to your players without overwhelming them, and keep in mind the little immersive sensibilities like not spawning units in line of sight of players that help the experience of a mission.

Spawning units to the headless client

Using POTATO: HC prebuilt units

When to use this: If you want to place a generic group/vehicle in a general place, to be maneuvered later.

How to use this: In the Zeus screen, go to the modules tab and look for the categories labeled like "POTATO HC: East". When you open this category there should be a decent sized list of units/groups you can set down. When you place the module down, a group/unit should be spawned at that location.

Note:
You can spawn dismounts on vehicles (trucks/helicopters) using the #dismounts option in each side category. You have to click on the vehicles with the module. Group vehicles must be stopped/moving really slow, helicopters/planes will have the units parachute down.

Using POTATO: HC Create-A-Group

When to use this: If you can't find a prebuilt group that has what you want or want to place a group with specific units.

How to use this: In the Zeus screen, go to the modules tab and look for the category labeled "POTATO HC: Custom". When you open this category look for the "Build-a-Group" module. Place this module where you want your new group to spawn. Once placed you should get a dialog popup. You'll be able to set your faction with the dropdown box at the top. Once you have a faction selected you should be able to select units from the left list. To add units to the group you can double click on the unit name, or select the unit and click the add button. You can remove units from the group by double clicking units in the right list, or selecting them and clicking the remove button. Once you have your group built hit the "Ok" button to spawn the units.

Notes:

  1. Mission makers can add/remove factions to the faction dropdown by adding a variable to the init.sqf file.
potato_zeusHC_groupFactionWhiteList = ["BLU_F","BLU_G_F","IND_F","rhs_faction_msv"]; // remove CSAT, add Blue Guerrillas 
  1. Once you place a group, the next time you place the module the dialog will be pre-populated with the previous run's values.

Using POTATO: HC Spawn-A-Vic

When to use this: If you can't find a prebuilt vehicle.

How to use this: In the Zeus screen, go to the modules tab and look for the category labeled "POTATO HC: Custom". When you open this category look for the "Spawn-a-Vic" module. Place this module where you want your new vehicle to spawn. Once placed you should get a dialog popup. You'll be able to choose your faction by clicking on an entry from the list on the left side. Once you have a faction selected you should be able to select vehicles from the right list. To spawn a vehicle, just double click a vehicle entry, or select your vehicle and hit okay.

Notes:

  1. Mission makers can blacklist factions to the faction dropdown by adding a variable to the init.sqf file.
potato_zeusHC_vicFactionBlackList = ["BLU_F"]; // remove NATO from the faction list
  1. Once you place a vic, the next time you place the module the dialog will be pre-populated with the previous run's values.

Using POTATO: HC garrisoning

When to use this: If you need units it occupy buildings in a town, this module is for you

How to use this: In the Zeus screen, go to the modules tab and look for the category labeled "POTATO HC: Custom". When you open this category look for the "Spawn and Garrison units" module. Place this in the center of the town you want to garrison. When you place the module down, a dialog should popup. From there you can set: the factions of the units to spawn, the radius from the placed module to search for homes, the chance that each home will be occupied (You probably want to set this from 20-40, but it really depends on the size of the town), the minimum units to place in each house, and the maximum units to place in each house. Once you hit "Ok" the garrison script will run, populating one house every .25 seconds.

Note: The maximum number of units to spawn per placed module is defaulted to 100, this can be changed mission side though. You can also change the factions the zeus can place, as well as change the units the script will spawn.
Mission makers add/configure this in your mission's description.ext file to customize this module:

class CfgGarrison {
    maxUnits = 70; // change max units spawned per module to 70

    class blu_f {
        units[] = {"B_soldier_F"}; // change it so the NATO faction will only spawn riflemen
    };
    
    class opf_g_f { // add new faction (only works for zeus)
        units[] = {"O_G_Soldier_F","O_G_Soldier_F","O_G_Soldier_SL_F"}; // note: these units are randomly selected, so there's a 1/3 chance to get an SL, 2/3 chance for a rifleman
    };
};

Using Ares reinforce

When to use this: If you want an "organic" way to reinforce areas

How to use this: Just a starting note, this process is a bit more involved than the POTATO methods. In the Zeus screen, go to the modules tab and look for the category labeled "Reinforcements". When you open this category look for the "Create New LZ" module. Place this module where you want your reinforcements to dismount. You can place as many LZs as you want. If you want the dismounts to go to a rendezvous point, go back to the "Reinforcements" category, select the "Create New RP" module, and place it where you want your troops to gather. You can place as many RPs as you want. Once you got your LZs and RPs setup go back to the "Reinforcements" category, select the "Spawn Units" module, and place it where you want your reinforcements to spawn. This should create a dialog. From this dialog you can choose the faction of the units spawned in, which LZ the reinforcements will dismount at what RP the units will move to. Once that's done the units will spawn, and if the transport should RTB and despawn.

Note: Mission makers can add new reinforcement setups by adding the following to the init.sqf.

if (isNil "Ares_Reinforcement_Mission_Unit_Pools") then {
    Ares_Reinforcement_Mission_Unit_Pools = [];
};

Ares_Reinforcement_Mission_Unit_Pools pushBack [
    "RHS Russian Forces (MSV)", // Name of the faction
    east, // The side of the faction
    "RHS_Main", // The name of the root class for the addon that defines these units (must exist or the side will not show up). Use "" to always show.
    ["rhs_tigr_msv", "RHS_UAZ_MSV_01", "rhs_uaz_open_MSV_01"], // Scouts and unarmed light vehicles
    ["O_G_Offroad_01_armed_F"], // Armed light vehicles
    ["rhs_gaz66_msv", "rhs_gaz66o_msv", "rhs_gaz66_r142_msv", "rhs_typhoon_vdv", "RHS_Ural_MSV_01", "RHS_Ural_Open_MSV_01", "RHS_Ural_VDV_01"], // Dedicated troop trucks
    ["rhs_btr70_msv", "rhs_btr60_msv", "rhs_bmp1_XX", "rhs_btr80_msv", "rhs_btr80a_msv"], // Armed + Armored Troop Transports
    ["rhs_ka60_grey", "rhs_ka60_c", "RHS_Mi8AMT_vdv", "RHS_Mi8AMT_vvs", "RHS_Mi8AMT_vvsc", "RHS_Mi8mt_vdv", "RHS_Mi8AMT_vvs", "RHS_Mi8AMT_vvsc"], // Unarmed helicopters
    ["RHS_Mi24P_vdv", "RHS_Mi8AMTSh_vdv", "RHS_Mi8AMTSh_vvs", "RHS_Mi8AMTSh_vvsc"], // Armed helicopters
    ["O_Boat_Transport_01_F", "O_G_Boat_Transport_01_F"], // Unarmed boats
    ["B_Boat_Armed_01_minigun_F"], // Armed boats
    [
        // Squad setups to load into vehicles. Note - these may get truncated to fit into empty spaces or small vehicles.
        ["rhs_msv_junior_sergeant", "rhs_msv_machinegunner", "rhs_msv_machinegunner_assistant", "rhs_msv_efreitor", "rhs_msv_rifleman"],
        ["rhs_msv_sergeant", "rhs_msv_grenadier", "rhs_msv_efreitor", "rhs_msv_rifleman", "rhs_msv_marksman"]
    ]
];

Ares_Reinforcement_Mission_Unit_Pools pushBack [
    "RHS US Forces", // Name of the faction
    west, // The side of the faction
    "RHSUSF_Main", // The name of the root class for the addon that defines these units (must exist or the side will not show up). Use "" to always show.
    ["rhsusf_m1025_w", "rhsusf_m1025_d", "rhsusf_m1025_w_s", "rhsusf_m1025_w_s"], // Scouts and unarmed light vehicles
    ["rhsusf_m113_usarmy", "rhsusf_m113d_usarmy"], // Armed light vehicles
    ["B_Truck_01_transport_F", "B_Truck_01_covered_F"], // Dedicated troop trucks
    ["RHS_M2A2_wd", "RHS_M2A2", "RHS_M2A2_BUSKI_wd", "RHS_M2A2_BUSKI", "RHS_M2A3_wd", "RHS_M2A3", "RHS_M2A3_BUSKI_wd", "RHS_M2A3_BUSKI", "RHS_M2A3_BUSKIII_wd", "RHS_M2A3_BUSKIII", "RHS_M6_wd", "RHS_M6"], // Armed + Armored Troop Transports
    ["rhs_uh60m_mev", "rhs_uh60m_mev_d"], // Unarmed helicopters
    ["rhs_ch_47f", "rhs_ch_47f_light", "rhs_uh60m", "rhs_uh60m_d"], // Armed helicopters
    ["B_Boat_Transport_01_F", "B_G_Boat_Transport_01_F"], // Unarmed boats
    ["I_Boat_Armed_01_minigun_F"], // Armed boats
    [
        // Squad setups to load into vehicles. Note - these may get truncated to fit into empty spaces or small vehicles.
        ["rhsusf_army_ocp_squadleader", "rhsusf_army_ocp_machinegunner", "rhsusf_army_ocp_machinegunnera", "rhsusf_army_ocp_riflemanl", "rhsusf_army_ocp_riflemanl"],
        ["rhsusf_army_ocp_teamleader", "rhsusf_army_ocp_grenadier", "rhsusf_army_ocp_rifleman", "rhsusf_army_ocp_medic", "rhsusf_army_ocp_marksman"]
    ]
];

Using POTATO: HC send group to HC

When to use this: If you need to spawn units using the "normal" zeus options or if for some reason the mission maker didn't spawn units on the HC, use this to move units onto the HC.

How to use this: In the Zeus screen, go to the modules tab and look for the category labeled "POTATO HC: Custom". When you open this category look for the "Move all AI to HC" module. Put it down anywhere and it'll move all the units to HC.

Notes:

  1. This method uses setGroupOwner which does use a decent bit of bandwidth, so if possible use the above HC options.
  2. This will move ALL AI to the headless client, so if the mission maker left units on the server for a specific reason, this may break things.