/* -*- LPC -*- */
/*
* $Locker: $
* $Id: colour.c,v 1.1 1998/01/06 05:03:33 ceres Exp $
* $Log: colour.c,v $
* Revision 1.1 1998/01/06 05:03:33 ceres
* Initial revision
*
*/
#include <colour.h>
string calc_colour( int red, int green, int blue, int whitener ) {
int main_hue;
string result;
result = "";
if ( whitener > -1 ) {
switch ( red + green + blue ) {
case 0 .. 4 :
return "colourless";
case 5 .. 29 :
result += "faint ";
break;
case 30 .. 154 :
break;
default :
result += "intense ";
}
}
return result;
} /* calc_colour() */
/*
string add_colour( string word, int fine, int crude, int xp_thresh,
int sp_thresh ) {
int temp;
temp = member_array( word, colour_names );
if ( temp != -1 ) return "colour already exists";
colour_names += ({ word });
colour_details += ([ word : ({ fine, crude, xp_thresh, sp_thresh }) ]);
save_cmr_handler();
return "the colour "+ word +", a shade of "+ ( ( fine == crude )?
"pure ":MODIFIERS[fine] ) + COLOURS[crude] +", with thresholds of "+
xp_thresh +" xp and "+ sp_thresh +" sp";
} add_colour()
string identify_colour( string word, object player ) {
int temp, *args;
temp = member_array( word, colour_names );
if ( temp == -1 ) return "unknown colour";
args = allocate( 4 );
args = colour_details[word];
if ( !player )
return word;
switch ( ( ( player->query_total_xp() ) > args[2] ) +
( ( player->query_max_social_points() ) > args[3] ) ) {
case 0: return COLOURS[args[1]];
case 1: return ( ( ( args[0] == args[1] )?"pure ":MODIFIERS[args[0]] ) +
COLOURS[args[1]] );
default: return word;
}
} identify_colour()
*/