Atavism 2.3.1
Atavism Unity Beta 2.3.1 Changelogs
Release 2.3.1 is a minor release that has been created to allow Atavism to run on Unity 5. A few of the changes planned for 2.4 have been added along with the start of the API tidy up and improvements.
You should not need to wipe any existing characters, but as all updates, there are a couple changes to the world_content and admin databases which can be updated by running the SQL update file (explained below).
Major Changes
Mail System
- A mail system has been added allowing players to send messages, items and currency to each other. See Mail System
- Developers can choose between using Mailbox objects in their world to bring up the Mail UI or using a key binding allowing players to open the Mail UI at any time.
- Cash on Delivery is supported allowing players to charge other players for the items they send them.
Minor Changes / Improvements
General
- Changed the default animation name for the StandardMeleeAttack coordEffect prefab to ‘Attack’ to match the parameter in the default AnimatorController.
Atavism Unity API Improvements
- The majority of Atavism provided classes and files have been renamed to have the word “Atavism” at the start. As a result, pretty much every file has been modified with updated references.
- Improved the Cursor API to make it easier to get and set the item, ability or bag that the cursor is currently holding.
- Added a new AtavismUIManager class that will be the central file for managing the UI of the game. For users upgrading an existing project, make sure the component is in your UI prefab.
- Deleted the AtavismObjects/UI folder, moved files into AtavismObjects/Scripts/UI Components folder so all UI files are now in the same location.
- Deleted the StandardAssets/AtavismCore/World.cs file. It was redundant.
AGIS API Improvements
- Renamed EquipHelper.CalcValue() to EquipHelper.UpdateEquiperStats() to better reflect what the function does.
- Renamed AgisInventoryClient.EquipBonusMessage to AgisInventoryClient.ItemEquipStatusChangeMessage.
- Added AgisInventoryClient.ItemAcquireStatusChangeMessage which is sent when a player acquires or loses an item. This is caught by CombatPlugin.ItemAcquireStatusChangeHook.
- Added a UnAcquireHook which allows the running of functions when a player removes an item from their bag.
- Tidied up the SkillInfo class adding new functions for learning and unlearning abilities and moved the calculation for skill up the chance to the CombatHelper class.
- Added EventMessageHelper.java class to the atavism.agis.util package. This class will be used to send event messages to the client for combat and inventory events.
Atavism Editor
- Database connection settings are now saved per project. For those who have multiple projects, they won’t have to worry about changing their settings every time they change project, just the first time.
- The Skills Plugin class drop down now links to the class list created in the Option Choices plugin.
- Craft recipes now allow the developer to set an amount of the result item to be given.
- The Resource Nodes plugin now has two different buttons, one to insert data and one to delete existing data.
UMA
- Created a new UMAEquipmentDisplay class for UMA items. This should be used for all items that are part of the UMA character and the original EquipmentDisplay should be used for items that are attached (such as weapons in the hand). This will also fix the error that users who purchased Atavism from Unity are having when importing the UMA project.
Fixes
Minor
- Walking can now be toggled using the key binding set on the Atavism 3rdPersonInput.
- ResourceNode harvesting has been fixed to prevent users getting 0 or negative items. Players will only get skill gains when successfully harvesting from a node.
- Fixed an issue that was causing targeting or the whole game to break when a targeted mob despawns.
- The tag owner property on a mob is now set when using any attacking ability, not just auto attack.
- Fixed an issue where after clicking “Test Connection” in the Database plugin other plugins wouldn’t load data correctly.
2.3.1 Update Instructions
Server
Download the updated server file and extract the files.
The following files need to be copied into your existing server directory:
- config/common/aomarshallers.txt
- config/common/typenumbers.txt
- config/world/extensions_proxy.py
- config/world/objmgr-ads.txt
- config/world/worldmessages.py
- config/world/worldmarshallers.txt
- config/world/wmgr-ads.txt
- dist/lib/agis.jar
- dist/lib/atavism.jar
- dist/lib/currency.jar
- dist/lib/injected.jar
- sql/world_content.sql
- sql/updates/update_commands2_3_1.sql
Source only the update_commands2_3_1.sql file.
Client
Due to the change in a version for Unity, the update process is a bit more complicated than usual. Follow the steps below carefully (and backup your project first).
Step 1) Open your existing project with Unity 5 and allow it to update the project (if it hasn’t already been done).
Step 2) Delete the AtavismUnity folder along with the AtavismObjects/UI folder. If you have made any customizations to those folders, keep the files you changed or added.
Step 3) Import the update package with the following files:
Step 4) Modify the Scripts and UI prefabs…
AGIS Files Changed
agis.abilities:
- CombatMeleeAbility.java
- EffectAbility.java
agis.behaviors
- CombatBehavior.java
agis.core
- QuestStartItemActivateHook.java
- SpawnMobAcquireHook.java
- UnacquireHook.java
agis.database
- AccountDatabase.java
- ContentDatabase.java
- ItemDatabase.java
agis.objects
- AgisItem.java
- Claim.java
- CraftingRecipe.java
- CraftingTask.java
- DetourActor.java – ignore
- InstanceNavMeshManager.java – ignore
- Mail.java
- ResourceNode.java
- SkillInfo.java
agis.plugins
- AgisInventoryClient.java
- AgisInventoryPlugin.java
- AgisMobClient.java
- AgisWorldManagerPlugin.java
- ClassAbilityClient.java
- ClassAbilityPlugin.java
- CombatPlugin.java
- CraftingPlugin.java
- QuestClient.java
- QuestPlugin.java
agis.util
- CombatHelper.java
- EquipHelper.java
- EventMessageHelper.java
- HelperFunctions.java