X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fw_porto.qc;h=49fb47e43e9d7626a31ffc4d5a1f3be82d6e5cd2;hb=198c14c07ac0c2f4484c171fce4145dcedc42172;hp=e0bf83ba456c032d45d86a7c3bb535fa56b4682d;hpb=40e05369d8f7ebb2da94656bf15847ef4e314e32;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/w_porto.qc b/qcsrc/common/weapons/w_porto.qc index e0bf83ba4..49fb47e43 100644 --- a/qcsrc/common/weapons/w_porto.qc +++ b/qcsrc/common/weapons/w_porto.qc @@ -1,15 +1,18 @@ #ifdef REGISTER_WEAPON REGISTER_WEAPON( -/* WEP_##id */ PORTO, -/* function */ W_Porto, -/* ammotype */ ammo_none, -/* impulse */ 0, -/* flags */ WEP_TYPE_OTHER | WEP_FLAG_SUPERWEAPON, -/* rating */ 0, -/* color */ '0.5 0.5 0.5', -/* model */ "porto" , -/* netname */ "porto", -/* fullname */ _("Port-O-Launch") +/* WEP_##id */ PORTO, +/* function */ W_Porto, +/* ammotype */ ammo_none, +/* impulse */ 0, +/* flags */ WEP_TYPE_OTHER | WEP_FLAG_SUPERWEAPON, +/* rating */ 0, +/* color */ '0.5 0.5 0.5', +/* modelname */ "porto", +/* simplemdl */ "foobar", +/* crosshair */ "gfx/crosshairporto 0.6", +/* wepimg */ "weaponporto", +/* refname */ "porto", +/* wepname */ _("Port-O-Launch") ); #define PORTO_SETTINGS(w_cvar,w_prop) PORTO_SETTINGS_LIST(w_cvar, w_prop, PORTO, porto) @@ -23,7 +26,8 @@ REGISTER_WEAPON( w_prop(id, sn, float, switchdelay_drop, switchdelay_drop) \ w_prop(id, sn, string, weaponreplace, weaponreplace) \ w_prop(id, sn, float, weaponstart, weaponstart) \ - w_prop(id, sn, float, weaponstartoverride, weaponstartoverride) + w_prop(id, sn, float, weaponstartoverride, weaponstartoverride) \ + w_prop(id, sn, float, weaponthrowable, weaponthrowable) #ifdef SVQC PORTO_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP) @@ -34,9 +38,9 @@ PORTO_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP) #endif #else #ifdef SVQC -void spawnfunc_weapon_porto (void) { weapon_defaultspawnfunc(WEP_PORTO); } +void spawnfunc_weapon_porto(void) { weapon_defaultspawnfunc(WEP_PORTO); } -void W_Porto_Success (void) +void W_Porto_Success(void) { if(self.realowner == world) { @@ -49,7 +53,7 @@ void W_Porto_Success (void) } string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vector velo); -void W_Porto_Fail (float failhard) +void W_Porto_Fail(float failhard) { if(self.realowner == world) { @@ -67,7 +71,7 @@ void W_Porto_Fail (float failhard) if(self.cnt < 0 && !failhard && self.realowner.playerid == self.playerid && self.realowner.deadflag == DEAD_NO && !(self.realowner.weapons & WEPSET_PORTO)) { - setsize (self, '-16 -16 0', '16 16 32'); + setsize(self, '-16 -16 0', '16 16 32'); setorigin(self, self.origin + trace_plane_normal); if(move_out_of_solid(self)) { @@ -84,7 +88,7 @@ void W_Porto_Fail (float failhard) remove(self); } -void W_Porto_Remove (entity p) +void W_Porto_Remove(entity p) { if(p.porto_current.realowner == p && p.porto_current.classname == "porto") { @@ -96,7 +100,7 @@ void W_Porto_Remove (entity p) } } -void W_Porto_Think (void) +void W_Porto_Think(void) { trace_plane_normal = '0 0 0'; if(self.realowner.playerid != self.playerid) @@ -105,7 +109,7 @@ void W_Porto_Think (void) W_Porto_Fail(0); } -void W_Porto_Touch (void) +void W_Porto_Touch(void) { vector norm; @@ -227,18 +231,18 @@ void W_Porto_Touch (void) } } -void W_Porto_Attack (float type) +void W_Porto_Attack(float type) { entity gren; - W_SetupShot (self, FALSE, 4, "porto/fire.wav", CH_WEAPON_A, 0); + W_SetupShot(self, FALSE, 4, "porto/fire.wav", CH_WEAPON_A, 0); // always shoot from the eye w_shotdir = v_forward; w_shotorg = self.origin + self.view_ofs + ((w_shotorg - self.origin - self.view_ofs) * v_forward) * v_forward; //pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); - gren = spawn (); + gren = spawn(); gren.cnt = type; gren.owner = gren.realowner = self; gren.playerid = self.playerid; @@ -261,7 +265,7 @@ void W_Porto_Attack (float type) else W_SetupProjVelocity_Basic(gren, WEP_CVAR_BOTH(porto, (type <= 0), speed), 0); - gren.angles = vectoangles (gren.velocity); + gren.angles = vectoangles(gren.velocity); gren.flags = FL_PROJECTILE; gren.portal_id = time; @@ -285,7 +289,7 @@ float W_Porto(float req) { //vector v_angle_save; - if (g_nexball) { return w_nexball_weapon(req); } + if(g_nexball) { return w_nexball_weapon(req); } switch(req) { @@ -308,19 +312,19 @@ float W_Porto(float req) { if(WEP_CVAR(porto, secondary)) { - if (self.BUTTON_ATCK) - if (!self.porto_current) - if (!self.porto_forbidden) - if (weapon_prepareattack(0, WEP_CVAR_PRI(porto, refire))) + if(self.BUTTON_ATCK) + if(!self.porto_current) + if(!self.porto_forbidden) + if(weapon_prepareattack(0, WEP_CVAR_PRI(porto, refire))) { W_Porto_Attack(0); weapon_thinkf(WFRAME_FIRE1, WEP_CVAR_PRI(porto, animtime), w_ready); } - if (self.BUTTON_ATCK2) - if (!self.porto_current) - if (!self.porto_forbidden) - if (weapon_prepareattack(1, WEP_CVAR_SEC(porto, refire))) + if(self.BUTTON_ATCK2) + if(!self.porto_current) + if(!self.porto_forbidden) + if(weapon_prepareattack(1, WEP_CVAR_SEC(porto, refire))) { W_Porto_Attack(1); weapon_thinkf(WFRAME_FIRE2, WEP_CVAR_SEC(porto, animtime), w_ready); @@ -350,10 +354,10 @@ float W_Porto(float req) if(self.porto_v_angle_held) makevectors(self.porto_v_angle); // override the previously set angles - if (self.BUTTON_ATCK) - if (!self.porto_current) - if (!self.porto_forbidden) - if (weapon_prepareattack(0, WEP_CVAR_PRI(porto, refire))) + if(self.BUTTON_ATCK) + if(!self.porto_current) + if(!self.porto_forbidden) + if(weapon_prepareattack(0, WEP_CVAR_PRI(porto, refire))) { W_Porto_Attack(-1); weapon_thinkf(WFRAME_FIRE1, WEP_CVAR_PRI(porto, animtime), w_ready); @@ -364,22 +368,22 @@ float W_Porto(float req) } case WR_INIT: { - precache_model ("models/weapons/g_porto.md3"); - precache_model ("models/weapons/v_porto.md3"); - precache_model ("models/weapons/h_porto.iqm"); - precache_model ("models/portal.md3"); - precache_sound ("porto/bounce.wav"); - precache_sound ("porto/create.wav"); - precache_sound ("porto/expire.wav"); - precache_sound ("porto/explode.wav"); - precache_sound ("porto/fire.wav"); - precache_sound ("porto/unsupported.wav"); - PORTO_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP) + precache_model("models/weapons/g_porto.md3"); + precache_model("models/weapons/v_porto.md3"); + precache_model("models/weapons/h_porto.iqm"); + precache_model("models/portal.md3"); + precache_sound("porto/bounce.wav"); + precache_sound("porto/create.wav"); + precache_sound("porto/expire.wav"); + precache_sound("porto/explode.wav"); + precache_sound("porto/fire.wav"); + precache_sound("porto/unsupported.wav"); + PORTO_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP) return TRUE; } case WR_SETUP: { - self.current_ammo = ammo_none; + self.ammo_field = ammo_none; return TRUE; } case WR_RESETPLAYER: @@ -388,7 +392,7 @@ float W_Porto(float req) return TRUE; } } - return TRUE; + return FALSE; } #endif #ifdef CSQC @@ -412,7 +416,7 @@ float W_Porto(float req) return FALSE; } } - return TRUE; + return FALSE; } #endif #endif