X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fmutator_overkill.qc;h=d2086215f931dc94143c9c1e71958e8932d14a0b;hb=e95082e3dbb7cb2b54189dc05fb923c768babad7;hp=d7739d8eec46604b660077479e7ce81ba6a9148b;hpb=28305c2245f99ca5ae21ea8858e05c6bb0a2000b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/mutator_overkill.qc b/qcsrc/server/mutators/mutator_overkill.qc index d7739d8ee..d2086215f 100644 --- a/qcsrc/server/mutators/mutator_overkill.qc +++ b/qcsrc/server/mutators/mutator_overkill.qc @@ -3,9 +3,9 @@ #include "mutator.qh" -void W_Blaster_Attack(float, float, float, float, float, float, float, float, float, float); -void spawnfunc_weapon_hmg(); -void spawnfunc_weapon_rpc(); +void W_Blaster_Attack(entity, float, float, float, float, float, float, float, float, float, float); +spawnfunc(weapon_hmg); +spawnfunc(weapon_rpc); void ok_DecreaseCharge(entity ent, int wep) { @@ -84,7 +84,7 @@ MUTATOR_HOOKFUNCTION(ok_PlayerDies) self.ok_item = true; self.noalign = true; self.pickup_anyway = true; - spawnfunc_item_armor_small(); + spawnfunc_item_armor_small(this); self.movetype = MOVETYPE_TOSS; self.gravity = 1; self.reset = SUB_Remove; @@ -149,6 +149,7 @@ MUTATOR_HOOKFUNCTION(ok_PlayerPreThink) int oldwep = self.weapon; self.weapon = WEP_BLASTER.m_id; W_Blaster_Attack( + self, WEP_BLASTER.m_id | HITTYPE_SECONDARY, WEP_CVAR_SEC(vaporizer, shotangle), WEP_CVAR_SEC(vaporizer, damage), @@ -174,10 +175,11 @@ MUTATOR_HOOKFUNCTION(ok_PlayerPreThink) { //Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_OVERKILL_CHARGE); self.ok_notice_time = time + 2; - play2(self, W_Sound("dryfire")); + play2(self, SND(DRYFIRE)); } + Weapon wpn = get_weaponinfo(self.weapon); if(self.weaponentity.state != WS_CLEAR) - w_ready(); + w_ready(wpn, self, self.BUTTON_ATCK, self.BUTTON_ATCK2); self.weapon_blocked = true; } @@ -205,6 +207,9 @@ MUTATOR_HOOKFUNCTION(ok_PlayerSpawn) return false; } +void _spawnfunc_weapon_hmg() { SELFPARAM(); spawnfunc_weapon_hmg(this); } +void _spawnfunc_weapon_rpc() { SELFPARAM(); spawnfunc_weapon_rpc(this); } + MUTATOR_HOOKFUNCTION(ok_OnEntityPreSpawn) {SELFPARAM(); if(autocvar_g_powerups) @@ -214,7 +219,7 @@ MUTATOR_HOOKFUNCTION(ok_OnEntityPreSpawn) { entity wep = spawn(); setorigin(wep, self.origin); - setmodel(wep, W_Model("g_ok_hmg.md3")); + setmodel(wep, MDL_OK_HMG); wep.classname = "weapon_hmg"; wep.ok_item = true; wep.noalign = self.noalign; @@ -222,7 +227,7 @@ MUTATOR_HOOKFUNCTION(ok_OnEntityPreSpawn) wep.team = self.team; wep.respawntime = autocvar_g_overkill_superguns_respawn_time; wep.pickup_anyway = true; - wep.think = spawnfunc_weapon_hmg; + wep.think = _spawnfunc_weapon_hmg; wep.nextthink = time + 0.1; return true; } @@ -231,7 +236,7 @@ MUTATOR_HOOKFUNCTION(ok_OnEntityPreSpawn) { entity wep = spawn(); setorigin(wep, self.origin); - setmodel(wep, W_Model("g_ok_rl.md3")); + setmodel(wep, MDL_OK_RPC); wep.classname = "weapon_rpc"; wep.ok_item = true; wep.noalign = self.noalign; @@ -239,7 +244,7 @@ MUTATOR_HOOKFUNCTION(ok_OnEntityPreSpawn) wep.team = self.team; wep.respawntime = autocvar_g_overkill_superguns_respawn_time; wep.pickup_anyway = true; - wep.think = spawnfunc_weapon_rpc; + wep.think = _spawnfunc_weapon_rpc; wep.nextthink = time + 0.1; return true; } @@ -272,10 +277,10 @@ MUTATOR_HOOKFUNCTION(ok_SpectateCopy) MUTATOR_HOOKFUNCTION(ok_StartItems) { - WepSet ok_start_items = (WEPSET_MACHINEGUN | WEPSET_VORTEX | WEPSET_SHOTGUN); + WepSet ok_start_items = (WEPSET(MACHINEGUN) | WEPSET(VORTEX) | WEPSET(SHOTGUN)); - if(WEP_RPC.weaponstart > 0) { ok_start_items |= WEPSET_RPC; } - if(WEP_HMG.weaponstart > 0) { ok_start_items |= WEPSET_HMG; } + if(WEP_RPC.weaponstart > 0) { ok_start_items |= WEPSET(RPC); } + if(WEP_HMG.weaponstart > 0) { ok_start_items |= WEPSET(HMG); } start_items |= IT_UNLIMITED_WEAPON_AMMO; start_weapons = warmup_start_weapons = ok_start_items; @@ -316,20 +321,6 @@ void ok_Initialize() precache_all_playermodels("models/ok_player/*.dpm"); - precache_model(W_Model("h_ok_mg.iqm")); - precache_model(W_Model("v_ok_mg.md3")); - precache_model(W_Model("g_ok_mg.md3")); - - precache_model(W_Model("h_ok_shotgun.iqm")); - precache_model(W_Model("v_ok_shotgun.md3")); - precache_model(W_Model("g_ok_shotgun.md3")); - - precache_model(W_Model("h_ok_sniper.iqm")); - precache_model(W_Model("v_ok_sniper.md3")); - precache_model(W_Model("g_ok_sniper.md3")); - - precache_sound(W_Sound("dryfire")); - addstat(STAT_OK_AMMO_CHARGE, AS_FLOAT, ok_use_ammocharge); addstat(STAT_OK_AMMO_CHARGEPOOL, AS_FLOAT, ok_ammo_charge);