Mercurial > ~darius > hgwebdir.cgi > paradise_client
diff varydamage.c @ 3:5a977ccbc7a9 default tip
Empty changelog
author | darius |
---|---|
date | Sat, 06 Dec 1997 05:41:29 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/varydamage.c Sat Dec 06 05:41:29 1997 +0000 @@ -0,0 +1,103 @@ +/* $Id: varydamage.c,v 1.1.1.1 1997/12/06 05:41:31 darius Exp $ */ + +/* + * redraw.c + */ +#include "copyright.h" + +#include <stdio.h> +#include <signal.h> +#include <math.h> +#include "Wlib.h" +#include "defs.h" +#include "struct.h" +#include "data.h" +#include "packets.h" +#include "proto.h" +#include "gameconf.h" + +void +doShields(dx, dy, ship_bits, j) + int dx, dy; + struct ship_shape *ship_bits; + struct player *j; +{ + if (showShields && (j->p_flags & PFSHIELD)) { + /*-----------Colored shields by shield damage--------*/ + + int color = playerColor(j); + if (show_shield_dam && j == me) { + float ft; + + ft = (float) j->p_shield / (float) j->p_ship->s_maxshield; + if (ft > 0.66) + color = gColor; + else if (ft > 0.33) + color = yColor; + else if (j->p_shield > 5) + color = rColor; + else + color = unColor; + } +#if 0 /* shields the alert color, ick */ + switch (me->p_flags & (PFGREEN | PFYELLOW | PFRED)) { + case PFGREEN: + color = gColor; + break; + case PFYELLOW: + color = yColor; + break; + /* red shield tough to see */ + case PFRED: + color = playerColor(j); + break; + } +#endif + W_WriteBitmap(dx - (ship_bits->width / 2), + dy - (ship_bits->height / 2), + ship_bits->shield, color); + } +} + +#ifdef VARY_HULL +void +doHull(dx, dy, ship_bits, j) + int dx, dy; + struct ship_shape *ship_bits; + struct player *j; +{ + if (j == me && vary_hull) { + int hull_left = (100 * (me->p_ship->s_maxdamage - + me->p_damage)) / me->p_ship->s_maxdamage, hull_num = 7; + int hull_color; + + if (hull_left <= 16) { + hull_num = 0; + hull_color = W_Red; + } else if (hull_left <= 28) { + hull_num = 1; + hull_color = W_Red; + } else if (hull_left <= 40) { + hull_num = 2; + hull_color = W_Red; + } else if (hull_left <= 52) { + hull_num = 3; + hull_color = W_Yellow; + } else if (hull_left <= 64) { + hull_num = 4; + hull_color = W_Yellow; + } else if (hull_left <= 76) { + hull_num = 5; + hull_color = W_Yellow; + } else if (hull_left <= 88) { + hull_num = 6; + hull_color = W_Green; + } else + hull_color = W_Green /* playerColor (j) */ ; + + W_WriteBitmap(dx - (ship_bits->width / 2 + 1), + dy - (ship_bits->height / 2 + 1), + hull[hull_num], hull_color); + } +} +#endif /* VARY_HULL */