1. Alien Swarm: Reactive Drop
  2. News

Alien Swarm: Reactive Drop News

Alien Swarm: Reactive Drop Update - January 24, 2022

  • Reverted dedicated server workshop change as it was causing problems.
  • Fixed CDirector.FindHordePosition VScript function returning garbage data.
  • Fixed missing horde sound effects.

Alien Swarm: Reactive Drop Update - January 23, 2022

Happy new year! Here are some updates, mostly targeted towards mappers and modders.

Map Changes
  • Fixed a navigation issue near an optional supply room in Rydberg.
  • The fire extinguisher near the end of Rydberg now uses the new temporary pickup mechanic.


Stats
  • Fixed the stats option in briefing going to an obsolete website.
  • Fixed stats not being recorded for the 22A5 Heavy Assault Rifle, IAF Medical SMG, and TG-05 Gas Grenades.


Lobbies
  • Kicking a lobby's original leader no longer prevents them from creating lobbies for 5 minutes.
  • The lobby creation UI will remember whether the last lobby you created was public or friends-only.
  • Fixed a delay when restarting the mission if a player disconnected during the vote.
  • The "Take a Break" option on the ESC menu is now disabled if the server doesn't allow it to be used.


Dedicated Server
  • Added rd_adjust_mod_dont_load_vertices, which sets mod_dont_load_vertices on dedicated servers. This prevents the dedicated server from loading the vertices for models, reducing memory usage.
  • Enabled the rm_welcome_message and rm_welcome_message_delay cvars.
  • The server now performs a cleaner shutdown when rd_server_shutdown_after_num_secs is set.
  • Fixed the 64 FPS server limit on Windows 10 build 2004 and newer.
  • Fixed physics simulation issues when the tick rate is changed from the default.
  • Dedicated servers now update workshop items asynchronously at startup. (reverted for now)


Misc
  • Fixed the heal beacon's first heal reading uninitialized memory.
  • Fixed a sentry duplication exploit.
  • The game instructor will no longer suggest interacting with disabled button and computer areas.
  • Fix computers that have just been hacked not allowing options other than download data and remote turrets to be selected until the user logs out.
  • Added rd_prediction_strategy. Set this cvar to 1 to test the new prediction error handling, which works better on moving platforms but may be buggy.
  • Bot marines can now use the secondary fire on the IAF Medical SMG.
  • Fixed some cases where the game would try to write to the files of an unpacked addon rather than its own base directory.
  • If no env_tonemap_controller exists on the level, one will be automatically created and sent the input SetBloomScale 0.25.
  • The director will only warn once about a level not having a nodegraph.
  • Fixed escape chatter happening early if the escape objective was not last on the list.
  • Explicitly failing an optional objective no longer fails the mission.
  • "Keep Mouse Inside Window" is usable in exclusive fullscreen mode for multi-monitor setups.


Challenge ConVars
  • Added rd_biomass_damage_from_explosions for challenges; if set to 1 then biomass will take full damage from explosions.
  • asw_marine_friction, asw_marine_gravity, and asw_sv_maxspeed are now cheat cvars.
  • Added asw_turret_dmg_override to change the damage per shot of the remote turret.
  • Added asw_sentry_top_machinegun_dmg_override and asw_sentry_top_flamer_dmg_override.
  • Added asw_sentry_top_machinegun_fire_rate and asw_sentry_top_cannon_fire_rate.
  • Added asw_sentry_top_cannon_dmg_override. This affects the base damage. The actual damage is determined by the marine's explosives skill.


Modding / SDK
  • Weapons can be set as "temporary", which makes them use a new weapon slot and forces them to be dropped instead of stowed.
  • Added rd_weapon_generic_object, which can be used for generic carryable objects.
  • Added rd_tilegen_instance for further randomization of tilegen tiles.
  • Added trigger_asw_marine_melee for detecting a melee attack aimed at a target.
  • Added asw_filter_marine_class.
  • Added rd_boss_bar. See example_boss_bar.vmf for examples of how to use the new entity.
  • Reorganized trigger_asw_computer_area to put related fields closer together in Hammer.
  • Up to 3 cameras and remote turrets can be assigned to a trigger_asw_computer_area. The computer UI still has a limit of 6 options on the menu.
  • Fixed trigger_asw_door_area not using its Start Disabled field.
  • Added a field to trigger_asw_button_area that allows mappers to require a button be held down for an amount of time.
  • Added "Can Player Weld" to asw_door.
  • Added an Extinguish input to asw_alien_goo.
  • Added ResetMarineIntensity and SpawnHordeSoon inputs to asw_director_control.
  • Added OnStartedUsing and OnStoppedUsing outputs to asw_remote_turret.
  • Added outputs for failed fast hacks to trigger_asw_button_area and trigger_asw_computer_area.
  • Corrected the skins for many pickups in Hammer.
  • VRAD now runs with an automatic number of threads by default (previously 4).
  • Added several VScript functions to CDirector and many functions for nodes.
  • Added support for multi-layer minimaps.
  • Added a JumpUp VScript function for asw_parasite.
  • Added a field to asw_stylincam that allows changing the commander face sprite.


[h2]New VScript Functions[/h2]
Global
  • Vector GetHullMins(int hullType) - Returns a Vector for the hull mins (hullType)
  • Vector GetHullMaxs(int hullType) - Returns a Vector for the hull maxs (hullType)

CDirector
  • void SpawnHordeSoon() - Queue a horde to spawn soon (the same logic as when a hack starts)
  • float GetTimeToNextHorde() - Get the current number of seconds until the director will try to spawn a horde
  • void SetTimeToNextHorde(float seconds) - Force the horde countdown timer to be set to this number of seconds
  • Vector FindHordePosition(bool north) - Get a random position where a horde can spawn (returns null on fail)
  • int IsSpawningHorde() - Get the number of aliens remaining to spawn in the current horde

InfoNodes
  • CAI_Node GetNearestNodeToPoint(CBaseEntity npc, Vector position) - Returns the node nearest to origin with optional npc parameter
  • int GetAllNearestNodes(CBaseEntity npc, Vector position, int maxNodes, table) - Fills a passed in table of x nearest nodes to origin with optional npc parameter
  • void GetAllNodes(table) - Fills a passed in table of all nodes
  • CAI_Link CreateLink(int srcID, int destID) - Creates a new link from srcID to destID and returns the link

CAI_Node
  • int GetId() - Get node ID
  • Vector GetOrigin() - Get node origin
  • Vector GetPosition(int hullType) - Hull specific position for a node
  • float GetYaw() - Get node Yaw
  • int GetZone() - Get node zone
  • void SetZone(int zone) - Set node zone
  • int GetType() - Get node type
  • void SetType(int type) - Set node type
  • bool IsLocked() - Returns true if node is locked
  • void Lock(float duration) - Locks the node for x seconds
  • void Unlock() - Unlocks the node
  • int NumLinks() - Number of links for node
  • void ClearLinks() - Clears all links from node
  • CAI_Link GetLink(int nodeID) - Get link to dest node ID
  • CAI_Link GetLinkByIndex(int index) - Get link by index
  • int GetInfo() - Get node info
  • void SetInfo(int info) - Set node info
  • void AddLink(CAI_Link newLink) - Adds a link to this node
  • void RemoveLink(CAI_Link link) - Removes a link from this node
  • void DebugDrawNode(int r, int g, int b, float duration) - Draw node as a box of the given color for x seconds

CAI_Link
  • int GetSrcNodeID() - Get the ID of the node that 'owns' this link
  • int GetDestNodeID() - Get the ID of the node on the other end of the link
  • int GetAcceptedMoveTypes(int hullType) - Get the Capability_T of motions acceptable for passed hull type
  • int GetLinkInfo() - Get other information about this link
  • float GetTimeStaleExpires() - Returns the amount of time until this link is available again
  • int GetDangerCount() - Returns how many dangerous things are near this link
  • void SetLinkInfo(int info) - Sets information about this link
  • void SetTimeStaleExpires(float duration) - Sets the amount of time until this link is available again
  • void SetDangerCount(int count) - Sets how many dangerous things are near this link
  • void SetAcceptedMoveTypes(int hullType, int moveType) - Set the Capability_T of motions acceptable for passed hull type
  • CAI_DynamicLink GetDynamicLink() - Returns the info_node_link entity for this link or null if it doesn't exist

CAI_DynamicLink
  • bool IsLinkValid() - Returns true if the dynamic link has a corresponding node link
  • void TurnOn() - Enables node link connections
  • void TurnOff() - Disables node link connections
  • CAI_Link FindLink() - Returns the node link or null if not found
  • CAI_Node GetSrcNode() - Returns the node that 'owns' this link
  • CAI_Node GetDestNode() - Returns the node on the other end of the link

Added the following enums to script:
  • AI_NODE_ZONE_UNKNOWN
  • AI_NODE_ZONE_SOLO
  • AI_NODE_ZONE_UNIVERSAL
  • AI_NODE_FIRST_ZONE
  • bits_LINK_STALE_SUGGESTED
  • bits_LINK_OFF
  • bits_LINK_PRECISE_MOVEMENT
  • bits_PREFER_AVOID
  • bits_LINK_ASW_BASHABLE


[h2]Multi-Layer Minimaps[/h2]
The AS:RD version works similarly to the CS:GO version, apart from the following changes:
  • We use vmt and vtf files as usual, not dds.
  • The "default" section can be omitted and the previously-existing "material" field is used for any space that does not have a vertical section assigned to it.
  • Instead of "lower" and "higher" in the example being part of the material name, they are the entire material name.
  • If an altitude value is omitted, it takes the largest value (positive or negative) that a coordinate can have in Hammer.

Implementation details:
  • The altitude values correspond to the position of the player's feet.
  • There is a maximum of 64 "slices", which can be from 32 to 64 actual layers depending on whether the max matches the next one's min.
  • This does NOT affect the briefing or ingamebriefing maps, only the minimap.

Alien Swarm: Reactive Drop Update - July 22, 2021

[h3]Changelog[/h3]
  • Fix two stuck points on TimorStation
  • Fix stuck point on StorageFacility
  • Add back units for marines on DesertOutpost
  • Fix bright decal on bonus_mission3
  • Remove clip brush on RoadToDawn, add pallet bridge to exit stuck area
  • Fix nodegraph and stuck point on LandingBay
  • Improve nodegraph on Rydberg
  • Mark asw_marine_rolls and some others as cheat cvar
  • Fix addonlist_workshop.txt gets reset if Steam cloud is disabled
  • Add support for negative firesource damage
  • Allow enabling the asw_broadcast_camera for specified player index. This commit adds EnableForPlayerIndex(integer) input for asw_broadcast_camera. Player index can be obtained by using !activator which is hMarine in the code below: local playerindex = hMarine.GetCommander().GetPlayerUserID().tointeger() - 1;
  • Fix multiple marine resources could be inhabited by the same player. This caused bugs in code that assumes that only one marine resource can be inhabited by a player.
  • Fix drone warping through marines on ASBI. Warping through marines happened with asw_drone_acceleration 10.
  • Restore higher drone acceleration for ASBI challenge
  • Add rd_horde_from_exit ConVar. If set to 0 hordes and wanderers cannot spawn in map exit zone. 1 by default.
  • Make baits invisible when sentry is deployed.
  • Make rd_slowmo non-cheat ConVar
  • Make shaman emit pain and death sounds(silent by default). These sounds can be implemented by workshop addons currently.
  • Add rd_grub_health ConVar. Also fix an issue that grubs are not instantly squashed by marines stepping on them.
  • Add rd_shaman_healing_speed ConVar. Number of health shaman gives per second. 0 means old behavior, shaman heals ~40% of max health in 1 second. 0 by default.
  • Add rd_console_debug_xp ConVar to toggle xp messages in console
  • Add vscript function TraceLineTable like L4D2. See https://developer.valvesoftware.com/wiki/List_of_L4D2_Script_Functions/TraceLine Signature : void TraceLineTable(table)
  • Add rd_medgun_medkit_refill_amount ConVar. If set to value greater that 0 then healgun will be refilled when medkit is picked up. Prevents heal guns from being destroyed on empty
  • Allow ASBI RNG3 and ASBI Turbo in leaderboards
  • Add garagedoor_open_twosided.mdl
  • Fix tft2AbandonedMaintenance has a gray wall instead of entrance
  • Add marine_anims.mdl. This can be used as a base for marine animations.
  • Update femalemarine.mdl to fix issue with hand animations

  • Update CNetPropManager for VScript
    - Fixed being able to access out-of-memory data when searching for props.
    - Added an optional method to search only the SendTable or DataMap for a prop. Example: "SendTable." or "DataMap."
    - Added support for accessing props inside an array.
    - Updated GetPropType to return "bool" or "instance" instead of only returning "integer" for boolean and EHandle props.
    - Added the following new script functions:
    GetPropBool( entity, propertyName )
    GetPropBoolArray( entity, propertyName, arrayElement )
    SetPropBool( entity, propertyName )
    SetPropBoolArray( entity, propertyName, value, arrayElement )
    GetPropInfo( entity, propertyName, arrayElement, table ) //Fills in a passed table with property info for the provided entity
    GetTable( entity, iPropType, table ) //Fills in a passed table with all props of a specified type for the provided entity (set iPropType to 0 for SendTable or 1 for DataMap)

  • Update CScriptEntityOutputs for VScript
    - Added the following new script functions:
    AddOutput( entity, outputName, targetName, inputName, parameter, delay, timesToFire )
    RemoveOutput( entity, outputName, targetName, inputName, parameter )

  • Add backpacks to marine bodies and make some trees non-solid on ForestEntrance
  • Fix issues with res4mines. Prevent queen from getting stuck.

Alien Swarm: Reactive Drop Update - December 3, 2020

[h3]Changelog[/h3]
  • Fixed an issue that AI can be disabled after challenge was active
  • Added rd_fast_reload_explode_chance, rd_fast_reload_explode_damage, rd_fast_reload_explode_radius ConVars. Controls the chance for marine weapon to explode on failed fast reload. Disabled by default. To be used in user challenges.
  • Fixed asw_simple_hacking not working on terminals without objective set

Alien Swarm: Reactive Drop Update - August 17, 2020

[h3]Changelog[/h3]
  • Fix a security vulnerability in source engine
  • Fix 'Out of thread ids' error for CPUs that have 32+ threads
  • Improve game time scale changes in the engine
  • Make asw_target_dummy display results more accurately
  • Add net_graph 5 support. Won't draw a red graph if 5
  • Fix possible crash related to workshop previews
  • Add rd_auto_fast_restart convar. Set to 1 to restart mission on fail automatically
  • Fix Bonus Mission 7 tech marine requirement. It was not disabled after last hack was done
  • Remove demo speedup & host_timescale changes
  • Make wire hacks more complex in Bonus Mission 1
  • Add ASBI Weapon Balancing RNG challenges to allowed leaderboards
  • Make flashlight turn off when marine drops it
  • Prevent fov_desired setting to 90
  • Add rd_gas_grenade_ff_dmg cvar. Gas grenade will cause fixed friendly fire damage, 10 dmg per 0.3 seconds.