Merge branch 'Mario/nades_mutator' into Mario/mutators
authorMario <mario.mario@y7mail.com>
Tue, 11 Jun 2013 04:32:43 +0000 (14:32 +1000)
committerMario <mario.mario@y7mail.com>
Tue, 11 Jun 2013 04:32:43 +0000 (14:32 +1000)
1  2 
mutators.cfg
qcsrc/server/autocvars.qh
qcsrc/server/cl_weaponsystem.qc
qcsrc/server/miscfunctions.qc
qcsrc/server/mutators/mutators.qh
qcsrc/server/progs.src

diff --cc mutators.cfg
index ba012ed,0000000..054a32c
mode 100644,000000..100644
--- /dev/null
@@@ -1,130 -1,0 +1,147 @@@
 +// =========================
 +//  Config for all mutators
 +// =========================
 +
 +
 +// =========
 +//  dodging
 +// =========
 +set g_dodging 0 "set to 1 to enable dodging in games"
 +
 +seta cl_dodging_timeout 0.2 "determines how long apart (in seconds) two taps on the same direction key are considered a dodge. use 0 to disable"
 +
 +set sv_dodging_wall_dodging 0 "set to 1 to allow dodging off walls. 0 to disable"
 +set sv_dodging_delay 0.5 "determines how long a player has to wait to be able to dodge again after dodging"
 +set sv_dodging_up_speed 200 "the jump velocity of the dodge"
 +set sv_dodging_horiz_speed 400 "the horizontal velocity of the dodge"
 +set sv_dodging_ramp_time 0.1 "a ramp so that the horizontal part of the dodge is added smoothly (seconds)"
 +set sv_dodging_height_threshold 10 "the maximum height above ground where to allow dodging"
 +set sv_dodging_wall_distance_threshold 10 "the maximum distance from a wall that still allows dodging"
 +set sv_dodging_sound 1 "if 1 dodging makes a sound. if 0 dodging is silent"
 +
 +
 +// ===========
 +//  minstagib
 +// ===========
 +set g_minstagib 0 "enable minstagib"
 +set g_minstagib_extralives 1 "how many extra lives you will get per powerup"
 +set g_minstagib_ammo_start 10 "starting ammo"
 +set g_minstagib_ammo_drop 5 "how much ammo you'll get for weapons or cells"
 +set g_minstagib_invis_alpha 0.15
 +set g_minstagib_speed_highspeed 1.5 "speed-multiplier that applies while you carry the invincibility powerup"
 +
 +
 +// =========
 +//  vampire
 +// =========
 +set g_vampire 0 "set to 1 to enable the vampire mode, where the damage done to your opponent gets added to your own health"
 +
 +
 +// =========
 +//  sandbox
 +// =========
 +set g_sandbox 0 "allow players to spawn and edit objects around the map"
 +set g_sandbox_info 1 "print object information to the server. 1 prints info about spawned / removed objects, 2 also prints info about edited objects"
 +set g_sandbox_readonly 0 "when this mode is active, players cannot modify objects or use any sandbox commands"
 +set g_sandbox_storage_name default "name of the selected storage to use"
 +set g_sandbox_storage_autosave 5 "storage is automatically saved every specified number of seconds"
 +set g_sandbox_storage_autoload 1 "if a storage file exists for the given map, automatically load it at startup"
 +set g_sandbox_editor_flood 1 "players must wait this many seconds between spawning objects"
 +set g_sandbox_editor_maxobjects 1000 "maximum number of objects that may exist at a time"
 +set g_sandbox_editor_free 1 "0 = players can only copy or edit their own objects, 1 = players can copy but not edit other objects, 2 = players can copy and edit all object"
 +set g_sandbox_editor_distance_spawn 200 "distance at which objects spawn in front of the player"
 +set g_sandbox_editor_distance_edit 300 "distance at which players can edit or remove objects they are looking at"
 +set g_sandbox_object_scale_min 0.1 "minimum scale that objects can be set to"
 +set g_sandbox_object_scale_max 2 "maximum scale that objects can be set to"
 +set g_sandbox_object_material_velocity_min 100 "velocity objects must have while colliding for material effects to be applied"
 +set g_sandbox_object_material_velocity_factor 0.002 "velocity range which decides the intensity of material effects"
 +set cl_sandbox_clipboard ""
 +
 +
 +// ========================
 +//  invincible projectiles
 +// ========================
 +set g_invincible_projectiles 0 "set to 1 to disable any damage to projectiles in all balance configs, regardless of g_projectiles_damage"
 +
 +
 +// ===============
 +//  rocket flying
 +// ===============
 +set g_rocket_flying 0 "set to 1 to enable rocket flying in all balance configs"
 +
 +
 +// =====================
 +//  spawn near teammate
 +// =====================
 +set g_spawn_near_teammate 0 "if set, players prefer spawns near a team mate"
 +set g_spawn_near_teammate_distance 640 "max distance to consider a spawn to be near a team mate"
 +
 +
 +// ========================
 +//  NIX (No Items Xonotic)
 +// ========================
 +// at each time, everyone uses the same weapon,
 +// and in regular intervals, this weapon is cycled
 +set g_nix 0 "No Items Xonotic - instead of pickup items, everyone plays with the same weapon. After some time, a countdown will start, after which everyone will switch to another weapon, and so on"
 +set g_nix_with_laser 0 "always carry the laser as an additional weapon in NIX"
 +set g_nix_with_healtharmor 0 "when 1, health and armor still show up in NIX"
 +set g_nix_with_powerups 0 "when 1, powerups still show up in NIX"
 +
 +
 +// ================
 +//  physical items
 +// ================
 +set g_physical_items 0 "1 uses ODE physics for dropped weapons, 2 for all items, requires physics_ode to be enabled"
 +set g_physical_items_damageforcescale 3 "how affected physical weapons are by damage"
 +set g_physical_items_reset 1 "return map items to their original lotation after being picked up"
 +
 +
 +// ===============
 +//  touch explode
 +// ===============
 +set g_touchexplode 0 "touching other players causes an explosion"
 +set g_touchexplode_radius 50
 +set g_touchexplode_damage 10
 +set g_touchexplode_edgedamage 0
 +set g_touchexplode_force 150
 +
 +
 +// ================
 +//  super spectate
 +// ================
 +set g_superspectate 0 "server side, allows extended spectator functions through the cmd interface. followpowerup, followstrength, followstshield or followfc [red|blue] will transfer spectation to the relevent player, if any"
 +
 +
 +// ==================
 +//  melee only arena
 +// ==================
 +set g_melee_only 0 "enable melee only arena"
 +
 +
 +// ================
 +//  random gravity
 +// ================
 +set g_random_gravity 0 "enable random gravity mutator"
 +set g_random_gravity_delay 3 "delay between gravity changes"
 +set g_random_gravity_negative_chance 0.5 "chance of gravity being a negative value"
 +set g_random_gravity_min -2000 "minimum gravity"
 +set g_random_gravity_max 2000 "maximum gravity"
 +set g_random_gravity_positive 1000 "positive gravity multiplier"
 +set g_random_gravity_negative 1000 "negative gravity multiplier"
++
++
++// =======
++//  nades
++// =======
++set g_nades 0 "enable off-hand grenades"
++set g_nades_spawn 1 "give nades right away when player spawns rather than delaying entire refire"
++set g_nades_nade_lifetime 3.5
++set g_nades_nade_minforce 400
++set g_nades_nade_maxforce 2000
++set g_nades_nade_health 25
++set g_nades_nade_refire 6
++set g_nades_nade_damage 225
++set g_nades_nade_edgedamage 90
++set g_nades_nade_radius 300
++set g_nades_nade_force 650
++set g_nades_nade_newton_style 0
@@@ -1232,11 -1234,15 +1232,22 @@@ float autocvar_g_touchexplode_radius
  float autocvar_g_touchexplode_damage;
  float autocvar_g_touchexplode_edgedamage;
  float autocvar_g_touchexplode_force;
 +#define autocvar_g_bloodloss cvar("g_bloodloss")
 +float autocvar_g_random_gravity_negative_chance;
 +float autocvar_g_random_gravity_min;
 +float autocvar_g_random_gravity_max;
 +float autocvar_g_random_gravity_positive;
 +float autocvar_g_random_gravity_negative;
 +float autocvar_g_random_gravity_delay;
+ float autocvar_g_nades;
+ float autocvar_g_nades_spawn;
+ float autocvar_g_nades_nade_lifetime;
+ float autocvar_g_nades_nade_minforce;
+ float autocvar_g_nades_nade_maxforce;
+ float autocvar_g_nades_nade_health;
+ float autocvar_g_nades_nade_refire;
+ float autocvar_g_nades_nade_damage;
+ float autocvar_g_nades_nade_edgedamage;
+ float autocvar_g_nades_nade_radius;
+ float autocvar_g_nades_nade_force;
+ float autocvar_g_nades_nade_newton_style;
Simple merge
@@@ -915,15 -919,7 +915,16 @@@ void readlevelcvars(void
        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_norecoil", mutator_norecoil, 1);
 +      CHECK_MUTATOR_ADD("g_multijump", mutator_multijump, 1);
 +      CHECK_MUTATOR_ADD("g_jump_grunt", mutator_jump_grunt, 1);
 +      CHECK_MUTATOR_ADD("g_footsteps", mutator_footsteps, 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);
        
        #undef CHECK_MUTATOR_ADD
@@@ -21,14 -21,6 +21,15 @@@ MUTATOR_DECLARATION(mutator_vampire)
  MUTATOR_DECLARATION(mutator_superspec);
  MUTATOR_DECLARATION(mutator_minstagib);
  MUTATOR_DECLARATION(mutator_touchexplode);
 +MUTATOR_DECLARATION(mutator_pinata);
 +MUTATOR_DECLARATION(mutator_midair);
 +MUTATOR_DECLARATION(mutator_bloodloss);
 +MUTATOR_DECLARATION(mutator_random_gravity);
 +MUTATOR_DECLARATION(mutator_norecoil);
 +MUTATOR_DECLARATION(mutator_multijump);
 +MUTATOR_DECLARATION(mutator_jump_grunt);
 +MUTATOR_DECLARATION(mutator_footsteps);
 +MUTATOR_DECLARATION(mutator_melee_only);
+ MUTATOR_DECLARATION(mutator_nades);
  
  MUTATOR_DECLARATION(sandbox);
@@@ -247,16 -247,8 +247,16 @@@ mutators/mutator_physical_items.q
  mutators/sandbox.qc
  mutators/mutator_superspec.qc
  mutators/mutator_minstagib.qc
--mutators/mutator_touchexplode.qc
 +mutators/mutator_pinata.qc
 +mutators/mutator_midair.qc
 +mutators/mutator_bloodloss.qc
 +mutators/mutator_random_gravity.qc
 +mutators/mutator_norecoil.qc
 +mutators/mutator_multijump.qc
 +mutators/mutator_jump_grunt.qc
 +mutators/mutator_footsteps.qc
 +mutators/mutator_melee_only.qc
+ mutators/mutator_nades.qc
  
  ../warpzonelib/anglestransform.qc
  ../warpzonelib/mathlib.qc