X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmapobjects%2Ftrigger%2Fjumppads.qc;h=eee980618d8b2b47341963aeed3e34b54556ba6d;hb=0ade80044244ecfd180e7a3dfc0113dcf3a26572;hp=66a9499d4bb13bf4fd392a5c3d1fd219e2f66ba5;hpb=ad48f34a4a109c864ffe01a14f2290821c03dc9d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mapobjects/trigger/jumppads.qc b/qcsrc/common/mapobjects/trigger/jumppads.qc index 66a9499d4..eee980618 100644 --- a/qcsrc/common/mapobjects/trigger/jumppads.qc +++ b/qcsrc/common/mapobjects/trigger/jumppads.qc @@ -2,7 +2,6 @@ // TODO: split target_push and put it in the target folder #ifdef SVQC #include -#include void trigger_push_use(entity this, entity actor, entity trigger) { @@ -70,7 +69,7 @@ vector trigger_push_calculatevelocity(vector org, entity tgt, float ht, entity p and ti. */ - // push him so high... + // push them so high... vz = sqrt(fabs(2 * grav * jumpheight)); // NOTE: sqrt(positive)! // we start with downwards velocity only if it's a downjump and the jump apex should be outside the jump! @@ -135,11 +134,8 @@ bool jumppad_push(entity this, entity targ) return false; vector org = targ.origin; -#ifdef SVQC - if(autocvar_sv_q3defragcompat) -#elif defined(CSQC) - if(STAT(Q3DEFRAGCOMPAT)) -#endif + + if(STAT(Q3COMPAT)) { org.z += targ.mins_z; org.z += 1; // off by 1! @@ -193,7 +189,9 @@ bool jumppad_push(entity this, entity targ) // reset tracking of oldvelocity for impact damage (sudden velocity changes) targ.oldvelocity = targ.velocity; - if(this.pushltime < time) // prevent "snorring" sound when a player hits the jumppad more than once + // prevent sound spam when a player hits the jumppad more than once + // or when a dead player gets stuck in the jumppad for some reason + if(this.pushltime < time && !(IS_DEAD(targ) && targ.velocity == '0 0 0')) { // flash when activated Send_Effect(EFFECT_JUMPPAD, targ.origin, targ.velocity, 1); @@ -691,12 +689,7 @@ spawnfunc(target_position) NET_HANDLE(ENT_CLIENT_TRIGGER_PUSH, bool isnew) { - this.classname = "jumppad"; - int mytm = ReadByte(); - if(mytm) - { - this.team = mytm - 1; - } + int mytm = ReadByte(); if(mytm) { this.team = mytm - 1; } this.spawnflags = ReadInt24_t(); this.active = ReadByte(); this.height = ReadCoord(); @@ -720,7 +713,6 @@ void target_push_remove(entity this) NET_HANDLE(ENT_CLIENT_TARGET_PUSH, bool isnew) { - this.classname = "push_target"; this.cnt = ReadByte(); this.targetname = strzone(ReadString()); this.origin = ReadVector();