Obenseuer Modding Framework API (0.11.1)

This is the index of every API page. Each line says what you can do with that page. Pick the group that matches what your mod changes. New to modding? Start with Your first mod. The class names in backticks are the names you type in code.

Target: Obenseuer 0.5.08 (buildid 25969064), Unity 6000.0.77f1 Mono, BepInEx 5.4.23 or later (Mono), or BepInEx 6 Unity.Mono (be.788, the tested build). Namespace: ObenseuerCore. Plugin GUID: obenseuer.moddingframework.

Everything not listed here is internal, including the framework’s save-file classes, which are not API and may change. The one save-file type that is public is BankLedgerEntry, because the bank ledger’s Entries and Added return it. WebUiPlugin is the WebUi plugin class itself; mods never use it.

The framework’s core classes (the plugin, patching, logging, events, time and money, saves, tweaks, the Mods menu and the player look) are on framework core classes.

How to read this index

Most pages cover one part of the game and use the same shape: what it is, when to use it, a quick example, common tasks, a reference list and details. Calls must be made from your mod’s normal code (OnLoad, event handlers, Update), not from a background thread you started. See main thread. Pages for newer or less tested areas are marked experimental. See the status page.

Framework basics

  • Conditions: read, add and remove health problems such as addictions. Conditions.
  • Debug trace: turn on the framework’s diary of what it does, to find out why something does not work.
  • Developer menu: an off-by-default window (F8 or omf_dev) to restart, rewind or remove your quests, change some game state, and add your own section and live watch values. DevMenu.
  • Events: every event you can react to, such as a new day or a money change.
  • Framework core classes: the framework’s basics: logging, events, game time and money, saves, tweaks, the Mods menu and the player’s look. CoreLog, CorePatcher, GameTime, Wallet, SaveData, Tweaks, TweakState, ModMenu, ComputerApps, CameraView, PlayerLook, Survival, Loader.
  • Framework helpers: three short helpers that remove set-up code most mods repeat, and Events.WhenReady to run code after a save loads.
  • Framework mods: write one mod DLL that runs on both BepInEx 5 and 6, with settings that appear in the Mods menu. FrameworkMod, ModInfoAttribute, ModConfig.
  • Game save data entries: keep your mod’s data in the save, and save or load a game object’s own data. SaveData.
  • Global flags: read and set the game’s named on/off switches. GlobalFlags.
  • Input capture: hold the game’s keys back while your mod needs the keyboard, or while the player types. InputCapture.
  • Main menu buttons: add a button to the main menu. MainMenuButtons.
  • Save slots: save the game, read the current save’s name and check whether saving is possible. SaveSlots.
  • Settings, keybinds and localization: read the player’s game options and key bindings, add your own key bindings, and read the game’s text. GameSettings, Keybinds, Localization.
  • Start choices (new-game picks): read what the player picked when starting a new game. StartChoices.
  • New game options: register your own toggles, choices and whole numbers for the New Game screen, and read what the player ended up with in the save. NewGameOptions, NewGameInfo, NewGameStartedInfo.
  • Tutorial guide: read the opening tutorial’s step. Experimental. TutorialGuide.

People

  • Story: quests, dialogue and law: Quests, Dialogue, Law.
  • Quest authoring: QuestAuthoring (Create, AddObjective, SetObjective, SetCounter, HandIn, Finish, Fail, Reveal, Restart, Reset, Remove, JumpTo, Checkpoint). An objective can start hidden behind a placeholder title and be revealed later, can ask the player for items with ItemId and Count, and a quest can name the follow-up quest to start with Next.
  • Dialogue authoring: DialogueAuthoring (Add, Remove, Clear, TitleOf), Dialogue.AddResponse, RemoveResponse, AddBranch, RemoveBranch and ConversationLine.TextCallback, session only. Added choices take an insert position and a link priority.
  • HUD, console, achievements and difficulty: Hud (including Bar and ClearBar), ConsoleCommands, Achievement, GameDifficulty (SetFactor, Clear, DifficultyMultiplier), TaskItems, TaskItemCount, TaskItemChangedArgs.
  • Housing and building: Housing, Building (UnlockBlueprint(name, silent)), BuildAreaInfo.
  • NPCs, animals, relationships and phones: Npcs (incl. InScene, SceneNpcInfo), Animals (with Damage), Osrats, Relationships, Phones.
  • Characters: Characters, CharacterInfo, StartChoices, StartChoiceInfo, StartChoiceArgs.
  • Custom skills: CustomSkills (Register, Get, Level, Set, Add, Clear, QueueBanner, LevelChanged).
  • Player, skills, effects, subscriptions and travel: PlayerState (with FirstName, LastName, Wait with WaitOptions (IgnoreNeeds, NoPassOut, Label) and a minutes result, PickTime with its step and validate overload), Skills, Effects, Subscriptions, Travel, WaitStations, WaitStationInfo, WaitStationDoneArgs, DamageArgs, BreakdownArgs, BreakdownKind.
  • World: weather, power, water, radiation, location and clock: WorldWeather, WorldPower, WorldWater, WorldRadiation, WorldLocation, WorldClock (incl. SetDate), WorldTime, WaterVolumeInfo, WorldWeather.SetZone and ClearZones.
  • Sky: WorldSky (Set, Clear, Current, IsAvailable), SkyOverride, SkyState.
  • Economy: cash, shops, banking, player shops and mail: Cash, Shops, Banking, PlayerShops, Mail, MailInfo, LegalServices, LegalActionKind, LegalActionInfo, LegalActionArgs, MailSentArgs.
  • Items catalogue (read-only): Items.
  • Recipes, crafting and growing: Recipes, Crafting, Plants, PlantPickArgs, RecipeUnlockedArgs, PlantFruitInfo.
  • Audio: Sounds (including FromPcm and FromPcm16).
  • Interaction and locks: Interactions, Locks (incl. SetLockpickable, Difficulty, SetDifficulty), Ladders, LadderInfo.
  • Inventory and containers: PlayerInventory, Containers.
  • World objects and spawning: WorldObjects (incl. FindByPath, PathOf), Spawn.
  • Net: Steam, channels, lobby, presence and blobs: Steam, Net, Lobby, Presence, NetBlob.
  • Settings, keybinds and localization: GameSettings, Keybinds, ModKeybind, Localization.
  • Item and recipe registry: ItemRegistry, ItemDefinition, RecipeRegistry, RecipeDefinition.
  • NPC schedules: NpcSchedules, ScheduleInfo, ActivityChangedArgs.
  • Elevators: Elevators, ElevatorInfo, ElevatorArrivedArgs.
  • Trains: Trains, TrackTrainInfo, MinitrainInfo, TrainArgs, TrainCrashArgs.
  • Conditions: Conditions, ConditionInfo, ConditionChangedArgs.
  • Medical: Medical, MedicalTreatment, MedicalTreatmentInfo, MedicalTreatedArgs.
  • Weapons: Weapons (incl. SetHitFactor, ClearHitFactors, Hit), WeaponKind, WeaponInfo, WeaponFiredArgs, HitTarget, HitArgs, BlastSites, BlastSiteInfo.
  • Pursuit: Pursuit.
  • Casino: Casino, CasinoMachineKind, CasinoMachineInfo, CasinoPlayedArgs, CasinoWonArgs, CasinoCashedOutArgs, CasinoDoubledArgs, ScratchcardArgs.
  • Card games: CardGames, CardGameKind, CardTableInfo, CardGameEndedArgs, CardGames.SetPayoutFactor, CardGames.Clear.
  • Contests: Contests, ContestKind, ContestInfo, ContestParticipantInfo, ContestResultInfo.
  • Renovations: Renovations, RenovationState, RenovationInfo.
  • Cleaning: Cleaning, CleaningTimerState, CleaningTimerInfo, TrashInfo.
  • Dishwashers: Dishwashers, DishwasherInfo.
  • Radios: Radios, RadioInfo.
  • Wardrobe: Wardrobe, WardrobeChangedArgs.
  • Books: Books, BookEntryInfo, BookReadArgs.
  • Shop hours: ShopHours, ShopDayInfo.
  • Tutorial guide: TutorialGuide, TutorialStep, TutorialStepArgs.
  • Computer files: ComputerContents, ComputerInfo, ComputerDocInfo.
  • Notes: Notes, NoteEntryInfo, NoteCollectedArgs.
  • Saunas: Saunas, SaunaInfo, SaunaChangedArgs.
  • Lanterns: Lanterns, LanternInfo, CandleBurntOutArgs.
  • Surveillance: Surveillance (incl. IsPlayerWitnessed), SurveillanceSource, SurveillanceCameraInfo, PlayerSpottedArgs, TrespassArgs.
  • Breeding: Breeding, TrapCatch, BreederInfo, BredArgs, TrapSprungArgs.
  • Fuel stations: FuelStations, FuelStationInfo, FuelBoughtArgs, FuelTypes, FuelTypeInfo.
  • Train tickets: TrainTickets, TicketMachineInfo, TicketBoughtArgs, TicketTakenArgs.
  • Stack actions: StackActions, StackSpec.
  • Item consumables: ItemConsumables (Get, Set, Clear), ConsumableInfo.
  • Plant actions: PlantActions.
  • Growing stations: GrowingStations, GrowingStationInfo, GrowingSlotInfo.
  • Instruments: Instruments (incl. PlaySong, StopSong, HoldNote, StopHold, HoldCount, Clear), GuitarInfo, GuitarPlayedArgs, GuitarCommentArgs.
  • Time control: TimeControl.
  • Train actions: TrainActions, TrainEnd.
  • Scene state: SceneState, BranchInfo, CounterInfo, StateMachineInfo, SequenceInfo, SceneTimerInfo.
  • Mail schedules: MailSchedules, MailSenderInfo.
  • NPC movement: NpcMovement.
  • Animal actions: AnimalActions (Sit, Sleep, Hunt, Run, SetTame, SleepPermanently).
  • Law actions: LawActions.
  • Robbers: Robbers, RobberInfo.
  • Traders: Traders, TraderInfo, TraderTradeRefusal.
  • Tenants: Tenants, Tenants.TriggerEvent, Tenants.OpenRentScreen, TenementEventKind.
  • Computer desk: ComputerDesk.
  • Doors: Doors (incl. OpeningTimes, SetOpeningTimes), DoorInfo, DoorOpenTime, DoorChangedArgs.
  • Resource nodes: ResourceNodes, ResourceNodeInfo, ResourceHitArgs, ResourceDepletedArgs.
  • Autofarms: Autofarms, AutofarmInfo, ReplantedArgs.
  • Hotels: Hotels, HotelRoomInfo, RoomRentedArgs, RoomExpiredArgs.
  • Loot pools: LootPools, LootTier, LootCategoryInfo, LootEntryInfo, ContainerFilledArgs.
  • Shop stock: ShopStock.
  • Save slots: SaveSlots, SaveAutosaveMode, SaveSlotInfo.
  • Game save data entries: SaveData.Capture, SaveData.Apply, SaveData.CaptureByGuid, SaveData.ApplyByGuid, SaveData.SelfCheck.
  • World items: WorldItems, PickedUpArgs, DroppedArgs, UsedArgs.
  • WebUi and WebView: HTML UIs: WebUi, WebView. Optional: they are in ObenseuerCore.WebUi.dll, plugin obenseuer.moddingframework.webui.
  • Drones: Drones, DroneInfo, DroneChangedArgs, AirNodeInfo, DroneNodePassedArgs.
  • Janitors: Janitors, JanitorActedArgs, JanitorActionKind.
  • UI state: UiState.
  • Global flags: GlobalFlags, GlobalFlagChangedArgs.
  • Screen FX: ScreenFx (Vignette, ClearVignette, Blur, ClearBlur).
  • Lights: Lights, LightInfo, LightToggledArgs, LightStateArgs.
  • Landmarks: Landmarks (incl. Create, Mark, Remove, Clear for new landmarks that survive a save), LandmarkInfo, LandmarkArgs.
  • Base shops: BaseShops, BaseShopInfo, BaseShopBuyResult, BaseShopBoughtArgs, BaseShopSellResult, BaseShopSoldArgs.
  • Market shops: MarketShops, MarketShopInfo, MarketPayArgs.
  • Item givers: ItemGivers, ItemGiverInfo, ItemGiverArgs.
  • Recycling: Recycling, RecycledArgs.
  • Televisions: Televisions, TelevisionInfo, TelevisionChangedArgs.
  • Phone lines: PhoneLines, PhoneLineInfo, PhoneCallArgs.
  • Tanks: Tanks, TankInfo, TankChangedArgs.
  • Surfaces: Surfaces, SurfaceInfo, SurfaceArgs.
  • Invoices: Invoices, InvoiceInfo, InvoiceArgs.
  • Seats: Seats, SeatInfo, SeatArgs.
  • Player movement: PlayerMovement (incl. SetRunMultiplier).
  • Breakables: Breakables, BreakableInfo, BreakableArgs, BreakableLockInfo, SmashedArgs.
  • Flood gates: FloodGates, FloodGateInfo, FloodGateChangedArgs.
  • Extractables: Extractables, ExtractableInfo, ExtractedArgs.
  • Sleep events: SleepEvents, SleepEventKind, SleepEventOccurredArgs, SleepEventInterceptArgs.
  • Showers: Showers, ShowerInfo, ShowerChangedArgs.
  • Mailboxes: Mailboxes, MailboxMode, MailboxInfo, MailboxUsedArgs.
  • Parcel lockers: ParcelLockers, ParcelLockerInfo, LockerInfo.
  • Signs: Signs, SignInfo, SignTextChangedArgs.
  • Tarp doors: TarpDoors, TarpDoorInfo, TarpDoorChangedArgs.
  • Power devices: PowerDevices, PowerDeviceKind, PowerDeviceInfo, PoweredChangedArgs, FuelRanOutArgs.
  • NPC actions: NpcActions (Teleport, Kill, Hit, StartDialogue, ChangeLevel).
  • NPC control: NpcControl, NpcControlFlags.
  • NPC animation: NpcAnimation (Play, Stop, IsPlaying, StopAll).
  • Mod NPCs: ModNpcs (Spawn, SpawnSaved, SpawnWithLook, Despawn, Clear, CharacterIdOf, List).
  • NPC appearance: NpcAppearance (Meshes, MaterialNames, SetMeshActive, SetMaterials, Restore, Clear).
  • Scene looks: SceneLooks (List, FindByName, FindByCharacter, Load, Apply, Reskin, Remove, Release), SceneLookInfo, SceneLook. Reads a character look out of a built-in scene at run time;
  • Jobs: Jobs, JobInfo, WorkedArgs.
  • Crafting upgrades: CraftingUpgrades, CraftingUpgradeInfo.
  • Crafting sources: extra containers for crafting stations.
  • Inventory sources: extra containers for the furniture workbench and for contractor renovations.
  • Crafting speed, quality and stations: CraftingSpeed, CraftingQuality, CraftingStations (incl. Pause, Resume).
  • Hazards: Hazards, HazardKind, HazardInfo, HazardEnteredArgs.
  • Levels: Levels, LevelDoorInfo, LevelChangeArgs.
  • Spawners: Spawners, SpawnerInfo, SpawnerArgs, RespawnTime.
  • Scene logic: SceneLogic, RelayInfo, RelayArgs.
  • Custom furniture: FurnitureRegistry (Get, GiveBlueprint(id, silent)), FurnitureDefinition (Placement, Colliders, CategoryName), FurniturePlacement, BlueprintDefinition, DefineBlueprint, IsBlueprintKnown, GiveFlatpack, MailBlueprint, AddFlatpackLoot, blueprint pools.

  • Characters: read every character’s name, age and job, including saved characters on the main menu. Characters.
  • Janitors: react to the game’s invisible janitor scripts that restock storage. Janitors.
  • Mod NPC routines: give a mod NPC a weekly timetable of walking, sitting and sleeping. ModNpcRoutines.
  • Mod NPCs: spawn extra characters, copied from the game’s own. ModNpcs.
  • NPC actions: teleport, hit or kill an NPC, make it follow the player or speak, and start its conversation. NpcActions.
  • NPC animation: play an animation on an NPC. NpcAnimation.
  • NPC appearance: change which body parts and materials an NPC shows. NpcAppearance.
  • NPC control: take an NPC over for a while by switching off parts of its own behaviour. NpcControl.
  • NPC movement: make an NPC walk to a point, patrol a route, or stand still. NpcMovement.
  • NPC schedules: read what each NPC does during the day and react when it changes. NpcSchedules.
  • NPCs: list the game’s NPCs, get told when they spawn, despawn or die, and find them in the loaded scenes. Npcs.
  • Relationships: read the player’s relationship scores, and get told when one changes. Relationships.
  • Robbers: read robbers and make one attack, rob or negotiate. Robbers.
  • Tenants: read a tenant’s income and levels, trigger a tenant event, and open the rent screen. Tenants.
  • Traders: read a trader’s money and prices, restock it, and trade without the trade screen. Traders.

Law and crime

  • Law actions: pay fines, try a bribe and confiscate items. LawActions.
  • Pursuit: call the police onto the player or stop a chase. Pursuit.
  • Surveillance: read cameras and react when the player is spotted. Surveillance.

Animals and plants

  • Animal actions: make an animal sit, sleep, hunt, run or become tame. AnimalActions.
  • Animals: find, read and hurt cats, chicks, chickens, pigs and rats. Animals.
  • Autofarms: set how grown replanted crops start, and react to a replant. Autofarms.
  • Breeding: read animal breeding pens and rat traps, and react to a birth or a catch. Breeding.
  • Growing stations: read growing stations and their plant spots, and pause or rot them. GrowingStations.
  • Plant actions: harvest, plant, pause or age a plant. PlantActions.

Player life and skills

  • Contests: read drinking and sauna contests and make the player give up. Contests.
  • Custom skills: add your own skills to the character panel. CustomSkills.
  • Item consumables: change what eating, drinking or using an item does to the player. ItemConsumables.
  • Jobs: read the jobs in a scene, with their wage and skill, and react when the player finishes working. Jobs.
  • Medical: read the doctor’s treatments and prices, and give a treatment. Medical.
  • Player, skills, effects, subscriptions and travel: read and change the player’s health, needs, skills, status effects and position, and make the player wait or sleep. PlayerState, Skills, Effects, Travel.
  • Player movement: change walk, run and jump speed, crouch, and lock the mouse look. PlayerMovement.
  • Sleep events: react to or change what happens when the player sleeps. SleepEvents.
  • Wardrobe: put clothes and accessories on the player, and take them off. Wardrobe.
  • Weapons: read the weapon in hand, change melee damage, and read the hand-held signal detector. Weapons, Osrats.

Items and crafting

  • Crafting sources: let crafting stations take ingredients from extra containers.
  • Inventory sources: let the furniture workbench and contractor renovations take ingredients from extra containers. InventorySources, InventorySourceContext.
  • Crafting speed, quality and stations: make crafting faster, change output quality, and start, stop or pause a station. CraftingStations.
  • Crafting upgrades: read the add-on parts for workbenches and switch them on or off. CraftingUpgrades.
  • Extractables: damage things the player breaks apart for items. Extractables.
  • Custom furniture: add furniture the player can buy, build and place, and furniture blueprints. FurnitureRegistry.
  • Inventory and containers: give, take and list the player’s items and the items in containers. PlayerInventory, Containers.
  • Unloaded storage: read a storage in a scene the player is not in, and queue a take or a give that is applied when that scene loads. UnloadedStorage, UnloadedContainer, UnloadedStorageInfo.
  • Item givers: read the places that hand out items and refill or empty them. ItemGivers.
  • Items catalogue (read-only): look up any item’s name, price, category and stack size. Items.
  • Loot pools: add your items to the pools that fill containers with loot. LootPools.
  • Recipes, crafting and growing: read recipes, check whether they can be made, and react to unlocks and picked fruit. Recipes, Crafting, Plants.
  • Recipe filter: decide which recipes the recipe lists show, for example hide unlearned ones or search by name. RecipeFilter.
  • Storage panel: add your own button to the panel that opens with a container, and find its first free slot. StoragePanel.
  • Recycling: read recycling machines and react when a bottle return pays out. Recycling.
  • Item and recipe registry: add new items and recipes with icons and 3D models. ItemRegistry, RecipeRegistry.
  • Resource nodes: read things you can mine or chop, set their stock and react to hits. ResourceNodes.
  • Stack actions: give or drop item stacks with a quality, owner or liquid. StackActions.
  • World items: read, remove and react to items lying in the world. WorldItems.

Money and shops

  • Base shops: buy and sell furniture at the furniture shop. BaseShops.
  • Card games: read card tables and scale their payouts. CardGames.
  • Casino: read casino machines and react to plays and wins. Casino.
  • Economy: cash, shops, banking, player shops and mail: read and change the player’s money, use the bank, run a player shop and send mail. Cash, Banking, PlayerShops, Mail.
  • Fuel stations: read fuel stations, prices and fuel types. FuelStations, FuelTypes.
  • Invoices: read open bills, send a new bill and cancel one. Invoices.
  • Market shops: read a market stall’s till and currency. MarketShops.
  • Shop hours: read when a shop opens and closes. ShopHours.
  • Shop stock: put items on sale in traders and vending machines. ShopStock.

Places and travel

  • Doors: open, close and read doors, and change their opening hours. Doors.
  • Elevators: send an elevator to a floor and react when it arrives. Elevators.
  • Hotels: rent hotel rooms and react when a room is rented or expires. Hotels.
  • Housing and building: place, move and remove furniture, and read and evict tenants. Housing, Building.
  • Interaction and locks: add “use” prompts to objects, and lock, unlock or change locks. Interactions, Locks.
  • Ladders: block a ladder and read whether the player is climbing. Ladders.
  • Landmarks: add markers to the map that stay across saves. Landmarks.
  • Levels: change to another scene and lock or unlock level changers. Levels.
  • Renovations: start renovations and read their progress and cost. Renovations.
  • Scene logic: fire or disable a scene’s built-in triggers. SceneLogic.
  • Scene looks: copy a character’s look out of a built-in scene and reuse it. Experimental. SceneLooks.
  • Scene state: read and set a scene’s counters, branches and timers. SceneState.
  • Tarp doors: open and close the plastic sheet doors. TarpDoors.
  • Time control: speed up or slow down the game clock, and run code after some in-game time. TimeControl.
  • Train actions: set a train’s engine, speed and brakes, and couple trains. TrainActions.
  • Train tickets: read ticket machines and react when a ticket is bought. TrainTickets.
  • Trains: read trains and react when they arrive, leave or crash. Trains.
  • World: weather, power, water, radiation, location and clock: read and change the weather, the date and time, water, radiation and power cuts. WorldWeather, WorldClock, WorldWater.
  • Sky: change the fog, light, sun and stars. WorldSky.

Objects and devices

  • World props: place a model, primitive, furniture, light or anchor in any scene and bring it back on every load. WorldProps.
  • Blast sites: read the spots that take dynamite and react to a blast. BlastSites.
  • Breakables: break or repair things, and react when something is smashed. Breakables.
  • Cleaning: read apartment cleaning timers and trash. Cleaning.
  • Dishwashers: read dishwashers and react when a wash finishes. Dishwashers.
  • Drones: read drones and their routes, switch them, and set their target. Drones.
  • Flood gates: open, close or power flood gates. FloodGates.
  • Hazards: switch hazard areas, such as radiation zones, on or off. Hazards.
  • Instruments: play guitar notes and songs. Instruments.
  • Lanterns: read lanterns and react when a candle burns out. Lanterns.
  • Lights: switch lights on or off. Lights.
  • Power devices: read generators, batteries and stoves, and switch them. PowerDevices.
  • Saunas: switch saunas on or off and read their temperature. Saunas.
  • Seats: make the player sit in a chair or stand up, and see who sits where. Seats.
  • Showers: switch showers on or off. Showers.
  • Signs: read and change the text on signs. Signs.
  • Spawners: change how often things respawn and trigger a spawn. Spawners.
  • Surfaces: change the wallpaper on walls, floors and ceilings. Surfaces.
  • Tanks: read water and fuel tanks, and set or empty what they hold. Tanks.
  • World objects and spawning: find objects in the loaded scene and spawn new ones. WorldObjects, Spawn.

Phones, mail and media

  • Books: read the books the player has and react when one is read. Books.
  • Computer desk: change a computer’s wallpaper. ComputerDesk.
  • Computer files: read the files and emails on the game’s computers. Experimental. ComputerContents.
  • Mail schedules: send mail now from the game’s own mail senders, or a random amount. MailSchedules.
  • Mailboxes: take mail from mailboxes and react when one is used. Mailboxes.
  • Notes: give the player notes and emails, and read the ones collected. Notes.
  • Parcel lockers: read parcel lockers and claim their packages. ParcelLockers.
  • Phone lines: ring a phone, start, answer and decline calls. PhoneLines.
  • Phones: read the phone book, the numbers the player can dial. Phones.
  • Radios: turn radios on or off. Radios.
  • Televisions: switch televisions on or off. Televisions.

Screen and UI

  • Audio: play the game’s sounds or your own. Sounds.
  • HUD, console, achievements and difficulty: show notifications, subtitles and hints, add console commands, unlock achievements and scale difficulty. Hud, ConsoleCommands, Achievement, GameDifficulty.
  • Screen FX: add a darkened edge, a blur, a camera shake or a fade to black. ScreenFx.
  • UI kit: build your own windows with text, buttons and sliders in the framework’s look. ModWindow, ModUi.
  • UI state: read whether a menu or pause screen is open. UiState.
  • WebUi and WebView: HTML UIs: build windows from HTML pages. This part is optional and ships in ObenseuerCore.WebUi.dll. WebUi, WebView.

Story

  • Dialogue authoring: create new conversations, and add or remove player choices in the game’s conversations. DialogueAuthoring.
  • Quest authoring: create new quests with objectives and counters, take items in for an objective, start a follow-up quest, and rewind or remove a quest. QuestAuthoring.
  • Story: quests, dialogue and law: read quests, conversations and the player’s crime record, and arrest the player. Experimental. Quests, Dialogue, Law.

Online play

Known API inconsistencies (to change in 1.0)

These stay in the 0.x releases so that mods built against them keep compiling. They are planned to change in 1.0.

  • Event payloads. Some events pass a bare int, ulong, bool or string, or several of them, instead of a named args class. Example: Events.HourPassed is Action<int>, so the hour is a bare number with no name.
  • Sentinels instead of nullables. Some lookups return a sentinel for “not found” where a nullable would be expected. Example: WorldWeather.IndexOf returns -1 for an unknown name.
  • Bad ids. Many calls throw ArgumentException for an empty or malformed id, but others return a default for the same kind of input. Example: Relationships.GetDisposition("") returns 0 without throwing, while ModNpcs.Spawn throws for a bad modId.

Table of contents


This site uses Just the Docs, a documentation theme for Jekyll.