in class.c change your byte saving_throws and thack0 to these:
byte saving_throws(int class_num, int type, int level)
{
switch (class_num) {
case CLASS_MAGIC_USER:
switch (type) {
case SAVING_PARA: /* Paralyzation */
return 70 - level;
case SAVING_ROD: /* Rods */
return 50 - level;
case SAVING_PETRI: /* Petrification */
return 65 - level;
case SAVING_BREATH: /* Breath weapons */
return 75 - level;
case SAVING_SPELL: /* Generic spells */
return 60 - level;
default:
log("SYSERR: Invalid saving throw type.");
}
break;
case CLASS_CLERIC:
switch (type) {
case SAVING_PARA: /* Paralyzation */
return 60 - level;
case SAVING_ROD: /* Rods */
return 70 - level;
case SAVING_PETRI: /* Petrification */
return 65 - level;
case SAVING_BREATH: /* Breath weapons */
return 80 - level;
case SAVING_SPELL: /* Generic spells */
return 75 - level;
default:
log("SYSERR: Invalid saving throw type.");
}
break;
case CLASS_THIEF:
switch (type) {
return 60 - (level/2);
case SAVING_ROD: /* Rods */
return 70 - (level/2);
case SAVING_PETRI: /* Petrification */
return 60 - (level/2);
case SAVING_BREATH: /* Breath weapons */
return 80 - (level/2);
case SAVING_SPELL: /* Generic spells */
return 75 - (level/2);
default:
log("SYSERR: Invalid saving throw type.");
}
break;
case CLASS_WARRIOR:
switch (type) {
case SAVING_PARA: /* Paralyzation */
return 70 - (level/3);
case SAVING_ROD: /* Rods */
return 80 - (level/3);
case SAVING_PETRI: /* Petrification */
return 70 - (level/3);
case SAVING_BREATH: /* Breath weapons */
return 80 - (level/2);
case SAVING_SPELL: /* Generic spells */
return 75 - (level/3);
default:
log("SYSERR: Invalid saving throw type.");
}
default:
log("SYSERR: Invalid class saving throw.");
}
/* Should not get here unless something is wrong. */
return 100;
}
/* THAC0 for classes and levels. (To Hit Armor Class 0) */
int thaco(int class_num, int level)
{
int mod;
swicth(class_num) {
case CLASS_MAGIC_USER: mod = 5; break;
case CLASS_WARRIOR: mod = 1; break;
case CLASS_CLERIC: mod = 3; break;
case CLASS_THIEF: mod = 2; break;
default: mod = 5; break;
}
return 100 - (mod * level);
/* Will not get there unless something is wrong. */
return 100;
}
*note* this is based on a 100 level system, alter to suit your needs. This
will also allow the adding of levels and classes without a large amount of
hassle and will save key strokes, when/if I learn how do do patches I'll
toss this one up on the ftp site.
James
`Up, Down, Over, and Through, Back arround the Jokes on you!'
-- Magic the Gathering
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST