]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - script_swapattacks.cfg
Fix an issue introduced with separating the script
[xonotic/xonotic-data.pk3dir.git] / script_swapattacks.cfg
1 // This script allows swapping the primary and secondary fire buttons for any weapon, using the cl_swapattacks_* cvars.
2
3 // This part of the code is necessary to keep us firing when we switch weapons while holding a fire button pressed.
4 // Also updates the keys before firing, so we don't have to switch to another weapon and back to apply the changes
5 set fire_last 0
6 set fire2_last 0
7 alias +fire "firing_swap_apply $firing_lastweapon; set fire_last 1; +checkattack"
8 alias -fire "set fire_last 0; -checkattack"
9 alias +fire2 "firing_swap_apply $firing_lastweapon; set fire2_last 1; +checkattack2"
10 alias -fire2 "set fire2_last 0; -checkattack2"
11 alias firing_switch_attack_0 ""
12 alias firing_switch_attack2_0 ""
13 alias firing_switch_attack_1 "+fire"
14 alias firing_switch_attack2_1 "+fire2"
15 alias firing_switch "-fire; -fire2; firing_switch_attack_$fire_last; firing_switch_attack2_$fire2_last;"
16
17 // now apply changes to the key binds and get the weapon we are using
18 alias firing_decision_0 "alias +checkattack +attack; alias -checkattack -attack; alias +checkattack2 +attack2; alias -checkattack2 -attack2"
19 alias firing_decision_1 "alias +checkattack +attack2; alias -checkattack -attack2; alias +checkattack2 +attack; alias -checkattack2 -attack"
20 alias firing_swap_apply "firing_decision_${$1}"
21 alias firing_swap "firing_swap_apply cl_swapattacks_$1; set firing_lastweapon cl_swapattacks_$1; firing_switch"
22
23 // not correct, but prevents firing from braking after executing the script until switching weapons
24 alias +fire +attack
25 alias -fire -attack
26 alias +fire2 +attack2
27 alias -fire2 -attack2