X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fw_hook.qc;h=1c05c23d69c2ca84bf3a3a4abcc2abb884d36f34;hb=1a65f7bb6bae1bb6d1a40d3e2eda30c822052313;hp=931d3e0ad17b13b7e0641f35026e097bea0265ef;hpb=6ca9598bd85dac9bd2f84eb870b62e537e1594e7;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/w_hook.qc b/qcsrc/common/weapons/w_hook.qc index 931d3e0ad..1c05c23d6 100644 --- a/qcsrc/common/weapons/w_hook.qc +++ b/qcsrc/common/weapons/w_hook.qc @@ -62,7 +62,7 @@ void spawnfunc_weapon_hook(void) { if(g_grappling_hook) // offhand hook { - startitem_failed = TRUE; + startitem_failed = true; remove(self); return; } @@ -108,16 +108,16 @@ void W_Hook_Explode2(void) self.movetype = MOVETYPE_NONE; } -void W_Hook_Damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) +void W_Hook_Damage(entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force) { if(self.health <= 0) return; - + if(!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, -1)) // no exceptions - return; // g_projectiles_damage says to halt - + return; // g_projectiles_damage says to halt + self.health = self.health - damage; - + if(self.health <= 0) W_PrepareExplosionByDamage(self.realowner, W_Hook_Explode2); } @@ -133,12 +133,12 @@ void W_Hook_Attack2(void) entity gren; //W_DecreaseAmmo(WEP_CVAR_SEC(hook, ammo)); // WEAPONTODO: Figure out how to handle ammo with hook secondary (gravitybomb) - W_SetupShot(self, FALSE, 4, "weapons/hookbomb_fire.wav", CH_WEAPON_A, WEP_CVAR_SEC(hook, damage)); + W_SetupShot(self, false, 4, "weapons/hookbomb_fire.wav", CH_WEAPON_A, WEP_CVAR_SEC(hook, damage)); gren = spawn(); gren.owner = gren.realowner = self; gren.classname = "hookbomb"; - gren.bot_dodge = TRUE; + gren.bot_dodge = true; gren.bot_dodgerating = WEP_CVAR_SEC(hook, damage); gren.movetype = MOVETYPE_TOSS; PROJECTILE_MAKETRIGGER(gren); @@ -150,12 +150,12 @@ void W_Hook_Attack2(void) gren.think = adaptor_think2use_hittype_splash; gren.use = W_Hook_Explode2; gren.touch = W_Hook_Touch2; - + gren.takedamage = DAMAGE_YES; gren.health = WEP_CVAR_SEC(hook, health); gren.damageforcescale = WEP_CVAR_SEC(hook, damageforcescale); gren.event_damage = W_Hook_Damage; - gren.damagedbycontents = TRUE; + gren.damagedbycontents = true; gren.missile_flags = MIF_SPLASH | MIF_ARC; gren.velocity = '0 0 1' * WEP_CVAR_SEC(hook, speed); @@ -168,25 +168,25 @@ void W_Hook_Attack2(void) gren.angles = '0 0 0'; gren.flags = FL_PROJECTILE; - CSQCProjectile(gren, TRUE, PROJECTILE_HOOKBOMB, TRUE); + CSQCProjectile(gren, true, PROJECTILE_HOOKBOMB, true); other = gren; MUTATOR_CALLHOOK(EditProjectile); } -float W_Hook(float req) +bool W_Hook(int req) { float hooked_time_max, hooked_fuel; - + switch(req) { case WR_AIM: { // no bot AI for hook (yet?) - return TRUE; + return true; } case WR_THINK: { - if(self.BUTTON_ATCK || (!(self.items & IT_JETPACK) && self.BUTTON_HOOK)) + if(self.BUTTON_ATCK || self.BUTTON_HOOK) { if(!self.hook) if(!(self.hook_state & HOOK_WAITING_FOR_RELEASE)) @@ -196,7 +196,7 @@ float W_Hook(float req) { W_DecreaseAmmo(WEP_CVAR_PRI(hook, ammo)); self.hook_state |= HOOK_FIRING; - weapon_thinkf(WFRAME_FIRE1, WEP_CVAR_PRI(hook, animtime), w_ready); + weapon_thinkf(WFRAME_FIRE1, WEP_CVAR_PRI(hook, animtime), w_ready); } } @@ -221,13 +221,13 @@ float W_Hook(float req) if(self.hook && self.hook.state == 1) { - hooked_time_max = WEP_CVAR_PRI(hook, hooked_time_max); + hooked_time_max = WEP_CVAR_PRI(hook, hooked_time_max); if(hooked_time_max > 0) { if( time > self.hook_time_hooked + hooked_time_max ) self.hook_state |= HOOK_REMOVING; } - + hooked_fuel = WEP_CVAR_PRI(hook, hooked_ammo); if(hooked_fuel > 0) { @@ -253,14 +253,14 @@ float W_Hook(float req) } else { - self.hook_time_hooked = time; + self.hook_time_hooked = time; self.hook_time_fueldecrease = time + WEP_CVAR_PRI(hook, hooked_time_free); } if(self.BUTTON_CROUCH) { self.hook_state &= ~HOOK_PULLING; - if(self.BUTTON_ATCK || (!(self.items & IT_JETPACK) && self.BUTTON_HOOK)) + if(self.BUTTON_ATCK || self.BUTTON_HOOK) self.hook_state &= ~HOOK_RELEASING; else self.hook_state |= HOOK_RELEASING; @@ -270,7 +270,7 @@ float W_Hook(float req) self.hook_state |= HOOK_PULLING; self.hook_state &= ~HOOK_RELEASING; - if(self.BUTTON_ATCK || (!(self.items & IT_JETPACK) && self.BUTTON_HOOK)) + if(self.BUTTON_ATCK || self.BUTTON_HOOK) { // already fired if(self.hook) @@ -282,8 +282,8 @@ float W_Hook(float req) self.hook_state &= ~HOOK_WAITING_FOR_RELEASE; } } - - return TRUE; + + return true; } case WR_INIT: { @@ -293,13 +293,13 @@ float W_Hook(float req) precache_sound("weapons/hook_impact.wav"); // done by g_hook.qc precache_sound("weapons/hook_fire.wav"); precache_sound("weapons/hookbomb_fire.wav"); - HOOK_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP) - return TRUE; + HOOK_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP); + return true; } case WR_SETUP: { self.hook_state &= ~HOOK_WAITING_FOR_RELEASE; - return TRUE; + return true; } case WR_CHECKAMMO1: { @@ -311,32 +311,32 @@ float W_Hook(float req) case WR_CHECKAMMO2: { // infinite ammo for now - return TRUE; // self.ammo_cells >= WEP_CVAR_SEC(hook, ammo); // WEAPONTODO: see above + return true; // self.ammo_cells >= WEP_CVAR_SEC(hook, ammo); // WEAPONTODO: see above } case WR_CONFIG: { - HOOK_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS) - return TRUE; + HOOK_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS); + return true; } case WR_RESETPLAYER: { self.hook_refire = time; - return TRUE; + return true; } case WR_SUICIDEMESSAGE: { - return FALSE; + return false; } case WR_KILLMESSAGE: { return WEAPON_HOOK_MURDER; } } - return FALSE; + return false; } #endif #ifdef CSQC -float W_Hook(float req) +bool W_Hook(int req) { switch(req) { @@ -347,21 +347,21 @@ float W_Hook(float req) pointparticles(particleeffectnum("hookbomb_explode"), org2, '0 0 0', 1); if(!w_issilent) sound(self, CH_SHOTS, "weapons/hookbomb_impact.wav", VOL_BASE, ATTN_NORM); - - return TRUE; + + return true; } case WR_INIT: { precache_sound("weapons/hookbomb_impact.wav"); - return TRUE; + return true; } case WR_ZOOMRETICLE: { // no weapon specific image for this weapon - return FALSE; + return false; } } - return FALSE; + return false; } #endif #endif