38class InfoNull :
public Listener
41 CLASS_PROTOTYPE(InfoNull);
46class FuncRemove :
public Entity
49 CLASS_PROTOTYPE(FuncRemove);
54class MiscModel :
public Entity
57 CLASS_PROTOTYPE(MiscModel);
68class ExplodingWall :
public Trigger
73 float attack_finished;
80 Vector orig_mins, orig_maxs;
84 CLASS_PROTOTYPE(ExplodingWall);
87 void Setup(
Event *ev);
88 void AngleSpeed(
Event *ev);
89 void LandRadius(
Event *ev);
90 void LandAngles(
Event *ev);
91 void BaseVelocity(
Event *ev);
92 void RandomVelocity(
Event *ev);
93 void SetDmg(
Event *ev);
94 void SetExplosions(
Event *ev);
95 void SetupSecondStage(
void);
96 void Explode(
Event *ev);
97 void DamageEvent(
Event *ev)
override;
98 void GroundDamage(
Event *ev);
99 void TouchFunc(
Event *ev);
100 void StopRotating(
Event *ev);
101 void CheckOnGround(
Event *ev);
102 void Archive(
Archiver& arc)
override;
105inline void ExplodingWall::Archive(
Archiver& arc)
107 Trigger::Archive(arc);
109 arc.ArchiveInteger(&dmg);
110 arc.ArchiveInteger(&explosions);
111 arc.ArchiveFloat(&attack_finished);
112 arc.ArchiveVector(&land_angles);
113 arc.ArchiveFloat(&land_radius);
114 arc.ArchiveFloat(&angle_speed);
115 arc.ArchiveInteger(&
state);
116 arc.ArchiveVector(&base_velocity);
117 arc.ArchiveVector(&random_velocity);
118 arc.ArchiveVector(&orig_mins);
119 arc.ArchiveVector(&orig_maxs);
120 arc.ArchiveBoolean(&on_ground);
123class Teleporter :
public Trigger
129 CLASS_PROTOTYPE(Teleporter);
132 virtual void StartTeleport(
Event *ev);
133 virtual void Teleport(
Event *ev);
134 virtual void StopTeleport(
Event *ev);
135 void SetThread(
Event *ev);
136 void Archive(
Archiver& arc)
override;
139inline void Teleporter::Archive(
Archiver& arc)
141 Trigger::Archive(arc);
143 arc.ArchiveBoolean(&in_use);
146class TeleporterDestination :
public Entity
151 CLASS_PROTOTYPE(TeleporterDestination);
153 TeleporterDestination();
154 void SetMoveDir(
Event *ev);
155 void Archive(
Archiver& arc)
override;
158inline void TeleporterDestination::Archive(
Archiver& arc)
160 Entity::Archive(arc);
162 arc.ArchiveVector(&movedir);
165class UseAnim :
public Entity
178 float last_active_time;
180 CLASS_PROTOTYPE(UseAnim);
183 virtual void Touched(
Event *ev);
184 void Reset(
Event *ev);
185 void SetThread(
Event *ev);
186 void SetTriggerTarget(
Event *ev);
187 void SetCount(
Event *ev);
188 void SetAnim(
Event *ev);
189 void SetState(
Event *ev);
190 void SetKey(
Event *ev);
191 void SetCamera(
Event *ev);
192 void SetNumLoops(
Event *ev);
193 void SetDelay(
Event *ev);
194 bool canBeUsed(Entity *activator);
196 Entity *activator,
Vector *org,
Vector *angles,
str *animatoin,
int *loopcount,
str *state,
str *camera
198 void TriggerTargets(Entity *activator);
199 void Archive(
Archiver& arc)
override;
202inline void UseAnim::Archive(
Archiver& arc)
204 Entity::Archive(arc);
206 arc.ArchiveInteger(&count);
207 arc.ArchiveBoolean(&active);
208 arc.ArchiveString(&triggertarget);
209 arc.ArchiveInteger(&num_loops);
210 arc.ArchiveString(&
state);
211 arc.ArchiveString(&camera);
212 arc.ArchiveString(&anim);
213 arc.ArchiveString(&key);
214 arc.ArchiveFloat(&delay);
215 arc.ArchiveFloat(&last_active_time);
218class TouchAnim :
public UseAnim
221 CLASS_PROTOTYPE(TouchAnim);
226class UseAnimDestination :
public Entity
233 CLASS_PROTOTYPE(UseAnimDestination);
235 UseAnimDestination();
236 void SetAnim(
Event *ev);
237 void SetState(
Event *ev);
238 void SetNumLoops(
Event *ev);
239 int GetNumLoops(
void);
242 void Archive(
Archiver& arc)
override;
245inline void UseAnimDestination::Archive(
Archiver& arc)
247 Entity::Archive(arc);
249 arc.ArchiveInteger(&num_loops);
250 arc.ArchiveString(&
state);
251 arc.ArchiveString(&anim);
254class UseObject :
public Animate
272 CLASS_PROTOTYPE(UseObject);
275 void SetMoveThread(
Event *ev);
276 void SetStopThread(
Event *ev);
277 void SetResetThread(
Event *ev);
278 void SetTriggerTarget(
Event *ev);
279 void SetOffset(
Event *ev);
280 void SetYawOffset(
Event *ev);
281 void SetCount(
Event *ev);
282 void SetCone(
Event *ev);
283 void SetState(
Event *ev);
284 void SetBackwardsState(
Event *ev);
285 void SetResetTime(
Event *ev);
286 void Reset(
Event *ev);
287 void Resetting(
Event *ev);
288 void DamageTriggered(
Event *ev);
289 void DamageFunc(
Event *ev);
291 void Setup(Entity *activator,
Vector *org,
Vector *ang,
str *newstate);
292 void Start(
Event *ev = NULL);
294 void SetActiveState(
Event *ev);
295 void Stop(Entity *activator);
296 void ActivateEvent(
Event *ev);
297 void DeactivateEvent(
Event *ev);
298 void UseMaterialEvent(
Event *ev);
299 void Archive(
Archiver& arc)
override;
302inline void UseObject::Archive(
Archiver& arc)
304 Animate::Archive(arc);
306 arc.ArchiveString(&triggertarget);
307 arc.ArchiveVector(&offset);
308 arc.ArchiveFloat(&yaw_offset);
309 arc.ArchiveInteger(&count);
310 arc.ArchiveFloat(&cone);
311 arc.ArchiveString(&
state);
312 arc.ArchiveString(&state_backwards);
313 arc.ArchiveString(&useMaterial);
314 arc.ArchiveInteger(&objectState);
315 arc.ArchiveFloat(&reset_time);
316 arc.ArchiveBoolean(&active);
319class Waypoint :
public SimpleArchivedEntity
322 CLASS_PROTOTYPE(Waypoint);
328class TempWaypoint :
public SimpleArchivedEntity
331 CLASS_PROTOTYPE(TempWaypoint);
337class VehiclePoint :
public Waypoint
340 unsigned int spawnflags;
342 CLASS_PROTOTYPE(VehiclePoint);
346 void SetSpawnFlags(
Event *ev);
347 void Archive(
Archiver& arc)
override;
350inline void VehiclePoint::Archive(
Archiver& arc)
352 SimpleArchivedEntity::Archive(arc);
354 arc.ArchiveUnsigned(&spawnflags);
357class MonkeyBars :
public Entity
362 CLASS_PROTOTYPE(MonkeyBars);
365 void SetAngleEvent(
Event *ev);
367 void Archive(
Archiver& arc)
override;
370inline void MonkeyBars::Archive(
Archiver& arc)
372 Entity::Archive(arc);
374 arc.ArchiveFloat(&dir);
377class HorizontalPipe :
public Entity
382 CLASS_PROTOTYPE(HorizontalPipe);
385 void SetAngleEvent(
Event *ev);
387 void Archive(
Archiver& arc)
override;
390inline void HorizontalPipe::Archive(
Archiver& arc)
392 Entity::Archive(arc);
394 arc.ArchiveFloat(&dir);
397class TossObject :
public Animate
401 float bouncesoundchance;
402 void Stop(
Event *ev);
403 void Touch(
Event *ev);
404 void SetBounceSound(
Event *ev);
405 void SetBounceSoundChance(
Event *ev);
408 CLASS_PROTOTYPE(TossObject);
411 TossObject(
str modelname);
412 void SetBounceSound(
str bounce);
413 void SetBounceSoundChance(
float chance);
414 void SetVelocity(
float severity);
415 void Archive(
Archiver& arc)
override;
418inline void TossObject::Archive(
Archiver& arc)
420 Animate::Archive(arc);
422 arc.ArchiveString(&bouncesound);
423 arc.ArchiveFloat(&bouncesoundchance);
426class PushObject :
public Entity
430 float attack_finished;
435 CLASS_PROTOTYPE(PushObject);
438 void Start(
Event *ev);
439 void SetDamage(
Event *ev);
440 void BlockFunc(
Event *ev);
441 void SetPushSound(
Event *ev);
442 qboolean Push(Entity *pusher,
Vector move);
443 qboolean canPush(
Vector dir);
445 Entity *getOwner(
void);
447 void Archive(
Archiver& arc)
override;
450inline void PushObject::Archive(
Archiver& arc)
452 Entity::Archive(arc);
454 arc.ArchiveSafePointer(&owner);
455 arc.ArchiveFloat(&attack_finished);
456 arc.ArchiveInteger(&dmg);
457 arc.ArchiveString(&pushsound);
460class FallingRock :
public Entity
465 Vector last_bounce_origin;
470 float attack_finished;
476 void Touch(
Event *ev);
477 void Bounce(
Event *ev);
478 void Rotate(
Event *ev);
479 void Activate(
Event *ev);
480 void NextBounce(
void);
481 void StartFalling(
Event *ev);
482 void SetWait(
Event *ev);
483 void SetSpeed(
Event *ev);
484 void SetDmg(
Event *ev);
485 Entity *SetNextBounceDir(
void);
486 void SetBounceSound(
str sound);
487 void SetBounceSound(
Event *ev);
488 void Archive(
Archiver& arc)
override;
491 CLASS_PROTOTYPE(FallingRock);
496inline void FallingRock::Archive(
Archiver& arc)
498 Entity::Archive(arc);
500 arc.ArchiveInteger(&active);
501 arc.ArchiveVector(&start_origin);
502 arc.ArchiveVector(&last_bounce_origin);
503 arc.ArchiveObjectPointer((
Class **)¤t);
504 arc.ArchiveObjectPointer((
Class **)&activator);
505 arc.ArchiveVector(&bounce_dir);
506 arc.ArchiveVector(&rotateaxis);
507 arc.ArchiveFloat(&attack_finished);
508 arc.ArchiveFloat(&wait);
509 arc.ArchiveFloat(&speed);
510 arc.ArchiveInteger(&dmg);
511 arc.ArchiveString(&bouncesound);
513 SetBounceSound(bouncesound);
517class SupplyWater :
public Trigger
524 CLASS_PROTOTYPE(SupplyWater);
527 void Activate(
Event *ev);
528 void MaxWater(
Event *ev);
529 void ChargeOff(
Event *ev);
530 void Archive(
Archiver& arc)
override;
533inline void SupplyWater::Archive(
Archiver& arc)
535 Trigger::Archive(arc);
537 arc.ArchiveInteger(&amount);
538 arc.ArchiveInteger(&maxwater);
541class FuncLadder :
public Entity
548 CLASS_PROTOTYPE(FuncLadder);
552 void LadderSetup(
Event *ev);
554 qboolean CanUseLadder(Entity *pUser);
555 void PositionOnLadder(Entity *pUser);
557 void SetLadderFacing(
Event *ev);
558 void AdjustPositionOnLadder(Entity *pUser);
560 void EnsureOverLadder(Entity *pUser);
561 void EnsureForwardOffLadder(Entity *pUser);
563 const Vector& getFacingAngles()
const;
564 const Vector& getFacingDir()
const;
566 void Archive(
Archiver& arc)
override;
569inline void FuncLadder::Archive(
Archiver& arc)
571 Entity::Archive(arc);
573 arc.ArchiveVector(&m_vFacingAngles);
574 arc.ArchiveVector(&m_vFacingDir);
577class InfoLandmark :
public Listener
586 CLASS_PROTOTYPE(InfoLandmark);
589 void SetLandmarkName(
Event *ev);
590 void SetOrigin(
Event *ev);
Definition listener.h:246
Definition gamescript.h:165