X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fmiscfunctions.qc;h=59428f65dbca241c03f7b330440cdd8cf75fce98;hp=a67a4e4239a79882c7da59b0bfeac8a3ca903211;hb=66a21db6c6d14643d87368a06b4b96c2829c17aa;hpb=536ec6a3d46e301e787277369bb78eebc986640c diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index a67a4e4239..59428f65db 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -100,9 +100,9 @@ string GetAdvancedDeathReports(entity enPlayer) // Extra fragmessage information if(cvar("sv_fragmessage_information_ping")) { if(clienttype(enPlayer) == CLIENTTYPE_BOT) // Bots have no ping - strMessage = strcat(strMessage, "\n^7(^2Bot"); + strMessage = strcat(strMessage, " ^7(^2Bot"); else - strMessage = strcat(strMessage, "\n^7(Ping ", strPlayerPingColor, ftos(nPlayerPing), "ms"); + strMessage = strcat(strMessage, " ^7(Ping ", strPlayerPingColor, ftos(nPlayerPing), "ms"); if(cvar("sv_fragmessage_information_handicap")) if(cvar("sv_fragmessage_information_handicap") == 2) if(nPlayerHandicap <= 1) @@ -229,12 +229,6 @@ void relocate_spawnpoint() } } - if (cvar("g_spawnpoints_autodrop")) - { - setsize(self, PL_MIN, PL_MAX); - droptofloor(); - } - self.use = spawnpoint_use; self.team_saved = self.team; if (!self.cnt) @@ -534,7 +528,7 @@ void GetCvars_handleString(string thisname, float f, .string field, string name) } } else - stuffcmd(self, strcat("sendcvar ", name, "\n")); + stuffcmd(self, strcat("cl_cmd sendcvar ", name, "\n")); } void GetCvars_handleString_Fixup(string thisname, float f, .string field, string name, string(string) func) { @@ -562,7 +556,7 @@ void GetCvars_handleFloat(string thisname, float f, .float field, string name) self.field = stof(argv(f + 1)); } else - stuffcmd(self, strcat("sendcvar ", name, "\n")); + stuffcmd(self, strcat("cl_cmd sendcvar ", name, "\n")); } void GetCvars_handleFloatOnce(string thisname, float f, .float field, string name) { @@ -584,7 +578,7 @@ void GetCvars_handleFloatOnce(string thisname, float f, .float field, string nam else { if(!self.field) - stuffcmd(self, strcat("sendcvar ", name, "\n")); + stuffcmd(self, strcat("cl_cmd sendcvar ", name, "\n")); } } string W_FixWeaponOrder_ForceComplete(string s); @@ -825,20 +819,30 @@ float g_pickup_fuel_jetpack; float g_pickup_fuel_max; float g_pickup_armorsmall; float g_pickup_armorsmall_max; +float g_pickup_armorsmall_anyway; float g_pickup_armormedium; float g_pickup_armormedium_max; +float g_pickup_armormedium_anyway; float g_pickup_armorbig; float g_pickup_armorbig_max; +float g_pickup_armorbig_anyway; float g_pickup_armorlarge; float g_pickup_armorlarge_max; +float g_pickup_armorlarge_anyway; float g_pickup_healthsmall; float g_pickup_healthsmall_max; +float g_pickup_healthsmall_anyway; float g_pickup_healthmedium; float g_pickup_healthmedium_max; +float g_pickup_healthmedium_anyway; float g_pickup_healthlarge; float g_pickup_healthlarge_max; +float g_pickup_healthlarge_anyway; float g_pickup_healthmega; float g_pickup_healthmega_max; +float g_pickup_healthmega_anyway; +float g_pickup_ammo_anyway; +float g_pickup_weapons_anyway; float g_weaponarena; float g_weaponarena_random; string g_weaponarena_list; @@ -985,7 +989,7 @@ void readplayerstartcvars() if (g_weaponarena) { start_weapons = g_weaponarena; - if (g_weaponarena & (WEPBIT_GRENADE_LAUNCHER | WEPBIT_HAGAR | WEPBIT_ROCKET_LAUNCHER)) + if (g_weaponarena & (WEPBIT_GRENADE_LAUNCHER | WEPBIT_MINE_LAYER | WEPBIT_HAGAR | WEPBIT_ROCKET_LAUNCHER)) start_ammo_rockets = 999; if (g_weaponarena & WEPBIT_SHOTGUN) start_ammo_shells = 999; @@ -1217,7 +1221,6 @@ void readlevelcvars(void) sv_maxidle = cvar("sv_maxidle"); sv_maxidle_spectatorsareidle = cvar("sv_maxidle_spectatorsareidle"); sv_pogostick = cvar("sv_pogostick"); - sv_doublejump = cvar("sv_doublejump"); g_ctf_reverse = cvar("g_ctf_reverse"); sv_autotaunt = cvar("sv_autotaunt"); sv_taunt = cvar("sv_taunt"); @@ -1262,20 +1265,31 @@ void readlevelcvars(void) g_pickup_fuel_max = cvar("g_pickup_fuel_max"); g_pickup_armorsmall = cvar("g_pickup_armorsmall"); g_pickup_armorsmall_max = cvar("g_pickup_armorsmall_max"); + g_pickup_armorsmall_anyway = cvar("g_pickup_armorsmall_anyway"); g_pickup_armormedium = cvar("g_pickup_armormedium"); g_pickup_armormedium_max = cvar("g_pickup_armormedium_max"); + g_pickup_armormedium_anyway = cvar("g_pickup_armormedium_anyway"); g_pickup_armorbig = cvar("g_pickup_armorbig"); g_pickup_armorbig_max = cvar("g_pickup_armorbig_max"); + g_pickup_armorbig_anyway = cvar("g_pickup_armorbig_anyway"); g_pickup_armorlarge = cvar("g_pickup_armorlarge"); g_pickup_armorlarge_max = cvar("g_pickup_armorlarge_max"); + g_pickup_armorlarge_anyway = cvar("g_pickup_armorlarge_anyway"); g_pickup_healthsmall = cvar("g_pickup_healthsmall"); g_pickup_healthsmall_max = cvar("g_pickup_healthsmall_max"); + g_pickup_healthsmall_anyway = cvar("g_pickup_healthsmall_anyway"); g_pickup_healthmedium = cvar("g_pickup_healthmedium"); g_pickup_healthmedium_max = cvar("g_pickup_healthmedium_max"); + g_pickup_healthmedium_anyway = cvar("g_pickup_healthmedium_anyway"); g_pickup_healthlarge = cvar("g_pickup_healthlarge"); g_pickup_healthlarge_max = cvar("g_pickup_healthlarge_max"); + g_pickup_healthlarge_anyway = cvar("g_pickup_healthlarge_anyway"); g_pickup_healthmega = cvar("g_pickup_healthmega"); g_pickup_healthmega_max = cvar("g_pickup_healthmega_max"); + g_pickup_healthmega_anyway = cvar("g_pickup_healthmega_anyway"); + + g_pickup_ammo_anyway = cvar("g_pickup_ammo_anyway"); + g_pickup_weapons_anyway = cvar("g_pickup_weapons_anyway"); g_pinata = cvar("g_pinata"); @@ -1583,6 +1597,7 @@ void precache() precache_all_playermodels("models/player/*.dpm"); precache_all_playermodels("models/player/*.md3"); precache_all_playermodels("models/player/*.psk"); + precache_all_playermodels("models/player/*.iqm"); } if (cvar("sv_defaultcharacter")) @@ -1653,6 +1668,7 @@ void precache() precache_sound ("weapons/weapon_switch.wav"); precache_sound ("weapons/weaponpickup.wav"); precache_sound ("weapons/unavailable.wav"); + precache_sound ("weapons/dryfire.wav"); if (g_grappling_hook) { precache_sound ("weapons/hook_fire.wav"); // hook @@ -1894,6 +1910,13 @@ void adaptor_think2use() activator = a; } +void adaptor_think2use_hittype_splash() // for timed projectile detonation +{ + if not(self.flags & FL_ONGROUND) // if onground, we ARE touching something, but HITTYPE_SPLASH is to be networked if the damage causing projectile is not touching ANYTHING + self.projectiledeathtype |= HITTYPE_SPLASH; + adaptor_think2use(); +} + // deferred dropping void DropToFloor_Handler() { @@ -2308,9 +2331,9 @@ void write_recordmarker(entity pl, float tstart, float dt) " ", ftos(tstart), " ", ftos(dt), "\n")); } -vector shotorg_adjustfromclient(vector vecs, float y_is_right, float allowcenter) +vector shotorg_adjustfromclient(vector vecs, float y_is_right, float allowcenter, float algn) { - switch(self.owner.cvar_cl_gunalign) + switch(algn) { case 1: // right break; @@ -2325,7 +2348,7 @@ vector shotorg_adjustfromclient(vector vecs, float y_is_right, float allowcenter { // center vecs_y = 0; - vecs_z -= 4; + vecs_z -= 2; } else { @@ -2338,7 +2361,7 @@ vector shotorg_adjustfromclient(vector vecs, float y_is_right, float allowcenter { // center vecs_y = 0; - vecs_z -= 4; + vecs_z -= 2; } else { @@ -2350,7 +2373,7 @@ vector shotorg_adjustfromclient(vector vecs, float y_is_right, float allowcenter return vecs; } -vector shotorg_adjust(vector vecs, float y_is_right, float visual) +vector shotorg_adjust_values(vector vecs, float y_is_right, float visual, float algn) { string s; vector v; @@ -2359,7 +2382,7 @@ vector shotorg_adjust(vector vecs, float y_is_right, float visual) { if (visual) { - vecs = shotorg_adjustfromclient(vecs, y_is_right, TRUE); + vecs = shotorg_adjustfromclient(vecs, y_is_right, TRUE, algn); } else { @@ -2371,12 +2394,12 @@ vector shotorg_adjust(vector vecs, float y_is_right, float visual) { if (visual) { - vecs = shotorg_adjustfromclient(vecs, y_is_right, TRUE); + vecs = shotorg_adjustfromclient(vecs, y_is_right, TRUE, algn); } else { vecs_y = 0; - vecs_z -= 4; + vecs_z -= 2; } } else if ((s = cvar_string("g_shootfromfixedorigin")) != "") @@ -2391,11 +2414,15 @@ vector shotorg_adjust(vector vecs, float y_is_right, float visual) } else if (cvar("g_shootfromclient")) { - vecs = shotorg_adjustfromclient(vecs, y_is_right, (cvar("g_shootfromclient") >= 2)); + vecs = shotorg_adjustfromclient(vecs, y_is_right, (cvar("g_shootfromclient") >= 2), algn); } return vecs; } +vector shotorg_adjust(vector vecs, float y_is_right, float visual) +{ + return shotorg_adjust_values(vecs, y_is_right, visual, self.owner.cvar_cl_gunalign); +} void attach_sameorigin(entity e, entity to, string tag)