What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Exilebuddy Beta/Release Thread (2.2.1+)

Status
Not open for further replies.

pushedx

Well-Known Member
Joined
Sep 24, 2013
Messages
4,252
NOTE: Due to unfortunate timing, the 2.2.2 patch is expected to come this week, so EB will most likely need another set of updates once it is deployed. However, we're still going to try a release beforehand so users can see the current state of things and are hopefully pleased with the direction the project is heading.

Welcome to the Exilebuddy Release thread for 2.2.1+!

Exilebuddy only supports the International version of Path of Exile (managed by GGG). Other version are not supported.

Please start with the Support F.A.Q.. All support issues should go in the Support Forum. Please remember to attach a full log if you're in need of support.

A lot has changed and is still changing. The Guides section has a few stickied posts that users should read over to understand the big stuff. There's a lot of little stuff that has changed and has not been documented. If there is something that you cannot figured out, please use The Big Ascendancy Help Thread. A lot of the existing documentation is now outdated on the forums and will be updated soon (TM).

A raw log of changes from SVN commits can be found here: https://gist.github.com/pushedx/fc0f07b4e99a790a1f1e89ded3915fcf

Exilebuddy has been updated to use .Net 4.6.1 and the VC 2015 redist. Please see this thread for more information: Buddy Bots Prerequisites Update. An installer will be added for the Release version once it is ready.

Users will be compensated for the extended downtime once a Release version is ready. Once again, we thank users for their patience during this update process.

General

Path of Exile is a game that updates frequently. Please understand that the bot has to be updated each client update, regardless of how "simple" the patch might seem to be. We do not do automatic build and deploys for user safety. The bot will be updated as soon as possible when an update happens, but the timing and complexity of changes will have an effect on how soon a new build is made. If additional downtime is expected, we'll try to post a forum sticky to let users know as this happens.

Default Bot/Routine

Please see the Getting Started (EN) guide in the previous release thread.

Exilebuddy comes with a default bot and routine for users to bot with. For guides on these, please see the following links. They are pretty outdated now, but are still the best reference currently available.

OldGrindBot: Please see the old OldGrindBot Guide.
OldRoutine: Please see the old OldRoutine Guide.

Release Specifics

  • Due to time constraints, API support has been dropped for a few things such as Passives, the Social Panel, and Event Notifications. These things will be added later.
  • It is highly recommenced you play though the game yourself before attempting to bot. Otherwise, you'll run into a lot of issues not understanding how things work.
  • A certain amount of "babysitting" will be required with Exilebuddy for the short term. It is our goal to reduce this as much as possible, but it will take time and a lot of testing.
  • Botting hardcore leagues is not recommended.
  • OldGrindBot is a basic grind bot. It is not meant to be used from level 1 and does not play though the game for you and do quests or master missions. If you choose to bot on low level characters that are under geared, the bot will struggle. This is the current design of the bot implementation we provide.
  • OldRoutine is a basic routine that is designed around the idea of using a few skills based on mobs around the player. This design works for basic builds, but does not offer the customization required for more complex builds. While a new routine is planned, users should consider making their own build specific routines that takes advantage of the API to have something that caters to their needs.
  • Please enable "Always Highlight" in the PoE client UI options. If you don't the bot will have issues with some interactions.
  • "Move Only" needs to be on your skill bar in a slot other than the Left Mouse Button.
  • You should enable "Key Pickup" in the PoE client options so the bot doesn't click on random items.
  • You should not leave the bot unattended in an area you have not botted before. Some areas work well, some do not. It depends on your build and the RNG of the map generation. Some areas have known issues that we cannot fix yet, because changing logic would result in other areas breaking.

Downloads

Beta
Release

Previous Release Thread: Exilebuddy Release Thread (The Awakening 2.0.0)
 
Last edited:
Beta Changelog

#1313 [02 Jun 16 19:38] (2.2.2.8)
  • The logic for mouse tab selection has been updated to try and avoid a rare bug where clicking on a tab name to change to it would also pickup your primary weapon due to a client issue.
  • Various AutoLogin updates to handle dcs after character selection.
  • v3.StashItemsCoroutine updated to attempt to stash into a currency tab when a utility slot has space. Before, it'd only consider the first tab found for the currency item.
  • Flask.ChargesPerUse now takes into account the LocalChargesUsedPosPct stat.
  • Flask.ChargesPerUseBase now returns the unadjusted charges per use value.

#1311 [30 May 16 20:31] (2.2.2.8)
  • NetworkObject.IsMaster updated to support masters in towns.
  • PlayerComponent now exposes the current level of masters through the "CurLevelX" properties. For example, CurLevelVorici.
  • Player and LocalPlayer now expose the "CurLevelX" properties from the PlayerComponent.
  • Master experience level arrays are now exposed though GameConstants. For example, DexMasterExperienceLevels for Tora.
  • Dat.NPCMasterExperiencePerLevel added to expose raw master level data in memory.
  • Dat.DatNPCMasterExperiencePerLevelWrapper added to wrap master level data.
  • Dat.DatNpcWrapper added to wrap npc data.
  • Dat.Npcs added to expose npcs.
  • Scripts.DumpNpcs.cs added to get the current data for npcs in the game.
  • Scripts.DumpMonsters.cs added to get the current data for monsters in the game.
  • ObjectManager.ClosestMaster now returns a NetworkObject.
  • A new enum, PoeObjectEnum has been added to ObjectManager to refer to all known objects. This is to avoid referring to objects by name, which is not localization friendly.
  • ObjectManager.GetObjects added to return an IEnumerable of NetworkObject from PoeObjectEnums.
  • ObjectManager.GetMetadatas added to return an IEnumerable of string metadata values from PoeObjectEnums.
  • ObjectManager.GetEnumFromMetadata added to return a PoeObjectEnum from a metadata string.

#1309 [29 May 16 00:28] (2.2.2.8)
  • NetworkObject.IsMaster now properly detects masters in Hideout.

#1308 [28 May 16 22:58] (2.2.2.8)
  • ObjectManager.ClosestMaster added to return the closest master to the player.
  • v3.SellItemsCoroutine now uses ClosestMaster in hideouts to select the closest master rather than using a fixed order.
  • ThirdPartyLoader now supports loading content from a list to avoid issues with extra files being in the content directory. This system is optional and simply requires the presence of a '3rdparty-files.txt' file in the root content directory with relative paths to all files to use.
  • The Gui settings window now exposes a CompileAsynchronously option for power users that want to load content synchronously.
  • Dat.DatQuestRewardWrapper added to wrap quest reward data (processed from QuestRewards.dat)
  • Dat.QuestRewards added to expose quest rewards though the API.
  • DoNotUse_Dev_QuestBot added as an internal development project. This is not for users.
  • Internal offset updates.

#1299 [19 May 16 23:09] (2.2.2.8)
  • Updates for 2.2.2.8.

#1298 [19 May 16 17:31] (2.2.2.7)
  • SharpSvn has been removed due to unintended side effects on some OSes.
  • The namespaces of all stock plugins has been changed to avoid type name conflicts with other type names. For example, namespace "Stats" is now "nsStats", so the class "SomeNamespace.Stats" is usable without conflicts. This fixes an issue where if the "StuckDetection" plugin is compiled before "QuestBot", the references to "EXtensions.Global.StuckDetection" were incorrectly resolved via the "StuckDetection" plugin namespace instead.

#1295 [18 May 16 20:41] (2.2.2.7)
  • ExilePather will now add an obstacle for the "Undying Blockage" when the "Infernal Talc" is not in the inventory while in "The Warehouse Sewers".
  • OldRoutine.CombatTargeting is now public for reflection purposes.
  • OldRoutine.Execute now supports handling the "GetCombatTargeting" message to return the current Targeting instance used.
  • OldRoutine.Execute now supports handling the "ResetCombatTargeting" message to reset the current Targeting instance and register the default handlers.
  • HelixToolkit updated to 2015.1.715 from 2015.1.700.
  • Microsoft.Net.Compilers updated to 1.2.2 from 1.2.1.
  • MahApps.Metro.Resources updated to 0.6.1.0 from 0.5.0.0.
  • SharpSvn has been added.
  • Buddy libs updated to latest versions.
  • The start of a new AreaVisualizer plugin has been added. This is a work in progress plugin.
  • RDPathfinder.GeneratedAreaHash added to expose the area hash of the current generated data.
  • DevTab now uses BeginInvoke for hotkeys to avoid deadlock issues.
  • LokiPoe.DispatchIfNecessary and BeginDispatchIfNecessary now support passing a specific Dispatcher to them.

#1290 [17 May 16 15:47] (2.2.2.7)
  • LeashRange processing logic in OldRoutine updated to be correct (thanks @Tormiasz)
  • DefaultPlayerMover once again always enables adjustments in "The City of Sarn" and "The Slums", as those areas always have issues it seems.
#1289 [13 May 16 20:16] (2.2.2.7)
  • Modified collection exception fixed in TaskManager.Logic.

#1288 [13 May 16 14:35] (2.2.2.7)
  • More TaskManager updates.
    • TaskManager.TaskEnabled and TaskDisabled events added that can be subscribed to to know when a task gets enabled/disabled.
    • If a task now implements IEnableable, those functions will be invoked when a task is enabled or disabled.
    • TaskManager.IsEnabled added to check if a task instance is enabled or disabled.
    • TaskManager.Enable/Disable added to enable/disable tasks.
    • TaskManager.Logic now only awaits Logic for enabled tasks. Start/Stop/Tick are still invoked for all tasks in the task list.
    • TaskManager.Execute is now obsolete and will be removed soon. It is replaced with Logic, which better represents the function being called internally to execute logic.
    • TaskManager.TaskList is now a ReadOnlyCollection.
    • A new abstract class, TaskManagerBase<T> has been added to wrap the common reusable parts of TaskManager. This is to allow task managers of any type to be created that share the same basic set of functionality when it comes to managing task-like code.
    • The TaskManager class now uses the TaskManagerBase implementation.
  • ClearCursor task now implements IEnableable to be notified when it is enabled or disabled though the TaskManager. This is to demonstrate a task receiving notifications that it is being disabled/enabled, but is not actually used in the bot itself.
  • Wall hugging distance processing removed for:
    • OldRoutine
    • ExilePather.PathExistsBetween and ExilePather.PathDistance
    • GridExplorer
    • TravelThroughBossAreasTask, LeaveCurrentBossAreaTask.
  • DefaultPlayerMover now supports getting/setting the AvoidWallHugging option (defaults to being enabled) for pathfinds via the SetAvoidWallHugging/GetAvoidWallHugging Execute messages. This option is for advanced debugging purposes only.
  • GetTotalItemQuantityBy updated to correctly count items with a Stack component as opposed to items that were currency.

#1284 [09 May 16 16:47] (2.2.2.6)
  • InGameState.GetCurrentQuestStateAccurate and InGameState.GetCurrentQuestStatesAccurate added. These functions perform client calls to obtain the current quest state for a quest in the current act/difficulty.
  • PlayerMover adjustments are now also enabled in The Slums.
  • Various internal updates to simplify some offsets. Nothing should break API wise.

#1281 [05 May 16 16:18] (2.2.2.6)
  • ThirdPartyLoader will *temporarily* treat 'CommunityLib' and 'ExTensions' as having a '3rdparty-required.txt' file in their root directory automatically to not break existing setups.
  • Content that relied on 'Content Order' to load first (such as CommunityLib and ExTensions) now require the '3rdparty-required.txt' file in the root folder to properly before everything else.
  • ThirdPartyLoader updates:
    • When an empty file named '3rdparty-required.txt' is present in a content's root folder, that content will be auto-loaded (as long as it's not on the disabled list) so any other content dependent on it will actually compile. This change fixes a previous problem of users needing to manually add the required content's name to the Content Order list on the Gui settings, then restart their bot again for stuff to work.
    • Zip/Folder processing is now done in alphabetical order rather than whatever the system chooses. Zips are processed first still, then folders, for reference.
    • PluginManager will now order plugins by the content order list, then in alphabetical order for some predictability in terms of processing like before. This is to help avoid unintended side effects of 'random' plugin ordering between devs and users, although content should be carefully coded to avoid such issues anyways.
  • DefaultPlayerMover is no longer dependent on StaticLocationManager.

#1278 [04 May 16 02:46] (2.2.2.6)
  • Updates for 2.2.2.6.

#1276 [03 May 16 00:43] (2.2.2.4)
  • Fixed a logic bug in FastWalkablePositionFor that would result in the walkable point being calculated too far from the intended direction.

#1274 [02 May 16 21:04] (2.2.2.4)
  • DefaultPlayerMover logic updated to reduce overshoots when the destination is close.
  • More DefaultPlayerMover settings configurable via Execute.
  • Lots of core logging updates.
    • AsyncAppender now takes a Func<int> to get the current value of the repeat message drop time.
    • AsyncAppender logic updates to handle multithreaded operations better.
    • CustomLogger now takes a Func<int> to get the current value of the repeat message drop time.
    • The logging line format has had an unused format string entry removed.
    • CustomLogger.GetLoggerInstanceForName added to return a logger instance by name rather than type.
    • Logger.DropRepeatMessageDelayMs added to control how long repeat messages are dropped. Defaults to 1000 ms.
  • WithdrawTask updated to correctly take out more TP scrolls when low.

#1271 [30 Apr 16 12:43] (2.2.2.4)
  • v3.TriggerOnSellDelegate added.
  • v3.SellingCompleteDelegate now takes a bool to signal if the selling failed or not.
  • SellItemsCoroutine now takes a TriggerOnSellDelegate to trigger when selling is about to be accepted.
  • SellItemsCoroutine will only try to accept up to 5 times now.
  • SellTask now supports the previous changes.
  • OldGrindBot.TriggerOnSell added.
  • ThirdPartyLoader.CleanupPaths added to store the paths created and used for the current session.
  • ThirdPartyLoader now creates pseudorandom folders to avoid issues with files being in use.
  • Coroutines.FinishCurrentAction is now called in various logic if PlayerMover.MoveTowards fails to stop pending movement.
  • Various failures of PlayerMover.MoveTowards now correctly logged.
  • The new experimental adjustments for DefaultPlayerMover are once again only enabled for The City of Sarn.
  • DefaultPlayerMover has some more logic changes to hopefully reduce issues in lockstep due to not enough pathfinds being performed.

#1267 [28 Apr 16 18:16] (2.2.2.4)
  • Utility.BroadcastEventExecute and Utility.BroadcastEventLogic now handle the case of no bot/routine being set.
  • A new message, "core_bot_fully_loaded_event", will be broadcast when the bot is fully loaded, before the logic for autostart executes.
  • LokiPoe.CancelAutoStart added to cancel the autostart argument.
  • GuiSettings.ExitOnCompileErrors added to allow the bot to exit with an error code if compile errors were detected.
  • ThirdPartyLoader.CompileErrors added to expose a list of compile errors encountered.
  • ThirdPartyLoader now logs content name/version in addition to the type name.
  • ApplicationExitCodes.CompileErrors added.
  • AreaStateCache.LootVisibleItemsOverride added to support looting any visible items rather than only using an item eval.
  • OldGrindBotSettings.LootVisibleItemsOverride added to control AreaStateCache.LootVisibleItemsOverride from the bot.
  • The commandline argument --exitoncompileerrors is now supported.
  • ThirdPartyLoader will now attempt to verify create/delete directory operations to avoid a rare IO issue on slower machines.

#1266 [27 Apr 16 21:22] (2.2.2.4)
  • JsonSettings.GetProperty/SetProperty added as reflection helpers to work with properties without referencing the type.
  • SkillBarPanel.SkillBarSkills added to wrap InstanceInfo.SkillBarSkills.
  • TravelToGrindZoneTask.MaxInstances replaced with OldGrindBotSettings.MaxInstances.
  • OldGrindBotSettings now calls Save to force save after most property changes.
  • DefaultPlayerMover will now perform a new pathfind each time MoveTowards is called when in Predictive. This is to temp fix a back-and-forth issue that can result from the new movement design.
  • Users on VMs or lower end hardware PCs should manually set the game's networking mode to Predictive. This will help smooth out a lot of things.
  • StashUi.CurrencyTabInventoryControlsCurrency added to return only currency inventory controls.
  • StashUi.CurrencyTabInventoryControlsMisc added to return only misc inventory controls.
  • GetInventoryControlForMetadata now takes an optional param called includeMisc (default true) to allow not checking misc slots by metadata, thus allowing only primary currency slots to be matched.

#1263 [25 Apr 16 02:15] (2.2.2.4)
  • The message 'oldgrindbot_on_stash' has been added to OldGrindBot.Execute to replace the now inaccessible OnStash event handler.
  • The message 'oldgrindbot_on_loot' has been added to OldGrindBot.Execute to replace the now inaccessible OnLoot event handler.
  • LokiPoe.GetZoneId now returns the zone id for towns.
  • Disabled content for folder loading is now logged via warn rather than error (other instances of this are warn already).
  • TriggerOnWithdrawDelegate added to trigger a withdraw event.
  • WithdrawItemsCoroutine now supports passing a TriggerOnWithdrawDelegate to it to invoke before an item is withdrawn.
  • The message 'oldgrindbot_on_withdraw' has been added to OldGrindBot.Execute to support item withdraw events.
  • DatBackendErrorWrapper.Desc -> Text.
  • Dat.LookupBackendError added to lookup a backenderror entry by enum or string.

#1261 [20 Apr 16 15:53] (2.2.2.4)
  • Loki.Bot.Explorer added to offer a global means of obtaining the current IExplorer instance. The bot implementation must assign Explorer.Delegate a delegate to get the current instance.
  • AreaStateCache.Current.Explorer calls replaced with Explorer.GetCurrent().
  • Exilebuddy now supports entering multiple keys to login with.
  • GlobalSettings.AuthKey is now the current key the bot is logged in with. Before it was the key to login with.
  • GlobalSettings.AuthKeys is now a list of keys Exilebuddy should try to login with. The supported characters for parsing are: ' ', '\t', '\n', '\r', '-', ',', '|'
  • Support for quick entering your key by pressing enter in the key text box has been removed to support multiple key entry.
  • API update to fix GoToHideout randomly breaking.
  • The message 'oldgrindbot_get_current_area_state_cache' has been added to OldGrindBot.Execute to return the current AreaStateCache instance from the bot.

#1258 [20 Apr 16 10:33] (2.2.2.4)
  • Updates for 2.2.2.4.
  • OldGrindBot.Coroutines is now OldGrindBot.CoroutinesV3.
  • Loki.Bot.Coroutines added to hold a few commonly used coroutines that won't change.
  • v3.MoveToLocation updated to take a stopCondition. This is to help movement break out early rather than trying to move exactly to the position.
  • Logic updated in a few places that use the new stopCondition for MoveToLocation due to stale object caching.
    • For example, an object is in view and stored, MoveToLocation is called which results in the object leaving view and re-entering. When the coroutine completes, the previous stored object is now invalid.
  • MoveToLocation now calls FinishCurrentAction at the end.
  • Blacklist functionality provided though AreaStateCache has now been removed in favor of a global Blacklist in Loki.Bot. For example, AreaStateCache.Current.Blacklist is now Blacklist.Add, IsBlacklisted is now Contains.
  • IdItemsUsingStashCoroutine and StashItemsCoroutine updates for currency tab items.
  • OldGrindBot is now included as an externally compiled bot. Due to a lot of dependencies, effected plugins have lost some functionality for now.
  • Various compile compatibility changes have been made for old dependent code. For example, common code that used to be in Loki.Bot has now been copied into the files that use them.
  • StuckDetection updated to handle the design change of OldGrindBot.
  • GrindZoneChanger updated to handle the design change of OldGrindBot.
  • OldGrindBot now implements some new custom messages for the previous plugins.
  • DumpBaseItemTypes.cs/GenerateBaseItemTypes.cs added to Scripts.
  • GameData.BaseItemTypeEnum added for referring to objects by unlocalized names.
  • DumpClientStrings.cs/GenerateClientStringsCs.cs added to Scripts.
  • GlobalWarningDialog updated to use a client string lookup.
  • DatClientStringWrapper added.
  • ClientStringsEnum added.
  • ApplicationExitCodes.Restarting added so users can set this exit code for reloggers.

#1252 [19 Apr 16 07:37] (2.2.2.3)

  • * Updates for 2.2.2.3.
    * ExilePather.FastWalkablePositionFor now does nav checks to make sure the point is on the pathfinding grid.
    * WorldUi.GoToHideout now returns HideoutControlNotVisible if the hideout control is not visible.
    * The OldGrindBot settings gui layout has been fixed (thanks @Tormiasz!).
    * InGameState.IsEnteringAreaTextShown and EnteringAreaText added.

#1250 [14 Apr 16 13:57] (2.2.2.2)
  • Updates for 2.2.2.2.
  • Updates for 2.2.2.1.
  • StaticLocationManager.TGTs added. This caches the tgts it uses when reloaded.
  • StaticLocationManager.TgtUnderPlayer added. This accesses the cached tgt array to return the tgt under the player.
  • DefaultPlayerMover now has an Act 3 town specific fix added to avoid movement appearing bot-like when moving towards the Slums exit.

#1248 [13 Apr 16 22:36] (2.2.1.11)
  • InventoryUi.AllInventoryControls added.
  • LokiPoe.GetZoneId should now return an area for The Eternal Laboratory.
  • DefaultPlayerMover will no longer make adjustments in the hideout.
  • OldRoutine should no longer throw exceptions when a slot with no skill is being used.
  • SkillBarHud.LastBoundMoveSkill now returns the last bound move skill. Before it was returning the move skill whether it was bound or not.
  • AssignMoveSkillTask will now try to assign the move skill to a free slot if the LMB is bound to it. Before it would stop the bot without trying to assign it to a free slot.
  • DefaultPlayerMover will now log errors if there is no move slot bound.
  • TravelToGrindZoneTask.MaxInstances is no longer read-only.
  • WorldUi.TakeWaypoint now lets the instance manager gui open more before making a new instance.

#1245 [13 Apr 16 10:44] (2.2.1.11)
  • Fixed a bug where InventoryControlWrapper.CurrencyTabItem could return the wrong item.
  • WorldUi.TakeWaypoint variant added that takes the difficulty and area name.
  • LokiPoe.GetZoneId can now handle any case inputs.
  • TabControlWrapper.LastTabIndex added to return the index of the last tab.
  • InventoryControlWrapper.HasCurrencyTabOverride, HasSingleItemOverride, and HasEquippableItemOverride added for users to know the override flags set.
  • Added support for Summon Stone Golem and Summon Lightning Golem to OldRoutine.
  • Input.UseItemHighlight removed.
  • Input.Binding.enable_key_pickup, KeyPickup added.
  • ActionKeys.enable_key_pickup added.
  • Input.HighlightObject now auto-detects the client's item pickup settings and uses the correct method for WorldItems.

#1244 [12 Apr 16 22:49] (2.2.1.11)
  • InventoryControlWrapper.CurrencyTabItem added to return the item in the currency tab inventory if there is any.
  • ThirdPartyLoader will now synchronously load content listed in ContentOrder first, then load everything else asynchronously to support commonly used code that needs to be loaded before other assemblies.
  • Coroutines.LatencyWait now actually uses the factor parameter (thanks @Tormiasz!).
  • SkillBarHud skill using functions updated to correctly use the desired slot key rather than the first bound key for a skill if it exists more than once on the skillbar.
  • CursorItemOverlay no longer throws exceptions if Item or Inventory are accessed when there is no item on the cursor.
  • Skill.Slots added to return an IEnumerable of all slots the skill is bound to.
  • Skill.GetKeyForSlot added to map a slot to bound key.
  • InventoryControlWrapper.GetItemCost now has a CanAfford out parameter.
  • AssignMoveSkillTask updated to handle multiple move skills on the skillbar.
  • DefaultPlayerMover updated to use the last bound move skill correctly.
  • GetPlayerInventoryIemsBySlot -> GetPlayerInventoryItemsBySlot (thanks tNyx!)

#1242 [12 Apr 16 03:46] (2.2.1.11)
  • A new installation of Exilebuddy is required. Please do not copy old content/settings.
  • Initial Beta release for 2.2.1. Too many changes to list.
 
Last edited:
Release Changelog

#176 [02 Jun 16 19:50] (2.2.2.8)
  • Beta #1308 - #1313

#175 [19 May 16 23:14] (2.2.2.8)
  • Beta #1290 - #1299.

#174 [16 May 16 21:24] (2.2.2.7)
  • Beta #1284 - #1289

#172 [05 May 16 18:45] (2.2.2.6)
  • Beta #1281.

#171 [04 May 16 14:40] (2.2.2.6)
  • Beta #1242 - #1278
 
Last edited:
Status
Not open for further replies.
Back
Top