Insurgency.fgd
Jump to navigation
Jump to search
From: \common\insurgency2\bin\insurgency.fgd
@include "base.fgd"
//
// Insurgency game definition file (.fgd)
//
@MaterialExclusion
[
//exclude these from being loaded into hammer's preview
"console"
"correction"
"debug"
"hud"
"models"
"particle"
"particles"
"vgui"
"voice"
"cable"
]
@AutoVisGroup = "Tool Brushes"
[
"Vis Clusters"
[
"func_viscluster"
]
"Detail Blockers"
[
"func_detail_blocker"
]
]
@AutoVisGroup = "Entities"
[
"Lights"
[
"light"
"light_spot"
"light_directional"
"light_environment"
"point_spotlight"
]
"Sprites"
[
"env_lightglow"
"env_sprite_oriented"
"env_sprite"
]
]
@AutoVisGroup = "Soundscapes"
[
"Env_soundscape"
[
"env_soundscape"
"env_soundscape_triggerable"
"env_soundscape_proxy"
]
"Trigger_soundscape"
[
"trigger_soundscape"
]
"Ambient_generic"
[
"ambient_generic"
]
]
@AutoVisGroup = "Overlays"
[
"Info_overlay"
[
"info_overlay"
]
"Info_decal"
[
"infodecal"
]
]
@AutoVisGroup = "Cubemaps"
[
"Cubemap Probes"
[
"env_cubemap"
]
]
@AutoVisGroup = "Map Instances"
[
"Instances"
[
"func_instance"
]
"Instance Modifiers"
[
"func_instance_io_proxy"
"func_instance_parms"
"func_instance_origin"
]
]
@AutoVisGroup = "Insurgency"
[
"Viewpoints"
[
"ins_viewpoint"
]
"Spawn Points"
[
"ins_spawnpoint"
"ins_spawnzone"
"ins_blockzone"
]
"Objective Entities"
[
"trigger_capture_zone"
"point_controlpoint"
"point_flag"
]
"Objective Logic"
[
"ins_rulesproxy"
"logic_push"
"logic_skirmish"
"logic_vip"
"logic_firefight"
"logic_battle"
"logic_elimination"
"logic_hunt"
"logic_checkpoint"
"logic_outpost"
"logic_training"
]
]
//====================================================================================================================
// BASE CLASSES
//====================================================================================================================
@BaseClass = TeamNum
[
TeamNum(choices) : "Team Number (int)" : 2 =
[
0 : "None"
2 : "Security"
3 : "Insurgents"
]
]
@FilterClass base(BaseFilter) size(-8 -8 -8, 8 8 8) = filter_activator_team :
"A filter that filters by the team of the activator."
[
filterteam(choices) : "Filter Team Number" : 2 : "The team number to filter by. If the filter mode is Allow, only entities whose "+
"team number matches the given team will pass the filter. If the filter mode is Disallow, "+
"all entities EXCEPT those whose team number matches the given team will pass the filter." =
[
2 : "Security"
3 : "Insurgents"
]
]
@BaseClass = LogicGameType
[
output OnSelected(void) : "Fired this gamemode is selected."
output OnSecurityWin(void) : "Fired when Security team win a round."
output OnInsurgentWin(void) : "Fired when Insurgent team win a round."
output OnGameDraw(void) : "Fired when round results in a draw."
output OnGameResult(void) : "Fired when a team has won a round."
output OnGameOver(void) : "Game is over, show scoreboard."
output OnPreRoundReset(void) : "Just before round is reset."
output OnRoundReset(void) : "Round has reset and players have respawned."
output OnRoundStarted(void) : "Round has started and players can move."
input ExtendRound(float) : "Extend the round timer by the given number of seconds"
input SetRoundTimer(float) : "Set the round timer (given in seconds)"
input EndRound(integer) : "End the round with a given winner (0 = draw, 2 = security, 3 = insurgents)"
input AwardTeamSupply(integer) : "Award given team with a supply point (2 = security, 3 = insurgents)"
]
@BaseClass = BaseObject
[
SolidToPlayers(choices) : "Solid To Player" : 0 : "Is object solid to players?" =
[
0 : "Use Default"
1 : "Yes"
2 : "No"
]
output OnDestroyed(void) : "Object has been destroyed."
output OnDamaged(void) : "Object has taken damage."
output OnBecomingDisabled(void) : "Object's function has been disabled."
output OnBecomingReenabled(void) : "Object's function has been reinstated."
output OnObjectHealthChanged(void) : "Object's health has changed."
input Show(void) : "Show this object"
input Hide(void) : "Hide this object"
]
@BaseClass = BaseGrenade
[
input Explode(float) : "Explode after x seconds"
input MakeDud(void) : "Disable a grenade and remove it"
input SetPlayerOwner(void) : "Sets activator to the player owner."
]
//====================================================================================================================
// CORE ENTITIES
//====================================================================================================================
@SolidClass base(Targetname, Parentname, Origin, RenderFields,DamageFilter) = func_button_timed:
"An entity that takes time to use."
[
use_time(integer) : "Use Time" : 5 : ""
use_string(string) : "Use String" : "Using...." : ""
use_sub_string(string) : "Use Sub-String" : "" : ""
glow(target_destination) : "Glow Entity" : : "The name of an entity that will get the +use glow for this button."
auto_disable(choices) : "Auto-Disable On Time Up" : 1 : "When the use timer is up, disable the button. (Can be enabled with an input)" =
[
0 : "No"
1 : "Yes"
]
spawnflags(flags) =
[
2048: "Starts locked" : 0
]
locked_sound(choices) : "Locked Sound" : 0 : "Sound played when the player tries to use the button, and fails because it's locked." =
[
0: "None"
2: "Access Denied"
8: "Small zap"
10: "Buzz"
11: "Buzz Off"
12: "Latch Locked"
]
// Inputs
input Lock(void) : "Lock the button, preventing it from functioning and playing a locked sound."
input Unlock(void) : "Unlock the button, allowing it to function."
input Enable(void) : "Enable the button, so it glows and can be used."
input Disable(void) : "Disable the button, so it can't be used and doesn't glow."
// Outputs
output OnPressed(void) : "Fired when the button is pressed."
output OnUnPressed(void) : "Fired when the button is unpressed."
output OnTimeUp(void) : "Fired when the button has been held more than the required amount of time."
output OnUseLocked(void) : "Fired when the button is used while locked."
]
@PointClass base(Angles) iconsprite("editor/env_detail_controller.vmt") = env_detail_controller : "An entity that lets you control the fade distances for detail props."
[
fademindist(float) : "Start Fade Dist/Pixels" : 400 : "Distance at which the prop starts to fade."
fademaxdist(float) : "End Fade Dist/Pixels" : 1200 : "Maximum distance at which the prop is visible."
]
@SolidClass base(Trigger,TeamNum) = ins_blockzone : "Block Zone"
[
spawnflags(flags) =
[
2: "Ignore player +USE" : 1
]
rendercolor(color255) : "FX Color (R G B)" : "255 255 255" : "The FX color is used by the selected Render Mode."
renderamt(integer) : "Renderamt" : 255 : "Integer-Value from 0 to 255 allowed"
rendermode(integer) : "Rendermode" : 0
renderfx(integer) : "Render-Effect" : 0
]
@SolidClass base(Trigger,TeamNum) = ins_spawnzone : "Spawn Zone"
[
spawnflags(flags) =
[
1: "Disable inventory" : 0
2: "Ignore player +USE" : 1
]
rendercolor(color255) : "FX Color (R G B)" : "255 255 255" : "The FX color is used by the selected Render Mode."
renderamt(integer) : "Renderamt" : 255 : "Integer-Value from 0 to 255 allowed"
rendermode(integer) : "Rendermode" : 0
renderfx(integer) : "Render-Effect" : 0
blockzone(target_destination) : "Block Zone" : "" : "If set, enables/disables given block zone(s) along with this spawn zone"
SquadID(integer) : "Associated Squad" : -1 : "If >=0, spawn points in this zone will be associated with the given squad"
]
@SolidClass base(Targetname, Parentname, TeamNum, EnableDisable) = func_teamblocker :
"Walls that players of a certain team are unable to pass through"
[
spawnflags(flags) =
[
2: "Don't show hint when touched" : 0
]
]
//====================================================================================================================
// GAMERULES ENTITIES
//====================================================================================================================
@PointClass base(Targetname) = ins_rulesproxy : "Proxy entity for INS Gamerules"
[
output OnGamemodeStarted(string) : "Fired when a gamemode is selected."
output OnGamemodeReset(string) : "Fired at each round reset, giving the gamemode."
output OnSecurityWin(void) : "Fired when Security team win a round."
output OnInsurgentWin(void) : "Fired when Insurgent team win a round."
output OnGameDraw(void) : "Fired when round results in a draw."
output OnGameResult(integer) : "Fired when a team has won a round."
output OnGameOver(integer) : "Game is over, show scoreboard."
output OnPreRoundReset(void) : "Just before round is reset."
output OnRoundReset(string) : "Round has reset and players have respawned."
output OnRoundStarted(void) : "Round has started and players can move."
output OnWaveDeployedTeamOne(void) : "Reinforcement wave deployed for Team One"
output OnWaveDeployedTeamTwo(void) : "Reinforcement wave deployed for Team Two"
output OnRapidDeploymentTeamOne(void) : "When an objective capture has redeployed team one"
output OnRapidDeploymentTeamTwo(void) : "When an objective capture has redeployed team two"
input ExtendRound(float) : "Extend the round timer by the given number of seconds"
input SetRoundTimer(float) : "Set the round timer (given in seconds)"
input EndRound(integer) : "End the round with a given winner (0 = draw, 2 = security, 3 = insurgents)"
input AwardTeamSupply(integer) : "Award given team with a supply point (2 = security, 3 = insurgents)"
]
@SolidClass base(Trigger) = trigger_capture_zone : "Allows players capture its associated point."
[
controlpoint(target_destination) : "Associated Control Point" : : "The control point associated with this Capture Zone."
]
@PointClass base( Global, Targetname ) iconsprite("editor/team_cp.vmt") = point_controlpoint : "Main capture point for Occupy"
[
default_owner(choices) : "Default Owner (int)" : 0 =
[
0 : "Unassigned"
2 : "Security"
3 : "Insurgents"
]
printname(string) : "Print Name" : "" : "Descriptive name for this control point"
output OnCaptured(void) : ""
output OnCapturedBySecurity(void) : ""
output OnCapturedByInsurgent(void) : ""
output OnReset(void) : ""
]
@PointClass base(Targetname, Parentname, Global, TeamNum, Studiomodel, Angles) studioprop() = point_flag : "flag entity."
[
output OnPickedUp(void) : ""
output OnDropped(void) : ""
output OnReset(void) : ""
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_battle.vmt") = logic_skirmish : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_battle.vmt") = logic_battle : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_elimination.vmt") = logic_elimination : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_elimination.vmt") = logic_firefight : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_elimination.vmt") = logic_vip : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_training.vmt") = logic_push : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_training.vmt") = logic_hunt : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_training.vmt") = logic_checkpoint : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_training.vmt") = logic_outpost : ""
[
]
@PointClass base( Global, Targetname, LogicGameType ) iconsprite("editor/logic_training.vmt") = logic_training : ""
[
input ProvideTokens(integer) : ""
input PlayOnline(void) : "Returns the player to the main menu"
input PracticeOffline(void) : "Loads pvp and sets a new mapcycle"
]
//====================================================================================================================
// OBJECTS
//====================================================================================================================
@PointClass base( Global, Targetname, TeamNum, BaseObject ) studio( "models/static_props/wcache_ins_01.mdl" ) = obj_weapon_cache : "Weapon cache that can be placed in the world to give dynamic buy zones."
[
InitialHealth(integer) : "Initial Health" : 220
TakeDamageBullets(choices) : "Take Bullet Damage" : 0 =
[
0 : "No"
1 : "Yes"
]
]
@PointClass base( Global, Targetname, TeamNum, BaseObject ) studio( "models/static_props/ins_radio.mdl" ) = obj_destructible : "Destructible objects that can either be neutral or an objective"
[
InitialHealth(integer) : "Initial Health" : 220
TakeDamageBullets(choices) : "Take Bullet Damage" : 1 =
[
0 : "No"
1 : "Yes"
]
TakeDamageMelee(choices) : "Take Melee Damage" : 1 =
[
0 : "No"
1 : "Yes"
]
CustomTrigger(target_destination) : "Associated Trigger"
ControlPoint(target_destination) : "Associated Control Point"
CustomModelPathHealthy(studio) : "Model (healthy)" : "models/static_props/ins_radio.mdl"
CustomModelPathDestroyed(studio) : "Model (destroyed)" : "models/static_props/ins_radio_burned.mdl"
]
@PointClass base( Global, Targetname, TeamNum, BaseObject ) studio( "models/vehicles/minibus.mdl" ) = obj_destructible_vehicle : "Destructible vehicles that can either be neutral or an objective"
[
VehicleType(choices) : "Vehicle Type" : 0 =
[
0 : "Minibus"
1 : "Lada"
2 : "Mercedes"
3 : "Humvee"
4 : "Passat"
5 : "Amtrac"
]
InitialHealth(integer) : "Initial Health" : 220
TakeDamageBullets(choices) : "Take Bullet Damage" : 0 =
[
0 : "No"
1 : "Yes"
]
]
//====================================================================================================================
// OTHER
//====================================================================================================================
@SolidClass base(Trigger) = trigger_auto_crouch : "Allows players touching the trigger to auto-crouch."
[
]
@SolidClass base(Trigger) = trigger_grenade_extinguisher : "Puts out AOE grenades (like Molotovs) that touch it"
[
ExtinguishDelayMin(float) : "Extinguish Delay (min)" : 1
ExtinguishDelayMax(float) : "Extinguish Delay (max)" : 2
]
@PointClass base(Angles, Studiomodel, Shadow) Studioprop() = prop_foliage : "Foliage which is non-solid but blocks AI LoS"
[
fademindist(float) : "Start Fade Dist/Pixels" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist). If 'Screen Space Fade' is selected, this represents the number of pixels wide covered by the prop when it starts to fade."
fademaxdist(float) : "End Fade Dist/Pixels" : 0 : "Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades."
fadescale(float) : "Fade Scale" : 1 : "If you specify a fade in the worldspawn, or if the engine is running under dx7 [hl2/ep1/portal] or dx8 [ep2/tf], then the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified." +
" This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades." +
" Numbers smaller than 1 cause the prop to fade out at further distances," +
"and greater than 1 cause it to fade out at closer distances."
]
@PointClass base(Targetname, Parentname) iconsprite("editor/env_explosion.vmt") = env_explosion_ins :
"An entity that creates an explosion at its origin."
[
szExplosiveName(choices) : "Explosion Type" : "grenade_c4" =
[
"grenade_c4" : "C4"
"grenade_ied" : "IED"
"rocket_at4": "AT4"
"rocket_rpg7": "RPG7"
"grenade_m203_he" : "M203 HE"
"grenade_gp25_he" : "GP25 HE"
"grenade_m203_smoke" : "M203 Smoke"
"grenade_gp25_smoke" : "GP25 Smoke"
"grenade_flare" : "Flare"
"grenade_molotov" : "Molotov"
"grenade_anm14" : "ANM14"
"grenade_f1" : "F1"
"grenade_m67" : "M67"
"grenade_m84" : "M84"
"grenade_m18" : "M18"
"vehicle" : "Vehicle Explosion"
]
UseFuseTime(boolean) : "Use Fuse Time" : 0
UseLaunchSound(boolean) : "Use Launch Sound" : 0
// Inputs
input Explode(void) : "Trigger the explosion."
]
@PointClass base(Targetname, Origin, Angles, Studiomodel) Studioprop() = prop_explosive :
"An explosive entity that creates an explosion when destroyed and switches the prop's skin to a damaged state."
[
model(studio) report : "Explosive Model" : "models/static_props/wcache_box_02.mdl"
ExplosiveSound(sound) : "Explosive Sound" : "World.Generic.AmmoBoxCookOff"
ExplosiveParticle(particlesystem) : "Explosive Particle" : "ins_ammo_explosion"
CanBeDamaged(boolean) : "Can Be Damaged" : 1
InitialHealth(integer) : "Initial Health" : 5
DamagedSkin(integer) : "Damaged Skin" : 2
ShouldDoAreaDamage(boolean) : "Should Do Area Damage" : 1
AreaDamageRange(integer) : "Area Damage Range" : 64
AreaDamageTime(float) : "Area Damage Time" : "5.0"
AreaDamageFrequency(float) : "Area Damage Frequency" : "1.0"
AreaDamageAmount(float) : "Area Damage Amount" : "5.0"
AreaDamagePhysicsForce(float) : "Area Damage Physics Force" : "20.0" : "Force of random forces applied to this object"
// Inputs
input Explode(void) : "Trigger the explosion."
]
@PointClass base(Targetname, Parentname) studio( "models/static_props/FireSprinklerHead_break.mdl" ) = prop_sprinkler :
"It's a sprinkler, honest."
[
// Inputs
input Start(void) : ""
input Stop(void) : ""
// Outputs
output OnStart(string) : ""
output OnStop(string) : ""
output OnBreak(string) : ""
]
@PointClass base(prop_physics) studio( "models/static_props/prop_halloween_pumpkin_glowing.mdl" ) = prop_pumpkin :
"For those days when you really need a pumpkin."
[
randomizeAppearance(choices) : "Randomize Appearance" : 1 =
[
0 : "No"
1 : "Yes"
]
]
@PointClass base(Targetname) = logic_training_timer : "For internal use."
[
// Inputs
input Start(void) : ""
input Finish(void) : ""
]
//====================================================================================================================
// MISC TRIGGERS
//====================================================================================================================
@SolidClass base(Trigger, TeamNum) = func_buyzone : "Allows players within this trigger to buy weapons and upgrades."
[
]
@SolidClass base(Trigger, TeamNum) = func_weapon_lower : "Lowers the weapon of a player who enters the area."
[
]
//====================================================================================================================
// LADDER + ELEVATOR
//====================================================================================================================
@SolidClass = func_ladder :
"Ladder. Players will be able to freely along one side of this brush, as if it was a ladder. " +
"If you are using a model prop for the visual representation of the ladder in the map, " +
"apply the toolsinvisibleladder material to the climbable side of the func_ladder brush."
[
]
@SolidClass base(Targetname, Parentname, Origin, RenderFields) = func_elevator :
"A brush entity that moves vertically."
[
top(vecline) : "Top floor position"
bottom(vecline) : "Bottom floor position"
speed(integer) : "Speed" : 100 : "The speed that the elevator moves, in inches per second."
acceleration(integer) : "Acceleration" : 100 : "The acceleration at which the elevator approaches its target speed, in inches per second per second."
blockdamage(float) : "Block Damage" : 0 : "The amount of damage to do to any entity that blocks the elevator, per frame."
startsound(sound) : "Sound played when the elevator starts moving."
stopsound(sound) : "Sound played when the elevator stops moving."
disablesound(sound) : "Sound played when the elevator is disabled."
// Inputs
input MoveToFloor(string) : "Start the elevator moving to the specified floor."
input Disable(void) : "Stops the elevator and prevents it from moving again."
input SetMaxSpeed(float) : "Set the max speed of the elevator."
// Outputs
output OnReachedTop(string) : "Fired when the brush reaches the top."
output OnReachedBottom(string) : "Fired when the brush reaches the bottom."
]
@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/info_target.vmt") = info_elevator_floor :
"Elevator floor height target."
[
// Outputs
output OnReachedFloor(void) : "Fired when an elevator reaches this floor."
]
//====================================================================================================================
// SPAWN
//====================================================================================================================
@PointClass base(PlayerClass, Targetname, EnableDisableDisabled, Angles, TeamNum, Studiomodel) Studioprop() = ins_spawnpoint : "Spawnpoint"
[
spawnflags(flags) =
[
1 : "Controlled by a Spawn Zone" : 0
]
StartDisabled(boolean) : "Start Disabled" : 0 : "Start disabled. Ignored if controlled by spawn zone"
controlpoint(target_destination) : "Associated Control Point" : : "The team_control_point associated with this spawn. Ownership of control points will control this spawn point's enabled state."
SquadID(integer) : "Associated Squad" : -1 : "If >=0, this spawn point will be associated with the given squad ID"
]
@PointClass base(Angles, Targetname) iconsprite("editor/ins_viewpoint.vmt") color(255 0 0) = ins_viewpoint : "Viewpoint"
[
]
//====================================================================================================================
// DEFAULT THEATER ENTITIES
//====================================================================================================================
@PointClass base(Angles, Targetname, TeamNum, Studiomodel, BaseGrenade) studio( "models/weapons/w_c4.mdl" ) = grenade_c4 : "Security C4"
[
]
@PointClass base(Angles, Targetname, TeamNum, Studiomodel, BaseGrenade) studio( "models/weapons/w_ied.mdl" ) = grenade_ied : "Insurgent C4 (IED)"
[
]