X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Ft_jumppads.qc;h=18dbef1711424dd28e5864c58fc0adc0d30d2112;hb=85d7b75eec365a4da388894e6ef783d81e5ec688;hp=e5340ab930e63ee5031c32be23c80d4404aa9df1;hpb=cbd704027b098da73f32298f43a1ecbc95e485d2;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/t_jumppads.qc b/qcsrc/server/t_jumppads.qc index e5340ab93..18dbef171 100644 --- a/qcsrc/server/t_jumppads.qc +++ b/qcsrc/server/t_jumppads.qc @@ -10,7 +10,7 @@ float trigger_push_calculatevelocity_flighttime; void trigger_push_use() { - if(teams_matter) + if(teamplay) self.team = activator.team; } @@ -35,7 +35,7 @@ vector trigger_push_calculatevelocity(vector org, entity tgt, float ht) torg = tgt.origin + (tgt.mins + tgt.maxs) * 0.5; - grav = cvar("sv_gravity"); + grav = autocvar_sv_gravity; zdist = torg_z - org_z; sdist = vlen(torg - org - zdist * '0 0 1'); @@ -127,21 +127,10 @@ vector trigger_push_calculatevelocity(vector org, entity tgt, float ht) void trigger_push_touch() { - if (self.active == ACTIVE_NOT) - return; - - // FIXME: add a .float for whether an entity should be tossed by jumppads - if (!other.iscreature) - if (other.classname != "corpse") - if (other.classname != "body") - if (other.classname != "gib") - if (other.classname != "casing") - if (other.classname != "droppedweapon") - if (other.classname != "keepawayball") - if (!other.projectiledeathtype || other.classname == "bullet") + if (self.active == ACTIVE_NOT) return; - if (other.deadflag && other.iscreature) + if (!isPushable(other)) return; if(self.team) @@ -166,12 +155,12 @@ void trigger_push_touch() { // flash when activated pointparticles(particleeffectnum("jumppad_activate"), other.origin, other.velocity, 1); - sound (other, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NORM); + sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); self.pushltime = time + 0.2; } local float ct; ct = clienttype(other); - if( ct == CLIENTTYPE_REAL) + if( ct == CLIENTTYPE_REAL || ct == CLIENTTYPE_BOT) { local float i; local float found; @@ -185,11 +174,14 @@ void trigger_push_touch() other.jumppadcount = other.jumppadcount + 1; } - if(self.message) - centerprint(other, self.message); + if(ct == CLIENTTYPE_REAL) + { + if(self.message) + centerprint(other, self.message); + } + else + other.lastteleporttime = time; } - else if(ct == CLIENTTYPE_BOT) - other.lastteleporttime = time; else other.jumppadcount = TRUE; @@ -286,12 +278,11 @@ void trigger_push_findtarget() */ void spawnfunc_trigger_push() { - if (self.angles != '0 0 0') - SetMovedir (); + SetMovedir (); EXACTTRIGGER_INIT; - - self.active = ACTIVE_ACTIVE; + + self.active = ACTIVE_ACTIVE; self.use = trigger_push_use; self.touch = trigger_push_touch;