Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Command Times.



+---- Rupert G. Goldie:
| If this is implemented, one thing you have to deal with now is being
| interrupted. If you are doing something that takes a long time, you
| really want to be able to interrupt, or automatically stop if you
| are attacked. Nethack stops any long action (like wearing armour or
| eating) if you are attacked.
| 
| Ideally, you will stop automatically if attacked. There should also
| be an interrupt action to let you stop a long action, say if you see
| a monster coming your way.

I think there are two issues here.

  - The player will want to defend himself against monsters if they
    begin pounding on him.

If I had almost completed my dressing maneouver, I would prefer to
finish it and expose myself to an extra second of barrage than to
fight naked.

Ergo, let the player issue the interrupt command. The client can do it
automatically if the player wishes.

  - The player should be hampered by monsters throwing rocks at him.

There are other ways of handling this than just aborting the action.

How about this example: Inside one tick, the player received 2
interruptions. The interruptions were minor, and he only needed 0.2
ticks to resume after each interruptions. That means he had 0.6 ticks
worth of time for the action he was doing. Of course, if the
interruption was a fireball coming his way, it should have a value of
1.0 ticks. Returning to the example, if the action chosen was "walk
left" (or perhaps "run left" :-), he'd use 0.4 ticks of his next
allotment.

It goes like this:
TICK:
   Player receives allotment of 1.0 (total 1.0)
   He initiates running left (cost 1.0)
   Player is moved one place left. (total 0)
   On his way, he is interrupted for 0.6 ticks
TICK:
   Player receives allotment of 1.0, total is now 0.6
   He keeps going left
   Player is moved one place left. (total -0.4)
   On his way, is interrupted for 0.7 ticks (total -1.3)
TICK:
   The players total has fallen below -1, he can't do anything, lost
   his concentration and aborted the action. (total reset to -1)
   Player receives allotment of 1.0, total is now 0.
   The player can't do anything until his total is greater than 0
   (which is next tick, unless there are som nasty monsters nearby ;-)

Thoughts?


Kjetil T.