Table of Contents

Interface IAutomationSurface

Namespace
AcDream.Plugin.Abstractions
Assembly
AcDream.Plugin.Abstractions.dll

The whole of live gameplay as a plugin sees it: the character, the spells, the world, and the commands that act on them. Each area is its own interface; an area the host does not provide returns the shared inert implementation instead of null.

public interface IAutomationSurface

Properties

Allegiance

Authoritative allegiance identity and membership state.

IAllegianceAutomation Allegiance { get; }

Property Value

IAllegianceAutomation

Character

The local character.

ICharacterInfo Character { get; }

Property Value

ICharacterInfo

CharacterOptions

The character's own on/off options, as on the character options page.

ICharacterOptionsAutomation CharacterOptions { get; }

Property Value

ICharacterOptionsAutomation

Chat

Reading and writing the client's text.

IPluginChat Chat { get; }

Property Value

IPluginChat

Combat

Combat state, nearby hostiles, and melee/missile attacks.

ICombatAutomation Combat { get; }

Property Value

ICombatAutomation

Dialogs

Answering the server's yes/no confirmation dialogs.

IDialogAutomation Dialogs { get; }

Property Value

IDialogAutomation

DungeonMap

The shape of the dungeon the character is in, for drawing a map of it.

IDungeonMapAutomation DungeonMap { get; }

Property Value

IDungeonMapAutomation

Enchantments

Enchantments in force on other objects, as the client tracks them.

IEnchantmentAutomation Enchantments { get; }

Property Value

IEnchantmentAutomation

Equipment

What the character owns to wear or wield, and equipping it.

IEquipmentAutomation Equipment { get; }

Property Value

IEquipmentAutomation

Fellowship

Authoritative fellowship vitals for helper spell policy.

IFellowshipAutomation Fellowship { get; }

Property Value

IFellowshipAutomation

IsAvailable

Whether there is a live in-world session behind this surface. False before login, after logout, and on a surface the host never bound -- read it before trusting anything else here.

bool IsAvailable { get; }

Property Value

bool

Items

The character's inventory, and using or applying items.

IItemAutomation Items { get; }

Property Value

IItemAutomation

Labels

Text labels hung over objects in the world.

IWorldLabelAutomation Labels { get; }

Property Value

IWorldLabelAutomation

Login

The account's character list, and logging out.

ILoginAutomation Login { get; }

Property Value

ILoginAutomation

Loot

Corpses and containers, and taking things out of them.

ILootAutomation Loot { get; }

Property Value

ILootAutomation

Magic

Casting spells.

IMagicCommands Magic { get; }

Property Value

IMagicCommands

Navigation

Where things are, and moving and turning the character.

INavigationAutomation Navigation { get; }

Property Value

INavigationAutomation

Network

The other clients on this computer: the local client list, and the casts they report.

INetworkAutomation Network { get; }

Property Value

INetworkAutomation

Objects

The world objects the client is tracking.

IWorldObjectAutomation Objects { get; }

Property Value

IWorldObjectAutomation

Projectiles

Whether a missile or spell would reach a target.

IProjectileAutomation Projectiles { get; }

Property Value

IProjectileAutomation

Recalls

Generation-safe recall commands and portal transition state.

IRecallAutomation Recalls { get; }

Property Value

IRecallAutomation

Recovery

Recovering after death.

IRecoveryAutomation Recovery { get; }

Property Value

IRecoveryAutomation

Selection

What the player has selected, and acting on it.

ISelectionAutomation Selection { get; }

Property Value

ISelectionAutomation

Spells

The spells the character knows, and every spell description loaded.

ISpellCatalog Spells { get; }

Property Value

ISpellCatalog

Trade

Trading directly with another player.

ITradeAutomation Trade { get; }

Property Value

ITradeAutomation

Vendor

Buying from and selling to a vendor.

IVendorAutomation Vendor { get; }

Property Value

IVendorAutomation

WorldTime

The in-game clock and calendar.

IWorldTimeAutomation WorldTime { get; }

Property Value

IWorldTimeAutomation