X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_player.qc;h=e504b8f84027808996c79d3f0a6a63680fcb0a44;hb=d47071fb342d60c58c66a8082b4210b625c557e9;hp=f8beba94db82768f2a4345e902dae9b9e9508591;hpb=52471e01febd7aac52922381c2e610a7efb06d81;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index f8beba94d..e504b8f84 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -126,7 +126,7 @@ void WeaponStats_LogKill(float awep, float abot, float vwep, float vbot) void CopyBody(float keepvelocity) { - local entity oldself; + entity oldself; if (self.effects & EF_NODRAW) return; oldself = self; @@ -134,7 +134,6 @@ void CopyBody(float keepvelocity) self.enemy = oldself; self.lip = oldself.lip; self.colormap = oldself.colormap; - self.glowmod = oldself.glowmod; self.iscreature = oldself.iscreature; self.damagedbycontents = oldself.damagedbycontents; self.angles = oldself.angles; @@ -158,11 +157,7 @@ void CopyBody(float keepvelocity) self.armortype = oldself.armortype; self.model = oldself.model; self.modelindex = oldself.modelindex; - self.modelindex_lod0 = oldself.modelindex_lod0; - self.modelindex_lod0_from_xonotic = oldself.modelindex_lod0_from_xonotic; - self.modelindex_lod1 = oldself.modelindex_lod1; - self.modelindex_lod2 = oldself.modelindex_lod2; - self.skinindex = oldself.skinindex; + self.skin = oldself.skin; self.species = oldself.species; self.movetype = oldself.movetype; self.nextthink = oldself.nextthink; @@ -186,13 +181,16 @@ void CopyBody(float keepvelocity) Drag_MoveDrag(oldself, self); + if(self.colormap <= maxclients && self.colormap > 0) + self.colormap = 1024 + self.clientcolors; + self = oldself; } float player_getspecies() { float s; - get_model_parameters(self.model, self.skinindex); + get_model_parameters(self.model, self.skin); s = get_model_parameters_species; get_model_parameters(string_null, 0); if(s < 0) @@ -230,7 +228,7 @@ void player_setupanimsformodel() // TODO introspect models for finding right "fps" value (1/duration) // reset animstate now setanim(self, self.anim_idle, TRUE, FALSE, TRUE); -}; +} void player_anim (void) { @@ -343,7 +341,7 @@ void SpawnThrownWeapon (vector org, float w) void PlayerCorpseDamage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) { - local float take, save; + float take, save; vector v; Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker); @@ -399,7 +397,7 @@ void freezetag_CheckWinner(); void PlayerDamage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) { - local float take, save, waves, sdelay, dh, da, j; + float take, save, waves, sdelay, dh, da, j; vector v; float valid_damage_for_weaponstats; float excess; @@ -493,7 +491,8 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht self.armorvalue = self.armorvalue - save; self.health = self.health - take; // pause regeneration for 5 seconds - self.pauseregen_finished = max(self.pauseregen_finished, time + autocvar_g_balance_pause_health_regen); + if(take) + self.pauseregen_finished = max(self.pauseregen_finished, time + autocvar_g_balance_pause_health_regen); if (time > self.pain_finished) //Don't switch pain sequences like crazy { @@ -530,7 +529,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht } // throw off bot aim temporarily - local float shake; + float shake; shake = damage * 5 / (bound(0,skill,100) + 1); self.v_angle_x = self.v_angle_x + (random() * 2 - 1) * shake; self.v_angle_y = self.v_angle_y + (random() * 2 - 1) * shake; @@ -660,6 +659,8 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht MUTATOR_CALLHOOK(PlayerDies); weapon_action(self.weapon, WR_PLAYERDEATH); + RemoveGrapplingHook(self); + if(self.flagcarried) { if(attacker.classname != "player") @@ -1143,18 +1144,18 @@ float LoadPlayerSounds(string f, float first) } .float modelindex_for_playersound; -.float skinindex_for_playersound; +.float skin_for_playersound; void UpdatePlayerSounds() { if(self.modelindex == self.modelindex_for_playersound) - if(self.skinindex == self.skinindex_for_playersound) + if(self.skin == self.skin_for_playersound) return; self.modelindex_for_playersound = self.modelindex; - self.skinindex_for_playersound = self.skinindex; + self.skin_for_playersound = self.skin; ClearPlayerSounds(); LoadPlayerSounds("sound/player/default.sounds", 1); if(!autocvar_g_debug_defaultsounds) - if(!LoadPlayerSounds(get_model_datafilename(self.model, self.skinindex, "sounds"), 0)) + if(!LoadPlayerSounds(get_model_datafilename(self.model, self.skin, "sounds"), 0)) LoadPlayerSounds(get_model_datafilename(self.model, 0, "sounds"), 0); }