Atavism Unity 2.6.2 Changelogs
Release 2.6.2 is a minor update for Atavism that adds a few new minor features and tidies up some features that were not working 100% the way they should.
The update does include some database changes so you will need to run the update_commands sql script to update your databases to the latest version. A few tables have also been moved into different databases to make accessing the data more sensible. These are described here:
Database Movement: Account Tables
The account_purchases table and coin related fields of the account table have been moved to the master database. This is because the master database has all accounts and can be accessed by all servers for your game. The old location, the admin database, exists per server and doesn’t make sense for purchased which should be game wide.
Database Movement: Claim Tables
The claim related tables have been moved from the world_content database to the admin database. As the claim tables get updated frequently by players in the game it made it risky leaving it in the world_content database which should be more static, only updated by game developers upon a new release. This will prevent claims accidentally being overwritten or lost when updating the world_content database with a newer one. This does mean a little more work if you want to update/add new claims to your live servers, but the convenience of easily updating your world_content database without fear of losing claims makes it worth it.
Anyway, on with the changelogs:
- Players can now make guilds and invite others to join their guild.
- Includes Guild Chat System and most standard guild management commands such as promoting, demoting, setting guild message of the day.
- Players can now talk to Bank Teller NPCs and store their items in the bank.
- Skinning of dead mobs has been added.
Synchronisation, Factions and Mob Threat
- Improved the player movement syncing code so players no longer jump around the place. Movement, in general, should look much smoother for other players.
- The server will now only accept 1 message of the same type per player per internal tick to prevent accidental overload from a client. This means that the MobCreator, which used to send 5 messages at once, has been updated to only send one.
- Created a new FactionStateInfo object which stores faction related information (for players and mobs) in the FactionPlugin making accessing and editing faction data much faster for calculating interactions between objects (simply put: server optimization).
- Mob threat system improved to better calculate who to attack. Now also takes the target distance from the mob into the calculation (so it will attack closer targets with a similar or slightly higher threat level).
- Mob tagging (for determining exp and loot for killing it) can now only be done by players (server optimization – no longer calculating loot/exp when a mob kills a mob)
- New “aggressive” property which lets a players client know when a mob is aggressive towards them (as in, when a previously neutral mob is now wanting to attack you) so the players interface can indicate that towards a player (yellow name/decal will turn red).
Item Store/Shop & Account Stuff
- Mail system has been improved to handle account wide mail. This means when a player purchases an item from your website (or other external system) they will be able to retrieve the purchased item on any character in their account.
- Added new account_settings table to the master database, which can store settings for accounts. These settings can be read in by the AGIS code when a player logs in on any of their characters.
- The RemoteAccountConnector system now has an accountID variable which should be set by remote systems so the ID in the master database will match the id in the remote system. See RemotePhpAccountConnector.java. Those using the RemoteAccountSystem will need to update their PHP page (or equivalent) to now echo the accountID instead of “Success”.
- Area of Effect support has been added. Currently only a basic circle shape works, with the option to apply the ability effects on all objects around either the caster or the target. See the TargetType, AoE Radius, Aoe Type settings in the Abilities plugin in the Atavism Editor.
- Require Facing Target option has been added to abilities, which if checked will allow the ability to only activate if the caster is facing the target.
- Added new option of starting cooldowns on activation of an ability. See “Start Cooldown on Activation” setting in the Abilities plugin.
- Added multiple action bar support, along with the ability to have a different action bar showing for the player based on settings in the MorphEffect.
- New Effect Type: Dispel Effect. It will remove one or more effects on the target based on the settings given.
- Another stat, in addition to the movement_speed, can be altered by the Mount Effect.
- Stat altering code in the StatEffect and EquipHelper now only send stat updates after all stat modifications have been done (server optimization).
- Added timeout system for a player being “in combat”. This means a player will not exit the combat state until a few seconds after the last damage was dealt or received. A new Game Setting has been added to set the timeout duration (COMBAT_TIMEOUT).
- The ability to set a respawn point and instance to a player has been added. This can be used instead of the default graveyard system. – NOT YET COMPLETED
- Removed the Bonus Effect Requirement from the Bonus Effect system and added in the removal of bonus effects upon removal of the effect that first applied it.
- New Interaction system for claim objects. Currently Chest, Resource and NPC interaction options are supported. Chest objects work like a storage where the owner of the claim can store their items, Resource objects allow the owner to harvest items from the object when it has been completed and NPC objects will spawn an NPC on their location.
- New option to set a build object as not requiring the player to stay there while the object is being constructed. If “Build Task Req Player” is not checked in the Build Objects Plugin, the player is free to walk away after starting the construction/upgrading of an object.
- Added parent system for build objects. If an object is placed on another claim object it will also be removed when the parent is removed. Settings to allow objects to have children or parents can be found in the Claim Object component.
- Changed the size system of claims to have both x and z size variables rather than just one.
- Added ClaimType system allowing claims to be set to a type and then adding a Claim Type requirement to Build Objects so certain objects can only be placed in certain claims.
- Added new spatial logic to verify a claim object is fully inside the claim when being placed.
- New AtavismMobSpawnMarker object which can be used in the Unity Editor to create mob spawns. See the MobSpawnMarker object in the AtavismObjects/Other folders.
- Added Item requirement to dialogue actions, where a player will not be able to run a dialogue action if they do not have the required item (see Item Req in the Dialogues plugin).
- Added new Item Effect Type: DeathLossChance, which allows setting the chance the item will be dropped when the player dies. 0 = it will never drop, 100 = it will always drop.
- World Server Time has been improved with mob spawns now having the option of having times set when they can spawn, and can even have an alternate mob spawn in the off hours.
- Updated the TimeManager.cs script to keep track of time itself and send out events as time changes (each minute of world time). Updated TimeEventManager to listen to these time events.
- Added mounted checks for Resource Node gathering and Crafting – if turned on (via Game Settings: CAN_HARVEST_WHILE_MOUNTED and CAN_CRAFT_WHILE_MOUNTED) players will not be able to perform those actions while mounted.
- The xpReward property is now sent down with Quest Info for when a player is being offered a Quest.
- Updated Item Tooltips to show Item Weight and the details of the Crafting Recipe if it is a recipe item.
- A starting level can now be set for player characters.
- Merchant items will no longer refresh if refresh time is set to less than 1.
- Added in moving the check to abilities with a cast time greater than 0, so they won’t start to activate if the caster is moving.
- Mount Effect is now set to passive so players will not be dismounted when logging out.
- Fixed up the column names and table name in the writeFactionData and writeFactionStanceData() functions in the MobDatabase.java file.
- Fixed Teleport effect so that if no instance is specified, it will teleport the player within the same instance.
- Fixed a bug that was preventing buffs from being removed when clicked on.
- Claim Data is now only being sent down for claims in the instance the player is in.
- Fixed some bugs with the rotation syncing which caused players to rotate on other clients when they shouldn’t be.
- Fixed an issue where claim objects wouldn’t show when using Asynchronous scene loading as they were added before the scene changed, and then got deleted.
- Fixed an issue where Regions were thinking players had left them even though they were still within the region.
- MagicalAttackAbilities now correct check weapon requirements.