|
@@ -1,18 +1,35 @@
|
|
package main
|
|
package main
|
|
|
|
|
|
|
|
+type ComputerCombatMode uint8
|
|
|
|
+
|
|
|
|
+const (
|
|
|
|
+ CCM_Passive ComputerCombatMode = iota // The Ship will not do anything, even when attacked
|
|
|
|
+ CCM_Defend // The Ship will only attack once it has been attacked first
|
|
|
|
+ CCM_Attack // The Ship will attack on sight
|
|
|
|
+)
|
|
|
|
+
|
|
type ShipModel struct {
|
|
type ShipModel struct {
|
|
ID ID
|
|
ID ID
|
|
Name string
|
|
Name string
|
|
|
|
+ RequiredExperience uint64
|
|
|
|
+ RequiredAlignment int64 // Use negative for "Evil" and positive for "Good"
|
|
MaxFighters uint64
|
|
MaxFighters uint64
|
|
MaxShields uint64
|
|
MaxShields uint64
|
|
|
|
+ FightersPerAttack uint64 // Limits number of fighters per attack command (though the player can always specify an amount)
|
|
|
|
+ HasComputerController bool
|
|
|
|
+ MaxHolds uint64
|
|
|
|
+ MaxGenUpgrades uint64
|
|
|
|
+ StartingHolds uint64
|
|
GenShieldAmount uint64
|
|
GenShieldAmount uint64
|
|
GenShieldTurns uint64
|
|
GenShieldTurns uint64
|
|
GenFighterAmount uint64
|
|
GenFighterAmount uint64
|
|
GenFighterTurns uint64
|
|
GenFighterTurns uint64
|
|
- CanLand bool
|
|
|
|
- AttackRatio float32
|
|
|
|
- DefenseRatio float32
|
|
|
|
- CanWarp bool
|
|
|
|
|
|
+ MaxHangers uint64
|
|
|
|
+ StartingHangers uint64
|
|
|
|
+ CanLand bool // Can land on planets
|
|
|
|
+ OrbitRatio float32 // ie. While in orbit of a planet increase fighter efficiency, 2.0 means 1:2, while 0.5 means 2:1
|
|
|
|
+ CanWarp bool // Can a Warp Drive be installed
|
|
|
|
+ WarpCost uint64 // Number of Ore used per Sector distance to Warp (Lower is more efficient)
|
|
}
|
|
}
|
|
|
|
|
|
type Ship struct {
|
|
type Ship struct {
|
|
@@ -21,8 +38,27 @@ type Ship struct {
|
|
CorpOwned bool
|
|
CorpOwned bool
|
|
Model ID
|
|
Model ID
|
|
Name string
|
|
Name string
|
|
|
|
+ ComputerControlled bool
|
|
|
|
+ CombatMode ComputerCombatMode
|
|
|
|
+ ComputedAttackAmount float32 // 1.0 for all fighters, 0.25 for 25%, etc.
|
|
|
|
+ LandedOn ID
|
|
|
|
+ InShip bool
|
|
|
|
+ Hangers uint64
|
|
Fighters uint64
|
|
Fighters uint64
|
|
Shields uint64
|
|
Shields uint64
|
|
GenFighterTick uint64
|
|
GenFighterTick uint64
|
|
GenShieldTick uint64
|
|
GenShieldTick uint64
|
|
|
|
+ GenUpgrades uint64
|
|
|
|
+ GenUpFighterAmount uint64
|
|
|
|
+ GenUpFighterTurns uint64
|
|
|
|
+ GenUpShieldAmount uint64
|
|
|
|
+ GenUpShieldTurns uint64
|
|
|
|
+ Holds uint64
|
|
|
|
+ Ore uint64
|
|
|
|
+ Org uint64
|
|
|
|
+ Equ uint64
|
|
|
|
+ People uint64
|
|
|
|
+ Mines uint64
|
|
|
|
+ TrackerMines uint64
|
|
|
|
+ WarpDrive bool // Does this ship have a Warp Drive installed?
|
|
}
|
|
}
|