[crossfire] Player creation bug

Mark Wedel mwedel at sonic.net
Tue Feb 22 00:55:01 CST 2011


On 02/13/11 03:47 AM, Tolga Dalman wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> currently, the player creation in crossfire 1.60 is broken.
> You can reproduce it by doing the following with the
> crossfire-client 1.60:
> - - create new character: fire hatchling/monk
> - - maximize str, dex and con
> - - set remaining stats so that they are 1 in total
> - - distribute the remaining points to pow
>
> This will fail, because the stats are checked after applying the
> race (but not the class). The attached patch fixes this issue.

  I'm not quite sure if I understand the problem or not.

  I tried to do that, and got a message saying stat to low.  That is correct 
behavior IMO.

  The old rolled method would allow for class combos where the minimum stats 
were not meant - that is no longer allowed, and that was an intentional change - 
since the player can distribute points, they can more easily make sure they meet 
the minimum values.

  I also think this is needed for balance - if a class has a big stat penalty, 
you need to spend some points to offset that penalty.  If one does not need to 
spend any points to offset penalties, then the penalties become a lot less 
meaningful (don't put any points, and the fact there is a -8 penalty doesn't 
mean anything)

>
> Being on this topic, I have some suggestions for the crossfire-client.
> I think it is already pretty good, however for a normal user like
> me it is quite difficult to create a character in a sane way.
> So I suggest:
> 1. add descriptions for stats (e.g. tooltips).

  Already there - at least they work for me.

> 2. make the stat number field read-only (this feature is actually not useful,
>     but rather confusing and error-prone).

  Entering stat numbers by hand works (I presume you mean the base attribute 
value).  Maybe it was just my testing, but I often would just enter the numbers 
directly vs using the spin wheels.

> 3. when selecting a race or class automatically update the stats to the required
>     minimum values. Also, these values should become constraints, i.e. pushing
>     the '-' should not yield in stats lower 1.
> 4. disallow negative unspent stat points. This should be a simple check in the
>     '+' buttons.

#3 is perhaps reasonable - I'll defer that to the community.  My initial thought 
was that if one wanted to look through the different races and classes, one 
might want to be able to see those different choices without it messing with the 
values one set.

  For example, one might be making up a barbarian, and current has human.  Given 
this is a barbarian, str, dex, con are maxed, remaining points in cha, and 
int,wis,pow are minimum.

  I might then decide I want to see what things would look like if I did a troll 
instead.  If select troll increases the base stat values, it means I just can 
not go back and select human (after deciding I don't like troll) and get those 
same values back.

  And conversely, on point #4, that compounds the issue.  Eg, I select troll, it 
updates the stats to minimum values - now I have negative stat points.  So now 
it goes and decreases the high stats to make things legal.  If I go back to 
human, then those stat values are really nothing close to what I had put in before.

  I'm not 100% sure what is the best way here - each one has its pros and cons. 
  My initial implementation of that was to make it very easy to experiment with 
different combos, which means it does allow illegal values when playing around.


> 5. "Choose starting map" should be replaced by the actual drop-down menu with
>     "Scorn" as default value.

  I had issues fitting the description in.  I had also thought that maybe at 
some point, that even gets extended with an image of some sort representing the 
map choice.


More information about the crossfire mailing list