14 if(actor.ballcarried && !STAT(NB_METERSTART, actor))
15 STAT(NB_METERSTART, actor) =
time;
31 if(!(fire & 1) && STAT(NB_METERSTART, actor) && actor.ballcarried)
80 attacker = this.
owner;
86 if((ball = toucher.ballcarried) && !STAT(FROZEN, toucher) && !
IS_DEAD(toucher) && (
IS_PLAYER(attacker)))
90 if(!attacker.ballcarried)
92 LogNB(
"stole", attacker);
97 CS(attacker).teamkill_complain =
time + 5;
98 CS(attacker).teamkill_soundtime =
time + 0.4;
99 CS(attacker).teamkill_soundsource = toucher;
102 GiveBall(attacker, toucher.ballcarried);
112 if(!(ball = actor.ballcarried))
119 if(STAT(NB_METERSTART, actor))
120 STAT(NB_METERSTART, actor) = 0;
135 mul = mi + (ma - mi) * mul;
146 if(actor.ballcarried.enemy)
148 entity _ball = actor.ballcarried;
152 _ball.nextthink =
time;
160 entity missile =
new(ballstealer);
162 missile.owner = actor;
168 setsize(missile,
'0 0 0',
'0 0 0');
178 missile.flags = FL_PROJECTILE;
#define W_SetupProjVelocity_Basic(ent, pspeed, pspread)
float autocvar_g_balance_nexball_secondary_speed
void DropBall(entity ball, vector org, vector vel)
#define PROJECTILE_MAKETRIGGER(e)
float g_nexball_meter_period
void W_Nexball_Think(entity this)
ClientState CS(Client this)
void w_ready(Weapon thiswep, entity actor,.entity weaponentity, int fire)
bool autocvar_g_nexball_basketball_meter
void W_Nexball_Touch(entity this, entity toucher)
float autocvar_g_nexball_basketball_meter_maxpower
float autocvar_g_nexball_tackling
void GiveBall(entity plyr, entity ball)
float autocvar_g_balance_nexball_secondary_animtime
#define METHOD(cname, name, prototype)
float autocvar_g_nexball_basketball_meter_minpower
void CSQCProjectile(entity e, float clientanimate, int type, float docull)
#define UNSET_ONGROUND(s)
float autocvar_g_balance_nexball_secondary_force
IntrusiveList g_bot_dodge
#define PROJECTILE_TOUCH(e, t)
float autocvar_g_nexball_safepass_turnrate
void W_Nexball_Attack(Weapon thiswep, entity actor,.entity weaponentity, float t)
float autocvar_g_balance_nexball_primary_refire
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
float autocvar_g_balance_nexball_primary_speed
float autocvar_g_balance_nexball_secondary_lifetime
bool weapon_prepareattack(Weapon thiswep, entity actor,.entity weaponentity, bool secondary, float attacktime)
const int HITTYPE_SECONDARY
#define W_SetupShot(ent, wepent, antilag, recoil, snd, chan, maxdamage, deathtype)
vector(float skel, float bonenum) _skel_get_boneabs_hidden
IntrusiveList g_projectiles
float autocvar_g_balance_nexball_secondary_refire
const int PROJECTILE_ELECTRO
vector trigger_push_calculatevelocity(vector org, entity tgt, float ht, entity pushed_entity)
void weapon_thinkf(entity actor,.entity weaponentity, WFRAME fr, float t, void(Weapon thiswep, entity actor,.entity weaponentity, int fire) func)
#define _sound(e, c, s, v, a)
void LogNB(string mode, entity actor)
vector W_CalculateProjectileVelocity(entity actor, vector pvelocity, vector mvelocity, float forceAbsolute)
fields which are explicitly/manually set are marked with "M", fields set automatically are marked wit...
void W_Nexball_Attack2(Weapon thiswep, entity actor,.entity weaponentity)
float autocvar_g_balance_nexball_primary_animtime
float autocvar_g_nexball_basketball_teamsteal
void set_movetype(entity this, int mt)