Ship

From BotE Wiki
Revision as of 23:47, 24 February 2017 by Darkness (talk | contribs) (translation of topic -ship- / completed)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

There are different kind of Ships which can be divided in Type or Class.

Classification by Ship and their use:

  • Scout: Are used for exploring and for fights.
  • Transport Ship: Are used to build Outposts and Starbases, for transport of ressources or troops or to conquer enemy systems (with troops).
  • Colony Ship: Are used to colonize new systems or terraform uninhabited planets (inhabited too).
  • Cruiser, Destroyer, Fighter and Frigate are used in Ship fights and for bombardement. For these types special usage is planned but not programmed yet.
  • Outposts und Starbases expanding the area in which Ships can move. Additionally they help to expand the own territory.

>>note from Darkness: You get way less territory than movement range (depending of your tech, the higher the more range). An Outpost makes only the centerfield your territory and additionally you get some extra fields depending on how much surrounding fields of your own territory you have (notice for me: search for the algorythm thread in the forum). A Starbase gives you the center field and all fields that surround the center field plus one field in each direction of the next surrounding circle as your territory.


see also


Command Ships

How you move or command Ships is written here.

Building Ships

-> Shipyard

Image

FlaggschiffTerraner.jpg

  • left: Crew Experience (here 4 points, if you have a fleet you only see the experience of the name giving Ship)
  • top left: Flaggship-Symbol (Symbol of the Empire won’t be shown if the Ship is part of a fleet)
  • top right: Symbol for activated Camouflage
  • bottom right: Troops-Symbol if you transport troops
  • right: hull armor condition green to red
  • right: Shields (blue bar)
  • right: Name of the Ship/ the fleet
  • right: Ship Class


Image: Display in the Galactic Map

GalaktischeKarte-Raumschiffe.jpg


Image: Overview of all Ships

In the game there is furthermore an overview for all own ("current" and "lost") Ships. Details you can find here.

UebersichtSchiffe.jpg


Terms

  • Ship Type="purpose of the Ship" (Example Colony Ship)
  • Ship Class="product series" (Example Seraphine)
  • Ship Name (Example USS Adelaide from the product series Seraphine): The Ship Names are taken randomly from the Shipnames.data.


Shiplist.data

The Ship Classes at the beginning of a game(!) are defined through the Shiplist.data (see ShipEditor) which contain the default settings for them.

An overview in form of an Excel-file is here.


During the course of the game the ship classes and thus the Beams , Torpedo, armor and Shields of the Ships can be upgraded in the Ship Design Menu.


Threads in Forum

Special Abilitys Ships (Assignments)

The Special Abilitys of the Ships (Assignments) are described here.


Capture-Ships: Capturing ships are not planned http://forum.birth-of-the-empires.de/viewtopic.php?f=40&t=2497 (search entry t=2497). You find a lot of entrys in the german forum if you search for "Kapern" (capture).

Maintenance Costs

A Ship causes maintenance. Above the NaviCon the costs are displayed. If you move your mouse over the grafic you can see even before you start building a Ship the maintenance costs in the Tooltip.

Crew-Experience

The Crew Experience will be displayed in the ship symbol on the left. The exact point value is visible in the Overview all Ships (Column "Exp.").The crew is bound to their Ship and can’t transfer to other Ships.

If there is a building for crew training on the field your Ship stays you can give the order Training (Ongoing Order).


>>note from Darkness: Old Version. In new one the order doesn't exist anymore. Instead you get always extra experience if your ship stays (minimum one round)on a system with a building which generates crew experience points.


Rank (Quelle: Ship.cpp)

experience Level Display File \Graphics\Other\
< 250 0 Greenhorn none none
< 500 1 Beginner 1 point xp_beginner.png</img> xp_beginner.bop
< 1000 2 Normal 2 points xp_normal.png</img> xp_normal.bop
< 2500 3 Profi 3 points xp_profi.bop
< 5000 4 Veteran 4 points xp_vetaran.bop
< 10000 5 Elite 5 points xp_elite.bop
> 10000 6 Legend 6 points xp_legend.bop

Thread im Forum: Crew-Experience http://forum.birth-of-the-empires.de/viewtopic.php?f=13&t=1903 (search entry t=1903)

Experience Gain

Every Ship gets at the moment 50 experience per round (not included special training units from planetary buildings). Experience gain through fights isn’t implemented at the moment.


>>note from Darkness: I’m not sure about that but I think Blotunga have done the experience gain through fight already.


Thread in Forum: Crew Experience Gain http://birth-of-the-empires.de/phpBB3/viewtopic.php?f=40&t=786 (search entry t=786)


Effect of Crew Experience

The amount of experience (more specific the rank) makes a difference in fights. For example a Ship A with Rank 4 have a better chance to win a fight than an identical Ship B with rank 2.


Effect in Fights

Quelle: CombatShip.cpp

Every Rank gives the Ship a 20% bonus on damage repair. Additionally the hit probability rises.

Example: Level 4 Veteran = 4 x 20% = 80%.

Hypothesis: If based on maximum hull capacity:

  • max. Hull Capacity 400
  • Damage 50% = 200
  • Standard-Repair in a ShipPort: 10% = 40
  • Bonus "Veteran" 80% from 40 = 32 more damage repair points, therfore 72 points will be repaired per round

Ship Battle

Ship Battles are described here.

OffensivePower

Values of AT-Class:

	shipdetails	HULL.CPP: BaseHull:600, CurrentHull:600, HullMaterial:0, MaxHull:600, DblHull:false, Ablative:false, Pola:true
	shipdetails	FIREARC.CPP: m_nMountPos:0, m_nAngle:75
	shipdetails	TORPEDOWEAPONS.CPP: Human Mod 2 Tube: Type:0, per_Shoot:1, FireRate:50, NrOT:2, byA:50, OnlyMicro:no
	shipdetails	FIREARC.CPP: m_nMountPos:180, m_nAngle:75
	shipdetails	TORPEDOWEAPONS.CPP: Human Mod 2 Tube: Type:0, per_Shoot:1, FireRate:50, NrOT:1, byA:50, OnlyMicro:no
	shipdetails	FIREARC.CPP: m_nMountPos:0, m_nAngle:55
	shipdetails	BEAMWEAPONS.CPP: Laser Emitter: Damage:5, Type:5, NrAtShip:3, byShoot:1, Bonus:10, BeamTime:3, RechargeTime:7, Piercing:no, Modulation:no
	shipdetails	FIREARC.CPP: m_nMountPos:20, m_nAngle:55
	shipdetails	BEAMWEAPONS.CPP: Laser Emitter: Damage:5, Type:5, NrAtShip:1, byShoot:1, Bonus:10, BeamTime:3, RechargeTime:7, Piercing:no, Modulation:no
	shipdetails	FIREARC.CPP: m_nMountPos:180, m_nAngle:55
	shipdetails	BEAMWEAPONS.CPP: Laser Emitter: Damage:5, Type:5, NrAtShip:1, byShoot:1, Bonus:10, BeamTime:3, RechargeTime:7, Piercing:no, Modulation:no
	shipdetails	FIREARC.CPP: m_nMountPos:340, m_nAngle:55
	shipdetails	BEAMWEAPONS.CPP: Laser Emitter: Damage:5, Type:5, NrAtShip:1, byShoot:1, Bonus:10, BeamTime:3, RechargeTime:7, Piercing:no, Modulation:no
	shipdetails	SHIPINFO.CPP: m_iRace: 1, m_strOnlyInSystem: , m_strObsoletesClass: , Techs: B:0, E:0, Comp:0, P:0, C:0, W:1 
	shipdetails	SHIPINFO.CPP: Needed: Ind:822, T:600, Deu:0, Du:0, C:0, I:0, Deritium:1 
	shipdetails	SHIPINFO.CPP: Base: Ind:822, T:600, Deu:0, Du:0, C:0, I:0, Deritium:1 
(in Program-Code: Ship.cpp::GetCompleteOffensivePower)

Beams - not completed yet

Code Example: AT-Class Example2:
Calcutaled for 100 j < 100
Beam-Bonus *dTypeBonus = Type / 10 Type 5 / 10 = 0.5
Beam-Bonus2 *dTypeBonus = dTypeBonus * BeamBonus (e.g. 20%) 0.5 * 20% = 10%
Beam effects this time counter = Beamlength + RechargeTime 3 + 7 = 10
as long as counter smaller than (only) RechargeTime tempBeamDmg = BeamPower(Dmg) * BeamNumber * ShootNumber 5 * 3 * 1 = 15 (bold line above)
bHalfDmg when BeamPower() * 0.1 < 1; 5 * 0.1 = 0.5 = < 1 so HalfDmg= TRUE (YES)
Piercing (passing through shields) tempBeamDmg * 1,5 AT has no piercing beam >>note from Darkness: actual formula how piercing works can be found (Site 16 / Post 1:31 AM) [here]
Modulating tempBeamDmg * 3 AT has no modulating beam
if not Modulating and HalfDmg=yes then HalfDmg tempBeamDmg /2 7
at the end (to summary of all beams) (AT has 6 Beams) BeamDmg * dTypeBonus / 2

(inside Program-Code: Ship.cpp::GetCompleteOffensivePower)

Calculation for AT-Class
	shipdetails	SHIPINFO.CPP: m_iNeededIndustryAfterBeam=112 (beamTypeAdd:112)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=7 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=14 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=21 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=28 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=35 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=42 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=49 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=56 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=63 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=70 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=77 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=84 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=91 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=98 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=105 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=112 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=119 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=126 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=133 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=140 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=147 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=154 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=161 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=168 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=175 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=182 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=189 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=196 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=203 (tempBeamDmg=7)
	shipdetails	Ship.cpp: tempBeamDmg=15, bHalfDmg=1, DAMAGE_TO_HULL=0.1(allways)
	shipdetails	Ship.cpp: tempBeamDmgAfterPiercing(*1,5)=15
	shipdetails	Ship.cpp: tempBeamDmgAfterModulating(*3 else if halfdmg /2)=7
	shipdetails	Ship.cpp: BeamDmg=210 (tempBeamDmg=7)
	shipdetails	Ship.cpp: BeamDmgAfterdTypeBonus=115 (*dTypeBonus)

Repair

look at Repair

No Upgrades

Ship upgrades should not exist. (reason: prevention of known botf exploit: build many old Ships, then research new technology and they are all top tier Ships)


>>note from Darkness: Blotunga want to work on upgrade possibilitys. Exploit can be for example prevented by forced manual upgrades instead of automatic ones which can include extra costs to compensate the gained tech advantage. A time period to complete the upgrade can be of use too. This would help to make big parts of fleets useable over a long time while at the moment your early tech Ships are totally useless if you try to fight middle tech Ships. (that normally leads to a strategy there you don’t build much War Ships in the early/mid game but spam the map with colony and transport ships instead ~~)


Description of Ship Class

The Ship Classes are described here:


Afterwards follows an overview about the classification in ship types and their stages of development.


Ship Types

HerrderGezeiten (Thanks!) have assigned (Version Alpha 6.1) the ship types to the tech level hier (3 Sheets !)


0 = Transport Ship

1 = Colony Ship

2 = Probe

3 = Scout

4 = Fighter

5 = Frigate

6 = Destroyer

7 = Cruiser

8 = Heavy Destroyer

9 = Heavy Cruiser

10 = Battleship

11 = Flagship (>>note from Darkness: Should be Dreadnaught? )

12 = Outpost

13 = Starbase

14 = Alien


Names of Ships

The names of the Ships are taken from the MAJORxShipNames.data from Birth of the Emp...\Data\Names and have the background:

  • USS... Terran Citys/Rivers/Star Pictures or similar
  • HMS... Words around the Finances
  • IKS... Words in khaoron (probably named after the captains wifes ^^)
  • RSN... Birds of Prey/Birds/Insects/or similar combined with dark, shadow aso.
  • CAI... Words around destruction/Predators or similar
  • OMG... Greek letters/words


Minor Ships

and the Ships of the Minors which are listed by the current Minor Description

Ship Type 2 = Probe: none

Ship Type 12 = Outpost: none

Ship Type 13 = Starbase: none

Details about Ship Classes

With the following Ship Class Names you can look up the exact informations in the ShipEditor. An overview as excel sheet you can find here.

Ship and Station Information

[COLONIZATION]

[OUTPOST_CONSTRUCTION]

[STARBASE_CONSTRUCTION]

[STATION_BUILDING]

construction of § is §% completed
Source: StringTable.txt // news reports