djcev.com

//

Git Repos / fte_dogmode / qc / triggers / repeater.qc

Last update to this file was on 2025-08-13 at 05:20.

Show repeater.qc

//==============================================================================
// trigger_repeater from MachineGames Dimension Of The Machine -- CEV
//==============================================================================

//======================================================================
// constants
//======================================================================

#if defined(CSQC) || defined(SSQC)
//----------------------------------------------------------------------
// trigger_repeater spawnflags -- CEV
//----------------------------------------------------------------------
typedef enumflags
{
SPAWNFLAG_TRIGGER_REPEATER_ON = 1
// SPAWNFLAG_NOT_ON_EASY = 256, // see base_entities.qc -- CEV
// SPAWNFLAG_NOT_ON_NORMAL = 512,
// SPAWNFLAG_NOT_ON_HARD_OR_NIGHTMARE = 1024,
// SPAWNFLAG_NOT_IN_DEATHMATCH = 2048,
// SPAWNFLAG_NOT_IN_COOP = 4096,
// SPAWNFLAG_NOT_IN_SP = 8192,
// SPAWNFLAG_NOT_ON_SKILL2 = 32768, // see base_entities.qc -- CEV
// SPAWNFLAG_NOT_ON_SKILL3 = 65536, // see base_entities.qc -- CEV
// SPAWNFLAG_CENTERPRINTALL = 131072 // see base_entities.qc -- CEV
} trigger_repeater_spawnflags;
#endif

//======================================================================
// forward declarations
//======================================================================

#ifdef SSQC
// trigger_repeater
void() trigger_repeater_think;
void() trigger_repeater_use;
void(entity e) trigger_repeater_init;
void() trigger_repeater;
#endif

//------------------------------------------------------------------------------

#ifdef SSQC
//----------------------------------------------------------------------
// class trigger_repeater: base_trigger
// {
//--------------------------------------------------------------
void() trigger_repeater_think =
{
sub_usetargets ();
self.nextthink = time + self.wait + (self.pausetime * random());
};

//--------------------------------------------------------------
void() trigger_repeater_use =
{
if (self.spawnflags & SPAWNFLAG_TRIGGER_REPEATER_ON)
{
// turn off
self.spawnflags &= ~SPAWNFLAG_TRIGGER_REPEATER_ON;
self.nextthink = 0;
self.think = sub_null;
}
else
{
// turn on
self.spawnflags |= SPAWNFLAG_TRIGGER_REPEATER_ON;
self.nextthink = time + self.wait +
(self.pausetime * random());
self.think = trigger_repeater_think;
}
};

//--------------------------------------------------------------
void(entity e) trigger_repeater_init =
{
e.classname = "trigger_repeater";
e.classtype = CT_TRIGGER_REPEATER;
base_trigger_init (e);

if (!self.wait)
self.wait = 1;

self.use = trigger_repeater_use;

if (self.spawnflags & SPAWNFLAG_TRIGGER_REPEATER_ON)
{
self.nextthink = time + self.wait +
(self.pausetime * random());
self.think = trigger_repeater_think;
}
else
{
self.nextthink = 0;
self.think = sub_null;
}
};

//--------------------------------------------------------------
void() trigger_repeater =
{
BASE_TRIGGER_PREINIT (base_trigger_init_field)
trigger_repeater_init (self);
};
// }
#endif

Return to the top of this page or return to the overview of this repo.

Log repeater.qc

Date Commit Message Author + -
2025-08-13 Another big commit. Item changes, field rework, etc. cev +105  

Return to the top of this page or return to the overview of this repo.