ACEmulator Monthly Report – October 1, 2018 – November 1, 2018

ACEmulator / ACE:
6 authors have pushed 45 commits to master
250 files have changed
9,998 additions
5,852 deletions
6 issues closed
View Pulse
Changelog

Notable Changes:

  • Complex quests such as Aerlinthe and Gaerlan’s Citadel are now fully tested and completed
  • Added 2-handed weapons, and cleaving damage system
  • Lugian animation / stance improvements
  • Added fishing
  • Added dispels and pressure plates
  • Improved death messages for PK battles
  • Added all death messages for players dying to monsters
  • Added character titles
  • Added complete set of level 8 player spells
  • Added server support for all level 8 spells
  • Added multistrike weapons
  • Improved dual weapons stat combinations from both weapons
  • Improved weapon swing animation timings for melee combat
  • Added particle emitters and animation to physics system
  • Improved performance of physics entity cache system
  • Added landblock preloading / permaload system
  • DBObj boxing/unboxing performance improvements
  • Improved performance of physics landblock loading / async – 30% faster landblock loading
  • Improved server shutdown for db consistency
  • Improved object decayable system
  • Improved object database persistence system
  • Improved monster animation sync between server and client
  • Improved performance of GfxObjCache
  • Massive refactoring to the movement and animation systems
  • Adjusted use radius for some objects to match retail
  • Refactored EmoteManager to better handle NPCs in busy state
  • Added more emotes to support the quest system
  • VitalHeartbeat performance optimizations
  • Improved player movement when using items (corpses/chests/doors)
  • Improved animation timing when using consumables (food/drink)
  • Improved performance with weenie precaching
  • Improved performance of landblock loading – portal collision -> portal space -> landblock speed improvements

 

  • Fixed a bug with corpses decaying a Corpse.EmptyDecayTime after they were looted
  • Fixed a bug where items given to NPCs reappeared back in player inventory
  • Fixed a bug where landblocks were loading equipped items as objects owned by the landblock
  • Fixed a possible crash if invalid object added to landblock
  • Fixed a bug with some monsters getting stuck if they wakeup during idle emote
  • Fixed a bug where Olthoi Swarm Eviscerator would spawn a quarter staff in its inventory, and attempt to wield it
  • Fixed a bug where some linkable generators were not being classified correctly, and not spawning all of their objects
  • Fixed a bug where ‘/adminvision on’ would not take effect immediately
  • Fixed a bug where larger monsters were not being detected as within melee range of player
  • Fixed a bug where recipe items could be combined with themselves
  • Fixed a bug where monsters would continually attack players while still materializing at the lifestone
  • Fixed a bug where spell projectiles weren’t triggering the possible critical death messages
  • Fixed a bug where player would switch to Peace mode to open containers
  • Fixed a bug where player would return to an open container for closing
  • Fixed a bug with arbitrary delays for using / rotating towards items (0.5s/1.0s)
  • Fixed a bug where NPCs were running Actions before completing rotation towards player
  • Fixed various bugs with player switching to Peace mode to perform various actions, instead of using the current stance
  • Fixed a bug where level 8 spells had their minimum power set to 350 instead of 400
  • Fixed a bug where level 8 spell effects were too small
  • Fixed a bug where no death message was displayed for death blows from DamageType.Health (harm, drain, life projectiles)
  • Fixed a bug where item enchantments were having their ticks applied twice
  • Fixed a bug where mages would cast spells before rotating completely to target
  • Fixed a bug where players would windup / fizzle if they didn’t have enough mana
  • Fixed a bug where life projectiles were getting the target stats instead of the source stats
  • Fixed various bugs with generators spawning too many objects, RNG selecting the wrong items, and missing various RNG selection formulas
  • Fixed a bug where resisted spells weren’t alerting monsters

 

ACEmulator Monthly Report – September 1, 2018 – October 1, 2018

ACEmulator / ACE:
7 authors have pushed 49 commits to master
249 files have changed
10,861 additions
4,963 deletions
View Pulse
Changelog

Notable Changes:

  • Improved landblock multithreading
  • Added more robust logic for animation timing while switching combat stances, for both players and creatures
  • Added randomized stack size variances to mob projectiles, based on WieldedTreasure tables
  • Usage of DateTime/PhysicsTimer cleaned up across the board
  • Improved timing for all monster animation transitions (combat stance, missile launches, spellcasting)
  • Improved monster timing / server animation sync
  • Added randomized variance to monster melee attack delay (0.5-2s)
  • Major refactoring to game code that uses SpellBase and Spell
  • Added complete Void Magic system w/ all spells
  • Added both server and client formulas for determining spell levels
  • Added proper spellcasting wind-up animations based on spell formula scarabs
  • Improved the spellcasting wind-up animations to use the exact animation timings
  • Improved the damage over time system
  • Added Damage Rating and Damage Resistance Rating to all damage formulas (physical and magic combat)
  • Added Dirty Fighting, Sneak Attack, and Recklessness skills to combat
  • Added weapon speed modifiers
  • Added accuracy modifier for missile weapons
  • Added missile launcher Elemental damage modifier
  • Additional chat channels added (admin, advocate, sentinel, fellow, patron, vassals, allegiance)
  • Added proficiency points / character points, and skills increasing through usage
  • Added TreasureWielded randomized armor/clothing for monsters
  • Implemented skill redistribution functionality
  • Added the ability for players to buy houses
  • Added the ability to place and save items on floor/wall/ceiling hooks
  • Added housing storage chests
  • Added house portals
  • Added secure trade system for players

 

  • Fixed a bug where monsters selected combat maneuvers that didn’t exist in their motion table
  • Fixed a bug where monsters would sometimes walk instead of run, when re-chasing targets
  • Fixed a bug where CreateObject network messages would be re-sent when monsters swapped inventory items
  • Fixed a bug where monsters would start moving while they were still transitioning from sleep->wakeup
  • Fixed a bug where projectiles wouldn’t trigger environment collisions for some objects
  • Fixed a bug where player’s trade status was not evaluated properly when entering combat
  • Fixed a bug that allowed players to pick up containers on the landscape that were being viewed by other players
  • Fixed a bug where picking up an open pack caused it to remain locked and unusable
  • Fixed a bug with player options not persisting on login

ACEmulator Monthly Report – August 1, 2018 – September 1, 2018

ACEmulator / ACE:
9 authors have pushed 85 commits to master
278 files have changed
12,321 additions
8,617 deletions
5 Issues closed
View Pulse
Changelog

Notable Changes:

  • Added thrown weapons for players and monsters
  • Added atlatls for players and monsters
  • Added monster wielded weapons
  • Implemented monster inventory / weapon switching
  • Monster projectiles are now dodgeable
  • Added pre-MoA skill conversion to wielded item requirements
  • Added enchantments that directly modify vitals / secondary attributes
  • Added weapon offense bonuses
  • Fixed the appraisal fields for ammunition
  • Added DamageMod for missile launchers
  • Adding max broadcast range for some chat emotes (Act)
  • Adding proper object spawning / initial placement system
  • Adding monster combat maneuvers / special attacks
  • Added support for Volley spells
  • Added support for untargeted war spells
  • Added max spell range support for ring spells
  • Updated magic casting range checks to match retail servers / client
  • Added war spell projectiles: rings, walls, and blast spells
  • Improved system for players giving items to other players
  • Refactored PK checks for magic system
  • Added support for linking to portals
  • Added dual wield combat
  • Added weapon swapping between hands
  • Added player stamina usage on melee / missile attack
  • Refactored the death system
  • Improved player exhaustion system. Both players and monsters now receive attack and defense penalties when stamina = 0
  • Added attribute mod to monster damage. Some monsters now deal significantly more damage, so beware!
  • Updated shield effective angle to match retail
  • Updated Life Magic code to properly utilize the DamageHistory for tracking damage through harm/drain/heals
  • Refactored spell resistance to common method for all creatures (players / monsters)
  • Spell level now determined by Scarab instead of PowerLevel, as per retail servers and client
  • Added support for weapon bonuses: Melee Defense, Mana Conversion, Biting Strike, Crushing Blow, Resistance Cleaving, Elemental Damage modifier for casters, and Slayer bonuses

 

  • Threading improvement for WorldManager
  • ActionChain AddDelaySeconds cleanup
  • Added ShardDbContext caching system
  • Improved /buff Player command with auras, imp, and banes
  • Added /fellowbuff command
  • EnchantmentRegistry improvements
  • Added a system for finding the correct cell when spawning new items
  • Migrate Character tables over to new caching / threading model
  • Shard Biota & Threading Model Rework
  • Added database performance tests
  • Fixing PhysicsDesc bitflags – monsters are now recognized by vtank
  • Improved network resiliency, recovery from socket exceptions
  • Complete rewrite of player visibility / broadcast system
  • Refactored generators
  • Improved SQL writers w/ additional comments
  • Significantly improved GetBiota performance from the shard by using flags to indicate populated collections.
  • Also added Parallel.ForEach support for Shard GetPlayerBiotas.
  • Adding dungeon position adjustments system. This fixes dungeons where cells have been relocated since PY16 (ie. Burial Temple, North Glenden Prison, and Nuhmudira’s Dungeon)
  • Adding physics entity caching system. This provides massive improvements with reduced memory usage, especially over the course of a lifetime for long-running servers.
    Shard schema changed to remove foreign key link between Character and Biota.
  • This also significantly changes the relationship of Session/Player/Character objects.
  • Change from .NET Core 2.0 to .NET Core 2.1. This requires .NET Core 2.1 x64 SDK.
  • Major schema refactoring + changes for World and Shard.
  • New PY16 format required
  • Refactored PhysicsState
  • Added Damage History system to track damage and healing sources for corpse looting rights
  • Fixed a bug with monster transitions between some landblocks
  • Fixed a bug with Admin and Sentinel players in the PK targeting system
  • Fixed a bug where portaling could keep the player at original location
  • Fixed a bug with player not appearing as pink bubbles on login/portal
  • Fixed a bug with monsters running away from players
  • Fixed a bug with AmmoType not being enumerated as Flags
  • Fixed a bug with generators not respawning items
  • Fixed a bug with generators not spawning items in containers
  • Fixed a bug with generators spawning the wrong items
  • Fixed a bug where players/monsters were granted Melee Defense bonus for missile attacks
  • Fixed a bug where player death was removing enchantments on the client only
  • Fixed a bug where a player autoattack could occur after death
  • Fixed a bug where attributes could be debuffed below 10
  • Fixed a bug with casting spells on items wielded by other players and creatures
  • Fixed a bug with MaxVital calculation with vitae

ACEmulator Monthly Report – July 1, 2018 – August 1, 2018

ACEmulator / ACE:
7 authors have pushed 69 commits to master
278 files have changed
12,612 additions
4,134 deletions
3 Issues closed
View Pulse
Changelog

Notable Changes:

  • Updated physics system to calculate accurate water depth
  • Fixed various bugs in the physics and animation subsystems
  • Fixed a bug with players and monsters sliding along the edge of cliff
  • Added dungeon landblock detection system
  • Improved monster movement: turning, walking, and running speeds from the MotionTable / animation subsystem
  • Improved projectile physics. Projectiles should hit targets much more consistently now
  • Added instant updates to the monster health bars
  • Updated the monster aggro / tolerance system
  • Added TargetManager for server tracking of monster attack targets
  • Added UI Window/Saving
  • Refactoring and improvements to the magic system code
  • Added criticals and bonus damage to War magic, as per the ‘Atonement’ update
  • Added mana stone usage system
  • Fixed various bugs with monsters crossing between landblock and cell boundaries. Monsters should be able to chase the player through dungeons and indoor areas more consistently
  • Added monster movement debug commands
  • Fixed a bug with some dungeons having black screens on portal entry
  • Fixed Enchantment registry duration and redirection of Aura spells
  • Added spell layering to the Enchantment registry
  • Added QuestManager saving and loading to the database
  • Further integration of the EventManager into EmoteManager
  • Enchantments applied to armor affecting armor stats now display correctly
  • Wielded weapon debuffs are now taken into consideration
  • Added magic item persistence tracking
  • Added PortalSending and PortalSummon functionality
  • Allow for non-players casting gateways
  • Improved vital regeneration formulas / ticking
  • Improved healing formulas
  • Added player stance and enchantments to vital regeneration (regeneration/rejuvenation/mana renewal)
  • Added basic stamina usage on evasion / jumping
  • Improved vital regeneration, stamina usage

ACEmulator Monthly Report – June 1, 2018 – July 1, 2018

ACEmulator / ACE:
7 authors have pushed 23 commits to master
156 files changed
7,493 additions
1,658 deletions
1 Issue closed
View Pulse

Notable Changes:

  • Monster movement transitioning to full physics-based movement system
  • Physics system integrated with projectiles
  • Fixed a bug with scenery collisions in some landblocks
  • Added landblock unloading system
  • Improved networking code for multiplayer servers
  • Added player and NPC-activated switches and pressure plates
  • Allegiance system has been added
  • Fellowship system improvements
  • Updated gems to use the latest spellcasting system
  • Added shield combat
  • Fixed a bug giving wielded objects to NPCs
  • Updated friends list for Entity Framework
  • Fixed Undead player characters equipping armor/clothing
  • Fixed specialized skill calculations
  • Updated appraisal system for all objects
  • Added player corpse system
    – Players now drop the appropriate items
  • Added looting permissions for player and monster corpse
  • Added robust configuration system, server settings stored in database
    – Added property for XP/Luminance multiplier
    – Added vitae penalty settings to database configuration
    – Welcome message/MOTD is now configurable from the database.

ACEmulator Monthly Report – May 1, 2018 – June 1, 2018

ACEmulator / ACE:
8 authors have pushed 30 commits to master
131 files changed
6,785 additions
2,227 deletions
3 Issues closed
View Pulse

Notable Changes:

  • Monster AI:
    • Added monster movement. Creatures have awakened and become aware of nearby players, and run towards their attack targets
    • Added monster melee combat. Creatures will now perform their various melee attacks against characters, with appropriate damage calculated
    • Added monster spell casting. Monsters can now utilize their entire arsenal of spells from their spellbook, with appropriate probabilities
    • Added monster ranged combat. Monsters will now perform ranged attacks if they have a bow or crossbow equipped
  • War magic updates: adjustments to bolt, streak, and arc projectiles to closer match the live servers
  • Item enchantment improvements: equipped items cast the appropriate spells on the player
  • Added mana conversion: mana usage is calculated according to caster’s Mana Conversion skill
  • Added magic defense checks for casting harmful spells
  • Fixed routing for in-game messages given by magic and portal spells.
  • Added emotes to Emote Manager:
    • NPCs now accept items according to their emote lists, and will award players with the appropriate quest items in return
    • Implemented On-Use Emotes for NPCs. When interacting with a Quest NPC, they will now respond with actions.
  • Added salvaging!
  • Added lockpicking for locked doors and chests. Debug commands added to automatically unlock items and bypass skill check
  • Added hotspots. Wells and pools revitalize the players, with damaging acid pools
  • Added spell traps
  • Internal database structure improvements
  • SurfaceTexture parser added to DatLoaderAdded
  • Added @addallspells command for dev testing – quickly add every spell in the game to your spellbook

ACEmulator / ACE-World-16PY:
1 author has pushed 3 commits to master
2,934 files have changed
30,839 additions
6,535 deletions
View Pulse

Notable Changes:

  • Added monster-wielded weapons and death treasures

ACEmulator / aclogview:
2 authors have pushed 3 commits to master
10 files have changed
683 additions
597 deletions
View Pulse

Notable Changes:

  • Cleaned up some memory leaks

ACEmulator Monthly Report – April 1, 2018 – May 1, 2018

ACEmulator / ACE:
6 authors have pushed 112 commits to master.
230 files have changed.
32,113 additions and 2,579 deletions.
1 Issues closed.
View Pulse

Notable Changes

  • Physics engine tested and completed. Future changes to Physics will now be based on getting it to work correctly with all the objects in the world and their interactions, as well as refinements and improvements over time to make the engine work faster and smarter.
  • Basic melee and bow/xbow combat added.
  • Damage scaling: armor, resistance, per-body part
  • Skill checks: weapon attacks, defense, healing, magic skill
  • Initial work with Healkits added in.
  • EmoteManager system added for world events. Add emotes to objects, initial implementation includes idle animations and local cast.
  • Vitae added, but players can’t die yet.
  • First pass at tiered, mutated and randomized loot added.
  • Crafting framework added and basic crafting operations now supported.
  • Monster pain / death sounds, splatter effects
  • 1-9 shortcut keys added
  • Spellcasting improvements:
    • Added enchantment registry for tracking all spells
    • Item enchantments: blood drinker, swift killer, heart seeker, defender, impenetrability, banes
    • Life magic buffs/debuffs: armor, resistances, vulns
    • Creature enchantment buffs/debuffs
    • War magic spells: bolts, streaks, arcs

ON DECK/IN DEVELOPMENT:

  • AI for Creatures!

ACEmulator / ACE-World-16PY:
1 author has pushed commits to master.
76,026 files have changed.
1,390,921 additions and 1,008,962 deletions.
6 Releases published.
View Pulse

Notable Changes:

  • Latest release of world database: 16PY v0.0.13 – 3 days ago.
  • Spells added to database. This gives us information on what the spells do.
  • Quests added to database. This gives us the flag information for quest timers and repeat limits.
  • Events added to the database. This allows for quests on a global scale to function correctly such as Aerlinthe and the Queen quests. It also enables timed and configurable events like Fireworks at the statues or turning on the Thistledown monument.
  • Housing Portal destinations added to database. These are the portals for Villas and Mansions.
  • Encounter generators (Random monsters not in dungeons) added to the database. 35,000 landblocks gained at least one generator of random encounters!
  • Crafting added to database. This adds the ability for over 20k different interactions between objects, such as making atlan weapons, or focus stones, fletching, cooking and much more!

ACEmulator / aclogview:
No changes to the project occurred during this monthly report cycle.
View Pulse

ACEmulator Monthly Report – March 1, 2018 – April 1, 2018

ACEmulator / ACE:
6 authors have pushed 330 commits to master.
570 files changed.
36,980 additions and 23,772 deletions.
6 Issues closed.
View Pulse
View complete changelog

Notable Changes:

  • Entity Framework Core 2.0 implemented. ACEmulator is now faster, stronger, better than ever!
  • The physics implementation is well under way, portal collisions are now working and all world objects have had their physics properties enabled to begin coding and debugging physics interactions between world objects.
  • All weenies containing a CreateList have had their lists populated to begin implementing and testing trophy loot and vendor interactions.
  •  Mob corpses are now generated upon creature death (currently /smite only) and contain trophy loot.
  • Dungeon spawns sent properly so you can explore your favorite dungeon to see all of the spawns inside correctly and for eventual combat and proper interaction.
  • Fixes for generators so more things show up in the world.
  • Started work on Spellcasting/Magic framework with PoC coding.

ACEmulator / ACE-World-16PY:
1 author has pushed 5 commits to master.
33,092 files have changed.
831,130 additions and 743,589 deletions.
3 Releases published.
View Pulse
View complete changelog

Notable Changes:

  • Latest release of world database: 16PY v0.0.7 – 8 days ago.
  • Weenies now 100% exported from GDL Cache.
  • Converted database to Entity Framework Core 2.0 based schema.

ACEmulator / aclogview:
1 author has pushed 2 commits to ACE branch.
27 files have changed.
1,124 additions and 337 deletions.
2 Releases published.
View Pulse
View complete changelog

Notable Changes:

  • Latest release of ACLogView: aclogview – ACE.1.0.18 – 13 days ago.
  • Significant improvements of viewing property update messages.