00001 // $Id: subfleet__basic_8h-source.html,v 1.1 2002/06/20 17:09:51 mkrohn5 Exp $ 00002 // 00003 // subfleet basic rules implementation Header File 00004 // Written by: Ralf Laue 00005 // 00006 // Copyright (C) 2001 - , Ralf Laue <ralf.laue@gmx.de> 00007 // 00008 // This program is free software; you can redistribute it and/or modify 00009 // it under the terms of the GNU General Public License as published by 00010 // the Free Software Foundation; either version 1, or (at your option) 00011 // any later version. 00012 // 00013 // This program is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 // GNU General Public License for more details. 00017 00018 #ifndef __SUBFLEET_BASIC_INCLUDED 00019 #define __SUBFLEET_BASIC_INCLUDED 00020 00021 #include "common/defs.h" 00022 #include "gamelogic/subfleet.h" 00023 00024 class TFleet; 00025 class TShipDesign; 00026 00027 /**************************** class TSubFleetBasic *****************************/ 00028 00029 00039 class TSubFleetBasic : public TSubFleet 00040 { 00041 public: 00048 TSubFleetBasic( TShipDesign* ShipDesign, int2 NumberOfShips ); 00056 TSubFleetBasic( TSubFleetBasic& OldSubFleet ); 00060 virtual ~TSubFleetBasic(); 00074 virtual bool getUpgradeCosts( TSubstanceSet* UpgradeCosts ) const; 00081 virtual void getRepairCost( TSubstanceSet* RepairCost ) const; 00085 virtual void RepairSubfleet(); 00090 virtual int4 getActualHullHP() const; 00098 virtual int4 getFTLFuelConsumption( double Speed, double Distance=1 ) const; 00102 virtual double getFTLMaxSpeed() const; 00108 virtual double getFTLMovementDistance( double Speed ) const; 00115 virtual double getFTLBreakDownProbability( double Speed ) const; 00121 virtual double getLongScannerRange( TScanner::tScannerType ScannerType ) const; 00129 virtual bool IsColonizer() const; 00131 virtual void setFuel( int4 Fuel ); 00135 virtual int4 getFuel() const; 00144 virtual bool load( TDataPackageList* in ); 00152 virtual bool save( TDataPackageList* out ) const; 00158 virtual TSubFleetBasic& operator=( const TSubFleetBasic& SubFleet ); 00159 private: 00160 int2 fFuel; 00161 }; 00162 00163 00164 00165 00166 00167 #endif // __SUB_FLEET_INCLUDED