configs_export

package
v1.106.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2026 License: AGPL-3.0 Imports: 42 Imported by: 3

Documentation

Index

Constants

View Source
const (
	LootMaxWrecks     = 4
	LootMaxFLSR       = 2
	LootMaxEncounters = 2

	LootMaxNotFoundNPCDrops = 1
	LootMaxPhantom          = 1
)
View Source
const (
	BaseLootableName     = "Lootable"
	BaseLootableFaction  = "Wrecks and Encounters"
	BaseLootableNickname = "base_loots"
)

It fixes issue of Guns obtainable only via wrecks being invisible

View Source
const LimitBestPaths = 3000

Variables

View Source
var (
	KiloVolume    float64 = 1000
	MaxKilVolumes float64 = 100
)
View Source
var LogOgE = math.Log10(math.E)
View Source
var Pi180 = 180 / math.Pi // number turning radians to degrees
View Source
var TwoWayLimitConnnectingTimeS = float64(300)
View Source
var TwoWayLimitRoutes = 2500
View Source
var TypeClassRegex *regexp.Regexp

Functions

func Buyable

func Buyable(Bases map[cfg.BaseUniNick]*MarketGood) bool

func DistanceForVecs

func DistanceForVecs(Pos1 *semantic.Vect, Pos2 *semantic.Vect) (float64, error)

func Empty

func Empty(phrase string) bool

func EnhanceBasesWithServerOverrides

func EnhanceBasesWithServerOverrides(bases []*Base, commodities []*Commodity)

func GetMaxRadius

func GetMaxRadius(Size *semantic.Vect) (float64, error)

func GetModelWithoutLastComments added in v1.101.5

func GetModelWithoutLastComments(item_model *semantic.Model) []*inireader.Param

GetModelWithoutLastComments this function eliminates bug https://github.com/darklab8/fl-darkstat/issues/94 when people write comments after the model ini params already for next ini sector we should not be printing such comments

func GetPricePerVoume

func GetPricePerVoume(price int, volume float64) float64

func GetProffitPerTime added in v1.76.1

func GetProffitPerTime(g *GraphResults, BuyingGood *MarketGood, SellingGood *MarketGood) float64

memory optimized version of GetProffitPerTime

func GetPtrStructCopy added in v1.75.0

func GetPtrStructCopy[T any](b *T) *T

func GetTimeS added in v1.77.0

func GetTimeS(g *GraphResults, BuyingGood *MarketGood, SellingGood *MarketGood) float64

func GetValuePtr added in v1.100.3

func GetValuePtr[K any](some_func func() (K, bool)) *K

func HasLinersAndetc added in v1.103.1

func HasLinersAndetc(trade_route *TwoWayDeal) bool

func HasPoBs added in v1.103.1

func HasPoBs(trade_route *TwoWayDeal) int

func InitRegexExpression

func InitRegexExpression(expression string) *regexp.Regexp

func IsAnyVignetteWithinNPCSpawnRange

func IsAnyVignetteWithinNPCSpawnRange(system *systems_mapped.System, npc_spawn_zone *systems_mapped.MissionPatrolZone) bool

func KiloVolumesDeliverable added in v1.77.0

func KiloVolumesDeliverable(buying_good *MarketGood, selling_good *MarketGood) float64

func NameWithSpacesOnly

func NameWithSpacesOnly(word string) bool

func StrPosToVectorPos

func StrPosToVectorPos(value string) *cfg.Vector

func VectorToSectorCoord

func VectorToSectorCoord(system *universe_mapped.System, pos cfg.Vector) string

Types

type Ammo

type Ammo struct {
	Name  string `json:"name" validate:"required"`
	Price int    `json:"price" validate:"required"`

	HitPts           int     `json:"hit_pts" validate:"required"`
	Volume           float64 `json:"volume" validate:"required"`
	MunitionLifetime float64 `json:"munition_lifetime" validate:"required"`

	Nickname     string  `json:"nickname" validate:"required"`
	NameID       int     `json:"name_id" validate:"required"`
	InfoID       int     `json:"info_id" validate:"required"`
	SeekerType   *string `json:"seeker_type" validate:"required"`
	SeekerRange  *int    `json:"seeker_range" validate:"required"`
	SeekerFovDeg *int    `json:"seeker_fov_deg" validate:"required"`

	Bases map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`

	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`

	AmmoLimit AmmoLimit `json:"ammo_limit" validate:"required"`
	Mass      float64   `json:"mass" validate:"required"`
}

func (Ammo) GetBases added in v1.63.0

func (b Ammo) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Ammo) GetDiscoveryTechCompat added in v1.63.0

func (b Ammo) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Ammo) GetNickname added in v1.63.0

func (b Ammo) GetNickname() string

type AmmoLimit

type AmmoLimit struct {
	// Disco stuff
	AmountInCatridge *int
	MaxCatridges     *int
}

type Base

type Base struct {
	Name               string               `json:"name"  validate:"required"`       // Infocard Name
	Archetypes         []string             `json:"archetypes"  validate:"required"` // Base Archetypes
	Nickname           cfg.BaseUniNick      `json:"nickname"  validate:"required"`
	FactionName        string               `json:"faction_name"  validate:"required"`
	System             string               `json:"system_name"  validate:"required"`
	SystemNickname     string               `json:"system_nickname"  validate:"required"`
	Region             string               `json:"region_name"  validate:"required"`
	StridName          int                  `json:"strid_name"  validate:"required"`
	InfocardID         int                  `json:"infocard_id"  validate:"required"`
	File               utils_types.FilePath `json:"file" validate:"required"`
	BGCS_base_run_by   string
	MarketGoodsPerNick map[CommodityKey]*MarketGood `json:"-" swaggerignore:"true"`
	Pos                cfg.Vector                   `json:"pos" validate:"required"`
	SectorCoord        string                       `json:"sector_coord" validate:"required"`

	cfg.Reachability

	Missions    *BaseMissions `json:"-" swaggerignore:"true"`
	*MiningInfo `json:"mining_info,omitempty"`
	IsPob       bool `validate:"required"`
}

func FitlerToUsefulOres

func FitlerToUsefulOres(bases []*Base) []*Base

func (Base) GetNickname added in v1.63.0

func (b Base) GetNickname() string

type BaseBestPathTimes added in v1.76.1

type BaseBestPathTimes struct {
	TransportProfitPerTime *float64
	FrigateProfitPerTime   *float64
	FreighterProfitPerTime *float64
}

type BaseInfo

type BaseInfo struct {
	BaseNickname cfg.BaseUniNick `json:"base_nickname" validate:"required"`
	BaseName     string          `json:"base_name" validate:"required"`
	SystemName   string          `json:"system_name" validate:"required"`
	Region       string          `json:"region_name" validate:"required"`
	FactionName  string          `json:"faction_name" validate:"required"`
	BasePos      cfg.Vector      `json:"base_pos" validate:"required"`
	SectorCoord  string          `json:"sector_coord" validate:"required"`
}

type BaseMissions

type BaseMissions struct {
	MinOffers         int
	MaxOffers         int
	Factions          []*MissioNFaction
	NpcRanksAtBaseMap map[int]bool
	NpcRanksAtBase    []int

	EnemiesAtBaseMap map[string]*EnemyFaction

	MinMoneyAward int
	MaxMoneyAward int
	Vignettes     int
	Err           cfg.Err
}

type BaseRoute

type BaseRoute struct {
	*Route
	FromBase *Base
	ToBase   *Base
}

func NewBaseRoute

func NewBaseRoute(g *GraphResults, FromBase *Base, ToBase *Base) *BaseRoute

type BestTradeDealsOutput added in v1.94.0

type BestTradeDealsOutput struct {
	OneWayDeals []*TradeDeal
	TwoWayDeals []*TwoWayDeal
}

type Bribe

type Bribe struct {
	BaseNickname string `json:"base_nickname"  validate:"required"`
	BaseInfo
	cfg.Reachability
	Chance float64 `json:"chance"  validate:"required"`
}

type BurstFire

type BurstFire struct {
	SustainedRefire float64 `json:"sustained_fire" validate:"required"`
	Ammo            int     `json:"ammo" validate:"required"`
	ReloadTime      float64 `json:"reload_time" validate:"required"`

	SustainedHullDamagePerSec      float64 `json:"sustained_hull_dmg_per_sec" validate:"required"`
	SustainedAvgShieldDamagePerSec float64 `json:"sustained_avg_shield_dmg_per_sec" validate:"required"`
	SustainedEnergyDamagePerSec    float64 `json:"sustained_energy_dmg_per_sec" validate:"required"`
	SustainedPowerUsagePerSec      float64 `json:"sustained_pwer_usage_per_sec" validate:"required"`
}

type Cloak added in v1.64.0

type Cloak struct {
	Name  string `json:"name" validate:"required"`
	Price int    `json:"price" validate:"required"`

	HitPts int     `json:"hit_pts" validate:"required"`
	Volume float64 `json:"volume" validate:"required"`

	Nickname string `json:"nickname" validate:"required"`
	NameID   int    `json:"name_id" validate:"required"`
	InfoID   int    `json:"info_id" validate:"required"`

	PowerUsage   float64 `json:"power_usage" validate:"required"`
	CloakInTime  int     `json:"cloakintime" validate:"required"`
	CloakOutTime int     `json:"cloakouttime" validate:"required"`

	Bases                map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`
	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`
}

func (Cloak) GetBases added in v1.64.0

func (b Cloak) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Cloak) GetDiscoveryTechCompat added in v1.64.0

func (b Cloak) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Cloak) GetNickname added in v1.64.0

func (b Cloak) GetNickname() string

type ComboRoute

type ComboRoute struct {
	Transport *BaseRoute
	Frigate   *BaseRoute
	Freighter *BaseRoute
}

type ComboTradeRoute

type ComboTradeRoute struct {
	Transport *TradeRoute
	Frigate   *TradeRoute
	Freighter *TradeRoute
}

type Commodity

type Commodity struct {
	Nickname              string                          `json:"nickname"  validate:"required"`
	PriceBase             int                             `json:"price_base"  validate:"required"`
	Name                  string                          `json:"name"  validate:"required"`
	Combinable            bool                            `json:"combinable"  validate:"required"`
	Volume                float64                         `json:"volume"  validate:"required"`
	ShipClass             *cfg.ShipClass                  `json:"ship_class"`
	NameID                int                             `json:"name_id"  validate:"required"`
	InfocardID            int                             `json:"infocard_id"  validate:"required"`
	Infocard              infocarder.InfocardKey          `json:"infocard_key"  validate:"required"`
	Bases                 map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`
	PriceBestBaseBuysFor  int                             `json:"price_best_base_buys_for"  validate:"required"`
	PriceBestBaseSellsFor int                             `json:"price_best_base_sells_for"  validate:"required"`
	ProffitMargin         int                             `json:"proffit_margin"  validate:"required"`
	Mass                  float64                         `json:"mass"  validate:"required"`
}

func (Commodity) GetBases added in v1.63.0

func (b Commodity) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Commodity) GetNickname added in v1.63.0

func (b Commodity) GetNickname() string

type CommodityKey

type CommodityKey string

func GetCommodityKey

func GetCommodityKey(nickname string, ship_class *cfg.ShipClass) CommodityKey

func (CommodityKey) ToStr added in v1.71.0

func (c CommodityKey) ToStr() string

type CompatibleIDsForTractor

type CompatibleIDsForTractor struct {
	TechCompat float64
	Tractor    *Tractor
}

type CounterMeasure

type CounterMeasure struct {
	Name  string `json:"name"  validate:"required"`
	Price int    `json:"price"  validate:"required"`

	HitPts        int     `json:"hit_pts"  validate:"required"`
	AIRange       int     `json:"ai_range"  validate:"required"`
	Lifetime      float64 `json:"lifetime"  validate:"required"`
	Range         int     `json:"range"  validate:"required"`
	DiversionPctg int     `json:"diversion_pctg"  validate:"required"`

	Lootable bool   `json:"lootable"  validate:"required"`
	Nickname string `json:"nickname"  validate:"required"`
	NameID   int    `json:"name_id"  validate:"required"`
	InfoID   int    `json:"indo_id"  validate:"required"`

	Bases map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`

	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`

	AmmoLimit AmmoLimit `json:"ammo_limit"  validate:"required"`
	Mass      float64   `json:"mass"  validate:"required"`
}

func (CounterMeasure) GetBases added in v1.63.0

func (b CounterMeasure) GetBases() map[cfg.BaseUniNick]*MarketGood

func (CounterMeasure) GetDiscoveryTechCompat added in v1.63.0

func (b CounterMeasure) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (CounterMeasure) GetNickname added in v1.63.0

func (b CounterMeasure) GetNickname() string

type CraftableDiscoInfo added in v1.105.0

type CraftableDiscoInfo struct {
	FactoryName    *string
	Command        string
	Products       []Product
	RequiredLevel  *int
	LoopProduction bool
	CookMinutes    float64
	TotalVolume    float64
}

type CraftableFLSRInfo added in v1.102.0

type CraftableFLSRInfo struct {
	Ingredients []Ingredient
	BaseNames   []string
	CostPrice   int
	Command     string
	Products    []Product
}

type CraftableInfo added in v1.105.0

type CraftableInfo struct {
	FLSR  CraftableFLSRInfo
	Disco CraftableDiscoInfo
}

type DamageBonus

type DamageBonus struct {
	Type     string  `json:"type" validate:"required"`
	Modifier float64 `json:"modifier" validate:"required"`
}

type DefenseMode

type DefenseMode int

func (DefenseMode) ToStr

func (d DefenseMode) ToStr() string

type DiffToMoney

type DiffToMoney struct {
	MinLevel   float64
	MoneyAward int
}

type DiscoGun

type DiscoGun struct {
	ArmorPen float64 `json:"armor_pen" validate:"required"`
}

type DiscoMiningSystem added in v1.92.0

type DiscoMiningSystem struct {
	NuAsteroidsCount int
	NuAsteroidsTotal int
	// contains filtered or unexported fields
}

type DiscoShip

type DiscoShip struct {
	ArmorMult float64 `json:"armor_mult" validate:"required"`
}

type DiscoveryIDRephacks

type DiscoveryIDRephacks struct {
	Rephacks map[cfg.FactionNick]*Rephack `json:"rephacks" validate:"required"`
}

func (DiscoveryIDRephacks) GetRephacksList

func (r DiscoveryIDRephacks) GetRephacksList() []*Rephack

type DiscoveryTechCompat

type DiscoveryTechCompat struct {
	TechcompatByID map[cfg.TractorID]float64 `json:"techchompat_by_id" validate:"required"`
	TechCell       string                    `json:"tech_cell" validate:"required"`
}

func CalculateTechCompat

func CalculateTechCompat(Discovery *configs_mapped.DiscoveryConfig, ids []*Tractor, nickname string) *DiscoveryTechCompat

type EnemyFaction

type EnemyFaction struct {
	Faction
	NpcExist bool
}

type Engine

type Engine struct {
	Name  string `json:"name"  validate:"required"`
	Price int    `json:"price"  validate:"required"`

	CruiseSpeed      int     `json:"cruise_speed"  validate:"required"`
	CruiseChargeTime int     `json:"cruise_charge_time"  validate:"required"`
	LinearDrag       int     `json:"linear_drag"  validate:"required"`
	MaxForce         int     `json:"max_force"  validate:"required"`
	ReverseFraction  float64 `json:"reverse_fraction"  validate:"required"`
	ImpulseSpeed     float64 `json:"impulse_speed"  validate:"required"`

	HpType      string `json:"hp_type"  validate:"required"`
	FlameEffect string `json:"flame_effect"  validate:"required"`
	TrailEffect string `json:"trail_effect"  validate:"required"`

	Nickname string `json:"nickname"  validate:"required"`
	NameID   int    `json:"name_id"  validate:"required"`
	InfoID   int    `json:"info_id"  validate:"required"`

	Bases                map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`
	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`
	Mass                 float64 `json:"mass"  validate:"required"`
}

func (Engine) GetBases added in v1.63.0

func (b Engine) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Engine) GetDiscoveryTechCompat added in v1.63.0

func (b Engine) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Engine) GetNickname

func (b Engine) GetNickname() string

func (Engine) GetTechCompat

func (g Engine) GetTechCompat() *DiscoveryTechCompat

type EquipmentSlot

type EquipmentSlot struct {
	SlotName     string   `json:"slot_name" validate:"required"`
	AllowedEquip []string `json:"allowed_equip" validate:"required"`
}

type ExportOptions

type ExportOptions struct {
	trades.MappingOptions
}

type Exporter

type Exporter struct {
	*ExporterRelay
	*TradePathExporter
	Mapped      *configs_mapped.MappedConfigs
	IsDiscovery bool
	Bases       []*Base
	TradeBases  []*Base
	TravelBases []*Base

	MiningOperations []*Base
	LootableBase     *Base
	CraftableBase    *Base

	Transport *GraphResults
	Freighter *GraphResults
	Frigate   *GraphResults

	Factions    []Faction
	Commodities []*Commodity
	Guns        []Gun

	Missiles     []Gun
	Mines        []Mine
	Shields      []Shield
	Thrusters    []Thruster
	Ships        []Ship
	Tractors     []*Tractor
	TractorsByID map[cfg.TractorID]*Tractor
	Cloaks       []Cloak
	Engines      []Engine
	CMs          []CounterMeasure
	Scanners     []Scanner
	Ammos        []Ammo
	ExtraItems   []ExtraItem
	// contains filtered or unexported fields
}

func Export

func Export(ctx context.Context, mapped *configs_mapped.MappedConfigs, options ExportOptions) *Exporter

func NewExporter

func NewExporter(mapped *configs_mapped.MappedConfigs, opts ...OptExport) *Exporter

func (*Exporter) Buyable

func (e *Exporter) Buyable(Bases map[cfg.BaseUniNick]*MarketGood) bool

func (*Exporter) EnhanceBasesWithIsTransportReachable

func (e *Exporter) EnhanceBasesWithIsTransportReachable(
	bases []*Base,
	transports_graph *GraphResults,
	freighter_graph *GraphResults,
	frigate_graph *GraphResults,
)

func (*Exporter) EnhanceBasesWithLoot

func (e *Exporter) EnhanceBasesWithLoot(bases []*Base) []*Base

func (*Exporter) EnhanceBasesWithPobCrafts

func (e *Exporter) EnhanceBasesWithPobCrafts(bases []*Base) []*Base

func (*Exporter) EnhanceOnlyBasesWithIsTransportReachable added in v1.104.0

func (e *Exporter) EnhanceOnlyBasesWithIsTransportReachable(
	bases []*Base,
	transports_graph *GraphResults,
	freighter_graph *GraphResults,
	frigate_graph *GraphResults,
)

func (*Exporter) Export

func (e *Exporter) Export(ctx context.Context, options ExportOptions) *Exporter

func (*Exporter) FilterToUsefulAmmo

func (e *Exporter) FilterToUsefulAmmo(cms []Ammo) []Ammo

func (*Exporter) FilterToUsefulCommodities

func (e *Exporter) FilterToUsefulCommodities(commodities []*Commodity) []*Commodity

func (*Exporter) FilterToUsefulCounterMeasures

func (e *Exporter) FilterToUsefulCounterMeasures(cms []CounterMeasure) []CounterMeasure

func (*Exporter) FilterToUsefulEngines

func (e *Exporter) FilterToUsefulEngines(engines []Engine) []Engine

func (*Exporter) FilterToUsefulGun

func (e *Exporter) FilterToUsefulGun(guns []Gun) []Gun

func (*Exporter) FilterToUsefulItems added in v1.88.0

func (e *Exporter) FilterToUsefulItems(cms []ExtraItem) []ExtraItem

func (*Exporter) FilterToUsefulMines

func (e *Exporter) FilterToUsefulMines(mines []Mine) []Mine

func (*Exporter) FilterToUsefulShields

func (e *Exporter) FilterToUsefulShields(shields []Shield) []Shield

func (*Exporter) FilterToUsefulShips

func (e *Exporter) FilterToUsefulShips(ships []Ship) []Ship

func (*Exporter) FilterToUsefulThrusters

func (e *Exporter) FilterToUsefulThrusters(thrusters []Thruster) []Thruster

func (*Exporter) FilterToUsefulTractors

func (e *Exporter) FilterToUsefulTractors(tractors []*Tractor) []*Tractor

func (*Exporter) FilterToUserfulBases added in v1.104.0

func (e *Exporter) FilterToUserfulBases(bases []*Base, for_front_view bool) []*Base

you can use for_front_view=true, only after bases were already enhanced with IsTransportReachable and etc values otheriwise u have to use for_front_view=false

func (*Exporter) FilterToUserfulScanners

func (e *Exporter) FilterToUserfulScanners(items []Scanner) []Scanner

func (*Exporter) GetAmmo

func (e *Exporter) GetAmmo(ids []*Tractor) []Ammo

func (*Exporter) GetAtBasesSold

func (e *Exporter) GetAtBasesSold(commodity GetCommodityAtBasesInput) map[cfg.BaseUniNick]*MarketGood

func (*Exporter) GetBaseInfo

func (e *Exporter) GetBaseInfo(base_nickname universe_mapped.BaseNickname) BaseInfo

func (*Exporter) GetBases

func (e *Exporter) GetBases(ctx context.Context) []*Base

func (*Exporter) GetBuyableShields

func (e *Exporter) GetBuyableShields(shields []Shield) map[string]bool

func (*Exporter) GetCloaks added in v1.64.0

func (e *Exporter) GetCloaks(ids []*Tractor) []Cloak

func (*Exporter) GetCommodities

func (e *Exporter) GetCommodities(ctx context.Context) []*Commodity

func (*Exporter) GetCounterMeasures

func (e *Exporter) GetCounterMeasures(ids []*Tractor) []CounterMeasure

func (*Exporter) GetEngineSpeed

func (e *Exporter) GetEngineSpeed(engine_info *equip_mapped.Engine) int

func (*Exporter) GetEngines

func (e *Exporter) GetEngines(ids []*Tractor) []Engine

func (*Exporter) GetExtraItems added in v1.88.0

func (e *Exporter) GetExtraItems(ids []*Tractor) []ExtraItem

func (*Exporter) GetFactionName

func (e *Exporter) GetFactionName(nickname cfg.FactionNick) string

func (*Exporter) GetFactions

func (e *Exporter) GetFactions(bases []*Base) []Faction

func (*Exporter) GetGoodInfo added in v1.59.0

func (e *Exporter) GetGoodInfo(good_nickname string) GoodInfo

func (*Exporter) GetGuns

func (e *Exporter) GetGuns(ids []*Tractor, buyable_ship_tech map[string]bool) []Gun

func (*Exporter) GetInfocardName

func (e *Exporter) GetInfocardName(ids_name int, nickname string) string

func (*Exporter) GetMines

func (e *Exporter) GetMines(ids []*Tractor) []Mine

func (*Exporter) GetMissiles

func (e *Exporter) GetMissiles(ids []*Tractor, buyable_ship_tech map[string]bool) []Gun

func (*Exporter) GetMissions

func (e *Exporter) GetMissions(bases []*Base, factions []Faction) []*Base

func (*Exporter) GetOres

func (e *Exporter) GetOres(ctx context.Context, Commodities []*Commodity) []*Base

func (*Exporter) GetRegionName

func (e *Exporter) GetRegionName(system *universe_mapped.System) string

func (*Exporter) GetScanners

func (e *Exporter) GetScanners(ids []*Tractor) []Scanner

func (*Exporter) GetShields

func (e *Exporter) GetShields(ids []*Tractor) []Shield

func (*Exporter) GetShips

func (e *Exporter) GetShips(ids []*Tractor, TractorsByID map[cfg.TractorID]*Tractor, Thrusters []Thruster) []Ship

func (*Exporter) GetThrusters

func (e *Exporter) GetThrusters(ids []*Tractor) []Thruster

func (*Exporter) GetTractors

func (e *Exporter) GetTractors() []*Tractor

func (*Exporter) GetTravelRoutes added in v1.72.1

func (e *Exporter) GetTravelRoutes(from_base *Base) []*ComboRoute

func (*Exporter) IsLootable added in v1.100.0

func (e *Exporter) IsLootable(item_nickname string) bool

func (*Exporter) NewEnemyFaction

func (e *Exporter) NewEnemyFaction(faction Faction, npc_ranks []int) *EnemyFaction

NewEnemyFaction Calculates for enemy faction percentage of ships defined in faction_props/npcships.ini If they aren't defined, Freelancer will be showing corrupted no missions when they encounter.

func (*Exporter) NewOreBase added in v1.92.0

func (e *Exporter) NewOreBase(input_data NewOreBaseInput) *Base

func (*Exporter) PoBsToBases added in v1.59.0

func (e *Exporter) PoBsToBases(pobs []*PoB) []*Base

Exporting only with position ones

func (*Exporter) ServerSideMarketGoodsOverrides

func (e *Exporter) ServerSideMarketGoodsOverrides(commodity GetCommodityAtBasesInput) map[cfg.BaseUniNick]*MarketGood

func (*Exporter) SetPermitted added in v1.103.0

func (e *Exporter) SetPermitted(permitted_wrecks map[string]bool, permitted_encounters map[string]bool, loot_info *LootInfo)

func (*Exporter) TraderExists added in v1.57.7

func (e *Exporter) TraderExists(base_nickname string) bool

func (*Exporter) WriteConfigToInfocard added in v1.100.2

func (e *Exporter) WriteConfigToInfocard(item_model *semantic.Model, item_nickname string)

type ExporterRelay added in v1.72.1

type ExporterRelay struct {
	Mapped *configs_mapped.MappedConfigs

	PoBs     []*PoB
	PoBGoods []*PoBGood

	*infocarder.Infocarder
	// contains filtered or unexported fields
}

func (*ExporterRelay) GetInfocardName added in v1.72.1

func (e *ExporterRelay) GetInfocardName(ids_name int, nickname string) string

func (*ExporterRelay) GetPoBGoods added in v1.72.1

func (e *ExporterRelay) GetPoBGoods(pobs []*PoB) []*PoBGood

func (*ExporterRelay) GetPoBs added in v1.72.1

func (e *ExporterRelay) GetPoBs() []*PoB

func (*ExporterRelay) GetRegionName added in v1.72.1

func (e *ExporterRelay) GetRegionName(system *universe_mapped.System) string

type ExtraItem added in v1.88.0

type ExtraItem struct {
	Name  string `json:"name"  validate:"required"`
	Price int    `json:"price"  validate:"required"`

	Category string `json:"category"  validate:"required"`
	Lootable bool   `json:"lootable"  validate:"required"`
	Nickname string `json:"nickname"  validate:"required"`
	NameID   int    `json:"name_id"  validate:"required"`
	InfoID   int    `json:"indo_id"  validate:"required"`

	Mass   float64 `json:"mass"`
	HpType string  `json:"hp_type"`

	PowerCapacity   *int `json:"power_capacity"`
	PowerChargeRate *int `json:"power_charge_rate"`

	Bases                map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`
	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`
}

func (ExtraItem) GetBases added in v1.88.0

func (b ExtraItem) GetBases() map[cfg.BaseUniNick]*MarketGood

func (ExtraItem) GetDiscoveryTechCompat added in v1.88.0

func (b ExtraItem) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (ExtraItem) GetNickname added in v1.88.0

func (b ExtraItem) GetNickname() string

type Faction

type Faction struct {
	Name      string `json:"name"  validate:"required"`
	ShortName string `json:"short_name"  validate:"required"`
	Nickname  string `json:"nickname"  validate:"required"`

	ObjectDestruction float64 `json:"object_destruction"  validate:"required"`
	MissionSuccess    float64 `json:"mission_success"  validate:"required"`
	MissionFailure    float64 `json:"mission_failure"  validate:"required"`
	MissionAbort      float64 `json:"mission_abort"  validate:"required"`

	InfonameID  int                    `json:"infoname_id"  validate:"required"`
	InfocardID  int                    `json:"infocard_id"  validate:"required"`
	InfocardKey infocarder.InfocardKey `json:"-" swaggerignore:"true"`
	Reputations []Reputation           `json:"reputations"  validate:"required"`
	Bribes      []Bribe                `json:"bribe"  validate:"required"`
}

func FilterToUsefulBribes

func FilterToUsefulBribes(factions []Faction) []Faction

func FilterToUsefulFactions

func FilterToUsefulFactions(factions []Faction) []Faction

func (Faction) GetNickname added in v1.63.0

func (b Faction) GetNickname() string

type FactionBonus added in v1.105.0

type FactionBonus struct {
	Name  string
	Bonus float64
}

type GetCommodityAtBasesInput

type GetCommodityAtBasesInput struct {
	Nickname  string
	Price     int
	Volume    float64
	ShipClass *cfg.ShipClass
}

type GoodInfo added in v1.59.0

type GoodInfo struct {
	Nickname     string `json:"nickname" validate:"required"`
	ShipNickname string `json:"ship_nickname" validate:"required"` // market good can be ship package, if it is, then ship nickname bought by package is specified
	Name         string `json:"name" validate:"required"`
	PriceBase    int    `json:"price_base" validate:"required"`
	HpType       string `json:"hp_type" validate:"required"`
	Category     string `json:"category" validate:"required"`
}

type GraphResults

type GraphResults struct {
	Graph   *trades.GameGraph
	Time    [][]trades.Intg
	Parents [][]trades.Parent
	// contains filtered or unexported fields
}

func NewGraphResults

func NewGraphResults(
	e *Exporter,
	avgCruiserSpeed int,
	MapConfOptions trades.MapConfigOptions,
	mining_bases_by_system map[string][]trades.ExtraBase,
	graph_options trades.MappingOptions,
) *GraphResults

type Gun

type Gun struct {
	Nickname string  `json:"nickname"  validate:"required"`
	Name     string  `json:"name"  validate:"required"`
	Type     string  `json:"type"  validate:"required"`
	Price    int     `json:"price"  validate:"required"`
	Class    string  `json:"class"  validate:"required"`
	HpType   string  `json:"hp_type"  validate:"required"`
	IdsName  int     `json:"ids_name"  validate:"required"`
	IdsInfo  int     `json:"ids_info" validate:"required"`
	Volume   float64 `json:"volume" validate:"required"`

	HitPts       string  `json:"hit_pts"  validate:"required"`
	PowerUsage   float64 `json:"power_usage"  validate:"required"`
	Refire       float64 `json:"refire" validate:"required"`
	Range        float64 `json:"range"  validate:"required"`
	Toughness    float64 `json:"toughness"  validate:"required"`
	IsAutoTurret bool    `json:"is_auto_turret"  validate:"required"`
	Lootable     bool    `json:"lootable"  validate:"required"`

	RequiredAmmo bool `json:"required_ammo"  validate:"required"`
	// AmmoPrice     int
	// AmmoBases     []*GoodAtBase
	// AmmoName      string
	HullDamage      int     `json:"hull_damage"  validate:"required"`
	EnergyDamage    int     `json:"energy_damage"  validate:"required"`
	ShieldDamage    int     `json:"shield_damage" validate:"required"`
	AvgShieldDamage int     `json:"avg_shield_damage"  validate:"required"`
	DamageType      string  `json:"damage_type"  validate:"required"`
	LifeTime        float64 `json:"life_time" validate:"required"`
	Speed           float64 `json:"speed" validate:"required"`
	GunTurnRate     float64 `json:"gun_turn_rate" validate:"required"`
	DispersionAngle float64 `json:"dispersion_angle" validate:"required"`

	HullDamagePerSec       float64 `json:"hull_damage_per_sec"  validate:"required"`
	AvgShieldDamagePerSec  float64 `json:"avg_shield_damage_per_sec" validate:"required"`
	EnergyDamagePerSec     float64 `json:"energy_damage_per_sec" validate:"required"`
	PowerUsagePerSec       float64 `json:"power_usage_per_sec" validate:"required"`
	AvgEfficiency          float64 `json:"avg_efficiency" validate:"required"`
	HullEfficiency         float64 `json:"hull_efficiency" validate:"required"`
	ShieldEfficiency       float64 `json:"shield_efficiency" validate:"required"`
	EnergyDamageEfficiency float64 `json:"energy_damage_efficiency" validate:"required"`

	Bases         map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`
	DamageBonuses []DamageBonus                   `json:"damage_bonuses" validate:"required"`

	Missile
	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`

	NumBarrels *int       `json:"num_barrels,omitempty"`
	BurstFire  *BurstFire `json:"burst_fire,omitempty"`
	AmmoLimit  AmmoLimit  `json:"ammo_limit,omitempty"`

	Mass float64 `json:"mass" validate:"required"`

	DiscoGun *DiscoGun `json:"disco_gun"`
}

func (Gun) GetBases added in v1.63.0

func (b Gun) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Gun) GetDiscoveryTechCompat added in v1.63.0

func (b Gun) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Gun) GetNickname

func (b Gun) GetNickname() string

func (Gun) GetTechCompat

func (g Gun) GetTechCompat() *DiscoveryTechCompat

type HashesByCat added in v1.72.1

type HashesByCat struct {
	// contains filtered or unexported fields
}

func NewHashesCategories added in v1.72.1

func NewHashesCategories(Mapped *configs_mapped.MappedConfigs) HashesByCat

type Ingredient added in v1.102.0

type Ingredient struct {
	Name   string
	Amount int
}

type IngredientAlt added in v1.105.0

type IngredientAlt struct {
	Amount int
	Names  []string
}

type LootInfo added in v1.100.0

type LootInfo struct {
	Nickname    string
	Kind        LootKind
	Pos         cfg.Vector
	SectorCoord string
	SystemName  string
	Permitted   bool
	LootSource  LootSource
	PlaceNick   string
}

type LootKind added in v1.100.0

type LootKind int8
const (
	LootUnknown LootKind = iota
	LootWreck
	LootFLSRSolar
	LootFLSRNPC
	LootEncounter
	LootNotFoundNpcArch
	LootPhantom
)

func (LootKind) ToStr added in v1.100.0

func (l LootKind) ToStr() string

type LootSource added in v1.100.0

type LootSource int8
const (
	LootSourceUnknown LootSource = iota
	LootSourceEquip
	LootSourceCargo
)

func (LootSource) ToStr added in v1.100.0

func (l LootSource) ToStr() string

type MarketGood

type MarketGood struct {
	GoodInfo

	LevelRequired        int            `json:"level_required" validate:"required"`
	RepRequired          float64        `json:"rep_required" validate:"required"`
	PriceBaseBuysFor     *int           `json:"price_base_buys_for"`
	PriceBaseSellsFor    int            `json:"price_base_sells_for" validate:"required"`
	Volume               float64        `json:"volume" validate:"required"`
	ShipClass            *cfg.ShipClass `json:"ship_class"` // Discovery specific value. Volume can be different based on ship class. Duplicating market goods with different volumes for that
	BaseSells            bool           `json:"base_sells" validate:"required"`
	IsServerSideOverride bool           `json:"is_server_override" validate:"required"`

	NotBuyable       bool `json:"-" swaggerignore:"true"`
	cfg.Reachability `json:"-" swaggerignore:"true"`

	PoBGood *ShopItem
	PoB     *PoB

	BaseInfo

	LootInfo       *LootInfo
	CraftableInfos []CraftableInfo
}

func (MarketGood) GetPriceBaseBuysFor added in v1.59.0

func (g MarketGood) GetPriceBaseBuysFor() int

type Mine

type Mine struct {
	Name                string `json:"name" validate:"required"`
	Price               int    `json:"price" validate:"required"`
	AmmoPrice           int    `json:"ammo_price" validate:"required"`
	Nickname            string `json:"nickname" validate:"required"`
	ProjectileArchetype string `json:"projectyle_archetype" validate:"required"`
	IdsName             int    `json:"ids_name" validate:"required"`
	IdsInfo             int    `json:"ids_info" validate:"required"`

	HullDamage   int     `json:"hull_damage" validate:"required"`
	EnergyDamage int     `json:"energy_damage" validate:"required"`
	ShieldDamage int     `json:"shield_damage" validate:"required"`
	PowerUsage   float64 `json:"power_usage" validate:"required"`

	Value              float64 `json:"value" validate:"required"`
	Refire             float64 `json:"refire" validate:"required"`
	DetonationDistance float64 `json:"detonation_distance" validate:"required"`
	Radius             float64 `json:"radius" validate:"required"`
	SeekDistance       int     `json:"seek_distance" validate:"required"`
	TopSpeed           int     `json:"top_speed" validate:"required"`
	Acceleration       int     `json:"acceleration" validate:"required"`
	LinearDrag         float64 `json:"linear_drag" validate:"required"`
	LifeTime           float64 `json:"life_time" validate:"required"`
	OwnerSafe          int     `json:"owner_safe" validate:"required"`
	Toughness          float64 `json:"toughness" validate:"required"`

	HitPts   int  `json:"hit_pts" validate:"required"`
	Lootable bool `json:"lootable" validate:"required"`

	Bases map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`

	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`

	AmmoLimit AmmoLimit `json:"ammo_limit" validate:"required"`
	Mass      float64   `json:"mass" validate:"required"`
}

func (Mine) GetBases added in v1.63.0

func (b Mine) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Mine) GetDiscoveryTechCompat added in v1.63.0

func (b Mine) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Mine) GetNickname added in v1.63.0

func (b Mine) GetNickname() string

type MiningInfo

type MiningInfo struct {
	DynamicLootMin        int
	DynamicLootMax        int
	DynamicLootDifficulty int
	MinedGood             *MarketGood
	RespawnCooldown       int
	MaxSpawnCount         int
	NuAsteroidsCount      int
	NuAsteroidsTotal      int
}

type Missile

type Missile struct {
	MaxAngularVelocity float64 `json:"max_angular_velocity"  validate:"required"`
}

type MissioNFaction

type MissioNFaction struct {
	FactionName     string
	FactionNickname string
	MinDifficulty   float64
	MaxDifficulty   float64
	Weight          int
	Infocard        infocarder.InfocardKey

	MinAward int
	MaxAward int
	NpcRanks []int
	Enemies  []*EnemyFaction
	Err      cfg.Err
}

type NewOreBaseInput added in v1.92.0

type NewOreBaseInput struct {
	// contains filtered or unexported fields
}

type OneWayRouteInfo added in v1.94.0

type OneWayRouteInfo struct {
	KiloVolumes                 float64
	ProfitPerTimeForKiloVolumes float64
	ProfitWeight                float64
	TimeS                       float64
}

func OneWayRouteInfoF added in v1.94.0

func OneWayRouteInfoF(trade_route *TradeRoute) OneWayRouteInfo

type OptExport

type OptExport func(e *Exporter)

type PathWithNavmap

type PathWithNavmap struct {
	trades.DetailedPath
	SectorCoord string
	Pos         cfg.Vector
}

type PoB

type PoB struct {
	PoBCore
	ShopItems []*ShopItem `json:"shop_items" validate:"required"`
}

also known as Player Base Station

func FilterToUserfulPobs added in v1.98.0

func FilterToUserfulPobs(bases []*PoB) []*PoB

func (PoB) GetNickname added in v1.63.0

func (b PoB) GetNickname() string

func (PoB) ShopItemsLength added in v1.85.4

func (p PoB) ShopItemsLength() int

ShopItemsLength counts without accounting for volume dupicates

type PoBCore added in v1.67.0

type PoBCore struct {
	Nickname string `json:"nickname" validate:"required"`
	Name     string `json:"name" validate:"required"`

	Pos         *string      `json:"pos"`
	Level       *int         `json:"level"`
	Money       *int         `json:"money"`
	Health      *float64     `json:"health"`
	DefenseMode *DefenseMode `json:"defense_mode"`

	SystemNick  *string `json:"system_nickname"`
	SystemName  *string `json:"system_name"` // SystemHash      *flhash.HashCode `json:"system"`      //: 2745655887,
	FactionNick *string `json:"faction_nickname"`
	FactionName *string `json:"faction_name"` // AffiliationHash *flhash.HashCode `json:"affiliation"` //: 2620,

	ForumThreadUrl *string `json:"forum_thread_url"`
	CargoSpaceLeft *int    `json:"cargospace"`

	BasePos        *cfg.Vector `json:"base_pos"`
	SectorCoord    *string     `json:"sector_coord"`
	Region         *string     `json:"region_name"`
	IsFallbackInfo bool        `json:"is_fallback_info"`
}

type PoBGood

type PoBGood struct {
	Nickname              string `json:"nickname" validate:"required"`
	Name                  string `json:"name" validate:"required"`
	TotalBuyableFromBases int    `json:"total_buyable_from_bases" validate:"required"`
	TotalSellableToBases  int    `json:"total_sellable_to_bases" validate:"required"`

	BestPriceToBuy  *int `json:"best_price_to_buy"`
	BestPriceToSell *int `json:"best_price_to_sell"`

	Category string         `json:"category" validate:"required"`
	Bases    []*PoBGoodBase `json:"bases" validate:"required"`

	AnyBaseSells   bool           `json:"any_base_sells" validate:"required"`
	AnyBaseBuys    bool           `json:"any_base_buys" validate:"required"`
	Volume         float64        `json:"volume" validate:"required"`
	OriginalVolume float64        `json:"original_volume"`
	ShipClass      *cfg.ShipClass `json:"ship_class"`
}

func (PoBGood) BaseBuys

func (good PoBGood) BaseBuys() bool

func (PoBGood) BaseSells

func (good PoBGood) BaseSells() bool

func (PoBGood) GetNickname added in v1.63.0

func (b PoBGood) GetNickname() string

type PoBGoodBase

type PoBGoodBase struct {
	ShopItem *ShopItem `json:"shop_item" validate:"required"`
	Base     *PoBCore  `json:"base" validate:"required"`
}

type PoBsToBasesInput added in v1.72.1

type PoBsToBasesInput struct {
	Equip *equip_mapped.Config
}

type PobShopItem

type PobShopItem struct {
	*ShopItem
	PoBName     string
	PobNickname string

	System      *universe_mapped.System
	SystemNick  string
	SystemName  string
	FactionNick string
	FactionName string
	BasePos     *cfg.Vector
}

type Product added in v1.102.1

type Product struct {
	Name     string
	Amount   int
	Nickname string
}

type Rephack

type Rephack struct {
	FactionName string                      `json:"faction_name" validate:"required"`
	FactionNick cfg.FactionNick             `json:"faction_nickname" validate:"required"`
	Reputation  float64                     `json:"reputation" validate:"required"`
	RepType     playercntl_rephacks.RepType `json:"rep_type" validate:"required"`
}

type Reputation

type Reputation struct {
	Name     string  `json:"name"  validate:"required"`
	Rep      float64 `json:"rep"  validate:"required"`
	Empathy  float64 `json:"empathy"  validate:"required"`
	Nickname string  `json:"nickname"  validate:"required"`
}

type Route

type Route struct {
	// contains filtered or unexported fields
}

func NewRoute

func NewRoute(g *GraphResults, from_base_nickname string, to_base_nickname string) *Route

func (*Route) GetCanVisitFreighterOnlyJH

func (t *Route) GetCanVisitFreighterOnlyJH() bool

func (*Route) GetCruiseSpeed

func (t *Route) GetCruiseSpeed() int

func (*Route) GetID

func (c *Route) GetID() string

func (*Route) GetMapConfig added in v1.104.0

func (t *Route) GetMapConfig() trades.MapConfigOptions

func (*Route) GetNameByIdsName

func (t *Route) GetNameByIdsName(ids_name int) string

func (*Route) GetPaths

func (t *Route) GetPaths() []PathWithNavmap

func (*Route) GetTimeMs

func (t *Route) GetTimeMs() cfg.MillisecondsI

func (*Route) GetTimeS

func (t *Route) GetTimeS() cfg.Seconds

type RouteInfo added in v1.94.0

type RouteInfo struct {
	ProfitPerTime     float64
	Route1Time        float64
	Route2Time        float64
	Route1ConnectTime float64
	Route2ConnectTime float64
	TotalProfit       float64
	TwoWayTime        float64
}

type Scanner

type Scanner struct {
	Name  string `json:"name" validate:"required"`
	Price int    `json:"price" validate:"required"`

	Range          int `json:"range" validate:"required"`
	CargoScanRange int `json:"cargo_scan_range" validate:"required"`

	Lootable bool   `json:"lootable" validate:"required"`
	Nickname string `json:"nickname" validate:"required"`
	NameID   int    `json:"name_id" validate:"required"`
	InfoID   int    `json:"info_id" validate:"required"`

	Bases map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`

	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`
	Mass                 float64 `json:"mass" validate:"required"`
}

func (Scanner) GetBases added in v1.63.0

func (b Scanner) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Scanner) GetDiscoveryTechCompat added in v1.63.0

func (b Scanner) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Scanner) GetNickname added in v1.63.0

func (b Scanner) GetNickname() string

type Shield

type Shield struct {
	Name string `json:"name" validate:"required"`

	Class      string `json:"class" validate:"required"`
	Type       string `json:"type" validate:"required"`
	Technology string `json:"technology" validate:"required"`
	Price      int    `json:"price" validate:"required"`

	Capacity          int     `json:"capacity" validate:"required"`
	RegenerationRate  int     `json:"regeneration_rate" validate:"required"`
	ConstantPowerDraw int     `json:"constant_power_draw" validate:"required"`
	Value             float64 `json:"value" validate:"required"`
	RebuildPowerDraw  int     `json:"rebuild_power_draw" validate:"required"`
	OffRebuildTime    int     `json:"off_rebuild_time" validate:"required"`

	Toughness float64 `json:"toughness" validate:"required"`
	HitPts    int     `json:"hit_pts" validate:"required"`
	Lootable  bool    `json:"lootable" validate:"required"`

	Nickname   string          `json:"nickname" validate:"required"`
	HpType     string          `json:"hp_type" validate:"required"`
	HpTypeHash flhash.HashCode `json:"-" swaggerignore:"true"`
	IdsName    int             `json:"ids_name" validate:"required"`
	IdsInfo    int             `json:"ids_info" validate:"required"`

	Bases map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`

	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`
	Mass                 float64 `json:"mass" validate:"required"`
}

func (Shield) GetBases added in v1.63.0

func (b Shield) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Shield) GetDiscoveryTechCompat added in v1.63.0

func (b Shield) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Shield) GetNickname

func (b Shield) GetNickname() string

func (Shield) GetTechCompat

func (g Shield) GetTechCompat() *DiscoveryTechCompat

type Ship

type Ship struct {
	Nickname  string  `json:"nickname" validate:"required"`
	Name      string  `json:"name" validate:"required"`
	Class     int     `json:"class" validate:"required"`
	Type      string  `json:"type" validate:"required"`
	Price     int     `json:"price" validate:"required"`
	Armor     int     `json:"armor" validate:"required"`
	HoldSize  int     `json:"hold_size" validate:"required"`
	Nanobots  int     `json:"nanobots" validate:"required"`
	Batteries int     `json:"batteries" validate:"required"`
	Mass      float64 `json:"mass" validate:"required"`

	PowerCapacity     int     `json:"power_capacity" validate:"required"`
	PowerRechargeRate int     `json:"power_recharge_rate" validate:"required"`
	CruiseSpeed       int     `json:"cruise_speed" validate:"required"`
	LinearDrag        float64 `json:"linear_drag" validate:"required"`
	EngineMaxForce    int     `json:"engine_max_force" validate:"required"`
	ImpulseSpeed      float64 `json:"impulse_speed" validate:"required"`
	ThrusterSpeed     []int   `json:"thruster_speed" validate:"required"`
	ReverseFraction   float64 `json:"reverse_fraction" validate:"required"`
	ThrustCapacity    int     `json:"thrust_capacity" validate:"required"`
	ThrustRecharge    int     `json:"thrust_recharge" validate:"required"`

	DockType string `json:"dock_type" validate:"required"`

	MaxAngularSpeedDegS           float64 `json:"max_ansgular_speed" validate:"required"`
	AngularDistanceFrom0ToHalfSec float64 `json:"angular_distance_from_0_to_halfsec" validate:"required"`
	TimeTo90MaxAngularSpeed       float64 `json:"time_to_90_max_angular_speed" validate:"required"`

	NudgeForce  float64 `json:"nudge_force" validate:"required"`
	StrafeForce float64 `json:"strafe_force" validate:"required"`
	NameID      int     `json:"name_id" validate:"required"`
	InfoID      int     `json:"info_id" validate:"required"`

	MissionProperty  string                          `json:"-" swaggerignore:"true"`
	Bases            map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`
	Slots            []EquipmentSlot                 `json:"equipment_slots" validate:"required"`
	BiggestHardpoint []string                        `json:"biggest_hardpoint" validate:"required"`
	ShipPackages     []ShipPackage                   `json:"ship_packages" validate:"required"`

	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`

	DiscoShip *DiscoShip `json:"discovery_ship"`
}

func (Ship) GetBases added in v1.63.0

func (b Ship) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Ship) GetDiscoveryTechCompat added in v1.63.0

func (b Ship) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Ship) GetNickname

func (b Ship) GetNickname() string

func (Ship) GetTechCompat

func (g Ship) GetTechCompat() *DiscoveryTechCompat

type ShipPackage

type ShipPackage struct {
	Nickname string `json:"nickname" validate:"required"`
	// contains filtered or unexported fields
}

type ShopItem

type ShopItem struct {
	pob_goods.ShopItem
	Nickname string `json:"nickname" validate:"required"`
	Name     string `json:"name" validate:"required"`
	Category string `json:"category" validate:"required"`

	Volume         float64        `json:"volume" validate:"required"`
	OriginalVolume float64        `json:"original_volume"`
	ShipClass      *cfg.ShipClass `json:"ship_class"`
}

type TechCompatOrderer

type TechCompatOrderer struct {
	// contains filtered or unexported fields
}

func NewOrderedTechCompat

func NewOrderedTechCompat(e *Exporter) *TechCompatOrderer

func (*TechCompatOrderer) GetOrederedTechCompat

func (orderer *TechCompatOrderer) GetOrederedTechCompat(DiscoveryTechCompat *DiscoveryTechCompat) []CompatibleIDsForTractor

type Thruster

type Thruster struct {
	Name       string  `json:"name" validate:"required"`
	Price      int     `json:"price" validate:"required"`
	MaxForce   int     `json:"max_force" validate:"required"`
	PowerUsage int     `json:"power_usage" validate:"required"`
	Efficiency float64 `json:"efficiency" validate:"required"`
	Value      float64 `json:"value" validate:"required"`
	HitPts     int     `json:"hit_pts" validate:"required"`
	Lootable   bool    `json:"lootable" validate:"required"`
	Nickname   string  `json:"nickname" validate:"required"`
	NameID     int     `json:"name_id" validate:"required"`
	InfoID     int     `json:"info_id" validate:"required"`

	Bases map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`

	*DiscoveryTechCompat `json:"-" swaggerignore:"true"`
	Mass                 float64 `json:"mass" validate:"required"`
}

func (Thruster) GetBases added in v1.63.0

func (b Thruster) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Thruster) GetDiscoveryTechCompat added in v1.63.0

func (b Thruster) GetDiscoveryTechCompat() *DiscoveryTechCompat

func (Thruster) GetNickname added in v1.63.0

func (b Thruster) GetNickname() string

type Tractor

type Tractor struct {
	Name       string `json:"name" validate:"required"`
	Price      int    `json:"price" validate:"required"`
	MaxLength  int    `json:"max_length" validate:"required"`
	ReachSpeed int    `json:"reach_speed" validate:"required"`

	Lootable      bool          `json:"lootable" validate:"required"`
	Nickname      cfg.TractorID `json:"nickname" validate:"required"`
	ShortNickname string        `json:"short_nickname" validate:"required"`
	NameID        int           `json:"name_id" validate:"required"`
	InfoID        int           `json:"info_id" validate:"required"`

	Bases map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`
	DiscoveryIDRephacks
	Mass float64 `json:"mass" validate:"required"`
}

func (Tractor) GetBases added in v1.63.0

func (b Tractor) GetBases() map[cfg.BaseUniNick]*MarketGood

func (Tractor) GetNickname added in v1.63.0

func (b Tractor) GetNickname() string

type TradeDeal added in v1.77.0

type TradeDeal struct {
	*ComboTradeRoute
	FreighterInfo OneWayRouteInfo
	TransportInfo OneWayRouteInfo
	FrigateInfo   OneWayRouteInfo
}

type TradePathExporter added in v1.76.1

type TradePathExporter struct {
	*Exporter
	// contains filtered or unexported fields
}

func NewTradePathExporter added in v1.85.6

func NewTradePathExporter(
	e *Exporter,
	Bases []*Base,
	MiningOperations []*Base,
) *TradePathExporter

func (*TradePathExporter) GetBaseBestPathFrom added in v1.77.0

func (e *TradePathExporter) GetBaseBestPathFrom(ctx context.Context, base *Base) *BaseBestPathTimes

func (*TradePathExporter) GetBaseBestPathTo added in v1.77.0

func (e *TradePathExporter) GetBaseBestPathTo(ctx context.Context, base *Base) *BaseBestPathTimes

func (*TradePathExporter) GetBaseTradePathsFiltered added in v1.76.1

func (e *TradePathExporter) GetBaseTradePathsFiltered(TradeRoutes []*ComboTradeRoute) []*ComboTradeRoute

func (*TradePathExporter) GetBaseTradePathsFrom added in v1.77.0

func (e *TradePathExporter) GetBaseTradePathsFrom(ctx context.Context, base *Base) []*ComboTradeRoute

func (*TradePathExporter) GetBaseTradePathsTo added in v1.77.0

func (e *TradePathExporter) GetBaseTradePathsTo(ctx context.Context, base *Base) []*ComboTradeRoute

func (*TradePathExporter) GetBestTradeDeals added in v1.77.0

func (e *TradePathExporter) GetBestTradeDeals(ctx context.Context, bases []*Base) BestTradeDealsOutput

func (*TradePathExporter) GetVolumedMarketGoods added in v1.77.0

func (e *TradePathExporter) GetVolumedMarketGoods(buying_good *MarketGood, selling_good *MarketGood, callback func(*MarketGood, *MarketGood))

type TradeRoute

type TradeRoute struct {
	Route       *Route
	BuyingGood  *MarketGood
	SellingGood *MarketGood
}

func NewTradeRoute

func NewTradeRoute(g *GraphResults, buying_good *MarketGood, selling_good *MarketGood) *TradeRoute

func (*TradeRoute) GetProffitPerTime

func (t *TradeRoute) GetProffitPerTime() float64

type TwoWayDeal added in v1.94.0

type TwoWayDeal struct {
	Route1        *TradeDeal
	Route2        *TradeDeal
	TransportInfo RouteInfo
	FrigateInfo   RouteInfo
	FreighterInfo RouteInfo
}

func (*TwoWayDeal) HashStr added in v1.95.4

func (trade_route *TwoWayDeal) HashStr() string

Directories

Path Synopsis
Infocarder is thread safe version of infocards management for configs_export
Infocarder is thread safe version of infocards management for configs_export

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL