Quake II RTX doxygen
1.0 dev
|
|
Go to the source code of this file.
|
void | InitTrigger (edict_t *self) |
|
void | multi_wait (edict_t *ent) |
|
void | multi_trigger (edict_t *ent) |
|
void | Use_Multi (edict_t *ent, edict_t *other, edict_t *activator) |
|
void | Touch_Multi (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | trigger_enable (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_trigger_multiple (edict_t *ent) |
|
void | SP_trigger_once (edict_t *ent) |
|
void | trigger_relay_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_trigger_relay (edict_t *self) |
|
void | trigger_key_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_trigger_key (edict_t *self) |
|
void | trigger_counter_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_trigger_counter (edict_t *self) |
|
void | SP_trigger_always (edict_t *ent) |
|
void | trigger_push_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | SP_trigger_push (edict_t *self) |
|
void | hurt_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | hurt_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | SP_trigger_hurt (edict_t *self) |
|
void | trigger_gravity_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | SP_trigger_gravity (edict_t *self) |
|
void | trigger_monsterjump_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | SP_trigger_monsterjump (edict_t *self) |
|
◆ PUSH_ONCE
◆ hurt_touch()
void hurt_touch |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
cplane_t * |
plane, |
|
|
csurface_t * |
surf |
|
) |
| |
Definition at line 434 of file g_trigger.c.
438 if (!
other->takedamage)
444 if (self->spawnflags & 16)
449 if (!(self->spawnflags & 4)) {
451 gi.sound(
other, CHAN_AUTO, self->noise_index, 1, ATTN_NORM, 0);
454 if (self->spawnflags & 8)
Referenced by SP_trigger_hurt().
◆ hurt_use()
void hurt_use |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
edict_t * |
activator |
|
) |
| |
Definition at line 421 of file g_trigger.c.
423 if (self->solid == SOLID_NOT)
424 self->solid = SOLID_TRIGGER;
426 self->solid = SOLID_NOT;
429 if (!(self->spawnflags & 2))
Referenced by SP_trigger_hurt().
◆ InitTrigger()
void InitTrigger |
( |
edict_t * |
self | ) |
|
◆ multi_trigger()
void multi_trigger |
( |
edict_t * |
ent | ) |
|
◆ multi_wait()
void multi_wait |
( |
edict_t * |
ent | ) |
|
◆ SP_trigger_always()
void SP_trigger_always |
( |
edict_t * |
ent | ) |
|
◆ SP_trigger_counter()
void SP_trigger_counter |
( |
edict_t * |
self | ) |
|
◆ SP_trigger_gravity()
void SP_trigger_gravity |
( |
edict_t * |
self | ) |
|
Definition at line 502 of file g_trigger.c.
505 gi.dprintf(
"trigger_gravity without gravity set at %s\n",
vtos(self->s.origin));
◆ SP_trigger_hurt()
void SP_trigger_hurt |
( |
edict_t * |
self | ) |
|
Definition at line 461 of file g_trigger.c.
465 self->noise_index =
gi.soundindex(
"world/electro.wav");
471 if (self->spawnflags & 1)
472 self->solid = SOLID_NOT;
474 self->solid = SOLID_TRIGGER;
476 if (self->spawnflags & 2)
◆ SP_trigger_key()
void SP_trigger_key |
( |
edict_t * |
self | ) |
|
Definition at line 259 of file g_trigger.c.
262 gi.dprintf(
"no key item for trigger_key at %s\n",
vtos(self->s.origin));
268 gi.dprintf(
"item %s not found for trigger_key at %s\n",
st.
item,
vtos(self->s.origin));
273 gi.dprintf(
"%s at %s has no target\n", self->classname,
vtos(self->s.origin));
277 gi.soundindex(
"misc/keytry.wav");
278 gi.soundindex(
"misc/keyuse.wav");
◆ SP_trigger_monsterjump()
void SP_trigger_monsterjump |
( |
edict_t * |
self | ) |
|
Definition at line 550 of file g_trigger.c.
556 if (self->s.angles[YAW] == 0)
557 self->s.angles[YAW] = 360;
◆ SP_trigger_multiple()
void SP_trigger_multiple |
( |
edict_t * |
ent | ) |
|
Definition at line 109 of file g_trigger.c.
111 if (ent->sounds == 1)
112 ent->noise_index =
gi.soundindex(
"misc/secret.wav");
113 else if (ent->sounds == 2)
114 ent->noise_index =
gi.soundindex(
"misc/talk.wav");
115 else if (ent->sounds == 3)
116 ent->noise_index =
gi.soundindex(
"misc/trigger1.wav");
122 ent->svflags |= SVF_NOCLIENT;
125 if (ent->spawnflags & 4) {
126 ent->solid = SOLID_NOT;
129 ent->solid = SOLID_TRIGGER;
136 gi.setmodel(ent, ent->model);
Referenced by SP_trigger_once().
◆ SP_trigger_once()
void SP_trigger_once |
( |
edict_t * |
ent | ) |
|
Definition at line 156 of file g_trigger.c.
160 if (ent->spawnflags & 1) {
163 VectorMA(ent->mins, 0.5, ent->size, v);
164 ent->spawnflags &= ~1;
165 ent->spawnflags |= 4;
166 gi.dprintf(
"fixed TRIGGERED flag on %s at %s\n", ent->classname,
vtos(v));
◆ SP_trigger_push()
void SP_trigger_push |
( |
edict_t * |
self | ) |
|
◆ SP_trigger_relay()
void SP_trigger_relay |
( |
edict_t * |
self | ) |
|
◆ Touch_Multi()
void Touch_Multi |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
cplane_t * |
plane, |
|
|
csurface_t * |
surf |
|
) |
| |
Definition at line 68 of file g_trigger.c.
71 if (self->spawnflags & 2)
73 }
else if (
other->svflags & SVF_MONSTER) {
74 if (!(self->spawnflags & 1))
83 if (DotProduct(
forward, self->movedir) < 0)
87 self->activator =
other;
Referenced by SP_trigger_multiple().
◆ trigger_counter_use()
void trigger_counter_use |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
edict_t * |
activator |
|
) |
| |
Definition at line 300 of file g_trigger.c.
302 if (self->count == 0)
308 if (!(self->spawnflags & 1)) {
309 gi.centerprintf(activator,
"%i more to go...", self->count);
310 gi.sound(activator, CHAN_AUTO,
gi.soundindex(
"misc/talk1.wav"), 1, ATTN_NORM, 0);
315 if (!(self->spawnflags & 1)) {
316 gi.centerprintf(activator,
"Sequence completed!");
317 gi.sound(activator, CHAN_AUTO,
gi.soundindex(
"misc/talk1.wav"), 1, ATTN_NORM, 0);
319 self->activator = activator;
Referenced by SP_trigger_counter().
◆ trigger_enable()
void trigger_enable |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
edict_t * |
activator |
|
) |
| |
◆ trigger_gravity_touch()
void trigger_gravity_touch |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
cplane_t * |
plane, |
|
|
csurface_t * |
surf |
|
) |
| |
◆ trigger_key_use()
void trigger_key_use |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
edict_t * |
activator |
|
) |
| |
Definition at line 199 of file g_trigger.c.
205 if (!activator->client)
209 if (!activator->client->pers.inventory[index]) {
210 if (
level.
time < self->touch_debounce_time)
212 self->touch_debounce_time =
level.
time + 5.0;
213 gi.centerprintf(activator,
"You need the %s", self->item->pickup_name);
214 gi.sound(activator, CHAN_AUTO,
gi.soundindex(
"misc/keytry.wav"), 1, ATTN_NORM, 0);
218 gi.sound(activator, CHAN_AUTO,
gi.soundindex(
"misc/keyuse.wav"), 1, ATTN_NORM, 0);
223 if (strcmp(self->item->classname,
"key_power_cube") == 0) {
226 for (cube = 0; cube < 8; cube++)
227 if (activator->client->pers.power_cubes & (1 << cube))
235 if (ent->client->pers.power_cubes & (1 << cube)) {
236 ent->client->pers.inventory[index]--;
237 ent->client->pers.power_cubes &= ~(1 << cube);
247 ent->client->pers.inventory[index] = 0;
251 activator->client->pers.inventory[index]--;
Referenced by SP_trigger_key().
◆ trigger_monsterjump_touch()
void trigger_monsterjump_touch |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
cplane_t * |
plane, |
|
|
csurface_t * |
surf |
|
) |
| |
Definition at line 530 of file g_trigger.c.
534 if (
other->svflags & SVF_DEADMONSTER)
536 if (!(
other->svflags & SVF_MONSTER))
540 other->velocity[0] =
self->movedir[0] *
self->speed;
541 other->velocity[1] =
self->movedir[1] *
self->speed;
543 if (!
other->groundentity)
546 other->groundentity = NULL;
547 other->velocity[2] =
self->movedir[2];
Referenced by SP_trigger_monsterjump().
◆ trigger_push_touch()
void trigger_push_touch |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
cplane_t * |
plane, |
|
|
csurface_t * |
surf |
|
) |
| |
Definition at line 365 of file g_trigger.c.
367 if (strcmp(
other->classname,
"grenade") == 0) {
368 VectorScale(self->movedir, self->speed * 10,
other->velocity);
369 }
else if (
other->health > 0) {
370 VectorScale(self->movedir, self->speed * 10,
other->velocity);
374 VectorCopy(
other->velocity,
other->client->oldvelocity);
Referenced by SP_trigger_push().
◆ trigger_relay_use()
void trigger_relay_use |
( |
edict_t * |
self, |
|
|
edict_t * |
other, |
|
|
edict_t * |
activator |
|
) |
| |
◆ Use_Multi()
void Use_Multi |
( |
edict_t * |
ent, |
|
|
edict_t * |
other, |
|
|
edict_t * |
activator |
|
) |
| |
◆ windsound
void trigger_counter_use(edict_t *self, edict_t *other, edict_t *activator)
void trigger_relay_use(edict_t *self, edict_t *other, edict_t *activator)
gitem_t * FindItemByClassname(char *classname)
void hurt_use(edict_t *self, edict_t *other, edict_t *activator)
void T_Damage(edict_t *targ, edict_t *inflictor, edict_t *attacker, vec3_t dir, vec3_t point, vec3_t normal, int damage, int knockback, int dflags, int mod)
void trigger_enable(edict_t *self, edict_t *other, edict_t *activator)
#define DAMAGE_NO_PROTECTION
void G_FreeEdict(edict_t *e)
void Touch_Multi(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
void multi_wait(edict_t *ent)
void trigger_gravity_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void Use_Multi(edict_t *ent, edict_t *other, edict_t *activator)
void hurt_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void G_UseTargets(edict_t *ent, edict_t *activator)
void SP_trigger_multiple(edict_t *ent)
void trigger_key_use(edict_t *self, edict_t *other, edict_t *activator)
void G_SetMovedir(vec3_t angles, vec3_t movedir)
void multi_trigger(edict_t *ent)
void InitTrigger(edict_t *self)
void trigger_push_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void trigger_monsterjump_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)