b4624050b9c0e54e1338c82b1f25bfd4ba316ccd
[xonotic/xonotic-data.pk3dir.git] / script_swapattacks.cfg
1 // This script allows swapping the primary and secondary fire buttons for any weapon
2
3 // Set the cvars for each gun
4 seta cl_swapattacks_tuba 0
5 seta cl_swapattacks_laser 0
6 seta cl_swapattacks_shotgun 0
7 seta cl_swapattacks_uzi 0
8 seta cl_swapattacks_campingrifle 0
9 seta cl_swapattacks_grenadelauncher 0
10 seta cl_swapattacks_electro 0
11 seta cl_swapattacks_hlac 0
12 seta cl_swapattacks_crylink 0
13 seta cl_swapattacks_minstanex 0
14 seta cl_swapattacks_nex 0
15 seta cl_swapattacks_hagar 0
16 seta cl_swapattacks_seeker 0
17 seta cl_swapattacks_fireball 0
18 seta cl_swapattacks_rocketlauncher 0
19 seta cl_swapattacks_hook 0
20 seta cl_swapattacks_porto 0
21
22 // This part of the code is necessary to keep us firing when we switch weapons while holding a fire button pressed
23 // Also updates the keys before firing, so we don't have to switch to another weapon and back to apply the changes
24 set fire_last 0
25 set fire2_last 0
26 alias +fire "firing_swap_apply $firing_lastweapon; set fire_last 1; +checkattack"
27 alias -fire "set fire_last 0; -checkattack"
28 alias +fire2 "firing_swap_apply $firing_lastweapon; set fire2_last 1; +checkattack2"
29 alias -fire2 "set fire2_last 0; -checkattack2"
30 alias firing_switch_attack_0 ""
31 alias firing_switch_attack2_0 ""
32 alias firing_switch_attack_1 "+fire"
33 alias firing_switch_attack2_1 "+fire2"
34 alias firing_switch "-fire; -fire2; firing_switch_attack_$fire_last; firing_switch_attack2_$fire2_last;"
35
36 // Now apply changes to the key binds and get the weapon we are using
37 alias firing_decision_0 "alias +checkattack +attack; alias -checkattack -attack; alias +checkattack2 +attack2; alias -checkattack2 -attack2"
38 alias firing_decision_1 "alias +checkattack +attack2; alias -checkattack -attack2; alias +checkattack2 +attack; alias -checkattack2 -attack"
39 alias firing_swap_apply "firing_decision_${$1}"
40 alias firing_swap "firing_swap_apply cl_swapattacks_$1; set firing_lastweapon cl_swapattacks_$1; firing_switch"
41
42 // Not correct, but prevents firing from braking after executing the script until switching weapons
43 alias +fire +attack
44 alias -fire -attack
45 alias +fire2 +attack2
46 alias -fire2 -attack2