X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fspawning.qc;h=b011bb1fffd3e9c1fd5d3318d0765edd1bc26da7;hb=2e4b6fcb1aec544934a31bd49bba5eeecaffbf86;hp=9096b2f9c72d9ff3e54063ec33a1d0be7cbcd0bb;hpb=c6d440124df99b8b1f48fe7666332273535eb413;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/weapons/spawning.qc b/qcsrc/server/weapons/spawning.qc index 9096b2f9c..b011bb1ff 100644 --- a/qcsrc/server/weapons/spawning.qc +++ b/qcsrc/server/weapons/spawning.qc @@ -35,11 +35,10 @@ string W_Apply_Weaponreplace(string in) } void weapon_defaultspawnfunc(float wpn) -{ +{SELFPARAM(); entity e; float t; string s; - entity oldself; float i, j; int f; @@ -55,9 +54,7 @@ void weapon_defaultspawnfunc(float wpn) } s = W_Apply_Weaponreplace(e.netname); - ret_string = s; - other = e; - MUTATOR_CALLHOOK(SetWeaponreplace); + MUTATOR_CALLHOOK(SetWeaponreplace, self, e, s); s = ret_string; if(s == "") { @@ -69,7 +66,6 @@ void weapon_defaultspawnfunc(float wpn) if(t >= 2) { self.team = --internalteam; - oldself = self; for(i = 1; i < t; ++i) { s = argv(i); @@ -78,8 +74,8 @@ void weapon_defaultspawnfunc(float wpn) e = get_weaponinfo(j); if(e.netname == s) { - self = spawn(); - copyentity(oldself, self); + setself(spawn()); + copyentity(this, self); self.classname = "replacedweapon"; weapon_defaultspawnfunc(j); break; @@ -87,10 +83,10 @@ void weapon_defaultspawnfunc(float wpn) } if(j > WEP_LAST) { - print("The weapon replace list for ", oldself.classname, " contains an unknown weapon ", s, ". Skipped.\n"); + LOG_INFO("The weapon replace list for ", this.classname, " contains an unknown weapon ", s, ". Skipped.\n"); } } - self = oldself; + setself(this); } if(t >= 1) // always the case! { @@ -107,7 +103,7 @@ void weapon_defaultspawnfunc(float wpn) } if(j > WEP_LAST) { - print("The weapon replace list for ", self.classname, " contains an unknown weapon ", s, ". Skipped.\n"); + LOG_INFO("The weapon replace list for ", self.classname, " contains an unknown weapon ", s, ". Skipped.\n"); } } if(wpn == 0) @@ -181,9 +177,12 @@ void weapon_defaultspawnfunc(float wpn) if(self.team) f |= FL_NO_WEAPON_STAY; - StartItem(e.model, "weapons/weaponpickup.wav", self.respawntime, self.respawntimejitter, e.message, 0, e.weapon, f, weapon_pickupevalfunc, e.bot_pickupbasevalue); + StartItem(strzone(e.m_model.model_str()), string_null, self.respawntime, self.respawntimejitter, e.message, 0, e.weapon, f, weapon_pickupevalfunc, e.bot_pickupbasevalue); + self.item_pickupsound_ent = SND_WEAPONPICKUP; #if 0 // WEAPONTODO - if (self.modelindex) // don't precache if self was removed - WEP_ACTION(e.weapon, WR_INIT); + if (self.modelindex) { // don't precache if self was removed + Weapon w = get_weaponinfo(e.weapon); + w.wr_init(w); + } #endif }