[CF-Devel] Race/Class code split snapshot up for review

Peter Mardahl peterm at tesla.EECS.Berkeley.EDU
Fri Oct 13 17:27:20 CDT 2000


Hello,

  I've essentially completed the Race/Class code split.

Race/class characteristics are in
     
     http://langmuir.eecs.berkeley.edu/~peterm/Class.html
     
     
     http://langmuir.eecs.berkeley.edu/~peterm/Race.html
     
     

The snapshot is at:
     
     http://langmuir.eecs.berkeley.edu/pub/peterm/crossfire/race_class
     
     

I will wait for public comment and new images for some classes
before putting these changes into CVS.  "dnh" is doing 
some new art for the new classes.  Thanks, dnh and Andreas Vogl
and others for your input.

Features:
1)  All old-style characters still work.
2)  All clients still work.
3)  New characters first choose a race like they're used to doing.
Then, they get put on a map to choose a class.

4)  Choosing a class will change the players face/animation to
that of the class, except for Wraiths, Fireborn, and Quetzalcoatls,
which keep their own faces.

5)  Races can now have built in special intrinsics such as faster
or slower spellpoint regen.

6)  Stat mods, except for mods to Charisma, have a zero sum in most
cases.  I.e., sum(str,dex,con,wis,int,pow) = 0, except for Fireborn,
Quetzalcoatls, and monks, who get higher stats as compensation for
not using weapons/armor.


How I did things:
1)  Races are players as before.  Classes are a new type of thing
which get applied to races by an object called a "player changer".
The player applies class characteristcs and starting inventory
to a player and teleports him.  Player changers could easily
be made to add experience to a player, though that is NIY.  That
would be useful for quest rewards.

2) Moving initial players into the selection-map is done in a klugy way.
For the life of me i could not figure out the code in input.c and
player.c which could have inserted a new player into the selection map
automatically.
I tried many things which should have worked but did not.  Eventually,
I inserted a Word of Recall object into new players which pulled
them into the Hall of Selection.  This is a hack, I know, but I
couldn't come up with anything better.  I invite someone else to.

3) Race spellpoint regen/sustenance/hp regen modifications and
certain other mods were implemented by placing a permanent force
into their inventory.  Similarly, another inventory object
is used to prevent the class-mod from changing the players face.

4)  lib/treasures lists the skills/attribute objects for the
various races and classes.

5)  arch/player/class and arch/player/race are the directories
for the new player and race objects. 


Regards,

PeterM

    
    


More information about the crossfire mailing list