[CF-Devel] (automatic) apply rings

crossfire-devel-admin at archives.real-time.com crossfire-devel-admin at archives.real-time.com
Mon Mar 31 06:24:04 CST 2003


Mark Wedel wrote:
>
     
     
     >
     
        Some could consider unwearing the ring worn the longest to not be ideal.  Eg,
     
     >
     
      this ring is one I want to always wear, it is the other ring I want to swap on
     
     >
     
      and off.  OTOH, that isn't really supported right now anyways.
     
     
Good point.

>
     
        I was thinking that it could be nice to bind the rings to specific locations,
     
     >
     
      eg, apply left finger ring of the like.  But since there is no requirement that
     
     >
     
      a creature only has 2 ring fingers, doing this could be difficult.
     
     
Snake characters :). If a creature has only one ring finger, it had to
remove the outer ring first, before it could unapply the inner ring -
but we don't have to be that realistic, of course. Or consider some
ring magic :) when even our real world magicians can join rings.

>
     
        One question is - at what resolution does first need to be tracked?
     
     
Just a boolean resolution. When a ring is applied it get's a last
recently applied tag and before that all such tags are removed. If we
had more than 2 rings we would number the rings, increase the numbers
and remove the ring that gets MAX_RINGFINGERS+1. Something like this.

>
     
      But as I think about this further, the less I think it should be the server
     
     >
     
      tracking this - it should really be the client.
     
     
Mhm. But the client could not keep track of last recently applied
rings after quitting or sleeping in bed of reality. It could try so in
a save file but there might be some confusion if the player used a
different client in the meanwhile. That would not matter much for my
FIFO, but for your stack (keep longest worn ring on).

>
     
        Would it be sufficient to just have a command that unapplies all your rings?
     
     
That would help with keybound commands, yes. But when I apply a ring
with the mouse and then another the one applied just before may still
get unapplied which is annoying. Hmm, we could make a mixed mode: When
no action (except something like examine rings) happens between
applying 2 rings then the FIFO scheme is used. If there is some action
between, then the stack scheme is used. Sounds good. Somebody who
applies 2 rings in a row probably wants them both on.

Hmm, we could make the body parts containers in the players directory.
This way one could also lock a ring on the fingers. Hmm, that would
remove the used rings from the main directory. But somehow locking a
ring out of the FIFO would be good when you want to keep a ring while
switching the other. Hmm, probably even better would be a new
additional type of locking that prevents only implicit unapplying when
something else is applied. But then we need some way to break out of
this lock if we need to put on 2 emergency rings. 'unwear all rings'
would work here.

>
     
        Would it be sufficient to just have a command that unapplies all your rings?
     
     
I also like it much better not to remove things before I use others.
This is an extra command that takes time and may open a short time
vulnerability. If the unapply happens automatically (in the server)
this is maybe even an atomic action. But, well, atomic key changing is
not realistic so it need not be in the game. An extra command also
takes up space in the byte limited keybindings.

Bernhard

-- 
Low end Serverhousing ab 25 e inkl. 1x 11 e/GB, etc.: 
     
     http://bksys.at
     
     

_______________________________________________
crossfire-devel mailing list
     
     crossfire-devel at lists.real-time.com
     
     
     https://mailman.real-time.com/mailman/listinfo/crossfire-devel
     
     
    


More information about the crossfire mailing list