X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmiscfunctions.qc;h=40421bbc0fcd9345490cc5c63dcdac2ef368d481;hb=45f35daf6a866ae8a086b97d94a60f812e080657;hp=f3c26699db8003b97d42402334675b443376bfd0;hpb=1182fdc12fe84d3cd9489af075ce1c2e6a88facb;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index f3c26699d..40421bbc0 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -708,7 +708,7 @@ void readplayerstartcvars() { // forcibly turn off weaponarena } - else if (s == "all") + else if (s == "all" || s == "1") { g_weaponarena = 1; g_weaponarena_list = "All Weapons"; @@ -904,34 +904,11 @@ float sv_autotaunt; float sv_taunt; string GetGametype(); // g_world.qc +void mutators_add(); // mutators.qc void readlevelcvars(void) { // load mutators - #define CHECK_MUTATOR_ADD(mut_cvar,mut_name,dependence) \ - { if(cvar(mut_cvar) && dependence) { MUTATOR_ADD(mut_name); } } - - CHECK_MUTATOR_ADD("g_dodging", mutator_dodging, 1); - CHECK_MUTATOR_ADD("g_spawn_near_teammate", mutator_spawn_near_teammate, teamplay); - CHECK_MUTATOR_ADD("g_physical_items", mutator_physical_items, 1); - CHECK_MUTATOR_ADD("g_touchexplode", mutator_touchexplode, 1); - CHECK_MUTATOR_ADD("g_minstagib", mutator_minstagib, 1); - CHECK_MUTATOR_ADD("g_invincible_projectiles", mutator_invincibleprojectiles, !cvar("g_minstagib")); - CHECK_MUTATOR_ADD("g_new_toys", mutator_new_toys, !cvar("g_minstagib")); - CHECK_MUTATOR_ADD("g_nix", mutator_nix, !cvar("g_minstagib")); - CHECK_MUTATOR_ADD("g_rocket_flying", mutator_rocketflying, !cvar("g_minstagib")); - CHECK_MUTATOR_ADD("g_vampire", mutator_vampire, !cvar("g_minstagib")); - CHECK_MUTATOR_ADD("g_superspectate", mutator_superspec, 1); - CHECK_MUTATOR_ADD("g_pinata", mutator_pinata, !cvar("g_minstagib")); - CHECK_MUTATOR_ADD("g_midair", mutator_midair, 1); - CHECK_MUTATOR_ADD("g_bloodloss", mutator_bloodloss, !cvar("g_minstagib")); - CHECK_MUTATOR_ADD("g_random_gravity", mutator_random_gravity, 1); - CHECK_MUTATOR_ADD("g_multijump", mutator_multijump, 1); - CHECK_MUTATOR_ADD("g_melee_only", mutator_melee_only, !cvar("g_minstagib")); - CHECK_MUTATOR_ADD("g_nades", mutator_nades, 1); - CHECK_MUTATOR_ADD("g_sandbox", sandbox, 1); - CHECK_MUTATOR_ADD("g_campcheck", mutator_campcheck, 1); - - #undef CHECK_MUTATOR_ADD + mutators_add(); if(cvar("sv_allow_fullbright")) serverflags |= SERVERFLAG_ALLOW_FULLBRIGHT; @@ -957,8 +934,6 @@ void readlevelcvars(void) sv_clones = cvar("sv_clones"); sv_foginterval = cvar("sv_foginterval"); g_cloaked = cvar("g_cloaked"); - if(g_cts) - g_cloaked = 1; // always enable cloak in CTS g_footsteps = cvar("g_footsteps"); g_grappling_hook = cvar("g_grappling_hook"); g_jetpack = cvar("g_jetpack"); @@ -1082,15 +1057,6 @@ float sound_allowed(float dest, entity e) return TRUE; } -#ifdef COMPAT_XON010_CHANNELS -void(entity e, float chan, string samp, float vol, float atten) builtin_sound = #8; -void sound(entity e, float chan, string samp, float vol, float atten) -{ - if (!sound_allowed(MSG_BROADCAST, e)) - return; - builtin_sound(e, chan, samp, vol, atten); -} -#else #undef sound void sound(entity e, float chan, string samp, float vol, float atten) { @@ -1098,7 +1064,6 @@ void sound(entity e, float chan, string samp, float vol, float atten) return; sound7(e, chan, samp, vol, atten, 0, 0); } -#endif void soundtoat(float dest, entity e, vector o, float chan, string samp, float vol, float atten) { @@ -1827,82 +1792,6 @@ string uid2name(string myuid) { return s; } -float race_readTime(string map, float pos) -{ - string rr; - if(g_cts) - rr = CTS_RECORD; - else - rr = RACE_RECORD; - - return stof(db_get(ServerProgsDB, strcat(map, rr, "time", ftos(pos)))); -} - -string race_readUID(string map, float pos) -{ - string rr; - if(g_cts) - rr = CTS_RECORD; - else - rr = RACE_RECORD; - - return db_get(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(pos))); -} - -float race_readPos(string map, float t) { - float i; - for (i = 1; i <= RANKINGS_CNT; ++i) - if (race_readTime(map, i) == 0 || race_readTime(map, i) > t) - return i; - - return 0; // pos is zero if unranked -} - -void race_writeTime(string map, float t, string myuid) -{ - string rr; - if(g_cts) - rr = CTS_RECORD; - else - rr = RACE_RECORD; - - float newpos; - newpos = race_readPos(map, t); - - float i, prevpos = 0; - for(i = 1; i <= RANKINGS_CNT; ++i) - { - if(race_readUID(map, i) == myuid) - prevpos = i; - } - if (prevpos) { // player improved his existing record, only have to iterate on ranks between new and old recs - for (i = prevpos; i > newpos; --i) { - db_put(ServerProgsDB, strcat(map, rr, "time", ftos(i)), ftos(race_readTime(map, i - 1))); - db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(i)), race_readUID(map, i - 1)); - } - } else { // player has no ranked record yet - for (i = RANKINGS_CNT; i > newpos; --i) { - db_put(ServerProgsDB, strcat(map, rr, "time", ftos(i)), ftos(race_readTime(map, i - 1))); - db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(i)), race_readUID(map, i - 1)); - } - } - - // store new time itself - db_put(ServerProgsDB, strcat(map, rr, "time", ftos(newpos)), ftos(t)); - db_put(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(newpos)), myuid); -} - -string race_readName(string map, float pos) -{ - string rr; - if(g_cts) - rr = CTS_RECORD; - else - rr = RACE_RECORD; - - return uid2name(db_get(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(pos)))); -} - float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance) { float m, i;