Open Kestrelguy opened 2 years ago
This is a nice list of specific things to tweak, thanks! In regards to the many obsolete/not very useful entities, I've been aiming to accurately define what actually exists in all games, not just what is particularly useful. I'd then add tags to exclude those things afterwards for most people.
spark_shower definitely exists; haven't checked boss_alpha in tf2 yet though
https://www.teamfortress.com/post.php?id=166703
func_monitor
works nowpoint_worldtext
, logic_eventlistener
, and skybox_swapper
addedhammer_notes
does get auto-deleted.func_nav_avoidance_obstacle
does appear to exist in earlier games than L4D.
Had to recreate my custom FGD after a recent TF2 update, which meant going through Hammer Addons's FGD. here's a buncha minor things I spotted (and stuff that got changed after recent updates):
[ ]
tf_logic_cp_timer
has a teamnum keyvalue now so it "works for team RED"[x]
func_nobuild
now has a keyvalue to allow it to destroy buildings when it turns on[ ]
tf_generic_bomb
has a PassActivator KV now[ ]
tf_zombie
now has an OnDeath output[x] all entities with models now have SetModel, SetPlaybackRate, and SetCycle inputs
[ ]
point_hurt
now has a KV allowing it to bypass übercharge[ ]
func_dustcloud
can cause crashes in multiplayer and probably shouldn't be here[ ] no point in having
item_sodacan
[ ] why is
ai_goal_injured_follow
here? it isn't even functional in EP1.[ ] since TF2 uses NextBots, there's no point in the NPCHintGroup or NPCSquadName KVs on
npc_maker
[ ] no point in any of the
ai_
entities since TF2 doesn't use NPCs[ ] is there any point to globals in TF2?
[ ]
env_blood
,env_screeneffect
,env_zoom
,point_message
, andcolor_correction_volume
don't work in TF2[x]
env_soundscape
is erroneously listed as having a "Disabled" input, but even "Disable" is unnecessary because it inheritsEnableDisable
[ ]
func_nav_avoidance_obstacle
andpoint_viewcontrol_multiplayer
are L4D entities[ ]
info_overlay
can save itself some KVs by inheritingFadeDistance
[ ]
info_powerup_spawn
anditem_powerup_crit
/uber
/rune
define fademin/maxdistance helpers despite not having such KVs[x] shouldn't
hightower_teleport_vortex
's SetModelScale input be a float? and shouldn't its SetAdvantageTeam input be an integer?[ ]
point_push
,base_boss
, andpoint_velocitysensor
can save themselves some inputs & a KV by inheriting EnableDisable[ ]
_Breakable
,func_physbox
: no apparent point in the physcannon flags/outputs[ ]
func_ladder
,info_ladder_dismount
, andfunc_usableladder
don't work in TF2; presumably notfunc_ladderendpoint
either[x] does
hammer_notes
get removed by the postcompiler?[ ]
BaseNPCMaker
defines a "startdisabled" keyvalue and Enable/Disable inputs despite already includingEnableDisable
; it could also includeToggle
to ignore the Toggle input[ ] does
func_tankmortar
even work in TF2? if not, there's no point in having it orBaseTank
.[ ]
SystemLevelChoice
only affects post-L4D stuff[ ]
Breakable
can inheritDamageFilter
and have the Enable/DisableDamageForces inputs, soBreakableBrush
andBreakableProp
don't need to[ ]
BreakableProp
doesn't need OnTakeDamage becauseBreakable
already has it[ ]
MasterEnt
probably isn't necessary, being a legacy thing[ ] health KV and first spawnflag of doors are apparently deprecated
[ ] Locked/Unlocked Sentence KVs of doors are for HL:S only
[ ]
Button
might as well includeBaseEntityVisBrush
so its children don't have to[ ] does
func_combine_ball_spawner
even work in TF2? if not, there's no point in having it orCombineBallSpawners
.[ ] TF2 uses nextbots; no point in the
Node
entities orinfo_radial_link_controller
[ ]
NavCost
can just inheritEnableDisable
andToggle
[ ] the renderfx KV of
RenderEffects
lists both 22 and 24 as "Spotlight FX;" the latter is actually "Fade Wider Pulse"[ ] renderfx 23 is listed twice, once as "Cull by distance" and once as the ragdoll hack
[ ] EnableDraw and DisableDraw were added in Portal 2
[ ]
SetSkin
is only used bySetModel
andcycler
, which also usesSetModel
[ ]
TriggerOnce
can useEnableDisable
andToggle
to save itself a KV and some inputs[ ] I cannot find anything on
boss_alpha
or. are you sure they exist? edit:spark_shower
spark_shower
does appear to exist[ ] TF2 doesn't use scenes, so
comp_choreo_sceneset
,logic_choreographed_scene
, andlogic_scene_list_manager
are unnecessary[ ]
comp_prop_cable
can useFadeDistance
to save itself some KVs[ ]
comp_precache_model
can useSetModel
to not need any KVs of its own[ ]
comp_vactube_spline
is unnecessary in TF2 (and the whole vactube system, really)[ ]
env_beverage
is unnecessary, being a legacy entity to begin with[ ]
BaseLight
,env_bubbles
,env_smokestack
,env_speaker
,func_occluder
,light_dynamic
,light_environment
,logic_branch,
logic_relay
,point_anglesensor
,point_hurt
,point_proximity_sensor
can useToggle
to save an input[ ]
BaseEntityPoint
can inheritAngles
to save it a KV[ ]
env_dustpuff
,spark_shower
, andlight_environment
don't needAngles
because they inheritBaseEntityPoint
[ ] Ember type KV on
env_embers
does nothing in code[ ]
env_explosion
doesn't need the whole list of ignorable classes since only players exist in TF2[ ]
env_fire
doesn't work in TF2, and by extensionenv_firesource
andenv_firesensor
are unnecessary[ ]
env_microphone
presets 51–54 are identical to 50 and serve no purpose[ ] the firesprite and smokesprite KVs of
env_smoketrail
are unused in code[ ]
env_wind
has helpers defined for "windradius" and "windradiusinner" KVs, but the KVs themselves aren't given[ ] is the portalversion KV of
func_areaportal
even necessary?[x]
func_clip_vphysics
doesn't need the empty spawnflags KV[ ]
func_dustcloud
,func_precipitation
can cause crashes and other problems in multiplayer games like TF2[ ]
func_nav_blocker
lacks the teamToBlock KV, and it doesn't look like starting disabled does anything (still blocks nav)[ ]
func_proprespawnzone
is disabled in code[ ] vehicles don't work in TF2, so
func_vehicleclip
is unnecessary (along with all vehicle entities)[ ]
game_intro_viewpoint
apparently doesn't work properly[ ]
game_round_win
can useTeamNum
to save itself some KVs[ ] wiki says
game_weapon_manager
has a SetMaxPieces input[ ] is there anything that can generate rotor wash in TF2? I think
env_rotorshooter
is pointless.[ ]
gibshooter
is obsoleted byenv_shooter
; combined with the above, this meansenv_shooter
is the only use forgibshooterbase
, so it can subsume those properties[ ] should
halloween_fortune_teller
's red_teleport and blue_teleport KVs be target_destinations instead of strings?[ ]
halloween_zapper
can inheritEnableDisable
[x]
point_camera
doesn't function in TF2, rendering it,info_camera_link
, andfunc_monitor
useless[ ] I'm fairly sure
info_intermission
is unnecessary wheninfo_observer_point
exists[ ] I don't think level-change entities like
info_landmark
,trigger_transition
, ortrigger_changelevel
are useful in TF2[x]
info_lighting_relative
is obsolete with the introduction of LightingOrigin[ ] no reason to have
info_teleport_destination
wheninfo_target
exists[x]
keyframe_track
andmove_track
don't work (replaced withpath_track
)[ ]
BaseLight
can inheritBaseEntityPoint
so its children don't have to[ ] autosaving isn't a thing in TF2, so
logic_active_autosave
,logic_autosave
,trigger_autosave
,trigger_togglesave
, andplayer_loadsaved
have no point (also the former's Disable input says it enables the entity)[ ]
logic_auto
reads globals that do nothing in TF2; also doesn't need OnLoadGame 'cuz TF2 doesn't save games[ ]
logic_timer
defines Enable and Disable inputs despite already includingEnableDisable
; can also inheritToggle
to save an input[x]
multisource
is superseded by the entirety of the I/O system[ ] bonus maps aren't a thing in TF2, and I don't think
point_bonusmaps_accessor
is, either[ ]
test_traceline
explicitly has no reason to exist[ ]
tf_logic_boss_battle
andtf_logic_raid
are for a nonexistent gamemode[ ]
tf_logic_robot_destruction
's max_robots KV should be an integer[ ] newunit KV of
worldspawn
is useless because there's no such thing as saving a game in TF2[x]
env_shooter
's massoverride KV is explicitly stated to be episodic only; no point in having it here[ ]
keyframe_rope
can nomRopeKeyFrame
, and thenmove_rope
can inherit from it[x]
comp_prop_rope
can inherit all its KVs fromcomp_prop_cable
; same for their_dynamic
variants[x]
entity_sign
typos "Invasion" as "Invaison"[x] the description of
info_target
should use "e.g.," not "i.e."[ ]
func_achievement
is hardcoded and useless to mappers[ ]
func_brush
defines a Toggle input despite already includingToggle
. its excludednpc KV also says you can specify single entities in Episodic, but this isn't an Episodic game.[ ]
trigger_ignite_arrows
andtrigger_impact
already inherit origin KVs from BaseEntityBrush, thus not needing to inherit directly from theOrigin
class[ ]
trigger_push
only has SetPushSpeed in L4D2; also, its "Affects Ladders" spawnflag is supposedly HL2-only (and ladders don't work in TF2 anyway)[ ]
trigger_serverragdoll
is Episodic according to the wiki[ ]
trigger_teleport
defines spawnflags already defined by TriggerOnce[ ]
func_trackchange
doesn't have a Trigger input, onlyfunc_trackautochange
does[x]
phys_magnet
's "Coast jeep pickup hack" flag only works onprop_vehicle_jeep
, which is only in Half-Life games[ ] TF2 doesn't use NPCs with squads, so
npc_enemyfinder
is useless[ ]
prop_physics
doesn't need any of the ignition inputs, asBasePropPhysics
already has those[ ]
func_pushable
already inherits fromfunc_breakable
, so the only spawnflag it needs to define is 128 "Breakable"[ ]
func_water
doesn't even work in Source[ ]
BaseTank
doesn't need the FindNPC inputs or OnXController outputs I recognize this is a lot. there are probably reasons for some of these, but just in case, I'm listing all the things that stick out to me.