4 const int PUSH_ONCE = BIT(0); // legacy, deactivate with relay instead
5 const int PUSH_SILENT = BIT(1); // not used?
7 IntrusiveList g_jumppads;
8 STATIC_INIT(g_jumppads) { g_jumppads = IL_NEW(); }
14 const int NUM_JUMPPADSUSED = 3;
16 .entity jumppadsused[NUM_JUMPPADSUSED];
19 void SUB_UseTargets(entity this, entity actor, entity trigger);
20 void trigger_push_use(entity this, entity actor, entity trigger);
21 bool trigger_push_testorigin(entity tracetest_ent, entity targ, entity jp, vector org);
22 bool trigger_push_testorigin_for_item(entity tracetest_ent, entity item, vector org);
26 trigger_push_calculatevelocity
29 org - origin of the object which is to be pushed
30 tgt - target entity (can be either a point or a model entity; if it is
31 the latter, its midpoint is used)
32 ht - jump height, measured from the higher one of org and tgt's midpoint
33 pushed_entity - object that is to be pushed
35 Returns: velocity for the jump
37 vector trigger_push_calculatevelocity(vector org, entity tgt, float ht, entity pushed_entity);
39 void trigger_push_touch(entity this, entity toucher);
42 bool trigger_push_test(entity this, entity item);
43 void trigger_push_findtarget(entity this);
48 * target: target of jump
49 * height: the absolute value is the height of the highest point of the jump
50 * trajectory above the higher one of the player and the target.
51 * the sign indicates whether the highest point is INSIDE (positive)
52 * or OUTSIDE (negative) of the jump trajectory. General rule: use
53 * positive values for targets mounted on the floor, and use negative
54 * values to target a point on the ceiling.
55 * movedir: if target is not set, this * speed * 10 is the velocity to be reached.
58 spawnfunc(trigger_push);
60 spawnfunc(target_push);
61 spawnfunc(info_notnull);
62 spawnfunc(target_position);