X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcheats.qc;h=8d837b801453091e65b6443b00ea3a1ed4991721;hb=7a05dc86c2d0cd8e44eba58c42d3cd0093ca419e;hp=6ef82679444fc021f0e4d53b42bf278333cf9b8f;hpb=1b9fb2415152cf5a365cfaf9cf234372aaba6852;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cheats.qc b/qcsrc/server/cheats.qc index 6ef826794..8d837b801 100644 --- a/qcsrc/server/cheats.qc +++ b/qcsrc/server/cheats.qc @@ -653,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 @@ -672,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); @@ -725,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) @@ -752,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 @@ -828,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; }