From Valve Developer Community
Jump to: navigation, search

<Alien Swarm> asw_marine is a point entity available in Alien Swarm.

Entity description

This entity is the actual marine entity the player can "inhabit".

It features two "modes", when it's "inhabited" by a player and when it's not. The main differences between those "modes" is which think function is called, and how much control the AI has on the marine. Some more information is provided here : Swarm C++ Code Overview

Using the think function

The think function of the marine entity work differently than the others. The actual Think funtion of the asw_marine entity is only called when the marine isn't "inhabited" by a player.

Here's a developer comment about this : ..\src\game\server\swarm\asw_marine.cpp - line 822

// think only occurs when uninhabited  (in singleplayer at least, not sure about multi)
// this is because we're not calling BaseClass::PhysicsSimulate
void CASW_Marine::Think( void )

The bulk of the "think code" for the asw_marine entity is located in the CASW_Marine::ASWThinkEffects() function instead. It is called whether the player "inhabits" the marine or not.