configs_export

package
v1.64.2 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2025 License: AGPL-3.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BaseLootableName     = "Lootable"
	BaseLootableFaction  = "Wrecks and Missions"
	BaseLootableNickname = "base_loots"
)

It fixes issue of Guns obtainable only via wrecks being invisible

Variables

View Source
var LogOgE = math.Log10(math.E)
View Source
var Pi180 = 180 / math.Pi // number turning radians to degrees
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 GetPricePerVoume

func GetPricePerVoume(price int, volume float64) float64

func InitRegexExpression

func InitRegexExpression(expression string) *regexp.Regexp

func IsAnyVignetteWithinNPCSpawnRange

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

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"`
	Price int    `json:"price"`

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

	Nickname     string          `json:"nickname"`
	NicknameHash flhash.HashCode `json:"nickname_hash" format:"int64"`
	NameID       int             `json:"name_id"`
	InfoID       int             `json:"info_id"`
	SeekerType   string          `json:"seeker_type"`
	SeekerRange  int             `json:"seeker_range"`
	SeekerFovDeg int             `json:"seeker_fov_deg"`

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

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

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

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"`       // Infocard Name
	Archetypes         []string        `json:"archetypes"` // Base Archetypes
	Nickname           cfg.BaseUniNick `json:"nickname"`
	NicknameHash       flhash.HashCode `json:"nickname_hash" format:"int64"` // Flhash of nickname
	FactionName        string          `json:"faction_nickname"`
	System             string          `json:"system_name"`
	SystemNickname     string          `json:"system_nickname"`
	SystemNicknameHash flhash.HashCode `json:"system_nickname_hash" format:"int64"`
	Region             string          `json:"region_name"`
	StridName          int             `json:"strid_name"`
	InfocardID         int             `json:"infocard_id"`
	InfocardKey        InfocardKey
	File               utils_types.FilePath `json:"file"`
	BGCS_base_run_by   string
	MarketGoodsPerNick map[CommodityKey]*MarketGood `json:"-" swaggerignore:"true"`
	Pos                cfg.Vector                   `json:"pos"`
	SectorCoord        string                       `json:"sector_coord"`

	IsTransportUnreachable bool `json:"is_transport_unreachable"` // Check if base is NOT reachable from manhattan by Transport through Graph method (at Discovery base has to have Transport dockable spheres)

	Missions *BaseMissions `json:"-" swaggerignore:"true"`

	*MiningInfo `json:"mining_info,omitempty"`

	Reachable bool `json:"is_reachhable"` // is base IS Rechable by frighter from Manhattan
	IsPob     bool
	// contains filtered or unexported fields
}

func FilterToUserfulBases

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

func FitlerToUsefulOres

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

func (Base) GetNickname added in v1.63.0

func (b Base) GetNickname() string

type BaseInfo

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

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 Bribe

type Bribe struct {
	BaseNickname string `json:"base_nickname"`
	BaseInfo
	Chance float64 `json:"chance"`
}

type BurstFire

type BurstFire struct {
	SustainedRefire float64
	Ammo            int
	ReloadTime      float64

	SustainedHullDamagePerSec      float64
	SustainedAvgShieldDamagePerSec float64
	SustainedEnergyDamagePerSec    float64
	SustainedPowerUsagePerSec      float64
}

type Cloak added in v1.64.0

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

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

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

	PowerUsage   float64
	CloakInTime  int
	CloakOutTime int

	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"`
	NicknameHash          flhash.HashCode                 `json:"nickname_hash" format:"int64"`
	PriceBase             int                             `json:"price_base"`
	Name                  string                          `json:"name"`
	Combinable            bool                            `json:"combinable"`
	Volume                float64                         `json:"volume"`
	ShipClass             cfg.ShipClass                   `json:"ship_class"`
	NameID                int                             `json:"name_id"`
	InfocardID            int                             `json:"infocard_id"`
	Infocard              InfocardKey                     `json:"infocard_key"`
	Bases                 map[cfg.BaseUniNick]*MarketGood `json:"-" swaggerignore:"true"`
	PriceBestBaseBuysFor  int                             `json:"price_best_base_buys_for"`
	PriceBestBaseSellsFor int                             `json:"price_best_base_sells_for"`
	ProffitMargin         int                             `json:"proffit_margin"`

	Mass float64 `json:"mass"`
	// contains filtered or unexported fields
}

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

type CompatibleIDsForTractor

type CompatibleIDsForTractor struct {
	TechCompat float64
	Tractor    *Tractor
}

type CounterMeasure

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

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

	Lootable     bool            `json:"lootable"`
	Nickname     string          `json:"nickname"`
	NicknameHash flhash.HashCode `json:"nickname_hash" format:"int64"`
	NameID       int             `json:"name_id"`
	InfoID       int             `json:"indo_id"`

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

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

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

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 DamageBonus

type DamageBonus struct {
	Type     string
	Modifier float64
}

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"`
}

type DiscoShip

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

type DiscoveryIDRephacks

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

func (DiscoveryIDRephacks) GetRephacksList

func (r DiscoveryIDRephacks) GetRephacksList() []Rephack

type DiscoveryTechCompat

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

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"`
	Price int    `json:"price"`

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

	HpType          string          `json:"hp_type"`
	HpTypeHash      flhash.HashCode `json:"-" swaggerignore:"true"`
	FlameEffect     string          `json:"flame_effect"`
	FlameEffectHash flhash.HashCode `json:"-" swaggerignore:"true"`
	TrailEffect     string          `json:"trail_effect"`
	TrailEffectHash flhash.HashCode `json:"-" swaggerignore:"true"`

	Nickname     string          `json:"nickname"`
	NicknameHash flhash.HashCode `json:"nickname_hash" format:"int64"`
	NameID       int             `json:"name_id"`
	InfoID       int             `json:"info_id"`

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

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
	AllowedEquip []string
}

type ExportOptions

type ExportOptions struct {
	trades.MappingOptions
}

type Exporter

type Exporter struct {
	Configs *configs_mapped.MappedConfigs
	Hashes  map[string]flhash.HashCode

	Bases       []*Base
	TradeBases  []*Base
	TravelBases []*Base

	MiningOperations []*Base

	Transport *GraphResults
	Freighter *GraphResults
	Frigate   *GraphResults

	Factions     []Faction
	Infocards    Infocards
	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
	PoBs         []*PoB
	PoBGoods     []*PoBGood
	// contains filtered or unexported fields
}

func Export

func Export(configs *configs_mapped.MappedConfigs, options ExportOptions) *Exporter

func NewExporter

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

func (*Exporter) AllRoutes

func (e *Exporter) AllRoutes(
	bases []*Base,
) []*Base

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,
	frighter_graph *GraphResults,
)

func (*Exporter) EnhanceBasesWithLoot

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

func (*Exporter) EnhanceBasesWithPobCrafts

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

func (*Exporter) Export

func (e *Exporter) Export(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) 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) 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() []*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() []*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) 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(Commodities []*Commodity) []*Base

func (*Exporter) GetPoBGoods

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

func (*Exporter) GetPoBs

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

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) NewEnemyFaction

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

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) 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) TradePaths

func (e *Exporter) TradePaths(
	bases []*Base,
	commodities []*Commodity,
) ([]*Base, []*Commodity)

func (*Exporter) TraderExists added in v1.57.7

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

type Faction

type Faction struct {
	Name         string          `json:"name"`
	ShortName    string          `json:"short_name"`
	Nickname     string          `json:"nickname"`
	NicknameHash flhash.HashCode `json:"-" swaggerignore:"true"`

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

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

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 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"`
	ShipNickname string          `json:"ship_nickname"` // market good can be ship package, if it is, then ship nickname bought by package is specified
	NicknameHash flhash.HashCode `json:"nickname_hash" format:"int64"`
	Name         string          `json:"name"`
	PriceBase    int             `json:"price_base"`
	HpType       string          `json:"hp_type"`
	Category     string          `json:"category"`
}

type GraphResults

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

func NewGraphResults

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

type Gun

type Gun struct {
	Nickname     string          `json:"nickname"`
	NicknameHash flhash.HashCode `json:"nickname_hash" format:"int64"`
	MunitionHash flhash.HashCode `json:"munition_hash" format:"int64"`
	HpTypeHash   flhash.HashCode `json:"hp_type_hash" format:"int64"`
	Name         string          `json:"name"`
	Type         string          `json:"type"`
	Price        int             `json:"price"`
	Class        string          `json:"class"`
	HpType       string          `json:"hp_type"`
	IdsName      int             `json:"ids_name"`
	IdsInfo      int             `json:"ids_info"`
	Volume       float64         `json:"volume"`

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

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

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

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

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

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

	Mass float64 `json:"mass"`

	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 GunDetailed

type GunDetailed struct {
	FlashParticleName string
	ConstEffect       string
	MunitionHitEffect string
}

type Infocard

type Infocard []InfocardLine

func (Infocard) StringsJoin

func (i Infocard) StringsJoin(delimiter string) string

type InfocardBuilder

type InfocardBuilder struct {
	Lines Infocard
}

func NewInfocardBuilder

func NewInfocardBuilder() InfocardBuilder

func (*InfocardBuilder) WriteLine

func (i *InfocardBuilder) WriteLine(phrases ...InfocardPhrase)

func (*InfocardBuilder) WriteLineStr

func (i *InfocardBuilder) WriteLineStr(phrase_strs ...string)

type InfocardKey

type InfocardKey string

type InfocardLine

type InfocardLine struct {
	Phrases []InfocardPhrase `json:"phrases"`
}

func NewInfocardSimpleLine

func NewInfocardSimpleLine(line string) InfocardLine

func (InfocardLine) ToStr

func (i InfocardLine) ToStr() string

type InfocardPhrase

type InfocardPhrase struct {
	Phrase string  `json:"phrase"`
	Link   *string `json:"link"`
	Bold   bool    `json:"bold"`
}

type Infocards

type Infocards map[InfocardKey]Infocard

type MarketGood

type MarketGood struct {
	GoodInfo

	LevelRequired        int           `json:"level_required"`
	RepRequired          float64       `json:"rep_required"`
	PriceBaseBuysFor     *int          `json:"price_base_buys_for"`
	PriceBaseSellsFor    int           `json:"price_base_sells_for"`
	Volume               float64       `json:"volume"`
	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"`
	IsServerSideOverride bool          `json:"is_server_override"`

	NotBuyable             bool `json:"_" swaggerignore:"true"`
	IsTransportUnreachable bool `json:"_" swaggerignore:"true"`

	BaseInfo
}

func (MarketGood) GetPriceBaseBuysFor added in v1.59.0

func (g MarketGood) GetPriceBaseBuysFor() int

type Mine

type Mine struct {
	Name                string          `json:"name"`
	Price               int             `json:"price"`
	AmmoPrice           int             `json:"ammo_price"`
	Nickname            string          `json:"nickname"`
	MineDropperHash     flhash.HashCode `json:"mine_dropper_hash" format:"int64"`
	ProjectileArchetype string          `json:"projectyle_archetype"`
	MineHash            flhash.HashCode `json:"mine_hash" format:"int64"`
	IdsName             int             `json:"ids_name"`
	IdsInfo             int             `json:"ids_info"`

	HullDamage    int     `json:"hull_damage"`
	EnergyDamange int     `json:"energy_damage"`
	ShieldDamage  int     `json:"shield_damage"`
	PowerUsage    float64 `json:"power_usage"`

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

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

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

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

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

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
}

type Missile

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

type MissioNFaction

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

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

type OptExport

type OptExport func(e *Exporter)

type PathWithNavmap

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

type PoB

type PoB struct {
	PoBWithoutGoods
	ShopItems []*ShopItem `json:"shop_items"`
}

also known as Player Base Station

func (PoB) GetNickname added in v1.63.0

func (b PoB) GetNickname() string

type PoBGood

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

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

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

	AnyBaseSells bool `json:"any_base_sells"`
	AnyBaseBuys  bool `json:"any_base_buys"`
}

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"`
	Base     *PoBWithoutGoods `json:"base"`
}

type PoBWithoutGoods added in v1.63.2

type PoBWithoutGoods struct {
	Nickname string `json:"nickname"`
	Name     string `json:"name"`

	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"`
}

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 Rephack

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

type Reputation

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

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) 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 Scanner

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

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

	Lootable     bool            `json:"lootable"`
	Nickname     string          `json:"nickname"`
	NicknameHash flhash.HashCode `json:"nickname_hash" format:"int64"`
	NameID       int             `json:"name_id"`
	InfoID       int             `json:"info_id"`

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

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

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"`

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

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

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

	Nickname     string          `json:"nickname"`
	HpType       string          `json:"hp_type"`
	NicknameHash flhash.HashCode `json:"nickname_hash" format:"int64"`
	HpTypeHash   flhash.HashCode `json:"-" swaggerignore:"true"`
	IdsName      int             `json:"ids_name"`
	IdsInfo      int             `json:"ids_info"`

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

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

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"`
	NicknameHash flhash.HashCode `json:"nickname_hash"`

	Name      string  `json:"name"`
	Class     int     `json:"class"`
	Type      string  `json:"type"`
	Price     int     `json:"price"`
	Armor     int     `json:"armor"`
	HoldSize  int     `json:"hold_size"`
	Nanobots  int     `json:"nanobots"`
	Batteries int     `json:"batteries"`
	Mass      float64 `json:"mass"`

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

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

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

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

	*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
	// contains filtered or unexported fields
}

type ShopItem

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

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"`
	Price        int             `json:"price"`
	MaxForce     int             `json:"max_force"`
	PowerUsage   int             `json:"power_usage"`
	Efficiency   float64         `json:"efficiency"`
	Value        float64         `json:"value"`
	HitPts       int             `json:"hit_pts"`
	Lootable     bool            `json:"lootable"`
	Nickname     string          `json:"nickname"`
	NicknameHash flhash.HashCode `json:"nickname_hash" format:"int64"`
	NameID       int             `json:"name_id"`
	InfoID       int             `json:"info_id"`

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

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

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"`
	Price      int    `json:"price"`
	MaxLength  int    `json:"max_length"`
	ReachSpeed int    `json:"reach_speed"`

	Lootable      bool            `json:"lootable"`
	Nickname      cfg.TractorID   `json:"nickname"`
	NicknameHash  flhash.HashCode `json:"nickname_hash" format:"int64"`
	ShortNickname string          `json:"short_nickname"`
	NameID        int             `json:"name_id"`
	InfoID        int             `json:"info_id"`

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

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 TradeRoute

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

func NewTradeRoute

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

func (*TradeRoute) GetProffitPerTime

func (t *TradeRoute) GetProffitPerTime() float64

func (*TradeRoute) GetProffitPerV

func (t *TradeRoute) GetProffitPerV() float64

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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