Barotrauma Server Doc
|
Public Types | |
enum class | NetFlags : UInt16 { Misc = 0x1 , MapAndMissions = 0x2 , UpgradeManager = 0x4 , SubList = 0x8 , ItemsInBuyCrate = 0x10 , ItemsInSellFromSubCrate = 0x20 , PurchasedItems = 0x80 , SoldItems = 0x100 , Reputation = 0x200 , CharacterInfo = 0x800 } |
![]() | |
enum class | InteractionType { None , Talk , Examine , Map , Crew , Store , Upgrade , PurchaseSub , MedicalClinic , Cargo } |
enum class | TransitionType { None , LeaveLocation , ProgressToNextLocation , ReturnToPreviousLocation , ReturnToPreviousEmptyLocation , ProgressToNextEmptyLocation , End } |
Public Member Functions | |
UInt16 | GetLastUpdateIdForFlag (NetFlags flag) |
void | SetLastUpdateIdForFlag (NetFlags flag, UInt16 id) |
void | IncrementLastUpdateIdForFlag (NetFlags flag) |
void | IncrementAllLastUpdateIds () |
override Wallet | GetWallet (Client client=null) |
override void | Start () |
void | SaveExperiencePoints (Client client) |
int | GetSavedExperiencePoints (Client client) |
void | ClearSavedExperiencePoints (Client client) |
void | SavePlayers () |
void | MoveDiscardedCharacterBalancesToBank () |
bool | CanPurchaseSub (SubmarineInfo info, Client client) |
void | DiscardClientCharacterData (Client client) |
CharacterCampaignData | GetClientCharacterData (Client client) |
CharacterCampaignData | SetClientCharacterData (Client client) |
void | AssignClientCharacterInfos (IEnumerable< Client > connectedClients) |
Dictionary< Client, Job > | GetAssignedJobs (IEnumerable< Client > connectedClients) |
override void | Update (float deltaTime) |
override void | End (TransitionType transitionType=TransitionType.None) |
void | ServerWrite (IWriteMessage msg, Client c) |
void | ServerRead (IReadMessage msg, Client sender) |
void | ServerReadMoney (IReadMessage msg, Client sender) |
void | ServerReadRewardDistribution (IReadMessage msg, Client sender) |
void | ServerReadCrew (IReadMessage msg, Client sender) |
void | SendCrewState (List< CharacterInfo > hiredCharacters,(int id, string newName) renamedCrewMember, CharacterInfo firedCharacter) |
Notifies the clients of the current bot situation like syncing pending and available hires More... | |
override bool | TryPurchase (Client client, int price) |
override int | GetBalance (Client client=null) |
override void | Save (XElement element) |
![]() | |
bool | CanAfford (int cost, Client client=null) |
Location | GetCurrentDisplayLocation () |
The location that's displayed as the "current one" in the map screen. Normally the current outpost or the location at the start of the level, but when selecting the next destination at the end of the level at an uninhabited location we use the location at the end More... | |
void | InitFactions () |
override void | AddExtraMissions (LevelData levelData) |
void | LoadNewLevel () |
TransitionType | GetAvailableTransition (out LevelData nextLevel, out Submarine leavingSub) |
Which type of transition between levels is currently possible (if any) More... | |
TransitionType | GetAvailableTransition () |
override void | End (CampaignMode.TransitionType transitionType=CampaignMode.TransitionType.None) |
void | UpdateStoreStock () |
Updates store stock before saving the game More... | |
void | EndCampaign () |
Faction | GetRandomFaction (Rand.RandSync randSync, bool allowEmpty=true) |
Returns a random faction based on their ControlledOutpostPercentage More... | |
Faction | GetRandomSecondaryFaction (Rand.RandSync randSync, bool allowEmpty=true) |
Returns a random faction based on their SecondaryControlledOutpostPercentage More... | |
bool | TryHireCharacter (Location location, CharacterInfo characterInfo, Character hirer, Client client=null) |
void | AssignNPCMenuInteraction (Character character, InteractionType interactionType) |
void | OutpostNPCAttacked (Character npc, Character attacker, AttackResult attackResult) |
Faction | GetFaction (Identifier identifier) |
float | GetReputation (Identifier factionIdentifier) |
FactionAffiliation | GetFactionAffiliation (Identifier factionIdentifier) |
void | LogState () |
override void | Remove () |
int | NumberOfMissionsAtLocation (Location location) |
void | CheckTooManyMissions (Location currentLocation, Client sender) |
void | SwitchSubs () |
void | SavePets (XElement parentElement=null) |
void | LoadPets () |
void | SaveActiveOrders (XElement parentElement=null) |
void | LoadActiveOrders () |
override void | ShowStartMessage () |
![]() | |
virtual void | UpdateWhilePaused (float deltaTime) |
GameMode (GameModePreset preset) | |
virtual void | AddToGUIUpdateList () |
Static Public Member Functions | |
static MultiPlayerCampaign | StartNew (string mapSeed, CampaignSettings settings) |
static MultiPlayerCampaign | LoadNew (XElement element) |
static string | GetCharacterDataSavePath (string savePath) |
static string | GetCharacterDataSavePath () |
static List< SubmarineInfo > | GetCampaignSubs () |
static void | StartNewCampaign (string savePath, string subPath, string seed, CampaignSettings startingSettings) |
static void | LoadCampaign (string selectedSave, Client client) |
static void | StartCampaignSetup () |
![]() | |
static bool | BlocksInteraction (InteractionType interactionType) |
static List< Submarine > | GetSubsToLeaveBehind (Submarine leavingSub) |
static int | GetHullRepairCost () |
static int | GetItemRepairCost () |
static Faction | GetRandomFaction (IEnumerable< Faction > factions, Rand.RandSync randSync, bool secondary=false, bool allowEmpty=true) |
static Faction | GetRandomFaction (IEnumerable< Faction > factions, Random random, bool secondary=false, bool allowEmpty=true) |
static bool | AllowedToManageCampaign (Client client, ClientPermissions permissions) |
There is a client-side implementation of the method in CampaignMode More... | |
static bool | AllowImmediateItemDelivery (Client client) |
static bool | AllowedToManageWallets (Client client) |
Protected Member Functions | |
override void | LoadInitialLevel () |
Load the first level and start the round after loading a save file More... | |
override IEnumerable< CoroutineStatus > | DoLevelTransition (TransitionType transitionType, LevelData newLevel, Submarine leavingSub, bool mirror) |
![]() | |
CampaignMode (GameModePreset preset, CampaignSettings settings) | |
virtual void | EndCampaignProjSpecific () |
void | KeepCharactersCloseToOutpost (float deltaTime) |
void | LoadStats (XElement element) |
XElement | SaveStats () |
void | TransferItemsBetweenSubs () |
Also serializes the current sub. More... | |
void | RefreshOwnedSubmarines () |
Properties | |
UInt16 | LastSaveID [get, set] |
byte | CampaignID [get, set] |
bool | ForceMapUI [get, set] |
bool | GameOver [get] |
override bool | Paused [get] |
override bool | PurchasedHullRepairs [get, set] |
override bool | PurchasedLostShuttles [get, set] |
override bool | PurchasedItemRepairs [get, set] |
![]() | |
IReadOnlyList< Faction > | Factions [get] |
XElement | ActiveOrdersElement [get, set] |
bool | IsFirstRound = true [get, protected set] |
bool | DisableEvents [get] |
bool | TransferItemsOnSubSwitch [get, set] |
bool | SwitchedSubsThisRound [get] |
Map | Map [get] |
override IEnumerable< Mission > | Missions [get] |
Location | CurrentLocation [get] |
LevelData | NextLevel [get, protected set] |
virtual bool | PurchasedHullRepairs [get, set] |
virtual bool | PurchasedLostShuttles [get, set] |
virtual bool | PurchasedItemRepairs [get, set] |
bool | MirrorLevel [get, protected set] |
![]() | |
CrewManager? | CrewManager [get] |
virtual IEnumerable< Mission > | Missions [get] |
bool | IsSinglePlayer [get] |
LocalizedString | Name [get] |
virtual bool | Paused [get] |
GameModePreset | Preset [get] |
Additional Inherited Members | |
![]() | |
double | TotalPlayTime |
int | TotalPassedLevels |
readonly CargoManager | CargoManager |
UpgradeManager | UpgradeManager |
MedicalClinic | MedicalClinic |
readonly CampaignMetadata | CampaignMetadata |
CampaignSettings | Settings |
readonly NamedEvent< WalletChangedEvent > | OnMoneyChanged = new NamedEvent<WalletChangedEvent>() |
bool | CheatsEnabled |
SubmarineInfo | PendingSubmarineSwitch |
Wallet | Bank |
bool | PurchasedLostShuttlesInLatestSave |
bool | DivingSuitWarningShown |
![]() | |
readonly record struct SaveInfo(string FilePath, Option< SerializableDateTime > SaveTime, string SubmarineName, ImmutableArray< string > EnabledContentPackageNames) const int | MaxMoney = int.MaxValue / 2 |
const int | InitialMoney = 8500 |
const float | HullRepairCostPerDamage = 0.1f |
const int | ShuttleReplaceCost = 1000 |
const int | MaxHullRepairCost = 600 |
![]() | |
static List< GameModePreset > | PresetList = new List<GameModePreset>() |
![]() | |
static void | LeaveUnconnectedSubs (Submarine leavingSub) |
![]() | |
XElement | petsElement |
bool | wasDocked |
Map | map |
![]() | |
DateTime | startTime |
GameModePreset | preset |
![]() | |
const float | EndTransitionDuration = 5.0f |
![]() | |
Action | BeforeLevelLoading |
Automatically cleared after triggering -> no need to unregister More... | |
Definition at line 12 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
strong |
Enumerator | |
---|---|
Misc | |
MapAndMissions | |
UpgradeManager | |
SubList | |
ItemsInBuyCrate | |
ItemsInSellFromSubCrate | |
PurchasedItems | |
SoldItems | |
Reputation | |
CharacterInfo |
Definition at line 15 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.AssignClientCharacterInfos | ( | IEnumerable< Client > | connectedClients | ) |
Definition at line 482 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
bool Barotrauma.MultiPlayerCampaign.CanPurchaseSub | ( | SubmarineInfo | info, |
Client | client | ||
) |
void Barotrauma.MultiPlayerCampaign.ClearSavedExperiencePoints | ( | Client | client | ) |
Definition at line 235 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.DiscardClientCharacterData | ( | Client | client | ) |
Definition at line 450 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
protectedvirtual |
Implements Barotrauma.CampaignMode.
Definition at line 341 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
virtual |
Reimplemented from Barotrauma.GameMode.
Definition at line 599 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
Dictionary<Client, Job> Barotrauma.MultiPlayerCampaign.GetAssignedJobs | ( | IEnumerable< Client > | connectedClients | ) |
Definition at line 493 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
virtual |
Reimplemented from Barotrauma.CampaignMode.
Definition at line 1397 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
static |
Definition at line 276 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
static |
Definition at line 142 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
static |
Definition at line 137 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
CharacterCampaignData Barotrauma.MultiPlayerCampaign.GetClientCharacterData | ( | Client | client | ) |
Definition at line 468 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
UInt16 Barotrauma.MultiPlayerCampaign.GetLastUpdateIdForFlag | ( | NetFlags | flag | ) |
Definition at line 31 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
int Barotrauma.MultiPlayerCampaign.GetSavedExperiencePoints | ( | Client | client | ) |
Definition at line 231 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
virtual |
Reimplemented from Barotrauma.CampaignMode.
Definition at line 20 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.IncrementAllLastUpdateIds | ( | ) |
Definition at line 48 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.IncrementLastUpdateIdForFlag | ( | NetFlags | flag | ) |
Definition at line 42 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
static |
Definition at line 127 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
protectedvirtual |
Load the first level and start the round after loading a save file
Implements Barotrauma.CampaignMode.
Definition at line 160 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
static |
Definition at line 126 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.MoveDiscardedCharacterBalancesToBank | ( | ) |
Definition at line 326 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
virtual |
Implements Barotrauma.CampaignMode.
Definition at line 1410 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.SaveExperiencePoints | ( | Client | client | ) |
Definition at line 226 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.SavePlayers | ( | ) |
Definition at line 240 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.SendCrewState | ( | List< CharacterInfo > | hiredCharacters, |
(int id, string newName) | renamedCrewMember, | ||
CharacterInfo | firedCharacter | ||
) |
Notifies the clients of the current bot situation like syncing pending and available hires
hiredCharacters | Inform the clients that these characters have been hired. |
firedCharacter | Inform the clients that this character has been fired. |
It might be obsolete to sync available hires. I found that the available hires are always the same between the client and the server when there's only one person on the server but when a second person joins both of their available hires are different from the server.
Definition at line 1313 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.ServerRead | ( | IReadMessage | msg, |
Client | sender | ||
) |
Definition at line 785 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.ServerReadCrew | ( | IReadMessage | msg, |
Client | sender | ||
) |
Definition at line 1168 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.ServerReadMoney | ( | IReadMessage | msg, |
Client | sender | ||
) |
Definition at line 1100 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.ServerReadRewardDistribution | ( | IReadMessage | msg, |
Client | sender | ||
) |
Definition at line 1157 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.ServerWrite | ( | IWriteMessage | msg, |
Client | c | ||
) |
Definition at line 608 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
CharacterCampaignData Barotrauma.MultiPlayerCampaign.SetClientCharacterData | ( | Client | client | ) |
Definition at line 473 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
void Barotrauma.MultiPlayerCampaign.SetLastUpdateIdForFlag | ( | NetFlags | flag, |
UInt16 | id | ||
) |
Definition at line 36 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
virtual |
Reimplemented from Barotrauma.CampaignMode.
Definition at line 218 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
static |
Definition at line 167 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
static |
Definition at line 113 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
static |
Definition at line 114 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
virtual |
Reimplemented from Barotrauma.CampaignMode.
Definition at line 1367 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
virtual |
Reimplemented from Barotrauma.GameMode.
Definition at line 504 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
getset |
Definition at line 90 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
getset |
Definition at line 33 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
get |
Definition at line 44 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
getset |
Definition at line 69 of file BarotraumaShared/SharedSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
get |
Definition at line 74 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
getset |
Definition at line 80 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
getset |
Definition at line 102 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.
|
getset |
Definition at line 91 of file BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs.