Left 4 Dead 2 Tool Updates
From Valve Developer Community
This is a reference of what is new in the Left 4 Dead 2 Authoring Tools for those transitioning from L4D 1 editing.
New Hammer features
- Multiple cordon creation is now possible for more precise control of cordoned regions.
- Cordons can now be added to VisGroups and toggled on/off like any other group.
- Added VMF Instancing which allows referencing external .VMF content into your map whose changes is automatically reflected in your main map upon reload. (accomplished using func_instance entity)
- Added new Heat Map tool which can be found under the Tools menu.
New L4D 2 level design features
- Added automatic A.I. Director controled weapon/item/upgrade spawn entities: "weapon_spawn", "weapon_item_spawn", and "upgrade_spawn"
- Updated info_gamemode entity to include the new game modes.
- Added info_director_query which allows scripting custom events based on how 'angry' the director is (how well/bad the survivors are doing).
- Added L4D 2 Add-on Support tool, which makes all the L4D 1 assets (models/textures) available in both Hammer, and in-game for players/developers running old addons in L4D 2.
- Note:The L4D2 Add-on Support tool is no longer needed. Assets from L4D1 are now included by default.
- filter_activator_model updated to allow scripting buttons/events that only a specific survivor can activate. (Such as allowing only Nick to be able to hot-wire a car, or making a trap that only Coach can activate due to his weight.)
- Map Properties: (Map-->Map Properties): You can now determine the time of day for your map. This will tell the AI Director to spawn a walking "daytime" Witch or a sitting "nighttime" Witch. (Any time of day when the sun is out, including "Dawn", "Morning" and "Afternoon", will spawn daytime Witches that wander.)
- Map Properties: You can determine which music style the AI Dir should play during events, horde announcements, etc in the Music Post-Fix String field.
MallDead Center style
DeadLightThe Passing style
FairgroundsDark Carnival style
PlankcountrySwamp Fever style
MilltownHard Rain style
BigEasyThe Parish style
- Prohibiting Tank and Witch spawns on a map is no longer determined in the missions.txt file. You must now use scripts for that and have a logic_auto trigger said script to the Director.
To do: Add info about the new addoninfo.txt/mission.txt features, as well as Nav Mesh features
New L4D 2 Entities
- sound_mix_layer - Allows setting the levels of a specific sound mix layer.
- ambient_music - Can override the Music Director, forcing a custom wav file to play in the music mix layer.
- info_particle_target - Allows marking areas in the map for particle systems with control points to reference
- env_instructor_hint - Allows creation and control of instructor messages through map logic (finally!)
- logic_script - Container for scripts (No way to create custom scripts with this version of the tools yet, but you can call the original l4d 2 scripts.)
- func_timescale - Adjust the time scale of the server/client through map logic (slow-mo scene at end of Dead Center finale)
- func_block_charge - The Charger will not charge through this brush.
- info_ambient_mob_start - Potential starting area for an ambient mob
- info_ambient_mob_end - Potential end area for an ambient mob
- info_ambient_mob - universal ambient mob start/end (use with care)
- env_airstrike_indoors - Adds an airstrike effect for indoors (crumbling ceiling)
- trigger_active_weapon_detect - Fires output when touched by a player that has a specific weapon active
- player_weapon_strip - removes specific weapon or active weapon
- point_nav_attribute_region - Holds attributes to be applied to regions of nav areas during generation
- game_scavenge_progress_display - Allows turning the scavenge score display on/off as well as setting the total items required.
- filter_melee_damage - Can filter based on melee damage, and the type (all, slash or club)
- filter_health - Can filter based on the health of the activator, and wheter they have adrenaline active or not
- prop_mounted_machine_gun - A .50 Cal mounted machine gun.
- info_zombie_border - Zombies will not spawn behind this entity.
- func_playerghostinfected_clip - Blocks ghost infected.
- func_nav_connection_blocker - Blocks nav meshs (on creation) from being connected through it's volume.
- weapon_** - new weapon and item entities
- weapon_spawn - Allows for procedural spawning of guns. You can specify a particular weapon, a general tier, or a type such as any shotgun or any pistol.
- weapon_item_spawn - Spawn one of any of a number of items including first aid kits, pills, adrenaline, bile jars, chainsaws, etc. For any spawn location, you may specify which items may or may not appear.
- upgrade_spawn - Allows the director to place gun upgrades: laser sights, explosive ammo, and incendiary ammo.
- weapon_melee_spawn - Allows the director to place melee weapons. It's possible to specify what weapons can possibly be spawned. Which melee weapons you want the AI Dir to spawn is determined in the Melee Weapon field. The list is as follows:
fireaxe; crowbar; cricket_bat; baseball_bat; knife; electric_guitar; machete; frying_pan; katana; tonfa; riotshield(??)
L4D 1 entity updates
- WorldSpawn (Map Properties) - Can now choose time of day (evening, midnight, etc..), music post-fix name (for Music soundscripts to reference), as well as starting music type (Mission Start, Check Point)
- env_tonemap_controller - Can now set TonemapPercentBrightPixels, and other settings.
- func_orator - Now allows setting the max legal followup distance for automatic responses
- env_fog_controller - Has new entrys/inputs for settings such as Set2DSkyboxFactorLerpTo (Amount of fog to blend into 2d Skybox to lerp to)
- postprocess_controller - Can now dynamically alter film grain and vignette strength
- sky_camera - Added additional options for customizating plane clipping offsets, etc
- point_spotlight - Added option to set Halo size
- info_particle_system - Added setting to allow forcing particles to always render infront of everything
- func_movelinear - Added ResetPosition/TeleportToTarget
- func_rotating - Added SnapToStartPosition
- prop_door_rotating - Added 'glow' option
- logic_auto - Added 'OnDemoMapSpawn' output
- point_hurt - Added additional damage type: "FULLGIB"
- trigger_hurt - Added additional damage type: "FULLGIB", and the option to have it 'think' every frame instead of every half second. (Expensive!)
- All props now have a 'Lag Compensation' toggle. (Use sparingly!)
- prop_physics - Added OnHitByTank output, for creating custom events when a prop is punched by the tank.
- func_precipitation - Added Rain Storm, Bugs, and Smoke
- func_push - Added OnStartTouch output, and input SetMaxSpeed to allow setting the push speed dynamically
- point_viewcontrol_multiplayer - Updated with additional inputs, toggles, and most importantly it now supports 'Target Entity' to easily create simple smooth gliding intro animations without relying on custom model animations.
- prop_car_alarm - Added ability to enable/disable
- func_nav_blocker - Added toggle to determine if nav flow should be recomputed or not
- NavAttributeRegion - Added many more attributes such as 'Obscured', 'Rescue Closet', as well as toggles for defining the area as 'precise', and/or 'crouch'
- func_elevator - Added input to set max speed dynamically
- info_director - Added many outputs to fully customize scavenge games, also includes scripting and journal support.
- filter_activator_infected_class - Added the new special infected
- info_survivor_position - Can now be tied to a specific gamemode, and given a specific intro to play
- trigger_finale - Added types selection: "Standard" "Gauntlet" "Custom" "Scavenge", and a property to define max points for scavenge mode.
- info_gamemode - Added additional game modes, added OnNavAnalyze output which is fired only when map is loaded with -navanalyse command line option set
- beam_spotlight - Added NoFog spawnflag.
New Half-Life Model Viewer features
- Added Co-LocatedVerts to render mode options.
- Added ability to view model specific origin points as well as adjust the visual length. (Useful for distanced animated models like planes and intro cameras).
- Added additional options for viewing specific individual HitBoxes.
- Added ability to load/save custom HitBox data to Bones tab. (Uses .HBX extention)
- Added drop down to Render tab that lists all additional models being referenced by the QC file.
- Added mouse-look/walking/head movement animation blend sliders to Sequence tab to easily compare blended unique animations with common gameplay movements.
- Added drop down to Model tab that lists all materials the models QC file is referencing.
New Tools Mode features
- Many tweaks to the Particle Editor making it more streamlined/stable.
- Particle selection list is no longer a long text list, but an actively rendered thumbnail preview gallery.
- If you find missing models/textures when you load your old map in the new tools, make sure you have the L4D 2 Add-on Support Tools fully loaded. Bug: Some L4D 1 assets are still missing
- Report the missing model/texture names to Valve in the Steam forums and they will be added to the L4D 2 Add-on Support tool.
- Recent changes to the lighting engine in L4D 2 now forces materials applied to brushes to comform to the correct shader. VertexLitGeneric textures will appear full white when applied incorrectly to brushes.
- Certain blend textures when applied on a non-displacement surface, will have the opposite texture applied by default than what was applied in the original tools.
- func_button_timed was removed from L4D 2 for some odd reason. Note:func_button_timed was recently reintroduced in L4D2 in The Sacrifice update
- Prop_minigun is also missing from L4D 2, but Valve is already aware of this.
- func_precipitation is missing it's alpha input which is required to use the Rain Storm particle effect properly. You may still reference Alpha in entity IO, but Hammer will highlight it red. (You can ignore Hammers warning)