As Season 2 of Heroes of the Interstellar Armed Forces comes to an end, we are changing the competition from quarterly to monthly. We’ve also got a wide assortment of bugfixes and a few new VScript functions.
- Jacob’s Rest: Rydberg Reactor: Fixed a bug in the ending area where marines could jump with jump jets underground to their death.
- Area 9800: Power Plant’s Generator: Fixed narrow catwalks negatively affecting AI pathing.
- Operation Cleansweep: Landing Bay 7: Removed an invisible ceiling near the south egg room to prevent unintuitive grenade trajectories.
- Operation Cleansweep: U.S.C. Medusa: Pods will now reopen if a marine leaves, rather than if they are fully empty.
- Research 7: Illyn Forest: Fixed generator being targetable by marine bots.
- Tears for Tarnor: Oasis Colony Spaceport: Fixed a soft lock if a boomer used in a cinematic is killed early due to a challenge.
- Tilarus-5: SynTek Hospital: Reworked countdown at end of mission.
- Lana’s Escape: Lana’s Bridge: Fixed escape objective not updating when a marine dies.
- Lana’s Escape: Lana’s Sewer: Fixed escape objective not updating when a marine dies.
- Lana’s Escape: Lana’s Complex: Expanded the evacuation zone.
- Paranoia: Crucial Point: Reworked the final encounter. Marines must now defend a generator. If the generator is damaged, it will stop the completion progress until fixed by a tech. If no marine is near the generator, it will take additional damage.
- Nam Humanum: Logistics Area: Reworked geometry near a fire.
- Nam Humanum: Groundwork Labs: Fixed a large door being able to be damaged, which would cause it to get stuck.
- BioGen Corporation: Invisible Threat: Added markers and a visual clue for the fan room to make it easier to navigate for players who do not know the way.
- Bonus Mission 7: Fixed narrow catwalks negatively affecting AI pathing.
- Added Queen sound effects from the City 17 campaign.
- Fixed piercing chance calculation for bullets that went through a door or other non-living object. (A 200% chance, 290% chance, and 300% chance now all become 100% chance of piercing another target rather than 0%, 90%, and 0%.)
- M868 Flamer Unit: Doubled ammo per clip and ammo usage. Primary attack now uses one unit of fuel per shot.
- IAF Minigun: Doubled ammo per clip and ammo usage. Primary attack now uses one unit of ammo per shot.
- Updated Chinese translation.
- Updated German translation.
- Updated Italian translation.
- Updated Japanese translation.
- Updated Russian translation.
- Fixed non-Workshop addons acting as if they were disabled in the mission chooser.
- Fixed a crash at startup if the PATH environment variable was very long.
- Added an advanced setting to reduce motion on menus.
- Improved keyboard/controller navigation on Advanced Settings and Game Settings.
- Added a warning on the lobby list if you have a different version of a map than the host.
- prop_dynamic now uses server-driven animation timing. This fixes vault door opening animations getting desynchronized, but increases network bandwidth requirements in missions that use a lot of animated props.
- Fixed npc_bullseye failing to compile due to a key being too long.
- npc_bullseye now inherits AI relationships from its faction and is not an enemy of all by default.
- ai_relationship now delays applying its effect to gameplay start rather than map spawn.
- Added new VScript class TempEnts which allows creating Temporary Entities on clients.
- Added new global VScript functions to use when creating Temporary Entities.
- Added the PlayerVoiceListener class to VScript with access to the following functions.
- Added new VScript functions for CASW_Player.
void Create( CBasePlayer player, string name, float delay, table )
Queue a temp entity for transmission on a client from a passed table of SendProp data.
Passing null for a player will playback Temp Entity on all clients.
void GetPropTypes( string name, table )
Fills in a passed table with all SendProps and their types for the temp entity
void GetNames( table )
Fills in a passed table with the names of all temp entities
bool IsPlayerSpeaking( int nPlayerIndex )
Returns whether the player specified is speaking.
float GetPlayerSpeechDuration( int nPlayerIndex )
Returns the number of seconds the player has been continuously speaking.
int PrecacheParticleSystem( string name )
Precaches a particle material
int GetParticleSystemIndex( string name )
Converts a previously precached material into an index
string GetParticleSystemNameFromIndex( int index )
Converts a previously precached material index into a string
void PrecacheEffect( string name )
Precaches an effect
int GetEffectIndex( const char *name )
Converts a previously precached effect into an index
string GetEffectNameFromIndex( int index )
Converts a previously precached effect index into a string
int GetDecalIndexForName( string name )
Get decal index from a string
Returns entity the player is inhabiting
Returns entity the player is spectating
Returns entity the player is spectating, else will return inhabiting entity
Returns the marine the player is commanding
Finds the nearest entity in front of the player
Returns the world location directly beneath the player’s crosshair