Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Vanilla (http://angband.oook.cz/forum/forumdisplay.php?f=3)
-   -   [Feature Request] Make 'repeat last command' only repeat in-game commands (http://angband.oook.cz/forum/showthread.php?t=655)

CunningGabe March 22, 2008 00:43

[Feature Request] Make 'repeat last command' only repeat in-game commands
 
(Big Al posted this on the bugtracker, and I have some thoughts, so I'm putting some discussion here).

Here is Big Al's original suggestion:

Quote:

I use the n key a *lot* when playing (ie. repeat last command), but there are some things that should not be repeatable. Actions like 'moving the screen around', 'targeting a monster', 'viewing the help files', 'viewing the inventory', 'doing a char dump', 'doing the start of a command sequence but then canceling it', etc.

This would be immensely any many situations where eg. I'm frost-bolting a monster repeatedly, then I want to check my inventory for something and then go back to frost-bolting again. Currently, I'd need to recast and retarget the monster. It's most especially useful when I accidentally make a typo. Only "in game" actions should be repeated.
I like this idea - I had never used 'n' until recently, but it is immensely useful in repeated archery and spellcasting. That said, we'd have to be very careful: people might differ on what they think counts as an in-game command. At worst, if people find that the 'n' key doesn't always repeat what they want (or sometimes repeats things they don't want), then they'll stop using it altogether. The current usage has consistency going for it.

It does make me think of an interesting idea, however; what if, when you issued a command, there was a key that meant "do this command the way I did last time"? In other words, if the last time you fired an arrow you used f0*t5 (fired ammo inscribed with @f0 at the nearest monster), then you could press, say, f= to do the same thing. This way, even if you look at your inventory for a moment, you can still f= to fire a shot at the nearest monster. It's kind of like Angband would set up a temporary macro for any command which takes an object.

I'm not sure how hard this would be to code, or how useful people would find it, but I'll throw it out there as an idea.

Gabe

Big Al March 22, 2008 02:10

I remember now the original reason that I wanted this feature - when I'm enchanting up something with a scroll of enchant xxx: eg. I have a weapon with a certain enchantment on it and a big stack of enchant to-dam scrolls; I want to enchant it up to +9. I read the scroll once, and then press n a half a dozen more times to get it close to +9 (but I lose track of what its exact enchantment is). Then I'd want to press i to check the actual enchantment, and if it's still under +9, press n to continue the enchanting process.

Currently, the second n command would repeat the last keypress you did (in this case, look at the inventory), rather than the last action you did (in this case, enchant the weapon).

It's also weird if you start a command sequence, but cancel it before you actually do the action. Here if you press n, instead of doing the last command you actually did, it will do the canceled action instead.

EDIT: Also, slightly related, if you rest for a specific number of turns (eg. 100) and then press n again, it will prompt you for the number of turns to rest for again. This is annoying when: if I have a full inventory and want to pseudo-id something I'm carrying, I often just hit 'R100' to rest for a little bit. But occasionally, 100 turns is not enough to pseudo-id it, so I want to be able to just press n to rest for another 100 turns.

CunningGabe March 22, 2008 02:20

Quote:

Originally Posted by Big Al (Post 6732)
EDIT: Also, slightly related, if you rest for a specific number of turns (eg. 100) and then press n again, it will prompt you for the number of turns to rest for again. This is annoying when: if I have a full inventory and want to pseudo-id something I'm carrying, I often just hit 'R100' to rest for a little bit. But occasionally, 100 turns is not enough to pseudo-id it, so I want to be able to just press n to rest for another 100 turns.

Currently (i.e. in dev), nothing pseudo-ids as you rest! But I see your point :)

Kadoles March 22, 2008 14:19

how do you repeat last cmd in rogue mode?

ekolis March 22, 2008 17:47

Heh, once in Ironband (where scrolls have fail rates if you have low enough INT) I held down "n" for a while to try and read a scroll... and I would up reading several other scrolls I was carrying, including one of summon monster! Perhaps the "n" command should stop working for item-usage commands once you run out of a stack of items? ;)

roustk March 22, 2008 18:12

Quote:

Originally Posted by Kadoles (Post 6745)
how do you repeat last cmd in rogue mode?

^v (control-v)

Kevin

roustk March 22, 2008 18:17

Quote:

Originally Posted by ekolis (Post 6752)
Perhaps the "n" command should stop working for item-usage commands once you run out of a stack of items? ;)

I actually like the current behavior. I often have an inventory that looks like:
v) 12 Arrows (1d4) (+7,+4) {@f1=g}
w) 90 Arrows (1d4) (+0,+0) {@f0=g}

If I start firing arrows with f1*t, I can just keep on repeating and the game will fire all of my enchanted arrows and then start firing the plain ones without needing a new command. I won't be bothered until my first target dies (and then I can just hit *t again).

Kevin

Kadoles March 22, 2008 21:13

thanks. i couldn't figure it out.


All times are GMT +1. The time now is 11:00.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.