Ignore:
Timestamp:
Dec 23, 2002, 4:06:13 PM (18 years ago)
Author:
Sam Hocevar
Message:
  • better handling of special weapon timeout.
  • the bomb is now part of the standard fire button effect.
  • overlay for life and special weapon jauges.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ttyvaders/trunk/src/main.c

    r60 r62  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: main.c,v 1.14 2002/12/23 13:46:27 sam Exp $
     6 *   $Id: main.c,v 1.15 2002/12/23 15:06:13 sam Exp $
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    8585            switch( key )
    8686            {
    87                 case 'q':
    88                     quit = 1;
    89                     break;
    90                 case 'p':
    91                     poz = !poz;
    92                     break;
    93                 case '\t':
    94                     ceo_alert();
    95                     poz = 1;
    96                     break;
    97                 case 's':
    98                     skip = 1;
    99                     break;
     87            case 'q':
     88                quit = 1;
     89                break;
     90            case 'p':
     91                poz = !poz;
     92                break;
     93            case '\t':
     94                ceo_alert();
     95                poz = 1;
     96                break;
     97            case 's':
     98                skip = 1;
     99                break;
     100            default:
     101                if( g->p->dead )
     102                {
     103                    break;
     104                }
     105
     106                switch( key )
     107                {
    100108                case 'h':
    101109                    g->p->vx = -2;
     
    111119                    break;
    112120                case 'n':
    113                     if( g->p->nuke == 0 )
    114                     {
    115                         g->p->nuke = 40;
     121                    if( g->p->special >= COST_NUKE )
     122                    {
     123                        g->p->special -= COST_NUKE;
    116124                        add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, 0, WEAPON_NUKE );
    117125                    }
    118126                    break;
    119                 case '\r':
    120                     if( g->p->nuke == 0 )
    121                     {
    122                         g->p->nuke = 40;
     127                case 'f':
     128                    if( g->p->special >= COST_FRAGBOMB )
     129                    {
     130                        g->p->special -= COST_FRAGBOMB;
     131                        add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_FRAGBOMB );
     132                    }
     133                    break;
     134                case 'b':
     135                    if( g->p->special >= COST_BEAM )
     136                    {
     137                        g->p->special -= COST_BEAM;
    123138                        add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, 0, WEAPON_BEAM );
    124139                    }
    125140                    break;
    126                 case 'f':
    127                     if( g->p->nuke == 0 )
    128                     {
    129                         g->p->nuke = 40;
    130                         add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_FRAGBOMB );
    131                     }
    132                     break;
    133                 case 'b':
    134                     if( g->p->weapon == 0 )
    135                     {
    136                         g->p->weapon = 4;
    137                         add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_BOMB );
    138                     }
    139141                case ' ':
    140142                    if( g->p->weapon == 0 )
     
    143145                        add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, 0, -32, WEAPON_LASER );
    144146                        add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 0, -32, WEAPON_LASER );
    145                         /* Extra shtuph */
     147                        /* Extra schtuph */
    146148                        add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, -24, -16, WEAPON_SEEKER );
    147149                        add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 24, -16, WEAPON_SEEKER );
    148                         /* More shtuph */
     150                        /* More schtuph */
    149151                        add_weapon( g, g->wp, (g->p->x + 1) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER );
    150152                        add_weapon( g, g->wp, (g->p->x + 4) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER );
    151                         /* Even more shtuph */
     153                        /* Even more schtuph */
    152154                        add_weapon( g, g->wp, (g->p->x + 2) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER );
    153155                        add_weapon( g, g->wp, (g->p->x + 3) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER );
    154                         /* Extra shtuph */
     156                        /* Extra schtuph */
    155157                        add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, -32, 0, WEAPON_SEEKER );
    156158                        add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 32, 0, WEAPON_SEEKER );
    157                     }
    158                     break;
     159                        /* MORE SCHTUPH! */
     160                        add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_BOMB );
     161                    }
     162                    break;
     163                }
    159164            }
    160165        }
     
    210215        draw_weapons( g, g->wp );
    211216        draw_player( g, g->p );
     217        draw_overlay( g );
    212218
    213219        /* Refresh */
Note: See TracChangeset for help on using the changeset viewer.