home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Issue 2 / Freelog_HS_3_Setp_Oct_Nov_2000_CD2.mdx / Arcade / Orbit / src / weapon.c < prev   
C/C++ Source or Header  |  1999-09-11  |  3KB  |  106 lines

  1. /*
  2.  
  3. ORBIT, a freeware space combat simulator
  4. Copyright (C) 1999  Steve Belczyk <steve1@genesis.nred.ma.us>
  5.  
  6. This program is free software; you can redistribute it and/or
  7. modify it under the terms of the GNU General Public License
  8. as published by the Free Software Foundation; either version 2
  9. of the License, or (at your option) any later version.
  10.  
  11. This program is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with this program; if not, write to the Free Software
  18. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  19.  
  20. */
  21.  
  22. #include "orbit.h"
  23.  
  24. /*
  25.  *  Stuff for weapons
  26.  */
  27.  
  28. InitWeapons()
  29. /*
  30.  *  Set them up
  31.  */
  32. {
  33.     int i;
  34.  
  35.     strcpy (weapon[0].name, "Laser");
  36.     weapon[0].speed = 4000.0 / KM_TO_UNITS1;
  37.     weapon[0].yield = 20.0;
  38.     weapon[0].idle = 0.2;
  39.     weapon[0].expire = 1.0;
  40.     weapon[0].renderer = 1;
  41.     weapon[0].color[0] = 1.0;
  42.     weapon[0].color[1] = 1.0;
  43.     weapon[0].color[2] = 0.0;
  44.  
  45.     strcpy (weapon[1].name, "PhotonRay");
  46.     weapon[1].speed = 5000.0 / KM_TO_UNITS1;
  47.     weapon[1].yield = 30.0;
  48.     weapon[1].idle = 0.3;
  49.     weapon[1].expire = 0.75;
  50.     weapon[1].renderer = 2;
  51.     weapon[1].color[0] = 0.0;
  52.     weapon[1].color[1] = 0.0;
  53.     weapon[1].color[2] = 1.0;
  54.  
  55.     strcpy (weapon[2].name, "IonGun");
  56.     weapon[2].speed = 4000.0 / KM_TO_UNITS1;
  57.     weapon[2].yield = 30.0;
  58.     weapon[2].idle = 0.5;
  59.     weapon[2].expire = 1.5;
  60.     weapon[2].renderer = 3;
  61.     weapon[2].color[0] = 0.0;
  62.     weapon[2].color[1] = 1.0;
  63.     weapon[2].color[2] = 0.0;
  64.  
  65.     strcpy (weapon[3].name, "Disruptor");
  66.     weapon[3].speed = 3000.0 / KM_TO_UNITS1;
  67.     weapon[3].yield = 60.0;
  68.     weapon[3].idle = 1.0;
  69.     weapon[3].expire = 1.5;
  70.     weapon[3].renderer = 4;
  71.     weapon[3].color[0] = 1.0;
  72.     weapon[3].color[1] = 1.0;
  73.     weapon[3].color[2] = 0.0;
  74.  
  75.     /* Spare weapons for enemies */
  76.     for (i=NPLAYER_WEAPONS; i<NWEAPONS; i++)
  77.     {
  78.         strcpy (weapon[i].name, "Spare");
  79.         weapon[i].speed = 6000.0 / KM_TO_UNITS1;
  80.         weapon[i].yield = 15.0;
  81.         weapon[i].idle = 2.0;
  82.         weapon[i].expire = 1.0;
  83.         weapon[i].renderer = 0;
  84.         weapon[i].color[0] = 1.0;
  85.         weapon[i].color[1] = 0.0;
  86.         weapon[i].color[2] = 0.0;
  87.     }
  88.  
  89.     /* Compute weapon ranges */
  90.     WeaponRanges();
  91. }
  92.  
  93. WeaponRanges()
  94. /*
  95.  *  Compute weapon range for all weapons
  96.  */
  97. {
  98.     int w;
  99.  
  100.     for (w=0; w<NWEAPONS; w++)
  101.     {
  102.         weapon[w].range2 = weapon[w].speed * weapon[w].expire;
  103.         weapon[w].range2 = weapon[w].range2 * weapon[w].range2;
  104.     }
  105. }
  106.