summaryrefslogtreecommitdiff
path: root/game/client/tf/c_obj_sapper.cpp
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/tf/c_obj_sapper.cpp
downloadarchived-source-engine-2018-hl2-src-3bf9df6b2785fa6d951086978a3e66f49427166a.tar.xz
archived-source-engine-2018-hl2-src-3bf9df6b2785fa6d951086978a3e66f49427166a.zip
Diffstat (limited to 'game/client/tf/c_obj_sapper.cpp')
-rw-r--r--game/client/tf/c_obj_sapper.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/game/client/tf/c_obj_sapper.cpp b/game/client/tf/c_obj_sapper.cpp
new file mode 100644
index 0000000..6877438
--- /dev/null
+++ b/game/client/tf/c_obj_sapper.cpp
@@ -0,0 +1,54 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#include "cbase.h"
+#include "hud.h"
+#include "c_obj_sapper.h"
+#include "c_tf_player.h"
+#include <igameevents.h>
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+using namespace vgui;
+
+//-----------------------------------------------------------------------------
+// Purpose: Start thinking
+//-----------------------------------------------------------------------------
+void C_ObjectSapper::OnDataChanged( DataUpdateType_t type )
+{
+ BaseClass::OnDataChanged( type );
+
+ if ( type == DATA_UPDATE_CREATED )
+ {
+ SetNextClientThink( CLIENT_THINK_ALWAYS );
+ }
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: Create the sparking effect if we're built and ready
+//-----------------------------------------------------------------------------
+void C_ObjectSapper::ClientThink( void )
+{
+ IGameEvent *event = gameeventmanager->CreateEvent( "building_info_changed" );
+ if ( event )
+ {
+ event->SetInt( "building_type", OBJ_ATTACHMENT_SAPPER );
+ event->SetInt( "object_mode", GetObjectMode() );
+ gameeventmanager->FireEventClientSide( event );
+ }
+}
+
+float C_ObjectSapper::GetReversesBuildingConstructionSpeed( void )
+{
+ float flReverseSpeed = 0.0f;
+ CALL_ATTRIB_HOOK_FLOAT_ON_OTHER( GetBuilder(), flReverseSpeed, sapper_degenerates_buildings );
+
+ return flReverseSpeed;
+}
+
+IMPLEMENT_CLIENTCLASS_DT(C_ObjectSapper, DT_ObjectSapper, CObjectSapper)
+END_RECV_TABLE() \ No newline at end of file