postal3.fgd
(Alpha)
From Valve Developer Community
Jump to: navigation, search
This is the FGDs from the alpha version of Postal III.
From: ...\Postal III\bin
on the leaked Aug 2007 build.
postal3.fgd
Forge Game Data
@include "base.fgd"
@include "halflife2.fgd"
@PointClass base(BasePropPhysics) studioprop() sphere(fademindist) sphere(fademaxdist) = prop_p3_stuffitem :
"Small objects to break"
[
health(integer) : "Health" : 0 : "Number of points of damage to take before breaking. 0 means don't break."
shot_damage_effect_name(string) : "Effect for shot damage" : "" : ""
shot_destroy_effect_name(string) : "Effect for shot destroy" : "" : ""
shot_damage_effect_duration(float) : "Duration of effect for shot damage" : 1 : ""
shot_destroy_effect_duration(float) : "Duration of effect for shot destroy" : 1 : ""
damage_splashes_decal_name(string) : "Splashes for damage" : "" : ""
destroy_splashes_decal_name(string) : "Splashes for destroy" : "" : ""
destroy_decal_name(string) : "Decal under object by destroy" : "" : ""
]
@NPCClass base(BaseNPC,Parentname, TalkNPC, PlayerCompanion ) studio() = p3_npc_citizen : "Citizen"
[
spawnflags(Flags) =
[
65536 : "Follow player on spawn" : 0
131072 : "Medic" : 0
262144 : "Random Head" : 1
524288 : "Ammo Resupplier" : 0
1048576 : "Not Commandable" : 0
2097152 : "Don't use Speech Semaphore - OBSOLETE" : 0
4194304 : "Random male head" : 0
8388608 : "Random female head" : 0
16777216 : "Use RenderBox in ActBusies" : 0
]
additionalequipment(choices) : "Weapons" : "0" =
[
"weapon_smg1" : "SMG1"
"weapon_ar2" : "AR2"
"weapon_stunstick" : "Stun Stick"
"weapon_crowbar" : "Crow Bar"
"weapon_shotgun" : "Shotgun"
"weapon_beerbottle" : "Beer Bottle"
"weapon_beerbottle2" : "Beer Bottle2"
"weapon_rpg" : "RPG"
"0" : "Nothing"
]
ammosupply(choices) : "Ammo to Resupply (if spawnflag set)" : "SMG1" =
[
"Pistol" : "Pistol"
"SMG1" : "SMG1"
"SMG1_Grenade" : "SMG1 Grenade"
"AR2" : "AR2"
"Buckshot" : "Shotgun"
"RPG_Round" : "RPG"
"Grenade" : "Grenade"
"XBowBolt" : "Crossbow Bolt"
]
ammoamount(integer) : "Amount of ammo to give" : 1
citizentype(choices) : "Type" : 0 =
[
0 : "Default"
1 : "Downtrodden"
2 : "Refugee"
3 : "Rebel"
4 : "Unique"
]
expressiontype(choices) : "Expression Type" : 0 =
[
0 : "Random"
1 : "Scared"
2 : "Normal"
3 : "Angry"
]
//!!!BUGBUG - don't ship with these names
//!!!FIXME - don't ship with these names
model(choices) : "Model" : "models/characters/M_Avg_Suit/M_Avg_Suit_01.mdl" =
[
"models/characters/M_Avg_Suit/M_Avg_Suit.mdl" : "M_Avg_Suit_01"
"models/characters/M_Big_TT_Pants/m_big_tt_pants.mdl" : "M_Big_TT_Pants_01"
"models/characters/M_Big_TT_Pants/m_big_tt_pants_2.mdl" : "M_Big_TT_Pants_02"
"models/characters/f_avg_postal_babe/F_Avg_Postal_Babe.mdl" : "F_Avg_Postal_Babe_01"
"models/humans/group01/female_01.mdl" : "Female 1"
]
ExpressionOverride(string) : "Facial expression override"
notifynavfailblocked(choices) : "Fire output when Nav is blocked?" : 0 =
[
0 : "No"
1 : "Yes"
]
neverleaveplayersquad(choices) : "Permanent squad member?" : 0 : "A permanent squad member cannot leave the player's squad unless killed or explicity removed by entity I/O. Only use this if you're sure you want to override the default AI." =
[
0 : "No. This is default behavior."
1 : "Yes, stay in squad until death."
]
denycommandconcept(string) : "Deny command speech concept" : "" : "If you want your citizens to squad with the player but not obey commands the player gives to move the squad, put a concept here and this citizen will speak the concept instead of obeying the order."
//Inputs
input RemoveFromPlayerSquad(void) : "Remove from player squad, instantly."
input SetExpressionOverride(string) : "Set facial expression override"
input StartPatrolling(void) : "Patrol whenever I'm idle or alert."
input StopPatrolling(void) : "Stop patrolling when I'm idle or alert."
input SetCommandable(void) : "Make a previously uncommandable citizen commandable"
input SetMedicOn(void) : "Set the medic flag on. Will not change the model or skin of the citizen."
input SetMedicOff(void) : "Set the medic flag off. Will not change the model or skin of the citizen."
input SetAmmoResupplierOn(void) : "Set the ammo-resupplier flag on. Will not change the model or skin of the citizen."
input SetAmmoResupplierOff(void) : "Set the ammo-resupplier flag off. Will not change the model or skin of the citizen."
input OnDamaged(void) : ""
// Outputs
output OnJoinedPlayerSquad(void) : "Fires when joins player squad"
output OnLeftPlayerSquad(void) : "Fires when leaves player squad"
output OnFollowOrder(void) : "Fires when ordered to follow player"
output OnStationOrder(void) : "Fires when ordered to a location by player"
output OnPlayerUse(void) : "Fires when a player +USEs the citizen"
output OnNavFailBlocked(void) : "Fires when this Citizen's movement fails because he/she is blocked."
]
@NPCClass base(BaseNPC,RappelNPC) studio("models/npc/police/cop_01.mdl") = p3_npc_policeman : "MetroPolice"
[
additionalequipment(choices) : "Weapons" : "weapon_pistol" =
[
"weapon_pistol" : "Pistol"
"weapon_smg1" : "SMG1"
"weapon_stunstick" : "Stun Stick"
"weapon_shotgun" : "Shotgun"
"0" : "Nothing"
]
manhacks(Choices) : "Number of Manhacks" : 0 =
[
0 : "None"
1 : "1"
2 : "2"
]
weapondrawn(Choices) : "Pistol starts drawn" : 0 =
[
0 : "No"
1 : "Yes"
]
spawnflags(Flags) =
[
131072 : "Simple cops" : 0
262144 : "Rappel (UNCHECK THIS IF IT IS CHECKED!)" : 0
524288 : "Always stitch" : 0
1048576 : "No chatter" : 0
2097152 : "Arrest enemies" : 0
4194304 : "No far stitching" : 0
8388608 : "Prevent manhack toss" : 0
16777216: "Allowed to respond to thrown objects" : 0
33554432: "Mid-range attacks (halfway between normal + long-range)" : 0
]
model(choices) : "Model" : "models/npc/police/cop_01.mdl" =
[
"models/npc/police/cop_01.mdl" : "Policeman_01"
]
// Inputs
input EnableManhackToss(void) : "Enables manhack toss (which had been disabled by the spawnflag)"
input SetPoliceGoal(string) : "Causes the NPC to police the area defined by an ai_goal_police"
input ActivateBaton(void) : "Set the baton to active"
// Outputs
output OnStunnedPlayer(void) : "Fires when the player is hit by a stunstick by this NPC."
]
@PointClass = p3_camera : "Postal3 3rd person camera" []
@BaseClass iconsprite("editor/multi_manager.vmt") color(255 255 0) = p3_fluids_manager []
@BaseClass base(Targetname) = P3BaseActBusy
[
actor(target_name_or_class) : "Actor(s) to affect" : "" : "NPC's that should act busy"
StartActive(choices) : "Start Active" : 0 =
[
0 : "No"
1 : "Yes"
]
SearchType(choices) : "Search Type" : 0 : "How to search for the entities using the targetname." =
[
0 : "Entity Name"
1 : "Classname"
]
busysearchrange(float) : "Search Range for Busy Hints" : 2048
visibleonly(choices) : "Visible Busy Hints Only" : 0 =
[
0 : "No"
1 : "Yes"
]
// Inputs
input Activate( void ) : "Begin acting busy"
input Deactivate( void ) : "Cease acting busy"
input SetBusySearchRange( float ) : "Update the busy search range for all actors."
input ForceNPCToActBusy( string ) : "Force an NPC to act busy. Takes parameters, separated by spaces: <Targetname> <hint node targetname> <optional:teleport> <optional:$customactivityorsequence> <maximum time to actbusy>. If no hint node targetname is specified, it'll search for a random one. If no max time is specified, it'll use the default. Specifying 0 as the max time will make the NPC act busy until disturbed. If the optional teleport parameter is specified, the NPC will teleport to the act busy point. A custom move animation can be specified by prepending $ to the name of it. i.e. $ACT_RUN will make the NPC Run. Sequence names can be used instead of activities."
input ForceThisNPCToActBusy( string ) : "Force an NPC outputted from another entity to act busy. (only usable from an output that specifies an entity)"
input ForceThisNPCToLeave( string ) : "Force an NPC outputted from another entity to find a HINT_NPC_EXIT_POINT hintnode and vanish."
input TransferAllNPCToTargetActBusy( string ) : "Transfer all actors to another ActBusy goal."
input ForceNPCToUseNearestNode(string) : "Next time NPC must choose nearest node."
// Outputs
output OnNPCStartedBusy(string) : "Fired when an NPC targeted by this goal starts an ActBusy animation."
output OnNPCFinishedBusy(string) : "Fired when an NPC targeted by this goal finishes an ActBusy."
output OnNPCLeft(string) : "Fired when an NPC target by this goal finishes a forced Leave."
output OnNPCNoActiveNodes(string) : "Fired when an NPC can't find any active hint node."
]
@PointClass base(P3BaseActBusy) = p3_ai_goal_actbusy : "Postal 3 AI Goal Act Busy"
[
seeentity(target_name_or_class) : "Sight Entity" : "" : "The Sight Entity (if you provide one) is an entity that will leave the current ActBusy if the Actor playing the ActBusy loses sight of it for the amount of time specified in 'Sight Entity Timeout'. THIS MAY ONLY BE A TARGET NAME. NO CLASSNAMES."
seeentitytimeout(string) : "Sight Entity Timeout" : "1" : "If you provide a Sight Entity, the Actor will leave the current ActBusy if the Actor has lost sight of Sight Entity for this many seconds."
sightmethod(choices) : "Sight Enemy Method" : 0 : "The method to use to determine whether the Sight enemy is visible." =
[
0 : "Default. LOS -and- Viewcone"
1 : "LOS Only. Disregard Viewcone"
]
type(choices) : "Actbusy Type" : 0 =
[
0 : "Default (Standard)"
1 : "Combat"
]
safezone(target_destination) : "Combat Safe Zone" : "" : "Only for combat actbusy. Lets you specify a volume which is the 'safe zone'. The Combat ActBusy will cancel if any enemies are seen in the safe zone."
allowteleport(choices) : "Allow actor to teleport?" : 0 =
[
0 : "No"
1 : "Yes (Only for Combat Actbusy)"
]
output OnNPCLostSeeEntity(void) : "Fired when the NPC loses sight of the see entity (if one is specified)."
output OnNPCSeeEnemy(void) : "Fired when this NPC leaves his actbusy because of sighting an enemy."
busyidletimemin(float) : "Idle Time (min)" : 0
busyidletimemax(float) : "Idle Time (max)" : 1
habitatid(integer) : "Habitat ID" : -1
// Inputs
input SetHabitatID(integer) : "Set habitat ID."
]
@PointClass base(P3BaseActBusy) = p3_ai_goal_actbusy_queue : "P3 AI Goal Act Busy Queue"
[
node_exit(target_destination) : "Exit Node" : "" : "The name of the node the first NPC in the queue should move to when he leaves the head of the queue."
node01(target_destination) : "Node 1" : "" : "The name of the first actbusy hint node in the queue."
node02(target_destination) : "Node 2" : "" : "The name of the second actbusy hint node in the queue."
node03(target_destination) : "Node 3" : "" : "The name of the third actbusy hint node in the queue."
node04(target_destination) : "Node 4" : "" : "The name of the fourth actbusy hint node in the queue."
node05(target_destination) : "Node 5" : "" : "The name of the fifth actbusy hint node in the queue."
node06(target_destination) : "Node 6" : "" : "The name of the sixth actbusy hint node in the queue."
node07(target_destination) : "Node 7" : "" : "The name of the seventh actbusy hint node in the queue."
node08(target_destination) : "Node 8" : "" : "The name of the eighth actbusy hint node in the queue."
node09(target_destination) : "Node 9" : "" : "The name of the ninth actbusy hint node in the queue."
node10(target_destination) : "Node 10" : "" : "The name of the tenth actbusy hint node in the queue."
node11(target_destination) : "Node 11" : "" : "The name of the eleventh actbusy hint node in the queue."
node12(target_destination) : "Node 12" : "" : "The name of the twelfth actbusy hint node in the queue."
node13(target_destination) : "Node 13" : "" : "The name of the thirteenth actbusy hint node in the queue."
node14(target_destination) : "Node 14" : "" : "The name of the fourteenth actbusy hint node in the queue."
node15(target_destination) : "Node 15" : "" : "The name of the fifteenth actbusy hint node in the queue."
node16(target_destination) : "Node 16" : "" : "The name of the sixteenth actbusy hint node in the queue."
node17(target_destination) : "Node 17" : "" : "The name of the seventeenth actbusy hint node in the queue."
node18(target_destination) : "Node 18" : "" : "The name of the eighteenth actbusy hint node in the queue."
node19(target_destination) : "Node 19" : "" : "The name of the nineteenth actbusy hint node in the queue."
node20(target_destination) : "Node 20" : "" : "The name of the twentieth actbusy hint node in the queue."
mustreachfront(choices) : "Must Reach Front" : 0 : "If true, NPCs much reach the front node in the queue before they're allowed to leave the queue." =
[
0 : "No"
1 : "Yes"
]
// Inputs
input PlayerStartedBlocking(float) : "Tell the queue manager that the player has started blocking a spot in the queue."
input PlayerStoppedBlocking(float) : "Tell the queue manager that the player has stopped blocking a spot in the queue."
input MoveQueueUp(void) : "Force the queue to move up, sending the front-most NPC out of the queue."
// Outputs
output OnQueueMoved(float) : "Fired when the queue moves. Outputs the number of NPCs left in the queue."
output OnNPCStartedLeavingQueue(string) : "Fired when the NPC at the head of the queue starts to leave. The activator is the NPC, and the string is the name of the NPC."
output OnNPCLeftQueue(string) : "Fired when the NPC at the head of the queue leaves. The activator is the NPC, and the string is the name of the NPC."
]