]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'origin/mirceakitsune/cvared_gib_health'
authorRudolf Polzer <divVerent@xonotic.org>
Thu, 31 Mar 2011 07:27:22 +0000 (09:27 +0200)
committerRudolf Polzer <divVerent@xonotic.org>
Thu, 31 Mar 2011 07:27:22 +0000 (09:27 +0200)
48 files changed:
balance25.cfg
balanceLeeStricklin.cfg
balanceSamual.cfg
balanceXonotic.cfg
balancetZork.cfg
defaultXonotic.cfg
effectinfo.txt
gfx/hud/luminos/border_small_healtharmor.tga [new file with mode: 0644]
gfx/hud/luminos/border_small_modicons.tga [new file with mode: 0644]
gfx/hud/luminos/border_small_powerups.tga [new file with mode: 0644]
gfx/hud/luminos/border_small_radar.tga [new file with mode: 0644]
gfx/hud/luminos/border_small_score.tga [new file with mode: 0644]
gfx/hud/luminos/border_small_timer.tga [new file with mode: 0644]
gfx/hud/luminos/border_small_weapons.tga [new file with mode: 0644]
hud_luminos.cfg
hud_luminos_old.cfg [new file with mode: 0644]
keybinds.txt.es [new file with mode: 0644]
languages.txt
menu.dat.es.po [new file with mode: 0644]
models/sprites/make-sprites.sh
models/sprites/tagged-target_frame0.tga [new file with mode: 0644]
models/sprites/tagged-target_frame1.tga [new file with mode: 0644]
qcsrc/client/Main.qc
qcsrc/client/View.qc
qcsrc/client/autocvars.qh
qcsrc/client/damage.qc
qcsrc/client/hud.qc
qcsrc/client/progs.src
qcsrc/client/projectile.qc
qcsrc/client/waypointsprites.qc
qcsrc/common/explosion_equation.qc [new file with mode: 0644]
qcsrc/common/explosion_equation.qh [new file with mode: 0644]
qcsrc/common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail [new file with mode: 0644]
qcsrc/menu/progs.src
qcsrc/server/autocvars.qh
qcsrc/server/cl_weaponsystem.qc
qcsrc/server/g_damage.qc
qcsrc/server/g_world.qc
qcsrc/server/gamecommand.qc
qcsrc/server/progs.src
qcsrc/server/scores.qc
qcsrc/server/w_crylink.qc
qcsrc/server/w_hlac.qc
qcsrc/server/w_hook.qc
qcsrc/server/w_minstanex.qc
qcsrc/server/w_seeker.qc
qcsrc/server/w_uzi.qc
tooltips.db.es [new file with mode: 0644]

index 665dda5c90682f44730e5c33a4901e2239934e28..482edc1426a19159d5719dd8262a7b859721bf48 100644 (file)
@@ -178,6 +178,7 @@ set g_balance_falldamage_deadminspeed 150
 set g_balance_falldamage_minspeed 1400
 set g_balance_falldamage_factor 0.15
 set g_balance_falldamage_maxdamage 25
+set g_balance_damagepush_speedfactor 0
 // }}}
 
 // {{{ powerups
@@ -726,6 +727,7 @@ set g_balance_fireball_reload_ammo 0 //default: 60
 set g_balance_fireball_reload_time 2
 // }}}
 // {{{ seeker
+set g_balance_seeker_type 0 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
 set g_balance_seeker_flac_ammo 0.5
 set g_balance_seeker_flac_animtime 0.1
 set g_balance_seeker_flac_damage 15
@@ -774,6 +776,7 @@ set g_balance_seeker_tag_lifetime 15
 set g_balance_seeker_tag_refire 0.7
 set g_balance_seeker_tag_speed 9000
 set g_balance_seeker_tag_spread 0
+set g_balance_seeker_tag_tracker_lifetime 10
 set g_balance_seeker_reload_ammo 0 //default: 15
 set g_balance_seeker_reload_time 2
 // End new seeker
index 77aac858a72abb42b7f3ac1b53828439df052670..7232f876ce61ee24989c7449ad54f2cb02df6dd4 100644 (file)
@@ -178,6 +178,7 @@ set g_balance_falldamage_deadminspeed 150
 set g_balance_falldamage_minspeed 1400
 set g_balance_falldamage_factor 0.15
 set g_balance_falldamage_maxdamage 25
+set g_balance_damagepush_speedfactor 0
 // }}}
 
 // {{{ powerups
@@ -726,6 +727,7 @@ set g_balance_fireball_reload_ammo 0 //default: 60
 set g_balance_fireball_reload_time 2
 // }}}
 // {{{ seeker
+set g_balance_seeker_type 0 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
 set g_balance_seeker_flac_ammo 0.5
 set g_balance_seeker_flac_animtime 0.1
 set g_balance_seeker_flac_damage 15
@@ -774,6 +776,7 @@ set g_balance_seeker_tag_lifetime 15
 set g_balance_seeker_tag_refire 0.7
 set g_balance_seeker_tag_speed 9000
 set g_balance_seeker_tag_spread 0
+set g_balance_seeker_tag_tracker_lifetime 10
 set g_balance_seeker_reload_ammo 0 //default: 15
 set g_balance_seeker_reload_time 2
 // End new seeker
index a117a44a9259546ef1b1b15794512402bde868ea..6979fb6b9e53c4265771a342e6bc50fec5b61f82 100644 (file)
@@ -178,6 +178,7 @@ set g_balance_falldamage_deadminspeed 150
 set g_balance_falldamage_minspeed 1000
 set g_balance_falldamage_factor 0.20
 set g_balance_falldamage_maxdamage 15
+set g_balance_damagepush_speedfactor 0
 // }}}
 
 // {{{ powerups
@@ -271,7 +272,7 @@ set g_balance_shotgun_reload_time 2
 // {{{ uzi
 set g_balance_uzi_mode 1                               // Activates varible spread for sustained & burst mode secondary
 set g_balance_uzi_spread_min 0.02
-set g_balance_uzi_spread_max 0.1
+set g_balance_uzi_spread_max 0.06
 set g_balance_uzi_spread_add 0.012
 
 set g_balance_uzi_burst 3                              // # of bullets in a burst (if set to 2 or more)
@@ -299,7 +300,7 @@ set g_balance_uzi_sustained_ammo 1
 set g_balance_uzi_speed 18000
 set g_balance_uzi_bulletconstant 115 // 13.1qu
 
-set g_balance_uzi_reload_ammo 40 //default: 30
+set g_balance_uzi_reload_ammo 60 //default: 30
 set g_balance_uzi_reload_time 2
 // }}}
 // {{{ mortar
@@ -358,8 +359,8 @@ set g_balance_minelayer_refire 1.5
 set g_balance_minelayer_animtime 0.4
 set g_balance_minelayer_ammo 4
 set g_balance_minelayer_health 15
-set g_balance_minelayer_limit 4 // 0 disables the limit
-set g_balance_minelayer_protection 1 // don't explode if the mine would hurt the owner or a team mate
+set g_balance_minelayer_limit 3 // 0 disables the limit
+set g_balance_minelayer_protection 0 // don't explode if the mine would hurt the owner or a team mate
 set g_balance_minelayer_damageforcescale 0
 set g_balance_minelayer_detonatedelay -1 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time
 set g_balance_minelayer_time 0.5
@@ -388,8 +389,8 @@ set g_balance_electro_primary_range 0
 set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius
 set g_balance_electro_primary_falloff_maxdist 850
 set g_balance_electro_primary_falloff_halflifedist 425
-set g_balance_electro_secondary_damage 45
-set g_balance_electro_secondary_edgedamage 22.5
+set g_balance_electro_secondary_damage 40
+set g_balance_electro_secondary_edgedamage 20
 set g_balance_electro_secondary_force 200
 set g_balance_electro_secondary_radius 150
 set g_balance_electro_secondary_speed 900
@@ -408,9 +409,9 @@ set g_balance_electro_secondary_bouncefactor 0.5
 set g_balance_electro_secondary_bouncestop 0.075
 set g_balance_electro_combo_damage 40
 set g_balance_electro_combo_edgedamage 20
-set g_balance_electro_combo_force 200
-set g_balance_electro_combo_radius 250
-set g_balance_electro_combo_comboradius 0
+set g_balance_electro_combo_force 120
+set g_balance_electro_combo_radius 175
+set g_balance_electro_combo_comboradius 250
 set g_balance_electro_combo_speed 2000
 set g_balance_electro_reload_ammo 0 //default: 20
 set g_balance_electro_reload_time 2
@@ -445,9 +446,9 @@ set g_balance_crylink_primary_other_fadetime 5
 
 set g_balance_crylink_secondary 1
 set g_balance_crylink_secondary_damage 5
-set g_balance_crylink_secondary_edgedamage 5
+set g_balance_crylink_secondary_edgedamage 0
 set g_balance_crylink_secondary_force -40
-set g_balance_crylink_secondary_radius 50
+set g_balance_crylink_secondary_radius 70
 set g_balance_crylink_secondary_speed 2000
 set g_balance_crylink_secondary_spread 0.02
 set g_balance_crylink_secondary_shots 3
@@ -455,7 +456,7 @@ set g_balance_crylink_secondary_bounces 1
 set g_balance_crylink_secondary_refire 0.2
 set g_balance_crylink_secondary_animtime 0.2
 set g_balance_crylink_secondary_ammo 2
-set g_balance_crylink_secondary_bouncedamagefactor 0.25
+set g_balance_crylink_secondary_bouncedamagefactor 0.5
 set g_balance_crylink_secondary_joindelay 0
 set g_balance_crylink_secondary_joinspread 0
 set g_balance_crylink_secondary_jointime 0
@@ -526,7 +527,7 @@ set g_balance_minstanex_laser_ammo 0
 set g_balance_minstanex_reload_ammo 0 //default: 50
 set g_balance_minstanex_reload_time 2
 // }}}
-// {{{ hagar
+// {{{ hagar // TO BE REMOVED
 set g_balance_hagar_primary_damage 30
 set g_balance_hagar_primary_edgedamage 15
 set g_balance_hagar_primary_force 50
@@ -563,7 +564,7 @@ set g_balance_rocketlauncher_refire 1.1
 set g_balance_rocketlauncher_animtime 0.3
 set g_balance_rocketlauncher_ammo 4
 set g_balance_rocketlauncher_health 0 // 30 // 5 hitpoints above maximum laser value -- this way lasers can't blow it up, but grenadelauncher still can most the time.
-set g_balance_rocketlauncher_damageforcescale 1
+set g_balance_rocketlauncher_damageforcescale 1 // low damage force scale so that it can still be affected by other hits, but not so much that it does a 90 degree turn
 set g_balance_rocketlauncher_detonatedelay 0.05 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time
 set g_balance_rocketlauncher_guiderate 110 // max degrees per second
 set g_balance_rocketlauncher_guideratedelay 0.01 // immediate
@@ -605,17 +606,17 @@ set g_balance_hook_secondary_animtime 0.3 // good shoot anim
 set g_balance_hook_secondary_power 3 // effect behaves like a square function
 set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds
 // }}}
-// {{{ hlac
+// {{{ hlac // TO BE REMOVED
 set g_balance_hlac_primary_spread_min 0.01
 set g_balance_hlac_primary_spread_max 0.25
 set g_balance_hlac_primary_spread_add 0.0045
 set g_balance_hlac_primary_spread_crouchmod 0.25
 
 set g_balance_hlac_primary_damage 18
-set g_balance_hlac_primary_edgedamage 10
-set g_balance_hlac_primary_force 100
+set g_balance_hlac_primary_edgedamage 9
+set g_balance_hlac_primary_force 90
 set g_balance_hlac_primary_radius 70
-set g_balance_hlac_primary_speed 12000
+set g_balance_hlac_primary_speed 9000
 set g_balance_hlac_primary_lifetime 5
 
 set g_balance_hlac_primary_refire 0.15
@@ -626,9 +627,9 @@ set g_balance_hlac_secondary 1
 set g_balance_hlac_secondary_spread 0.15
 set g_balance_hlac_secondary_spread_crouchmod 0.5
 
-set g_balance_hlac_secondary_damage 16
-set g_balance_hlac_secondary_edgedamage 10
-set g_balance_hlac_secondary_force 100
+set g_balance_hlac_secondary_damage 15
+set g_balance_hlac_secondary_edgedamage 7.5
+set g_balance_hlac_secondary_force 90
 set g_balance_hlac_secondary_radius 70
 set g_balance_hlac_secondary_speed 9000
 set g_balance_hlac_secondary_lifetime 5
@@ -644,14 +645,14 @@ set g_balance_hlac_reload_time 2
 // {{{ sniperrifle
 set g_balance_sniperrifle_bursttime 0
 set g_balance_sniperrifle_primary_tracer 1
-set g_balance_sniperrifle_primary_damage 50
+set g_balance_sniperrifle_primary_damage 60
 set g_balance_sniperrifle_primary_headshotaddeddamage 50
 set g_balance_sniperrifle_primary_spread 0
 set g_balance_sniperrifle_primary_force 100
 set g_balance_sniperrifle_primary_speed 40000
 set g_balance_sniperrifle_primary_lifetime 5
-set g_balance_sniperrifle_primary_refire 1.25
-set g_balance_sniperrifle_primary_animtime 0.5
+set g_balance_sniperrifle_primary_refire 1.5
+set g_balance_sniperrifle_primary_animtime 0.7
 set g_balance_sniperrifle_primary_ammo 10
 set g_balance_sniperrifle_primary_bulletconstant 110 // 62.2qu
 set g_balance_sniperrifle_primary_burstcost 0
@@ -685,26 +686,26 @@ set g_balance_tuba_edgedamage 0
 set g_balance_tuba_radius 200
 set g_balance_tuba_force 40
 // }}}
-// {{{ fireball
-set g_balance_fireball_primary_ammo 40
-set g_balance_fireball_primary_animtime 0.15
+// {{{ fireball // this is a superweapon -- lets make it behave as one. 
+set g_balance_fireball_primary_ammo 20
+set g_balance_fireball_primary_animtime 0.2
 set g_balance_fireball_primary_bfgdamage 100
 set g_balance_fireball_primary_bfgforce 0
 set g_balance_fireball_primary_bfgradius 1000
 set g_balance_fireball_primary_damage 200
-set g_balance_fireball_primary_damageforcescale 4
-set g_balance_fireball_primary_edgedamage 0
-set g_balance_fireball_primary_force 700
-set g_balance_fireball_primary_health 50
+set g_balance_fireball_primary_damageforcescale 0
+set g_balance_fireball_primary_edgedamage 50
+set g_balance_fireball_primary_force 600
+set g_balance_fireball_primary_health 0
 set g_balance_fireball_primary_laserburntime 0.5
 set g_balance_fireball_primary_laserdamage 80
 set g_balance_fireball_primary_laseredgedamage 20
 set g_balance_fireball_primary_laserradius 256
 set g_balance_fireball_primary_lifetime 15
 set g_balance_fireball_primary_radius 200
-set g_balance_fireball_primary_refire 5
+set g_balance_fireball_primary_refire 2
 set g_balance_fireball_primary_refire2 0
-set g_balance_fireball_primary_speed 650
+set g_balance_fireball_primary_speed 1200
 set g_balance_fireball_primary_spread 0
 set g_balance_fireball_secondary_ammo 5
 set g_balance_fireball_secondary_animtime 0.3
@@ -717,63 +718,65 @@ set g_balance_fireball_secondary_laserdamage 50
 set g_balance_fireball_secondary_laseredgedamage 20
 set g_balance_fireball_secondary_laserradius 110
 set g_balance_fireball_secondary_lifetime 7
-set g_balance_fireball_secondary_refire 2
+set g_balance_fireball_secondary_refire 1.5
 set g_balance_fireball_secondary_speed 900
 set g_balance_fireball_secondary_speed_up 100
 set g_balance_fireball_secondary_speed_z 0
 set g_balance_fireball_secondary_spread 0
-set g_balance_fireball_reload_ammo 0 //default: 60
+set g_balance_fireball_reload_ammo 0 //default: 100
 set g_balance_fireball_reload_time 2
 // }}}
 // {{{ seeker
+set g_balance_seeker_type 1 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
 set g_balance_seeker_flac_ammo 0.5
 set g_balance_seeker_flac_animtime 0.1
-set g_balance_seeker_flac_damage 16
-set g_balance_seeker_flac_edgedamage 8
+set g_balance_seeker_flac_damage 15
+set g_balance_seeker_flac_edgedamage 10
 set g_balance_seeker_flac_force 50
-set g_balance_seeker_flac_lifetime 0.05
-set g_balance_seeker_flac_lifetime_rand 0.01
-set g_balance_seeker_flac_radius 70
-set g_balance_seeker_flac_refire 0.15
+set g_balance_seeker_flac_lifetime 0.1
+set g_balance_seeker_flac_lifetime_rand 0.05
+set g_balance_seeker_flac_radius 100
+set g_balance_seeker_flac_refire 0.1
 set g_balance_seeker_flac_speed 3000
-set g_balance_seeker_flac_speed_up 0
+set g_balance_seeker_flac_speed_up 1000
 set g_balance_seeker_flac_speed_z 0
-set g_balance_seeker_flac_spread 0.05
-set g_balance_seeker_missile_accel 3000
+set g_balance_seeker_flac_spread 0.4
+set g_balance_seeker_tag_ammo 1
+set g_balance_seeker_tag_animtime 0.2
+set g_balance_seeker_tag_damageforcescale 0
+set g_balance_seeker_tag_health 0
+set g_balance_seeker_tag_lifetime 15
+set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75
+set g_balance_seeker_tag_speed 5000
+set g_balance_seeker_tag_spread 0
+set g_balance_seeker_tag_tracker_lifetime 10
+set g_balance_seeker_missile_accel 1500
 set g_balance_seeker_missile_ammo 2
-set g_balance_seeker_missile_animtime 0.3
-set g_balance_seeker_missile_count 4
-set g_balance_seeker_missile_damage 40
+set g_balance_seeker_missile_animtime 0.2
+set g_balance_seeker_missile_count 3 // LOG: 8 -> 3
+set g_balance_seeker_missile_damage 16 // LOG: 15 -> 30
 set g_balance_seeker_missile_damageforcescale 4
 set g_balance_seeker_missile_decel 6000
 set g_balance_seeker_missile_delay 0.25
-set g_balance_seeker_missile_edgedamage 10
-set g_balance_seeker_missile_force 250
-set g_balance_seeker_missile_health 5
+set g_balance_seeker_missile_edgedamage 8
+set g_balance_seeker_missile_force 50 // LOG: 100 -> 150
+set g_balance_seeker_missile_health 1
 set g_balance_seeker_missile_lifetime 15
 set g_balance_seeker_missile_proxy 0
 set g_balance_seeker_missile_proxy_delay 0.2
 set g_balance_seeker_missile_proxy_maxrange 45
-set g_balance_seeker_missile_radius 80
-set g_balance_seeker_missile_refire 0.5
-set g_balance_seeker_missile_smart 1
+set g_balance_seeker_missile_radius 70
+set g_balance_seeker_missile_refire 0.25
+set g_balance_seeker_missile_smart 0
 set g_balance_seeker_missile_smart_mindist 800
 set g_balance_seeker_missile_smart_trace_max 2500
 set g_balance_seeker_missile_smart_trace_min 1000
-set g_balance_seeker_missile_speed 700
-set g_balance_seeker_missile_speed_up 300
+set g_balance_seeker_missile_speed 1500
+set g_balance_seeker_missile_speed_up 0
 set g_balance_seeker_missile_speed_z 0
-set g_balance_seeker_missile_speed_max 1250
+set g_balance_seeker_missile_speed_max 2000 // LOG: 1400 -> 1300
 set g_balance_seeker_missile_spread 0
-set g_balance_seeker_missile_turnrate 0.65
-set g_balance_seeker_tag_ammo 1
-set g_balance_seeker_tag_animtime 0.3
-set g_balance_seeker_tag_damageforcescale 4
-set g_balance_seeker_tag_health 5
-set g_balance_seeker_tag_lifetime 15
-set g_balance_seeker_tag_refire 0.7
-set g_balance_seeker_tag_speed 9000
-set g_balance_seeker_tag_spread 0
+set g_balance_seeker_missile_turnrate 0.2
 set g_balance_seeker_reload_ammo 0 //default: 15
 set g_balance_seeker_reload_time 2
 // End new seeker
index a782c6387927577d9e0b0d92a39d7d61c1deb534..55dde194b70e3fbf88d8ff2ea3621570dceb0ddc 100644 (file)
@@ -178,6 +178,7 @@ set g_balance_falldamage_deadminspeed 150
 set g_balance_falldamage_minspeed 800
 set g_balance_falldamage_factor 0.20
 set g_balance_falldamage_maxdamage 15
+set g_balance_damagepush_speedfactor 2.5
 // }}}
 
 // {{{ powerups
@@ -726,6 +727,7 @@ set g_balance_fireball_reload_ammo 0 //default: 60
 set g_balance_fireball_reload_time 2
 // }}}
 // {{{ seeker
+set g_balance_seeker_type 0 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
 set g_balance_seeker_flac_ammo 0.5
 set g_balance_seeker_flac_animtime 0.1
 set g_balance_seeker_flac_damage 15
@@ -774,6 +776,7 @@ set g_balance_seeker_tag_lifetime 15
 set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75
 set g_balance_seeker_tag_speed 5000
 set g_balance_seeker_tag_spread 0
+set g_balance_seeker_tag_tracker_lifetime 10
 set g_balance_seeker_reload_ammo 0 //default: 15
 set g_balance_seeker_reload_time 2
 // End new seeker
index 2fb726764c7bae06ccea84a81d78af958fbd8171..72f938ba523498858ec55520caa9169f314d6c6d 100644 (file)
@@ -178,6 +178,7 @@ set g_balance_falldamage_deadminspeed 150
 set g_balance_falldamage_minspeed 800
 set g_balance_falldamage_factor 0.02 // maxspeed = minspeed + maxdamage / factor = 4550
 set g_balance_falldamage_maxdamage 75
+set g_balance_damagepush_speedfactor 0
 // }}}
 
 // {{{ powerups
@@ -725,6 +726,7 @@ set g_balance_fireball_reload_ammo 0 //default: 60
 set g_balance_fireball_reload_time 2
 // }}}
 // {{{ seeker
+set g_balance_seeker_type 0 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
 set g_balance_seeker_flac_ammo 0.5
 set g_balance_seeker_flac_animtime 0.1
 set g_balance_seeker_flac_damage 15
@@ -773,6 +775,7 @@ set g_balance_seeker_tag_lifetime 15
 set g_balance_seeker_tag_refire 1
 set g_balance_seeker_tag_speed 9000
 set g_balance_seeker_tag_spread 0
+set g_balance_seeker_tag_tracker_lifetime 10
 set g_balance_seeker_reload_ammo 0 //default: 15
 set g_balance_seeker_reload_time 2
 // End new seeker
index c31a27b008272fe0e89a49d595b1ca61e3b4ce44..e9e50c5c171659d2d9a022d28a7e41dbdc698ced 100644 (file)
@@ -206,7 +206,6 @@ seta crosshair_ring_minelayer 1
 seta crosshair_ring_minelayer_alpha 0.15
 
 seta crosshair_ring_reload 1 "main cvar to enable or disable ammo crosshair rings"
-seta crosshair_ring_reload_inner 1 "allow switching to inner ring when the main ring is already used by the weapon"
 seta crosshair_ring_reload_size 2.5    "reload ring size"
 seta crosshair_ring_reload_alpha 0.2   "reload ring alpha"
 
@@ -2122,3 +2121,9 @@ exec hud_luminos.cfg
 // enable menu syncing
 alias menu_sync "menu_cmd sync"
 alias scoreboard_columns_set  "cl_cmd scoreboard_columns_set $*"
+
+// BALANCE TESTING (TEMPORARY, PLEASE REMOVE LATER)
+alias balanceSamual   "exec balanceSamual.cfg; restart"
+alias balanceFruitieX "exec balanceXonotic.cfg; restart"
+bind f7 balanceSamual
+bind f8 balanceFruitieX
index bb44e5b4dab208995bc03d9cf732b718cfb8d59b..e2b476ce8a0726bbca58256968631ad979045a17 100644 (file)
@@ -1691,11 +1691,11 @@ effect crylink_impact
 countabsolute 1
 type decal
 tex 47 47
-size 8 8
+size 24 24
 alpha 256 256 0
 originjitter 12 12 12
-//lightradius 60
-//lightradiusfade 300
+//lightradius 200
+//lightradiusfade 800
 //lightcolor 3.2 0.4 4
 // purple flare effect
 effect crylink_impact
@@ -1703,34 +1703,34 @@ countabsolute 1
 type static
 tex 39 39
 color 0x504060 0x504060
-size 8 8
+size 24 24
 alpha 256 256 512
 // purple sparks
 effect crylink_impact
-count 10
+count 40
 type spark
 tex 41 41
 color 0xA040C0 0xA040C0
 bounce 2
-size 1 2
+size 6 6
 alpha 256 256 1024
-velocityjitter 256 256 256
+velocityjitter 512 512 512
 // purple splash
 effect crylink_impact
 count 1.5
 type static
 color 0xE070FF 0xE070FF
-size 8 8
+size 16 16
 alpha 256 256 512
-velocityjitter 8 8 8
+velocityjitter 32 32 32
 // purple splash
 effect crylink_impact
-count 1.5
+count 3
 type static
 color 0xE070FF 0xE070FF
-size 8 8
+size 16 16
 alpha 256 256 1024
-velocityjitter 32 32 32
+velocityjitter 256 256 256
 
 
 
@@ -5194,3 +5194,66 @@ velocityjitter 0 0 5
 velocitymultiplier 15
 airfriction -1
 rotate 0 360 -180 180
+
+// seeker missile trail
+effect TR_SEEKER
+trailspacing 10
+type smoke
+notunderwater
+color 0x000000 0x666666
+tex 0 8
+size 2 2
+bounce 1
+sizeincrease 11
+alpha 200 300 200
+lightradius 100
+lighttime 0
+lightcolor 6 3 1
+originjitter 2 2 2
+velocityjitter 3 3 3
+velocitymultiplier -0.02
+rotate -180 180 -30 30
+//gravity -0.11
+// fire
+effect TR_SEEKER
+trailspacing 4
+type static
+color 0xffdf72 0x811200
+tex 48 55
+size 5 5
+sizeincrease -30
+alpha 100 144 588
+airfriction 8
+velocityjitter 32 32 32
+velocitymultiplier -1.5
+// bubbles
+effect TR_SEEKER
+type bubble
+underwater
+trailspacing 16
+tex 62 62
+size 1 2
+alpha 256 256 256
+gravity -0.125
+bounce 1.5
+liquidfriction 4
+velocityjitter 16 16 16
+velocitymultiplier -0.31
+rotate 0 0 0 0
+// sparks
+effect TR_SEEKER
+notunderwater
+trailspacing 20
+type spark
+tex 40 40
+color 0xFFFDD9 0xFFFDD9
+size 0.5 0.5
+alpha 444 512 1866
+stretchfactor 0.3
+//gravity 1
+bounce 1
+//velocityoffset 0 0 15
+airfriction 5
+originjitter 1 1 1
+velocityjitter 100 100 100
+velocitymultiplier -0.31
diff --git a/gfx/hud/luminos/border_small_healtharmor.tga b/gfx/hud/luminos/border_small_healtharmor.tga
new file mode 100644 (file)
index 0000000..e27f2a3
Binary files /dev/null and b/gfx/hud/luminos/border_small_healtharmor.tga differ
diff --git a/gfx/hud/luminos/border_small_modicons.tga b/gfx/hud/luminos/border_small_modicons.tga
new file mode 100644 (file)
index 0000000..64d84f0
Binary files /dev/null and b/gfx/hud/luminos/border_small_modicons.tga differ
diff --git a/gfx/hud/luminos/border_small_powerups.tga b/gfx/hud/luminos/border_small_powerups.tga
new file mode 100644 (file)
index 0000000..0737860
Binary files /dev/null and b/gfx/hud/luminos/border_small_powerups.tga differ
diff --git a/gfx/hud/luminos/border_small_radar.tga b/gfx/hud/luminos/border_small_radar.tga
new file mode 100644 (file)
index 0000000..30729f5
Binary files /dev/null and b/gfx/hud/luminos/border_small_radar.tga differ
diff --git a/gfx/hud/luminos/border_small_score.tga b/gfx/hud/luminos/border_small_score.tga
new file mode 100644 (file)
index 0000000..c8c506c
Binary files /dev/null and b/gfx/hud/luminos/border_small_score.tga differ
diff --git a/gfx/hud/luminos/border_small_timer.tga b/gfx/hud/luminos/border_small_timer.tga
new file mode 100644 (file)
index 0000000..c8c506c
Binary files /dev/null and b/gfx/hud/luminos/border_small_timer.tga differ
diff --git a/gfx/hud/luminos/border_small_weapons.tga b/gfx/hud/luminos/border_small_weapons.tga
new file mode 100644 (file)
index 0000000..d0b58a8
Binary files /dev/null and b/gfx/hud/luminos/border_small_weapons.tga differ
index ca8ea38de05476976feaf3a64b31755697d7cd44..57be0d0a7fd69fa718e1583389404ee6c8a984b5 100644 (file)
@@ -1,15 +1,15 @@
 seta hud_skin "luminos"
-seta hud_panel_bg "border_default"
-seta hud_panel_bg_color "1 0.4375 0"
-seta hud_panel_bg_color_team "0"
+seta hud_panel_bg "0"
+seta hud_panel_bg_color "0.6875 0.84375 1"
+seta hud_panel_bg_color_team "1"
 seta hud_panel_bg_alpha "1"
 seta hud_panel_bg_border "8"
 seta hud_panel_bg_padding "2"
 seta hud_panel_fg_alpha "1"
 
-seta hud_dock "dock"
-seta hud_dock_color "0 0.1875 0.40625"
-seta hud_dock_color_team "0.700000"
+seta hud_dock "0"
+seta hud_dock_color "0 0.449576 0.860796"
+seta hud_dock_color_team "1"
 seta hud_dock_alpha "1"
 
 seta hud_progressbar_alpha "0.500000"
@@ -20,7 +20,7 @@ seta hud_progressbar_armor_color "0 0.6 0"
 seta hud_progressbar_fuel_color "0.6 0.6 0"
 seta hud_progressbar_nexball_color "0.7 0.1 0"
 
-seta _hud_panelorder "10 9 6 8 14 5 0 4 13 2 7 1 3 11 12 "
+seta _hud_panelorder "12 9 10 5 6 14 0 7 4 11 2 1 3 8 13 "
 
 seta hud_configure_grid "1"
 seta hud_configure_grid_xsize "0.010000"
@@ -29,9 +29,9 @@ seta hud_configure_grid_ysize "0.010000"
 seta scr_centerpos "0.25"
 
 seta hud_panel_weapons 1
-seta hud_panel_weapons_pos "0.920000 0.090000"
-seta hud_panel_weapons_size "0.060000 0.630000"
-seta hud_panel_weapons_bg ""
+seta hud_panel_weapons_pos "0.940000 0.180000"
+seta hud_panel_weapons_size "0.060000 0.610000"
+seta hud_panel_weapons_bg "border_small_weapons"
 seta hud_panel_weapons_bg_color ""
 seta hud_panel_weapons_bg_color_team ""
 seta hud_panel_weapons_bg_alpha ""
@@ -46,11 +46,11 @@ seta hud_panel_weapons_ammo_color "0 1 0"
 seta hud_panel_weapons_ammo_alpha "1"
 seta hud_panel_weapons_aspect "2"
 seta hud_panel_weapons_timeout "3"
-seta hud_panel_weapons_timeout_effect "1"
+seta hud_panel_weapons_timeout_effect "2"
 
 seta hud_panel_ammo 1
-seta hud_panel_ammo_pos "0.190000 0.920000"
-seta hud_panel_ammo_size "0.120000 0.070000"
+seta hud_panel_ammo_pos "0.330000 0.960000"
+seta hud_panel_ammo_size "0.350000 0.040000"
 seta hud_panel_ammo_bg ""
 seta hud_panel_ammo_bg_color ""
 seta hud_panel_ammo_bg_color_team ""
@@ -60,20 +60,20 @@ seta hud_panel_ammo_bg_padding ""
 seta hud_panel_ammo_onlycurrent "0"
 seta hud_panel_ammo_iconalign "0"
 seta hud_panel_ammo_progressbar "0"
-seta hud_panel_ammo_progressbar_xoffset "0"
 seta hud_panel_ammo_progressbar_name "progressbar"
+seta hud_panel_ammo_progressbar_xoffset "0"
 seta hud_panel_ammo_text "1"
 
 seta hud_panel_powerups 1
-seta hud_panel_powerups_pos "0.660000 0.940000"
-seta hud_panel_powerups_size "0.330000 0.060000"
-seta hud_panel_powerups_bg "0"
+seta hud_panel_powerups_pos "0.360000 0.850000"
+seta hud_panel_powerups_size "0.290000 0.030000"
+seta hud_panel_powerups_bg "border_small_powerups"
 seta hud_panel_powerups_bg_color ""
 seta hud_panel_powerups_bg_color_team ""
 seta hud_panel_powerups_bg_alpha ""
 seta hud_panel_powerups_bg_border ""
-seta hud_panel_powerups_bg_padding ""
-seta hud_panel_powerups_flip "1"
+seta hud_panel_powerups_bg_padding "0"
+seta hud_panel_powerups_flip "0"
 seta hud_panel_powerups_iconalign "4"
 seta hud_panel_powerups_baralign "4"
 seta hud_panel_powerups_progressbar "1"
@@ -82,9 +82,9 @@ seta hud_panel_powerups_progressbar_shield "progressbar"
 seta hud_panel_powerups_text "1"
 
 seta hud_panel_healtharmor 1
-seta hud_panel_healtharmor_pos "0.330000 0.920000"
-seta hud_panel_healtharmor_size "0.310000 0.070000"
-seta hud_panel_healtharmor_bg ""
+seta hud_panel_healtharmor_pos "0.320000 0.910000"
+seta hud_panel_healtharmor_size "0.370000 0.060000"
+seta hud_panel_healtharmor_bg "border_small_healtharmor"
 seta hud_panel_healtharmor_bg_color ""
 seta hud_panel_healtharmor_bg_color_team ""
 seta hud_panel_healtharmor_bg_alpha ""
@@ -99,8 +99,8 @@ seta hud_panel_healtharmor_progressbar_armor "progressbar"
 seta hud_panel_healtharmor_text "1"
 
 seta hud_panel_notify 1
-seta hud_panel_notify_pos "0.660000 0.730000"
-seta hud_panel_notify_size "0.320000 0.190000"
+seta hud_panel_notify_pos "0.710000 0.800000"
+seta hud_panel_notify_size "0.290000 0.190000"
 seta hud_panel_notify_bg "0"
 seta hud_panel_notify_bg_color ""
 seta hud_panel_notify_bg_color_team ""
@@ -112,38 +112,38 @@ seta hud_panel_notify_fontsize "0.8"
 seta hud_panel_notify_print "1"
 
 seta hud_panel_timer 1
-seta hud_panel_timer_pos "0.870000 0"
-seta hud_panel_timer_size "0.130000 0.060000"
-seta hud_panel_timer_bg "0"
+seta hud_panel_timer_pos "0.800000 0.040000"
+seta hud_panel_timer_size "0.070000 0.040000"
+seta hud_panel_timer_bg "border_small_timer"
 seta hud_panel_timer_bg_color ""
 seta hud_panel_timer_bg_color_team ""
 seta hud_panel_timer_bg_alpha ""
 seta hud_panel_timer_bg_border ""
 seta hud_panel_timer_bg_padding "0"
 
-seta hud_panel_radar 2 // enabled for keepaway and to make the HUD consistent throughout game modes
-seta hud_panel_radar_pos "0.030000 0.020000"
-seta hud_panel_radar_size "0.170000 0.220000"
-seta hud_panel_radar_bg ""
+seta hud_panel_radar 2
+seta hud_panel_radar_pos "0 0"
+seta hud_panel_radar_size "0.200000 0.240000"
+seta hud_panel_radar_bg "border_small_radar"
 seta hud_panel_radar_bg_color ""
 seta hud_panel_radar_bg_color_team ""
-seta hud_panel_radar_bg_alpha ""
+seta hud_panel_radar_bg_alpha "0.800000"
 seta hud_panel_radar_bg_border ""
-seta hud_panel_radar_bg_padding "-3"
+seta hud_panel_radar_bg_padding "-1"
 seta hud_panel_radar_foreground_alpha "0.800000"
 
 seta hud_panel_score 1
-seta hud_panel_score_pos "0.020000 0.920000"
-seta hud_panel_score_size "0.150000 0.070000"
-seta hud_panel_score_bg ""
+seta hud_panel_score_pos "0.890000 0.030000"
+seta hud_panel_score_size "0.100000 0.050000"
+seta hud_panel_score_bg "border_small_score"
 seta hud_panel_score_bg_color ""
 seta hud_panel_score_bg_color_team ""
 seta hud_panel_score_bg_alpha ""
 seta hud_panel_score_bg_border ""
-seta hud_panel_score_bg_padding ""
+seta hud_panel_score_bg_padding "0"
 
 seta hud_panel_racetimer 1
-seta hud_panel_racetimer_pos "0.360000 0.090000"
+seta hud_panel_racetimer_pos "0.360000 0.110000"
 seta hud_panel_racetimer_size "0.280000 0.090000"
 seta hud_panel_racetimer_bg "0"
 seta hud_panel_racetimer_bg_color ""
@@ -153,29 +153,29 @@ seta hud_panel_racetimer_bg_border ""
 seta hud_panel_racetimer_bg_padding ""
 
 seta hud_panel_vote 1
-seta hud_panel_vote_pos "0.020000 0.650000"
-seta hud_panel_vote_size "0.230000 0.110000"
-seta hud_panel_vote_bg ""
+seta hud_panel_vote_pos "0.710000 0.660000"
+seta hud_panel_vote_size "0.210000 0.100000"
+seta hud_panel_vote_bg "border_vote"
 seta hud_panel_vote_bg_color ""
 seta hud_panel_vote_bg_color_team ""
 seta hud_panel_vote_bg_alpha ""
 seta hud_panel_vote_bg_border ""
 seta hud_panel_vote_bg_padding ""
-seta hud_panel_vote_alreadyvoted_alpha "0.800000"
+seta hud_panel_vote_alreadyvoted_alpha "0.500000"
 
 seta hud_panel_modicons 1
-seta hud_panel_modicons_pos "0.040000 0.270000"
-seta hud_panel_modicons_size "0.080000 0.200000"
-seta hud_panel_modicons_bg ""
+seta hud_panel_modicons_pos "0.410000 0"
+seta hud_panel_modicons_size "0.180000 0.080000"
+seta hud_panel_modicons_bg "border_small_modicons"
 seta hud_panel_modicons_bg_color ""
 seta hud_panel_modicons_bg_color_team ""
 seta hud_panel_modicons_bg_alpha ""
 seta hud_panel_modicons_bg_border ""
-seta hud_panel_modicons_bg_padding ""
+seta hud_panel_modicons_bg_padding "0"
 
 seta hud_panel_pressedkeys 1
-seta hud_panel_pressedkeys_pos "0.410000 0.710000"
-seta hud_panel_pressedkeys_size "0.180000 0.130000"
+seta hud_panel_pressedkeys_pos "0.450000 0.720000"
+seta hud_panel_pressedkeys_size "0.110000 0.090000"
 seta hud_panel_pressedkeys_bg "0"
 seta hud_panel_pressedkeys_bg_color ""
 seta hud_panel_pressedkeys_bg_color_team ""
@@ -185,8 +185,8 @@ seta hud_panel_pressedkeys_bg_padding ""
 seta hud_panel_pressedkeys_aspect "1.600000"
 
 seta hud_panel_chat 1
-seta hud_panel_chat_pos "0.020000 0.780000"
-seta hud_panel_chat_size "0.630000 0.110000"
+seta hud_panel_chat_pos "0.010000 0.700000"
+seta hud_panel_chat_size "0.460000 0.190000"
 seta hud_panel_chat_bg "0"
 seta hud_panel_chat_bg_color ""
 seta hud_panel_chat_bg_color_team ""
@@ -195,8 +195,8 @@ seta hud_panel_chat_bg_border ""
 seta hud_panel_chat_bg_padding ""
 
 seta hud_panel_engineinfo 0
-seta hud_panel_engineinfo_pos "0.910000 0.970000"
-seta hud_panel_engineinfo_size "0.090000 0.030000"
+seta hud_panel_engineinfo_pos "0.930000 0.970000"
+seta hud_panel_engineinfo_size "0.070000 0.030000"
 seta hud_panel_engineinfo_bg "0"
 seta hud_panel_engineinfo_bg_color ""
 seta hud_panel_engineinfo_bg_color_team ""
@@ -205,8 +205,8 @@ seta hud_panel_engineinfo_bg_border ""
 seta hud_panel_engineinfo_bg_padding ""
 
 seta hud_panel_infomessages 1
-seta hud_panel_infomessages_pos "0.510000 0"
-seta hud_panel_infomessages_size "0.340000 0.090000"
+seta hud_panel_infomessages_pos "0.720000 0.100000"
+seta hud_panel_infomessages_size "0.280000 0.080000"
 seta hud_panel_infomessages_bg "0"
 seta hud_panel_infomessages_bg_color ""
 seta hud_panel_infomessages_bg_color_team ""
diff --git a/hud_luminos_old.cfg b/hud_luminos_old.cfg
new file mode 100644 (file)
index 0000000..ca8ea38
--- /dev/null
@@ -0,0 +1,218 @@
+seta hud_skin "luminos"
+seta hud_panel_bg "border_default"
+seta hud_panel_bg_color "1 0.4375 0"
+seta hud_panel_bg_color_team "0"
+seta hud_panel_bg_alpha "1"
+seta hud_panel_bg_border "8"
+seta hud_panel_bg_padding "2"
+seta hud_panel_fg_alpha "1"
+
+seta hud_dock "dock"
+seta hud_dock_color "0 0.1875 0.40625"
+seta hud_dock_color_team "0.700000"
+seta hud_dock_alpha "1"
+
+seta hud_progressbar_alpha "0.500000"
+seta hud_progressbar_strength_color "0 0 0.6"
+seta hud_progressbar_shield_color "0.6 0 0.6"
+seta hud_progressbar_health_color "0.6 0 0"
+seta hud_progressbar_armor_color "0 0.6 0"
+seta hud_progressbar_fuel_color "0.6 0.6 0"
+seta hud_progressbar_nexball_color "0.7 0.1 0"
+
+seta _hud_panelorder "10 9 6 8 14 5 0 4 13 2 7 1 3 11 12 "
+
+seta hud_configure_grid "1"
+seta hud_configure_grid_xsize "0.010000"
+seta hud_configure_grid_ysize "0.010000"
+
+seta scr_centerpos "0.25"
+
+seta hud_panel_weapons 1
+seta hud_panel_weapons_pos "0.920000 0.090000"
+seta hud_panel_weapons_size "0.060000 0.630000"
+seta hud_panel_weapons_bg ""
+seta hud_panel_weapons_bg_color ""
+seta hud_panel_weapons_bg_color_team ""
+seta hud_panel_weapons_bg_alpha ""
+seta hud_panel_weapons_bg_border ""
+seta hud_panel_weapons_bg_padding ""
+seta hud_panel_weapons_complainbubble "1"
+seta hud_panel_weapons_complainbubble_padding "-10"
+seta hud_panel_weapons_complainbubble_color_outofammo "0.8 0 0"
+seta hud_panel_weapons_complainbubble_color_donthave "0.8 0.5 0"
+seta hud_panel_weapons_complainbubble_color_unavailable "0 0.3 0.8"
+seta hud_panel_weapons_ammo_color "0 1 0"
+seta hud_panel_weapons_ammo_alpha "1"
+seta hud_panel_weapons_aspect "2"
+seta hud_panel_weapons_timeout "3"
+seta hud_panel_weapons_timeout_effect "1"
+
+seta hud_panel_ammo 1
+seta hud_panel_ammo_pos "0.190000 0.920000"
+seta hud_panel_ammo_size "0.120000 0.070000"
+seta hud_panel_ammo_bg ""
+seta hud_panel_ammo_bg_color ""
+seta hud_panel_ammo_bg_color_team ""
+seta hud_panel_ammo_bg_alpha ""
+seta hud_panel_ammo_bg_border ""
+seta hud_panel_ammo_bg_padding ""
+seta hud_panel_ammo_onlycurrent "0"
+seta hud_panel_ammo_iconalign "0"
+seta hud_panel_ammo_progressbar "0"
+seta hud_panel_ammo_progressbar_xoffset "0"
+seta hud_panel_ammo_progressbar_name "progressbar"
+seta hud_panel_ammo_text "1"
+
+seta hud_panel_powerups 1
+seta hud_panel_powerups_pos "0.660000 0.940000"
+seta hud_panel_powerups_size "0.330000 0.060000"
+seta hud_panel_powerups_bg "0"
+seta hud_panel_powerups_bg_color ""
+seta hud_panel_powerups_bg_color_team ""
+seta hud_panel_powerups_bg_alpha ""
+seta hud_panel_powerups_bg_border ""
+seta hud_panel_powerups_bg_padding ""
+seta hud_panel_powerups_flip "1"
+seta hud_panel_powerups_iconalign "4"
+seta hud_panel_powerups_baralign "4"
+seta hud_panel_powerups_progressbar "1"
+seta hud_panel_powerups_progressbar_strength "progressbar"
+seta hud_panel_powerups_progressbar_shield "progressbar"
+seta hud_panel_powerups_text "1"
+
+seta hud_panel_healtharmor 1
+seta hud_panel_healtharmor_pos "0.330000 0.920000"
+seta hud_panel_healtharmor_size "0.310000 0.070000"
+seta hud_panel_healtharmor_bg ""
+seta hud_panel_healtharmor_bg_color ""
+seta hud_panel_healtharmor_bg_color_team ""
+seta hud_panel_healtharmor_bg_alpha ""
+seta hud_panel_healtharmor_bg_border ""
+seta hud_panel_healtharmor_bg_padding ""
+seta hud_panel_healtharmor_flip "0"
+seta hud_panel_healtharmor_iconalign "4"
+seta hud_panel_healtharmor_baralign "4"
+seta hud_panel_healtharmor_progressbar "1"
+seta hud_panel_healtharmor_progressbar_health "progressbar"
+seta hud_panel_healtharmor_progressbar_armor "progressbar"
+seta hud_panel_healtharmor_text "1"
+
+seta hud_panel_notify 1
+seta hud_panel_notify_pos "0.660000 0.730000"
+seta hud_panel_notify_size "0.320000 0.190000"
+seta hud_panel_notify_bg "0"
+seta hud_panel_notify_bg_color ""
+seta hud_panel_notify_bg_color_team ""
+seta hud_panel_notify_bg_alpha ""
+seta hud_panel_notify_bg_border ""
+seta hud_panel_notify_bg_padding ""
+seta hud_panel_notify_flip "0"
+seta hud_panel_notify_fontsize "0.8"
+seta hud_panel_notify_print "1"
+
+seta hud_panel_timer 1
+seta hud_panel_timer_pos "0.870000 0"
+seta hud_panel_timer_size "0.130000 0.060000"
+seta hud_panel_timer_bg "0"
+seta hud_panel_timer_bg_color ""
+seta hud_panel_timer_bg_color_team ""
+seta hud_panel_timer_bg_alpha ""
+seta hud_panel_timer_bg_border ""
+seta hud_panel_timer_bg_padding "0"
+
+seta hud_panel_radar 2 // enabled for keepaway and to make the HUD consistent throughout game modes
+seta hud_panel_radar_pos "0.030000 0.020000"
+seta hud_panel_radar_size "0.170000 0.220000"
+seta hud_panel_radar_bg ""
+seta hud_panel_radar_bg_color ""
+seta hud_panel_radar_bg_color_team ""
+seta hud_panel_radar_bg_alpha ""
+seta hud_panel_radar_bg_border ""
+seta hud_panel_radar_bg_padding "-3"
+seta hud_panel_radar_foreground_alpha "0.800000"
+
+seta hud_panel_score 1
+seta hud_panel_score_pos "0.020000 0.920000"
+seta hud_panel_score_size "0.150000 0.070000"
+seta hud_panel_score_bg ""
+seta hud_panel_score_bg_color ""
+seta hud_panel_score_bg_color_team ""
+seta hud_panel_score_bg_alpha ""
+seta hud_panel_score_bg_border ""
+seta hud_panel_score_bg_padding ""
+
+seta hud_panel_racetimer 1
+seta hud_panel_racetimer_pos "0.360000 0.090000"
+seta hud_panel_racetimer_size "0.280000 0.090000"
+seta hud_panel_racetimer_bg "0"
+seta hud_panel_racetimer_bg_color ""
+seta hud_panel_racetimer_bg_color_team ""
+seta hud_panel_racetimer_bg_alpha ""
+seta hud_panel_racetimer_bg_border ""
+seta hud_panel_racetimer_bg_padding ""
+
+seta hud_panel_vote 1
+seta hud_panel_vote_pos "0.020000 0.650000"
+seta hud_panel_vote_size "0.230000 0.110000"
+seta hud_panel_vote_bg ""
+seta hud_panel_vote_bg_color ""
+seta hud_panel_vote_bg_color_team ""
+seta hud_panel_vote_bg_alpha ""
+seta hud_panel_vote_bg_border ""
+seta hud_panel_vote_bg_padding ""
+seta hud_panel_vote_alreadyvoted_alpha "0.800000"
+
+seta hud_panel_modicons 1
+seta hud_panel_modicons_pos "0.040000 0.270000"
+seta hud_panel_modicons_size "0.080000 0.200000"
+seta hud_panel_modicons_bg ""
+seta hud_panel_modicons_bg_color ""
+seta hud_panel_modicons_bg_color_team ""
+seta hud_panel_modicons_bg_alpha ""
+seta hud_panel_modicons_bg_border ""
+seta hud_panel_modicons_bg_padding ""
+
+seta hud_panel_pressedkeys 1
+seta hud_panel_pressedkeys_pos "0.410000 0.710000"
+seta hud_panel_pressedkeys_size "0.180000 0.130000"
+seta hud_panel_pressedkeys_bg "0"
+seta hud_panel_pressedkeys_bg_color ""
+seta hud_panel_pressedkeys_bg_color_team ""
+seta hud_panel_pressedkeys_bg_alpha ""
+seta hud_panel_pressedkeys_bg_border ""
+seta hud_panel_pressedkeys_bg_padding ""
+seta hud_panel_pressedkeys_aspect "1.600000"
+
+seta hud_panel_chat 1
+seta hud_panel_chat_pos "0.020000 0.780000"
+seta hud_panel_chat_size "0.630000 0.110000"
+seta hud_panel_chat_bg "0"
+seta hud_panel_chat_bg_color ""
+seta hud_panel_chat_bg_color_team ""
+seta hud_panel_chat_bg_alpha ""
+seta hud_panel_chat_bg_border ""
+seta hud_panel_chat_bg_padding ""
+
+seta hud_panel_engineinfo 0
+seta hud_panel_engineinfo_pos "0.910000 0.970000"
+seta hud_panel_engineinfo_size "0.090000 0.030000"
+seta hud_panel_engineinfo_bg "0"
+seta hud_panel_engineinfo_bg_color ""
+seta hud_panel_engineinfo_bg_color_team ""
+seta hud_panel_engineinfo_bg_alpha ""
+seta hud_panel_engineinfo_bg_border ""
+seta hud_panel_engineinfo_bg_padding ""
+
+seta hud_panel_infomessages 1
+seta hud_panel_infomessages_pos "0.510000 0"
+seta hud_panel_infomessages_size "0.340000 0.090000"
+seta hud_panel_infomessages_bg "0"
+seta hud_panel_infomessages_bg_color ""
+seta hud_panel_infomessages_bg_color_team ""
+seta hud_panel_infomessages_bg_alpha ""
+seta hud_panel_infomessages_bg_border ""
+seta hud_panel_infomessages_bg_padding "0"
+seta hud_panel_infomessages_flip "1"
+
+menu_sync
diff --git a/keybinds.txt.es b/keybinds.txt.es
new file mode 100644 (file)
index 0000000..e92f03b
--- /dev/null
@@ -0,0 +1,91 @@
+""                                      "Movimiento"
+"+forward"                              "adelante"
+"+back"                                 "atrás"
+"+moveleft"                             "izquierda"
+"+moveright"                            "derecha"
+"+jump"                                 "saltar / nadar"
+"+crouch"                               "agacharse / bajar"
+"+hook"                                 "gancho / jet pack"
+""                                      ""
+""                                      "Ataque"
+"+fire"                                 "ataque primario"
+"+fire2"                                "ataque secundario"
+""                                      ""
+""                                      "Cambio de arma"
+"weapprev"                              "anterior"
+"weapnext"                              "siguiente"
+"weaplast"                              "anteriormente usado"
+"weapbest"                              "mejor"
+"reload"                                "recargar"
+"impulse 1"                             "Laser"
+"impulse 2"                             "Shotgun"
+"impulse 3"                             "Machine Gun"
+"impulse 4"                             "Mortar / Mine Layer"
+"impulse 5"                             "Electro"
+"impulse 6"                             "Crylink / HLAC"
+"impulse 7"                             "Nex / MinstaNex / Rifle"
+"impulse 8"                             "Hagar / Seeker"
+"impulse 9"                             "Rocket Launcher / Fireball"
+"impulse 14"                            "Port-O-Launch / Hook"
+""                                      ""
+""                                      "Vista"
+"+zoom"                                 "mantener zoom"
+"togglezoom"                            "cambiar zoom"
+"+showscores"                           "mostrar puntaje"
+"screenshot"                            "captura de pantalla"
+""                                      ""
+""                                      "Communicación"
+"messagemode"                           "chat público"
+"messagemode2"                          "chat de equipo"
+"+con_chat_maximize"                    "mostrar historial del chat"
+"vyes"                                  "votar SI"
+"vno"                                   "votar NO"
+"ready"                                 "preparado"
+""                                      ""
+""                                      "Cliente"
+"+show_info"                            "información del servidor"
+"toggleconsole"                         "entrar en la consola"
+"disconnect"                            "desconectar"
+"quit"                                  "salir"
+""                                      ""
+""                                      "Juego en equipo"
+"messagemode2"                          "chat de equipo"
+"team_auto"                             "unirse al equipo automáticamente"
+"menu_showteamselect"                   "menu de equipo"
+"spec"                                  "entrar al modo espectador"
+"dropweapon"                            "soltar arma"
+"+use"                                  "soltar llave / soltar bandera"
+""                                      ""
+""                                      "Definido por el usuario"
+"+userbind 1"                           "$userbind1"
+"+userbind 2"                           "$userbind2"
+"+userbind 3"                           "$userbind3"
+"+userbind 4"                           "$userbind4"
+"+userbind 5"                           "$userbind5"
+"+userbind 6"                           "$userbind6"
+"+userbind 7"                           "$userbind7"
+"+userbind 8"                           "$userbind8"
+"+userbind 9"                           "$userbind9"
+"+userbind 10"                          "$userbind10"
+"+userbind 11"                          "$userbind11"
+"+userbind 12"                          "$userbind12"
+"+userbind 13"                          "$userbind13"
+"+userbind 14"                          "$userbind14"
+"+userbind 15"                          "$userbind15"
+"+userbind 16"                          "$userbind16"
+"+userbind 17"                          "$userbind17"
+"+userbind 18"                          "$userbind18"
+"+userbind 19"                          "$userbind19"
+"+userbind 20"                          "$userbind20"
+"+userbind 21"                          "$userbind21"
+"+userbind 22"                          "$userbind22"
+"+userbind 23"                          "$userbind23"
+"+userbind 24"                          "$userbind24"
+"+userbind 25"                          "$userbind25"
+"+userbind 26"                          "$userbind26"
+"+userbind 27"                          "$userbind27"
+"+userbind 28"                          "$userbind28"
+"+userbind 29"                          "$userbind29"
+"+userbind 30"                          "$userbind30"
+"+userbind 31"                          "$userbind31"
+"+userbind 32"                          "$userbind32"
index bea59d35b46d19f5f45a16b8b1c7f3a6f74b4a7a..0e89469c57eaacd9474aba958103749cdacd5251 100644 (file)
@@ -8,3 +8,4 @@ pt Portuguese "Português"
 ro Romanian "Romana"
 ru Russian "Русский"
 se Swedish "Svenska"
+es Spanish "Español"
diff --git a/menu.dat.es.po b/menu.dat.es.po
new file mode 100644 (file)
index 0000000..5501660
--- /dev/null
@@ -0,0 +1,2829 @@
+# Xonotic Menu
+# Copyright (C) 2011 Team Xonotic
+# This file is distributed under the same license as the Xonotic package.
+# Rodrigo Mouton Laudin <ratogenesis@gmail.com>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic 0.1preview\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-24 19:40+0100\n"
+"PO-Revisión-Date: 2011-03-24 19:40+0100\n"
+"Last-Translator: Rodrigo Mouton Laudin <ratogenesis@gmail.com>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: qcsrc/menu/gamecommand.qc:47
+#, c-format
+msgid "error: status is %d\n"
+msgstr "error: estado es %d\n"
+
+#: qcsrc/menu/gamecommand.qc:65
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
+msgstr "Uso: menu_cmd commando..., donde los posibles comandos son:\n"
+
+#: qcsrc/menu/gamecommand.qc:66
+msgid "  sync - reloads all cvars on the current menu page\n"
+msgstr "  sync - recarga todas las cvar en el menu actual\n"
+
+#: qcsrc/menu/gamecommand.qc:67
+msgid "  directmenu ITEM - select a menu item as main item\n"
+msgstr "  directmenu ITEM - selecciona un item del menu como principal\n"
+
+#: qcsrc/menu/gamecommand.qc:193
+msgid "error creating curl handle\n"
+msgstr "error creando el manejador curl\n"
+
+#: qcsrc/menu/gamecommand.qc:239
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+msgstr ""
+"Comando no valido. Para una lista de comandos soportados, teclea menu_cmd "
+"help\n"
+
+#: qcsrc/menu/item/gecko.c:49
+msgid "Browser not initialized!"
+msgstr "navegador no inicializado!"
+
+#: qcsrc/menu/item/label.c:63
+#, c-format
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+msgstr ""
+"NOTA: texto %s demasiado largo para la etiqueta, condensada por factor "
+"%f\n"
+
+#: qcsrc/menu/item/listbox.c:300
+#, c-format
+msgid "Item %d"
+msgstr "Item %d"
+
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
+msgstr "%d (%s)"
+
+#: qcsrc/menu/item/textslider.c:29 qcsrc/menu/item/textslider.c:31
+msgid "custom"
+msgstr "Personalizado"
+
+#: qcsrc/menu/menu.qc:29
+#, c-format
+msgid "^4MQC Build information: %s\n"
+msgstr "^4MQC Información de compilación/build %s\n"
+
+#: qcsrc/menu/xonotic/campaign.c:284
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:66
+msgid "???"
+msgstr "???"
+
+#: qcsrc/menu/xonotic/campaign.c:285
+#, c-format
+msgid "Level %d: %s"
+msgstr "Nivel %d: %s"
+
+#: qcsrc/menu/xonotic/cvarlist.c:85
+msgid "will be saved to config.cfg"
+msgstr "será guardado en config.cfg"
+
+#: qcsrc/menu/xonotic/cvarlist.c:87
+msgid "will not be saved"
+msgstr "no será guardado"
+
+#: qcsrc/menu/xonotic/cvarlist.c:89
+msgid "private"
+msgstr "privado"
+
+#: qcsrc/menu/xonotic/cvarlist.c:91
+msgid "engine setting"
+msgstr "configuración del motor"
+
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "read only"
+msgstr "sólo lectura"
+
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
+msgstr "Créditos"
+
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:269
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:61
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
+msgstr "OK"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
+msgstr "Bienvenido"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:33
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+"Bienvenido a Xonotic, por favor seleccióne su Lenguaje preferido y luego ingrese "
+"su nombre de jugador. Estas opciones pueden ser modificadas luego utilizando el menú "
+"de configuración"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:38
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Text language:"
+msgstr "Lenguaje:"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:40
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+msgid "Name:"
+msgstr "Nombre:"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:69
+msgid "Save settings"
+msgstr "Guardar configuración"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr "panel de munición"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:22
+msgid "Ammunition display:"
+msgstr "Pantalla de munición:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:25
+msgid "Show only current ammo type"
+msgstr "Mostrar sólo la munición actual"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:28
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:40
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:28
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:40
+msgid "Left"
+msgstr "Izquierda"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Right"
+msgstr "Derecha"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr "Panel de chat"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:22
+msgid "Chat entries:"
+msgstr "Entradas de chat:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:25
+msgid "Chat size:"
+msgstr "Tamaño del chat:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:29
+msgid "Chat lifetime:"
+msgstr "Tiempo de vida del chat:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:33
+msgid "Chat beep sound"
+msgstr "Alarma de chat"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
+msgstr "Panel de Información del Motor"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:22
+msgid "Engine info:"
+msgstr "Información del Motor:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:25
+msgid "Use an averaging algorithm for fps"
+msgstr "Usar un algoritmo de promediado de fps"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr "Panel de Vida/Armadura"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:22
+msgid "Enable status bar"
+msgstr "Activar barra de estado"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:24
+msgid "Status bar alignment:"
+msgstr "Alineado de barra de estado:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:32
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:32
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Inward"
+msgstr "Dentro"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:34
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:34
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Outward"
+msgstr "Fuera"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:37
+msgid "Icon alignment:"
+msgstr "Alineado de íconos"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:45
+msgid "Flip health and armor positions"
+msgstr "Intercambiar la posición de vida y armadura"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
+msgstr "Panel de Información de Mensajes"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:22
+msgid "Info messages:"
+msgstr "Información de mensajes:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:25
+msgid "Flip align"
+msgstr "Intercambiar alineamiento"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr "Panel de íconos modificado"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
+msgstr "Panel de notificaciónes"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:22
+msgid "Notifications:"
+msgstr "Notificaciones:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:25
+msgid "Also print notifications to the console"
+msgstr "Imprimir tambien notificaciónes en la consola"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:28
+msgid "Flip notify order"
+msgstr "Intercambiar orden de notificaciónes"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:31
+msgid "Entry lifetime:"
+msgstr "Tiempo de vida de la entrada:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:35
+msgid "Entry fadetime:"
+msgstr "Desaparecimento de la entrada:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
+msgstr "Panel de Poderes"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45
+msgid "Flip strength and shield positions"
+msgstr "Intercambiar posición de escudo y fuerza"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr "Panel de teclas presionadas"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:21
+msgid "Panel disabled"
+msgstr "Panel desactivado"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+msgid "Panel enabled when spectating"
+msgstr "Panel activado cuando este espectador"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel always enabled"
+msgstr "Panel sempre activado"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:30
+msgid "Forced aspect:"
+msgstr "Forzar aspecto:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
+msgstr "Panel de Cronómetro de Carrera"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
+msgstr "Panel de Radar"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel enabled in teamgames"
+msgstr "Panel activo en juegos de equipo"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:29
+msgid "Radar:"
+msgstr "Radar:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:32
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:43
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151
+#: qcsrc/menu/xonotic/util.qc:608
+msgid "Alpha:"
+msgstr "Transparencia:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:36
+msgid "Rotation:"
+msgstr "Rotación:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:38
+msgid "Forward"
+msgstr "Al frente"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "West"
+msgstr "Oeste"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "South"
+msgstr "Sul"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "East"
+msgstr "Este"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "North"
+msgstr "Norte"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46
+msgid "Scale:"
+msgstr "Escala:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:50
+msgid "Zoom mode:"
+msgstr "Modo de zoom:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:52
+msgid "Zoomed in"
+msgstr "Ampliado"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed out"
+msgstr "Reducido"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Always zoomed"
+msgstr "Siempre ampliado"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Never zoomed"
+msgstr "Nunca ampliado"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr "Panel de Puntos"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
+msgstr "Panel del Temporizador"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:22
+msgid "Timer:"
+msgstr "Temporizador:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:25
+msgid "Show elapsed time"
+msgstr "Mostrar tiempo pasado"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
+msgstr "Panel de votos"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:22
+msgid "Alpha after voting:"
+msgstr "Transparencia despues del voto:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
+msgstr "Panel de armas"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:24
+msgid "Fade out after:"
+msgstr "Desaparecer despues:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36
+msgid "Never"
+msgstr "Nunca"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:28
+#, c-format
+msgid "%ds"
+msgstr "%ds"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:32
+msgid "Fade effect:"
+msgstr "Efecto de desvanecimento"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:33
+#, fuzzy
+msgid "EF^None"
+msgstr "Ninguno"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:35
+msgid "Slide"
+msgstr "Corte"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
+msgstr "Transparencia"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:40
+msgid "Weapon icons:"
+msgstr "íconos de armas"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:43
+msgid "Show weapon ID as:"
+msgstr "Mostra ID de arma como:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:44
+#, fuzzy
+msgid "SHOWAS^None"
+msgstr "Nenhum"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45
+msgid "Number"
+msgstr "Número"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "Bind"
+msgstr "Lazo"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "Show Accuracy"
+msgstr "Mostrar precision"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "Show Ammo"
+msgstr "Mostrar munición"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:53
+msgid "Ammo bar color:"
+msgstr "Color de la barra de munición:"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:59
+msgid "Ammo bar alpha:"
+msgstr "Transparencia de la barra de munición:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
+msgstr "configuración del panel HUD"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:21
+msgid "Panel background defaults:"
+msgstr "Panel de fondo por defecto:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:586
+#: qcsrc/menu/xonotic/util.qc:602 qcsrc/menu/xonotic/util.qc:619
+msgid "Disable"
+msgstr "Desactivar"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:591
+msgid "Color:"
+msgstr "Color:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:599
+msgid "Border size:"
+msgstr "Tamaño de limite:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:50
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:89
+msgid "Team color:"
+msgstr "Color del equipo:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:625
+msgid "Test team color in configure mode"
+msgstr "Probar color del equipo en modo configuración"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:628
+msgid "Padding:"
+msgstr "Relleno:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:68
+msgid "HUD Dock:"
+msgstr "Muelle de HUD:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:70
+#, fuzzy
+msgid "DOCK^Disabled"
+msgstr "Desactivado"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+#, fuzzy
+msgid "DOCK^Small"
+msgstr "Pequeno"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+#, fuzzy
+msgid "DOCK^Medium"
+msgstr "Medio"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+#, fuzzy
+msgid "DOCK^Large"
+msgstr "Grande"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:96
+msgid "Grid settings:"
+msgstr "Configuración de grilla:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:99
+msgid "Snap panels to grid"
+msgstr "Ajustar paneles a la grilla"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:102
+msgid "Grid size:"
+msgstr "Tamaño de grilla:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "X:"
+msgstr "X:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:109
+msgid "Y:"
+msgstr "Y:"
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:117
+msgid "Exit setup"
+msgstr "Salir de la configuración"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
+msgstr "Multijugador"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
+msgstr "Servidores"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+msgid "Create"
+msgstr "Crear"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
+msgstr "Demos"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+msgid "Player Setup"
+msgstr "Jugador"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:35
+msgid "Game type:"
+msgstr "Tipo de juego:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:47
+msgid "Match settings:"
+msgstr "Configuración del encuentro:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:50
+msgid "Time limit:"
+msgstr "Limite de tiempo:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:54
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:62
+msgid "Use map specified default"
+msgstr "Usar definicion especifica del mapa"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:57
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164
+msgid "Point limit:"
+msgstr "Limite de puntos:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:65
+msgid "Player slots:"
+msgstr "Slots de Jugadores:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:68
+msgid "Number of bots:"
+msgstr "Número de bots:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Bot skill:"
+msgstr "Dificultad del bot:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "Botlike"
+msgstr "Bot"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "Beginner"
+msgstr "Iniciado"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "You will win"
+msgstr "Ganaras"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "You can win"
+msgstr "Puedes ganar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "You might win"
+msgstr "Podrias ganar ganar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Advanced"
+msgstr "Avanzado"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Expert"
+msgstr "Experto"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Pro"
+msgstr "Profesional"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83
+msgid "Assassin"
+msgstr "Asesino"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84
+msgid "Unhuman"
+msgstr "No humano"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:85
+msgid "Godlike"
+msgstr "Semi-dios"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:89
+msgid "Mutators..."
+msgstr "Mutators..."
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:98
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+msgid "Advanced settings..."
+msgstr "Configuración avanzada..."
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:105
+msgid "Map list:"
+msgstr "Lista de mapas:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:111
+msgid "Select all"
+msgstr "Seleccionar todos"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:114
+msgid "Select none"
+msgstr "Seleccionar ninguno"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:120
+msgid "Start Multiplayer!"
+msgstr "Comenzar Multijugador!"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+msgid "Capture limit:"
+msgstr "Limite de capturas:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+msgid "Lives:"
+msgstr "Vidas:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+msgid "Laps:"
+msgstr "Vueltas:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+msgid "Goals:"
+msgstr "Metas:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:165
+msgid "Frag limit:"
+msgstr "Limite de Frags:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
+msgstr "configuración avanzada del servidor"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
+msgstr "Configuración del juego:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
+msgstr "Permitir espectador"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
+msgstr "Proteccion del colocado:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
+msgstr "Velocidad del juego:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
+msgstr "Configuración del juego en equipo:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
+msgstr "Escala de daño a aliados:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
+msgstr "Daño virtual a aliados (apenas afecta)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
+msgstr "Penalizacion de daño a aliados:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
+msgstr "Penalizacion virtual (apenas afecta)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
+msgstr "Equipos:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
+msgstr "Votacion de mapa:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
+msgstr "No votar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
+msgstr "2 opciones"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
+msgstr "3 opciones"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
+msgstr "4 opciones"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
+msgstr "5 opciones"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
+msgstr "6 opciones"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
+msgstr "7 opciones"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
+msgstr "8 opciones"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
+msgstr "9 opciones"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr "La mayoría simple gana"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
+msgstr "Información del mapa"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
+msgstr "Colocado total del item"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
+msgstr "Sólo MinstaGib"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78
+msgid "Title:"
+msgstr "Título:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84
+msgid "Author:"
+msgstr "Autor:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90
+msgid "Features:"
+msgstr "Características:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95
+msgid "Game types:"
+msgstr "Modos de juego:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:119
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:314
+msgid "Close"
+msgstr "Cerrar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46
+msgid "Play"
+msgstr "Jugar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
+msgstr "Mutators"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
+msgstr "Arena con todas las armas"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
+msgstr "Arena con la mayoría de las Armas"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr "%s Arena"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:167
+msgid "Dodging"
+msgstr "Agacharse"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:250
+msgid "MinstaGib"
+msgstr "MinstaGib"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:253
+msgid "NIX"
+msgstr "NIX"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:205
+msgid "Rocket Flying"
+msgstr "Vuelo de cohete"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264
+msgid "No start weapons"
+msgstr "Empezar sin armas"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
+msgstr "Poca gravedad"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170
+msgid "Cloaked"
+msgstr "Escondido"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+msgid "Hook"
+msgstr "Gancho"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:173
+msgid "Midair"
+msgstr "aire"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:176
+msgid "Vampire"
+msgstr "Vampiro"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "Piñata"
+msgstr "Piñata"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:211
+msgid "Weapons stay"
+msgstr "Las armas permanecen"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:180
+msgid "Blood loss"
+msgstr "Pérdida de sangre"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:202
+msgid "Jet pack"
+msgstr "Jetpack"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#, fuzzy
+msgid "MUT^None"
+msgstr "Ninguno"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164
+msgid "Gameplay mutators:"
+msgstr "Mutators del juego"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196
+msgid "Weapon & item mutators:"
+msgstr "Mutators de armas e items"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199
+msgid "Grappling hook"
+msgstr "Gancho de trepar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215
+msgid "Weapon arenas:"
+msgstr "Arenas de armas:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218
+msgid "Regular (no arena)"
+msgstr "Regular (no arena)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:239
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:256
+msgid "with laser"
+msgstr "con laser"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247
+msgid "Special arenas:"
+msgstr "Arenas especiales:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260
+msgid "Most weapons"
+msgstr "Mayoría de las Armas"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr "Demo"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28
+msgid "Record demos while playing"
+msgstr "Grabar demos mientras se juega"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr "Filtrar:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:33
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:29
+#: qcsrc/menu/xonotic/dialog_settings_input.c:41
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:24
+msgid "Clear"
+msgstr "Limpiar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "Timedemo"
+msgstr "Demo temporizado"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
+msgstr "Ingresar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+#, fuzzy
+msgid "SRVS^Empty"
+msgstr "Vacío"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+#, fuzzy
+msgid "SRVS^Full"
+msgstr "Completo"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
+msgstr "Pausar"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+msgid "Address:"
+msgstr "Direccion:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:65
+msgid "Info..."
+msgstr "Información..."
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:317
+msgid "Join!"
+msgstr "Ingresar!"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
+msgstr "Información del servidor"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:115
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:116
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:183
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:189
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:199
+msgid "N/A"
+msgstr "N/A"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:158
+#, c-format
+msgid "%d/%d, %d free player slots"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
+#, c-format
+msgid "%d modified settings"
+msgstr "%d configuración modificada"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
+msgid "Official settings"
+msgstr "configuración oficial"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197
+msgid "N/A (can't connect)"
+msgstr "N/A (no se puede conectar)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205
+msgid "not supported (can't connect)"
+msgstr "no soportado (no se puede conectar)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207
+msgid "not supported (won't encrypt)"
+msgstr "no soportado (sin cifrado)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "supported (will encrypt)"
+msgstr "soportado (cifrado)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213
+msgid "supported (won't encrypt)"
+msgstr "suportado (no cifrado)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "requested (will encrypt)"
+msgstr "pedido (cifrado)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219
+msgid "requested (won't encrypt)"
+msgstr "pedido (sin cifrado)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "required (can't connect)"
+msgstr "requerido (no se puede conectarr)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225
+msgid "required (will encrypt)"
+msgstr "requerido (cifrado)"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269
+msgid "Players:"
+msgstr "Jugadores:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38
+msgid "Type:"
+msgstr "Tipo:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259
+msgid "Map:"
+msgstr "Mapa:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264
+msgid "Gameplay:"
+msgstr "Jugabilidad:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274
+msgid "Bots:"
+msgstr "Bots:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279
+msgid "Mod:"
+msgstr "Mod:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284
+msgid "Version:"
+msgstr "Version:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289
+msgid "Ping:"
+msgstr "Ping:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "CA:"
+msgstr "CA:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301
+msgid "Key:"
+msgstr "Llave:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307
+msgid "Encryption:"
+msgstr "Encriptación:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63
+msgid "Model:"
+msgstr "Modelo:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88
+msgid "Field of view:"
+msgstr "Campo de visión:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92
+msgid "View bobbing:"
+msgstr "Ver flotando:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96
+msgid "Zoom factor:"
+msgstr "Factor de zoom:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100
+msgid "Zoom speed:"
+msgstr "Velocidad de zoom:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103
+msgid "Weapon settings..."
+msgstr "Configuración de armas..."
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110
+msgid "Crosshair:"
+msgstr "Mira:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:143
+msgid "Per weapon"
+msgstr "Por arma"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+msgid "Crosshair size:"
+msgstr "Tamaño da mira:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134
+msgid "Crosshair alpha:"
+msgstr "Transparencia da mira:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138
+msgid "Crosshair color:"
+msgstr "Color de mira:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:145
+msgid "Enable center dot"
+msgstr "Activar punto central"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148
+msgid "Size:"
+msgstr "Tamaño:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:155
+msgid "Hit test:"
+msgstr "Test de tiro:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:156
+#, fuzzy
+msgid "HTST^None"
+msgstr "Ninguno"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:157
+msgid "TrueAim"
+msgstr "Apuntado"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
+msgid "Enemies"
+msgstr "Enemigos"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161
+msgid "Waypoints setup..."
+msgstr "Configurar puntos de camino..."
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:167
+msgid "Enter HUD editor"
+msgstr "Entrar en el editor de HUD"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
+msgid "Force models:"
+msgstr "Forzar modelos:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175
+#, fuzzy
+msgid "MDL^None"
+msgstr "Ninguno"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176
+#, fuzzy
+msgid "MDL^Custom"
+msgstr "Modificado"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177
+#, fuzzy
+msgid "MDL^All"
+msgstr "Todos"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:179
+msgid "Disable gore effects"
+msgstr "Desactivar efectos de sangre"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:181
+msgid "Gibs:"
+msgstr "Gibs:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:183
+#, fuzzy
+msgid "GIBS^None"
+msgstr "Ninguno"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184
+msgid "GIBS^Few"
+msgstr "Pocas"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185
+#, fuzzy
+msgid "GIBS^Many"
+msgstr "Muchas"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186
+#, fuzzy
+msgid "GIBS^Lots"
+msgstr "Abundante"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:190
+msgid "Damage splash:"
+msgstr "Daño colateral:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:194
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:178
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:30
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:41
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Apply immediately"
+msgstr "Aplicar imediatamente"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5
+msgid "Waypoints"
+msgstr "Puntos de camino"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23
+msgid "Show base waypoints"
+msgstr "Mostrar puntos de camino"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25
+msgid "Waypoint scale:"
+msgstr "Escala:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29
+msgid "Waypoint alpha:"
+msgstr "Transparencia:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34
+msgid "Show names:"
+msgstr "Mostrar nombres:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37
+msgid "Teammates"
+msgstr "Compañeros de equipo"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38
+msgid "All players"
+msgstr "Todos los jugadores"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr "configuración de armas"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
+msgstr "Lista de prioridad de armas:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34
+msgid "Up"
+msgstr "Arriba"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37
+msgid "Down"
+msgstr "Abajo"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
+msgstr "Usar lista de prioridad para ciclo de armas"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
+msgstr "Cambiar de arma al recojer"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45
+msgid "Draw 1st person weapon model"
+msgstr "Dibujar modelo de arma en primera persona"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:48
+msgid "Left align"
+msgstr "Alinear a la izquierda"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
+msgid "Right align"
+msgstr "Alinear a la derecha"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+msgid "Flip view horizontally"
+msgstr "Invertir vista horizontalmente"
+
+#: qcsrc/menu/xonotic/dialog_news.c:4
+msgid "News"
+msgstr "Novedades"
+
+#: qcsrc/menu/xonotic/dialog_news.c:18
+msgid "http://www.xonotic.org/team/blog/"
+msgstr "http://www.xonotic.org/team/blog/"
+
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
+msgstr "Salir"
+
+#: qcsrc/menu/xonotic/dialog_quit.c:17
+msgid "Are you sure you want to quit?"
+msgstr "Estas seguro de querer salir?"
+
+#: qcsrc/menu/xonotic/dialog_quit.c:20
+msgid "Yes"
+msgstr "Si"
+
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "No"
+msgstr "No"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr "Configuración"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr "Entrada"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr "Video"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr "Efectos"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr "Sonido"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_network.c:4
+msgid "Network"
+msgstr "Red"
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr "Misc"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
+msgstr "Principal:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
+msgstr "Musica:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:40
+#, fuzzy
+msgid "VOL^Ambient:"
+msgstr "Ambiente:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
+msgstr "Información:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:57
+msgid "Items:"
+msgstr "Items:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:65
+msgid "Pain:"
+msgstr "Dolor:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:73
+msgid "Player:"
+msgstr "Jugador:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:81
+msgid "Shots:"
+msgstr "Disparos:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:88
+msgid "Voice:"
+msgstr "Voz:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:96
+msgid "Weapons:"
+msgstr "Armas:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:103
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Frequency:"
+msgstr "Frecuencia:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "8 kHz"
+msgstr "8 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "11.025 kHz"
+msgstr "11.025 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "16 kHz"
+msgstr "16 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "22.05 kHz"
+msgstr "22.05 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "24 kHz"
+msgstr "24 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "32 kHz"
+msgstr "32 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "44.1 kHz"
+msgstr "44.1 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:112
+msgid "48 kHz"
+msgstr "48 kHz"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:115
+msgid "Channels:"
+msgstr "Canales:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Mono"
+msgstr "Mono"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "Stereo"
+msgstr "Stereo"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "2.1"
+msgstr "2.1"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "4"
+msgstr "4"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5"
+msgstr "5"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "5.1"
+msgstr "5.1"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "6.1"
+msgstr "6.1"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:124
+msgid "7.1"
+msgstr "7.1"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Swap Stereo"
+msgstr "Intercambiar Stereo"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Headphone friendly mode"
+msgstr "Modo para auricular"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Spatial voices:"
+msgstr "Voces espaciales:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:137
+#, fuzzy
+msgid "VOCS^None"
+msgstr "Ninguno"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:138
+#, fuzzy
+msgid "VOCS^Taunts"
+msgstr "bromas"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+#, fuzzy
+msgid "VOCS^All"
+msgstr "Todos"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "Taunt range:"
+msgstr "Nivel de taunts:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:145
+#, fuzzy
+msgid "RNG^Very short"
+msgstr "Bien corto"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:146
+#, fuzzy
+msgid "RNG^Short"
+msgstr "Corto"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:147
+#, fuzzy
+msgid "RNG^Normal"
+msgstr "Normal"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:148
+#, fuzzy
+msgid "RNG^Long"
+msgstr "Alto"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:149
+#, fuzzy
+msgid "RNG^Full"
+msgstr "Total"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Automatic taunts"
+msgstr "Taunts Automatico"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:165
+msgid "Time warning:"
+msgstr "Aviso de tiempo:"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:167
+#, fuzzy
+msgid "WRN^None"
+msgstr "Ninguno"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:168
+msgid "1 minute"
+msgstr "1 minuto"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:169
+msgid "5 minutes"
+msgstr "5 minutos"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
+#, fuzzy
+msgid "WRN^Both"
+msgstr "Ambos"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:173
+msgid "Hit indicator"
+msgstr "Indicador de tiro acertado"
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:175
+msgid "Menu sounds"
+msgstr "Sonidos del menú"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
+msgstr "Predefinición de calidad:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+#, fuzzy
+msgid "PRE^OMG!"
+msgstr "OMG!"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+#, fuzzy
+msgid "PRE^Low"
+msgstr "Bajo"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+#, fuzzy
+msgid "PRE^Medium"
+msgstr "Media"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+#, fuzzy
+msgid "PRE^Normal"
+msgstr "Normal"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+#, fuzzy
+msgid "PRE^High"
+msgstr "Alta"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+#, fuzzy
+msgid "PRE^Ultra"
+msgstr "Ultra"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+#, fuzzy
+msgid "PRE^Ultimate"
+msgstr "Máxima"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
+msgstr "Detalles geométricos:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+#, fuzzy
+msgid "DET^Lowest"
+msgstr "Mínimo"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+#, fuzzy
+msgid "DET^Low"
+msgstr "Bajo"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+#, fuzzy
+msgid "DET^Normal"
+msgstr "Normal"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+#, fuzzy
+msgid "DET^Good"
+msgstr "Bueno"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+#, fuzzy
+msgid "DET^Best"
+msgstr "Mejor"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+#, fuzzy
+msgid "DET^Insane"
+msgstr "Insano"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Antialiasing:"
+msgstr "Antialiasing:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:64
+#, fuzzy
+msgid "AA^Disabled"
+msgstr "Deshabilitado"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:103
+msgid "2x"
+msgstr "2x"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:66
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:104
+msgid "4x"
+msgstr "4x"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "Texture resolution:"
+msgstr "Resolución de textura:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+#, fuzzy
+msgid "RES^Leet"
+msgstr "Leet"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+#, fuzzy
+msgid "RES^Lowest"
+msgstr "Mínimo"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+#, fuzzy
+msgid "RES^Low"
+msgstr "Bajo"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:76
+#, fuzzy
+msgid "RES^Normal"
+msgstr "Normal"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:77
+#, fuzzy
+msgid "RES^Good"
+msgstr "Bueno"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:78
+#, fuzzy
+msgid "RES^Best"
+msgstr "Mejor"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:94
+msgid "Avoid lossy texture compression"
+msgstr "Evitar compresion de Textura con Pérdida"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:100
+msgid "Anisotropy:"
+msgstr "Filtro Anisotrópico:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:102
+#, fuzzy
+msgid "ANISO^Disabled"
+msgstr "Deshabilitado"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "8x"
+msgstr "8x"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:106
+msgid "16x"
+msgstr "16x"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:110
+msgid "Particle quality:"
+msgstr "Calidad de partículas:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:113
+msgid "Particle distance:"
+msgstr "Distancia de partículas:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:117
+msgid "Decals"
+msgstr "Símbolos"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:120
+msgid "Distance:"
+msgstr "Distancia:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:126
+msgid "Time:"
+msgstr "Tiempo:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Use lightmaps"
+msgstr "Usar lightmaps"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:133
+msgid "Deluxe mapping"
+msgstr "Mapeado Deluxe"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Gloss"
+msgstr "Brillo"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "Offset mapping"
+msgstr "Despl. de mapeado"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:140
+msgid "Relief mapping"
+msgstr "Mapeado Relief"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:143
+msgid "Reflections:"
+msgstr "Reflejos:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "Blurred"
+msgstr "Borroso"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:147
+#, fuzzy
+msgid "REFL^Good"
+msgstr "Bueno"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Sharp"
+msgstr "Ajustado"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+msgid "Show surfaces"
+msgstr "Mostrar superficies"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:155
+msgid "No dynamic lighting"
+msgstr "Sin iluminación dinámica"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Flash blend approximation"
+msgstr "Aproximación de flash mezclado"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:159
+msgid "Realtime dynamic lighting"
+msgstr "Iluminación dinámica en tiempo real"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:160
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:164
+msgid "Shadows"
+msgstr "Sombras"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Realtime world lighting"
+msgstr "Iluminación del mundo en tiempo real"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:168
+msgid "Use normal maps"
+msgstr "Usar mapa de normales"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:170
+msgid "Soft shadows"
+msgstr "Sombras Suaves"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:173
+msgid "Coronas"
+msgstr "Coronas"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:174
+msgid "Use Occlusion Queries"
+msgstr "Usar consultas de oclusion"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:176
+msgid "Bloom"
+msgstr "Bloom"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:178
+msgid "High Dynamic Range (HDR)"
+msgstr "High Dynamic Range (HDR)"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:182
+msgid "Motion blur:"
+msgstr "Distorsión p/ movimiento:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Damage blur:"
+msgstr "Distorsión por daño:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
+msgstr "Asignacion de Teclas"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:31
+msgid "Change key..."
+msgstr "Cambiar tecla..."
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:35
+msgid "Edit..."
+msgstr "Editar..."
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Sensitivity:"
+msgstr "Sensibilidad:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:49
+msgid "UI mouse speed:"
+msgstr "Velocidad del puntero:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:52
+msgid "Mouse filter"
+msgstr "Filtro del raton"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:54
+msgid "Invert mouse"
+msgstr "Invertir eje Y"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+#: qcsrc/menu/xonotic/dialog_settings_input.c:59
+msgid "Use joystick input"
+msgstr "Usar entrada de joystick"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+#: qcsrc/menu/xonotic/dialog_settings_input.c:64
+msgid "Turn off OS mouse acceleration"
+msgstr "Desactivar aceleracion del raton"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:66
+msgid "\"enter console\" also closes"
+msgstr "\"entrar a la consola\" tambien cerrar"
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
+msgstr "Usar teclas definidas"
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
+msgstr "Comandar cuando se presiona:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
+msgstr "Comandar cuando se suelta:"
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
+msgstr "Guardar"
+
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Menu skins:"
+msgstr "Textura del menú:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:47
+msgid "Show current time"
+msgstr "Mostrar el tiempo actual"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:49
+msgid "Show current date"
+msgstr "Mostrar la fecha actual"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:51
+msgid "Show frames per second"
+msgstr "Mostrar cuadros por segundo"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:53
+msgid "Speedometer"
+msgstr "Medidor de Velocidad"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:56
+msgid "qu/s (hidden)"
+msgstr "qu/s (escondido)"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:58
+msgid "qu/s"
+msgstr "qu/s"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
+msgid "m/s"
+msgstr "m/s"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:64
+msgid "km/h"
+msgstr "km/h"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:66
+msgid "mph"
+msgstr "mph"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:68
+msgid "knots"
+msgstr "nudos"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:71
+msgid "Show accelerometer"
+msgstr "Mostrar acelerómetro"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:74
+msgid "Accelerometer scale:"
+msgstr "Escala del acelerómetro:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:80
+msgid "Minimize input latency"
+msgstr "Minimizar retardo de entrada"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr "Configuración avanzada"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23
+msgid "Cvar filter:"
+msgstr "Filtro de Cvar"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34
+msgid "Setting:"
+msgstr "Configuración:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42
+msgid "Value:"
+msgstr "Valor:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56
+msgid "Description:"
+msgstr "Descripción:"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:26
+msgid "Client-side movement prediction"
+msgstr "Predicción de movimento de lado del cliente"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:30
+msgid "Show netgraph"
+msgstr "Mostrar gráfico de red"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:33
+msgid "Network speed:"
+msgstr "Velocidad de red:"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:35
+msgid "56k"
+msgstr "56k"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:36
+msgid "ISDN"
+msgstr "ISDN"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:37
+msgid "Slow ADSL"
+msgstr "ADSL lenta"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:38
+msgid "Fast ADSL"
+msgstr "ADSL rápida"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:39
+msgid "Broadband"
+msgstr "Banda ancha"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:42
+msgid "Input packets/s:"
+msgstr "Paquetes de entrada /s"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:46
+msgid "HTTP downloads:"
+msgstr "Descargas via HTTP:"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:49
+msgid "Downloads:"
+msgstr "Descargas:"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:53
+msgid "Speed (kB/s):"
+msgstr "Velocidad (kB/s):"
+
+#: qcsrc/menu/xonotic/dialog_settings_network.c:57
+msgid "Client UDP port:"
+msgstr "Puerto UDP del Cliente:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr "Resolución:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr "Tamaño de Font/UI:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+#, fuzzy
+msgid "SZ^Unreadable"
+msgstr "Ilegible"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+#, fuzzy
+msgid "SZ^Tiny"
+msgstr "Minuscula"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+#, fuzzy
+msgid "SZ^Little"
+msgstr "Muy pequeña"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+#, fuzzy
+msgid "SZ^Small"
+msgstr "Pequeña"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+#, fuzzy
+msgid "SZ^Medium"
+msgstr "Media"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+#, fuzzy
+msgid "SZ^Large"
+msgstr "Grande"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+#, fuzzy
+msgid "SZ^Huge"
+msgstr "Enorme"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+#, fuzzy
+msgid "SZ^Gigantic"
+msgstr "Gigante"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+#, fuzzy
+msgid "SZ^Colossal"
+msgstr "Colossal"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
+msgstr "Profundidad del color:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "Full screen"
+msgstr "Pantalla entera"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:46
+msgid "Vertical Synchronization"
+msgstr "Sincronizacion vertical"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr "Usar shaders OpenGL2.0 (GLSL)"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:52
+msgid "Use GLSL to handle color control"
+msgstr "Usar GLSL como manejador de colores"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr "Vertex Buffer Objects (VBOs)"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+#, fuzzy
+msgid "VBO^Off"
+msgstr "Desactivado"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:60
+msgid "Vertices, some Tris (compatible)"
+msgstr "Vértices, algunos triangulos (compatible)"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:63
+msgid "Vertices"
+msgstr "Vértices"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:64
+msgid "Vertices and Triangles"
+msgstr "Vertices y triangulos"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "Depth first:"
+msgstr "Profundidad primero:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:69
+#, fuzzy
+msgid "DF^Disabled"
+msgstr "Desactivado"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:70
+#, fuzzy
+msgid "DF^World"
+msgstr "Mundo"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+#, fuzzy
+msgid "DF^All"
+msgstr "Todos"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:75
+msgid "Disable multithreaded OpenGL"
+msgstr "Desactivar multi-hilos OpenGL"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:77
+msgid "Wait for GPU to finish each frame"
+msgstr "Esperar a la GPU para terminar cada frame"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "Brightness:"
+msgstr "Brillo:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Contrast:"
+msgstr "Contraste:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "Gamma:"
+msgstr "Gamma:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:89
+msgid "Contrast boost:"
+msgstr "Resaltador de contraste"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:92
+msgid "Saturation:"
+msgstr "Saturacion de color:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:98
+#, fuzzy
+msgid "LIT^Ambient:"
+msgstr "Ambiente:"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:101
+msgid "Intensity:"
+msgstr "Intensidad:"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
+msgstr "Jugador"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:59
+msgid "Instant action! (random map with bots)"
+msgstr "Accion instantanea! (Mapa aleatorio con bots)"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:80
+msgid "Start Singleplayer!"
+msgstr "Comenzar!"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
+msgstr "Vencedor"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr "Selección de equipo"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:41
+msgid "join 'best' team (auto-select)"
+msgstr "Ingresar 'mejor' equipo (selección automática)"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:45
+msgid "red"
+msgstr "rojo"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "blue"
+msgstr "azul"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "yellow"
+msgstr "amarillo"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "pink"
+msgstr "rosa"
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:51
+msgid "spectate"
+msgstr "espectador"
+
+#: qcsrc/menu/xonotic/mainwindow.c:35 qcsrc/menu/xonotic/mainwindow.c:38
+msgid "Do not press this button again!"
+msgstr "No vuelva a presionar este boton!"
+
+#: qcsrc/menu/xonotic/maplist.c:278
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+"Huh? no puedes jugarlo (m es nulo). Reflitrando para que esto no vuelva "
+"a ocurrir.\n"
+
+#: qcsrc/menu/xonotic/maplist.c:286
+#, c-format
+msgid "%s's Xonotic Server"
+msgstr "Servidor de Xonotic de %s"
+
+#: qcsrc/menu/xonotic/maplist.c:291
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+"Huh? no puedes jugarlo (tipo de juego invalido).  Reflitrado para que esto "
+"no vuelva a ocurrir.\n"
+
+#: qcsrc/menu/xonotic/playermodel.c:174
+msgid "<no model found>"
+msgstr "<ningún modelo encontrado>"
+
+#: qcsrc/menu/xonotic/serverlist.c:360
+msgid "Remove"
+msgstr "Remover"
+
+#: qcsrc/menu/xonotic/serverlist.c:362
+msgid "Bookmark"
+msgstr "Marcador"
+
+#: qcsrc/menu/xonotic/serverlist.c:518
+msgid "Ping"
+msgstr "Ping"
+
+#: qcsrc/menu/xonotic/serverlist.c:519
+msgid "Host name"
+msgstr "Nombre del Host"
+
+#: qcsrc/menu/xonotic/serverlist.c:520
+msgid "Map"
+msgstr "Mapa"
+
+#: qcsrc/menu/xonotic/serverlist.c:521
+msgid "Type"
+msgstr "Tipo"
+
+#: qcsrc/menu/xonotic/serverlist.c:522
+msgid "Players"
+msgstr "Jugadores"
+
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
+msgstr "<Título>"
+
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
+msgstr "<AUTOR>"
+
+#: qcsrc/menu/xonotic/skinlist.c:163
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: qcsrc/menu/xonotic/slider_decibels.c:50
+#, fuzzy
+msgid "VOL^OFF"
+msgstr "DESACTIVADO"
+
+#: qcsrc/menu/xonotic/slider_decibels.c:52
+#, fuzzy
+msgid "VOL^MAX"
+msgstr "MAXIMO"
+
+#: qcsrc/menu/xonotic/slider_decibels.c:53
+#, c-format
+msgid "%s dB"
+msgstr "%s dB"
+
+#: qcsrc/menu/xonotic/slider_resolution.c:65
+#, c-format
+msgid "%dx%d"
+msgstr "%dx%d"
+
+#: qcsrc/menu/xonotic/util.qc:270
+#, c-format
+msgid "Received HTTP request data for an invalid id %d.\n"
+msgstr "Se ha recibido un pedido de datos HTTP para un id inválido: %d. \n"
+
+#: qcsrc/menu/xonotic/util.qc:285
+#, c-format
+msgid "error receiving update notification: status is %d\n"
+msgstr "error recibiendo notificación de actualización: el estado es %d\n"
+
+#: qcsrc/menu/xonotic/util.qc:290
+msgid "error: received HTML instead of an update notification\n"
+msgstr "error: se ha recibido HTML en vez de una notificación de actualización\n"
+
+#: qcsrc/menu/xonotic/util.qc:295
+msgid "error: received carriage returns from update notification server\n"
+msgstr ""
+"error: se recibieron retornos de carro desde el servidor que notifica las actualizaciones\n"
+
+#: qcsrc/menu/xonotic/util.qc:316
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
+msgstr ""
+"Actualización puede ser descargada en:\n"
+"%s\n"
+
+#: qcsrc/menu/xonotic/util.qc:337
+msgid "Autogenerating mapinfo for newly added maps..."
+msgstr "Generación automática de información para mapas nuevos..."
+
+#: qcsrc/menu/xonotic/util.qc:432
+#, c-format
+msgid "Update to %s now!"
+msgstr "Actualizar para %s ahora!"
+
+#: qcsrc/menu/xonotic/util.qc:509
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
+msgstr ""
+"^1ERROR: Se requiere la compresion de texturas, pero no es soportada.\n"
+"^1Pueden ocurrir posibles problemas visuales.\n"
+
+#: qcsrc/menu/xonotic/util.qc:531
+msgid "Arena"
+msgstr "Arena"
+
+#: qcsrc/menu/xonotic/util.qc:532
+msgid "Assault"
+msgstr "Asalto"
+
+#: qcsrc/menu/xonotic/util.qc:533
+msgid "Capture The Flag"
+msgstr "Captura la Bandera"
+
+#: qcsrc/menu/xonotic/util.qc:534
+msgid "Clan Arena"
+msgstr "Clan arena"
+
+#: qcsrc/menu/xonotic/util.qc:535
+msgid "Deathmatch"
+msgstr "Combate a muerte"
+
+#: qcsrc/menu/xonotic/util.qc:536
+msgid "Domination"
+msgstr "Dominación"
+
+#: qcsrc/menu/xonotic/util.qc:537
+msgid "Freeze Tag"
+msgstr "Freeze Tag"
+
+#: qcsrc/menu/xonotic/util.qc:538
+msgid "Keepaway"
+msgstr "Keepaway"
+
+#: qcsrc/menu/xonotic/util.qc:539
+msgid "Key Hunt"
+msgstr "Caza de llave"
+
+#: qcsrc/menu/xonotic/util.qc:540
+msgid "Last Man Standing"
+msgstr "Ultimo Sobreviviente"
+
+#: qcsrc/menu/xonotic/util.qc:541
+msgid "Nexball"
+msgstr "Nexball"
+
+#: qcsrc/menu/xonotic/util.qc:542
+msgid "Onslaught"
+msgstr "Embestida"
+
+#: qcsrc/menu/xonotic/util.qc:543
+msgid "Race"
+msgstr "Carrera"
+
+#: qcsrc/menu/xonotic/util.qc:544
+msgid "Race CTS"
+msgstr "Carrera CTS"
+
+#: qcsrc/menu/xonotic/util.qc:545
+msgid "Runematch"
+msgstr "Runamatch"
+
+#: qcsrc/menu/xonotic/util.qc:546
+msgid "Team Deathmatch"
+msgstr "Combate a muerte por equipos"
+
+#: qcsrc/menu/xonotic/util.qc:565
+#, c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr "@!#%'n Tuba Throwing"
+
+#: qcsrc/menu/xonotic/util.qc:583
+msgid "Background:"
+msgstr "Fondo:"
+
+#: qcsrc/menu/xonotic/util.qc:585 qcsrc/menu/xonotic/util.qc:601
+#: qcsrc/menu/xonotic/util.qc:610 qcsrc/menu/xonotic/util.qc:618
+#: qcsrc/menu/xonotic/util.qc:630
+msgid "Default"
+msgstr "Por Defecto"
+
+#: qcsrc/menu/xonotic/util.qc:596
+msgid "Use default"
+msgstr "Usar por defecto"
+
+#: qcsrc/menu/xonotic/util.qc:616
+msgid "Team Color:"
+msgstr "Color del equipo:"
+
+#: qcsrc/menu/xonotic/util.qh:49
+msgid "Enable panel"
+msgstr "Activar panel"
+
+#: qcsrc/server/w_crylink.qc:2
+msgid "Crylink"
+msgstr "Crylink"
+
+#: qcsrc/server/w_crylink.qc:645
+#, c-format
+msgid "%s succeeded at self-destructing themself with the Crylink"
+msgstr "%s logró autodestruirse con el Crylink"
+
+#: qcsrc/server/w_crylink.qc:650
+#, c-format
+msgid "%s could not hide from %s's Crylink"
+msgstr "%s no se pudo esconder del Crylink de %s"
+
+#: qcsrc/server/w_crylink.qc:652
+#, c-format
+msgid "%s was too close to %s's Crylink"
+msgstr "%s estuvo demasiado cerca del Crylink de %s"
+
+#: qcsrc/server/w_crylink.qc:654
+#, c-format
+msgid "%s took a close look at %s's Crylink"
+msgstr "%s miró de cerca al Crylink de %s"
+
+#: qcsrc/server/w_electro.qc:2
+msgid "Electro"
+msgstr "Electro"
+
+#: qcsrc/server/w_electro.qc:503
+#, c-format
+msgid "%s could not remember where they put plasma"
+msgstr "%s no pudo recordar donde dejó su plasma la última vez"
+
+#: qcsrc/server/w_electro.qc:505
+#, c-format
+msgid "%s played with plasma"
+msgstr "%s jugó con plasma"
+
+#: qcsrc/server/w_electro.qc:512
+#, c-format
+msgid "%s just noticed %s's blue ball"
+msgstr "%s acaba de percatarse de la bola azul de %s"
+
+#: qcsrc/server/w_electro.qc:514
+#, c-format
+msgid "%s got in touch with %s's blue ball"
+msgstr "%s tuvo un encuentro cercano con la bola azul de %s"
+
+#: qcsrc/server/w_electro.qc:519
+#, c-format
+msgid "%s felt the electrifying air of %s's combo"
+msgstr "%s sintió el aire electrificante del combo de %s"
+
+#: qcsrc/server/w_electro.qc:521
+#, c-format
+msgid "%s got too close to %s's blue beam"
+msgstr "%s estuvo demasiado cerca del rayo azul de %s"
+
+#: qcsrc/server/w_electro.qc:523
+#, c-format
+msgid "%s was blasted by %s's blue beam"
+msgstr "%s estuvo en estado critico por el rayo azul de %s"
+
+#: qcsrc/server/w_fireball.qc:2
+msgid "Fireball"
+msgstr "Fireball"
+
+#: qcsrc/server/w_fireball.qc:392
+#, c-format
+msgid "%s forgot about some firemine"
+msgstr "%s se olvidó de algunas minas de fuego"
+
+#: qcsrc/server/w_fireball.qc:394 qcsrc/server/w_hlac.qc:223
+#, c-format
+msgid "%s should have used a smaller gun"
+msgstr "%s tendría que haber usado un arma más chica"
+
+#: qcsrc/server/w_fireball.qc:401
+#, c-format
+msgid "%s tried to catch %s's firemine"
+msgstr "%s intentó agarrar la mina de fuego de %s"
+
+#: qcsrc/server/w_fireball.qc:403
+#, c-format
+msgid "%s fatefully ignored %s's firemine"
+msgstr "%s fatalmente ignoró la mina de fuego de %s"
+
+#: qcsrc/server/w_fireball.qc:410
+#, c-format
+msgid "%s could not hide from %s's fireball"
+msgstr "%s no se puedo esconder del fireball de %s"
+
+#: qcsrc/server/w_fireball.qc:412
+#, c-format
+msgid "%s saw the pretty lights of %s's fireball"
+msgstr "%s vió las lindas luces del fireball de %s"
+
+#: qcsrc/server/w_fireball.qc:415
+#, c-format
+msgid "%s got too close to %s's fireball"
+msgstr "%s estuvo demasiado cerca del fireball de %s"
+
+#: qcsrc/server/w_fireball.qc:417
+#, c-format
+msgid "%s tasted %s's fireball"
+msgstr "%s probó el fireball de %s"
+
+#: qcsrc/server/w_grenadelauncher.qc:2
+msgid "Mortar"
+msgstr "Mortero"
+
+#: qcsrc/server/w_grenadelauncher.qc:357
+#, c-format
+msgid "%s tried out his own grenade"
+msgstr "%s probó su propia granada"
+
+#: qcsrc/server/w_grenadelauncher.qc:359
+#, c-format
+msgid "%s detonated"
+msgstr "%s ha detonado"
+
+#: qcsrc/server/w_grenadelauncher.qc:365
+#, c-format
+msgid "%s didn't see %s's grenade"
+msgstr "%s no vió la granada de %s"
+
+#: qcsrc/server/w_grenadelauncher.qc:367
+#, c-format
+msgid "%s almost dodged %s's grenade"
+msgstr "%s casi esquivó la granada de %s"
+
+#: qcsrc/server/w_grenadelauncher.qc:369
+#, c-format
+msgid "%s ate %s's grenade"
+msgstr "%s se comió la granada de %s"
+
+#: qcsrc/server/w_hagar.qc:2
+msgid "Hagar"
+msgstr "Hagar"
+
+#: qcsrc/server/w_hagar.qc:185 qcsrc/server/w_seeker.qc:523
+#, c-format
+msgid "%s played with tiny rockets"
+msgstr "%s jugó con pequeños cohetes"
+
+#: qcsrc/server/w_hagar.qc:189
+#, c-format
+msgid "%s hoped %s's missiles wouldn't bounce"
+msgstr "%s esperó que no le reboten misiles de %s"
+
+#: qcsrc/server/w_hagar.qc:191
+#, c-format
+msgid "%s was pummeled by %s"
+msgstr "%s fue molido por %s"
+
+#: qcsrc/server/w_hlac.qc:2
+msgid "Heavy Laser Assault Cannon"
+msgstr "Heavy Laser Assault Cannon"
+
+#: qcsrc/server/w_hlac.qc:225
+#, c-format
+msgid "%s was cut down by %s"
+msgstr "%s fue rebanado por %s"
+
+#: qcsrc/server/w_hook.qc:2
+msgid "Grappling Hook"
+msgstr "Grappling Hook"
+
+#: qcsrc/server/w_hook.qc:267 qcsrc/server/w_minstanex.qc:257
+#: qcsrc/server/w_nex.qc:224 qcsrc/server/w_porto.qc:293
+#: qcsrc/server/w_shotgun.qc:179 qcsrc/server/w_uzi.qc:287
+#, c-format
+msgid "%s did the impossible"
+msgstr "%s hizo lo imposible"
+
+#: qcsrc/server/w_hook.qc:269
+#, c-format
+msgid "%s has run into %s's gravity bomb"
+msgstr "%s entró a la bomba de gravedad de %s"
+
+#: qcsrc/server/w_laser.qc:2
+msgid "Laser"
+msgstr "Laser"
+
+#: qcsrc/server/w_laser.qc:285
+#, c-format
+msgid "%s lasered themself to hell"
+msgstr "%s se fué al infierno montado en su laser"
+
+#: qcsrc/server/w_laser.qc:289
+#, c-format
+msgid "%s was cut in half by %s's gauntlet"
+msgstr "%s fue cortado a la mitad por el gauntlet de %s"
+
+#: qcsrc/server/w_laser.qc:291
+#, c-format
+msgid "%s was lasered to death by %s"
+msgstr "%s fue muerto por el laser de %s"
+
+#: qcsrc/server/w_minelayer.qc:2
+msgid "Mine Layer"
+msgstr "Mine Layer"
+
+#: qcsrc/server/w_minelayer.qc:438 qcsrc/server/w_rocketlauncher.qc:480
+#, c-format
+msgid "%s exploded"
+msgstr "%s explotó"
+
+#: qcsrc/server/w_minelayer.qc:442
+#, c-format
+msgid "%s got too close to %s's mine"
+msgstr "%s estuvo cerca de la mina de %s"
+
+#: qcsrc/server/w_minelayer.qc:444
+#, c-format
+msgid "%s almost dodged %s's mine"
+msgstr "%s casi esquivo la mina de %s"
+
+#: qcsrc/server/w_minelayer.qc:446
+#, c-format
+msgid "%s stepped on %s's mine"
+msgstr "%s caminó encima de la mina de %s"
+
+#: qcsrc/server/w_minstanex.qc:2
+msgid "MinstaNex"
+msgstr "MinstaNex"
+
+#: qcsrc/server/w_minstanex.qc:259 qcsrc/server/w_nex.qc:226
+#, c-format
+msgid "%s has been vaporized by %s"
+msgstr "%s ha sido vaporizado por %s"
+
+#: qcsrc/server/w_nex.qc:2
+msgid "Nex"
+msgstr "Nex"
+
+#: qcsrc/server/w_porto.qc:2
+msgid "Port-O-Launch"
+msgstr "Port-O-Launch"
+
+#: qcsrc/server/w_porto.qc:295
+#, c-format
+msgid "%s felt %s doing the impossible to him"
+msgstr "%s sintió a %s hacer lo imposible por él/ella"
+
+#: qcsrc/server/w_rocketlauncher.qc:2
+msgid "Rocket Launcher"
+msgstr "Rocket Launcher"
+
+#: qcsrc/server/w_rocketlauncher.qc:484
+#, c-format
+msgid "%s got too close to %s's rocket"
+msgstr "%s estuvo demasiado cerca del cohete de %s"
+
+#: qcsrc/server/w_rocketlauncher.qc:486
+#, c-format
+msgid "%s almost dodged %s's rocket"
+msgstr "%s casi esquivó el cohete de %s"
+
+#: qcsrc/server/w_rocketlauncher.qc:488
+#, c-format
+msgid "%s ate %s's rocket"
+msgstr "%s se comió el misil de %s"
+
+#: qcsrc/server/w_seeker.qc:2
+msgid "T.A.G. Seeker"
+msgstr "T.A.G. Seeker"
+
+#: qcsrc/server/w_seeker.qc:527
+#, c-format
+msgid "%s ran into %s's flac"
+msgstr "%s se cruzó con el flac de %s"
+
+#: qcsrc/server/w_seeker.qc:529
+#, c-format
+msgid "%s was tagged by %s"
+msgstr "%s fue marcado por %s"
+
+#: qcsrc/server/w_shotgun.qc:2
+msgid "Shotgun"
+msgstr "Escopeta"
+
+#: qcsrc/server/w_shotgun.qc:183
+#, c-format
+msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
+msgstr "%2$s ^7abofeteó %1$s ^7con una gran ^2shotgun"
+
+#: qcsrc/server/w_shotgun.qc:185
+#, c-format
+msgid "%s was gunned by %s"
+msgstr "%s fue tiroteado por %s"
+
+#: qcsrc/server/w_sniperrifle.qc:2
+msgid "Sniper Rifle"
+msgstr "Sniper Rifle"
+
+#: qcsrc/server/w_sniperrifle.qc:321
+#, c-format
+msgid "%s shot themself automatically"
+msgstr "%s se disparó a si mismo"
+
+#: qcsrc/server/w_sniperrifle.qc:323
+#, c-format
+msgid "%s sniped themself somehow"
+msgstr "%s se disparó a si mismo"
+
+#: qcsrc/server/w_sniperrifle.qc:330
+#, c-format
+msgid "%s failed to hide from %s's bullet hail"
+msgstr "%s no logró esconderse del granizo de balas de %s"
+
+#: qcsrc/server/w_sniperrifle.qc:332
+#, c-format
+msgid "%s died in %s's bullet hail"
+msgstr "%s murió en el granizo de balas de %s"
+
+#: qcsrc/server/w_sniperrifle.qc:339
+#, c-format
+msgid "%s failed to hide from %s's rifle"
+msgstr "%s no logró esconderse del rifle de %s"
+
+#: qcsrc/server/w_sniperrifle.qc:344
+#, c-format
+msgid "%s got hit in the head by %s"
+msgstr "%s fué disparado en la cabeza por %s"
+
+#: qcsrc/server/w_sniperrifle.qc:346 qcsrc/server/w_uzi.qc:291
+#, c-format
+msgid "%s was sniped by %s"
+msgstr "%s fué disparado con un rifle por %s"
+
+#: qcsrc/server/w_tuba.qc:2
+#, c-format
+msgid "@!#%'n Tuba"
+msgstr "@!#%'n Tuba"
+
+#: qcsrc/server/w_tuba.qc:260
+#, c-format
+msgid "%s hurt his own ears with the @!#%%'n Tuba"
+msgstr "%s se lastimó sus propios oídos con la Tuba de @!#%%"
+
+#: qcsrc/server/w_tuba.qc:264
+#, c-format
+msgid "%s died of %s's great playing on the @!#%%'n Tuba"
+msgstr "%s murió por la gran interpretación de Tuba de @!#%%"
+
+#: qcsrc/server/w_uzi.qc:2
+msgid "Machine Gun"
+msgstr "Machine Gun"
+
+#: qcsrc/server/w_uzi.qc:293
+#, c-format
+msgid "%s was riddled full of holes by %s"
+msgstr "%s fue totalmente acribillado por %s"
+
+#~ msgid "Waypoint settings:"
+#~ msgstr "configuración de puntos de camino:"
+
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
index 87f24a6d0b49fed6eb041a421f8b080d1e99002e..9f08c21f9ba13bf30c4540a194507a1ce508e8c0 100644 (file)
@@ -206,3 +206,5 @@ sprite item-fuelregen     "Fuel regen"    ff8000 000000 0.5 ff8000 ffff00 0.5
 sprite item-jetpack       "Jet Pack"      808080 000000 0.5 808080 ffff00 0.5
 
 sprite freezetag_frozen   "Frozen!"       40e6ff 000000 0.0 # bright cyan
+
+sprite tagged-target                   "Tagged"                                80ff0f 000000 0.25 80ff0f ffff80 0.25
diff --git a/models/sprites/tagged-target_frame0.tga b/models/sprites/tagged-target_frame0.tga
new file mode 100644 (file)
index 0000000..3ff6c2f
Binary files /dev/null and b/models/sprites/tagged-target_frame0.tga differ
diff --git a/models/sprites/tagged-target_frame1.tga b/models/sprites/tagged-target_frame1.tga
new file mode 100644 (file)
index 0000000..60881fc
Binary files /dev/null and b/models/sprites/tagged-target_frame1.tga differ
index bec75c2ee06f920b989780955c77211ccf9bc231..91ce464793bcbc0f33879a90222c2934165fdb3a 100644 (file)
@@ -151,6 +151,9 @@ void CSQC_Init(void)
        }
        Tuba_Precache();
 
+       if(autocvar_cl_reticle_item_normal) precache_pic("gfx/reticle_normal");
+       if(autocvar_cl_reticle_item_nex) precache_pic("gfx/reticle_nex");
+
        get_mi_min_max_texcoords(1); // try the CLEVER way first
        minimapname = strcat("gfx/", mi_shortname, "_radar.tga");
        shortmapname = mi_shortname;
index 6cab5fefd37009350370ae3fddeb0796674f1ca6..09ec96eabaaa9ece2608496c64c551d646d1b695 100644 (file)
@@ -381,6 +381,7 @@ void CSQC_UpdateView(float w, float h)
        vid_height = vf_size_y;
 
        vector reticle_pos, reticle_size;
+       vector splash_pos, splash_size;
 
        WaypointSprite_Load();
 
@@ -644,35 +645,36 @@ void CSQC_UpdateView(float w, float h)
        else if(activeweapon == WEP_NEX && button_attack2 || activeweapon == WEP_SNIPERRIFLE && button_attack2)
                reticle_type = 2; // nex zoom
 
-       if(autocvar_cl_reticle_stretch)
+       if (reticle_type)
        {
-               reticle_size_x = vid_conwidth;
-               reticle_size_y = vid_conheight;
-               reticle_pos_x = 0;
-               reticle_pos_y = 0;
-       }
-       else
-       {
-               reticle_size_x = max(vid_conwidth, vid_conheight);
-               reticle_size_y = max(vid_conwidth, vid_conheight);
-               reticle_pos_x = (vid_conwidth - reticle_size_x) / 2;
-               reticle_pos_y = (vid_conheight - reticle_size_y) / 2;
-       }
+               if(autocvar_cl_reticle_stretch)
+               {
+                       reticle_size_x = vid_conwidth;
+                       reticle_size_y = vid_conheight;
+                       reticle_pos_x = 0;
+                       reticle_pos_y = 0;
+               }
+               else
+               {
+                       reticle_size_x = max(vid_conwidth, vid_conheight);
+                       reticle_size_y = max(vid_conwidth, vid_conheight);
+                       reticle_pos_x = (vid_conwidth - reticle_size_x) / 2;
+                       reticle_pos_y = (vid_conheight - reticle_size_y) / 2;
+               }
 
-       f = current_zoomfraction;
-       if(zoomscript_caught)
-               f = 1;
-       if(autocvar_cl_reticle_item_normal)
-       {
-               precache_pic("gfx/reticle_normal");
-               if(reticle_type == 1 && f)
-                       drawpic(reticle_pos, "gfx/reticle_normal", reticle_size, '1 1 1', f * autocvar_cl_reticle_item_normal, DRAWFLAG_NORMAL);
-       }
-       if(autocvar_cl_reticle_item_nex)
-       {
-               precache_pic("gfx/reticle_nex");
-               if(reticle_type == 2 && f)
-                       drawpic(reticle_pos, "gfx/reticle_nex", reticle_size, '1 1 1', f * autocvar_cl_reticle_item_nex, DRAWFLAG_NORMAL);
+               f = current_zoomfraction;
+               if(zoomscript_caught)
+                       f = 1;
+               if(autocvar_cl_reticle_item_normal)
+               {
+                       if(reticle_type == 1 && f)
+                               drawpic(reticle_pos, "gfx/reticle_normal", reticle_size, '1 1 1', f * autocvar_cl_reticle_item_normal, DRAWFLAG_NORMAL);
+               }
+               if(autocvar_cl_reticle_item_nex)
+               {
+                       if(reticle_type == 2 && f)
+                               drawpic(reticle_pos, "gfx/reticle_nex", reticle_size, '1 1 1', f * autocvar_cl_reticle_item_nex, DRAWFLAG_NORMAL);
+               }
        }
 
 
@@ -728,6 +730,11 @@ void CSQC_UpdateView(float w, float h)
        
        if(autocvar_hud_damage)
        {
+               splash_size_x = max(vid_conwidth, vid_conheight);
+               splash_size_y = max(vid_conwidth, vid_conheight);
+               splash_pos_x = (vid_conwidth - splash_size_x) / 2;
+               splash_pos_y = (vid_conheight - splash_size_y) / 2;
+
                float myhealth_flash_temp;
                myhealth = getstati(STAT_HEALTH);
 
@@ -784,7 +791,7 @@ void CSQC_UpdateView(float w, float h)
                        drawfill('0 0 0', eX * vid_conwidth + eY * vid_conheight, myhealth_gentlergb, autocvar_hud_damage_gentle_alpha_multiplier * bound(0, myhealth_flash_temp, 1) * autocvar_hud_damage, DRAWFLAG_NORMAL);
                }
                else
-                       drawpic(reticle_pos, "gfx/blood", reticle_size, stov(autocvar_hud_damage_color), bound(0, myhealth_flash_temp, 1) * autocvar_hud_damage, DRAWFLAG_NORMAL);
+                       drawpic(splash_pos, "gfx/blood", splash_size, stov(autocvar_hud_damage_color), bound(0, myhealth_flash_temp, 1) * autocvar_hud_damage, DRAWFLAG_NORMAL);
        }
 
        // Draw the mouse cursor
@@ -1067,7 +1074,7 @@ void CSQC_UpdateView(float w, float h)
                        wcross_size = drawgetimagesize(wcross_name) * wcross_scale;
 
                        // crosshair rings for weapon stats
-                       if ((autocvar_crosshair_ring) || (autocvar_crosshair_ring_reload))
+                       if (autocvar_crosshair_ring || autocvar_crosshair_ring_reload)
                        {
                                // declarations and stats
                                float ring_value, ring_scale, ring_alpha, ring_inner_value, ring_inner_alpha;
@@ -1099,56 +1106,44 @@ void CSQC_UpdateView(float w, float h)
                                                ring_inner_value = bound(0, autocvar_crosshair_ring_nex_currentcharge_scale * (nex_charge - nex_charge_movingavg), 1); 
                                        }
                                                
-                                       ring_inner_alpha = wcross_alpha * autocvar_crosshair_ring_nex_inner_alpha;
+                                       ring_inner_alpha = autocvar_crosshair_ring_nex_inner_alpha;
                                        ring_inner_rgb = eX * autocvar_crosshair_ring_nex_inner_color_red + eY * autocvar_crosshair_ring_nex_inner_color_green + eZ * autocvar_crosshair_ring_nex_inner_color_blue;
                                        ring_inner_image = "gfx/crosshair_ring_inner.tga";
                                        
                                        // draw the outer ring to show the current charge of the weapon
                                        ring_value = nex_charge;
-                                       ring_alpha = wcross_alpha * autocvar_crosshair_ring_nex_alpha;
+                                       ring_alpha = autocvar_crosshair_ring_nex_alpha;
                                        ring_rgb = wcross_color;
                                        ring_image = "gfx/crosshair_ring_nexgun.tga";
                                }
                                else if (activeweapon == WEP_MINE_LAYER && minelayer_maxmines && autocvar_crosshair_ring_minelayer) 
                                {
                                        ring_value = bound(0, getstati(STAT_LAYED_MINES) / minelayer_maxmines, 1); // if you later need to use the count of bullets in another place, then add a float for it. For now, no need to.
-                                       ring_alpha = wcross_alpha * autocvar_crosshair_ring_minelayer_alpha;
+                                       ring_alpha = autocvar_crosshair_ring_minelayer_alpha;
                                        ring_rgb = wcross_color;
                                        ring_image = "gfx/crosshair_ring.tga";
                                }
 
                                if(autocvar_crosshair_ring_reload && weapon_clipsize) // forces there to be only an ammo ring 
                                {
-                                       // if the main ring is already used by another weapon, instead use the inner one for ammo.
-                                       // inner ring is secondary anyway and doesn't matter as much as main ring, so overriding it is no issue.
-                                       if(ring_value && autocvar_crosshair_ring_reload_inner)
-                                       {
-                                               ring_inner_value = bound(0, weapon_clipload / weapon_clipsize, 1);
-                                               ring_inner_alpha = autocvar_crosshair_ring_reload_alpha;
-                                               ring_inner_rgb = wcross_color;
-                                               ring_inner_image = "gfx/crosshair_ring_inner.tga";
-                                       }
-                                       else
-                                       {
-                                               ring_value = bound(0, weapon_clipload / weapon_clipsize, 1);
-                                               ring_scale = autocvar_crosshair_ring_reload_size;
-                                               ring_alpha = autocvar_crosshair_ring_reload_alpha;
-                                               ring_rgb = wcross_color;
+                                       ring_value = bound(0, weapon_clipload / weapon_clipsize, 1);
+                                       ring_scale = autocvar_crosshair_ring_reload_size;
+                                       ring_alpha = autocvar_crosshair_ring_reload_alpha;
+                                       ring_rgb = wcross_color;
                                        
-                                               // Note: This is to stop Taoki from complaining that the image doesn't match all potential balances.
-                                               // if a new image for another weapon is added, add the code (and its respective file/value) here
-                                               if ((activeweapon == WEP_SNIPERRIFLE) && (weapon_clipsize == 80))
-                                                       ring_image = "gfx/crosshair_ring_sniperrifle.tga";
-                                               else
-                                                       ring_image = "gfx/crosshair_ring.tga";
-                                       }
+                                       // Note: This is to stop Taoki from complaining that the image doesn't match all potential balances.
+                                       // if a new image for another weapon is added, add the code (and its respective file/value) here
+                                       if ((activeweapon == WEP_SNIPERRIFLE) && (weapon_clipsize == 80))
+                                               ring_image = "gfx/crosshair_ring_sniperrifle.tga";
+                                       else
+                                               ring_image = "gfx/crosshair_ring.tga";
                                }
 
-                               if ((autocvar_crosshair_ring_inner || autocvar_crosshair_ring_reload_inner) && ring_inner_value) // lets draw a ring inside a ring so you can ring while you ring
-                                       DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, ring_inner_image, ring_inner_value, ring_inner_rgb, ring_inner_alpha, DRAWFLAG_ADDITIVE);
+                               if (autocvar_crosshair_ring_inner && ring_inner_value) // lets draw a ring inside a ring so you can ring while you ring
+                                       DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, ring_inner_image, ring_inner_value, ring_inner_rgb, wcross_alpha * ring_inner_alpha, DRAWFLAG_ADDITIVE);
 
                                if (ring_value)
-                                       DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, ring_image, ring_value, ring_rgb, ring_alpha, DRAWFLAG_ADDITIVE);
+                                       DrawCircleClippedPic(wcross_origin, wcross_size_x * ring_scale, ring_image, ring_value, ring_rgb, wcross_alpha * ring_alpha, DRAWFLAG_ADDITIVE);
                        }
 
 #define CROSSHAIR_DO_BLUR(M,sz,wcross_name,wcross_alpha) \
index d380c7fc30902052883a2bc6449cb87cc2fb49b0..e11266ce0223324944413047fc647a5d95314ea2 100644 (file)
@@ -123,11 +123,11 @@ float autocvar_crosshair_ring_nex_inner_color_red;
 float autocvar_crosshair_ring_size;
 float autocvar_crosshair_ring_reload;
 float autocvar_crosshair_ring_reload_alpha;
-float autocvar_crosshair_ring_reload_inner;
 float autocvar_crosshair_ring_reload_size;
 float autocvar_crosshair_size;
 float autocvar_ekg;
 float autocvar_fov;
+float autocvar_g_balance_damagepush_speedfactor;
 float autocvar_g_balance_tuba_attenuation;
 float autocvar_g_balance_tuba_fadetime;
 float autocvar_g_balance_tuba_volume;
index 13c8e462e3d5d800cdafe161cca952e81bb246d2..783f66759b50b3881d533b083e732db2866d7d55 100644 (file)
@@ -57,7 +57,7 @@ void Ent_DamageInfo(float isNew)
                if(self.damageforcescale)
                        if(vlen(thisforce))
                        {
-                               self.move_velocity = self.move_velocity + self.damageforcescale * thisforce;
+                               self.move_velocity = self.move_velocity + damage_explosion_calcpush(self.damageforcescale * thisforce, self.move_velocity, autocvar_g_balance_damagepush_speedfactor);
                                self.move_flags &~= FL_ONGROUND;
                        }
 
index 1053c5e5ff5178c2dfff9035f0b5d2a8cb5239a7..4dfb60c2df4d040fb17aff874bcecf767902d313 100644 (file)
@@ -1619,7 +1619,7 @@ void HUD_Weapons(void)
        }
 
        // TODO make this configurable
-       if(weaponorder_bypriority != autocvar_cl_weaponpriority)
+       if(weaponorder_bypriority != autocvar_cl_weaponpriority || !weaponorder[0])
        {
                if(weaponorder_bypriority)
                        strunzone(weaponorder_bypriority);
index 1334d7d3c7b6251f25651ee280d418fffdf0a592..e296a477bfbaef96accbd9074f052e6b06a01412 100644 (file)
@@ -14,6 +14,7 @@ csqc_builtins.qc
 
 ../common/util.qh
 ../common/items.qh
+../common/explosion_equation.qh
 
 ../common/mapinfo.qh
 
@@ -71,8 +72,11 @@ noise.qc
 ../common/mapinfo.qc
 ../common/items.qc
 ../server/w_all.qc
+../common/explosion_equation.qc
 
 ../warpzonelib/anglestransform.qc
 ../warpzonelib/mathlib.qc
 ../warpzonelib/common.qc
 ../warpzonelib/client.qc
+
+../common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail
index cede03c5a082c3e756cb9378b09885212d843781..092cdc21a6f60e94a2939a5df1e955f9c027ed66 100644 (file)
@@ -292,8 +292,8 @@ void Ent_Projectile()
                        case PROJECTILE_FIREBALL: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("fireball"); break; // particle effect is good enough
                        case PROJECTILE_FIREMINE: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("firemine"); break; // particle effect is good enough
                        case PROJECTILE_TAG: setmodel(self, "models/laser.mdl"); self.traileffect = particleeffectnum("TR_ROCKET"); break;
-                       case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; self.traileffect = particleeffectnum("TR_ROCKET"); break;
-                       case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.scale = 2; self.traileffect = particleeffectnum("TR_ROCKET"); break;
+                       case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; self.traileffect = particleeffectnum("TR_SEEKER"); break;
+                       case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.traileffect = particleeffectnum("TR_SEEKER"); break;
                        default:
                                error("Received invalid CSQC projectile, can't work with this!");
                                break;
@@ -372,7 +372,6 @@ void Ent_Projectile()
                                self.maxs = '4 4 4';
                                break;
                        case PROJECTILE_TAG:
-                               loopsound(self, CHAN_PROJECTILE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
                                self.mins = '-2 -2 -2';
                                self.maxs = '2 2 2';
                                break;
@@ -381,6 +380,7 @@ void Ent_Projectile()
                                self.maxs = '2 2 2';
                                break;
                        case PROJECTILE_SEEKER:
+                               loopsound(self, CHAN_PROJECTILE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
                                self.mins = '-4 -4 -4';
                                self.maxs = '4 4 4';
                                break;
index 8ecadaeb857f72f4745a33b2cd3d2748e774a388..bcd8c433e07b185d3eb997f60d976daee526b2d2 100644 (file)
@@ -406,6 +406,29 @@ void Ent_WaypointSprite()
        self.entremove = Ent_RemoveWaypointSprite;
 }
 
+void WaypointSprite_Load_Frames(string ext)
+{
+       float dh, n, i, o, f;
+       string s, sname, sframes;
+       dh = search_begin(strcat("models/sprites/*_frame*", ext), FALSE, FALSE);
+       if (dh < 0)
+                return;
+       float ext_len = strlen(ext);
+       n = search_getsize(dh);
+       for(i = 0; i < n; ++i)
+       {
+               s = search_getfilename(dh, i);
+               s = substring(s, 15, strlen(s) - 15 - ext_len); // strip models/sprites/ and extension
+
+               o = strstrofs(s, "_frame", 0);
+               sname = strcat("/spriteframes/", substring(s, 0, o));
+               sframes = substring(s, o + 6, strlen(s) - o - 6);
+               f = stof(sframes) + 1;
+               db_put(tempdb, sname, ftos(max(f, stof(db_get(tempdb, sname)))));
+       }
+       search_end(dh);
+}
+
 void WaypointSprite_Load()
 {
        waypointsprite_fadedistance = vlen(mi_scale);
@@ -428,38 +451,8 @@ void WaypointSprite_Load()
 
        if(!waypointsprite_initialized)
        {
-               float dh, n, i, o, f;
-               string s, sname, sframes;
-
-               dh = search_begin("models/sprites/*_frame*.tga", FALSE, FALSE);
-               n = search_getsize(dh);
-               for(i = 0; i < n; ++i)
-               {
-                       s = search_getfilename(dh, i);
-                       s = substring(s, 15, strlen(s) - 15 - 4); // strip models/sprites/ and .tga
-
-                       o = strstrofs(s, "_frame", 0);
-                       sname = strcat("/spriteframes/", substring(s, 0, o));
-                       sframes = substring(s, o + 6, strlen(s) - o - 6);
-                       f = stof(sframes) + 1;
-                       db_put(tempdb, sname, ftos(max(f, stof(db_get(tempdb, sname)))));
-               }
-               search_end(dh);
-
-               dh = search_begin("models/sprites/*_frame*.jpg", FALSE, FALSE);
-               n = search_getsize(dh);
-               for(i = 0; i < n; ++i)
-               {
-                       s = search_getfilename(dh, i);
-                       s = substring(s, 15, strlen(s) - 15 - 4); // strip models/sprites/ and .jpg
-
-                       o = strstrofs(s, "_frame", 0);
-                       sname = strcat("/spriteframes/", substring(s, 0, o));
-                       sframes = substring(s, o + 6, strlen(s) - o - 6);
-                       f = stof(sframes) + 1;
-                       db_put(tempdb, sname, ftos(max(f, stof(db_get(tempdb, sname)))));
-               }
-               search_end(dh);
+               WaypointSprite_Load_Frames(".tga");
+               WaypointSprite_Load_Frames(".jpg");
                waypointsprite_initialized = true;
        }
 }
diff --git a/qcsrc/common/explosion_equation.qc b/qcsrc/common/explosion_equation.qc
new file mode 100644 (file)
index 0000000..df71154
--- /dev/null
@@ -0,0 +1,62 @@
+float explosion_calcpush_getmultiplier(vector explosion_v, vector target_v)
+{
+       float a;
+       a  = explosion_v * (explosion_v - target_v);
+
+       if(a <= 0)
+               // target is too fast to be hittable by this
+               return 0;
+
+       a /= (explosion_v * explosion_v);
+               // we know we can divide by this, or above a would be == 0
+
+       return a;
+}
+
+#if 0
+vector explosion_calcpush(vector explosion_v, float explosion_m, vector target_v, float target_m, float elasticity)
+{
+       // solution of the equations:
+       //    v'                = v + a vp             // central hit
+       //    m*v'   + mp*vp'   = m*v + mp*vp          // conservation of momentum
+       //    m*v'^2 + mp*vp'^2 = m*v^2 + mp*vp^2      // conservation of energy (ELASTIC hit)
+       // -> a = 0                                    // case 1: did not hit
+       // -> a = 2*mp*(vp^2 - vp.v) / ((m+mp) * vp^2) // case 2: did hit
+       //                                             // non-elastic hits are somewhere between these two
+
+       // this would be physically correct, but we don't do that
+       return explosion_v * explosion_calcpush_getmultiplier(explosion_v, target_v) * (
+               (1 + elasticity) * (
+                       explosion_m
+               ) / (
+                       target_m + explosion_m
+               )
+       ); // note: this factor is at least 0, at most 2
+}
+#endif
+
+// simplified formula, tuned so that if the target has velocity 0, we get exactly the original force
+vector damage_explosion_calcpush(vector explosion_f, vector target_v, float speedfactor)
+{
+       // if below 1, the formulas make no sense (and would cause superjumps)
+       if(speedfactor < 1)
+               return explosion_f;
+
+#if 0
+       float m;
+       // find m so that
+       //   speedfactor * (1 + e) * m / (1 + m) == 1
+       m = 1 / ((1 + 0) * speedfactor - 1);
+       vector v;
+       v = explosion_calcpush(explosion_f * speedfactor, m, target_v, 1, 0);
+       // the factor we then get is:
+       //   1
+       print(sprintf("MASS: %f\nv: %v -> %v\nENERGY BEFORE == %f + %f = %f\nENERGY AFTER >= %f\n",
+               m,
+               target_v, target_v + v,
+               target_v * target_v, m * explosion_f * speedfactor * explosion_f * speedfactor, target_v * target_v + m * explosion_f * speedfactor * explosion_f * speedfactor,
+               (target_v + v) * (target_v + v)));
+       return v;
+#endif
+       return explosion_f * explosion_calcpush_getmultiplier(explosion_f * speedfactor, target_v);
+}
diff --git a/qcsrc/common/explosion_equation.qh b/qcsrc/common/explosion_equation.qh
new file mode 100644 (file)
index 0000000..c8630cd
--- /dev/null
@@ -0,0 +1 @@
+vector damage_explosion_calcpush(vector explosion_f, vector target_v, float speedfactor);
diff --git a/qcsrc/common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail b/qcsrc/common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail
new file mode 100644 (file)
index 0000000..e69de29
index 254a9238bb490b7efb60c4d1c43d131c41ea03e2..34eb5db888fa3836ff627284646eef94d1088866 100644 (file)
@@ -41,3 +41,5 @@ xonotic/util.qc
 ../common/items.qc
 
 ../warpzonelib/mathlib.qc
+
+../common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail
index ddef2e8e8fbef4078265506a39889e37b440fee3..d5652b775e4620b3831c96b0ae44d16ba1f737b8 100644 (file)
@@ -179,6 +179,7 @@ float autocvar_g_balance_curse_venom_rotrate;
 float autocvar_g_balance_curse_vulner_takedamage;
 float autocvar_g_balance_curse_weak_damage;
 float autocvar_g_balance_curse_weak_force;
+float autocvar_g_balance_damagepush_speedfactor;
 float autocvar_g_balance_electro_combo_comboradius;
 float autocvar_g_balance_electro_combo_damage;
 float autocvar_g_balance_electro_combo_edgedamage;
@@ -579,6 +580,7 @@ float autocvar_g_balance_rune_strength_force;
 float autocvar_g_balance_rune_vampire_absorb;
 float autocvar_g_balance_rune_vampire_combo_absorb;
 float autocvar_g_balance_rune_vampire_maxhealth;
+float autocvar_g_balance_seeker_type;
 float autocvar_g_balance_seeker_flac_ammo;
 float autocvar_g_balance_seeker_flac_animtime;
 float autocvar_g_balance_seeker_flac_damage;
@@ -590,6 +592,7 @@ float autocvar_g_balance_seeker_flac_radius;
 float autocvar_g_balance_seeker_flac_refire;
 float autocvar_g_balance_seeker_missile_accel;
 float autocvar_g_balance_seeker_missile_ammo;
+float autocvar_g_balance_seeker_missile_animtime;
 float autocvar_g_balance_seeker_missile_count;
 float autocvar_g_balance_seeker_missile_damage;
 float autocvar_g_balance_seeker_missile_damageforcescale;
@@ -603,6 +606,7 @@ float autocvar_g_balance_seeker_missile_proxy;
 float autocvar_g_balance_seeker_missile_proxy_delay;
 float autocvar_g_balance_seeker_missile_proxy_maxrange;
 float autocvar_g_balance_seeker_missile_radius;
+float autocvar_g_balance_seeker_missile_refire;
 float autocvar_g_balance_seeker_missile_smart;
 float autocvar_g_balance_seeker_missile_smart_mindist;
 float autocvar_g_balance_seeker_missile_smart_trace_max;
@@ -616,6 +620,7 @@ float autocvar_g_balance_seeker_tag_health;
 float autocvar_g_balance_seeker_tag_lifetime;
 float autocvar_g_balance_seeker_tag_refire;
 float autocvar_g_balance_seeker_tag_speed;
+float autocvar_g_balance_seeker_tag_tracker_lifetime;
 float autocvar_g_balance_seeker_reload_ammo;
 float autocvar_g_balance_seeker_reload_time;
 float autocvar_g_balance_selfdamagepercent;
index 2e5a8434d74a91848f20eb9891a3ba735948dfc6..f9543785ba484588bb4e6d235cd1067d8537360d 100644 (file)
@@ -1640,15 +1640,14 @@ void W_ReloadedAndReady()
        self.clip_load = self.old_clip_load; // restore the ammo counter, in case we still had ammo in the weapon before reloading
 
        // if the gun uses no ammo, max out weapon load, else decrease ammo as we increase weapon load
-       if(!self.reload_ammo_min)
+       if(!self.reload_ammo_min || self.items & IT_UNLIMITED_WEAPON_AMMO)
                self.clip_load = self.reload_ammo_amount;
        else
        {
                while(self.clip_load < self.reload_ammo_amount && self.(self.current_ammo)) // make sure we don't add more ammo than we have
                {
                        self.clip_load += 1;
-                       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
-                               self.(self.current_ammo) -= 1;
+                       self.(self.current_ammo) -= 1;
                }
        }
        self.weapon_load[self.weapon] = self.clip_load;
@@ -1693,6 +1692,7 @@ void W_Reload(float sent_ammo_min, float sent_ammo_amount, float sent_time, stri
 
        // no ammo, so nothing to load
        if(!self.(self.current_ammo) && self.reload_ammo_min)
+       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
        {
                if(clienttype(self) == CLIENTTYPE_REAL && self.reload_complain < time)
                {
index 22497c99d978eb9ba4cc74511d5d6c96cc793b7b..29fc297d5ef8c92e6dbfe822d6fb4aa37f280102 100644 (file)
@@ -494,7 +494,6 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype)
 entity damage_targ;
 entity damage_inflictor;
 entity damage_attacker;
-.float prevhitsound;
 
 void Damage (entity targ, entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
 {
@@ -840,7 +839,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
        if (vlen(force))
        if (self.classname != "player" || time >= self.spawnshieldtime || g_midair)
        {
-               self.velocity = self.velocity + self.damageforcescale * force;
+               self.velocity = self.velocity + damage_explosion_calcpush(self.damageforcescale * force, self.velocity, autocvar_g_balance_damagepush_speedfactor);
                self.flags &~= FL_ONGROUND;
                UpdateCSQCProjectile(self);
        }
index 4c41852ebba66057b10d7d906c5b199a55994005..c45ad96e298d3a379dbd5b7c6bf4ec0a2253435b 100644 (file)
@@ -1437,7 +1437,6 @@ void DumpStats(float final)
        float to_eventlog;
        float to_file;
        float i;
-       entity e;
 
        to_console = autocvar_sv_logscores_console;
        to_eventlog = autocvar_sv_eventlog;
index b15e6988f4d9c0392673e2246ed68a5fca8d4096..e1d7cb15df518149d7665ef07918f80dd8ade1e9 100644 (file)
@@ -590,6 +590,7 @@ void EffectIndexDump()
        db_put(d, "TR_NEHAHRASMOKE", "1"); print("effect TR_NEHAHRASMOKE is ", ftos(particleeffectnum("TR_NEHAHRASMOKE")), "\n");
        db_put(d, "TR_NEXUIZPLASMA", "1"); print("effect TR_NEXUIZPLASMA is ", ftos(particleeffectnum("TR_NEXUIZPLASMA")), "\n");
        db_put(d, "TR_GLOWTRAIL", "1"); print("effect TR_GLOWTRAIL is ", ftos(particleeffectnum("TR_GLOWTRAIL")), "\n");
+       db_put(d, "TR_SEEKER", "1"); print("effect TR_SEEKER is ", ftos(particleeffectnum("TR_SEEKER")), "\n");
        db_put(d, "SVC_PARTICLE", "1"); print("effect SVC_PARTICLE is ", ftos(particleeffectnum("SVC_PARTICLE")), "\n");
 
        fh = fopen("effectinfo.txt", FILE_READ);
index c76395fdbc27df7bdd26371a491fe1da65064276..d55c803148e6b0d598c392fed11dac8cd4276d61 100644 (file)
@@ -17,6 +17,7 @@ post-builtins.qh
 ../common/constants.qh
 ../common/util.qh
 ../common/items.qh
+../common/explosion_equation.qh
 
 autocvars.qh
 constants.qh
@@ -179,6 +180,8 @@ anticheat.qc
 cheats.qc
 playerstats.qc
 
+../common/explosion_equation.qc
+
 mutators/base.qc
 mutators/gamemode_keyhunt.qc
 mutators/gamemode_freezetag.qc
@@ -193,3 +196,5 @@ mutators/mutator_vampire.qc
 ../warpzonelib/common.qc
 ../warpzonelib/util_server.qc
 ../warpzonelib/server.qc
+
+../common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail
index 6c7a7dbc3350208546216979e4df167e2a1bf004..8d5fa100c92eec6bdc2f34a793ed917ccd7e5a92 100644 (file)
@@ -375,7 +375,6 @@ void WinningConditionHelper()
        entity winnerscorekeeper;
        entity secondscorekeeper;
        entity sk;
-       float slots;
 
        // format:
        // gametype:P<pure>:S<slots>::plabel,plabel:tlabel,tlabel:teamid:tscore,tscore:teamid:tscore,tscore
index 5f5037ceec0af2e3243fb9aecd2f48095bb2b3ba..ef8dd8d163b85ec8ac4ca02a921f8352deb119c5 100644 (file)
@@ -583,6 +583,7 @@ float w_crylink(float req)
                                }
                                self.crylink_waitrelease = 0;
                                if(!w_crylink(WR_CHECKAMMO1) && !w_crylink(WR_CHECKAMMO2))
+                               if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
                                {
                                        // ran out of ammo!
                                        self.cnt = WEP_CRYLINK;
index 8bb4c1de9d8da41a36368aae8b1b94533f28c655..0cf25e4f60c10922e09dd9c3273ec88bd889116d 100644 (file)
@@ -137,6 +137,7 @@ void HLAC_fire1_02()
        if (self.BUTTON_ATCK)
        {
                if (!weapon_action(self.weapon, WR_CHECKAMMO1))
+               if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
                {
                        W_SwitchWeapon_Force(self, w_getbestweapon(self));
                        w_ready();
index c3a1768beb0ab9335031a8762284292ca8711cea..80c40b10fd8704cc94f46ec2640d30fafc1f834c 100644 (file)
@@ -62,8 +62,7 @@ void W_Hook_Attack2()
 {
        local entity gren;
 
-       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
-               W_DecreaseAmmo(ammo_cells, autocvar_g_balance_hook_secondary_ammo, FALSE);
+       W_DecreaseAmmo(ammo_cells, autocvar_g_balance_hook_secondary_ammo, FALSE);
        W_SetupShot (self, FALSE, 4, "weapons/hookbomb_fire.wav", CHAN_WEAPON, autocvar_g_balance_hook_secondary_damage);
 
        gren = spawn ();
@@ -126,8 +125,7 @@ float w_hook(float req)
                        if (time > self.hook_refire)
                        if (weapon_prepareattack(0, -1))
                        {
-                               if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
-                                       W_DecreaseAmmo(ammo_fuel, autocvar_g_balance_hook_primary_fuel, FALSE);
+                               W_DecreaseAmmo(ammo_fuel, autocvar_g_balance_hook_primary_fuel, FALSE);
                                self.hook_state |= HOOK_FIRING;
                                weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_hook_primary_animtime, w_ready);                         
                        }
index 8efda9b07f279cea118cf0fd330f6455474d4d52..4481178de19b4b3b07a276dae2e6b3f6099058e0 100644 (file)
@@ -94,6 +94,7 @@ void minstagib_ammocheck (void)
                return;
 
        if (self.ammo_cells <= 0)
+       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
        {
                if (self.health == 5)
                {
@@ -168,10 +169,17 @@ void minstagib_ammocheck (void)
 
 void spawnfunc_weapon_minstanex (void); // defined in t_items.qc
 
-float minstanex_ammo;
 float w_minstanex(float req)
 {
        float ammo_amount;
+       float minstanex_ammo;
+
+       // now multiple WR_s use this
+       if(g_minstagib)
+               minstanex_ammo = 1;
+       else
+               minstanex_ammo = autocvar_g_balance_minstanex_ammo;
+
        if (req == WR_AIM)
        {
                if(self.ammo_cells > 0)
@@ -181,11 +189,6 @@ float w_minstanex(float req)
        }
        else if (req == WR_THINK)
        {
-               if(g_minstagib)
-                       minstanex_ammo = 1;
-               else
-                       minstanex_ammo = autocvar_g_balance_minstanex_ammo;
-
                // if the laser uses load, we also consider its ammo for reloading
                if(autocvar_g_balance_minstanex_reload_ammo && autocvar_g_balance_minstanex_laser_ammo && self.clip_load < min(minstanex_ammo, autocvar_g_balance_minstanex_laser_ammo)) // forced reload
                        weapon_action(self.weapon, WR_RELOAD);
@@ -239,8 +242,8 @@ float w_minstanex(float req)
        }
        else if (req == WR_CHECKAMMO1)
        {
-               ammo_amount = self.ammo_cells >= autocvar_g_balance_minstanex_ammo;
-               ammo_amount += self.weapon_load[WEP_MINSTANEX] >= autocvar_g_balance_minstanex_ammo;
+               ammo_amount = self.ammo_cells >= minstanex_ammo;
+               ammo_amount += self.weapon_load[WEP_MINSTANEX] >= minstanex_ammo;
                return ammo_amount;
        }
        else if (req == WR_CHECKAMMO2)
@@ -259,9 +262,9 @@ float w_minstanex(float req)
        {
                float used_ammo;
                if(autocvar_g_balance_minstanex_laser_ammo)
-                       used_ammo = min(autocvar_g_balance_minstanex_ammo, autocvar_g_balance_minstanex_laser_ammo);
+                       used_ammo = min(minstanex_ammo, autocvar_g_balance_minstanex_laser_ammo);
                else
-                       used_ammo = autocvar_g_balance_minstanex_ammo;
+                       used_ammo = minstanex_ammo;
 
                W_Reload(used_ammo, autocvar_g_balance_minstanex_reload_ammo, autocvar_g_balance_minstanex_reload_time, "weapons/reload.wav");
        }
index 9084cc04da2027affd8b8af43cac58de6d4b984d..e4b14adf7070d22bf73c878470642bb49c3ca1a6 100644 (file)
@@ -4,7 +4,12 @@ REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 8, WEP_FLAG_NORMAL | WEP_FLAG_RELO
 #ifdef SVQC
 //.float proxytime; = autoswitch
 //.float tl; = wait
+.entity tag_target, wps_tag_tracker;
+.float tag_time;
 
+// ============================
+// Begin: Missile functions, these are general functions to be manipulated by other code
+// ============================
 void Seeker_Missile_Explode ()
 {
        self.event_damage = SUB_Null;
@@ -154,7 +159,7 @@ void Seeker_Missile_Animate()
 }
 */
 
-void Seeker_Fire_Missile(vector f_diff)
+void Seeker_Fire_Missile(vector f_diff, entity m_target)
 {
        local entity missile;
 
@@ -178,14 +183,18 @@ void Seeker_Fire_Missile(vector f_diff)
        missile.event_damage    = Seeker_Missile_Damage;
        missile.nextthink       = time;// + 0.2;// + cvar("g_balance_seeker_missile_activate_delay");
        missile.cnt             = time + autocvar_g_balance_seeker_missile_lifetime;
-       missile.enemy           = self.enemy;
+       missile.enemy           = m_target;
        missile.solid           = SOLID_BBOX;
        missile.scale           = 2;
        missile.takedamage      = DAMAGE_YES;
        missile.health          = autocvar_g_balance_seeker_missile_health;
        missile.damageforcescale = autocvar_g_balance_seeker_missile_damageforcescale;
-       missile.projectiledeathtype = WEP_SEEKER;
        //missile.think           = Seeker_Missile_Animate; // csqc projectiles.
+       
+       if (missile.enemy != world)
+               missile.projectiledeathtype = WEP_SEEKER | HITTYPE_SECONDARY;
+       else 
+               missile.projectiledeathtype = WEP_SEEKER;
 
 
        setorigin (missile, w_shotorg);
@@ -201,7 +210,119 @@ void Seeker_Fire_Missile(vector f_diff)
        other = missile; MUTATOR_CALLHOOK(EditProjectile);
 }
 
-void Seeker_Vollycontroler_Think()
+// ============================
+// Begin: FLAC, close range attack meant for defeating rockets which are coming at you. 
+// ============================
+void Seeker_Flac_Explode ()
+{
+       self.event_damage = SUB_Null;
+
+       RadiusDamage (self, self.owner, autocvar_g_balance_seeker_flac_damage, autocvar_g_balance_seeker_flac_edgedamage, autocvar_g_balance_seeker_flac_radius, world, autocvar_g_balance_seeker_flac_force, self.projectiledeathtype, other);
+
+       remove (self);
+}
+
+void Seeker_Flac_Touch()
+{
+       PROJECTILE_TOUCH;
+
+       Seeker_Flac_Explode();
+}
+
+void Seeker_Fire_Flac()
+{
+       local entity missile;
+       vector f_diff;
+       float c;
+
+       W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_seeker_flac_ammo, autocvar_g_balance_seeker_reload_ammo);
+
+       c = mod(self.bulletcounter, 4);
+       switch(c)
+       {
+               case 0:
+                       f_diff = '-1.25 -3.75 0';
+                       break;
+               case 1:
+                       f_diff = '+1.25 -3.75 0';
+                       break;
+               case 2:
+                       f_diff = '-1.25 +3.75 0';
+                       break;
+               case 3:
+               default:
+                       f_diff = '+1.25 +3.75 0';
+                       break;
+       }
+       W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/flac_fire.wav", CHAN_WEAPON, autocvar_g_balance_seeker_flac_damage);
+       w_shotorg += f_diff;
+
+       pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
+
+       missile                                 = spawn ();
+       missile.owner                   = missile.realowner = self;
+       missile.classname               = "missile";
+       missile.bot_dodge               = TRUE;
+       missile.bot_dodgerating = autocvar_g_balance_seeker_flac_damage;
+       missile.touch                   = Seeker_Flac_Explode;
+       missile.use                     = Seeker_Flac_Explode; 
+       missile.think                   = adaptor_think2use_hittype_splash;
+       missile.nextthink               = time + autocvar_g_balance_seeker_flac_lifetime + autocvar_g_balance_seeker_flac_lifetime_rand;
+       missile.solid                   = SOLID_BBOX;
+       missile.movetype                = MOVETYPE_FLY; 
+       missile.projectiledeathtype = WEP_SEEKER;
+       missile.projectiledeathtype = WEP_SEEKER | HITTYPE_SECONDARY;
+       missile.flags                           = FL_PROJECTILE;
+       
+       // csqc projectiles
+       //missile.angles                                = vectoangles (missile.velocity);       
+       //missile.scale = 0.4; // BUG: the model is too big 
+       
+       setorigin (missile, w_shotorg);
+       setsize (missile, '-2 -2 -2', '2 2 2');
+               
+       W_SETUPPROJECTILEVELOCITY_UP(missile, g_balance_seeker_flac);
+       CSQCProjectile(missile, TRUE, PROJECTILE_FLAC, TRUE);
+
+       other = missile; MUTATOR_CALLHOOK(EditProjectile);
+}
+
+// ============================
+// Begin: Tag and rocket controllers 
+// ============================
+entity Seeker_Tagged_Info(entity isowner, entity istarget)
+{
+       entity tag;
+       for(tag = world; (tag = find(tag, classname, "tag_tracker")); ) 
+               if ((tag.owner == isowner) && (tag.tag_target == istarget))
+                       return tag;
+               
+       return world;
+}
+
+void Seeker_Attack()
+{
+       entity tracker, closest_target;
+       
+       for(tracker = world; (tracker = find(tracker, classname, "tag_tracker")); ) if (tracker.owner == self)
+       {
+               if (closest_target)
+               {
+                       if (vlen(self.origin - tracker.tag_target.origin) < vlen(self.origin - closest_target.origin))
+                               closest_target = tracker.tag_target;
+               }
+               else 
+                       closest_target = tracker.tag_target;
+       }
+               
+       traceline(self.origin + self.view_ofs, closest_target.origin, MOVE_NOMONSTERS, self);
+       if ((!closest_target) || ((trace_fraction < 1) && (trace_ent != closest_target)))
+               closest_target = world;
+       
+       Seeker_Fire_Missile('0 0 0', closest_target);
+}
+
+void Seeker_Vollycontroller_Think() // TODO: Merge this with Seeker_Attack
 {
        float c;
        entity oldself,oldenemy;
@@ -214,28 +335,28 @@ void Seeker_Vollycontroler_Think()
        }
 
        self.nextthink = time + autocvar_g_balance_seeker_missile_delay;
-
+       
        oldself = self;
        self = self.owner;
-
+       
        oldenemy = self.enemy;
        self.enemy = oldself.enemy;
-
-       c = mod(oldself.cnt, 4);
+       
+       c = mod(self.cnt, 4);
        switch(c)
        {
                case 0:
-                       Seeker_Fire_Missile('-1.25 -3.75 0');
+                       Seeker_Fire_Missile('-1.25 -3.75 0', self.enemy);
                        break;
                case 1:
-                       Seeker_Fire_Missile('+1.25 -3.75 0');
+                       Seeker_Fire_Missile('+1.25 -3.75 0', self.enemy);
                        break;
                case 2:
-                       Seeker_Fire_Missile('-1.25 +3.75 0');
+                       Seeker_Fire_Missile('-1.25 +3.75 0', self.enemy);
                        break;
                case 3:
                default:
-                       Seeker_Fire_Missile('+1.25 +3.75 0');
+                       Seeker_Fire_Missile('+1.25 +3.75 0', self.enemy);
                        break;
        }
 
@@ -243,6 +364,27 @@ void Seeker_Vollycontroler_Think()
        self = oldself;
 }
 
+void Seeker_Tracker_Think() 
+{
+       // commit suicide if: You die OR target dies OR you switch away from the seeker OR commit suicide if lifetime is up
+       if ((self.owner.deadflag != DEAD_NO) || (self.tag_target.deadflag != DEAD_NO) || (self.owner.switchweapon != WEP_SEEKER)
+       || (time > self.tag_time + autocvar_g_balance_seeker_tag_tracker_lifetime))
+       {
+               if (self)
+               {
+                       WaypointSprite_Kill(self.tag_target.wps_tag_tracker);
+                       remove(self);
+               }
+               return;
+       }
+       
+       // Update the think method information
+       self.nextthink = time;
+}
+
+// ============================
+// Begin: Tag projectile 
+// ============================
 void Seeker_Tag_Explode ()
 {
        //if(other==self.owner)
@@ -261,7 +403,6 @@ void Seeker_Tag_Damage (entity inflictor, entity attacker, float damage, float d
                Seeker_Tag_Explode();
 }
 
-
 void Seeker_Tag_Touch()
 {
        vector dir;
@@ -277,13 +418,45 @@ void Seeker_Tag_Touch()
        Damage_DamageInfo(self.origin, 0, 0, 0, self.velocity, WEP_SEEKER | HITTYPE_HEADSHOT, self);
 
        if (other.takedamage == DAMAGE_AIM && other.deadflag == DEAD_NO)
-       {               
-               e           = spawn();
-               e.cnt       = autocvar_g_balance_seeker_missile_count;
-               e.owner     = self.owner;
-               e.enemy     = other;
-               e.think     = Seeker_Vollycontroler_Think;
-               e.nextthink = time;
+       {
+               // check to see if this person is already tagged by me
+               entity tag = Seeker_Tagged_Info(self.owner, other);
+               
+               if (tag != world)
+               {
+                       if (other.wps_tag_tracker && (autocvar_g_balance_seeker_type == 1)) // don't attach another waypointsprite without killing the old one first
+                               WaypointSprite_Kill(other.wps_tag_tracker);
+                               
+                       tag.tag_time = time;
+               }
+               else
+               {               
+                       //sprint(self.owner, strcat("You just tagged ^2", other.netname, "^7 with a tracking device!\n"));
+                       e             = spawn();
+                       e.cnt         = autocvar_g_balance_seeker_missile_count;
+                       e.classname   = "tag_tracker";
+                       e.owner       = self.owner;
+                       
+                       if      (autocvar_g_balance_seeker_type == 1)
+                       {
+                               e.tag_target  = other;
+                               e.tag_time    = time;
+                               e.think       = Seeker_Tracker_Think;
+                       }
+                       else 
+                       {
+                               e.enemy     = other;
+                               e.think     = Seeker_Vollycontroller_Think;
+                       }
+                       
+                       e.nextthink   = time;
+               }
+               
+               if      (autocvar_g_balance_seeker_type == 1)
+               {
+                       WaypointSprite_Spawn("tagged-target", autocvar_g_balance_seeker_tag_tracker_lifetime, 0, other, '0 0 64', self.owner, 0, other, wps_tag_tracker, TRUE);
+                       WaypointSprite_UpdateRule(other.wps_tag_tracker, 0, SPRITERULE_DEFAULT);
+               }
        }
 
        remove(self);
@@ -328,81 +501,9 @@ void Seeker_Fire_Tag()
        other = missile; MUTATOR_CALLHOOK(EditProjectile);
 }
 
-
-void Seeker_Flac_Explode ()
-{
-       self.event_damage = SUB_Null;
-
-       RadiusDamage (self, self.owner, autocvar_g_balance_seeker_flac_damage, autocvar_g_balance_seeker_flac_edgedamage, autocvar_g_balance_seeker_flac_radius, world, autocvar_g_balance_seeker_flac_force, self.projectiledeathtype, other);
-
-       remove (self);
-}
-
-void Seeker_Flac_Touch()
-{
-       PROJECTILE_TOUCH;
-
-       Seeker_Flac_Explode();
-}
-
-void Seeker_Fire_Flac()
-{
-       local entity missile;
-       vector f_diff;
-       float c;
-
-       W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_seeker_flac_ammo, autocvar_g_balance_seeker_reload_ammo);
-
-       c = mod(self.bulletcounter, 4);
-       switch(c)
-       {
-               case 0:
-                       f_diff = '-1.25 -3.75 0';
-                       break;
-               case 1:
-                       f_diff = '+1.25 -3.75 0';
-                       break;
-               case 2:
-                       f_diff = '-1.25 +3.75 0';
-                       break;
-               case 3:
-               default:
-                       f_diff = '+1.25 +3.75 0';
-                       break;
-       }
-       W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/flac_fire.wav", CHAN_WEAPON, autocvar_g_balance_seeker_flac_damage);
-       w_shotorg += f_diff;
-
-       pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
-
-       missile                                 = spawn ();
-       missile.owner                   = missile.realowner = self;
-       missile.classname               = "missile";
-       missile.bot_dodge               = TRUE;
-       missile.bot_dodgerating = autocvar_g_balance_seeker_flac_damage;
-       missile.touch                   = Seeker_Flac_Explode;
-       missile.use                     = Seeker_Flac_Explode; 
-       missile.think                   = adaptor_think2use_hittype_splash;
-       missile.nextthink               = time + autocvar_g_balance_seeker_flac_lifetime + autocvar_g_balance_seeker_flac_lifetime_rand;
-       missile.solid                   = SOLID_BBOX;
-       missile.movetype                = MOVETYPE_FLY; 
-       missile.projectiledeathtype = WEP_SEEKER;
-       missile.projectiledeathtype = WEP_SEEKER | HITTYPE_SECONDARY;
-       missile.flags                           = FL_PROJECTILE;
-       
-       // csqc projectiles
-       //missile.angles                                = vectoangles (missile.velocity);       
-       //missile.scale = 0.4; // BUG: the model is too big 
-       
-       setorigin (missile, w_shotorg);
-       setsize (missile, '-2 -2 -2', '2 2 2');
-               
-       W_SETUPPROJECTILEVELOCITY_UP(missile, g_balance_seeker_flac);
-       CSQCProjectile(missile, TRUE, PROJECTILE_FLAC, TRUE);
-
-       other = missile; MUTATOR_CALLHOOK(EditProjectile);
-}
-
+// ============================
+// Begin: Genereal weapon functions
+// ============================
 void spawnfunc_weapon_seeker (void)
 {
        weapon_defaultspawnfunc(WEP_SEEKER);
@@ -413,28 +514,57 @@ float w_seeker(float req)
        float ammo_amount;
 
        if (req == WR_AIM)
-               self.BUTTON_ATCK = bot_aim(autocvar_g_balance_seeker_tag_speed, 0, 20, FALSE);
-
+       {
+               if (autocvar_g_balance_seeker_type == 1) 
+                       if (Seeker_Tagged_Info(self, self.enemy) != world)
+                               self.BUTTON_ATCK = bot_aim(autocvar_g_balance_seeker_missile_speed_max, 0, autocvar_g_balance_seeker_missile_lifetime, FALSE);
+                       else
+                               self.BUTTON_ATCK2 = bot_aim(autocvar_g_balance_seeker_tag_speed, 0, autocvar_g_balance_seeker_tag_lifetime, FALSE);
+               else
+                       self.BUTTON_ATCK = bot_aim(autocvar_g_balance_seeker_tag_speed, 0, autocvar_g_balance_seeker_tag_lifetime, FALSE);
+       }
        else if (req == WR_THINK)
        {
                if(autocvar_g_balance_seeker_reload_ammo && self.clip_load < min(autocvar_g_balance_seeker_missile_ammo, autocvar_g_balance_seeker_tag_ammo)) // forced reload
                        weapon_action(self.weapon, WR_RELOAD);
-
+                       
                else if (self.BUTTON_ATCK)
                {
-                       if (weapon_prepareattack(0, autocvar_g_balance_seeker_tag_refire))
+                       if (autocvar_g_balance_seeker_type == 1) 
                        {
-                               Seeker_Fire_Tag();
-                               weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_seeker_tag_animtime, w_ready);
+                               if (weapon_prepareattack(0, autocvar_g_balance_seeker_missile_refire))
+                               {
+                                       Seeker_Attack();
+                                       weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_missile_animtime, w_ready);
+                               }
+                       }
+                       else 
+                       {
+                               if (weapon_prepareattack(0, autocvar_g_balance_seeker_tag_refire))
+                               {
+                                       Seeker_Fire_Tag();
+                                       weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_tag_animtime, w_ready);
+                               }
                        }
                }
 
                else if (self.BUTTON_ATCK2)
                {
-                       if (weapon_prepareattack(1, autocvar_g_balance_seeker_flac_refire))
+                       if (autocvar_g_balance_seeker_type == 1) 
+                       {
+                               if (weapon_prepareattack(0, autocvar_g_balance_seeker_tag_refire))
+                               {
+                                       Seeker_Fire_Tag();
+                                       weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_tag_animtime, w_ready);
+                               }
+                       }
+                       else 
                        {
-                               Seeker_Fire_Flac();
-                               weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_flac_animtime, w_ready);
+                               if (weapon_prepareattack(0, autocvar_g_balance_seeker_flac_refire))
+                               {
+                                       Seeker_Fire_Flac();
+                                       weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_flac_animtime, w_ready);
+                               }
                        }
                }
        }
@@ -455,14 +585,14 @@ float w_seeker(float req)
        }
        else if (req == WR_CHECKAMMO1)
        {
-               ammo_amount = self.ammo_cells >= autocvar_g_balance_seeker_missile_ammo;
+               ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_missile_ammo;
                ammo_amount += self.weapon_load[WEP_SEEKER] >= autocvar_g_balance_seeker_missile_ammo;
                return ammo_amount;
        }
        else if (req == WR_CHECKAMMO2)
        {
-               ammo_amount = self.ammo_cells >= autocvar_g_balance_seeker_flac_ammo;
-               ammo_amount += self.weapon_load[WEP_SEEKER] >= autocvar_g_balance_seeker_flac_ammo;
+               ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_tag_ammo;
+               ammo_amount += self.weapon_load[WEP_SEEKER] >= autocvar_g_balance_seeker_tag_ammo;
                return ammo_amount;
        }
        else if (req == WR_RELOAD)
@@ -479,59 +609,40 @@ float w_seeker(float req)
        {
                vector org2;
                org2 = w_org + w_backoff * 6;
-               if(w_deathtype & HITTYPE_SECONDARY)
+               if(w_deathtype & HITTYPE_BOUNCE)
                {
-                       pointparticles(particleeffectnum("flac_explode"), org2, '0 0 0', 1);
+                       pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
                        if(!w_issilent)
                        {
                                if (w_random<0.15)
-                                       sound(self, CHAN_PROJECTILE, "weapons/flacexp1.wav", 1, ATTN_NORM);
+                                       sound(self, CHAN_PROJECTILE, "weapons/tagexp1.wav", 1, ATTN_NORM);
                                else if (w_random<0.7)
-                                       sound(self, CHAN_PROJECTILE, "weapons/flacexp2.wav", 1, ATTN_NORM);
+                                       sound(self, CHAN_PROJECTILE, "weapons/tagexp2.wav", 1, ATTN_NORM);
                                else
-                                       sound(self, CHAN_PROJECTILE, "weapons/flacexp3.wav", 1, ATTN_NORM);
+                                       sound(self, CHAN_PROJECTILE, "weapons/tagexp3.wav", 1, ATTN_NORM);
                        }
                }
+               else if(w_deathtype & HITTYPE_HEADSHOT)
+               {
+                       if(!w_issilent)
+                               sound(self, CHAN_PROJECTILE, "weapons/tag_impact.wav", 1, ATTN_NORM);
+               }
                else
                {
-                       if(w_deathtype & HITTYPE_BOUNCE)
-                       {
-                               pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
-                               if(!w_issilent)
-                               {
-                                       if (w_random<0.15)
-                                               sound(self, CHAN_PROJECTILE, "weapons/tagexp1.wav", 1, ATTN_NORM);
-                                       else if (w_random<0.7)
-                                               sound(self, CHAN_PROJECTILE, "weapons/tagexp2.wav", 1, ATTN_NORM);
-                                       else
-                                               sound(self, CHAN_PROJECTILE, "weapons/tagexp3.wav", 1, ATTN_NORM);
-                               }
-                       }
-                       else if(w_deathtype & HITTYPE_HEADSHOT)
-                       {
-                               if(!w_issilent)
-                                       sound(self, CHAN_PROJECTILE, "weapons/tag_impact.wav", 1, ATTN_NORM);
-                       }
-                       else
+                       pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
+                       if(!w_issilent)
                        {
-                               pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
-                               if(!w_issilent)
-                               {
-                                       if (w_random<0.15)
-                                               sound(self, CHAN_PROJECTILE, "weapons/seekerexp1.wav", 1, ATTN_NORM);
-                                       else if (w_random<0.7)
-                                               sound(self, CHAN_PROJECTILE, "weapons/seekerexp2.wav", 1, ATTN_NORM);
-                                       else
-                                               sound(self, CHAN_PROJECTILE, "weapons/seekerexp3.wav", 1, ATTN_NORM);
-                               }
+                               if (w_random<0.15)
+                                       sound(self, CHAN_PROJECTILE, "weapons/seekerexp1.wav", 1, ATTN_NORM);
+                               else if (w_random<0.7)
+                                       sound(self, CHAN_PROJECTILE, "weapons/seekerexp2.wav", 1, ATTN_NORM);
+                               else
+                                       sound(self, CHAN_PROJECTILE, "weapons/seekerexp3.wav", 1, ATTN_NORM);
                        }
                }
        }
        else if(req == WR_PRECACHE)
        {
-               precache_sound("weapons/flacexp1.wav");
-               precache_sound("weapons/flacexp2.wav");
-               precache_sound("weapons/flacexp3.wav");
                precache_sound("weapons/seekerexp1.wav");
                precache_sound("weapons/seekerexp2.wav");
                precache_sound("weapons/seekerexp3.wav");
@@ -545,9 +656,9 @@ float w_seeker(float req)
        else if (req == WR_KILLMESSAGE)
        {
                if(w_deathtype & HITTYPE_SECONDARY)
-                       w_deathtypestring = _("%s ran into %s's flac");
-               else
                        w_deathtypestring = _("%s was tagged by %s");
+               else
+                       w_deathtypestring = _("%s was pummeled by %s");
        }
        return TRUE;
 }
index e4531680035608473b0a3e286a43bfe52465a076..2f5b9bc7833badd1167a4205bc32c940e7550a1c 100644 (file)
@@ -83,6 +83,7 @@ void uzi_fire1_02()
        if (self.BUTTON_ATCK)
        {
                if (!weapon_action(self.weapon, WR_CHECKAMMO2))
+               if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
                {
                        W_SwitchWeapon_Force(self, w_getbestweapon(self));
                        w_ready();
@@ -113,6 +114,7 @@ void uzi_mode1_fire_auto()
        }
 
        if (!weapon_action(self.weapon, WR_CHECKAMMO1))
+       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
        {
                W_SwitchWeapon_Force(self, w_getbestweapon(self));
                w_ready();
diff --git a/tooltips.db.es b/tooltips.db.es
new file mode 100644 (file)
index 0000000..4637150
--- /dev/null
@@ -0,0 +1,222 @@
+0
+\XonoticSingleplayerDialog\ Empieza una campaña de un solo jugador o acción instantánea de batalla contra bots
+
+
+\XonoticMultiplayerDialog\Juega online, contra tus amigos en LAN, ver demos o cambia la configuración del jugador
+\XonoticMultiplayerDialog/Servers\Encuentra servidores para jugar
+\menu_slist_showempty\Mostrar servidores vacíos
+\menu_slist_showfull\Mostrar los servidores que no tienen espacio disponible
+\net_slist_pause\Pausa la actualización de la lista de servidores para evitar que salteen
+\XonoticMultiplayerDialog/Info\Mostrar mas información sobre el actual servidor resaltado
+\XonoticMultiplayerDialog/Bookmark\Marcar el actual servidor resaltado para que sea mas facil encontrarlo en un futuro
+\XonoticMultiplayerDialog/Havoc\Cambiar a Havoc modo, el cual tiene algunas modificaciones en el juego
+\XonoticMultiplayerDialog/Create\Crear tu propio juego
+\XonoticMultiplayerDialog/Demos\Navegar y ver demos
+\XonoticMultiplayerDialog/Player Setup\Configuración de jugador
+
+\XonoticTeamSelectDialog/Unirse al'mejor' equipo (seleccion automática)\Auto seleccionar equipo (recomendado)
+\XonoticTeamSelectDialog/red\Unirse al equipo rojo
+\XonoticTeamSelectDialog/blue\Unirse al equipo azul
+\XonoticTeamSelectDialog/yellow\Unirse al equipo amarillo
+\XonoticTeamSelectDialog/pink\Unirse al equipo rosa
+
+\timelimit_override\Límite de tiempo en minutos que cuando pase, terminara el combate
+\fraglimit_override\Cantidad de puntos necesarios antes de que termine el combate
+\menu_maxplayers\La máxima cantidad de jugadores o bots que pueden conectarse a tu servidor a la vez
+\bot_number\Cantidad de bots en tu servidor
+\skill\Especificar que experiencia tendran los bots
+\g_maplist_votable\Numero de mapas que seran mostrados en en voto dde mapas al final de un combate
+\sv_vote_simple_majority_factor\La mayoria gana
+\XonoticMultiplayerDialog/Advanced settings...\Configuración avanzada ddel servidor
+\XonoticMultiplayerDialog/Mutators...\Mutators
+\g_dodging\Activar esquivado
+\g_cloaked\Todos los jugadores son casi invisibles
+\g_footsteps\Activar sonidos de pasos
+\g_midair\solo es posible dañar a tu enemigo mientras este en el aire
+\g_vampire\Daño dado a tu enemigo sera añadido a tu propia vida
+\g_bloodloss\Cantidad de vida sera afectada por perdida de sangre
+\sv_gravity\Hace que las cosas caigan lentamente al suelo, un valor bajo significa baja gravedad
+\g_grappling_hook\Los jugadores aparecen con un gancho para aferrarse
+\g_jetpack\Los jugadores aparecen con el jetpack
+\g_pinata\Los jugadores dejan todas las armas cuando mueren
+\g_weapon_stay\Las armas quedan despues de que son tomadas
+\g_weaponarena\Seleccionando un arma, dara a todos los jugadores cual arma se eligió asi como infinita munición, y deshabilita cualquier otra toma de arma.
+\menu_weaponarena_with_laser\Tambien habilita el láser en la arena
+\g_minstagib\Los jugadores tendran Minstanex, el cual es un railgun con daño infinito. Si el jugador queda sin munición, tendra 10 segundos para buscar mas o morira. El modo de disparo secundario es un laser que no inflige daño y es bueno para hacer bromas.
+\g_nix\Xonotic sin items - en vez de recoger items, todos juegan con la misma arma. Despues de algún tiempo, comienza una cuenta regresiva, despues del cual todos juegan con otra arma.
+\g_nix_with_laser\Siempre lleva el láser como arma adicional en Nix
+\XonoticMultiplayerDialog/All\Seleccionar todos los mapas
+\XonoticMultiplayerDialog/None\Deseleccionar todos los mapas
+
+
+\XonoticMultiplayerDialog/Timedemo\Prueba cuan rápido tu computadora puede correr la demo seleccionada
+
+\fov\Campo de visión en grados de 60 a 130, 90 es el default
+\cl_bobcycle\Frecuencia de balanceo de la vista
+\cl_zoomfactor\Cuan grande es el factor de zoom cuando la tecla de zoom es presionada
+\cl_zoomsensitivity\Cuanto el zoom cambia la sensibilidad, desde 0 (baja sensibilidad) a 1 (sin cambio de sensibilidad)
+\cl_zoomspeed\Cuan rápido es la vista ampliada, deshabilitar para un zoom instantáneo
+\XonoticMultiplayerDialog/Weapon settings...\Seleccionar tu arma preferida, cambio automático y modelo de arma
+
+\cl_weaponpriority_useforcycling\Haz uso de la lista de abajo when cambia de arma con la rueda del raton
+\cl_autoswitch\Cambia automáticamente al arma recogida si es mejor que la que esta llevando
+\r_drawviewmodel\Muestra el modelo de arma
+\cl_gunalign\Posición del modelo de arma; requiere conección
+
+\crosshair_per_weapon\Configura diferentes miras para cada arma, esto ayuda si estas jugando sin un modelo de arma
+\crosshair_color_override\Tambien configura el color del punto de mira dependiendo del arma que uses actualmente
+\crosshair_size\Ajusta el tamaño del punto de mira
+\crosshair_color_alpha\Ajusta la opacidad del punto de mira
+\crosshair_color_red\Componente rojo del color del punto de mira
+\crosshair_color_green\Componente verde del color del punto de mira
+\crosshair_color_blue\Componente azul del color del punto de mira
+\sbar_hudselector\Usar el viejo diseño de HUD
+\XonoticMultiplayerDialog/Radar, HUD & puntos de referencia...\Ajustar el radar, el HUD y los puntos de referencia
+\_cl_name\Nombre con el cual aparecerás en el juego
+
+\XonoticSettingsDialog\Cambiar la configuración del juego
+\XonoticCreditsDialog\Los créditos de Xonotic
+\XonoticTeamSelectDialog\-
+\XonoticMutatorsDialog\-
+\XonoticMapInfoDialog\-
+\XonoticUserbindEditDialog\-
+\XonoticWinnerDialog\-
+\XonoticWeaponsDialog\-
+\XonoticRadarDialog\-
+\XonoticServerInfoDialog\-
+\XonoticCvarsDialog\-
+
+\XonoticQuitDialog\Salir del juego
+\XonoticQuitDialog/Yes\Volver al trabajo...
+\XonoticQuitDialog/No\Tengo algunos puntos más por hacer!
+
+\XonoticSettingsDialog/Input\configuración de entrada
+\sensitivity\Multiplicador de velocidad del ratón
+\menu_mouse_speed\Multiplicador de velocidad del raton en el menu, esto no afecta al apuntar en el juego
+\m_filter\Suaviza el movimiento del raton, pero hace menos sensible al apuntar al objetivo
+\m_pitch\Invierte el movimiento del raton en el eje Y
+\vid_dgamouse\Hace uso de la entrada DGA del raton
+\con_closeontoggleconsole\Permite el fijar un lazo de la consola para tambien cerrarla
+\sbar_showbinds\Display actions / Teclas vinculadas en la cadena se mostrará en el juego
+\cl_showpressedkeys\Mostrar el movimiento de teclas que el jugador esta presionando
+
+\XonoticSettingsDialog/Video\configuración de video
+\vid_width\Resolución de pantalla
+\vid_bitsperpixel\Cuantos bits por pixel (BPP) para renderizar, 32 es lo recomendado
+\vid_fullscreen\Habilitar el modo de pantalla completa (habilitado por defecto)
+\vid_vsync\Habilitar sincronización vertical para prevenir rasgaduras en la imagen, limitara los fps a la tasa de refresco del monitor (desactivado por defecto)
+\r_glsl\Habilitar sombreado de pixel de OpenGL 2.0 (activado por defecto)
+\gl_vbo\Haz uso de objetos de búfer de vertices para almacenar geometría estática en la memoria de video para acelerar el renderizado (Vertices y Triangulos por defecto)
+\r_depthfirst\Eliminar sobre-dibujado renderizando una version de única profundidad de la escena antes de que comience la renderización normal (desactivado por defecto)
+\gl_texturecompression\Comprimir las texturas para tarjetas de video con poca cantidad de memoria disponible (ninguno por defecto)
+\gl_finish\Hacer que la CPU wait esperen que la gpu termine cada marco, puede ayudar con algunas extrañas entradas o retraso de video en algunas máquinas (desactivado por defecto)
+\v_brightness\Brillo en negros (por defecto: 0)
+\v_contrast\Brillo en blancos (por defecto: 1)
+\v_gamma\Valor de corrección de gama inverso, un efecto de brillo que no afecta a blancos o negros (por defecto: 1.125)
+\v_contrastboost\Por cuanto multiplicar el contraste en areas oscuras (por defecto: 1)
+\r_glsl_saturation\Ajuste de saturación (0 = escala de grises, 1 = normal, 2 = sobresaturado), requiere un control de color (por defecto: 1)
+\v_glslgamma\Abilita el uso de GLSL para aplicar en la corrección gama, note que esto podría disminuir mucho el rendimiento (default: disabled)
+\r_ambient\iluminación del ambiente, si se configura en muy elevado, tiende a hacer luz en los mapas de imagen aburrida y plana (por defecto: 4)
+\r_hdr_scenebrightness\Brillo del renderizador global (por defecto: 1)
+\vid_samples\activar antialiasing, el cual suaviza los bordes en geometrias en 3D. Note que esto puede disminuir bastante el rendimiento (por defecto: desactivado)
+\v_flipped\Invertir la imagen horizontalmente (por defecto: desactivado)
+
+\XonoticSettingsDialog/Effects\configuración de efectos.
+\r_subdivisions_tolerance\Cambiar la suavidad de las curvas en el mapa (por defecto: normal)
+\gl_picmip\Cambiar la dureza de las texturas. Bajándolo efectivamente reducira el uso de la memoria de la textura, pero hará que las texturas aparezcan muy borrosas. (por defecto: bueno)
+\r_picmipworld\Si se activa, solo reduce la calidad de texturas de los modelos (activado por defecto)
+\mod_q3bsp_nolightmaps\Use mapas de alta resolución, hara que se vea lindo pero reducira la memoria de video (activado por defecto)
+\cl_particles_quality\Multiplicador de cantidad de partículas. Menos significa menos partículas, lo cual dara mejor rendimiento (por defecto: 0.5)
+\r_drawparticles_drawdistance\Las partículas que se alejen de esto no se dibujarán (por defecto: 1000)
+\cl_decals\Activar decals (agujeros de balas y sangre) (habilitado por defecto)
+\r_drawdecals_drawdistance\Los decals que se alejen de esta distancia no se dibujarán (por defecto: 300)
+\cl_decals_time\Tiempo en segundos antes de que los decals desaparezcan (por defecto: 2)
+\cl_gentle\Reemplazar sangre y tripas por cosas que no tengan nada de gore (desactivado por defecto)
+\cl_nogibs\Reduce la cantidad de tripas o lo remueve completamente (por defecto: muchos)
+\v_kicktime\Cuanto tiempo se verá el ultimo daño (por defecto: 0)
+\gl_texture_anisotropy\Calidad de filtrado anisotrópico (por defecto: 1x)
+\r_glsl_deluxemapping\Usar efectos de iluminado por pixel (activado por defecto)
+\r_shadow_gloss\Activar el uso de glossmaps en texturas soportandolo (activado por defecto)
+\gl_flashblend\Activar luces dinámicas por renderizado de coronas en vez de iluminación dinámica real (desactivado por defecto)
+\r_shadow_realtime_dlight\Activar renderizado de luces dinámicas como explosiones y luces de cohete (activado por defecto)
+\r_shadow_realtime_dlight_shadows\Activar renderizado de sombras de luces dinamicas (desactivado por defecto)
+\r_shadow_realtime_world\Activar renderizado de la iluminación del mundo en tiempo real en mapas que lo soporten. Note que esto puede tener un gran impacto en el rendimiento. (desactivado por defecto)
+\r_shadow_realtime_world_shadows\Activar renderizado de sombras de luces del mundo en tiempo real (desactivado por defecto)
+\r_shadow_usenormalmap\Activar el uso de sombreado direccional en texturas (activado por defecto)
+\r_showsurfaces\Desactivar texturas completamente para hardware muy lento. Esto aumentara el rendimiento en gran medida, pero se verça muy feo. (desactivado por defecto)
+\r_glsl_offsetmapping\Efecto de mapeado del desplazamiento, que hará texturas con mapas de relieve parecerse como resaltado de la superficie plana de 2D (desactivado por defecto)
+\r_glsl_offsetmapping_reliefmapping\Alta calidad de mapeado de desplazamiento, el cual también tiene un gran impacto en el rendimiento (desactivado por defecto)
+\r_water\Calidad de refleccion y refracción, tiene un gran impacto en el rendimiento en mapas de superficies reflectantes (desactivado por defecto)
+\r_water_resolutionmultiplier\Resolución de reflecciones/refracciones (por defecto: bueno)
+\r_coronas\Habilitar iluminación en corona alrededor de ciertas luces (activado por defecto)
+\r_coronas_occlusionquery\Coronas apagadas acorde a la visibilidad (activado por defecto)
+\r_bloom\Activar efecto bloom, que ilumina los píxeles vecinos de píxeles muy brillantes.Tiene un gran impacto en el rendimiento. (desactivado por defecto)
+\r_hdr\Versión de gran calidad de bloom, que tiene un gran impacto en el rendimiento. (desactivado por defecto)
+\r_motionblur\Nivel de desenfoque de movimiento - 0.5 recomendado
+\r_damageblur\Cantidad de desenfoque de movimiento en presencia de daños - 0.4 recomendado
+
+\XonoticSettingsDialog/Audio\configuración de audio
+\bgmvolume\-
+\volume\-
+\snd_staticvolume\-
+\snd_worldchannel0volume\-
+\snd_entchannel3volume\-
+\snd_playerchannel6volume\-
+\snd_playerchannel7volume\-
+\snd_entchannel4volume\-
+\snd_playerchannel2volume\-
+\snd_playerchannel1volume\-
+\snd_speed\Frecuencia de salida del sonido
+\snd_channels\Número de canales para la salida del sonido
+\snd_swapstereo\Invertir canales izquierda o derecha
+\snd_spatialization_control\Activar espacialización (mezcla ligeramente el canal derecho e izquierdo para disminuir la separación estereo un poco en los auriculares)
+\cl_voice_directional\Activar voces direccionales
+\cl_voice_directional_taunt_attenuation\Distancia desde el cual las burlas pueden escucharse
+\cl_autotaunt\automáticamente burlarse del enemigo al anotar puntos
+\cl_sound_maptime_warning\Sonido del anunciante que te indica el tiempo restante del combate
+\cl_hitsound\Reproduce un sonido indicador de anotacion cuando disparas a un enemigo
+\menu_sounds\Reproduce sonidos cuando se clickea o se posiciona sobre un item del menú
+
+\XonoticSettingsDialog/Network\configuración de la red
+\cl_movement\Activar predicción de movimiento del lado del cliente
+\cl_nolerp\Activar actualización suave en la red
+\shownetgraph\Activar un gráfico de tamaño de paquetes y otra información
+\_cl_rate\Especificar tu velocidad de conección con este separador
+\cl_netfps\Cuantos paquetes de entrada mandar a un servidor por cada segundo
+\cl_curl_maxdownloads\Número máximo de descargas concurrentes de HTTP/FTP
+\cl_curl_maxspeed\Velocidad de descarga máxima
+\cl_port\Forzar al cliente a usar un puerto elegido a menos que se establezca en 0
+
+\XonoticSettingsDialog/Misc\configuración misc
+\showtime\Mostrar la hora y el día actual, útil en capturas de pantalla
+\showdate\Mostrar el día actual, útil en capturas de pantalla
+\showfps\Mostrar tus marcos/frames por segundo
+\cl_showspeed\Mostrar la velocidad del jugador
+\cl_showspeed_unit\Seleccionar la velocidad del velocímetro. qu/s = in/s
+\cl_showacceleration\Mostrar la aceleración del jugador
+\cl_showacceleration_scale\Cambiar el acelerómetro por este multiplicador de escala
+
+\XonoticSettingsDialog/configuración avanzada...\configuracion avanzada donde puedes ajustar cada variable del juego
+\g_friendlyfire\Porcentaje de daño infligido a tus compañeros de equipo
+\g_mirrordamage\Porcentaje de daño de equipo que se reflejará a ti
+\g_tdm_teams_override\Sobreescribir la cantidad de equipos por defecto de los modos en equipo
+
+\cl_teamradar_position\-
+\cl_teamradar_size\-
+\cl_teamradar_zoommode\-
+\cl_teamradar_rotation\-
+\cl_teamradar_scale\-
+\cl_teamradar_foreground_alpha\-
+\cl_teamradar_background_alpha\Valor de opacidad del radar de fondo
+\viewsize\Enable/Desavilitar el HUD de fondo
+\sbar_alpha_bg\alor de opacidad del HUD de fondo
+\sbar_color_bg_r\Componente rojo del HUD de fondo
+\sbar_color_bg_g\Componente verde del HUD de fondo
+\sbar_color_bg_b\Componente azul del HUD de fondo
+\sbar_color_bg_team\Saturacion del color de equipo del HUD de fondo
+\cl_hidewaypoints\Mostrar indicadores de ubicación/caminos específicos de diferentes tipos de juego
+\g_waypointsprite_scale\Escala del multiplicador de los indicadores de ubicación/caminos
+\g_waypointsprite_alpha\Transparencia del control de los indicadores de ubicación/caminos
+\cl_shownames\Mostrar el nombre del jugador al que estás apuntando
+
+\crosshair_hittest\Ninguno: no hacer pruebas de aciertos para el punto de mira; Apuntado: difuminar la punta de mira cuando no se apunta contra la pared; Enemigos: también ampliar el punto de mira cuando aciertas al enemigo