X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fplayer.qc;h=4d59943b682dfb89a81d68e274100e2b1f1d0a86;hp=af6b520749f3b157434d443bc056690f32602b33;hb=0076d3f631e54b908b7506883c75c6d28f6b9505;hpb=8c094d930e9ef51767384452f80a3bccdc6fd38d diff --git a/qcsrc/server/player.qc b/qcsrc/server/player.qc index af6b520749..4d59943b68 100644 --- a/qcsrc/server/player.qc +++ b/qcsrc/server/player.qc @@ -5,7 +5,6 @@ #include "cheats.qh" #include "g_damage.qh" #include "handicap.qh" -#include "g_subs.qh" #include "miscfunctions.qh" #include "portals.qh" #include "teamplay.qh" @@ -15,8 +14,9 @@ #include "../common/anim.qh" #include "../common/animdecide.qh" #include "../common/csqcmodel_settings.qh" +#include "../common/gamemodes/sv_rules.qh" #include "../common/deathtypes/all.qh" -#include "../common/triggers/subs.qh" +#include "../common/mapobjects/subs.qh" #include "../common/playerstats.qh" #include "../lib/csqcmodel/sv_model.qh" @@ -25,7 +25,7 @@ #include "../common/physics/player.qh" #include "../common/effects/qc/_mod.qh" #include "../common/mutators/mutator/waypoints/waypointsprites.qh" -#include "../common/triggers/include.qh" +#include "../common/mapobjects/_mod.qh" #include "../common/wepent.qh" #include "weapons/weaponstats.qh" @@ -173,9 +173,6 @@ void PlayerCorpseDamage(entity this, entity inflictor, entity attacker, float da vector v; Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, this, attacker); - // damage resistance (ignore most of the damage from a bullet or similar) - damage = max(damage - 5, 1); - v = healtharmor_applydamage(this.armorvalue, autocvar_g_balance_armor_blockpercent, deathtype, damage); take = v.x; save = v.y; @@ -223,7 +220,7 @@ void PlayerCorpseDamage(entity this, entity inflictor, entity attacker, float da void calculate_player_respawn_time(entity this) { - if(g_ca) + if(MUTATOR_CALLHOOK(CalculateRespawnTime, this)) return; float gametype_setting_tmp; @@ -629,11 +626,7 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, animdecide_setstate(this, this.anim_state | ANIMSTATE_DEAD1, true); else animdecide_setstate(this, this.anim_state | ANIMSTATE_DEAD2, true); - if (this.maxs.z > 5) - { - this.maxs_z = 5; - setsize(this, this.mins, this.maxs); - } + // set damage function to corpse damage this.event_damage = PlayerCorpseDamage; // call the corpse damage function just in case it wants to gib @@ -652,7 +645,7 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, if(autocvar_sv_gentle > 0 || autocvar_ekg || this.classname == "body") { // remove corpse // clones don't run any animation code any more, so we must gib them when they die :( - PlayerCorpseDamage(this, inflictor, attacker, autocvar_sv_gibhealth+1.0, deathtype, weaponentity, hitloc, force); + this.event_damage(this, inflictor, attacker, autocvar_sv_gibhealth + 1, deathtype, weaponentity, hitloc, force); } // reset fields the weapons may use just in case @@ -686,60 +679,6 @@ bool MoveToTeam(entity client, int team_colour, int type) return true; } -/** print(), but only print if the server is not local */ -void dedicated_print(string input) -{ - if (server_is_dedicated) print(input); -} - -void PrintToChat(entity player, string text) -{ - text = strcat("\{1}^7", text, "\n"); - sprint(player, text); -} - -void DebugPrintToChat(entity player, string text) -{ - if (autocvar_developer) - { - PrintToChat(player, text); - } -} - -void PrintToChatAll(string text) -{ - text = strcat("\{1}^7", text, "\n"); - bprint(text); -} - -void DebugPrintToChatAll(string text) -{ - if (autocvar_developer) - { - PrintToChatAll(text); - } -} - -void PrintToChatTeam(int teamnum, string text) -{ - text = strcat("\{1}^7", text, "\n"); - FOREACH_CLIENT(IS_REAL_CLIENT(it), - { - if (it.team == teamnum) - { - sprint(it, text); - } - }); -} - -void DebugPrintToChatTeam(int teamnum, string text) -{ - if (autocvar_developer) - { - PrintToChatTeam(teamnum, text); - } -} - /** * message "": do not say, just test flood control * return value: @@ -976,7 +915,7 @@ int Say(entity source, int teamsay, entity privatesay, string msgin, bool floodc if (privatesay && source && !IS_PLAYER(source)) { if (!game_stopped) - if ((privatesay && !IS_PLAYER(privatesay)) || (autocvar_g_chat_nospectators == 1) || (autocvar_g_chat_nospectators == 2 && !warmup_stage)) + if ((privatesay && IS_PLAYER(privatesay)) && ((autocvar_g_chat_nospectators == 1) || (autocvar_g_chat_nospectators == 2 && !warmup_stage))) ret = -1; // just hide the message completely }