All ideas tagged "movement points"

#4045

 · 
vanilla

Replace the whole speed system with the one from Tales of Maj’Eyal, another roguelike. This has a strict concept of a “global speed”, i.e. a number of movement points you are given every global turn. Every possible action has an associated movement point cost, which allows for things like zapping a wand to take less time and be done more frequently than making a melee attack. This gets rid of the weird existing system where, in ToME terms, your most recent action defines how much global speed you get, particularly if riding is involved.

One way to start implementing this is to have all the action functions that currently return 0 for no time taken or 1 for time taken to instead return a bitmask of all types of actions taken: “moved”, “attacked”, “cast a spell”, etc. Then the main loop code that handles these return values deducts movement points corresponding to the slowest action in this bitmask.

#3776

 · 
vanilla

Speed boots can give you additional movement points equal to their enchantment. There are a couple non-mutually-exclusive options for doing this:

  • This only works for blessed speed boots.
  • If the enchantment is negative, they subtract movement points, to a minimum of 1.
  • To avoid the amount of movement points being predictable, the number of bonus movement points is slightly fuzzed by adding a random number from -1 to +1 each time it’s applied.
  • The boots do not themselves provide any bonus movement, or provide a smaller one than they do now. The bonus from enchantment makes up the bulk of it.

#3209

 · 
vanilla

A monster carrying a loadstone is slowed to half or 2/3 of its normal speed.

#2560

 · 
vanilla

Monks who have passed through all the “Student of X” titles may go back and speak to the Grand Master to choose an elemental specialization and receive a power related to it. Stone gives a physical damage reduction; Air gives a random extra movement point here and there and a rare chance of dodging an attack. Water automatically counterattacks melee attacks. Fire boosts attacking power or gives extra attacks.

#2455

 · 
vanilla

If the demigod flag is set, increase the speed of all non-sessile monsters (by giving them extra movement points).

#2181

 · 
vanilla

You can wish for time. This decreases the turn count a bit, or alternatively gives you a large amount of movement points so that time effectively stops for everyone else besides you for a while (like what SpliceHack’s scroll of time does).

#1789

 · 
vanilla

Monster speed system that tries to keep all the good qualities of 3.6.1’s while also not letting randomization make monsters super fast or super slow: add a 16 bit int to the monst struct, and every 12 turns set (speed % 12) of them to 1. Then on each turn, the monster gets (speed / 12) moves, plus 1 if the bit for that turn is 1. This 12-turn cycle would need to be phase shifted randomly per monster (probably using hashing based on monster ID) so that you can’t move-count based on the turn clock.

Research on an efficient algorithm to generate the series of 12 bits has found this, though it might be more entropy-efficient in the long run simply to generate all 4094 permutations of bits and randomly pick one with the correct number of bits whenever needed.

#1715

 · 
vanilla

Fleeing monsters may randomly get a few bonus movement points each turn.

#1521

 · 
vanilla

Adjust NetHack’s monster speed system to accommodate the additional property that if your speed is greater than a monster’s, it is impossible for that monster to move 2 turns in a row before you get to act.

Various ideas to give the bonus from certain sources of speed only as a bonus to movement, not to getting more turns to attack, use items, etc.

  • First, to classify: most agree that speed boots, intrinsic speed, and steed speed should be sources that only give extra movement opportunities, while polyform speed should give extra full turns. Less agreement on magical sources of very fast speed (the potion and haste self), but general opinion seems to be that these should also not be limited to movement.
  • Add a second pool of movement points that coexists with regular movement points, but can be used ONLY for moving. Speed boots and its fellow sources add to this pool, and any unused points in it are discarded at the end of the player’s turn. When you make a movement, points are deducted from this pool before being deducted from the “core” pool. Note that this approach can cause core points to accumulate to the point where the player can eventually get multiple non-movement actions on their turn.
  • Reduce the movement point cost if you are taking a movement action and have sources of movement-only speed. (This might interact oddly if general-purpose sources of speed continue to add movement points as usual.)

#1425

 · 
vanilla

Boots with the random appearance of “hiking” slightly decrease the speed penalties if you are encumbered.

Monks get a small amount of free bonus movement points when they kill a monster bare-handed, and also gain a small amount of free bonus movement points while making movement actions and not wearing body armor.

#796

 · 
vanilla

Make the amount of bonus movement points from temporary speed directly dependent on its remaining duration, with it gradually decreasing back to normal as the speed wears off. Also provide diminishing returns where giving yourself more speed boosts on top of already having temporary speed gives you less extra duration than it otherwise would, until eventually you can’t get any more duration than 1 per turn. These bonus movement points should also stack directly with all other speed sources, and be visible to the user in the status bar.

#689

 · 
vanilla

Instead of a mslow flag in the monst struct, use a signed char called “speedbon” which represents the amount of speed offset that the monster should have from its normal speed. This allows for more nuanced speed mechanics, like zapping a wand of speed monster or slow monster multiple times and having the effects stack.