From 74c48f0d7a3f4cb21b117f37d3598e5189c021ca Mon Sep 17 00:00:00 2001 From: pivotman319 Date: Thu, 9 Oct 2025 20:43:11 +0200 Subject: [PATCH 01/11] initial commit for entity documentation update --- fgd/point/env/env_global.fgd | 38 +++++++++--------- fgd/point/info/info_paint_sprayer.fgd | 11 +---- fgd/point/info/info_portal_gamerules.fgd | 28 ++++++------- fgd/point/item/item_boots.fgd | 2 +- fgd/point/item/item_paint_power_pickup.fgd | 12 +++--- fgd/point/linked_portal_door.fgd | 4 +- fgd/point/npc/npc_alyx.fgd | 12 +++--- fgd/point/npc/npc_antlion_template_maker.fgd | 2 +- fgd/point/npc/npc_personality_core.fgd | 42 ++++++++++---------- fgd/point/npc/npc_wheatley_boss.fgd | 2 +- fgd/point/npc/npc_zombine.fgd | 2 +- fgd/point/weapon/weapon_alyxgun.fgd | 2 +- fgd/point/weapon/weapon_bugbait.fgd | 2 +- fgd/point/weapon/weapon_paintgun.fgd | 2 +- fgd/point/weapon/weapon_physgun.fgd | 6 +++ fgd/point/weapon/weapon_portalgun.fgd | 30 +++++++------- fgd/point/weapon/weapon_rpg.fgd | 2 +- fgd/point/weapon/weapon_shotgun.fgd | 2 +- 18 files changed, 100 insertions(+), 101 deletions(-) create mode 100644 fgd/point/weapon/weapon_physgun.fgd diff --git a/fgd/point/env/env_global.fgd b/fgd/point/env/env_global.fgd index 8481be405..1209a9da9 100644 --- a/fgd/point/env/env_global.fgd +++ b/fgd/point/env/env_global.fgd @@ -1,7 +1,7 @@ @PointClass base(BaseEntityPoint) color(200 0 0) iconsprite("editor/env_global.vmt") -= env_global: "An entity to control a game-specific global states." += env_global: "An entity that controls game-specific global states." [ globalstate[engine](string) : "Global State to Set" @@ -9,26 +9,26 @@ globalstate[P2CE](choices) : "Global State to Set" = [ - "no_pinging_blue": "Prevent Pinging ATLAS" - "no_pinging_orange": "Prevent Pinging P-Body" - "no_taunting_blue": "Prevent Taunting ATLAS" - "no_taunting_orange": "Prevent Taunting P-Body" - "player_regenerates_health": "Prevent player health regen from turrets" + "no_pinging_blue": "Disable Atlas's ping tool (Co-op)" + "no_pinging_orange": "Disable P-body's ping tool (Co-op)" + "no_taunting_blue": "Disable Atlas gestures (Co-op)" + "no_taunting_orange": "Disable P-body gestures (Co-op)" + "player_regenerates_health": "Disable player health regeneration" "slowtime_enabled": "Enable player usage of +slowtime" - "gordon_precriminal": "Gordon is pre-criminal" - "antlion_allied": "Antlions are player allies" + "gordon_precriminal": "Police neutrality towards player/citizens" + "citizens_passive": "Citizen neutrality towards player/Combine NPCs" + "gordon_invulnerable": "Player is invincible" "suit_no_sprint": "HEV suit sprint disabled" - "super_phys_gun": "Super gravity gun enabled" - "citizens_passive": "Citizens are neutral to Gordon & combine" - "gordon_invulnerable": "Gordon is invulnerable" + "friendly_encounter": "Lower player weapons" "no_seagulls_on_jeep": "Don't spawn seagulls on jeep" - "friendly_encounter": "Lower HL2 weapons" - "ep2_alyx_injured": "Alyx injured behavior from EP2" - "ep_alyx_darknessmode": "Alyx darkness behavior from EP1" - "hunters_to_run_over": "Amount of hunters to run over before they dodge" + "antlion_allied": "Friendly antlions" + "super_phys_gun": "Supercharged gravity gun enabled" + "ep_alyx_darknessmode": "Lowlife \"darkness mode\" (Ep1)" + "ep2_alyx_injured": "Debuffed Alyx Gun/\"Alyx Injured Mode\" (Ep2)" + "hunters_to_run_over": "Hunter roadkills to dodge counter (Ep2)" ] - initialstate[engine](integer) : "Initial State" : 0 + initialstate[engine](integer) : "Initial State" : 0 : "Controls the active state for this global. Setting this to \"Dead\" permanently disables this global, and will not persist during level transitions." initialstate(choices) : "Initial State" : 0 = [ 0: "Off" @@ -44,10 +44,10 @@ // Inputs - input TurnOn(void) : "Set state of global to ON." - input TurnOff(void) : "Set state of global to OFF." + input TurnOn(void) : "Turns on this global." + input TurnOff(void) : "Turns off this global." input Toggle(void) : "Toggles state of global between ON and OFF." - input Remove(void) : "Set state of global to DEAD." + input Remove(void) : "Permanently disables this global and prevents it from persisting during level transitions." input SetCounter(integer) : "Sets the counter value of this global." input AddToCounter(integer) : "Adds to the counter value of this global. Negative numbers subtract." input GetCounter(void) : "Causes the Counter output to be fired, passing the current counter value for this global. This doesn't work properly." diff --git a/fgd/point/info/info_paint_sprayer.fgd b/fgd/point/info/info_paint_sprayer.fgd index ac55961e1..10a684f70 100644 --- a/fgd/point/info/info_paint_sprayer.fgd +++ b/fgd/point/info/info_paint_sprayer.fgd @@ -6,18 +6,11 @@ = info_paint_sprayer: "An entity that sprays Gel." [ maxblobcount(integer) : "Max number of blobs" : 250 : "Max number of blobs that sprayer can spawn in the world (1-250)." - light_position_name(target_destination) : "Light Position Name" : : "Name of the entity we want to use as blobs light position." - start_active(boolean) : "Start Active?" : 0 + light_position_name(target_destination) : "Light Position Name" : : "The info_target entity to use for the blobs' lighting origins." + start_active(boolean) : "Start Active?" : 0 : "Should this entity start shooting gel upon spawning?" silent(boolean) : "Silent?" : 0 : "If this flag is true, blobs will only paint, appearing entirely invisible." drawonly(boolean) : "Draw Only?" : 0 : "If this flag is true, blobs will only render, vanishing on contact with surfaces." - rendermode[engine](integer) : "Render Mode" : 0 - rendermode(choices) : "Render Mode" : 0 : "The mode to render blobs. Appears non-functional." = - [ - 0: "Blobulator" - 1: "Fast Sphere" - ] - ambientsound[engine](integer) : "Ambient Sound" : 0 ambientsound(choices) : "Ambient Sound" : 0 : "The sound to play when paint is flowing." = [ diff --git a/fgd/point/info/info_portal_gamerules.fgd b/fgd/point/info/info_portal_gamerules.fgd index 4aeed9aab..d2522d8c0 100644 --- a/fgd/point/info/info_portal_gamerules.fgd +++ b/fgd/point/info/info_portal_gamerules.fgd @@ -1,30 +1,30 @@ @PointClass base(BaseEntityPoint) appliesto(P2CE) iconsprite("editor/info_target.vmt") -= info_portal_gamerules: "Determines game various rules for gameplay" += info_portal_gamerules: "Dictates specific gameplay aspects in Portal." [ - enableregen(boolean) : "Enable health regeneration" : 1 - equipboots(boolean) : "Equip long-fall boots" : 1 : "Disabling this will essentially enable fall damage" - equipportalgun(choices) : "Equip Portal Gun" : 0 = + enableregen(boolean) : "Enable health regeneration" : 1 : "Enabling this will allow players to restore health over time." + equipboots(boolean) : "Equip long-fall boots" : 1 : "Controls fall damage. Enabling this will make the player immune to fall damage." + equipportalgun(choices) : "Equip Portal Gun" : 0 : "Automatically grants the player a portal gun based on type, if enabled." = [ 0: "None" - 1: "Orange" - 2: "Blue" + 2: "Blue portal only" + 1: "Orange portal only" 3: "Dual Portal Device" - 4: "Potato Gun" + 4: "Dual Portal Device (PotatOS attached)" ] - equippaintgun(choices) : "Equip paint gun" : 0 = + equippaintgun(choices) : "Equip Paint Gun" : 0 : "Automatically grants the player a paint gun if enabled.\n\nThe \"basic paint gun\" option will give the player a paint gun with no powers assigned by default - paint powers must be obtained by touching an item_paint_power_pickup entity. Selecting the \"Fully-upgraded paint gun\" option will give the player all applicable paint powers for the paint gun." = [ 0: "None" 1: "Basic paint gun" 2: "Fully-upgraded paint gun" ] - maxhealth(integer) : "Max health for players" : 100 - gametype(choices) : "Co-op Game type" : 0 : "Sets the co-op game type. This is ignored if the game isn't running in co-op mode." = + maxhealth(integer) : "Maximum player health" : 100 : "Specifies the maximum health limit for players." + gametype(choices) : "Co-op gamemode" : 0 : "Controls the multiplayer/co-op game type. This is ignored if the game is not running in co-op mode." = [ - 0: "Default" - 1: "Co-op 2-guns" - 2: "Co-op versus mode" - 3: "Co-op versus mode and 2-guns" + 0: "Standard Co-op (Default)" + 1: "Two Guns (Paintgun Mode)" + 2: "Deathmatch" + 3: "Deathmatch w/ Two Guns (Paintgun Mode)" ] ] diff --git a/fgd/point/item/item_boots.fgd b/fgd/point/item/item_boots.fgd index 81860906e..2b4a2f701 100644 --- a/fgd/point/item/item_boots.fgd +++ b/fgd/point/item/item_boots.fgd @@ -1,6 +1,6 @@ @PointClass base(Item) appliesto(P2CE) studio("models/items/item_boots.mdl") -= item_boots: "Long Fall Boots" += item_boots: "A pair of Long Fall Boots. Picking this item up will disable player fall damage." [ ] diff --git a/fgd/point/item/item_paint_power_pickup.fgd b/fgd/point/item/item_paint_power_pickup.fgd index 8ca495dab..4f5e3a122 100644 --- a/fgd/point/item/item_paint_power_pickup.fgd +++ b/fgd/point/item/item_paint_power_pickup.fgd @@ -1,15 +1,15 @@ @PointClass base(BaseEntityAnimating) appliesto(P2CE) studioprop("models/props/water_bottle/water_bottle.mdl") -= item_paint_power_pickup: "Paint Ammo" += item_paint_power_pickup: "Gives the player a paint power on touch. Requires the paint gun to be equipped." [ PaintType(choices) : "Paint Type" : 0 : - "The paint power of the pickup." = + "The kind of paint power to grant when touched." = [ - 0 : "Bounce" + 0 : "Bounce (Repulsion Gel)" 1 : "Reflect" - 2 : "Speed" - 3 : "Portal" - 5 : "Stick" + 2 : "Speed (Propulsion Gel)" + 3 : "Portal (Conversion Gel)" + 5 : "Stick (Adhesion Gel)" ] ] diff --git a/fgd/point/linked_portal_door.fgd b/fgd/point/linked_portal_door.fgd index bf88f81ad..e4b14f936 100644 --- a/fgd/point/linked_portal_door.fgd +++ b/fgd/point/linked_portal_door.fgd @@ -13,6 +13,6 @@ startactive(boolean) : "Start Active" : 1 : "Whether to start the linkage as active from the start." // Inputs - input SetWidth(float) : "Sets the width of this portal and the partner. Clamped to 1-1024" - input SetHeight(float) : "Sets the height of this portal and the partner. Clamped to 1-1024" + input SetWidth(float) : "Sets the width of this portal and the partner. Clamped to 1-1024 Hammer units." + input SetHeight(float) : "Sets the height of this portal and the partner. Clamped to 1-1024 Hammer units." ] diff --git a/fgd/point/npc/npc_alyx.fgd b/fgd/point/npc/npc_alyx.fgd index 35531b234..2e29274b7 100644 --- a/fgd/point/npc/npc_alyx.fgd +++ b/fgd/point/npc/npc_alyx.fgd @@ -1,20 +1,20 @@ @NpcClass base(TalkNPC, PlayerCompanion) appliesto(+HL2_ENTITIES) studio() -= npc_alyx: "Alyx" += npc_alyx: "Alyx Vance. Behaves identically to Citizens in standard Half-Life 2, but supports a variety of unique behaviors in Episodic mode such as Zombie-Alyx combat interactions, boarding vehicles, et al." [ model(studio) : "World model" : "models/alyx.mdl" additionalequipment[engine](string) : "Weapons" : "weapon_alyxgun" - additionalequipment(choices) : "Weapons" : "weapon_alyxgun" = + additionalequipment(choices) : "Weapons" : "weapon_alyxgun" : "What weapon should Alyx have? Select None for scripted sequences." = [ "weapon_alyxgun": "Alyx Gun" "weapon_shotgun": "Shotgun" - "0": "Nothing" + "0": "None" ] - dontpickupweapons(boolean) : "Prevent picking up weapons?" : 1 : "If yes, this NPC will NOT be allowed to pick up weapons they find on the ground." - shouldhaveemp(boolean) : "Should alyx have her EMP?" : 1 + dontpickupweapons(boolean) : "Prevent picking up weapons?" : 1 : "Prevents Alyx from picking up weapons off the ground." + shouldhaveemp(boolean) : "Enable Multi-Tool/EMP" : 1 : "Enables Alyx's multi-tool/EMP prop." // Inputs input AllowInteraction(void) : "Allow Alyx's 'hacking' AI to run." @@ -22,7 +22,7 @@ input AllowDarknessSpeech(boolean) : "Enables or disables Alyx's darkness speech ('where are you', etc)." input SetAnimLockedEntity(string) : "Sets Alyx to take her animation and cycle position from another entity." input ClearAnimLockedEntity(void) : "Stops Alyx from taking her animation locking from another character." - input GiveEMP(boolean) : "Gives or removes the EMP tool." + input GiveEMP(boolean) : "Controls multi-tool/EMP prop visibility." input EnterVehicle[+USE_VEHICLES](string) : "Make Alyx enter the vehicle specified by name." input EnterVehicleImmediately[+USE_VEHICLES](string) : "Make Alyx enter the vehicle specified by name immediately via teleportation." input ExitVehicle[+USE_VEHICLES](void) : "Make Alyx exit the vehicle she's in." diff --git a/fgd/point/npc/npc_antlion_template_maker.fgd b/fgd/point/npc/npc_antlion_template_maker.fgd index 96e23ba6d..467c86096 100644 --- a/fgd/point/npc/npc_antlion_template_maker.fgd +++ b/fgd/point/npc/npc_antlion_template_maker.fgd @@ -3,7 +3,7 @@ line(192 192 192, targetname, templatename) size(-8 -8 -8, 8 8 8) color(0 0 255) -= npc_antlion_template_maker: "Antlion Template Maker" += npc_antlion_template_maker: "A unique version of npc_template_maker tailored specifically for Antlions. Antlions will continually spawn at its origin or at a specified destination target, and is further influenced by bugbait." [ spawnflags(flags) : "spawnflags" = [ diff --git a/fgd/point/npc/npc_personality_core.fgd b/fgd/point/npc/npc_personality_core.fgd index b8e90ce94..33fb97387 100644 --- a/fgd/point/npc/npc_personality_core.fgd +++ b/fgd/point/npc/npc_personality_core.fgd @@ -4,14 +4,14 @@ = npc_personality_core: "Aperture Science Personality Construct. Animated balls with handles." [ modelskin[engine](integer) : "Model Skin" : 0 - modelskin(choices) : "Model Skin" : 0 : "If using the 'alt' skin, this sets the eye color.\n" + - "If not using the alt skin, (0 = broken) (1=normal).\n " + - "If using custom model, you can enter any skin number. " = + modelskin(choices) : "Model Skin" : 0 : "The model skin to use with this entity. If the Original core type is selected, Wheatley's model will be used (0: broken; 1: clean).\n" + + "Specifying the Alternate core type will use an alternate personality core model for use with corrupted cores.\n" + + "Specifying the Custom core type will allow mappers to specify any skin for this NPC." = [ - 0: "Blue Eye / Broken" - 1: "Green Eye / Normal" - 2: "Orange Eye / NA" - 3: "Purple Eye / NA" + 0: "Wheatley (Damaged)" + 1: "Wheatley (Normal) / Adventure Core" + 2: "N/A / Space Core" + 3: "N/A / Fact Core" ] // The name here is a bit misleading, but this is for a good reason @@ -26,28 +26,28 @@ ] model[engine](studio) : "Model" : "models/npcs/personality_sphere/personality_sphere.mdl" - model(choices) : "[H] Model" : "models/npcs/personality_sphere/personality_sphere.mdl" : "Choose the model to show in hammer.\n" + - "If using 'Alternate' type, use the corrupt core model\n " + - "If using custom model, you can enter any model path here." = + model(choices) : "[H] Model" : "models/npcs/personality_sphere/personality_sphere.mdl" : "Choose the model to show in Hammer.\n" + + "Specifying the Alternate core type will make this NPC uses the corrupt core model.\n " + + "Specifying the Custom core type will allow mappers to define their own personality core NPC models." = [ "models/npcs/personality_sphere/personality_sphere.mdl": "Original (Wheatley)" "models/npcs/personality_sphere/personality_sphere_skins.mdl": "Alternate (Corrupt Cores)" ] skin[engine](integer) : "Skin" : 0 - skin(choices) : "[H] Skin" : 0 : "If using the 'alt' skin, this sets the eye color.\n" + - "If not using the alt skin, (0 = broken) (1=normal).\n" + - "If using custom model, you can enter any skin number. " = + skin(choices) : "[H] Skin" : 0 : "The model skin to use with this entity, as displayed in Hammer. If the Original core type is selected, Wheatley's model will be used (0: broken; 1: clean).\n" + + "Specifying the Alternate core type will use an alternate personality core model for use with corrupted cores.\n" + + "Specifying the Custom core type will allow mappers to specify any skin for this NPC." = [ - 0: "Blue Eye / Broken" - 1: "Green Eye / Normal" - 2: "Orange Eye / NA" - 3: "Purple Eye / NA" + 0: "Wheatley (Damaged)" + 1: "Wheatley (Normal) / Adventure Core" + 2: "N/A / Space Core" + 3: "N/A / Fact Core" ] - flashlightcolor(color255) : "Flashlight Color" : "255 255 255 500" : "Color of the flashlight" - flashlightfov(float) : "Flashlight FOV" : "85.0f" : "Field of View of the flashlight" - flashlightfarz(float) : "Flashlight Far-Z" : "750.0f" : "Far-Z (Max Range) of the flashlight" + flashlightcolor(color255) : "Flashlight Color" : "255 255 255 500" : "Specifies this core's flashlight color. See env_projectedtexture for documentation." + flashlightfov(float) : "Flashlight FOV" : "85.0f" : "Specifies the field-of-view (FOV) for this core's flashlight. See env_projectedtexture for documentation." + flashlightfarz(float) : "Flashlight Far-Z" : "750.0f" : "The maximum range (Far-Z) for this core's flashlight. See env_projectedtexture for documentation." // Inputs input EnableMotion(void) : "Enable physics motion/collision response." @@ -62,7 +62,7 @@ input PlayLock(void) : "Play the locking animation, used for syncing with the socket's animation." input SetIdleSequence(string) : "Set a sequence to use as an idle sequence." input ClearIdleSequence(void) : "Return to the default idle animation." - input Explode(void) : "Explode the sphere, triggering an explosion effect and some gibs." + input Explode(void) : "Explodes the sphere, triggering an explosion effect and some gibs. This is purely decorative and does not remove this NPC." // Outputs output OnPlayerPickup(void) : "Fired whenever the player picks up the core." diff --git a/fgd/point/npc/npc_wheatley_boss.fgd b/fgd/point/npc/npc_wheatley_boss.fgd index eef998869..884d5c20a 100644 --- a/fgd/point/npc/npc_wheatley_boss.fgd +++ b/fgd/point/npc/npc_wheatley_boss.fgd @@ -1,7 +1,7 @@ @PointClass base(BaseNPC, SetSkin) appliesto(P2CE) studioprop() -= npc_wheatley_boss: "Wheatley NPC stub" += npc_wheatley_boss: "Generic NPC stub for Wheatley during Act 4." [ model(studio) : "Model" : "models/npcs/glados/glados_wheatley_boss.mdl" ] diff --git a/fgd/point/npc/npc_zombine.fgd b/fgd/point/npc/npc_zombine.fgd index c390f407f..1cdbf8786 100644 --- a/fgd/point/npc/npc_zombine.fgd +++ b/fgd/point/npc/npc_zombine.fgd @@ -1,7 +1,7 @@ @NpcClass base(BaseNPC) appliesto(+HL2_ENTITIES) studio("models/Zombie/zombie_soldier.mdl") -= npc_zombine: "Combine Soldier Zombie" += npc_zombine: "A heavily-armored Zombie that can charge towards enemies and/or explode." [ // Inputs input StartSprint(void) : "Forces the zombine to sprint." diff --git a/fgd/point/weapon/weapon_alyxgun.fgd b/fgd/point/weapon/weapon_alyxgun.fgd index 8e44ca8ea..009d8b3e2 100644 --- a/fgd/point/weapon/weapon_alyxgun.fgd +++ b/fgd/point/weapon/weapon_alyxgun.fgd @@ -1,6 +1,6 @@ @PointClass base(Weapon) appliesto(+HL2_ENTITIES) studioprop("models/weapons/W_Alyx_Gun.mdl") -= weapon_alyxgun: "Alyx's Gun" += weapon_alyxgun: "Alyx's pistol." [ ] diff --git a/fgd/point/weapon/weapon_bugbait.fgd b/fgd/point/weapon/weapon_bugbait.fgd index 29759275b..652816d10 100644 --- a/fgd/point/weapon/weapon_bugbait.fgd +++ b/fgd/point/weapon/weapon_bugbait.fgd @@ -1,6 +1,6 @@ @PointClass base(Weapon) appliesto(+HL2_ENTITIES) studioprop("models/weapons/w_bugbait.mdl") -= weapon_bugbait: "Bug bait" += weapon_bugbait: "Sticky spores that attract Antlions.\n\nThis weapon can only function if global state condition \"Antlions are player allies\" is active." [ ] diff --git a/fgd/point/weapon/weapon_paintgun.fgd b/fgd/point/weapon/weapon_paintgun.fgd index 4496b3224..921361fa5 100644 --- a/fgd/point/weapon/weapon_paintgun.fgd +++ b/fgd/point/weapon/weapon_paintgun.fgd @@ -1,7 +1,7 @@ @PointClass base(Weapon) appliesto(P2CE) studioprop("models/weapons/w_portalgun.mdl") -= weapon_paintgun: "Aperture Science Handheld Gel Accelerator" += weapon_paintgun: "A paint sprayer gun.\n\nThis weapon can optionally have paint powers automatically assigned via info_portal_gamerules and/or have a limited amount of ammo (globally or per-paint) as dictated by ConVars paintgun_ammo_type and paintgun_max_ammo.\n\nBy default, the paint gun does not have any powers assigned on pickup, and powers are given to the player using dedicated pickups (via item_paint_power_pickup). If paint ammo is enabled in-game, invoking the +attack2 bind will clean all sprayed paint and refund all spent ammo; otherwise, the Cleansing Gel will be sprayed instead." [ // We don't have any keyvalues or IO yet ] diff --git a/fgd/point/weapon/weapon_physgun.fgd b/fgd/point/weapon/weapon_physgun.fgd new file mode 100644 index 000000000..32c207dfd --- /dev/null +++ b/fgd/point/weapon/weapon_physgun.fgd @@ -0,0 +1,6 @@ +@PointClass base(Weapon) + appliesto(+HL2_ENTITIES) + studioprop("models/weapons/w_physics.mdl") += weapon_physgun: "A gun that can pick up and constrain physics objects." + [ + ] diff --git a/fgd/point/weapon/weapon_portalgun.fgd b/fgd/point/weapon/weapon_portalgun.fgd index 6d36dbf49..2dccaccba 100644 --- a/fgd/point/weapon/weapon_portalgun.fgd +++ b/fgd/point/weapon/weapon_portalgun.fgd @@ -1,40 +1,40 @@ @PointClass base(Weapon) appliesto(P2CE) studioprop("models/weapons/w_portalgun.mdl") -= weapon_portalgun: "Aperture Science Handheld Portal Device" += weapon_portalgun: "The Aperture Science Handheld Portal Device. This is the sole weapon entity used throughout the Portal series." [ spawnflags(flags) = [ - 8 : "Disable pickup sounds" : 0 + 8 : "Disable pickup sounds" : 0 ] - canfireportal1(boolean) : "Can Fire Blue Portals" : 1 : "Can this portalgun create blue portals?" - canfireportal2(boolean) : "Can Fire Orange Portals" : 1 : "Can this portalgun create orange portals?" + canfireportal1(boolean) : "Can Fire Blue Portals" : 1 : "Determines whether this portal gun can shoot blue portals." + canfireportal2(boolean) : "Can Fire Orange Portals" : 1 : "Determines whether this portal gun can shoot orange portals. If this entity is manually spawned, it will not be able to fire orange portals by default." - showingpotatos(boolean) : "Show PoTaToS" : 0 : "Show PoTaToS on the portal gun." + showingpotatos(boolean) : "Show PotatOS" : 0 : "Attach PotatOS to the portal gun by enabling its respective bodygroup. PotatOS will animate if the @glados entity is given a VCD to play.\n\nThis feature is cosmetic and does not impact gameplay." - startingteamnum[engine](integer) : "Player" : 0 : "Which player this gun belongs to. Will decide which portals it fires before being picked up, as well as the skin." - startingteamnum(choices) : "Player" : 0 : "Which player this gun belongs to. Will decide which portals it fires before being picked up, as well as the skin." = + startingteamnum[engine](integer) : "Player" : 0 : "Which player/\"team\" does this portal gun belong to? Will decide which portals it fires before being picked up, as well as the skin." + startingteamnum(choices) : "Player" : 0 : "Which player/\"team\" does this portal gun belong to? Will decide which portals it fires before being picked up, as well as the skin." = [ 0: "Chell/Bendy" - 2: "P-Body" - 3: "ATLAS" + 2: "P-body" + 3: "Atlas" ] - skin[engine](integer) : "Stripes" : 0 : "Which stripes to show in Hammer." - skin(choices) : "[H] Stripes" : 0 : "Which stripes to show in Hammer." = + skin[engine](integer) : "Model Skin" : 0 : "Changes the world and view model skin for this entity. If no custom model is declared, this will determine what portal gun stripes to use." + skin(choices) : "[H] Model Skin" : 0 : "Changes the world and view model skin for this entity. If no custom model is declared, this will determine what portal gun stripes to use." = [ - 0: "None" - 1: "Blue" - 2: "Orange" + 0: "0 - Default" + 1: "1 - Atlas (Coop)" + 2: "2 - P-body (Coop)" ] model(studio) : "World Model" : "models/weapons/w_portalgun.mdl" : "The model shown for the portalgun entity and in the player's hand in third-person view." viewmodel(studio) : "View Model" : "models/weapons/v_portalgun.mdl" : "The model shown in the player's first-person view." - CustomPortalColors(boolean) : "Custom Portal Colors" : 0 : "Use custom portal colors." + CustomPortalColors(boolean) : "Custom Portal Colors" : 0 : "Use custom portal colors. This boolean is ignored if ConVar cl_alternate_portal_colors is set to 1." Portal1Color(color255) : "Primary Portal Color" : "64 160 255" : "Color to use for the primary (Left/Blue) portal." Portal2Color(color255) : "Secondary Portal Color" : "255 160 32" : "Color to use for the primary (Right/Orange) portal." diff --git a/fgd/point/weapon/weapon_rpg.fgd b/fgd/point/weapon/weapon_rpg.fgd index b8f367534..28fa8d12d 100644 --- a/fgd/point/weapon/weapon_rpg.fgd +++ b/fgd/point/weapon/weapon_rpg.fgd @@ -1,6 +1,6 @@ @PointClass base(Weapon) appliesto(+HL2_ENTITIES) studioprop("models/weapons/w_rocket_launcher.mdl") -= weapon_rpg: "Missile Launcher" += weapon_rpg: "Fires laser-guided rockets." [ ] diff --git a/fgd/point/weapon/weapon_shotgun.fgd b/fgd/point/weapon/weapon_shotgun.fgd index ae0801b08..6b65d499d 100644 --- a/fgd/point/weapon/weapon_shotgun.fgd +++ b/fgd/point/weapon/weapon_shotgun.fgd @@ -1,6 +1,6 @@ @PointClass base(Weapon) appliesto(+HL2_ENTITIES) studioprop("models/weapons/w_shotgun.mdl") -= weapon_shotgun: "Shotgun" += weapon_shotgun: "Standard-issue SPAS-12 shotgun.\n\nAssigning this entity to npc_alyx in Episodic will enable special combat behaviors against zombies." [ ] From d61f7dbda6545db6495e8eee1ba824096fd975c2 Mon Sep 17 00:00:00 2001 From: pivotman319 Date: Fri, 10 Oct 2025 02:57:46 +0200 Subject: [PATCH 02/11] doc rewrite status as of 10/10/2025 --- fgd/point/filter/filter_activator_class.fgd | 2 +- fgd/point/filter/filter_activator_mass_greater.fgd | 2 +- fgd/point/filter/filter_activator_model.fgd | 2 +- fgd/point/item/item_healthkit.fgd | 2 +- fgd/point/item/item_healthvial.fgd | 2 +- fgd/point/item/item_item_crate.fgd | 4 ++-- fgd/point/item/item_nugget.fgd | 2 +- fgd/point/prop/prop_button.fgd | 2 +- fgd/point/prop/prop_coreball.fgd | 11 +++++------ fgd/point/prop/prop_paint_bomb.fgd | 2 +- 10 files changed, 15 insertions(+), 16 deletions(-) diff --git a/fgd/point/filter/filter_activator_class.fgd b/fgd/point/filter/filter_activator_class.fgd index e0fdd95be..ce987149e 100644 --- a/fgd/point/filter/filter_activator_class.fgd +++ b/fgd/point/filter/filter_activator_class.fgd @@ -1,6 +1,6 @@ @FilterClass base(filter_base) iconsprite("editor/filter_class.vmt") -= filter_activator_class: "A filter that filters by the class name of the activator." += filter_activator_class: "A filter that checks for the class name of the activator." [ filterclass(string) : "Filter Classname" : : "The class name to filter by. " + "If the filter mode is Allow, only entities whose class name matches the given string will pass the filter. " + diff --git a/fgd/point/filter/filter_activator_mass_greater.fgd b/fgd/point/filter/filter_activator_mass_greater.fgd index edd8321bb..132b35ed9 100644 --- a/fgd/point/filter/filter_activator_mass_greater.fgd +++ b/fgd/point/filter/filter_activator_mass_greater.fgd @@ -1,6 +1,6 @@ @FilterClass base(filter_base) iconsprite("editor/filter_mass.vmt") -= filter_activator_mass_greater: "A filter that filters by the mass of the activator." += filter_activator_mass_greater: "A filter that checks if the mass of the activator is greater or equal to a given number." [ filtermass(float) : "Filter Mass" : : "The mass to filter by. If the filter mode is Allow, only entities whose mass is greater than the give float will pass the filter. " + "If the filter mode is Disallow, all entities EXCEPT those whose mass is greater than the given float will pass the filter." diff --git a/fgd/point/filter/filter_activator_model.fgd b/fgd/point/filter/filter_activator_model.fgd index a28319172..1df117028 100644 --- a/fgd/point/filter/filter_activator_model.fgd +++ b/fgd/point/filter/filter_activator_model.fgd @@ -1,6 +1,6 @@ @FilterClass base(filter_base) iconsprite("editor/filter_model.vmt") -= filter_activator_model: "A filter that filters by the model of the activator." += filter_activator_model: "A filter that checks for the activator's model name." [ model(studio) : "Filter Model" : : "The model to filter by. " + "If the filter mode is Allow, only entities whose model matches the given string will pass the filter. " + diff --git a/fgd/point/item/item_healthkit.fgd b/fgd/point/item/item_healthkit.fgd index fd55196f2..a714307c3 100644 --- a/fgd/point/item/item_healthkit.fgd +++ b/fgd/point/item/item_healthkit.fgd @@ -1,6 +1,6 @@ @PointClass base(Item) appliesto(+HL2_ENTITIES) studio("models/items/healthkit.mdl") -= item_healthkit: "Small Health Kit" += item_healthkit: "A health kit. Restores health to the player on touch." [ ] diff --git a/fgd/point/item/item_healthvial.fgd b/fgd/point/item/item_healthvial.fgd index 1b4bb612b..ec6261cc1 100644 --- a/fgd/point/item/item_healthvial.fgd +++ b/fgd/point/item/item_healthvial.fgd @@ -1,6 +1,6 @@ @PointClass base(Item) appliesto(+HL2_ENTITIES) studio("models/healthvial.mdl") -= item_healthvial: "Personal Health Kit" += item_healthvial: "A much smaller health kit. Restores health to the player on touch." [ ] diff --git a/fgd/point/item/item_item_crate.fgd b/fgd/point/item/item_item_crate.fgd index 5fb0ea46c..4977cb8ed 100644 --- a/fgd/point/item/item_item_crate.fgd +++ b/fgd/point/item/item_item_crate.fgd @@ -1,7 +1,7 @@ @PointClass base(BasePropPhysics, Angles, DamageFilter, BaseFadeProp) studioprop("models/items/item_item_crate.mdl") appliesto(+HL2_ENTITIES) -= item_item_crate: "Item Crate" += item_item_crate: "A small crate that holds an item inside. Resupply crates can have a specific item defined or automatically grant specific items based on the player's health, suit armor and remaining ammunition." [ cratetype[engine](integer) : "Crate Contents": 0 cratetype(choices) : "Crate Contains" : 0 = @@ -10,7 +10,7 @@ ] crateappearance[engine](integer) : "Crate Appearance" : 0 - crateappearance(choices) : "Crate Appearance" : 0 = + crateappearance(choices) : "Crate Appearance" : 0 : "Changes the appearance of the crate. If this is set to \"Radar Beacon Crate\", this crate will show up on the Jalopy radar." = [ 0: "Default Appearance" 1: "Radar Beacon Crate" diff --git a/fgd/point/item/item_nugget.fgd b/fgd/point/item/item_nugget.fgd index e50bb040e..095d2d54e 100644 --- a/fgd/point/item/item_nugget.fgd +++ b/fgd/point/item/item_nugget.fgd @@ -1,7 +1,7 @@ @PointClass base(BaseEntityAnimating) appliesto(P2CE) studioprop("models/effects/cappoint_hologram.mdl") -= item_nugget: "Aperture Incentivizing Nugget. Useless." += item_nugget: "A respawnable token that grants score points to the player on touch, if playing in multiplayer/coop mode. Functionally useless due to Portal 2 lacking teamplay modes." [ groupname(string) : "Group Name" : : "Giving nuggets a group name hints the game that they are intended to be a group" respawntime(float) : "Respawn Time" : 30 : "Number of seconds between when a nugget is collected and when it respawns" diff --git a/fgd/point/prop/prop_button.fgd b/fgd/point/prop/prop_button.fgd index 2eed63881..bd741d257 100644 --- a/fgd/point/prop/prop_button.fgd +++ b/fgd/point/prop/prop_button.fgd @@ -1,7 +1,7 @@ @PointClass base(BasePedButton) appliesto(P2CE) studioprop() -= prop_button: "A button which is activated by player use or by game inputs. While pressed it can play a tick-tock sound to indicate limited time." += prop_button: "A button which is activated by player use or by game inputs. While pressed, it can play a ticking sound to indicate limited time." [ spawnflags(flags) = [ diff --git a/fgd/point/prop/prop_coreball.fgd b/fgd/point/prop/prop_coreball.fgd index ad1275bfd..2d161e8e1 100644 --- a/fgd/point/prop/prop_coreball.fgd +++ b/fgd/point/prop/prop_coreball.fgd @@ -1,12 +1,11 @@ @PointClass base(BaseEntityAnimating) appliesto(+HL2_ENTITIES) studio("models/props_combine/coreball.mdl") -= prop_coreball: "Special version of prop_scalable, used for EP1's Combine Dark Energy Reactor. " + - "To be rendered correctly, this must be placed at (2688, 12139, 517)." += prop_coreball: "A specialized version of prop_scalable used by the Combine Dark Energy Reactor in the Half-Life 2: Episode One chapter \"Direct Intervention\"." + + "This entity will always spawn with model name \"models/props_combine/coreball.mdl\"." [ - // Inputs - input SetScaleX(vector) : "Scales the coreball in one Axis. Params: