On Fri, 26 Apr 1996, Marcelo Valle Moreira wrote:
>   if (GET_ALIGNMENT(ch) >= 10000)
>     strcpy(alinhamento,  "You are a Saint.\r\n");
>   else if (GET_ALIGNMENT(ch) >= 9000)
>     strcpy(alinhamento,  "You are a Sacred Angel.\r\n");
>   else if (GET_ALIGNMENT(ch) >= 7500)
>     strcpy(alinhamento,  "You are an Angel.\r\n");
>   else if (GET_ALIGNMENT(ch) >= 5000)
>     strcpy(alinhamento,  "You are totally Good.\r\n");
>   else if (GET_ALIGNMENT(ch) >= 3000)
>     strcpy(alinhamento,  "You are Very Good.\r\n");
>   else if (GET_ALIGNMENT(ch) >= 351)
>     strcpy(alinhamento,  "You are Good.\r\n");
>   else if (GET_ALIGNMENT(ch) == 350)
>     strcpy(alinhamento,  "You are getting Good.\r\n");
>   else if (GET_ALIGNMENT(ch) >= -349)
>     strcpy(alinhamento,  "You are Neutral.\r\n");
>   else if (GET_ALIGNMENT(ch) == -350)
>     strcpy(alinhamento,  "You are getting Evil.\r\n");
>   else if (GET_ALIGNMENT(ch) >= -351)
>     strcpy(alinhamento,  "You are Evil.\r\n");
>   else if (GET_ALIGNMENT(ch) >= -3000)
>     strcpy(alinhamento,  "You are Very Evil.\r\n");
>   else if (GET_ALIGNMENT(ch) >= -5000)
>     strcpy(alinhamento,  "You are a Devil.\r\n");
>   else if (GET_ALIGNMENT(ch) >= -7500)
>     strcpy(alinhamento,  "You are a Damned Devil.\r\n");
>   else if (GET_ALIGNMENT(ch) >= -9000)
>     strcpy(alinhamento,  "You are totally Evil.\r\n");
>   else
>     strcpy(alinhamento,  "You are Damned Evil like Lucifer.\r\n");
	Ehm, unless you've changed it, alignment is between -1000 and 1000
with -350 through 350 being neutral, -351 through -1000 being evil, and
351 through 1000 being good.
	Next, I might suggest using an array (I'm array happy, so sue me
:)).  I guess since you already wrote the above it doesn't make much of a
difference, so you needn't bother with this, but, it's much nicer to just
be able to do:
int align_index(int align)
{
  return (align >= 1000 ? 0 :
          align >=  750 ? 1 :
          align >=  500 ? 2 :
          align >=  350 ? 3 : 4);
}
and in do_score, simply do:
[at the top of the function]
  int align = GET_ALIGNMENT(ch);
  int align_index(int align);
  static char *align[6][2] = {
    { "Angelic Good", "Satanic Evil" },
    { "Saintly Good", "Demonic Evil" },
    { "Lawful Good" , "Chaotic Evil" },
    { "Good"        , "Evil"         },
    { "Neutral Good", "Neutral Evil" }
  };
[where ever the alignment thing is]
  /* make negative aligns positive temporarily */
  if (align < 0) align += (align*2);
  sprintf(buf, "%sYou have %d/10 AC and are %s.\r\n", buf,
          GET_AC(ch), 
	  align[align_index(align)][GET_ALIGNMENT(ch) >= 0 ? 0 : 1]);
------------------------------------------------------------------------
	It's not the easiest way, but, IMHO, it's quicker to add in and it
probably works :)  I didn't try it, I actually wrote it right here in my
newsreader, so I might have screwed up a bit.  I made the align variable
make negative alignments positive for a purpose.  Ooops, I guess "0"
should return "Negative" not "Neutral Good"?  Simple fix...  you can do it
:)
This archive was generated by hypermail 2b30 : 12/18/00 PST