From 521ebc8a5b769ba5720d33d9eb7af6dc1c96b112 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Sat, 17 Aug 2019 19:36:50 -0700 Subject: [PATCH] trigger_gravity added. --- Source/gs-entbase/server/trigger_gravity.cpp | 47 ++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Source/gs-entbase/server/trigger_gravity.cpp diff --git a/Source/gs-entbase/server/trigger_gravity.cpp b/Source/gs-entbase/server/trigger_gravity.cpp new file mode 100644 index 00000000..18f2a803 --- /dev/null +++ b/Source/gs-entbase/server/trigger_gravity.cpp @@ -0,0 +1,47 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class trigger_gravity:CBaseTrigger +{ + float m_flGravity; + void() trigger_gravity; + virtual void() touch; +}; + +void trigger_gravity::touch(void) +{ + other.gravity = m_flGravity; +} + +/* TODO: Make this redundant */ +void trigger_gravity::Respawn(void) +{ + solid = SOLID_TRIGGER; +#ifdef GS_DEVELOPER + alpha = 0.5f; +#endif +} + +void trigger_gravity::trigger_gravity(void) +{ + print(__fullspawndata); + print("\n"); + + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { + case "gravity": + m_flGravity = stof(argv(i + 1)); + break; + default: + break; + } + } + trigger_gravity::Respawn(); + CBaseEntity::CBaseEntity(); + CBaseTrigger::InitBrushTrigger(); +}