this works now :)
/* When ch kills victim */
/* new alignment algorithm to permit slower changes, taerin 7/27/98 */
void change_alignment(struct char_data * ch, struct char_data * victim)
{
bool lose_align = FALSE;
int diff_align = 0;
diff_align = GET_ALIGNMENT(victim) - GET_ALIGNMENT(ch);
/* if you kill a 'better' person, you shall become more evil */
if (diff_align >= 0)
lose_align = TRUE;
else
diff_align = -diff_align;
/* you will always change by at least 1 alignment point */
diff_align = MAX(1, (diff_align >> 9));
/* chrs are bound by the -999 and 999 limits, making it possible
to kill mobs which are more extreme than the chr and allowing
align swings */
if (lose_align == TRUE)
GET_ALIGNMENT(ch) = MAX(-999, GET_ALIGNMENT(ch) - diff_align);
else
GET_ALIGNMENT(ch) = MIN(999, GET_ALIGNMENT(ch) + diff_align);
}
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST