Difference between revisions of "Radio Support"

From Savage Game Design Wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
==== This page will guide you through adding the Radio Support module to your mission. ====
 
==== This page will guide you through adding the Radio Support module to your mission. ====
This module allows players to request radio support to assist them with taking out enemies.
+
This module allows players to request radio support to assist them with taking out enemies.<br/>
Mission creators can setup their own callsigns including custom names, icons, descriptions, conditions, and more.
+
Mission creators can set up their own call signs including custom names, icons, descriptions, conditions, and more.
 
 
 
 
  
 
==== Eden Editor ====
 
==== Eden Editor ====
 
 
To add the module to your mission all you need to do is place the module '''Radio Support''' into your mission.
 
To add the module to your mission all you need to do is place the module '''Radio Support''' into your mission.
 
  
 
==== Configuration Files ====
 
==== Configuration Files ====
 +
This module works off a single config class, this can either be one located in the CDLC, or one located in the missions '''description.ext'''.<br/>
 +
Use the [https://pastebin.com/embed_iframe/EqR8wkiE '''default CDLC config'''] as a starting point for your own config.<br/>
 +
''Be aware, the '''#define'''\'s listed at the top of the file are used later in the config to reduce duplication.''
  
This module works off a single config class, this can either be one located in the CDLC, or one located in the missions '''description.ext'''.
+
Starting from the top of the example config there are nine values which can be changed,
 
 
Use the [https://pastebin.com/raw/bBnaw8wg '''default CDLC config'''] as a starting point for your own config.
 
 
 
Starting from the top of the example config there are seven values which can be changed,
 
 
* '''cost_variable'''
 
* '''cost_variable'''
 
** This is the name of a number variable which can be used to make players 'pay' for each request, each callsign will have a 'cost' value which players will need to have a higher or equal cost variable to request successfully.
 
** This is the name of a number variable which can be used to make players 'pay' for each request, each callsign will have a 'cost' value which players will need to have a higher or equal cost variable to request successfully.
Line 27: Line 22:
 
* '''danger_distance'''
 
* '''danger_distance'''
 
** This is the minimum distance to respawn markers that a request can be called. Requests that fall within this distance will not be completed.
 
** This is the minimum distance to respawn markers that a request can be called. Requests that fall within this distance will not be completed.
 +
* '''delay_max'''
 +
** Maximum delay for the support to arrive, regardless of the time calculated from distance to support module.
 +
* '''captive'''
 +
** Determines if the support planes/helicopters will be set to captive.
 
* '''unit_trait_required'''
 
* '''unit_trait_required'''
 
** Set this to '''1''' to only show the option to units that have the '''vn_artillery''' unit trait, does the same thing as setting the last value in the availability array to '''1'''.
 
** Set this to '''1''' to only show the option to units that have the '''vn_artillery''' unit trait, does the same thing as setting the last value in the availability array to '''1'''.
Line 36: Line 35:
 
** This is a list of unit class names which will be given the action when setup in the availability array above.
 
** This is a list of unit class names which will be given the action when setup in the availability array above.
  
After these options there are two child classes, '''aircraft''' and '''artillery''', these child classes will contain the options that will be available to players.
+
After these options there are four child classes, '''aircraft''', '''artillery''', '''resupply''', and '''transport''', these child classes will contain the options that will be available to players.<br/>
 
+
Classes in the '''aircraft''' class will be shown to players when they select the "Air Support" option on the radio.<br/>
Classes in the '''aircraft''' class will be shown to players when they select the "Air Support" option on the radio.
+
Classes in the '''artillery''' class will be shown to players when they select the "Fire Support" option on the radio.<br/>
 
+
Classes in the '''resupply''' class will be shown to players when they select the "Resupply" option on the radio.<br/>
Classes in the '''artillery''' class will be shown to players when they select the "Fire Support" option on the radio.
+
Classes in the '''transport''' class will be shown to players when they select the "Transport" option on the radio.<br/>
 
 
Inside these classes there are sub category classes, these classes will be the option on the left hand side of the radio support menu.
 
 
 
Each sub category class needs a '''displayname''' attribute which will be the name of the category.
 
  
 +
Inside these classes there are sub category classes, these classes will be the option on the left hand side of the radio support menu.<br/>
 +
Each sub category class needs a '''displayname''' attribute which will be the name of the category.<br/>
 
Within the sub category class you can add the options that will be available to players.
 
Within the sub category class you can add the options that will be available to players.
  
 
==== Artillery Attributes ====
 
==== Artillery Attributes ====
 
 
Each artillery option can have the following attributes,
 
Each artillery option can have the following attributes,
 
* '''displayname'''
 
* '''displayname'''
Line 61: Line 57:
 
* '''divergence'''
 
* '''divergence'''
 
** This is the distance for in both x & y directions that the position can differ from the users selected position
 
** This is the distance for in both x & y directions that the position can differ from the users selected position
 +
* '''delay_max'''
 +
** Maximum delay for the support to arrive, regardless of the time calculated from distance to support module. Overwrites main config.
 
* '''allow_double'''
 
* '''allow_double'''
 
** This will allow the user to fire the ammo twice, doubling the amount of explosives
 
** This will allow the user to fire the ammo twice, doubling the amount of explosives
Line 81: Line 79:
  
 
==== Aircraft Attributes ====
 
==== Aircraft Attributes ====
 
 
Each aircraft option can have the following attributes,
 
Each aircraft option can have the following attributes,
 
* '''displayname'''
 
* '''displayname'''
Line 110: Line 107:
 
** This is the array of pylon magazines which will be added to the vehicles pylons
 
** This is the array of pylon magazines which will be added to the vehicles pylons
  
 +
==== Resupply Attributes ====
 +
Each resupply option can have the following attributes,
 +
* '''displayname'''
 +
** This is the name of the option that will be shown to the user
 +
* '''icon'''
 +
** This is the icon which will be shown beside the option, can be left empty if you don't want an icon for this option.
 +
* '''description'''
 +
** This is the description of the option, this will usually consist of a sentence which goes into detail about the container and aircraft used in the option.
 +
* '''vehicleclass'''
 +
** This is the classname of the vehicle which will be used to complete the request, should be either a helicopter or a plane.
 +
* '''containerclass'''
 +
** This is the classname of the container which will be used to complete the request, should be a container either with or without items.
 +
* '''items'''
 +
** This is the array of items which will be added to the container, can be left empty if you want to use the items alraedy in the container.
 +
* '''cooldown'''
 +
** This is how long users will need to wait before requesting this again
 +
* '''cost'''
 +
** This is the cost of this option if using the cost variable
 +
 +
==== Transport Attributes ====
 +
Each transport option can have the following attributes,
 +
* '''displayname'''
 +
** This is the name of the option that will be shown to the user
 +
* '''icon'''
 +
** This is the icon which will be shown beside the option, can be left empty if you don't want an icon for this option.
 +
* '''description'''
 +
** This is the description of the option, this will usually consist of a sentence which goes into detail about the vehicle used in the option.
 +
* '''vehicleclass'''
 +
** This is the classname of the vehicle which will be used to complete the request, should be a helicopter with spare seats for transport.
 +
* '''hook'''
 +
** This is an old attribute which is no longer used, does not need to be included.
 +
* '''cooldown'''
 +
** This is how long users will need to wait before requesting this again
 +
* '''cost'''
 +
** This is the cost of this option if using the cost variable
  
 
==== During Gameplay ====
 
==== During Gameplay ====
 +
Players can access the radio support menu through the scroll wheel action menu.<br/>
 +
The radio at the top of the menu has an interactable knob which switches between "Air Support", "Fire Support", "Transport", and "Resupply".<br/>
  
Players can access the radio support menu through the scroll wheel action menu.
+
Players can then select the category and callsign of their request, then left click and drag on the map to select the:<br/>
 
+
'''Air Support:''' Position and direction for the aircraft's run<br/>
The radio at the top of the menu has an interactable knob which switches between "Air Support" and "Fire Support".
+
'''Fire Support:''' Start and end location for the artillery run.<br/>
 
+
'''Transport:''' Pickup and original drop off location.<br/>
Players can then select the category and callsign of their request, then left click and drag on the map to select the position and direction for aircraft, or the start and end location for artillery. Then they can choose between a normal or heavy request for options which have '''allow_double''' set to true, finally pressing the confirm button to radio in the request.
+
'''Resupply:''' Position and direction of the resupply run.<br/>
 
+
<br/>
 +
Then they can choose between a normal or heavy request for options which have '''allow_double''' set to true, then press the confirm button to send the request.
  
 
[[Category: Modules]]
 
[[Category: Modules]]

Latest revision as of 00:14, 16 December 2023

Radio Support Module

This page will guide you through adding the Radio Support module to your mission.

This module allows players to request radio support to assist them with taking out enemies.
Mission creators can set up their own call signs including custom names, icons, descriptions, conditions, and more.

Eden Editor

To add the module to your mission all you need to do is place the module Radio Support into your mission.

Configuration Files

This module works off a single config class, this can either be one located in the CDLC, or one located in the missions description.ext.
Use the default CDLC config as a starting point for your own config.
Be aware, the #define\'s listed at the top of the file are used later in the config to reduce duplication.

Starting from the top of the example config there are nine values which can be changed,

  • cost_variable
    • This is the name of a number variable which can be used to make players 'pay' for each request, each callsign will have a 'cost' value which players will need to have a higher or equal cost variable to request successfully.
  • availability
    • This is the main availability array, this lets you quickly and easily determine how players should have access to the radio support action.
    • Each item in the array can either be true '1' or false '0', each index in the array will change when the action is shown
    • {Action will always be avaliable, Unit's backpack is in the `radio_backpacks` array, Unit's vehicle is in the `radio_vehicles` array, Unit's classname is in the `player_types` array, Unit has the `vn_artillery` unit trait}
  • danger_distance
    • This is the minimum distance to respawn markers that a request can be called. Requests that fall within this distance will not be completed.
  • delay_max
    • Maximum delay for the support to arrive, regardless of the time calculated from distance to support module.
  • captive
    • Determines if the support planes/helicopters will be set to captive.
  • unit_trait_required
    • Set this to 1 to only show the option to units that have the vn_artillery unit trait, does the same thing as setting the last value in the availability array to 1.
  • radio_backpacks
    • This is a list of backpacks which will be considered radio backpacks for the availability array above.
  • radio_vehicles
    • This is a list of vehicles which will be considered vehicles with radios for the availability array above.
  • player_types
    • This is a list of unit class names which will be given the action when setup in the availability array above.

After these options there are four child classes, aircraft, artillery, resupply, and transport, these child classes will contain the options that will be available to players.
Classes in the aircraft class will be shown to players when they select the "Air Support" option on the radio.
Classes in the artillery class will be shown to players when they select the "Fire Support" option on the radio.
Classes in the resupply class will be shown to players when they select the "Resupply" option on the radio.
Classes in the transport class will be shown to players when they select the "Transport" option on the radio.

Inside these classes there are sub category classes, these classes will be the option on the left hand side of the radio support menu.
Each sub category class needs a displayname attribute which will be the name of the category.
Within the sub category class you can add the options that will be available to players.

Artillery Attributes

Each artillery option can have the following attributes,

  • displayname
    • This is the name of the option that will be shown to the user
  • icon
    • This is the icon which will be shown beside the option, can be left empty if you don't want an icon for this option.
  • description
    • This is the description of the option, this will usually consist of a sentence which goes into detail about the weapons and vehicle used in the option.
  • ammo
    • This is an array of ammo classes which will be spawned and then explode when hitting the ground
  • divergence
    • This is the distance for in both x & y directions that the position can differ from the users selected position
  • delay_max
    • Maximum delay for the support to arrive, regardless of the time calculated from distance to support module. Overwrites main config.
  • allow_double
    • This will allow the user to fire the ammo twice, doubling the amount of explosives
  • count
    • This is how many times each ammo class will be spawned
  • cooldown
    • This is how long users will need to wait before requesting this again
  • tickets
    • This is how many times the user can call this before it cannot be called again
  • cost
    • This is the cost of this option if using the cost variable
  • illumination
    • Is this an illumination round, affects the voice when requesting
  • function
    • If a function is defined then the function will run instead of any explosive being spawned
  • condition
    • The condition which must return true for this option to be shown in the list
  • speed
    • This is the speed of the request, used to determine how long the user should wait before the ammo starts to explode.

Aircraft Attributes

Each aircraft option can have the following attributes,

  • displayname
    • This is the name of the option that will be shown to the user
  • icon
    • This is the icon which will be shown beside the option, can be left empty if you don't want an icon for this option.
  • description
    • This is the description of the option, this will usually consist of a sentence which goes into detail about the weapons and vehicle used in the option.
  • vehicleclass
    • This is the classname of the vehicle which will be used to complete the request, should be either a helicopter or a plane
  • divergence
    • This is the danger distance for the request, used to let users know how large of an area will be hit by the aircraft
  • allow_double
    • This will allow the user to request two aircraft at the same time
  • cooldown
    • This is how long users will need to wait before requesting this again
  • tickets
    • This is how many times the user can call this before it cannot be called again
  • cost
    • This is the cost of this option if using the cost variable
  • illumination
    • Is this an illumination request, affects the voice when requesting
  • function
    • If a function is defined then the function will run instead of any vehicles being spawned
  • condition
    • The condition which must return true for this option to be shown in the list
  • magazines
    • This is the array of pylon magazines which will be added to the vehicles pylons

Resupply Attributes

Each resupply option can have the following attributes,

  • displayname
    • This is the name of the option that will be shown to the user
  • icon
    • This is the icon which will be shown beside the option, can be left empty if you don't want an icon for this option.
  • description
    • This is the description of the option, this will usually consist of a sentence which goes into detail about the container and aircraft used in the option.
  • vehicleclass
    • This is the classname of the vehicle which will be used to complete the request, should be either a helicopter or a plane.
  • containerclass
    • This is the classname of the container which will be used to complete the request, should be a container either with or without items.
  • items
    • This is the array of items which will be added to the container, can be left empty if you want to use the items alraedy in the container.
  • cooldown
    • This is how long users will need to wait before requesting this again
  • cost
    • This is the cost of this option if using the cost variable

Transport Attributes

Each transport option can have the following attributes,

  • displayname
    • This is the name of the option that will be shown to the user
  • icon
    • This is the icon which will be shown beside the option, can be left empty if you don't want an icon for this option.
  • description
    • This is the description of the option, this will usually consist of a sentence which goes into detail about the vehicle used in the option.
  • vehicleclass
    • This is the classname of the vehicle which will be used to complete the request, should be a helicopter with spare seats for transport.
  • hook
    • This is an old attribute which is no longer used, does not need to be included.
  • cooldown
    • This is how long users will need to wait before requesting this again
  • cost
    • This is the cost of this option if using the cost variable

During Gameplay

Players can access the radio support menu through the scroll wheel action menu.
The radio at the top of the menu has an interactable knob which switches between "Air Support", "Fire Support", "Transport", and "Resupply".

Players can then select the category and callsign of their request, then left click and drag on the map to select the:
Air Support: Position and direction for the aircraft's run
Fire Support: Start and end location for the artillery run.
Transport: Pickup and original drop off location.
Resupply: Position and direction of the resupply run.

Then they can choose between a normal or heavy request for options which have allow_double set to true, then press the confirm button to send the request.