Got another one for you guys, instead of alignment being set to 0 when a
character is create, i've made it wherer the character's alignment is set
depending apon there class and race. I've wrote a little function that sets
the alignment, but im having a problem with one of them, also i dont know if
this is the best way to do it, but i'll let you guys be the judge of that:
ALIGN_GOOD = 1000
ALIGN_NEUTRAL = 0
ALIGN_EVIL = -1000
void set_alignment(struct descriptor_data *d)
{
switch (GET_RACE(d->character)) {
case RACE_HUMAN:
GET_ALIGNMENT(d->character) = ALIGN_GOOD;
return;
case RACE_BARBARIAN:
GET_ALIGNMENT(d->character) = ALIGN_NEUTRAL;
return;
case RACE_DROW:
GET_ALIGNMENT(d->character) = ALIGN_EVIL;
return;
case RACE_ELF:
GET_ALIGNMENT(d->character) = ALIGN_GOOD;
return;
case RACE_DWARF:
GET_ALIGNMENT(d->character) = ALIGN_GOOD;
return;
case RACE_DUERGAR:
GET_ALIGNMENT(d->character) = ALIGN_EVIL;
return;
case RACE_KENDER:
GET_ALIGNMENT(d->character) = ALIGN_GOOD;
return;
case RACE_GNOME:
GET_ALIGNMENT(d->character) = ALIGN_GOOD;
return;
case RACE_OGRE:
GET_ALIGNMENT(d->character) = ALIGN_EVIL;
return;
case RACE_TROLL:
GET_ALIGNMENT(d->character) = ALIGN_EVIL;
return;
case RACE_HALF_ELF:
GET_ALIGNMENT(d->character) = ALIGN_GOOD;
return;
case RACE_HALF_KENDER:
GET_ALIGNMENT(d->character) = ALIGN_GOOD;
return;
case RACE_ORC:
GET_ALIGNMENT(d->character) = ALIGN_EVIL;
return;
case RACE_HALF_ORC:
GET_ALIGNMENT(d->character) = ALIGN_EVIL;
return;
}
switch (GET_CLASS(d->character)) {
case CLASS_NECROMANCER:
GET_ALIGNMENT(d->character) = ALIGN_EVIL;
return;
}
}
My problem is that when a human necromancer is created, the alignment is set
to good, when it needs to be set to evil, however humans are a neautral
class in all respects, but necromancers are an evil class but welcome in all
towns on our mud, evil, or good.
I've tryed a vew different ways, the above, and also replacing the entire
case for HUMAN with this:
case RACE_HUMAN:
if (GET_CLASS(d->character, CLASS_NECROMANCER)) {
GET_ALIGNMENT(d->character) = ALIGN_EVIL;
} else {
GET_ALIGNMENT(d->character) = ALIGN_GOOD;
return;
However both of them failed. Any advice?
David Cole
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST