seta crosshair_fireball_color_blue 0.2 "crosshair color blue component to display when wielding the fireball"
seta crosshair_fireball_color_alpha 1 "crosshair alpha value to display when wielding the fireball"
seta crosshair_fireball_size 1 "crosshair size when wielding the fireball"
+seta cl_reticle_stretch 0 "whether to stretch reticles so they fit the screen (brakes image proportions)"
+seta cl_reticle_item_nex 1 "draw aiming recticle for the nex weapon's zoom, 0 disables and values between 0 and 1 change alpha"
+seta cl_reticle_item_normal 1 "draw recticle when zooming with the zoom button, 0 disables and values between 0 and 1 change alpha"
fov 90
seta cl_velocityzoom 0 "velocity based zooming of fov, negative values zoom out"
seta cl_velocityzoomtime 0.3 "time value for averaging speed values"
set g_midair 0 "if set to 1 you can only apply damage to your opponent while he is airborne"
set g_midair_shieldtime 0.3 "number of seconds you are still invincible since you lost contact to the ground"
set g_spawnsound 1 "set to 0 if you don't want to hear the spawn sound when a player spawns"
-set g_spawnpoints_autodrop 0 "if set to 1, automatically drop spawn point locations if they were placed too high"
set g_spawnpoints_auto_move_out_of_solid 0 "if set to 1 you will see a warning if a spawn point was placed inside a solid"
set g_forced_respawn 0 "if set to 1 and a player died, that player gets automatically respawned once <g_respawn_delay> seconds are over"
set g_fullbrightplayers 0 "brightens up player models (note that the color, skin or model of the players does not change!)"
set sv_dodging_sound 1 "if 1 dodging makes a sound. if 0 dodging is silent"
set leadlimit 0
+set leadlimit_and_fraglimit 0 "if set, leadlimit is ANDed with fraglimit (otherwise ORed)"
// this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
seta timelimit_override -1 "Time limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
alias sv_restart "say \"Server will restart at the end of the match, you will all be reconnected automatically. $* \"; quit_and_redirect self"
// aliases:
-alias +attack2 +button3
-alias -attack2 -button3
+alias +fire +attack
+alias -fire -attack
+alias +fire2 +button3
+alias -fire2 -button3
+alias +attack2 +button3 // old alias from Nexuiz
+alias -attack2 -button3 // old alias name from Nexuiz
alias +zoom +button4
alias -zoom -button4
alias +crouch +button5
bind 9 "impulse 9"
bind 0 "impulse 14" // cycles the superweapons
bind q weaplast
-bind MOUSE1 +attack
-bind MOUSE2 +attack2
+bind MOUSE1 +fire
+bind MOUSE2 +fire2
bind MOUSE3 +zoom
bind MOUSE4 weaplast
bind MOUSE5 +hook
bind JOY2 "+jump"
bind JOY3 "weapprev"
bind JOY4 "weapnext"
-bind JOY5 "+attack2"
-bind JOY6 "+attack"
+bind JOY5 "+fire2"
+bind JOY6 "+fire"
bind JOY7 "+zoom"
bind JOY8 "dropweapon"
bind JOY9 "menu_showteamselect"
alias cl_hook_gamestart_nexball
alias cl_hook_gamestart_cts
alias cl_hook_gameend
+alias cl_hook_activeweapon
alias _sv_hook_gamestart "set _sv_hook_gametype $1; _sv_hook_gamestart_stage2"
alias _sv_hook_gamestart_stage2 "sv_hook_gamestart_all; sv_hook_gamestart_${_sv_hook_gametype}"
--- /dev/null
+// This script allows swapping the primary and secondary fire buttons for any weapon
+//
+// To install, add
+// exec hook-firing_swap.cfg
+// to your autoexec.cfg
+
+// NOTE: if combined with other scripts that also hook cl_hook_activeweapon, do
+// alias cl_hook_activeweapon "firing_swap $1; commands of other scripts..."
+// after exec'ing them all from your autoexec.cfg
+
+// Set the cvars for each gun
+seta cl_swapattacks_tuba 0
+seta cl_swapattacks_laser 0
+seta cl_swapattacks_shotgun 0
+seta cl_swapattacks_uzi 0
+seta cl_swapattacks_campingrifle 0
+seta cl_swapattacks_grenadelauncher 0
+seta cl_swapattacks_electro 0
+seta cl_swapattacks_hlac 0
+seta cl_swapattacks_crylink 0
+seta cl_swapattacks_minstanex 0
+seta cl_swapattacks_nex 0
+seta cl_swapattacks_hagar 0
+seta cl_swapattacks_seeker 0
+seta cl_swapattacks_fireball 0
+seta cl_swapattacks_rocketlauncher 0
+seta cl_swapattacks_hook 0
+seta cl_swapattacks_porto 0
+
+// This part of the code is necessary to keep us firing when we switch weapons while holding a fire button pressed
+// Also updates the keys before firing, so we don't have to switch to another weapon and back to apply the changes
+set fire_last 0
+set fire2_last 0
+alias +fire "firing_swap_apply $firing_lastweapon; set fire_last 1; +checkattack"
+alias -fire "set fire_last 0; -checkattack"
+alias +fire2 "firing_swap_apply $firing_lastweapon; set fire2_last 1; +checkattack2"
+alias -fire2 "set fire2_last 0; -checkattack2"
+alias firing_switch_attack_0 ""
+alias firing_switch_attack2_0 ""
+alias firing_switch_attack_1 "+fire"
+alias firing_switch_attack2_1 "+fire2"
+alias firing_switch "-fire; -fire2; firing_switch_attack_$fire_last; firing_switch_attack2_$fire2_last;"
+
+// Now apply changes to the key binds and get the weapon we are using
+alias firing_decision_0 "alias +checkattack +attack; alias -checkattack -attack; alias +checkattack2 +attack2; alias -checkattack2 -attack2"
+alias firing_decision_1 "alias +checkattack +attack2; alias -checkattack -attack2; alias +checkattack2 +attack; alias -checkattack2 -attack"
+alias firing_swap_apply "firing_decision_${$1}"
+alias firing_swap "firing_swap_apply cl_swapattacks_$1; set firing_lastweapon cl_swapattacks_$1; firing_switch"
+
+// Not correct, but prevents firing from braking after executing the script until switching weapons
+alias +fire +attack
+alias -fire -attack
+alias +fire2 +attack2
+alias -fire2 -attack2
+
+// install
+alias cl_hook_activeweapon "firing_swap $1"
"+hook" "off-hand hook / jet pack"
"" ""
"" "Attacking"
-"+attack" "primary fire"
-"+attack2" "secondary fire"
+"+fire" "primary fire"
+"+fire2" "secondary fire"
"" ""
"" "Weapon switching"
"weapprev" "previous"
--- /dev/null
+//TAG: soldier
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/soldier/coms/attack 2
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/soldier/coms/attackinfive 0
+coverme sound/player/soldier/coms/coverme 0
+defend sound/player/soldier/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/soldier/coms/freelance 2
+getflag sound/player/soldier/player/getflag 0
+incoming sound/player/soldier/coms/incoming 0
+meet sound/player/soldier/coms/meet 0
+needhelp sound/player/soldier/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/soldier/coms/seenflag 0
+taunt sound/player/soldier/coms/taunt 3
+teamshoot sound/player/soldier/coms/teamshoot 3
+death sound/player/soldier/player/death 3
+drown sound/player/soldier/player/drown 0
+fall sound/player/soldier/player/fall 0
+falling sound/player/soldier/player/falling 0
+gasp sound/player/soldier/player/gasp 0
+jump sound/player/soldier/player/jump 0
+pain25 sound/player/soldier/player/pain25 0
+pain50 sound/player/soldier/player/pain50 0
+pain75 sound/player/soldier/player/pain75 0
+pain100 sound/player/soldier/player/pain100 0
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+//TAG: reptilian
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/reptilian/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/reptilian/coms/attackinfive 0
+coverme sound/player/reptilian/coms/coverme 0
+defend sound/player/reptilian/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/reptilian/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/reptilian/coms/incoming 0
+meet sound/player/reptilian/coms/meet 0
+needhelp sound/player/reptilian/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/reptilian/coms/seenflag 0
+taunt sound/player/reptilian/coms/taunt 3
+teamshoot sound/player/reptilian/coms/teamshoot 3
+death sound/player/reptilian/player/death 3
+drown sound/player/reptilian/player/drown 0
+fall sound/player/reptilian/player/fall 0
+falling sound/player/reptilian/player/falling 0
+gasp sound/player/reptilian/player/gasp 0
+jump sound/player/reptilian/player/jump 0
+pain25 sound/player/reptilian/player/pain25 0
+pain50 sound/player/reptilian/player/pain50 0
+pain75 sound/player/reptilian/player/pain75 0
+pain100 sound/player/reptilian/player/pain100 0
--- /dev/null
+//TAG: reptilian
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/reptilian/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/reptilian/coms/attackinfive 0
+coverme sound/player/reptilian/coms/coverme 0
+defend sound/player/reptilian/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/reptilian/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/reptilian/coms/incoming 0
+meet sound/player/reptilian/coms/meet 0
+needhelp sound/player/reptilian/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/reptilian/coms/seenflag 0
+taunt sound/player/reptilian/coms/taunt 3
+teamshoot sound/player/reptilian/coms/teamshoot 3
+death sound/player/reptilian/player/death 3
+drown sound/player/reptilian/player/drown 0
+fall sound/player/reptilian/player/fall 0
+falling sound/player/reptilian/player/falling 0
+gasp sound/player/reptilian/player/gasp 0
+jump sound/player/reptilian/player/jump 0
+pain25 sound/player/reptilian/player/pain25 0
+pain50 sound/player/reptilian/player/pain50 0
+pain75 sound/player/reptilian/player/pain75 0
+pain100 sound/player/reptilian/player/pain100 0
--- /dev/null
+//TAG: reptilian
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/reptilian/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/reptilian/coms/attackinfive 0
+coverme sound/player/reptilian/coms/coverme 0
+defend sound/player/reptilian/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/reptilian/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/reptilian/coms/incoming 0
+meet sound/player/reptilian/coms/meet 0
+needhelp sound/player/reptilian/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/reptilian/coms/seenflag 0
+taunt sound/player/reptilian/coms/taunt 3
+teamshoot sound/player/reptilian/coms/teamshoot 3
+death sound/player/reptilian/player/death 3
+drown sound/player/reptilian/player/drown 0
+fall sound/player/reptilian/player/fall 0
+falling sound/player/reptilian/player/falling 0
+gasp sound/player/reptilian/player/gasp 0
+jump sound/player/reptilian/player/jump 0
+pain25 sound/player/reptilian/player/pain25 0
+pain50 sound/player/reptilian/player/pain50 0
+pain75 sound/player/reptilian/player/pain75 0
+pain100 sound/player/reptilian/player/pain100 0
--- /dev/null
+//TAG: insurrectionist
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/insurrectionist/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/insurrectionist/coms/attackinfive 0
+coverme sound/player/insurrectionist/coms/coverme 0
+defend sound/player/insurrectionist/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/insurrectionist/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/insurrectionist/coms/incoming 0
+meet sound/player/insurrectionist/coms/meet 0
+needhelp sound/player/insurrectionist/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/insurrectionist/coms/seenflag 0
+taunt sound/player/insurrectionist/coms/taunt 4
+teamshoot sound/player/insurrectionist/coms/teamshoot 3
+death sound/player/insurrectionist/player/death 3
+drown sound/player/insurrectionist/player/drown 0
+fall sound/player/insurrectionist/player/fall 0
+falling sound/player/insurrectionist/player/falling 0
+gasp sound/player/insurrectionist/player/gasp 0
+jump sound/player/insurrectionist/player/jump 0
+pain25 sound/player/insurrectionist/player/pain25 0
+pain50 sound/player/insurrectionist/player/pain50 0
+pain75 sound/player/insurrectionist/player/pain75 0
+pain100 sound/player/insurrectionist/player/pain100 0
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+//TAG: insurrectionist
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/insurrectionist/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/insurrectionist/coms/attackinfive 0
+coverme sound/player/insurrectionist/coms/coverme 0
+defend sound/player/insurrectionist/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/insurrectionist/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/insurrectionist/coms/incoming 0
+meet sound/player/insurrectionist/coms/meet 0
+needhelp sound/player/insurrectionist/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/insurrectionist/coms/seenflag 0
+taunt sound/player/insurrectionist/coms/taunt 4
+teamshoot sound/player/insurrectionist/coms/teamshoot 3
+death sound/player/insurrectionist/player/death 3
+drown sound/player/insurrectionist/player/drown 0
+fall sound/player/insurrectionist/player/fall 0
+falling sound/player/insurrectionist/player/falling 0
+gasp sound/player/insurrectionist/player/gasp 0
+jump sound/player/insurrectionist/player/jump 0
+pain25 sound/player/insurrectionist/player/pain25 0
+pain50 sound/player/insurrectionist/player/pain50 0
+pain75 sound/player/insurrectionist/player/pain75 0
+pain100 sound/player/insurrectionist/player/pain100 0
-name Ignis - HalfMasked
+name Ignis - Half Masked
species human
sex Male
weight 90
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+//TAG: marine
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/marine/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/marine/coms/attackinfive 0
+coverme sound/player/marine/coms/coverme 0
+defend sound/player/marine/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/marine/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/marine/coms/incoming 0
+meet sound/player/marine/coms/meet 0
+needhelp sound/player/marine/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/marine/coms/seenflag 0
+taunt sound/player/marine/coms/taunt 3
+teamshoot sound/player/marine/coms/teamshoot 4
+death sound/player/marine/player/death 3
+drown sound/player/marine/player/drown 0
+fall sound/player/marine/player/fall 0
+falling sound/player/marine/player/falling 0
+gasp sound/player/marine/player/gasp 0
+jump sound/player/marine/player/jump 0
+pain25 sound/player/marine/player/pain25 0
+pain50 sound/player/marine/player/pain50 0
+pain75 sound/player/marine/player/pain75 0
+pain100 sound/player/marine/player/pain100 0
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+//TAG: specop
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/specop/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/specop/coms/attackinfive 0
+coverme sound/player/specop/coms/coverme 0
+defend sound/player/specop/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/specop/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/specop/coms/incoming 0
+meet sound/player/specop/coms/meet 0
+needhelp sound/player/specop/coms/needhelp 0
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/specop/coms/seenflag 0
+taunt sound/player/specop/coms/taunt 4
+teamshoot sound/player/specop/coms/teamshoot 4
+death sound/player/specop/player/death 3
+drown sound/player/specop/player/drown 0
+fall sound/player/specop/player/fall 0
+falling sound/player/specop/player/falling 0
+gasp sound/player/specop/player/gasp 0
+jump sound/player/specop/player/jump 0
+pain25 sound/player/specop/player/pain25 0
+pain50 sound/player/specop/player/pain50 0
+pain75 sound/player/specop/player/pain75 0
+pain100 sound/player/specop/player/pain100 0
attack sound/player/pyria-skadi/coms/attack 2
//attacking sound/player/carni-lycan/player/attacking 0
attackinfive sound/player/pyria-skadi/coms/attackinfive 0
-//coverme sound/player/pyria-skadi/coms/coverme 0
-//defend sound/player/pyria-skadi/coms/defend 0
+coverme sound/player/pyria-skadi/coms/coverme 0
+defend sound/player/pyria-skadi/coms/defend 0
//defending sound/player/carni-lycan/player/defending 0
//droppedflag sound/player/carni-lycan/player/droppedflag 0
//flagcarriertakingdamage sound/player/carni-lycan/player/flagcarriertakingdamage 0
freelance sound/player/pyria-skadi/coms/freelance 2
//getflag sound/player/carni-lycan/player/getflag 0
-//incoming sound/player/pyria-skadi/coms/incoming 0
+incoming sound/player/pyria-skadi/coms/incoming 0
meet sound/player/pyria-skadi/coms/meet 0
needhelp sound/player/pyria-skadi/coms/needhelp 2
//negative sound/player/carni-lycan/player/negative 0
teamshoot sound/player/pyria-skadi/coms/teamshoot 4
death sound/player/pyria-skadi/player/death 3
drown sound/player/pyria-skadi/player/drown 0
-//fall sound/player/carni-lycan/player/fall 0
+fall sound/player/pyria-skadi/player/fall 0
falling sound/player/pyria-skadi/player/falling 0
gasp sound/player/pyria-skadi/player/gasp 0
jump sound/player/pyria-skadi/player/jump 0
--- /dev/null
+//TAG: pyria-skadi
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/pyria-skadi/coms/attack 2
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/pyria-skadi/coms/attackinfive 0
+coverme sound/player/pyria-skadi/coms/coverme 0
+defend sound/player/pyria-skadi/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/carni-lycan/player/flagcarriertakingdamage 0
+freelance sound/player/pyria-skadi/coms/freelance 2
+//getflag sound/player/carni-lycan/player/getflag 0
+incoming sound/player/pyria-skadi/coms/incoming 0
+meet sound/player/pyria-skadi/coms/meet 0
+needhelp sound/player/pyria-skadi/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/pyria-skadi/coms/seenflag 0
+taunt sound/player/pyria-skadi/coms/taunt 5
+teamshoot sound/player/pyria-skadi/coms/teamshoot 4
+death sound/player/pyria-skadi/player/death 3
+drown sound/player/pyria-skadi/player/drown 0
+fall sound/player/pyria-skadi/player/fall 0
+falling sound/player/pyria-skadi/player/falling 0
+gasp sound/player/pyria-skadi/player/gasp 0
+jump sound/player/pyria-skadi/player/jump 0
+pain25 sound/player/pyria-skadi/player/pain25 0
+pain50 sound/player/pyria-skadi/player/pain50 0
+pain75 sound/player/pyria-skadi/player/pain75 0
+pain100 sound/player/pyria-skadi/player/pain100 0
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+//TAG: specop
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/specop/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/specop/coms/attackinfive 0
+coverme sound/player/specop/coms/coverme 0
+defend sound/player/specop/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/specop/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/specop/coms/incoming 0
+meet sound/player/specop/coms/meet 0
+needhelp sound/player/specop/coms/needhelp 0
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/specop/coms/seenflag 0
+taunt sound/player/specop/coms/taunt 4
+teamshoot sound/player/specop/coms/teamshoot 4
+death sound/player/specop/player/death 3
+drown sound/player/specop/player/drown 0
+fall sound/player/specop/player/fall 0
+falling sound/player/specop/player/falling 0
+gasp sound/player/specop/player/gasp 0
+jump sound/player/specop/player/jump 0
+pain25 sound/player/specop/player/pain25 0
+pain50 sound/player/specop/player/pain50 0
+pain75 sound/player/specop/player/pain75 0
+pain100 sound/player/specop/player/pain100 0
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 1 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
--- /dev/null
+//TAG: specop
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/specop/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/specop/coms/attackinfive 0
+coverme sound/player/specop/coms/coverme 0
+defend sound/player/specop/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/soldier/player/flagcarriertakingdamage 0
+freelance sound/player/specop/coms/freelance 2
+//getflag sound/player/soldier/player/getflag 0
+incoming sound/player/specop/coms/incoming 0
+meet sound/player/specop/coms/meet 0
+needhelp sound/player/specop/coms/needhelp 0
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/specop/coms/seenflag 0
+taunt sound/player/specop/coms/taunt 4
+teamshoot sound/player/specop/coms/teamshoot 4
+death sound/player/specop/player/death 3
+drown sound/player/specop/player/drown 0
+fall sound/player/specop/player/fall 0
+falling sound/player/specop/player/falling 0
+gasp sound/player/specop/player/gasp 0
+jump sound/player/specop/player/jump 0
+pain25 sound/player/specop/player/pain25 0
+pain50 sound/player/specop/player/pain50 0
+pain75 sound/player/specop/player/pain75 0
+pain100 sound/player/specop/player/pain100 0
if not(isdemo())
{
if not(calledhooks & HOOK_START)
- localcmd("\n_cl_hook_gamestart nop;");
+ localcmd("\n_cl_hook_gamestart nop\n");
if not(calledhooks & HOOK_END)
- localcmd("\ncl_hook_gameend;");
+ localcmd("\ncl_hook_gameend\n");
}
}
if not(isdemo())
{
- localcmd("\n_cl_hook_gamestart ", GametypeNameFromType(gametype), ";");
+ localcmd("\n_cl_hook_gamestart ", GametypeNameFromType(gametype), "\n");
calledhooks |= HOOK_START;
}
}
float HUD_WouldDrawScoreboard ();
float view_set;
float camera_mode;
+float reticle_type;
string NextFrameCommand;
void CSQC_SPIDER_HUD();
void CSQC_RAPTOR_HUD();
float f, i, j;
vector v, vo;
+ vector reticle_pos, reticle_size;
+
WaypointSprite_Load();
if(spectatee_status)
if(intermission && !isdemo() && !(calledhooks & HOOK_END))
if(calledhooks & HOOK_START)
{
- localcmd("\ncl_hook_gameend;");
+ localcmd("\ncl_hook_gameend\n");
calledhooks |= HOOK_END;
}
if(last_weapon != activeweapon) {
weapontime = time;
last_weapon = activeweapon;
+
+ entity e;
+ e = get_weaponinfo(activeweapon);
+ if(e.netname != "")
+ localcmd(strcat("\ncl_hook_activeweapon ", e.netname), "\n");
+ else
+ localcmd("\ncl_hook_activeweapon none\n");
}
// ALWAYS Clear Current Scene First
// next R_RenderScene call
drawstring('0 0 0', "", '1 1 0', '1 1 1', 0, 0);
+ // Draw the aiming reticle for weapons that use it
+ // reticle_type is changed to the item we are zooming / aiming with, to decide which reticle to use
+ // It must be a persisted float for fading out to work properly (you let go of the zoom button for
+ // the view to go back to normal, so reticle_type would become 0 as we fade out)
+ if(spectatee_status || getstati(STAT_HEALTH) <= 0)
+ reticle_type = 0; // prevent reticle from showing during the respawn zoom effect or for spectators
+ else if(button_zoom)
+ reticle_type = 1; // normal zoom
+ else if(activeweapon == WEP_NEX && button_attack2)
+ reticle_type = 2; // nex zoom
+
+ if(cvar("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;
+ }
+
+ if(cvar("cl_reticle_item_normal"))
+ {
+ precache_pic("gfx/reticle_normal");
+ if(reticle_type == 1 && current_zoomfraction)
+ drawpic(reticle_pos, "gfx/reticle_normal", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_item_normal"), DRAWFLAG_NORMAL);
+ }
+ if(cvar("cl_reticle_item_nex"))
+ {
+ precache_pic("gfx/reticle_nex");
+ if(reticle_type == 2 && current_zoomfraction)
+ drawpic(reticle_pos, "gfx/reticle_nex", reticle_size, '1 1 1', current_zoomfraction * cvar("cl_reticle_item_nex"), DRAWFLAG_NORMAL);
+ }
+
// Draw the mouse cursor
// NOTE: drawpic must happen after R_RenderScene for some reason
//drawpic(getmousepos(), "gfx/cursor.tga", '11 14 0', '1 1 1', 1, 0);
dummy_weapon_info.classname = "weapon_info";
dummy_weapon_info.weapon = 0; // you can recognize dummies by this
dummy_weapon_info.weapons = 0; // you can recognize dummies by this too
- dummy_weapon_info.netname = "@!#%'n Tuba";
+ dummy_weapon_info.netname = "";
+ dummy_weapon_info.message = "@!#%'n Tuba";
dummy_weapon_info.items = 0;
dummy_weapon_info.weapon_func = w_null;
dummy_weapon_info.mdl = "";
dummy_weapon_info.model = "";
dummy_weapon_info.spawnflags = 0;
+ dummy_weapon_info.model2 = "";
dummy_weapon_info.impulse = -1;
dummy_weapon_info.bot_pickupbasevalue = 0;
- dummy_weapon_info.model2 = "";
float i;
weaponorder_byid = "";
}
float Button_keyDown(entity me, float key, float ascii, float shift)
{
- if(key == K_ENTER || key == K_SPACE)
+ if(key == K_ENTER || key == K_SPACE || key == K_KP_ENTER)
{
me.clickTime = 0.1; // delayed for effect
return 1;
METHOD(ListBox, mousePress, float(entity, vector))
METHOD(ListBox, mouseDrag, float(entity, vector))
METHOD(ListBox, mouseRelease, float(entity, vector))
+ METHOD(ListBox, focusLeave, void(entity))
ATTRIB(ListBox, focusable, float, 1)
ATTRIB(ListBox, selectedItem, float, 0)
ATTRIB(ListBox, size, vector, '0 0 0')
me.pressed = 0;
return 1;
}
+void ListBox_focusLeave(entity me)
+{
+ // Reset the var pressed in case listbox loses focus
+ // by a mouse click on an item of the list
+ // for example showing a dialog on right click
+ me.pressed = 0;
+}
void ListBox_updateControlTopBottom(entity me)
{
float f;
{
case 0:
case 3:
- nexposeeKey = ((scan == K_SPACE) || (scan == K_ENTER));
+ nexposeeKey = ((scan == K_SPACE) || (scan == K_ENTER) || (scan == K_KP_ENTER));
break;
case 1:
case 2:
float XonoticCampaignList_keyDown(entity me, float scan, float ascii, float shift)
{
- if(scan == K_ENTER || scan == K_SPACE)
+ if(scan == K_ENTER || scan == K_SPACE || scan == K_KP_ENTER)
CampaignList_LoadMap(me, me);
else
return SUPER(XonoticCampaignList).keyDown(me, scan, ascii, shift);
return 1;
case K_SPACE:
case K_ENTER:
+ case K_KP_ENTER:
case K_INS:
case K_KP_INS:
me.controlledTextbox.enterText(me.controlledTextbox, CharMap_CellToChar(me.selectedCharacterCell));
float XonoticDemoList_keyDown(entity me, float scan, float ascii, float shift)
{
- if(scan == K_ENTER) {
+ if(scan == K_ENTER || scan == K_KP_ENTER) {
me.startDemo(me);
return 1;
}
{
float r;
r = 0;
- if(key == K_ENTER)
+ if(key == K_ENTER || key == K_KP_ENTER)
{
if(me.cvarName)
{
switch(key)
{
case K_ENTER:
+ case K_KP_ENTER:
case K_SPACE:
KeyBinder_Bind_Change(me, me);
break;
case K_DEL:
+ case K_KP_DEL:
case K_BACKSPACE:
KeyBinder_Bind_Clear(me, me);
break;
float XonoticMapList_keyDown(entity me, float scan, float ascii, float shift)
{
string ch, save;
- if(scan == K_ENTER)
+ if(scan == K_ENTER || scan == K_KP_ENTER)
{
// pop up map info screen
main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, me.selectedItem, me);
org = boxToGlobal(eY * (me.selectedItem * me.itemHeight - me.scrollPos), me.origin, me.size);
sz = boxToGlobalSize(eY * me.itemHeight + eX * (1 - me.controlWidth), me.size);
- if(scan == K_ENTER)
+ if(scan == K_ENTER || scan == K_KP_ENTER)
{
ServerList_Connect_Click(NULL, me);
return 1;
main.serverInfoDialog.loadServerInfo(main.serverInfoDialog, me.selectedItem);
DialogOpenButton_Click_withCoords(me, main.serverInfoDialog, org, sz);
}
- else if(scan == K_INS || scan == K_MOUSE3)
+ else if(scan == K_INS || scan == K_MOUSE3 || scan == K_KP_INS)
{
i = me.selectedItem;
if(i < me.nItems)
float XonoticSkinList_keyDown(entity me, float scan, float ascii, float shift)
{
- if(scan == K_ENTER) {
+ if(scan == K_ENTER || scan == K_KP_ENTER) {
me.setSkin(me);
return 1;
}
if(g_arena | g_assault | gameover | intermission_running | race_completing)
localcmd("restart\n");
else
- localcmd("\nsv_hook_gamerestart;");
+ localcmd("\nsv_hook_gamerestart\n");
ReadyRestartForce();
CheatInit();
- localcmd("\n_sv_hook_gamestart ", GetGametype(), ";");
+ localcmd("\n_sv_hook_gamestart ", GetGametype(), "\n");
world_initialized = 1;
}
if(cvar("g_campaign"))
CampaignPreIntermission();
- localcmd("\nsv_hook_gameend;");
+ localcmd("\nsv_hook_gameend\n");
}
/*
float leaderfrags;
float WinningCondition_Scores(float limit, float leadlimit)
{
+ float limitreached;
+
// TODO make everything use THIS winning condition (except LMS)
WinningConditionHelper();
}
}
+ limitreached = FALSE;
+ if(limit)
+ if(WinningConditionHelper_topscore >= limit)
+ limitreached = TRUE;
+ if(leadlimit)
+ {
+ float leadlimitreached;
+ leadlimitreached = (WinningConditionHelper_topscore - WinningConditionHelper_secondscore >= leadlimit);
+ if(cvar("leadlimit_and_fraglimit"))
+ limitreached = (limitreached && leadlimitreached);
+ else
+ limitreached = (limitreached || leadlimitreached);
+ }
+
return GetWinningCode(
- WinningConditionHelper_topscore &&
- (
- (limit && (WinningConditionHelper_topscore >= limit))
- ||
- (leadlimit && (WinningConditionHelper_topscore - WinningConditionHelper_secondscore >= leadlimit))
- ),
+ WinningConditionHelper_topscore && limitreached,
WinningConditionHelper_equality
);
}
}
}
- if (cvar("g_spawnpoints_autodrop"))
- {
- setsize(self, PL_MIN, PL_MAX);
- droptofloor();
- }
-
self.use = spawnpoint_use;
self.team_saved = self.team;
if (!self.cnt)