[crossfire] requestable spell lists.

Mark Wedel mwedel at sonic.net
Fri Dec 16 00:37:52 CST 2005


  Quick thoughts:

1) Why not just go for a straight push approach, eg, have the server send 
updates whenever needed?

  It seems as written now, you'll get the case like:
S->C: stats ... spells have changed
C->S: requestinfo spell_list
S->C: spell_list ...

  I just don't really see what we get by having to do it via a purely request 
basis.  I can't really see the client not sending a request when things change. 
  If there is the potential of client only sending requestinfo based on what 
changed, that could also be done with a push approach (setup spellmon val, and 
based on val determines what events we send spell updates.

  the other advantage of push is we can be more bandwidth efficient.  If a 
player learns a new spell, only need to send that spell down the line, and not 
all the spells if done on a pull approach.

2) I wonder if more spell info should be sent.  For example, base damage values, 
lore information, etc.  If we only send spells on push, bandwidth shouldn't be 
that costly, and it then gives the player more info to choose spells (fireball, 
24 dam, ...).  Related, I think it'd be easier all around to send the spell path 
information as a bitmask - saves some bandwidth, and the bitmasks values should 
be pretty stable (can't remember last time a new spell path was added, and even 
then, the client could just display something like 'unknown' or whatever)

3) Related to point #2, I wonder if it would be 'easier' to just send the base 
values for costs that the server users to calculate real cost.

  Otherwise, whenever the player equips an item that changes their spellpaths, 
you get the case of potentially all the spells changing in value.  Level changes 
can also effect costs, and that is likely to happen when you really don't want 
more data sent down, eg, in combat.  The only change needed for that to really 
work would be to send down the players current spellpaths in the stats command.

  Thus, the only time in this case you really need to send spell information is 
when the player learns a new spell.  That said, it does complicate the client a bit.




More information about the crossfire mailing list