nuclide/Source/gs-entbase/server/trigger_once.cpp
Marco Hladik 9ce909e291 - Added Rewolf decore_* entities from the demo
- Added early Rewolf Health/Armor HUD variants
- Added original scoreboard from the early Half-Life versions for valve/scihunt/rewolf
- Fixed some skybox behaviour to only apply to BSP30
- Changed the env_message and game_text display to use "creditsfont" instead of the conchars
- Tweaked damage radius and prediction for some entities and weapons
- Added world_items
- Added item_healthkit
- Added item_battery
- Fixed level transition logic
- impulse 101 now fills up health and armor/suit in mod valve
- Some tweaks to Damage_Apply so that healing can be performed without funky visuals
- Added stub monsters for valve/rewolf that'll soon support scripted sequences
- Tweaked chat system to get rid of quotation marks around messages
- Added support for changing the window caption to reflect the mod you're playing
- Lots of small little things in terms of cleanup
2019-03-19 20:01:24 +01:00

63 lines
1 KiB
C++

/***
*
* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved.
*
* See the file LICENSE attached with the sources for usage details.
*
****/
// TODO: These are missing
enumflags
{
TO_MONSTERS,
TO_NOCLIENTS,
TO_PUSHABLES
};
class trigger_once:CBaseTrigger
{
float m_flDelay;
void() trigger_once;
virtual void() touch;
virtual void() Respawn;
};
void trigger_once::touch(void)
{
eActivator = other;
if (m_flDelay > 0) {
CBaseTrigger::UseTargets_Delay(m_flDelay);
} else {
CBaseTrigger::UseTargets();
}
solid = SOLID_NOT;
#ifdef GS_DEVELOPER
alpha = 0.001f;
#endif
}
/* TODO: Make this redundant */
void trigger_once::Respawn(void)
{
solid = SOLID_TRIGGER;
#ifdef GS_DEVELOPER
alpha = 0.5f;
#endif
}
void trigger_once::trigger_once(void)
{
for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) {
switch (argv(i)) {
case "delay":
m_flDelay = stof(argv(i + 1));
break;
default:
break;
}
}
trigger_once::Respawn();
CBaseEntity::CBaseEntity();
CBaseTrigger::InitBrushTrigger();
}