Atavism 2.6.1
Atavism Unity 2.6.1 Changelogs
Release 2.6.1 is a hotfix update for Atavism that fixes many of the bugs that have popped up in 2.6 and implements some of the minor improvements that were missing or were requested and seen as easy to implement and very useful.
The update is a much smaller one than 2.6 and does not have any database changes. That said, some changes to the system will affect existing characters, so it is recommended to wipe existing characters.
Completed
Improvements
General
- The Click to Move Controller has been greatly improved with support for moving to then auto triggering actions such as harvesting resource nodes or attacking enemies when clicked. Players can now also hold down the mouse button for continuous following.
- A basic Portrait system has been implemented allowing the setting of portrait icons either based on prefab or class. These can be shown in the character selection scene and in game.
- Account registration can now be disabled by setting the new atavism.allowaccountregistration property in auth.properties to false
- The remote account connector system has been improved a lot and now allows account creation as well as passing custom properties from the login/registration UI in Unity through to the connectors.
- Merchant item refreshing has been added. If a merchant has a limited amount of items they will now restock based on the refresh time.
- Resource Nodes, Regions and Interactive Objects from the server are no longer loaded on the client as additional game objects. This greatly speeds up loading of mobs when logging into a scene, and keeps the hierarchy much cleaner.
- An Escape/Quit menu has been added. A Sound Options window has been added as well, allowing the changing of music and sound effect volumes.
- The Server List UI in the Character Selection scene has been completed and is now ready for use.
- The height of floating names above a characters/mobs head can now be set again on the MobController component.
- Coordinated Effects now also have a sound volume setting, and will also be adjusted by the settings from the Sound Options window.
- The oid of a chat message sender is now passed to the UGUI chat controller allowing more control over display based on the characters properties.
- Quest Log now shows when a Quest is complete.
- Abilities have a new “req Target” setting, which if un-ticked means an ability can activate even with no target selected.
- Ability.cs file/class has been renamed to AtavismAbility.cs.
- Floating chat boxes when players talk have been added. Adding to this, developers can now choose to have names/floating chat boxes rendered in the world rather than on the 2D UI overlay. Look for the FloatingNamesController in the MainWorld.
- Colour options for tooltip titles based on item quality, along with other color options. Check out your Tooltip object in your Canvas.
- Scenes are now loaded asynchronously, allowing better support for loading screens.
- Ammo is no longer unequipped when a weapon is unequipped and can be equipped without a weapon being required
- Multiple of an item can be purchased from the merchant. Hold down shift when clicking on an item to bring up the dialog.
- External mail purchases to be checked each time the mail list is requested, rather than having to re-log.
- Revive Effect has had two new stat slots added.
- A new “Only show known skills” option added to the Skills UI.
- Click to place added to Crafting UI. You can now just click on an item to place it in the first empty slot of the crafting window rather than having to drag. Same goes for taking items out.
- Dueling has been added! You can challenge another player to a duel by right clicking on their portrait and choose “Duel” from the popup menu. Note this is an early test implementation and some bugs will occur.
- Item positions can now be swapped in bags.
- Skill UI has been updated to show how many skill points a player has, and allow spending those points. New game options added to switch between auto skill up the system and purchasing skill ups.
- Combat text now scrolls up!
- Colours can now be set for friendly/neutral/enemy mobs/players. Check the settings on the FloatingMobPanel prefab.
- Damage and speed are now displayed in weapon tooltips.
- Additional slots have been added to the Atavism Mob Appearance system.
- Added a new rotating property for players which will let other clients know when a player is rotating. This should smooth out how other characters look when rotating on the spot.
- Added a new ThreatEffect, allowing the increasing or reducing of threat on a target.
- Durability/Repair system added – instructions to come.
- Weight system added – instructions to come.
- New admin panel added to make issuing admin commands (such as teleporting, generating items etc) much easier to use. Type /admin to bring up the window.
- Multiple equipment display components can now be added to the same prefab, allowing multiple models to be attached or activated for a single item being equipped.
Editor
- Changes have been made to the Atavism Editor to future proof it for Unity 5.4
- Integer and Float fields in the Atavism Editor can now be typed in much more easily.
- Instant Effects will now play the Pulse Effect when they are applied.
- A new TeachSkill Effect has been added, allowing abilities to teach a character a skill.
- Abilities and Quests can now be activated/started through Dialogue actions/options.
- Numerous new Game Settings added to change behavior of resource nodes including the ability to turn off the chance to fail.
- Currency rewards have been added to Quests.
- Newly created stats in the Stats Plugin will now be auto applied to existing character templates.
- Changing the name of an entry in the Atavism Editor that creates a prefab will now auto delete the old/wrongly named prefab.
Fixes
General
- Players can no longer trade or send via mail more currency than they have.
- Teleporting to instances is now handled correctly from teleport effects and other situations that were playing up.
- Stunned mobs will now continue to follow and fight their target when the stun wears off.
- The Continue button in the Quest Progress window will now be disabled if the player has not completed the quest objectives.
- Fixed an issue where changes to a players currency amounts were not being saved when they logged out if it was the last action that occurred.
- If a player dies in a region and is revived still within the region they will now have the region’s effect re-applied.
- Mobs and Claim Objects can no longer be clicked on/selected through the UI
- Quest Title is now set correctly in the Quest Log
- Players can no longer send out group invites when they are already handling a group invite request.
- The “1” that was showing up on the action bar buttons has been removed.
- The /getSkillCurrent command now works again
- All PreparedStatements in the Database files in the AGIS code is now closed when completed. This results in fewer database resources being held by the server.
- Mobs are now correctly aggroing players who have released/been revived.
- Fixed an issue with the Login scene where a player couldn’t login if they clicked Register, then canceled, then click on Login.
- Fixed an issue where Vitality stats could be saved with no max stat set, causing the server to break.
- Fixed a bug where claims were being loaded in every single instance, not just the instance they were created in.
- The previous page button for merchant UI is now working.
- Sell prices should be showing correctly when selling a stack of an item.
- Vitality Stats are not being reset correctly on release.
- Changed RemoveGenericItemMessage to handle multiple items. This greatly reduces the remove item messages being sent when crafting item, as this was causing performance issues.
- Particles now stop when canceling casting.
- Cast bars are no longer influenced by actions/messages from other players.
- Fixed an issue where sometimes icons weren’t showing up for items in the Equipment Slots.
- Fixed an issue where items equipped to the back slot where not being displayed in the Character Doll.
- Promote to leader now works, and when the leader leaves a group a new leader will be appointed.
- Fixed an issue that was allowing the same player to join a group twice.
- Ammo is now removed from the Character UI when it has run out.
- Fixed an issue with instances that have population limits, and them not being filled up properly (due to an internal naming issue).
- Fixed an issue where a threat was not being handled correctly by mobs, so they weren’t always attacking the target with the highest threat.
- Weapon damage is now correctly showing on the tooltips for weapons that are equipped.
- Skills that are learned now give an automatic level of 1 rather than 0. This will make setting skill requirements easier as using a requirement of 1 will verify that the user does know the skill.
- Fixed an issue where the maximum level a mob or player could be was 50.
- Saving Item prefabs should now work on Mac computers.
- Item selling check has been added before bringing up the confirmation window. This means items with no sell value should no longer sell for 1 bronze (or whatever currency).
- Fixed an issue where Resource Nodes were interactive behind UI.
- Fixed an issue where Quests with a level requirement were never being offered.
- Resource Node system optimized greatly, reducing load up time on the server and the amount of memory used.
- Fixed an issue where a player in a dungeon invites another player to start a group. When the second player enters the dungeon they will now be in the same instance as the group leader.
- Changed a couple lines of code in UGUIAtavismActivatable to stop some warning messages coming up in the Unity Console.
Editor
- An issue where character stats were being duplicated in the character_create_stats table (and then causing everything to break) has been resolved.
- Existing characters should now no longer break when adding new stats to your game.
- Duplicate region entries are no longer being created in the database.
- Cooldowns with no name given on an Ability will now work correctly.
- Quests set as repeatable will now correctly be marked as completed when a player completes them to be used as prereqs for other Quests.
Updating to 2.6.1
Updating from Atavism 2.6 to 2.6.1 is pretty simple with the exception of merging UI changes. Follow the instructions below to update your existing server.
It is highly recommended you create a backup of both your server and client before proceeding in case something goes wrong during the process.
Step 1: Replace Server Files
Copy over the following server files into your existing Atavism server, making sure you still have a copy of your auth.properties and world.properties files to copy the settings from.
Note: If you have made any changes to the files below, please make a copy of them and try merge in your changes.
- bin/auth.properties
- config/common/aomarshallers.txt
- config/common/aomessages.py
- config/common/proxy.py
- config/common/typenumbers.txt
- config/world/combat-ads.txt
- config/world/combat.py
- config/world/extensions_proxy.py
- config/world/mobserver-ads.txt
- config/world/objmgr-ads.txt
- config/world/proxy-ads.txt
- config/world/worldmarshallers.txt
- config/world/worldmessages.py
- config/world/wmgr-ads.txt
- dist/lib/agis.jar
- dist/lib/atavism.jar
- dist/lib/currency.jar
- dist/lib/injected.jar
Step 2: Import Atavism Package, Replace Files
Note: Due to complications arising from importing in an existing Unity project, it is recommended you create a new project, import the files into that, then copy over the needed files to your existing project via Windows (Explorer).
Import in the AtavismUnity2_6_1.unitypackage. A lot of files can be skipped, but it is recommended you replace the files listed below:
- AtavismObjects/Scripts/Ability.cs – REMOVED, replaced with AtavismAbility.cs
- AtavismObjects/Scripts/Abilities.cs
- AtavismObjects/Scripts/Actions.cs
- AtavismObjects/Scripts/Activatable.cs
- AtavismObjects/Scripts/Atavism3rdPersonInput.cs
- AtavismObjects/Scripts/AtavismAbility.cs – NEW FILE, replaced Ability.cs
- AtavismObjects/Scripts/AtavismBuildObjectTemplate.cs
- AtavismObjects/Scripts/AtavismCombat.cs – NEW FILE
- AtavismObjects/Scripts/AtavismCraftingRecipe.cs – NEW FILE
- AtavismObjects/Scripts/AtavismCursor.cs
- AtavismObjects/Scripts/AtavismEffect.cs
- AtavismObjects/Scripts/AtavismEventMessageHandler.cs
- AtavismObjects/Scripts/AtavismGroup.cs
- AtavismObjects/Scripts/AtavismInventoryItem.cs
- AtavismObjects/Scripts/AtavismLegacyAnimationMobController3D.cs
- AtavismObjects/Scripts/AtavismMecanimMobController3D.cs
- AtavismObjects/Scripts/AtavismMobAppearance.cs
- AtavismObjects/Scripts/AtavismScriptEvent.cs
- AtavismObjects/Scripts/AtavismTarget.cs
- AtavismObjects/Scripts/AtavismTrade.cs
- AtavismObjects/Scripts/CharacterSelectionCreationManager.cs
- AtavismObjects/Scripts/Crafting.cs
- AtavismObjects/Scripts/EquipmentDisplay.cs
- AtavismObjects/Scripts/Inventory.cs
- AtavismObjects/Scripts/LoadingScreen.cs
- AtavismObjects/Scripts/LoginController.cs
- AtavismObjects/Scripts/MobController3D.cs
- AtavismObjects/Scripts/MobCreator.cs
- AtavismObjects/Scripts/MobSoundSet.cs
- AtavismObjects/Scripts/NpcInteraction.cs
- AtavismObjects/Scripts/PortraitManager.cs – NEW FILE
- AtavismObjects/Scripts/Quests.cs
- AtavismObjects/Scripts/Skill.cs
- AtavismObjects/Scripts/Skills.cs
- AtavismObjects/Scripts/SoundSystem.cs
- AtavismObjects/Scripts/StandardCommands.cs
- AtavismObjects/Scripts/Startup.cs
- AtavismObjects/Scripts/WorldBuilder.cs
- AtavismObjects/Scripts/CoordinatedEffects/CoordAnimation.cs
- AtavismObjects/Scripts/CoordinatedEffects/CoordLocalAnimation.cs
- AtavismObjects/Scripts/CoordinatedEffects/CoordMobSoundEffect.cs
- AtavismObjects/Scripts/CoordinatedEffects/CoordObjectAnimation.cs
- AtavismObjects/Scripts/CoordinatedEffects/CoordParticleEffect.cs
- AtavismObjects/Scripts/CoordinatedEffects/CoordProjectileEffect.cs
- AtavismObjects/Scripts/GameObject Components/AtavismClassData.cs
- AtavismObjects/Scripts/GameObject Components/AtavismMount.cs
- AtavismObjects/Scripts/GameObject Components/AtavismRaceData.cs
- AtavismObjects/Scripts/GameObject Components/ClaimObject.cs
- AtavismObjects/Scripts/GameObject Components/CraftingStation.cs
- AtavismObjects/Scripts/GameObject Components/InteractiveObject.cs
- AtavismObjects/Scripts/GameObject Components/ResourceNode.cs
- AtavismObjects/Scripts/UGUI/UGUIAbilitiesList.cs
- AtavismObjects/Scripts/UGUI/UGUIAbility.cs
- AtavismObjects/Scripts/UGUI/UGUIAbilitySlot.cs
- AtavismObjects/Scripts/UGUI/UGUIActionBarSlot.cs
- AtavismObjects/Scripts/UGUI/UGUIAdminChooseEntry.cs – NEW FILE
- AtavismObjects/Scripts/UGUI/UGUIAdminPanel.cs – NEW FILE
- AtavismObjects/Scripts/UGUI/UGUIAnnouncementText.cs
- AtavismObjects/Scripts/UGUI/UGUIAtavismActivatable.cs
- AtavismObjects/Scripts/UGUI/UGUIBagSlot.cs
- AtavismObjects/Scripts/UGUI/UGUIBuildObject.cs
- AtavismObjects/Scripts/UGUI/UGUIBuildObjectTarget.cs
- AtavismObjects/Scripts/UGUI/UGUICastingBar.cs
- AtavismObjects/Scripts/UGUI/UGUICharacterEquipFrame.cs
- AtavismObjects/Scripts/UGUI/UGUICharacterEquipSlot.cs
- AtavismObjects/Scripts/UGUI/UGUIChatController.cs
- AtavismObjects/Scripts/UGUI/UGUIClaimPermission.cs
- AtavismObjects/Scripts/UGUI/UGUIConfirmationPanel.cs
- AtavismObjects/Scripts/UGUI/UGUICraftingPanel.cs
- AtavismObjects/Scripts/UGUI/UGUICraftingSlot.cs
- AtavismObjects/Scripts/UGUI/UGUICurrencyInputPanel.cs
- AtavismObjects/Scripts/UGUI/UGUIDeathPopup.cs
- AtavismObjects/Scripts/UGUI/UGUIDialogueOption.cs
- AtavismObjects/Scripts/UGUI/UGUIDialoguePanel.cs
- AtavismObjects/Scripts/UGUI/UGUIEffect.cs
- AtavismObjects/Scripts/UGUI/UGUIFloatingMobPanel.cs
- AtavismObjects/Scripts/UGUI/UGUIFloatingMobPanelController.cs
- AtavismObjects/Scripts/UGUI/UGUIGameMenu.cs – NEW FILE
- AtavismObjects/Scripts/UGUI/UGUIGroupMember.cs
- AtavismObjects/Scripts/UGUI/UGUIInventorySlot.cs
- AtavismObjects/Scripts/UGUI/UGUIMailAttachmentSlot.cs
- AtavismObjects/Scripts/UGUI/UGUIMailCompose.cs
- AtavismObjects/Scripts/UGUI/UGUIMailList.cs
- AtavismObjects/Scripts/UGUI/UGUIMerchantFrame.cs
- AtavismObjects/Scripts/UGUI/UGUIMerchantItemEntry.cs
- AtavismObjects/Scripts/UGUI/UGUIMerchantItemSlot.cs
- AtavismObjects/Scripts/UGUI/UGUIPortrait.cs
- AtavismObjects/Scripts/UGUI/UGUIQuestConclude.cs
- AtavismObjects/Scripts/UGUI/UGUIQuestList.cs
- AtavismObjects/Scripts/UGUI/UGUIQuestListEntry.cs
- AtavismObjects/Scripts/UGUI/UGUIQuestOffer.cs
- AtavismObjects/Scripts/UGUI/UGUIQuestProgress.cs
- AtavismObjects/Scripts/UGUI/UGUIRepairSlot.cs – NEW FILE
- AtavismObjects/Scripts/UGUI/UGUIRepairWindow.cs – NEW FILE
- AtavismObjects/Scripts/UGUI/UGUISkillsWindow.cs
- AtavismObjects/Scripts/UGUI/UGUISkillText.cs
- AtavismObjects/Scripts/UGUI/UGUISoundOptions.cs – NEW FILE
- AtavismObjects/Scripts/UGUI/UGUITargetPortrait.cs
- AtavismObjects/Scripts/UGUI/UGUITooltip.cs
- AtavismObjects/Scripts/UGUI/UGUITradeOffer.cs
- AtavismObjects/Scripts/UGUI/UGUITradeSlot.cs
- AtavismObjects/Scripts/UGUI/UGUITradeWindow.cs
- AtavismObjects/Scripts/UGUI/UGUIWorldBuilder.cs
- AtavismObjects/Scripts/UGUI/Character Scene/ServerListEntry.prefab
- AtavismObjects/Scripts/UGUI/Character Scene/UGUICharacterClassSlot.cs
- AtavismObjects/Scripts/UGUI/Character Scene/UGUICharacterSelectSlot.cs
- AtavismObjects/Scripts/UGUI/Character Scene/UGUIServerList.cs
- AtavismObjects/Scripts/UGUI/Character Scene/UGUIServerListEntry.cs
Warning: Importing the prefabs below may break any customisations you had previously made to your ones:
- AtavismObjects/Scripts/UGUI/UI Prefabs/AdminPanelChooseEntry.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/AnnouncementTextPrefab.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/AtavismAbilityPrefab.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/AtavismItemPrefab.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/CharacterSelectSlot.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/FloatingMobPanel.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/FloatingMobCanvas.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/GroupMember.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/InteractionEntry.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/RepairSlot.prefab
- AtavismObjects/Scripts/UGUI/UI Prefabs/TradeTargetOfferEntry.prefab
- AtavismObjects/Scripts/UGUI/Util/ChangeCharacterScene.cs
- Atavismobjects/AnimatorController.controller
- AtavismUnity/Editor/Data Structures/AbilitiesData.cs
- AtavismUnity/Editor/Data Structures/EffectsData.cs
- AtavismUnity/Editor/Data Structures/Instance.cs
- AtavismUnity/Editor/Data Structures/StatsData.cs
- AtavismUnity/Editor/Plugins/CharacterPlugin.cs
- AtavismUnity/Editor/Plugins/CombatPlugin.cs
- AtavismUnity/Editor/Plugins/ItemsPlugin.cs
- AtavismUnity/Editor/Plugins/MobsPlugin.cs
- AtavismUnity/Editor/Plugins/ServerAbilities.cs
- AtavismUnity/Editor/Plugins/ServerAtavismCloud.cs
- AtavismUnity/Editor/Plugins/ServerBuildObject.cs
- AtavismUnity/Editor/Plugins/ServerCharacter.cs
- AtavismUnity/Editor/Plugins/ServerCraftingRecipes.cs
- AtavismUnity/Editor/Plugins/ServerDamageEffects.cs
- AtavismUnity/Editor/Plugins/ServerDataBase.cs
- AtavismUnity/Editor/Plugins/ServerDialogues.cs
- AtavismUnity/Editor/Plugins/ServerEffects.cs
- AtavismUnity/Editor/Plugins/ServerInstanceObjects.cs
- AtavismUnity/Editor/Plugins/ServerItems.cs
- AtavismUnity/Editor/Plugins/ServerPlugin.cs
- AtavismUnity/Editor/Plugins/ServerQuests.cs
- AtavismUnity/Editor/Plugins/ServerResourceNodes.cs
- AtavismUnity/Editor/Plugins/ServerRestoreEffects.cs
- AtavismUnity/Editor/Plugins/ServerReviveEffects.cs
- AtavismUnity/Editor/Plugins/ServerSkills.cs
- AtavismUnity/Editor/Plugins/ServerStats.cs
- AtavismUnity/Editor/Plugins/ServerTeachSkilLEffects.cs
- AtavismUnity/Editor/Plugins/ServerThreatEffects.cs – NEW FILE
- The whole AtavismUnity/Editor/Prefab Interface folder.
- AtavismUnity/Editor/AtavismEditor.dll
- AtavismUnity/Editor/AtavismUnityUtility.cs
- Resources/Content/CraftingRecipes folder
- Resources/DuelFlag.prefab – NEW FILE
- Resources/Portraits folder
- Resources/Knight.prefab
- Resources/Princess.prefab
- Scripts/ClickToMoveInputController.cs
- Scripts/ClickToMoveTargetableObject.cs
- Standard Assets/Atavism Core/AtavismCore.dll
- Standard Assets/Atavism Core/ClientAPI.cs
Note: Add the AtavismCombat and PortraitManager components to your Scripts prefab (found in the Atavism Objects folder)
Step 3: Update UMA (if you use it)
If you use UMA in your project, download the latest version of the Atavism-UMA package from the APanel. Import in the following files:
- Scripts/UMA/UMACharacterSelectionCreation.cs
- Scripts/UMA/UMAMobAppearance.cs
- Scripts/UMA/UMAPropertyHandler.cs