#endif
#else
#ifdef SVQC
+#include "../triggers/trigger/jumppads.qh"
+
void spawnfunc_weapon_porto(void) { weapon_defaultspawnfunc(WEP_PORTO); }
void W_Porto_Success(void)
norm = trace_plane_normal;
if(trace_ent.iscreature)
{
- traceline(trace_ent.origin, trace_ent.origin + '0 0 2' * PL_MIN_z, MOVE_WORLDONLY, self);
+ traceline(trace_ent.origin, trace_ent.origin + '0 0 2' * PL_MIN.z, MOVE_WORLDONLY, self);
if(trace_fraction >= 1)
return;
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SLICK || trace_dphitcontents & DPCONTENTS_PLAYERCLIP)
gren.scale = 4;
setorigin(gren, w_shotorg);
setsize(gren, '0 0 0', '0 0 0');
-
+
gren.nextthink = time + WEP_CVAR_BOTH(porto, (type <= 0), lifetime);
gren.think = W_Porto_Think;
gren.touch = W_Porto_Touch;
-
+
if(self.items & IT_STRENGTH)
W_SetupProjVelocity_Basic(gren, WEP_CVAR_BOTH(porto, (type <= 0), speed) * autocvar_g_balance_powerup_strength_force, 0);
else
other = gren; MUTATOR_CALLHOOK(EditProjectile);
}
-float w_nexball_weapon(float req); // WEAPONTODO
-float W_Porto(float req)
+bool w_nexball_weapon(int req); // WEAPONTODO
+bool W_Porto(int req)
{
//vector v_angle_save;
if(g_nexball) { return w_nexball_weapon(req); }
-
+
switch(req)
{
case WR_AIM:
if(!WEP_CVAR(porto, secondary))
if(bot_aim(WEP_CVAR_PRI(porto, speed), 0, WEP_CVAR_PRI(porto, lifetime), false))
self.BUTTON_ATCK = true;
-
+
return true;
}
case WR_CONFIG:
weapon_thinkf(WFRAME_FIRE1, WEP_CVAR_PRI(porto, animtime), w_ready);
}
}
-
+
return true;
}
case WR_INIT:
}
#endif
#ifdef CSQC
-float W_Porto(float req)
+bool W_Porto(int req)
{
switch(req)
{