Fistful of Frags.fgd

From Valve Developer Community
Jump to: navigation, search

From Fistful of Frags Fistful of Frags

fof.fgd
Forge Game Data
//------------------------------------------------------------------------- // Game data for Fistful of Frags //------------------------------------------------------------------------- @include "base.fgd" @include "hl2mp.fgd" @PointClass base(Parentname, Targetname, Angles) studio("models/items_fof/safe_crate.mdl") = fof_crate : "" [ output OnOpen(void) : "Crate was open" output OnClose(void) : "Crate is closed again" ] @PointClass base(Parentname, Targetname, Angles) studio("models/items_fof/safe_crate_small.mdl") = fof_crate_med : "" [ output OnOpen(void) : "Crate was open" output OnClose(void) : "Crate is closed again" ] @PointClass base(Parentname, Targetname, Angles) studio("models/items_fof/safe_crate_small.mdl") = fof_crate_low : "" [ output OnOpen(void) : "Crate was open" output OnClose(void) : "Crate is closed again" ] @PointClass base(Parentname, Targetname, Angles) studio("models/props/cap_circle_512.mdl") = fof_cap_entity : "" [ ClassFilter(choices) : "Which class activates the zone" : 2 : "" = [ 2 : "Vigilantes" 3 : "Desperados" ] AnnounceFilter(choices) : "Announce position:" : 0 : "" = [ 0 : "Both Teams" 2 : "Vigilantes" 3 : "Desperados" ] Timer(float) : "Capture Time" : 30 : "Amount of seconds it takes to capture this zone" Radius(choices) : "Radius" : 256 : " " = [ 128 : "128 units" 256 : "256 units" 384 : "384 units" ] Enabled(choices) : "Is this zone enabled?" : 1 : " " = [ 0 : "False" 1 : "True" ] WallTrace(choices) : "Solids block capture?" : 0 : "Player must see the capture entity to capture it" = [ 0 : "False" 1 : "True" ] DecrementRate(float) : "Decrement Capture Rate" : 0 : "Capture progress decreases automatically when no players are inside if set higher than 0 (set float number as multiplier)" input EnableZone(void) : "Enables this capture zone" input DisableZone(void) : "Disables this capture zone." input SetCapProgressTime(float) : "Set already captured time for this zone" output OnCaptured(void) : "Zone was captured." output OnZoneEnabled(void) : "Zone just became active, at round start if enabled by default" output OnCapStarted(void) : "Zone was empty and some player just stepped in" ] @PointClass base(prop_dynamic_base, Parentname, Targetname, Angles) studioprop() = fof_mobile_point : "" [ iTeam(choices) : "Teams this entity belongs to" : 0 : "" = [ 0 : "All" 2 : "Vigilantes" 3 : "Desperados" 4 : "Bandidos" 5 : "Rangers" ] StartDisabled(choices) : "Start disbled" : 0 : "" = [ 0 : "False" 1 : "True" ] input Enable(void) : "" input Disable(void) : "" output OnStartMoving(void) : "Fired whenever starts to move" output OnStopMoving(void) : "Fired whenever stops moving" ] //----------------------------------------------------------------------- //SPAWNS //----------------------------------------------------------------------- @PointClass base(PlayerClass, Targetname, Angles) studio("models/editor/playerstart.mdl") = info_player_fof : "Only used in Fistful of Dollars mode. This entity indicates the position and facing direction at which the player will spawn" [ ] @PointClass base(PlayerClass, Targetname, Parentname, Angles) studio("models/playermodels/player1.mdl") = info_player_vigilante : "Only used in co-op mode. This entity indicates the position and facing direction at which the player will spawn" [ StartDisabled(choices) : "Start Disabled?" : 0 : "Set true if you want this spawn to be inactive initially." = [ 0 : "False" 1 : "True" ] input Enable(void) : "Enables this spawn point." input Disable(void) : "Disables this spawn point." ] @PointClass base(PlayerClass, Targetname, Parentname, Angles) studio("models/playermodels/player2.mdl") = info_player_desperado : "This entity indicates the position and facing direction at which the player will spawn" [ StartDisabled(choices) : "Start Disabled?" : 0 : "Set true if you want this spawn to be inactive initially." = [ 0 : "False" 1 : "True" ] input Enable(void) : "Enables this spawn point." input Disable(void) : "Disables this spawn point." ] @PointClass base(PlayerClass, Targetname, Parentname, Angles) studio("models/playermodels/bandito.mdl") = info_player_bandido : "This entity indicates the position and facing direction at which the player will spawn" [ StartDisabled(choices) : "Start Disabled?" : 0 : "Set true if you want this spawn to be inactive initially." = [ 0 : "False" 1 : "True" ] input Enable(void) : "Enables this spawn point." input Disable(void) : "Disables this spawn point." ] @PointClass base(PlayerClass, Targetname, Parentname, Angles) studio("models/playermodels/frank.mdl") = info_player_ranger : "This entity indicates the position and facing direction at which the player will spawn" [ StartDisabled(choices) : "Start Disabled?" : 0 : "Set true if you want this spawn to be inactive initially." = [ 0 : "False" 1 : "True" ] input Enable(void) : "Enables this spawn point." input Disable(void) : "Disables this spawn point." ] @PointClass base(Targetname) = fof_teamplay: "Use this to manage teamplay based gameplay." [ RespawnSystem(choices) : "Respawn system" : 0 : "" = [ 0 : "Unlimited respawns" 1 : "No respawns allowed" ] RoundBased(choices) : "Round based gameplay?" : 0 : "" = [ 0 : "No" 1 : "Yes" ] SwitchTeams(choices) : "Switch teams at the end of the round?" : 0 : "" = [ 0 : "No" 1 : "Yes" ] input InputDisplayMsg(string) : "Displays a HUD message to all players" input InputTie(void) : "Triggers an end round draw." input InputVigVictory(void) : "Triggers the game end with victory for vigilantes." input InputDespVictory(void) : "Triggers the game end with victory for desperados." input InputRespawnPlayers(integer) : "Respawn players from selected team: 0 = all alive players from both teams, 2 = all vigilantes, 3 = all desperados, -1 = any alive and dead players, -2 = only dead players" input InputTeleportToRespawn(integer) : "Teleports alive players to their current respawn area, input team number required (2 = vigilantes, 3 = desperados)" input InputHealAndReload(void) : "Heals all players and reloads all their weapons" input ExtraTime(integer) : "Adds extra time to counter." input RoundTime(integer) : "Sets the total time for the entire round, decreases each time ExtraTime is called. When this timer ends, OnRoundTimeEnd is fired." input SetVigObjective(integer) : "Sets round objective for Vigilantes: 1 elimination, 2 zone capture, 3 cart push" input SetDespObjective(integer) : "Sets round objective for Desperados: 1 elimination, 2 zone capture, 3 cart push" input SetVigReward(integer) : "Sets round reward for Vigilantes" input SetDespReward(integer) : "Sets round reward for Desperados" input SetVigScore(integer) : "Sets total round score for Vigilantes" input SetDespScore(integer) : "Sets total round score for Desperados" input AddVigScore(integer) : "Adds round score for Vigilantes" input AddDespScore(integer) : "Adds round score for Desperados" input AddCash_AllPlayers(integer) : "Add cash to all players" input AddCash_Vigilantes(integer) : "Add cash to vigilante team" input AddCash_Desperados(integer) : "Add cash to desperado team" input AddCash_Auto(void) : "Add cash to all players using the automatic mode" input InputResetScores(void) : "Adds current team score to global team score and resets it" input DeclareWinner(void) : "Declare a winner (the team with most points)" output OnRoundTimeEnd(void) : "" output OnRoundEnd(void) : "" output OnNoDespAlive(void) : "" output OnNoVigAlive(void) : "" output OnTimerEnd(void) : "" output OnNewRound(void) : "" output OnNewBuyRound(void) : "" output OnRoundOdd(void) : "" output OnRoundEven(void) : "" output OnNewRoundRemove(void) : "" ] @PointClass base(Item) studio("models/weapons/w_whiskey.mdl")= item_whiskey : "increases player HP at a cost..." [ Health(integer) : "Health" : 25 : "" ] @PointClass base(Item) studio("models/props/potion_bottle.mdl")= item_potion : "increases player potion for ragged event" [ PotionAmount(integer) : "Potion" : 25 : "" ] @PointClass base(Angles) = 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." ] @NPCClass base(BaseNPC) studio("models/horse/horse1.mdl") = npc_horse : "Horse" [ saddle(choices) : "Saddle on?" : 0 = [ 0 : "No." 1 : "Yes." ] skin(choices) : "Skin" : "0" = [ "0" : "1" "1" : "2" "2" : "3" ] input Kick( string ) : "Forces the horse to kick." ] @PointClass base(Parentname, Targetname, Angles) studio("models/horse/riding_horse.mdl") = fof_horse : "" [ skin(choices) : "Skin" : "0" = [ "0" : "1" "1" : "2" "2" : "3" ] ] @PointClass base(prop_dynamic_base,EnableDisable) sphere(fademindist) sphere(fademaxdist) studioprop() = fof_cart_push : "An entity that works along a func_traintrack to create a push the cart style game mode" [ TrainName(string) : "Train name" : "" : "Train name this entity is attached to" Radius(integer) : "Push radius" : 256 : "Distance within players will push the cart" VigPushDir(choices) : "Vigilantes push direction" : "0" = [ "0" : "None" "1" : "Forward" "-1" : "Backwards" ] DespPushDir(choices) : "Desperados push direction" : "0" = [ "0" : "None" "1" : "Forward" "-1" : "Backwards" ] TotalPushTime(integer) : "Total push time" : 45 : "How many seconds a player has to push cart to get full notoriety reward" IdleAnim(string) : "Idle animation name" : "" : "" MoveAnim(string) : "Move animation name" : "" : "" input ToggleCart(void) : "Toggles cart on/off" ] @BaseClass color(0 0 200) base(Targetname, Angles) sphere(fademindist) sphere(fademaxdist) = WeaponFoF [ spawnflags(Flags) = [ 1 : "Start constrained" : 0 2 : "Deny player pickup (reserve for NPC)" : 0 4 : "Not puntable by Gravity Gun" : 0 8 : "Boost based weapon" : 0 ] output OnPlayerUse(void) : "Fires when the player +uses this weapon" output OnPlayerPickup(void) : "Fires when the player picks up this weapon" output OnNPCPickup(void) : "Fires when an NPC picks up this weapon" output OnCacheInteraction(void) : "Fires when the player 'proves' they've found this weapon. Fires on: Player Touch, +USE pickup, Physcannon pickup, Physcannon punt." 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, 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." + ] @PointClass base(WeaponFoF) studio("models/weapons/w_knife.mdl") = weapon_knife : "Knife" [] @PointClass base(WeaponFoF) studio("models/weapons/w_axe.mdl") = weapon_axe : "Axe" [] @PointClass base(WeaponFoF) studio("models/weapons/w_machete.mdl") = weapon_machete : "Machete" [] @PointClass base(WeaponFoF) studio("models/weapons/w_bow.mdl") = weapon_bow : "Bow" [] @PointClass base(WeaponFoF) studio("models/weapons/w_xbow.mdl") = weapon_xbow : "Explosive Bow" [] @PointClass base(WeaponFoF) studio("models/weapons/w_carbine.mdl") = weapon_carbine : "Smith carbine" [] @PointClass base(WeaponFoF) studio("models/weapons/w_coachgun.mdl") = weapon_coachgun : "Coachgun" [] @PointClass base(WeaponFoF) studio("models/weapons/w_coltnavy.mdl") = weapon_coltnavy : "Colt Navy" [] @PointClass base(WeaponFoF) studio("models/weapons/w_volcanic.mdl") = weapon_volcanic : "Volcanic Pistol" [] @PointClass base(WeaponFoF) studio("models/weapons/w_deringer.mdl") = weapon_deringer : "Deringer" [] @PointClass base(WeaponFoF) studio("models/weapons/w_dynamite.mdl") = weapon_dynamite : "Dynamite" [] @PointClass base(WeaponFoF) studio("models/weapons/w_dynamite_black.mdl") = weapon_dynamite_black : "Black Dynamite" [] @PointClass base(WeaponFoF) studio("models/weapons/w_henryrifle.mdl") = weapon_henryrifle : "Henry rifle" [] @PointClass base(WeaponFoF) studio("models/weapons/w_peacemaker.mdl") = weapon_peacemaker : "Peacemaker" [] @PointClass base(WeaponFoF) studio("models/weapons/w_maresleg.mdl") = weapon_maresleg : "Mare's Leg" [] @PointClass base(WeaponFoF) studio("models/weapons/w_walker.mdl") = weapon_walker : "Colt Walker" [] @PointClass base(WeaponFoF) studio("models/weapons/w_schofield.mdl") = weapon_schofield : "Schofield" [] @PointClass base(WeaponFoF) studio("models/weapons/w_sharps.mdl") = weapon_sharps : "Sharps" [] @PointClass base(WeaponFoF) studio("models/weapons/w_shotgun.mdl") = weapon_shotgun : "Winchester Shotgun" [] @PointClass base(WeaponFoF) studio("models/weapons/w_sawed_shotgun.mdl") = weapon_sawedoff_shotgun : "Sawed-Off Shotgun" [] @PointClass base(WeaponFoF) studio("models/weapons/w_whiskey.mdl") = weapon_whiskey : "Whiskey!" [] @PointClass base(WeaponFoF) studio("models/weapons/w_bow_black.mdl") = weapon_bow_black : "Black Bow" [] @PointClass base(WeaponFoF) studio("models/weapons/w_dynamite_yellow.mdl") = weapon_dynamite_belt : "Dynamite belt" [] @PointClass base(WeaponFoF) studio("models/weapons/w_ghostgun.mdl") = weapon_ghostgun : "Ghostgun" [] @PointClass base(WeaponFoF) studio("models/weapons/w_hammerless.mdl") = weapon_hammerless : "Hammerless" [] @PointClass base(WeaponFoF) studio("models/weapons/w_remington_army.mdl") = weapon_remington_army : "Remington Army" [] @PointClass base(WeaponFoF) studio("models/weapons/w_spencer.mdl") = weapon_spencer : "Spencer rifle" [] @PointClass base(Targetname, Angles) studio("models/weapons/cannon_ball.mdl") = fof_cannon_ball : "" [ cannon_model(target_destination) : "Cannon model" : "" : "Name the cannon model firing these balls" iAttachIndex(integer) : "Cannon's aiming attachment index" : 0 : "" Damage(integer) : "Amount of damage at explosion core" : 200 : "" Radius(integer) : "Explosion radius" : 600 : "" fGravity(float): "Gravity" : "0.6" : "" direction(choices) : "Forced direction" : 0 : "Set true if you want this cannon ball to be fired towards its pitch/yaw/roll instead a supplied cannon aim model" = [ 0 : "False" 1 : "True" ] input Launch(integer) : "Launchs the cannon ball with a given amount of force" ] // // SOLID ENTITIES // @SolidClass = func_ladder : "Ladder. Players will be able to move freely along this brush, as if it was a ladder." + "Apply the toolsinvisibleladder material to a func_ladder brush." [ ] @SolidClass base(Targetname, Origin, RenderFields) = func_train [ spawnflags(flags) = [ 8 : "Non-solid" : 0 ] texframeindex(integer) : "Initial Brush Frame Index" : : "Use this to set the initial frame of materials with multiple frames in the brush" target(target_destination) : "First path_corner" noise1(sound) : "Movement Sound" : : "The sound to play when the train moves." noise2(sound) : "Stop Sound" : : "The sound to play when the train stops moving." speed(float) : "Speed" : "50.000000" : "Speed at which the brush moves." volume(float) : "Sound volume [0.0, 10.0]" : "0.000000" dmg(float) : "Crush Damage" : "0.000000" input Toggle(void) : "Toggle movement" input Start(void) : "Start movement" input Stop(void) : "Stop movement" input Use(void) : "Toggle movement - has a different functionality than Toggle" ] @SolidClass base(Targetname,EnableDisable) = fof_buyzone : "" [ team(choices) : "Team" : 2 : "" = [ 2 : "Vigilantes" 3 : "Desperados" ] ] @SolidClass base(Targetname,EnableDisable) = fof_dynamite_remover : "" [ team(choices) : "Team" : 0 : "" = [ 0 : "All dynamite" 2 : "Vigilantes dynamite" 3 : "Desperados dynamite" ] ] @SolidClass base(Targetname,EnableDisable) = fof_trigger_speed : "" [ minSpeed(float) : "Minimum speed" : "20.000000" output OnMinSpeedReached(void) : "Fired whenever player is slower than specified minimum speed" ] @SolidClass base(Trigger, Targetname) = trigger_hurt_fof : "A trigger volume that damages entities that touch it." [ master(string) : "Master (Obsolete)" : : "Legacy support: The name of a master entity. If the master hasn't been activated, this entity will not activate." damage(integer) : "Damage" : 10 : "The amount of damage done to entities that touch this trigger. The damage is done every half-second. See also 'Damage Model' for extra details on how damage can be dealt." damagecap(integer) : "Damage Cap" : 20 : "Maximum damage dealt per second. This field is only used if you select the Doubling w/Forgiveness damage model, via the spawnflag." damagetype(choices) : "Damage Type" : 0 = [ 0 : "GENERIC" 1 : "CRUSH" 2 : "BULLET" 4 : "SLASH" 8 : "BURN" 16 : "FREEZE" 32 : "FALL" 64 : "BLAST" 128 : "CLUB" 256 : "SHOCK" 512 : "SONIC" 1024 : "ENERGYBEAM" 16384: "DROWN" 32768 : "PARALYSE" 65536 : "NERVEGAS" 131072 : "POISON" 262144 : "RADIATION" 524288 : "DROWNRECOVER" 1048576 : "CHEMICAL" 2097152 : "SLOWBURN" 4194304 : "SLOWFREEZE" ] damagemodel(choices) : "Damage Model" : 0 : "How damage is dealt. Normal always does the specified amount of damage each half second. Doubling starts with the specified amount and doubles it each time it hurts the toucher. Forgiveness means that if the toucher gets out of the trigger the damage will reset to the specified value. Good for making triggers that are deadly over time without having to cause massive damage on each touch." = [ 0 : "Normal" 1 : "Doubling w/forgiveness" ] nodmgforce(choices) : "Zero Damage Force" : 0 : "Should the damaged entity receive no physics force from this trigger." = [ 0 : "No" 1 : "Yes" ] teamfilter(choices) : "Team exclusion" : 0 : "" = [ 0 : "No exclusion, all teams receive damage" 2 : "Vigilantes" 3 : "Desperados" 4 : "Bandidos" 5 : "Rangers" ] onlykicked(choices) : "Damage kicked players only" : 0 : "" = [ 0 : "No" 1 : "Yes" ] // Inputs input SetDamage(float) : "Set a new amount of damage for this trigger." // Outputs output OnHurt(void) : "Fired whenever this trigger hurts something other than a player." output OnHurtPlayer(void) : "Fired whenever this trigger hurts a player." ] @SolidClass base(Targetname, Parentname, Origin, RenderFields, Global, Inputfilter, EnableDisable, Shadow) = func_respawnroomvisualizer : "Brushes that become visible to enemy players when they get close. Use them to mark areas that they're unable to enter (i.e. respawn rooms)." [ spawnflags(flags) = [ 2: "Ignore player +USE" : 1 ] TeamBlock(choices) : "Blocks team" : 1 : "Used to control the solidity/collision of these brushes." = [ 0 : "None" 1 : "All" 2 : "Vigilantes" 3 : "Desperados" ] Solidity(choices) : "Solidity" : 1 : "Used to control the solidity/collision of these brushes." = [ 0 : "Toggle" 1 : "Never Solid" 2 : "Always Solid" ] vrad_brush_cast_shadows(choices) : "Shadows" : 0 : "Set this if this brush casts lightmap shadows." = [ 0 : "No" 1 : "Yes" ] solid_to_enemies(choices) : "Solid to Enemies" : 1 : "Determines if this area is solid to enemy players." = [ 0 : "No" 1 : "Yes" ] input SetSolid(bool) : "Set whether this area is solid to enemy players or not. 0 = No, 1 = Yes" ] //------------------------------------------------------------------------- // // Tanks // //------------------------------------------------------------------------- @BaseClass base(Targetname, Parentname, Origin, Angles, RenderFields, Global, Shadow) = BaseTankFoF [ spawnflags(flags) = [ 1 : "Active" : 0 16: "Only Direct" : 0 32: "Controllable" : 0 64: "Damage Kick" : 0 1024: "NPC Controllable" : 0 2048: "NPC Set Controller" : 0 4096: "Allow friendlies to hit player" : 0 32768: "Non-solid." : 0 131072: "Perfect accuracy every 3rd shot at player" : 0 ] control_volume(target_destination) : "Control Volume" : "" : "Name of a trigger the specifies the volume in which a player must be to control this tank." // Mainly for use with 1009 team settings (game_team_master) master(string) : "(Team) Master" yawrate(string) : "Yaw rate" : "30" yawrange(string) : "Yaw range" : "180" yawtolerance(string) : "Yaw tolerance" : "15" pitchrate(string) : "Pitch rate" : "0" pitchrange(string) : "Pitch range" : "0" pitchtolerance(string) : "Pitch tolerance" : "5" barrel(string) : "Barrel Length" : "0" barrely(string) : "Barrel Horizontal" : "0" barrelz(string) : "Barrel Vertical" : "0" spritesmoke(sprite) : "Smoke Sprite" : "" spriteflash(sprite) : "Flash Sprite" : "" spritescale(string) : "Sprite scale" : "1" rotatestartsound(sound) : "Rotate Start Sound" : "" rotatesound(sound) : "Rotate Loop Sound" : "" rotatestopsound(sound) : "Rotate Stop Sound" : "" firerate(string) : "Rate of Fire" : "1" bullet_damage(string) : "Damage Per Bullet" : "0" : "If set to 0, it'll use the base weapon bullet's damage." bullet_damage_vs_player(string) : "Damage Per Bullet Vs Player" : "0" : "If set to 0, it'll use the Damage Per Bullet value." persistence(string) : "Firing persistence" : "1" : "(Seconds) How long to keep firing at last known position after lose sight of target" persistence2(string) : "Firing persistence2" : "0" : "(Seconds) After lost enemy and persistence time has passed, how long to occasionally fire at enemy's last known position" firespread(choices) : "Bullet accuracy" : 0 = [ 0: "Perfect Shot" 1: "Small cone" 2: "Medium cone" 3: "Large cone" 4: "Extra-large cone" ] minRange(string) : "Minmum target range" : "0" maxRange(string) : "Maximum target range" : "0" _minlight(string) : "Minimum light level" gun_base_attach(string) : "Gun Base Attachment" : "" : "If Parent is specified, this is the attachment point on the parent to aim from." gun_barrel_attach(string) : "Gun Barrel Attachment" : "" : "If Parent is specified, this is the attachment point on the parent to fire from. If you specify this, you'll want to specify the Gun Base Attachment too." gun_yaw_pose_param(string) : "Gun Yaw Pose Param" : "" : "If Parent + the Gun Pitch Pose Param is specified, then the gun itself will be invisible and the func_tank will steer a gun on the parent using the pose parameters." gun_yaw_pose_center(float) : "Gun Yaw Pose Center" : "0" : "The center yaw pose parameter of the gun on the parent" gun_pitch_pose_param(string) : "Gun Pitch Pose Param" : "" : "If Parent + the Gun Yaw Pose Param is specified, then the gun itself will be invisible and the func_tank will steer a gun on the parent using the pose parameters." gun_pitch_pose_center(float) : "Gun Pitch Pose Center" : "0" : "The center pitch pose parameter of the gun on the parent" ammo_count(integer) : "Ammunition Count" : -1 : "Only applies to player use. -1 = unlimited ammo." LeadTarget(choices) : "Lead Target" : "No" = [ 0 : "No" 1 : "Yes" ] npc_man_point(target_destination) : "NPC Man Point" : "" : "Point where NPC must stand to man this func_tank." playergraceperiod(float) : "Post-NPC Attack Grace Period" : "0" : "If specified, NPC's manning this func tank won't fire at the player, after firing at a non-player, for this amount of time." ignoregraceupto(float) : "Ignore Grace Upto" : "768" : "The player grace period is ignored if the player's under this distance from the func_tank." playerlocktimebeforefire(float) : "Player Lock Time" : "0" : "The tank must have the player as a target for this amount of time before it's allowed to fire." effecthandling(choices) : "Effect Handling" : 0 = [ 0 : "Use Individual Settings." 1 : "Gatling" 2 : "Cannon" ] // Inputs input Activate(void) : "Turn the tank on" input Deactivate(void) : "Turn the tank off (go dormant)" input SetFireRate(string) : "How fast to fire (0 = don't fire)" input SetDamage(string) : "Set the Damage Per Bullet" input SetTargetPosition(string) : "World position that I should aim at" input SetTargetDir(vector) : "Direction to aim at." input SetTargetEntityName(string) : "Name of entity I should follow/attack" input SetTargetEntity(string) : "Entity I should follow/attack (output from other entity only)" input ClearTargetEntity(void) : "Clear the entity I should be attacking." input FindNPCToManTank(string) : "Find a nearby NPC to man this func_tank." input StartFindingNPCs(void) : "Start searching for NPCs to man this func_tank." input StopFindingNPCs(void) : "Stop searching for NPCs to man this func_tank." input ForceNPCOff(void) : "Force the NPC manning this func_tank (if any) to leave." input SetMaxRange(float) : "Set the max range of the func_tank." // Outputs output OnFire(void) : "Fires when the tank fires its bullets" output OnAquireTarget(void) : "Fires when target is newly in range and can be shot" output OnLoseTarget(void) : "Fires when when target goes out of range" output OnAmmoDepleted(void) : "Fires when tank runs out of ammo" output OnGotController(void) : "Fires when an NPC starts to control this tank. Players do NOT fire this input." output OnLostController(void) : "Fires when the NPC controller of the tank stops controlling it. Players do NOT fire this input." output OnGotPlayerController(void) : "Fires when a Player starts to control this tank. NPCs do NOT fire this input." output OnLostPlayerController(void) : "Fires when the Player controller of the tank stops controlling it. NPCs do NOT fire this input." output OnReadyToFire(void) : "Fires once when the tank is done waiting to fire between rounds" ] @SolidClass base(BaseTankFoF) = func_tank_fof : "Brush Gun Turret" // RYell added custom ammo [ ammotype(choices) : "Ammo type" : "" = [ "" : "None" "Gatling" : "Gatling" "Cannon" : "Cannon" ] spawnflags(flags) = [ 8192: "Ignore range when making viewcone checks" : 0 256 : "Aiming Assistance (Player Only)" : 0 ] ]