Dod control point: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎Enhanced FGD entry: consistency in Axis vs Allies ordering)
Line 72: Line 72:


== Enhanced FGD entry ==
== Enhanced FGD entry ==
[[Category:Custom FGDs]]
Replace the FGD entry with this to add the ability to preview custom flag models in {{hammer++|2}}, automatically set default capture sounds and, as well as provide additional SmartEdit descriptions.
Replace the FGD entry with this to add the ability to preview custom flag models in {{hammer++|2}}, automatically set default capture sounds and, as well as provide additional SmartEdit descriptions.
{{expand|1=<source lang=cpp>
{{expand|1=<source lang=cpp>
Line 87: Line 88:
point_printname(string) : "Location name" : "TODO: Set Name" : "The control point name displayed on the Hud when captured. Can be either a regular string or a reference to a localization string."
point_printname(string) : "Location name" : "TODO: Set Name" : "The control point name displayed on the Hud when captured. Can be either a regular string or a reference to a localization string."
point_timedpoints_axis(integer) : "Time based point value for Axis" : 0 : "Points given to Axis as they own this flag over time."
point_timedpoints_allies(integer) : "Time based point value for Allies" : 0 : "Points given to Allies as they own this flag over time."
point_timedpoints_allies(integer) : "Time based point value for Allies" : 0 : "Points given to Allies as they own this flag over time."
point_timedpoints_axis(integer) : "Time based point value for Axis" : 0 : "Points given to Axis as they own this flag over time."
point_default_owner(choices) : "Default owner of the control point" : 0 =
point_default_owner(choices) : "Default owner of the control point" : 0 =
Line 111: Line 112:
// Then, the actual KVs used in-game
// Then, the actual KVs used in-game
point_axis_model(studio) : "Axis model" : "models/mapmodels/flags.mdl" : "Model when Axis own the point"
point_axis_model_bodygroup(integer) : "Axis model bodygroup" : 0
point_allies_model(studio) : "Allies model" : "models/mapmodels/flags.mdl" : "Model to use when Allies own the point"
point_allies_model(studio) : "Allies model" : "models/mapmodels/flags.mdl" : "Model to use when Allies own the point"
point_allies_model_bodygroup(integer) : "Allies model bodygroup" : 1
point_allies_model_bodygroup(integer) : "Allies model bodygroup" : 1
point_axis_model(studio) : "Axis model" : "models/mapmodels/flags.mdl" : "Model when Axis own the point"
point_axis_model_bodygroup(integer) : "Axis model bodygroup" : 0


point_reset_model(studio) : "Neutral model" : "models/mapmodels/flags.mdl" : "Model when neither team owns the point"
point_reset_model(studio) : "Neutral model" : "models/mapmodels/flags.mdl" : "Model when neither team owns the point"
point_reset_model_bodygroup(integer) : "Neutral model bodygroup" : 3
point_reset_model_bodygroup(integer) : "Neutral model bodygroup" : 3


output OnAxisCap(void) : "Send when owner is changed to Axis (including round resets)"
output OnAlliesCap(void) : "Send when owner is changed to Allies (including round resets)"
output OnAlliesCap(void) : "Send when owner is changed to Allies (including round resets)"
output OnAxisCap(void) : "Send when owner is changed to Axis (including round resets)"
output OnCapReset(void) : "Send when owner is changed to Neutral (including round resets)"
output OnCapReset(void) : "Send when owner is changed to Neutral (including round resets)"
output AxisCapturePoint(void) : "Send when Axis capture this point (not triggered on round resets)"
output AlliesCapturePoint(void) : "Send when Allies capture this point (not triggered on round resets)"
output AlliesCapturePoint(void) : "Send when Allies capture this point (not triggered on round resets)"
output AxisCapturePoint(void) : "Send when Axis capture this point (not triggered on round resets)"


point_group(integer) : "Group Index" : 0
point_group(integer) : "Group Index" : 0

Revision as of 07:31, 1 July 2024

dod_control_point is a point entity available in Day of Defeat: Source Day of Defeat: Source.

This entity is usually represented visually by a flag (but is not required). In turn, it represents a capturable location within the map.

Note.pngNote:This entity works in conjunction with Dod_capture_area.
Note.pngNote:A maximum of 8 control points can be in a single map.

Key Values

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Pitch Yaw Roll (Y Z X) (angles) <QAngle>
This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).
LOCALIZED name to print on the hud (point_printname) <string>
The control point name displayed on the Hud when captured. Can be either a regular string or a reference to a localization string.
Time based point value for Allies (point_timedpoints_allies) <integer>
Points given to allies as they own this flag over time.
Time based point value for Axis (point_timedpoints_axis) <integer>
Points given to axis as they own this flag over time.
Default Owner of the control point (point_default_owner) <choices>
The default owner of this control point at round start.
  • Neither (default value)
  • Allies
  • Axis
Sound Made when Axis captures (point_axis_capsound) <sound>
Sound made when axis captures. The official maps use Voice.German_FlagCapture.
Sound Made when Allies captures (point_allies_capsound) <sound>
Sound made when allies captures. The official maps use Voice.US_FlagCapture.
Sound Made when point resets (point_resetsound) <sound>
Sound made when point resets.
Display model:
Icon-Important.pngImportant:Avoid changing the Axis/Allies/Reset models and bodygroups from Valve's defaults unless you know what you are doing; players rely upon these to know who owns a control point!
Allies Model (point_allies_model) <string>
Model when allies own point.
Allies model bodygroup (point_allies_model_bodygroup) <integer>
Allies model bodygroup. Default value used by Valve is "1".
Axis Model (point_axis_model) <string>
Model when axis own point.
Axis model bodygroup (point_axis_model_bodygroup) <integer>
Axis model bodygroup. Default value used by Valve is "0".
Reset Model (point_reset_model) <string>
Reset model when point reset or nobody own the point.
Reset model bodygroup (point_reset_model_bodygroup) <integer>
Reset model bodygroup. Default value used by Valve is "3".
Note.pngNote:Due to limitations in Hammer Hammer's FGD syntax, the default FGD will always show this entity as an Axis flag, regardless of what is set here; see Enhanced FGD entry for a workaround (requires Hammer++ Hammer++).


Group Index (point_group) <integer>
Index of this point (unique) (point_index) <integer>
The unique number of this control point to refer Dod_capture_area.
Hud icon material when nobody owns point (point_hud_icon_neutral) <material>
The material to show on the Hud when nobody owns the point.
Hud icon material when Axis owns point (point_hud_icon_axis) <material>
The material to show on the Hud when Axis owns the point.
Hud icon material when Allies owns point (point_hud_icon_allies) <material>
The material to show on the Hud when Allies owns the point.
Hud icon - Bomb planted (point_hud_icon_timercap) <material>
The material to show on the Hud when a bomb is planted.
Hud icon - Point destroyed (point_hud_icon_bombed) <material>
The material to show on the Hud when the point is destroyed.
Number of Bombs required to destroy (point_num_bombs) <choices>
The number of bomb required to destroy the point, if used as a bomb objective. Ignore if used as a flag.
  • 0 (default value)
  • 1
  • 2
  • 3

Flags

Hide Control Point on HUD : [1]
If un-ticked an icon will be shown on the HUD, in the top left hand side of the display giving the status of the control point, to all the players in the game.
Start with model hidden : [2]
Give tick points for bombs remaining : [4]

Inputs

RoundInit
Re initializes the round
RoundStart
Restarts the round
SetTeam <choices>
Used for the filtering of this entity.
Literal Value Description
0 No
2 Allies
3 Axis

Outputs

OnAlliesCap
Trigger when owner is changed to allies
OnAxisCap
Trigger when owner is changed to axis
OnCapReset
Trigger when owner is changed to neutral
AlliesCapturePoint
Trigger when Allies capture this point (not triggered on round resets)
AxisCapturePoint
Trigger when Allies capture this point (not triggered on round resets)

Enhanced FGD entry

Replace the FGD entry with this to add the ability to preview custom flag models in Hammer++ Hammer++, automatically set default capture sounds and, as well as provide additional SmartEdit descriptions.

@PointClass base(EnableDisable,Targetname,Angles) studio() = dod_control_point : 
	"A Control Point, representing a capturable objective; there can be up to 8 of these in a map."
	+"Can be the visual representation of the control point, or the model can be disabled and a prop_dynamic be used via this entity's outputs instead."
[	
	spawnflags(flags) =
	[
		1: "Hide Control Point on HUD" : 0
		2: "Start with model hidden" : 0
		4: "Give tick points for bombs remaining" : 0
	]

	point_printname(string) : "Location name" : "TODO: Set Name" : "The control point name displayed on the Hud when captured. Can be either a regular string or a reference to a localization string."
	
	point_timedpoints_axis(integer) : "Time based point value for Axis" : 0 : "Points given to Axis as they own this flag over time."
	point_timedpoints_allies(integer) : "Time based point value for Allies" : 0 : "Points given to Allies as they own this flag over time."
	
	point_default_owner(choices) : "Default owner of the control point" : 0 =
	[
		0 : "Neutral"
		2 : "Allies"
		3 : "Axis"
	]
	point_axis_capsound(sound) : "Axis capture sound" : "Voice.German_FlagCapture" : "Sound made when Axis capture this point"
	point_allies_capsound(sound) : "Allies capture sound" : "Voice.US_FlagCapture" : "Sound made when Allies capture this point"
	point_resetsound(sound) : "Sound made when point resets" : ""
	
	// first, we define some KVs that are used by Hammer++, but ignored by the game, to get around some editor hardcoding
	model(studio) : "Editor model" : "models/mapmodels/flags.mdl" : "Model to display in the map editor (no effect in-game). This should match the model used by the default owner."
	body(choices) : "Editor model bodygroup" : : "Bodygroup to use for the editor model (no effect in-game). This should match the bodygroup used by the default owner (descriptions given are for models/mapmodels/flags.mdl)." =
	[
		0 : "0 (Vanilla is Axis)"
		1 : "1 (Vanilla is Allies)"
		2 : "2 (Vanilla is British)"
		3 : "3 (Vanilla is Neutral)"
	]
	
	// Then, the actual KVs used in-game
	point_axis_model(studio) 	: "Axis model" : "models/mapmodels/flags.mdl" : "Model when Axis own the point"
	point_axis_model_bodygroup(integer) : "Axis model bodygroup" : 0

	point_allies_model(studio) 	: "Allies model" : "models/mapmodels/flags.mdl" : "Model to use when Allies own the point"
	point_allies_model_bodygroup(integer) : "Allies model bodygroup" : 1

	point_reset_model(studio) 	: "Neutral model" : "models/mapmodels/flags.mdl" : "Model when neither team owns the point"
	point_reset_model_bodygroup(integer) : "Neutral model bodygroup" : 3

	output OnAxisCap(void) : "Send when owner is changed to Axis (including round resets)"
	output OnAlliesCap(void) : "Send when owner is changed to Allies (including round resets)"
	output OnCapReset(void) : "Send when owner is changed to Neutral (including round resets)"
	
	output AxisCapturePoint(void) : "Send when Axis capture this point (not triggered on round resets)"
	output AlliesCapturePoint(void) : "Send when Allies capture this point (not triggered on round resets)"

	point_group(integer) : "Group Index" : 0

	point_index(integer) : "Index of this point (unique)" : 0 : "Unique identifier; used with dod_capture_area"

	point_hud_icon_neutral(material)	: "Hud icon - Neutral" : "sprites/obj_icons/icon_obj_neutral"
	point_hud_icon_axis(material)	: "Hud icon - Axis" : "sprites/obj_icons/icon_obj_axis"
	point_hud_icon_allies(material)	: "Hud icon - Allies" : "sprites/obj_icons/icon_obj_allies"
	point_hud_icon_timercap(material) : "Hud icon - bomb planted" : "sprites/obj_icons/icon_obj_neutral"
	point_hud_icon_bombed(material) : "Hud icon - point destroyed" : "sprites/obj_icons/icon_obj_neutral"
	
	input HideModel(void) : "Hide the control point model"
	input ShowModel(void) : "Show the control point model"
	
	point_num_bombs(choices) : "Number of Bombs required to destroy" : 0 : "The number of bomb required to destroy the point, if used as a bomb objective. Ignore if used as a flag." =
	[
		0 : "0"
		1 : "1"
		2 : "2"
		3 : "3"
	]
]