X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcheats.qc;h=8d837b801453091e65b6443b00ea3a1ed4991721;hb=7a05dc86c2d0cd8e44eba58c42d3cd0093ca419e;hp=45eab621ea6b83caf327e662ceff0648dc2d09fe;hpb=477b7b3e324bdb74aee19bfee925d708c7cf9758;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cheats.qc b/qcsrc/server/cheats.qc index 45eab621ea..8d837b8014 100644 --- a/qcsrc/server/cheats.qc +++ b/qcsrc/server/cheats.qc @@ -15,7 +15,6 @@ void Drag_MoveDrag(entity from, entity to) { } .float maycheat; float sv_cheats; -float autocvar_sv_cheats; #define CHIMPULSE_SPEEDRUN_INIT 30 #define CHIMPULSE_GIVE_ALL 99 @@ -654,7 +653,7 @@ float CheatCommand(float argc) if(self.movetype != MOVETYPE_FLY) { self.movetype = MOVETYPE_FLY; - sprint(self, "flmodey ON\n"); + sprint(self, "flymode ON\n"); DID_CHEAT(); } else @@ -673,6 +672,7 @@ float CheatCommand(float argc) END_CHEAT_FUNCTION(); } +void crosshair_trace_plusvisibletriggers(entity pl); void Drag_Begin(entity dragger, entity draggee, vector touchpoint); void Drag_Finish(entity dragger); float Drag_IsDraggable(entity draggee); @@ -726,7 +726,7 @@ float CheatFrame() if(Drag_CanDrag(self)) if(self.BUTTON_DRAG) { - crosshair_trace(self); + crosshair_trace_plusvisibletriggers(self); if(trace_ent) if(Drag_IsDraggable(trace_ent)) switch(0) @@ -753,6 +753,22 @@ float CheatFrame() // ENTITY DRAGGING +void crosshair_trace_plusvisibletriggers(entity pl) +{ + entity first; + entity e; + first = findchainfloat(solid, SOLID_TRIGGER); + + for (e = first; e; e = e.chain) + if (e.model != "") + e.solid = SOLID_BSP; + + crosshair_trace(pl); + + for (e = first; e; e = e.chain) + e.solid = SOLID_TRIGGER; +} + // on dragger: .float draggravity; .float dragspeed; // speed of mouse wheel action @@ -829,14 +845,16 @@ float Drag_IsDraggable(entity draggee) return FALSE; if(draggee.classname == "func_button") return FALSE; - if(draggee.model == "") - return FALSE; +// if(draggee.model == "") +// return FALSE; if(draggee.classname == "spectator") return FALSE; if(draggee.classname == "observer") return FALSE; if(draggee.classname == "exteriorweaponentity") return FALSE; + if(draggee.classname == "weaponentity") + return FALSE; return TRUE; }