Eamon CS  3.1.0
LandOfTheMountainKing.Game.Plugin.Engine Class Reference
Inheritance diagram for LandOfTheMountainKing.Game.Plugin.Engine:
EamonRT.Game.Plugin.Engine LandOfTheMountainKing.Framework.Plugin.IEngine EamonDD.Game.Plugin.Engine EamonRT.Framework.Plugin.IEngine EamonRT.Framework.Plugin.IEngine Eamon.Game.Plugin.Engine EamonDD.Framework.Plugin.IEngine EamonDD.Framework.Plugin.IEngine EamonDD.Framework.Plugin.IEngine Eamon.Framework.Plugin.IEngine Eamon.Framework.Plugin.IEngine Eamon.Framework.Plugin.IEngine Eamon.Framework.Plugin.IEngine

Public Member Functions

override RetCode LoadPluginClassMappings ()
 Loads the ClassMappingsDictionary with all interface to class mapping Key/Value pairs necessary to allow the currently loaded Eamon CS plugin to run. More...
 
override void InitArtifacts ()
 
override void InitMonsters ()
 
 Engine ()
 
- Public Member Functions inherited from EamonRT.Game.Plugin.Engine
override RetCode LoadPluginClassMappings ()
 Loads the ClassMappingsDictionary with all interface to class mapping Key/Value pairs necessary to allow the currently loaded Eamon CS plugin to run. More...
 
override void InitSystem ()
 
override void ResetProperties (PropertyResetCode resetCode)
 
override bool ShouldSleepAfterInput (StringBuilder buf, char inputFillChar)
 
virtual void PrintPlayerRoom (IRoom room)
 
virtual void PrintToWhom ()
 
virtual void PrintFromWhom ()
 
virtual void PrintVerbWhoOrWhat (ICommand command)
 
virtual void PrintVerbPrepWhoOrWhat (ICommand command)
 
virtual void PrintFromPrepWhat (ICommand command)
 
virtual void PrintPutObjPrepWhat (ICommand command, IArtifact artifact)
 
virtual void PrintUseObjOnWhoOrWhat (IArtifact artifact)
 
virtual void PrintWhamHitObj (IArtifact artifact)
 
virtual void PrintMonsterAlive (IArtifact artifact)
 
virtual void PrintLightOut (IArtifact artifact)
 
virtual void PrintDeadBodyComesToLife (IArtifact artifact)
 
virtual void PrintArtifactVanishes (IArtifact artifact)
 
virtual void PrintArtifactBreaks (IRoom room, IMonster monster, IArtifact artifact, bool prependNewLine=false)
 
virtual void PrintEnterExtinguishLightChoice (IArtifact artifact)
 
virtual void PrintArtifactIsWorth (IArtifact artifact, long goldAmount)
 
virtual void PrintEnemiesNearby ()
 
virtual void PrintNothingHappens ()
 
virtual void PrintFullDesc (IArtifact artifact, bool showName, bool showVerboseName)
 
virtual void PrintMonsterCantFindExit (IMonster monster, IRoom room, string monsterName, bool isPlural, bool fleeing)
 
virtual void PrintMonsterMembersExitRoom (IMonster monster, IRoom room, string monsterName, bool isPlural, bool fleeing)
 
virtual void PrintMonsterExitsRoom (IMonster monster, IRoom room, string monsterName, bool isPlural, bool fleeing, Direction direction)
 
virtual void PrintMonsterEntersRoom (IMonster monster, IRoom room, string monsterName, bool isPlural, bool fleeing, Direction direction)
 
virtual void PrintMonsterGetsAngry (IMonster monster, bool printFinalNewLine=true)
 
virtual void PrintMonsterEmotes (IMonster monster, bool friendSmile=true)
 
virtual void PrintFullDesc (IMonster monster, bool showName, bool showVerboseName)
 
virtual void PrintHealthImproves (IMonster monster)
 
virtual void PrintHealthStatus (IMonster monster, bool includeUninjuredGroupMonsters)
 
virtual void PrintDoesntHaveIt (IMonster monster)
 
virtual void PrintTooManyWeapons ()
 
virtual void PrintDeliverGoods ()
 
virtual void PrintYourWeaponsAre ()
 
virtual void PrintEnterWeaponToSell ()
 
virtual void PrintAllWoundsHealed ()
 
virtual void PrintYouHavePerished ()
 
virtual void PrintRestoreSavedGame ()
 
virtual void PrintStartOver ()
 
virtual void PrintAcceptDeath ()
 
virtual void PrintEnterDeadMenuChoice ()
 
virtual void PrintReallyWantToStartOver ()
 
virtual void PrintReallyWantToAcceptDeath ()
 
virtual void PrintWakingUpMonsters ()
 
virtual void PrintBaseProgramVersion ()
 
virtual void PrintWelcomeToEamonCS ()
 
virtual void PrintWelcomeBack ()
 
virtual void PrintEnterSeeIntroStoryChoice ()
 
virtual void PrintEnterWeaponNumberChoice ()
 
virtual void PrintNoIntroStory ()
 
virtual void PrintSavedGamesDeleted ()
 
virtual void PrintRestartGameUsingResume ()
 
virtual void PrintMemorialService ()
 
virtual void PrintSavedGames ()
 
virtual void PrintSaveSlot (long saveSlot, string saveName, bool printFinalNewLine=false)
 
virtual void PrintQuickSave (long saveSlot, string saveName)
 
virtual void PrintUsingSlotInstead (long saveSlot)
 
virtual void PrintEnterSaveSlotChoice (long numMenuItems)
 
virtual void PrintEnterRestoreSlotChoice (long numMenuItems)
 
virtual void PrintChangingHim (string himStr)
 
virtual void PrintChangingHer (string herStr)
 
virtual void PrintChangingIt (string itStr)
 
virtual void PrintChangingThem (string themStr)
 
virtual void PrintDiscardMessage (string inputStr)
 
virtual void PrintGoodsPayment (bool goodsExist, long goldAmount)
 
virtual void PrintMacroReplacedPagedString (string str, StringBuilder buf)
 
virtual void BuildRevealContentsListDescString (IMonster monster, IArtifact artifact, IList< IArtifact > revealContentsList, ContainerType containerType, bool showCharOwned, IRecordNameListArgs recordNameListArgs=null)
 
virtual long WeaponPowerCompare (IArtifact artifact1, IArtifact artifact2)
 
virtual long WeaponPowerCompare (long artifactUid1, long artifactUid2)
 
virtual IArtifact GetMostPowerfulWeapon (IList< IArtifact > artifactList)
 
virtual long GetMostPowerfulWeaponUid (IList< IArtifact > artifactList)
 
virtual void EnforceCharMonsterWeightLimits (IRoom room=null, bool printOutput=false)
 
virtual void NormalizeArtifactValuesAndWeights ()
 
virtual void AddUniqueCharsToArtifactAndMonsterNames ()
 
virtual void AddMissingDescs ()
 
virtual void InitSaArray ()
 
virtual void CreateCommands ()
 
virtual void InitRooms ()
 
virtual void InitMonsterScaledHardinessValues ()
 
virtual void ConvertArtifactToCharArtifact (IArtifact artifact, IArtifactCategory ac)
 
virtual IMonster ConvertArtifactToMonster (IArtifact artifact, Action< IMonster > initialize=null, bool addToDatabase=false)
 
virtual void ConvertCharacterToMonster ()
 
virtual void ConvertMonsterToCharacter (IMonster monster, IList< IArtifact > weaponList)
 
virtual void ResetMonsterStats (IMonster monster)
 
virtual void SetArmorClass ()
 
virtual void ConvertToCarriedInventory (IList< IArtifact > weaponList)
 
virtual void SellExcessWeapons (IList< IArtifact > weaponList)
 
virtual void SellInventoryToMerchant (bool sellInventory=true)
 
virtual void DeadMenu (bool printLineSep, ref bool restoreGame)
 
virtual void LightOut (IArtifact artifact)
 
virtual void MonsterGetsAggravated (IMonster monster, bool printFinalNewLine=true)
 
virtual void MonsterDies (IMonster actorMonster, IMonster dobjMonster)
 
virtual void ProcessMonsterDeathEvents (IMonster monster)
 
virtual string GetMonsterWeaponName (IMonster monster)
 
virtual void RevealDisguisedMonster (IRoom room, IArtifact artifact)
 
virtual void RevealEmbeddedArtifact (IRoom room, IArtifact artifact)
 
virtual void RevealContainerContents (IRoom room, IMonster monster, IArtifact artifact, long location, bool printOutput)
 
virtual void RevealContainerContents02 (IRoom room, IMonster monster, IArtifact artifact, long location, ContainerType[] containerTypes, IList< string > containerContentsList=null)
 
virtual IArtifact GetBlockedDirectionArtifact (long ro, long r2, Direction dir)
 
virtual ICommand GetCommandUsingToken (IMonster monster, string token, bool synonymMatch=true, bool partialMatch=true)
 
virtual void CheckDoor (IRoom room, IArtifact artifact, ref bool found, ref long roomUid)
 
virtual void CheckNumberOfExits (IRoom room, IMonster monster, bool fleeing, ref long numExits)
 
virtual void GetRandomMoveDirection (IRoom room, IMonster monster, bool fleeing, ref Direction direction, ref bool found, ref long roomUid)
 
virtual void GetRandomMoveDirection (IRoom room, IMonster monster, bool fleeing, ref Direction direction)
 
virtual void MoveMonsterToRandomAdjacentRoom (IRoom room, IMonster monster, bool fleeing, bool pauseCombat, bool printOutput=true)
 
virtual IList< IMonsterGetRandomMonsterList (long numMonsters, params Func< IMonster, bool >[] whereClauseFuncs)
 
virtual IList< IGameBaseFilterRecordList (IList< IGameBase > recordList, string name)
 
virtual IList< IArtifactGetReadyableWeaponList (IMonster monster)
 
virtual IList< IMonsterGetEmotingMonsterList (IRoom room, IMonster monster, bool friendSmile=true)
 
virtual IList< IArtifactBuildLoopWeaponArtifactList (IMonster monster)
 
virtual IList< IArtifactGetImportedPlayerInventory ()
 Gets the original carried/worn inventory brought by the player into the game. More...
 
virtual void HideImportedPlayerInventory ()
 Hides the original carried/worn inventory brought by the player into the game by moving each Artifact into Limbo. More...
 
virtual void RestoreImportedPlayerInventory ()
 Restores the original carried/worn inventory brought by the player into the game by moving each Artifact back to its initial location. More...
 
virtual RetCode BuildCommandList (IList< ICommand > commands, CommandType cmdType, StringBuilder buf, ref bool newSeen)
 
virtual StringBuilder NormalizePlayerInput (StringBuilder buf)
 
virtual StringBuilder ReplacePrepositions (StringBuilder buf)
 
virtual bool IsValidRandomMoveDirection (long oldRoomUid, long newRoomUid)
 
virtual bool IsQuotedStringCommand (ICommand command)
 
virtual bool ResurrectDeadBodies (IRoom room, params Func< IArtifact, bool >[] whereClauseFuncs)
 
virtual bool MakeArtifactsVanish (IRoom room, params Func< IArtifact, bool >[] whereClauseFuncs)
 
virtual bool SaveThrow (Stat stat, long bonus=0)
 
virtual void DamageWeaponsAndArmor (IRoom room, IMonster monster, long damage=1, bool recurse=false)
 
virtual void InjurePartyAndDamageEquipment (IInjureAndDamageArgs injureAndDamageArgs, ref bool gotoCleanup)
 
virtual void CheckActionList (IList< Action > actionList)
 
virtual void CheckPlayerSkillGains ()
 
virtual void CheckRevealContainerContents ()
 
virtual void CheckToProcessActionLists ()
 
virtual void CheckToExtinguishLightSource ()
 
virtual void PauseCombat ()
 
virtual void TransportRoomContentsBetweenRooms (IRoom oldRoom, IRoom newRoom, bool includeEmbedded=true)
 
virtual void TransportPlayerBetweenRooms (IRoom oldRoom, IRoom newRoom, IEffect effect)
 
virtual void CreateArtifactSynonyms (long artifactUid, params string[] synonyms)
 
virtual void CreateMonsterSynonyms (long monsterUid, params string[] synonyms)
 
virtual void GetOddsToHit (IMonster actorMonster, IMonster dobjMonster, IArtifactCategory ac, long af, ref long oddsToHit)
 
virtual void CreateInitialState (bool printLineSep)
 
virtual void MoveMonsters (params Func< IMonster, bool >[] whereClauseFuncs)
 
virtual void RtProcessArgv (bool secondPass, ref bool nlFlag)
 
virtual void ConvertCharArtifactsToArtifacts (IMonster monster)
 
virtual long ScaledValueMinMaxEncode (long minValue, long maxValue)
 Encode an 6-digit number where the high 3 digits are the maxValue and the low 3 digits are the minValue More...
 
virtual void ScaledValueMinMaxDecode (long encodedValue, out long minValue, out long maxValue)
 Decode an 6-digit number where the high 3 digits are the maxValue and the low 3 digits are the minValue More...
 
virtual void SetScaledHardiness (IMonster monster, long damageFactor)
 
 Engine ()
 
- Public Member Functions inherited from EamonDD.Game.Plugin.Engine
virtual bool IsAdventureFilesetLoaded ()
 
virtual bool IsCharacterInventoryLoaded ()
 
virtual void DdProcessArgv (bool secondPass, ref bool ddfnFlag, ref bool nlFlag)
 
 Engine ()
 
- Public Member Functions inherited from Eamon.Game.Plugin.Engine
virtual void HandleException (Exception ex, string stackTraceFile, string errorMessage)
 
virtual void ResolvePortabilityClassMappings ()
 
virtual void ProcessArgv (string[] args)
 
virtual RetCode LoadPluginClassMappings01 (Assembly plugin)
 Probes the currently executing library/plugin (Assembly) for all classes adorned with the ClassMappings attribute, pairs each class with its corresponding interface, and updates the ClassMappingsDictionary accordingly. More...
 
virtual RetCode PushRulesetVersion (long rulesetVersion)
 
virtual RetCode PopRulesetVersion ()
 
virtual RetCode ClearRvStack ()
 
virtual RetCode GetRvStackTop (ref long rvStackTop)
 
virtual T CreateInstance< T > (Type ifaceType, Action< T > initialize=null)
 
virtual T CreateInstance< T > (Action< T > initialize=null)
 
virtual T CloneInstance< T > (T source)
 
virtual bool CompareInstances< T > (T object1, T object2)
 
virtual bool IsRulesetVersion (params long[] versions)
 
virtual string GetPrefixedFileName (string fileName)
 
virtual void ConvertDatafileFromXmlToDat (string fileName)
 
virtual RetCode PushDatabase ()
 
virtual RetCode PushDatabase (IDatabase database)
 
virtual RetCode PopDatabase (bool freeDatabase=true)
 
virtual RetCode GetDatabase (long index, ref IDatabase database)
 
virtual RetCode SaveDatabase (string fileName)
 
virtual RetCode RestoreDatabase (string fileName)
 
virtual RetCode ClearDbStack ()
 
virtual RetCode GetDbStackTop (ref long dbStackTop)
 
virtual void DeinitSystem ()
 
virtual void ReplaceDatafileValues (string fileName, string[] patterns, string[] replacements)
 
virtual void UpgradeDatafile (string fileName)
 
virtual string Upgrade300DatafileGetCharArtFileName (string characterFileName)
 
virtual IList< ICharArtListDataUpgrade300DatafileParseCharacters (string xmlString)
 
virtual IArtifact Upgrade300DatafileGetCharArtifact (ICharArtListData charArtData, string propertyName, XElement element)
 
virtual string Upgrade300DatafileStripEquipment (string xmlString)
 
virtual RetCode RestoreRecords< T, U > (IDbTable< T > table)
 
virtual IPrep GetPrep (long index)
 Gets the sentence preposition (e.g., "to", "from", "inside", etc). More...
 
virtual string GetArticle (long index)
 Gets the sentence article (e.g., "a", "some", "the", etc). More...
 
virtual string GetNumberString (long index)
 
virtual string GetFieldDescName (long index)
 
virtual string GetFieldDescName (FieldDesc fieldDesc)
 
virtual string GetStatusName (long index)
 Gets the name for a given Status. More...
 
virtual string GetStatusName (Status status)
 Gets the name for a given Status. More...
 
virtual string GetClothingName (long index)
 Gets the name for a given Clothing. More...
 
virtual string GetClothingName (Clothing clothing)
 Gets the name for a given Clothing. More...
 
virtual string GetCombatCodeDesc (long index)
 Gets the description for a given CombatCode. More...
 
virtual string GetCombatCodeDesc (CombatCode combatCode)
 Gets the description for a given CombatCode. More...
 
virtual string GetParryCodeDesc (long index)
 Gets the description for a given ParryCode. More...
 
virtual string GetParryCodeDesc (ParryCode parryCode)
 Gets the description for a given ParryCode. More...
 
virtual string GetContainerDisplayCodeDesc (long index)
 
virtual string GetContainerDisplayCodeDesc (ContainerDisplayCode containerDisplayCode)
 
virtual string GetLightLevelName (long index)
 Gets the name for a given LightLevel. More...
 
virtual string GetLightLevelName (LightLevel lightLevel)
 Gets the name for a given LightLevel. More...
 
virtual IStat GetStat (long index)
 Gets the data for a given Stat. More...
 
virtual IStat GetStat (Stat stat)
 Gets the data for a given Stat. More...
 
virtual ISpell GetSpell (long index)
 Gets the data for a given Spell. More...
 
virtual ISpell GetSpell (Spell spell)
 Gets the data for a given Spell. More...
 
virtual IWeapon GetWeapon (long index)
 Gets the data for a given Weapon. More...
 
virtual IWeapon GetWeapon (Weapon weapon)
 Gets the data for a given Weapon. More...
 
virtual IArmor GetArmor (long index)
 Gets the data for a given Armor. More...
 
virtual IArmor GetArmor (Armor armor)
 Gets the data for a given Armor. More...
 
virtual IDirection GetDirection (long index)
 Gets the data for a given Direction. More...
 
virtual IDirection GetDirection (Direction direction)
 Gets the data for a given Direction. More...
 
virtual IArtifactType GetArtifactType (long index)
 Gets the data for a given ArtifactType. More...
 
virtual IArtifactType GetArtifactType (ArtifactType artifactType)
 Gets the data for a given ArtifactType. More...
 
virtual bool IsSuccess (RetCode rc)
 Indicates whether an operation succeeded. More...
 
virtual bool IsFailure (RetCode rc)
 Indicates whether an operation failed. More...
 
virtual bool IsValidPluralType (PluralType pluralType)
 Indicates whether a plural type is valid. More...
 
virtual bool IsValidArtifactType (ArtifactType artifactType)
 Indicates whether an artifact type is valid. More...
 
virtual bool IsValidArtifactArmor (long armor, bool includeShields=true)
 Indicates whether an armor value is valid for a wearable Artifact. More...
 
virtual bool IsValidMonsterArmor (long armor)
 Indicates whether an armor value is valid for a Monster. More...
 
virtual bool IsValidMonsterCourage (long courage)
 Indicates whether a courage value is valid for a Monster. More...
 
virtual bool IsValidMonsterFriendliness (Friendliness friendliness)
 
virtual bool IsValidMonsterFriendlinessPct (Friendliness friendliness)
 
virtual bool IsValidDirection (Direction dir)
 
virtual bool IsValidRoomUid01 (long roomUid)
 
virtual bool IsValidRoomDirectionDoorUid01 (long roomUid)
 
virtual bool IsArtifactFieldStrength (long value)
 
virtual bool IsUnmovable (long weight)
 
virtual bool IsUnmovable01 (long weight)
 
virtual long GetMonsterHealthStatusIndex (long hardiness, long dmgTaken)
 
virtual long GetWeightCarryableGronds (long hardiness)
 
virtual long GetWeightCarryableDos (long hardiness)
 
virtual long GetIntellectBonusPct (long intellect)
 
virtual long GetCharmMonsterPct (long charisma)
 
virtual long GetPluralTypeEffectUid (PluralType pluralType)
 
virtual long GetArmorFactor (long armorUid, long shieldUid)
 
virtual long GetCharismaFactor (long charisma)
 
virtual long GetMonsterFriendlinessPct (Friendliness friendliness)
 
virtual long GetArtifactFieldStrength (long value)
 
virtual long GetMerchantAskPrice (double price, double rtio)
 
virtual long GetMerchantBidPrice (double price, double rtio)
 
virtual long GetMerchantAdjustedCharisma (long charisma)
 
virtual double GetMerchantRtio (long charisma)
 
virtual bool IsCharYOrN (char ch)
 Indicates whether a character is one of ['Y', 'N']. More...
 
virtual bool IsCharGOrAOrN (char ch)
 Indicates whether a character is one of ['G', 'A', 'N']. More...
 
virtual bool IsCharSOrTOrROrX (char ch)
 Indicates whether a character is one of ['S', 'T', 'R', 'X']. More...
 
virtual bool IsCharNOrSOrEOrW (char ch)
 Indicates whether a character is one of ['N', 'S', 'E', 'W']. More...
 
virtual bool IsChar0Or1 (char ch)
 Indicates whether a character is one of ['0', '1']. More...
 
virtual bool IsChar0To2 (char ch)
 Indicates whether a character is one of ['0', '1', '2']. More...
 
virtual bool IsChar0To3 (char ch)
 Indicates whether a character is one of ['0', '1', '2', '3']. More...
 
virtual bool IsChar1To3 (char ch)
 Indicates whether a character is one of ['1', '2', '3']. More...
 
virtual bool IsChar1To4 (char ch)
 Indicates whether a character is one of ['1', '2', '3', '4']. More...
 
virtual bool IsCharDigit (char ch)
 Indicates whether a character is a numeric digit. More...
 
virtual bool IsCharDigitOrX (char ch)
 Indicates whether a character is a numeric digit or 'X'. More...
 
virtual bool IsCharPlusMinusDigit (char ch)
 Indicates whether a character is a numeric digit or one of ['+', '-']. More...
 
virtual bool IsCharAlpha (char ch)
 Indicates whether a character is alphabetic. More...
 
virtual bool IsCharAlphaSpace (char ch)
 Indicates whether a character is alphabetic or space. More...
 
virtual bool IsCharAlnum (char ch)
 Indicates whether a character is alphabetic or numeric digit. More...
 
virtual bool IsCharAlnumSpace (char ch)
 Indicates whether a character is alphabetic, numeric digit or space. More...
 
virtual bool IsCharAlnumPeriodUnderscore (char ch)
 Indicates whether a character is alphabetic, numeric digit, period or underscore. More...
 
virtual bool IsCharPrint (char ch)
 Indicates whether a character is printable. More...
 
virtual bool IsCharPound (char ch)
 Indicates whether a character is '#'. More...
 
virtual bool IsCharQuote (char ch)
 Indicates whether a character is a quote. More...
 
virtual bool IsCharAny (char ch)
 Indicates whether a character is any character at all. More...
 
virtual bool IsCharAnyButDquoteCommaColon (char ch)
 Indicates whether a character is any character but one of ['"', ',', ':']. More...
 
virtual bool IsCharAnyButBackForwardSlash (char ch)
 Indicates whether a character is any character but one of ['\', '/']. More...
 
virtual char ModifyCharToUpper (char ch)
 Given a character, produce its upper case equivalent, if any. More...
 
virtual char ModifyCharToNullOrX (char ch)
 Given a character, produce either 'X' or '\0'. More...
 
virtual char ModifyCharToNull (char ch)
 Given a character, produce '\0'. More...
 
virtual Direction GetDirection (string directionName)
 
virtual ContainerType GetContainerType (ArtifactType artifactType)
 
virtual IConfig GetConfig ()
 
virtual IGameState GetGameState ()
 Gets the GameState record. More...
 
virtual IModule GetModule ()
 Gets the Module record. More...
 
virtual void Shuffle< T > (IList< T > list)
 
virtual T GetRandomElement< T > (T[] array, Func< long > indexFunc=null)
 
virtual T GetNonRepeatingRandomElement< T > (IList< T > sourceList, IList< T > usedList, Action< IList< T >> shuffleFunc=null)
 
virtual T GetNonRepeatingRandomElement01< T > (IList< T > sourceList, bool shuffle=false, Action< IList< T >> shuffleFunc=null)
 
virtual T EvalFriendliness< T > (Friendliness friendliness, T enemyValue, T neutralValue, T friendValue)
 Evaluates the Friendliness, returning a value of type T. More...
 
virtual T EvalGender< T > (Gender gender, T maleValue, T femaleValue, T neutralValue)
 Evaluates the Gender, returning a value of type T. More...
 
virtual T EvalContainerType< T > (ContainerType containerType, T inValue, T onValue, T underValue, T behindValue)
 Evaluates the ContainerType, returning a value of type T. More...
 
virtual T EvalRoomType< T > (RoomType roomType, T indoorsValue, T outdoorsValue)
 Evaluates the RoomType, returning a value of type T. More...
 
virtual T EvalLightLevel< T > (LightLevel lightLevel, T darkValue, T lightValue)
 Evaluates the LightLevel, returning a value of type T. More...
 
virtual T EvalPlural< T > (bool isPlural, T singularValue, T pluralValue)
 Evaluates the plural value, returning a value of type T. More...
 
virtual string BuildPrompt (long bufSize, char fillChar, long number, string msg, string emptyVal)
 
virtual string BuildValue (long bufSize, char fillChar, long offset, long longVal, string stringVal, string lookupMsg)
 
virtual string WordWrap (string str, StringBuilder buf, long margin, IWordWrapArgs args, bool clearBuf=true)
 
virtual string WordWrap (string str, StringBuilder buf, bool clearBuf=true)
 
virtual string LineWrap (string str, StringBuilder buf, long startColumn, bool clearBuf=true)
 
virtual string GetStringFromNumber (long num, bool addSpace, StringBuilder buf)
 
virtual long GetNumberFromString (string str)
 
virtual RetCode RollDice (long numDice, long numSides, ref long[] dieRolls)
 Rolls a number of dice, storing the resulting values in an array. More...
 
virtual long RollDice (long numDice, long numSides, long modifier)
 Rolls a number of dice, returning a sum of the results. More...
 
virtual RetCode SumHighestRolls (long[] dieRolls, long numRollsToSum, ref long result)
 Given an array of die rolls, sum the highest of them and return the result. More...
 
virtual string Capitalize (string str)
 
virtual void UnlinkOnFailure ()
 Deletes a set of game-related files from the filesystem. More...
 
virtual void TruncatePluralTypeEffectDesc (PluralType pluralType, long maxSize)
 
virtual void TruncatePluralTypeEffectDesc (IEffect effect)
 
virtual RetCode SplitPath (string fullPath, ref string directory, ref string fileName, ref string extension, bool appendDirectorySeparatorChar=true)
 
virtual RetCode StripPrepsAndArticles (StringBuilder buf, ref bool mySeen)
 
virtual void PrintTitle (string title, bool inBox)
 
virtual void PrintEffectDesc (IEffect effect, bool printFinalNewLine=true)
 
virtual void PrintEffectDesc (long effectUid, bool printFinalNewLine=true)
 
virtual void PrintZapDirectHit ()
 Prints the Blast spell description. More...
 
virtual RetCode ValidateRecordsAfterDatabaseLoaded ()
 
virtual RetCode StatDisplay (IStatDisplayArgs args)
 
virtual RetCode GetRecordNameList (IList< IGameBase > recordList, IRecordNameListArgs args, StringBuilder buf)
 
virtual RetCode GetRecordNameCount (IList< IGameBase > recordList, string name, bool exactMatch, ref long count)
 
virtual RetCode ListRecords (IList< IGameBase > recordList, bool capitalize, bool showExtraInfo, StringBuilder buf)
 
virtual RetCode ResolveUidMacros (string str, StringBuilder buf, bool resolveFuncs, bool recurse, ref long invalidUid)
 
virtual RetCode ResolveUidMacros (string str, StringBuilder buf, bool resolveFuncs, bool recurse)
 
virtual double GetWeaponPriceOrValue (string name, long complexity, Weapon type, long dice, long sides, long numHands, bool calcPrice, ref bool isMarcosWeapon)
 
virtual double GetWeaponPriceOrValue (IArtifact weapon, bool calcPrice, ref bool isMarcosWeapon)
 
virtual double GetArmorPriceOrValue (Armor armor, bool calcPrice, ref bool isMarcosArmor)
 
virtual void AppendFieldDesc (FieldDesc fieldDesc, StringBuilder buf, StringBuilder fullDesc, StringBuilder briefDesc)
 
virtual void AppendFieldDesc (FieldDesc fieldDesc, StringBuilder buf, string fullDesc, string briefDesc)
 
virtual IList< IArtifactGetArtifactList (params Func< IArtifact, bool >[] whereClauseFuncs)
 
virtual IList< IMonsterGetMonsterList (params Func< IMonster, bool >[] whereClauseFuncs)
 
virtual IList< IGameBaseGetRecordList (params Func< IGameBase, bool >[] whereClauseFuncs)
 
virtual IList< IMonsterGetFriendlyMonsterList (IMonster monster)
 
virtual IList< IMonsterGetHostileMonsterList (IMonster monster)
 
virtual IArtifact GetNthArtifact (IList< IArtifact > artifactList, long which, Func< IArtifact, bool > whereClauseFunc)
 
virtual IMonster GetNthMonster (IList< IMonster > monsterList, long which, Func< IMonster, bool > whereClauseFunc)
 
virtual IGameBase GetNthRecord (IList< IGameBase > recordList, long which, Func< IGameBase, bool > whereClauseFunc)
 
virtual bool StripUniqueCharsFromRecordNames (IList< IGameBase > recordList)
 
virtual bool AddUniqueCharsToRecordNames (IList< IGameBase > recordList)
 
virtual bool SwapGreaterArmorUidWithLesserShieldUid (ICharacter character)
 
virtual void ConvertWeaponToGoldOrTreasure (IArtifact artifact, bool convertToGold)
 
virtual void ConvertTreasureToContainer (IArtifact artifact, ContainerType containerType=ContainerType.In)
 
virtual void ConvertContainerToTreasure (IArtifact artifact, ContainerType containerType=ContainerType.In)
 
 Engine ()
 

Additional Inherited Members

- Properties inherited from EamonRT.Game.Plugin.Engine
virtual string PageSep = "@@PB" [get, protected set]
 
virtual IList< ICommandCommandList [get, set]
 
virtual IList< ICommandLastCommandList [get, set]
 
virtual IList< Action > MiscEventFuncList [get, set]
 
virtual IList< Action > MiscEventFuncList02 [get, set]
 
virtual IList< Action > MiscEventFuncList03 [get, set]
 
virtual IList< Action > SkillIncreaseFuncList [get, set]
 
virtual IList< long > LoopMonsterUidList [get, set]
 
virtual long ActionListCounter [get, set]
 
virtual long PauseCombatActionsCounter [get, set]
 
virtual long LoopMonsterUidListIndex [get, set]
 
virtual long LoopMonsterUid [get, set]
 
virtual long LoopMemberNumber [get, set]
 
virtual long LoopAttackNumber [get, set]
 
virtual long LoopGroupCount [get, set]
 
virtual long LoopFailedMoveMemberCount [get, set]
 
virtual IMonster LoopLastDobjMonster [get, set]
 
virtual IIntroStory IntroStory [get, set]
 
virtual IMainLoop MainLoop [get, set]
 
virtual ISentenceParser SentenceParser [get, set]
 
virtual ICommandParser CommandParser [get, set]
 
virtual IState InitialState [get, set]
 
virtual IState CurrState [get, set]
 
virtual IState NextState [get, set]
 
virtual IGameState GameState [get, set]
 
virtual ICharacter Character [get, set]
 
virtual ExitType ExitType [get, set]
 
virtual string CommandPrompt [get, set]
 
virtual ICommand CurrCommand [get]
 
virtual ICommand NextCommand [get]
 
virtual ICommandLastCommand [get]
 
virtual bool CommandPromptSeen [get, set]
 
virtual bool ShouldPreTurnProcess [get, set]
 
virtual bool PauseCombatAfterSkillGains [get, set]
 
virtual bool UseRevealContentMonsterTheName [get, set]
 
virtual bool RtSuppressPostInputSleep [get, set]
 
virtual bool PlayerMoved [get, set]
 
virtual bool GameRunning [get]
 
virtual bool DeleteGameStateAfterLoop [get]
 
virtual bool StartOver [get]
 
virtual bool ErrorExit [get]
 
virtual bool ExportCharacterGoToMainHall [get]
 
virtual bool ExportCharacter [get]
 
virtual bool DeleteCharacter [get]
 
override bool EnableMutateProperties [get]
 
virtual long StartRoom [get, set]
 
virtual long NumSaveSlots [get, set]
 
virtual long ScaledHardinessUnarmedMaxDamage [get, set]
 
virtual double ScaledHardinessMaxDamageDivisor [get, set]
 
virtual bool EnforceMonsterWeightLimits [get, set]
 
virtual bool UseMonsterScaledHardinessValues [get, set]
 
virtual bool AutoDisplayUnseenArtifactDescs [get, set]
 
virtual bool ExposeContainersRecursively [get, set]
 
virtual PoundCharPolicy PoundCharPolicy [get, set]
 
virtual PercentCharPolicy PercentCharPolicy [get, set]
 
- Properties inherited from EamonDD.Game.Plugin.Engine
virtual string[] Argv [get, set]
 
virtual long WordWrapCurrColumn [get, set]
 
virtual char WordWrapLastChar [get, set]
 
virtual string ConfigFileName [get, set]
 
virtual IDdMenu DdMenu [get, set]
 
virtual IMenu Menu [get, set]
 
virtual IModule Module [get, set]
 
virtual IConfig Config [get, set]
 
virtual bool BortCommand [get, set]
 
virtual bool DdSuppressPostInputSleep [get, set]
 
virtual bool ConfigsModified [get, set]
 
virtual bool FilesetsModified [get, set]
 
virtual bool CharactersModified [get, set]
 
virtual bool ModulesModified [get, set]
 
virtual bool RoomsModified [get, set]
 
virtual bool ArtifactsModified [get, set]
 
virtual bool CharArtsModified [get, set]
 
virtual bool EffectsModified [get, set]
 
virtual bool MonstersModified [get, set]
 
virtual bool HintsModified [get, set]
 
- Properties inherited from Eamon.Game.Plugin.Engine
virtual string[] CommandSepTokens [get, protected set]
 
virtual string[] PronounTokens [get, protected set]
 
virtual string ToughDesc [get, protected set]
 
virtual string CourageDesc [get, protected set]
 
virtual int ArtNameLen = 40 [get, protected set]
 
virtual int ArtStateDescLen = 64 [get, protected set]
 
virtual int ArtDescLen = 256 [get, protected set]
 
virtual int CharNameLen = 32 [get, protected set]
 
virtual int EffDescLen = 256 [get, protected set]
 
virtual int FsNameLen = 40 [get, protected set]
 
virtual int FsFileNameLen = 64 [get, protected set]
 
virtual int HntQuestionLen = 256 [get, protected set]
 
virtual int HntAnswerLen = 256 [get, protected set]
 
virtual int ModNameLen = 40 [get, protected set]
 
virtual int ModDescLen = 256 [get, protected set]
 
virtual int ModAuthorLen = 40 [get, protected set]
 
virtual int ModVolLabelLen = 7 [get, protected set]
 
virtual int ModSerialNumLen = 3 [get, protected set]
 
virtual int MonNameLen = 40 [get, protected set]
 
virtual int MonStateDescLen = 64 [get, protected set]
 
virtual int MonDescLen = 256 [get, protected set]
 
virtual int RmNameLen = 50 [get, protected set]
 
virtual int RmDescLen = 256 [get, protected set]
 
virtual long AxePrice = 25 [get, protected set]
 
virtual long BowPrice = 40 [get, protected set]
 
virtual long MacePrice = 20 [get, protected set]
 
virtual long SpearPrice = 25 [get, protected set]
 
virtual long SwordPrice = 30 [get, protected set]
 
virtual long ShieldPrice = 50 [get, protected set]
 
virtual long LeatherArmorPrice = 100 [get, protected set]
 
virtual long ChainMailPrice = 250 [get, protected set]
 
virtual long PlateMailPrice = 500 [get, protected set]
 
virtual long BlastPrice = 1000 [get, protected set]
 
virtual long HealPrice = 500 [get, protected set]
 
virtual long SpeedPrice = 4000 [get, protected set]
 
virtual long PowerPrice = 100 [get, protected set]
 
virtual long RecallPrice = 100 [get, protected set]
 
virtual long StatGainPrice = 4500 [get, protected set]
 
virtual long WeaponTrainingPrice = 1000 [get, protected set]
 
virtual long ArmorTrainingPrice = 1000 [get, protected set]
 
virtual long SpellTrainingPrice = 1000 [get, protected set]
 
virtual long InfoBoothPrice = 30 [get, protected set]
 
virtual long FountainPrice = 20 [get, protected set]
 
virtual long NumRecords = 1000 [get, protected set]
 
virtual long NumCharacterWeapons = 4 [get, protected set]
 
virtual long NumCharacterArtifacts [get, protected set]
 
virtual long NumArtifactCategories = 4 [get, protected set]
 
virtual long NumArtifactCategoryFields = 20 [get, protected set]
 
virtual int BufSize = 1024 [get, protected set]
 
virtual int BufSize01 = 6 [get, protected set]
 
virtual int BufSize02 = 1 [get, protected set]
 
virtual int BufSize03 = 64 [get, protected set]
 
virtual string ResolveEffectRegexPattern = @"[^\*]\*[0-9]{3}|\*\*[0-9]{3}" [get, protected set]
 
virtual string ResolveUidMacroRegexPattern = @"[^\*]\*[0-9]{3}|\*\*[0-9]{3}|[^@]@[0-9]{3}|@@[0-9]{3}" [get, protected set]
 
virtual string ValidWorkDirRegexPattern = @"^(NONE)$|^(\.)$|^(\.\.\\\.\.\\Adventures\\[a-zA-Z0-9]+)$|^(\.\.\/\.\.\/Adventures\/[a-zA-Z0-9]+)$" [get, protected set]
 
virtual string CommandSepRegexPattern = @"\.|\!|\?|;|,| (?:and|then|also) " [get, protected set]
 
virtual string PronounRegexPattern = @" (?:those|them|that|him|her|it) " [get, protected set]
 
virtual string EverythingRegexPattern = @" everything " [get, protected set]
 
virtual string ExceptRegexPattern = @" (?:except|excluding|omitting) " [get, protected set]
 
virtual string RecIdepErrorFmtStr = "The {0} field refers to {1} Uid {2}, {3}." [get, protected set]
 
virtual string AndroidAdventuresDir = @"..\EamonPM.Android\Assets\Adventures" [get, protected set]
 
virtual string AdventuresDir = @"..\..\Adventures" [get, protected set]
 
virtual string QuickLaunchDir = @"..\..\QuickLaunch" [get, protected set]
 
virtual string DefaultWorkDir = "." [get, protected set]
 
virtual string ProcessMutexName [get, protected set]
 
virtual string EamonCSSlnFile = @"..\..\Eamon-CS.sln" [get, protected set]
 
virtual string StackTraceFile = @".\STACKTRACE.TXT" [get, protected set]
 
virtual string GlobalLaunchParametersFile = @".\GLOBAL_LAUNCH_PARAMETERS.TXT" [get, protected set]
 
virtual string ProgVersion = "3.1.0" [get, protected set]
 
virtual long InfiniteDrinkableEdible = 9999 [get, protected set]
 
virtual long DirectionExit = -999 [get, protected set]
 
virtual long LimboLocation = 0 [get, protected set]
 
virtual long MinWeaponComplexity = -50 [get, protected set]
 
virtual long MaxWeaponComplexity = 50 [get, protected set]
 
virtual long MinGoldValue = -99999 [get, protected set]
 
virtual long MaxGoldValue = 999999 [get, protected set]
 
virtual long MaxPathLen = 256 [get, protected set]
 
virtual long MaxRecursionLevel = 100 [get, protected set]
 
virtual int WindowWidth = 80 [get, protected set]
 
virtual int WindowHeight = 50 [get, protected set]
 
virtual int BufferWidth = 80 [get, protected set]
 
virtual int BufferHeight = 9999 [get, protected set]
 
virtual long RightMargin = 78 [get, protected set]
 
virtual long NumRows = 22 [get, protected set]
 
virtual IDictionary< Type, Type > ClassMappingsDictionary = new Dictionary<Type, Type>() [get, set]
 
virtual ITextReader In [get, set]
 
virtual ITextWriter Out [get, set]
 
virtual ITextWriter Error [get, set]
 
virtual IMutex Mutex [get, set]
 
virtual ITransferProtocol TransferProtocol [get, set]
 
virtual IDirectory Directory [get, set]
 
virtual IFile File [get, set]
 
virtual IPath Path [get, set]
 
virtual ISharpSerializer SharpSerializer [get, set]
 
virtual IThread Thread [get, set]
 
virtual MemoryStream CloneStream = new MemoryStream() [get, set]
 
virtual long MutatePropertyCounter = 1 [get, set]
 
virtual string WorkDir = "" [get, set]
 
virtual string FilePrefix = "" [get, set]
 
virtual long? RulesetVersion [get]
 
virtual bool EnableMutateProperties [get]
 
virtual bool EnableStdio = true [get, set]
 
virtual bool EnableNegativeRoomUidLinks [get, set]
 
virtual bool EnableScreenReaderMode [get, set]
 
virtual bool EnableCommandHistory [get, set]
 
virtual bool EnableEnhancedCombat [get, set]
 
virtual bool IgnoreMutex [get, set]
 
virtual bool DisableValidation [get, set]
 
virtual bool RunGameEditor [get, set]
 
virtual bool DeleteGameStateFromMainHall [get, set]
 
virtual bool GetMainMenuInput [get, set]
 
virtual Action< IDictionary< Type, Type > > LoadPortabilityClassMappings [get, set]
 
virtual IList< long > RulesetVersionList [get, set]
 
virtual IDatabaseDatabase [get]
 
virtual IRoom RevealContentRoom [get, set]
 
virtual IMonster RevealContentMonster [get, set]
 
virtual IList< IArtifactRevealContentArtifactList [get, set]
 
virtual IList< Action > RevealContentFuncList [get, set]
 
virtual long RevealContentCounter [get, set]
 
virtual string LineSep [get, set]
 
virtual bool LineWrapUserInput [get, set]
 
virtual IRecordDb< IConfigCFGDB [get, set]
 
virtual IRecordDb< IFilesetFSDB [get, set]
 
virtual IRecordDb< ICharacterCHRDB [get, set]
 
virtual IRecordDb< IModuleMODDB [get, set]
 
virtual IRecordDb< IRoomRDB [get, set]
 
virtual IRecordDb< IArtifactADB [get, set]
 
virtual IRecordDb< IEffectEDB [get, set]
 
virtual IRecordDb< IMonsterMDB [get, set]
 
virtual IRecordDb< IHintHDB [get, set]
 
virtual IRecordDb< IGameStateGSDB [get, set]
 
virtual IList< IDatabaseDatabaseList [get, set]
 
virtual IDictionary< long, Func< string > > MacroFuncs [get, set]
 
virtual Action< IRoom, IMonster, IArtifact, long, bool > RevealContainerContentsFunc [get, set]
 
virtual IPrep[] Preps [get, set]
 
virtual string[] Articles [get, set]
 
virtual string UnknownName [get, set]
 
virtual Random Rand [get, set]
 
virtual string[] NumberStrings [get, set]
 
virtual string[] FieldDescNames [get, set]
 
virtual string[] StatusNames [get, set]
 Gets or sets an array containing the name for each Status. More...
 
virtual string[] ClothingNames [get, set]
 Gets or sets an array containing the name for each Clothing. More...
 
virtual string[] CombatCodeDescs [get, set]
 Gets or sets an array containing the description for each CombatCode. More...
 
virtual string[] ParryCodeDescs [get, set]
 Gets or sets an array containing the description for each ParryCode. More...
 
virtual string[] ContainerDisplayCodeDescs [get, set]
 
virtual string[] LightLevelNames [get, set]
 Gets or sets an array containing the name for each LightLevel. More...
 
virtual IStat[] Stats [get, set]
 Gets or sets an array containing data for each Stat. More...
 
virtual ISpell[] Spells [get, set]
 Gets or sets an array containing data for each Spell. More...
 
virtual IWeapon[] Weapons [get, set]
 Gets or sets an array containing data for each Weapon. More...
 
virtual IArmor[] Armors [get, set]
 Gets or sets an array containing data for each Armor. More...
 
virtual IDirection[] Directions [get, set]
 Gets or sets an array containing data for each Direction. More...
 
virtual IArtifactType[] ArtifactTypes [get, set]
 Gets or sets an array containing data for each ArtifactType. More...
 
- Properties inherited from Eamon.Framework.Plugin.IEngine
StringBuilder Buf [get, set]
 
string[] CommandSepTokens [get]
 
string[] PronounTokens [get]
 
string ToughDesc [get]
 
string CourageDesc [get]
 
int ArtNameLen [get]
 Gets the maximum length of an Artifact Name. More...
 
int ArtStateDescLen [get]
 Gets the maximum length of an Artifact StateDesc. More...
 
int ArtDescLen [get]
 Gets the maximum length of an Artifact Desc. More...
 
int CharNameLen [get]
 Gets the maximum length of a Character Name. More...
 
int EffDescLen [get]
 Gets the maximum length of an Effect Desc. More...
 
int FsNameLen [get]
 Gets the maximum length of a Fileset Name. More...
 
int FsFileNameLen [get]
 Gets the maximum length of a Fileset file name (e.g., PluginFileName, etc). More...
 
int HntQuestionLen [get]
 Gets the maximum length of a Hint Question. More...
 
int HntAnswerLen [get]
 Gets the maximum length of a Hint Answer. More...
 
int ModNameLen [get]
 Gets the maximum length of a Module Name. More...
 
int ModDescLen [get]
 Gets the maximum length of a Module Desc. More...
 
int ModAuthorLen [get]
 Gets the maximum length of a Module Author. More...
 
int ModVolLabelLen [get]
 Gets the maximum length of a Module VolLabel. More...
 
int ModSerialNumLen [get]
 Gets the maximum length of a Module SerialNum. More...
 
int MonNameLen [get]
 Gets the maximum length of a Monster Name. More...
 
int MonStateDescLen [get]
 Gets the maximum length of a Monster StateDesc. More...
 
int MonDescLen [get]
 Gets the maximum length of a Monster Desc. More...
 
int RmNameLen [get]
 Gets the maximum length of a Room Name. More...
 
int RmDescLen [get]
 Gets the maximum length of a Room Desc. More...
 
long AxePrice [get]
 Gets the base price, in gold pieces, of an axe sold by Marcos Cavielli. More...
 
long BowPrice [get]
 Gets the base price, in gold pieces, of a bow sold by Marcos Cavielli. More...
 
long MacePrice [get]
 Gets the base price, in gold pieces, of a mace sold by Marcos Cavielli. More...
 
long SpearPrice [get]
 Gets the base price, in gold pieces, of a spear sold by Marcos Cavielli. More...
 
long SwordPrice [get]
 Gets the base price, in gold pieces, of a sword sold by Marcos Cavielli. More...
 
long ShieldPrice [get]
 Gets the base price, in gold pieces, of a shield sold by Marcos Cavielli. More...
 
long LeatherArmorPrice [get]
 Gets the base price, in gold pieces, of some leather armor sold by Marcos Cavielli. More...
 
long ChainMailPrice [get]
 Gets the base price, in gold pieces, of some chain mail armor sold by Marcos Cavielli. More...
 
long PlateMailPrice [get]
 Gets the base price, in gold pieces, of some plate mail armor sold by Marcos Cavielli. More...
 
long BlastPrice [get]
 Gets the base price, in gold pieces, of the Blast spell sold by Hokas Tokas. More...
 
long HealPrice [get]
 Gets the base price, in gold pieces, of the Heal spell sold by Hokas Tokas. More...
 
long SpeedPrice [get]
 Gets the base price, in gold pieces, of the Speed spell sold by Hokas Tokas. More...
 
long PowerPrice [get]
 Gets the base price, in gold pieces, of the Power spell sold by Hokas Tokas. More...
 
long RecallPrice [get]
 Gets the base price, in gold pieces, of being recalled from an adventure by a local wizard, as noted by the Burly Irishman at the Front Desk. More...
 
long StatGainPrice [get]
 Gets the base price, in gold pieces, of having a Stat boosted by the Good Witch. More...
 
long WeaponTrainingPrice [get]
 Gets the base price, in gold pieces, of having a weapon training session with Don Diego. More...
 
long ArmorTrainingPrice [get]
 Gets the base price, in gold pieces, of having an armor training session with the giant. More...
 
long SpellTrainingPrice [get]
 Gets the base price, in gold pieces, of having a spell training session with the licensed wizard. More...
 
long InfoBoothPrice [get]
 Gets the base price, in gold pieces, of purchasing services from the practice area info booth. More...
 
long FountainPrice [get]
 Gets the base price, in gold pieces, of interacting with the village fountain statue. More...
 
long NumRecords [get]
 Gets the maximum number of Records allowed in a database table. More...
 
long NumCharacterWeapons [get]
 Gets the maximum number of weapon Artifacts allowed in a Character's inventory. More...
 
long NumCharacterArtifacts [get]
 Gets the maximum number of Artifacts allowed in a Character's inventory. More...
 
long NumArtifactCategories [get]
 Gets the maximum number of Categories assignable to a single Artifact. More...
 
long NumArtifactCategoryFields [get]
 
int BufSize [get]
 Gets the default size for large, discardable StringBuilders created during system processing. More...
 
int BufSize01 [get]
 Gets the default size for small, discardable StringBuilders created during system processing. More...
 
int BufSize02 [get]
 Gets the default size for tiny, discardable StringBuilders created during system processing. More...
 
int BufSize03 [get]
 Gets the default size for medium, discardable StringBuilders created during system processing. More...
 
string ResolveEffectRegexPattern [get]
 
string ResolveUidMacroRegexPattern [get]
 
string ValidWorkDirRegexPattern [get]
 
string CommandSepRegexPattern [get]
 
string PronounRegexPattern [get]
 
string EverythingRegexPattern [get]
 
string ExceptRegexPattern [get]
 
string RecIdepErrorFmtStr [get]
 Gets the format string used to produce error messages during Record interdependency checking. More...
 
string AndroidAdventuresDir [get]
 Gets the Adventures directory path on Android platforms, relative to the working directory. More...
 
string AdventuresDir [get]
 Gets the Adventures directory path on non-Android platforms, relative to the working directory. More...
 
string QuickLaunchDir [get]
 Gets the QuickLaunch directory path, relative to the working directory. More...
 
string DefaultWorkDir [get]
 
string ProcessMutexName [get]
 Gets the name of the Mutex used to synchronize Eamon CS processes. More...
 
string EamonCSSlnFile [get]
 Gets the Eamon CS Solution path and file name, relative to the working directory. More...
 
string StackTraceFile [get]
 Gets the relative path and name of the error file dumped when an unexpected system shutdown occurs. More...
 
string GlobalLaunchParametersFile [get]
 Gets the Global Launch Parameters path and file name, relative to the working directory. More...
 
string ProgVersion [get]
 Gets the Eamon CS system version displayed on program startup. More...
 
long InfiniteDrinkableEdible [get]
 Gets a value indicating whether a Drinkable or Edible Artifact has infinite quantity. More...
 
long DirectionExit [get]
 Gets the Room Uid constant representing an exit from a game. More...
 
long LimboLocation [get]
 Gets the Room Uid constant representing "limbo". More...
 
long MinWeaponComplexity [get]
 Gets the minimum allowed weapon Complexity. More...
 
long MaxWeaponComplexity [get]
 Gets the maximum allowed weapon Complexity. More...
 
long MinGoldValue [get]
 Gets the minimum amount of gold the player character can carry or hold in the bank. More...
 
long MaxGoldValue [get]
 Gets the maximum amount of gold the player character can carry or hold in the bank. More...
 
long MaxPathLen [get]
 
long MaxRecursionLevel [get]
 Gets the maximum recursion level for macro replacement. More...
 
int WindowWidth [get]
 
int WindowHeight [get]
 
int BufferWidth [get]
 
int BufferHeight [get]
 
long RightMargin [get]
 
long NumRows [get]
 
IDictionary< Type, Type > ClassMappingsDictionary [get, set]
 Gets or sets the Dictionary that stores interface to class mappings as Key/Value pairs, used for dependency injection. More...
 
ITextReader In [get, set]
 Gets or sets the text reader that accepts user input from the console window. More...
 
ITextWriter Out [get, set]
 Gets or sets the text writer that prints text to the console window. More...
 
ITextWriter Error [get, set]
 Gets or sets the text writer that prints error messages to the console window. More...
 
IMutex Mutex [get, set]
 Gets or sets a mutex (mutual exclusion lock) that ensures only one Eamon CS process runs in a given operating system at a time. More...
 
ITransferProtocol TransferProtocol [get, set]
 
IDirectory Directory [get, set]
 Gets or sets the platform-independent Directory manager that Eamon CS relies on for all directory-related operations. More...
 
IFile File [get, set]
 Gets or sets the platform-independent File manager that Eamon CS relies on for all file-related operations. More...
 
IPath Path [get, set]
 Gets or sets the platform-independent file system Path manager that Eamon CS relies on for all file system path-related operations. More...
 
ISharpSerializer SharpSerializer [get, set]
 
IThread Thread [get, set]
 Gets or sets the platform-independent Thread manager that Eamon CS relies on for all thread-related operations. More...
 
MemoryStream CloneStream [get, set]
 
long MutatePropertyCounter [get, set]
 
string WorkDir [get, set]
 
string FilePrefix [get, set]
 
long RulesetVersion [get]
 Gets a value indicating which Eamon ruleset applies to the current game. More...
 
bool EnableMutateProperties [get]
 Gets a value indicating whether "mutating properties" (those that are dynamically calculated) should be enabled. More...
 
bool EnableStdio [get, set]
 
bool EnableNegativeRoomUidLinks [get, set]
 
bool EnableScreenReaderMode [get, set]
 
bool EnableCommandHistory [get, set]
 
bool EnableEnhancedCombat [get, set]
 
bool IgnoreMutex [get, set]
 Gets or sets a value indicating whether the Mutex should be ignored, allowing unlimited Eamon CS processes to run simultaneously. More...
 
bool DisableValidation [get, set]
 Gets or sets a value indicating whether validation should be disabled when Records are loaded. More...
 
bool RunGameEditor [get, set]
 
bool DeleteGameStateFromMainHall [get, set]
 
bool GetMainMenuInput [get, set]
 
Action< IDictionary< Type, Type > > LoadPortabilityClassMappings [get, set]
 
IDatabase Database [get]
 
IRoom RevealContentRoom [get, set]
 
IMonster RevealContentMonster [get, set]
 
IList< IArtifactRevealContentArtifactList [get, set]
 
IList< Action > RevealContentFuncList [get, set]
 
long RevealContentCounter [get, set]
 
string LineSep [get, set]
 
bool LineWrapUserInput [get, set]
 
IRecordDb< IConfigCFGDB [get, set]
 Gets or sets the Config database quick-accessor. More...
 
IRecordDb< IFilesetFSDB [get, set]
 Gets or sets the Fileset database quick-accessor. More...
 
IRecordDb< ICharacterCHRDB [get, set]
 Gets or sets the Character database quick-accessor. More...
 
IRecordDb< IModuleMODDB [get, set]
 Gets or sets the Module database quick-accessor. More...
 
IRecordDb< IRoomRDB [get, set]
 Gets or sets the Room database quick-accessor. More...
 
IRecordDb< IArtifactADB [get, set]
 Gets or sets the Artifact database quick-accessor. More...
 
IRecordDb< IEffectEDB [get, set]
 Gets or sets the Effect database quick-accessor. More...
 
IRecordDb< IMonsterMDB [get, set]
 Gets or sets the Monster database quick-accessor. More...
 
IRecordDb< IHintHDB [get, set]
 Gets or sets the Hint database quick-accessor. More...
 
IRecordDb< IGameStateGSDB [get, set]
 Gets or sets the GameState database quick-accessor. More...
 
IDictionary< long, Func< string > > MacroFuncs [get, set]
 Gets or sets a collection of functions used to resolve macros embedded in Desc, ArtifactStateDesc and Monster StateDesc properties. More...
 
Action< IRoom, IMonster, IArtifact, long, bool > RevealContainerContentsFunc [get, set]
 
IPrep[] Preps [get, set]
 Gets or sets an array of sentence prepositions (e.g., "to", "from", "inside", etc). More...
 
string[] Articles [get, set]
 Gets or sets an array of sentence articles (e.g., "a", "some", "the", etc). More...
 
string UnknownName [get, set]
 Gets or sets a generic string representing an unknown name (e.g., "???"). More...
 
- Properties inherited from EamonDD.Framework.Plugin.IEngine
new StringBuilder Buf [get, set]
 
string[] Argv [get, set]
 
long WordWrapCurrColumn [get, set]
 
char WordWrapLastChar [get, set]
 
string ConfigFileName [get, set]
 
IDdMenu DdMenu [get, set]
 
IMenu Menu [get, set]
 
IModule Module [get, set]
 
IConfig Config [get, set]
 
bool BortCommand [get, set]
 
bool DdSuppressPostInputSleep [get, set]
 
bool ConfigsModified [get, set]
 
bool FilesetsModified [get, set]
 
bool CharactersModified [get, set]
 
bool ModulesModified [get, set]
 
bool RoomsModified [get, set]
 
bool ArtifactsModified [get, set]
 
bool CharArtsModified [get, set]
 
bool EffectsModified [get, set]
 
bool MonstersModified [get, set]
 
bool HintsModified [get, set]
 
- Properties inherited from EamonRT.Framework.Plugin.IEngine
new StringBuilder Buf [get, set]
 
StringBuilder Buf01 [get, set]
 
string PageSep [get]
 Gets the page separator sequence used to delineate the pages of a multi-page text block. More...
 
IList< ICommandCommandList [get, set]
 
IList< ICommandLastCommandList [get, set]
 
IList< Action > MiscEventFuncList [get, set]
 
IList< Action > MiscEventFuncList02 [get, set]
 
IList< Action > MiscEventFuncList03 [get, set]
 
IList< Action > SkillIncreaseFuncList [get, set]
 
IList< long > LoopMonsterUidList [get, set]
 
long ActionListCounter [get, set]
 
long PauseCombatActionsCounter [get, set]
 Gets or sets a value that tracks the number of Monster actions performed during a combat round. More...
 
long LoopMonsterUidListIndex [get, set]
 
long LoopMonsterUid [get, set]
 
long LoopMemberNumber [get, set]
 
long LoopAttackNumber [get, set]
 
long LoopGroupCount [get, set]
 
long LoopFailedMoveMemberCount [get, set]
 
IMonster LoopLastDobjMonster [get, set]
 
IIntroStory IntroStory [get, set]
 
IMainLoop MainLoop [get, set]
 
ISentenceParser SentenceParser [get, set]
 
ICommandParser CommandParser [get, set]
 
IState InitialState [get, set]
 
IState CurrState [get, set]
 
IState NextState [get, set]
 
IGameState GameState [get, set]
 
ICharacter Character [get, set]
 
ExitType ExitType [get, set]
 
string CommandPrompt [get, set]
 Gets the command prompt presented to the player when requesting input. More...
 
ICommand CurrCommand [get]
 
ICommand NextCommand [get]
 
ICommand LastCommand [get]
 
bool CommandPromptSeen [get, set]
 
bool ShouldPreTurnProcess [get, set]
 Gets or sets a value indicating whether "pre-turn" processing should be done at the beginning of a new round. More...
 
bool PauseCombatAfterSkillGains [get, set]
 
bool UseRevealContentMonsterTheName [get, set]
 
bool RtSuppressPostInputSleep [get, set]
 
bool PlayerMoved [get, set]
 
bool GameRunning [get]
 Indicates whether the EamonRT main game loop is currently running. More...
 
bool DeleteGameStateAfterLoop [get]
 
bool StartOver [get]
 
bool ErrorExit [get]
 
bool ExportCharacterGoToMainHall [get]
 
bool ExportCharacter [get]
 
bool DeleteCharacter [get]
 
long StartRoom [get, set]
 Gets or sets the RoomUid of the player character's initial location at the beginning of the game. More...
 
long NumSaveSlots [get, set]
 Gets or sets the number of Saved Game slots available for use in the game. More...
 
long ScaledHardinessUnarmedMaxDamage [get, set]
 
double ScaledHardinessMaxDamageDivisor [get, set]
 
bool EnforceMonsterWeightLimits [get, set]
 Indicates whether non-player character Monsters should have carried inventory weight limits. More...
 
bool UseMonsterScaledHardinessValues [get, set]
 
bool AutoDisplayUnseenArtifactDescs [get, set]
 
bool ExposeContainersRecursively [get, set]
 
PoundCharPolicy PoundCharPolicy [get, set]
 The game engine policy for appending pound characters ('#') to Artifacts with duplicate names. More...
 
PercentCharPolicy PercentCharPolicy [get, set]
 The game engine policy for appending percent characters ('') to Monsters with duplicate names. More...
 
- Properties inherited from LandOfTheMountainKing.Framework.Plugin.IEngine
new StringBuilder Buf [get, set]
 
new StringBuilder Buf01 [get, set]
 

Constructor & Destructor Documentation

◆ Engine()

LandOfTheMountainKing.Game.Plugin.Engine.Engine ( )

Member Function Documentation

◆ InitArtifacts()

override void LandOfTheMountainKing.Game.Plugin.Engine.InitArtifacts ( )
virtual

Reimplemented from EamonRT.Game.Plugin.Engine.

◆ InitMonsters()

override void LandOfTheMountainKing.Game.Plugin.Engine.InitMonsters ( )
virtual

Reimplemented from EamonRT.Game.Plugin.Engine.

◆ LoadPluginClassMappings()

override RetCode LandOfTheMountainKing.Game.Plugin.Engine.LoadPluginClassMappings ( )
virtual

Loads the ClassMappingsDictionary with all interface to class mapping Key/Value pairs necessary to allow the currently loaded Eamon CS plugin to run.

The mechanism used to accomplish this is easy to understand but somewhat hard to describe without providing a concrete example and referring you to other source code files to inspect their contents. Let's take a look at the game Wrenhold's Secret Vigil. Please inspect the following files in the order listed (they are also executed in this order by Eamon CS - a simplified call stack):

All of these files contain LoadPluginClassMappings. In the top three files, it is an override that calls into the level below by invoking base.LoadPluginClassMappings. So it immediately drills down to the bottom of the stack (to the Eamon library).

Then things get interesting. The lowest level calls LoadPluginClassMappings01 which probes the current Assembly (the Eamon library) using Reflection, looking for classes adorned with the ClassMappings attribute. It then adds Key/Value pairs for all found classes (along with their matching interfaces) to the ClassMappingsDictionary. At this point, the call stack unwinds to the next higher level (EamonDD), and the overridden LoadPluginClassMappings method makes the same call to LoadPluginClassMappings01 which performs the same function, only this time it probes EamonDD for classes. This process repeats until the stack is fully unwound and the original call to LoadPluginClassMappings (in Program.cs) returns.

At each level, all newly discovered class/interface pairs are added immediately to the ClassMappingsDictionary; however, for any new class that maps to a pre-existing interface already in the Dictionary, that new class becomes the Value for that interface's Key/Value pair. In other words, classes in higher layers override classes in lower layers when they map to the same interface. This is how, for example, in Wrenhold's Secret Vigil, you wind up with EamonRT.Framework.Components.ICombatComponent mapping to WrenholdsSecretVigil.Game.Components.CombatComponent. And why a call made to CreateInstance returns the game-specific CombatComponent object.

Returns

Reimplemented from Eamon.Game.Plugin.Engine.


The documentation for this class was generated from the following file: