From: Mircea Kitsune Date: Sun, 13 May 2012 09:08:03 +0000 (+0300) Subject: Merge branch 'master' into mirceakitsune/physical_entities X-Git-Tag: xonotic-v0.7.0~111^2~1 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=aa567df8fe657e09850b52f45dc7a939913ce7cb;p=xonotic%2Fxonotic-data.pk3dir.git Merge branch 'master' into mirceakitsune/physical_entities --- aa567df8fe657e09850b52f45dc7a939913ce7cb diff --cc qcsrc/server/miscfunctions.qc index 88b29fe27,3826b683a..95f2cb533 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@@ -1065,21 -1102,26 +1102,28 @@@ float sv_pitch_fixyaw string GetGametype(); // g_world.qc void readlevelcvars(void) { - // first load all the mutators - if(cvar("g_invincible_projectiles")) - MUTATOR_ADD(mutator_invincibleprojectiles); - if(cvar("g_nix")) - MUTATOR_ADD(mutator_nix); + g_minstagib = cvar("g_minstagib"); + + // load ALL the mutators if(cvar("g_dodging")) MUTATOR_ADD(mutator_dodging); - if(cvar("g_rocket_flying")) - MUTATOR_ADD(mutator_rocketflying); - if(cvar("g_vampire")) - MUTATOR_ADD(mutator_vampire); if(cvar("g_spawn_near_teammate")) MUTATOR_ADD(mutator_spawn_near_teammate); + if(cvar("g_physical_items")) + MUTATOR_ADD(mutator_physical_items); + if(!g_minstagib) + { + if(cvar("g_invincible_projectiles")) + MUTATOR_ADD(mutator_invincibleprojectiles); + if(cvar("g_new_toys")) + MUTATOR_ADD(mutator_new_toys); + if(cvar("g_nix")) + MUTATOR_ADD(mutator_nix); + if(cvar("g_rocket_flying")) + MUTATOR_ADD(mutator_rocketflying); + if(cvar("g_vampire")) + MUTATOR_ADD(mutator_vampire); + } // is this a mutator? is this a mode? if(cvar("g_sandbox")) diff --cc qcsrc/server/mutators/base.qh index ff5de6cfa,236e311b6..57777e4b9 --- a/qcsrc/server/mutators/base.qh +++ b/qcsrc/server/mutators/base.qh @@@ -205,9 -205,10 +205,16 @@@ MUTATOR_HOOKABLE(SV_StartFrame) MUTATOR_HOOKABLE(SetModname); // OUT string modname; // name of the mutator/mod if it warrants showing as such in the server browser + +MUTATOR_HOOKABLE(Item_Spawn); + // called for each item being spawned on a map, including dropped weapons + // return 1 to remove an item + // INPUT + entity self; // the item + + MUTATOR_HOOKABLE(SetWeaponreplace); + // IN + entity self; // map entity + entity other; // weapon info + // IN+OUT + string ret_string; diff --cc qcsrc/server/mutators/mutators.qh index 4d019eec0,4e7d9a651..66aa94a33 --- a/qcsrc/server/mutators/mutators.qh +++ b/qcsrc/server/mutators/mutators.qh @@@ -3,13 -3,12 +3,13 @@@ MUTATOR_DECLARATION(gamemode_freezetag) MUTATOR_DECLARATION(gamemode_keepaway); MUTATOR_DECLARATION(gamemode_nexball); + MUTATOR_DECLARATION(mutator_dodging); MUTATOR_DECLARATION(mutator_invincibleprojectiles); + MUTATOR_DECLARATION(mutator_new_toys); MUTATOR_DECLARATION(mutator_nix); - MUTATOR_DECLARATION(mutator_dodging); MUTATOR_DECLARATION(mutator_rocketflying); - MUTATOR_DECLARATION(mutator_vampire); - MUTATOR_DECLARATION(mutator_spawn_near_teammate); MUTATOR_DECLARATION(mutator_spawn_near_teammate); +MUTATOR_DECLARATION(mutator_physical_items); + MUTATOR_DECLARATION(mutator_vampire); MUTATOR_DECLARATION(sandbox);