Added reverse cycling for the spray pattern selection. Also shows list index now.
This commit is contained in:
parent
364fb7e7ab
commit
c453013abf
@ -174,8 +174,12 @@ class SnekTechSprayer : HDWeapon
|
||||
}
|
||||
goto waiting;
|
||||
|
||||
unload:
|
||||
KSPR A 2 { invoker.CycleSprayPattern(-1); }
|
||||
goto waiting;
|
||||
|
||||
firemode:
|
||||
KSPR A 2 { invoker.CycleSprayPattern(); }
|
||||
KSPR A 2 { invoker.CycleSprayPattern(1); }
|
||||
goto waiting;
|
||||
|
||||
waiting:
|
||||
@ -299,7 +303,7 @@ class SnekTechSprayer : HDWeapon
|
||||
}
|
||||
}
|
||||
|
||||
void CycleSprayPattern()
|
||||
void CycleSprayPattern(int increment)
|
||||
{
|
||||
// Find the current entry in the list of patterns.
|
||||
String currentPattern = CVar.GetCVar("snektech_spraypattern", owner.player).GetString();
|
||||
@ -313,8 +317,11 @@ class SnekTechSprayer : HDWeapon
|
||||
currentIndex = -1;
|
||||
}
|
||||
|
||||
// Increment the index.
|
||||
int newIndex = (currentIndex + 1) % patternList.size();
|
||||
// Increment/decrement the index.
|
||||
int newIndex = (currentIndex + increment) % patternList.size();
|
||||
if(newIndex < 0) {
|
||||
newIndex = patternList.size() - 1;
|
||||
}
|
||||
|
||||
// Set the new CVar.
|
||||
currentPattern = patternList[newIndex];
|
||||
@ -323,7 +330,14 @@ class SnekTechSprayer : HDWeapon
|
||||
CVar.FindCVar("snektech_spraypattern").SetString(currentPattern);
|
||||
// then update the per-player copy so the help text is correct
|
||||
CVar.GetCVar("snektech_spraypattern", owner.player).SetString(currentPattern);
|
||||
owner.A_Log("Selected spray pattern: "..currentPattern, true);
|
||||
|
||||
// Print it.
|
||||
owner.A_Log(
|
||||
String.format(
|
||||
"Selected spray pattern: (%d/%d) %s",
|
||||
newIndex + 1, patternList.size(),
|
||||
currentPattern),
|
||||
true);
|
||||
|
||||
// Current pattern is referenced in the help text, so reset
|
||||
// it.
|
||||
@ -352,6 +366,7 @@ class SnekTechSprayer : HDWeapon
|
||||
|
||||
return
|
||||
WEPHELP_FIREMODE .. " Cycle pattern (current: "..currentPattern..").\n"..
|
||||
WEPHELP_UNLOAD .. " Cycle pattern (backwards).\n"..
|
||||
WEPHELP_ALTFIRE .. " Shake the can.\n"..
|
||||
WEPHELP_FIRE .. " "..messages[messageIndex % messages.Size()].."\n";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user