}
void crosshair_trace_plusvisibletriggers(entity pl)
+{
+ crosshair_trace_plusvisibletriggers__is_wz(pl, false);
+}
+
+void WarpZone_crosshair_trace_plusvisibletriggers(entity pl)
+{
+ crosshair_trace_plusvisibletriggers__is_wz(pl, true);
+}
+
+void crosshair_trace_plusvisibletriggers__is_wz(entity pl, bool is_wz)
{
FOREACH_ENTITY_FLOAT(solid, SOLID_TRIGGER,
{
}
});
- crosshair_trace(pl);
+ if (is_wz)
+ WarpZone_crosshair_trace(pl);
+ else
+ crosshair_trace(pl);
IL_EACH(g_ctrace_changed, true, { it.solid = SOLID_TRIGGER; });
return ammoitems;
}
-.int solid_prev;
string formatmessage(entity this, string msg)
{
float p, p1, p2;
if(!traced)
{
- IL_EACH(g_items, true,
- {
- it.solid_prev = it.solid;
- it.solid = SOLID_BSP;
- });
- WarpZone_crosshair_trace(this);
- IL_EACH(g_items, true,
- {
- it.solid = it.solid_prev;
- it.solid_prev = 0;
- });
+ WarpZone_crosshair_trace_plusvisibletriggers(this);
cursor = trace_endpos;
cursor_ent = trace_ent;
traced = true;
void crosshair_trace(entity pl);
void crosshair_trace_plusvisibletriggers(entity pl);
+void WarpZone_crosshair_trace_plusvisibletriggers(entity pl);
+void crosshair_trace_plusvisibletriggers__is_wz(entity pl, bool is_wz);
void detach_sameorigin(entity e);