ACEmulator Monthly Report ā€“ September 1, 2019 – January 1, 2020

ACEmulator / ACE:
12 authors have pushed 298 commits to master
View Pulse
Changelog

Notable Changes:

  • Merged fastcast branch into master: Advanced player movement and spellcasting techniques are now available
  • Added Network improvements
  • Added logging to HousePortal nulls
  • Added magic absorption for missile/magic weapons
  • Added some missing shield cantrips
  • Added support for Overpower and OverpowerResist
  • Added Additional checks for CombatMode
  • Added support for neutral casters and missile launchers to be tailored onto weapons with DamageType
  • Added support for PropertyBool.AffectsAis
  • Added support for PropertyBool.AiImmobile
  • Added support for PropertyBool.OpensAnyLock
  • Added support for PropertyBool.PortalIgnoresPkAttackTimer
  • Added support for monsters with PropertyBool.NonProjectileMagicImmune
  • Added support for SpellSets for Items that don’t level
  • Added support for luminance award on kills
  • Added support for luminance sharing in fellowships
  • Added luminance award message for quest turn-ins
  • Added server option for Aetheria healing over time message color
  • Added support for monster casting untargeted spells (ie. ring spells)
  • Added item give sound local boadcasting to match retail
  • Added item_dispel server config option to fix end of retail bug
  • Added support for Dark Idol recipe DataId mods
  • Added support for purging of deleted characters from database
  • Added support to limit the number of accepted connections per IP Address
  • Added DestinationType.Wield to corpse object selection
  • Added different pickup animations based on source/target height
  • Added /damagehistory developer command
  • Added protection and logging for house basements w/ missing location data
  • Added server option for create_list DestinationType.Wield items dropping to corpse
  • Added T6 rares for two-handed weapons
  • Added defense imbues to effective defense calculations
  • Added valid skills hashset, check valid skills upon entering god mode
  • Added support for WeaponMissileDefense and WeaponMagicDefense
  • Added debug logging for failed player transitions
  • Added some missing calls to allegiance house boot
  • Added preliminary version of pickup busy state handling
  • Added developer commands to test the loot generator
  • Added /resist-info developer command
  • Added player /config command
  • Added /addenc command for content creators to add encounters
  • Added support for RelativeDestination on portals
  • Added support for emote branching with events
  • Added support for Creature.QuestManager
  • Added server option for adjusting quest timers
  • Added support for ‘confirm use of rare gems’ player option
  • Added server option to include viewer name in ‘container already opened’ message
  • Added post-windup range check to spellcasting
  • Added support for ‘FirstEnterWorldDone’ on players
  • Added RecipeManager verifications for source and target usability flags
  • Added lifestone_broadcast_death server option, clamping to local broadcast range
  • Added PetClass commenting to SQLWriter
  • Added missing function for physics @ plateau
  • Added support for creeping mobs
  • Added verify console commands for admins
  • Added LootFactory simulator
  • Added support for ‘no drop on death’ landblocks
  • Added ShardDatabaseWithoutCaching
  • Added support for dual-wielding mobs
  • Added support for EmoteManager.CastSpell untargeted spell projectiles
  • Added more EoR spells to Player_AllowedSpellIDs
  • Added PurgeOrphanedBiotas
  • Added verifications for RecipeManager
  • Added CurrentLandblock checks to Slumlord
  • Added checks for /verify-skill
  • Added IsDead checks for magic casting
  • Added verifications for DamageHistory.CheckInternal()
  • Added fix-biota-emote-delay server console command
  • Added PlayerFactory improvements
  • Added PlayerManager GetOnlineCount() and GetOfflineCount()
  • Added checks for IsDead
  • Added ResistanceMod check to never go below 0
  • Added rotation checks for EmoteType.Move
  • Added verifications for ‘item in trade window’
  • Added transferCap to both srcVital and destVital for life transfer spells
  • Added pcap properties
  • Added ManaConversionMod tweaks
  • Added Minor math optimization for CRC verification
  • Added support for standard and non-standard usage of %tqt and custom %CDtime
  • Improved handling for monster spell.IsResistable
  • Improved handling for attack sequences
  • Improved monster position sync and corpse sync
  • Improved /teledungeon name search
  • Improved multithreaded landblock group ticking (non-physics)
  • Improved accuracy for XP divvy
  • Improved test loot generator commands
  • Improved AI for missile combat mobs
  • Improved RunRate handling for players
  • Improved PK/PKLite top damager detection
  • Improved handling for overages for house payments
  • Improved speed for /import-json all content dev command
  • Improved NaN handling for projectiles
  • Improved monster combat maneuvers table
  • Improved corpse positioning for creeping mobs
  • Improved handling of json weenie metadata
  • Improved usage of body part quadrants for physical attacks
  • Improved /targetloc
  • Improved handling of house permissions
  • Improved magic defense and missile defense bonuses in loot generator
  • Improved spell projectiles
  • Improved raise attribute/vita/skill
  • Improved scope for generator wipe conditions
  • Updated EmoteType.AwardLuminance to use HeroXP64
  • Updated ApproachVendor to track last spent alt-currency better
  • Updated monster spellbook probabilities
  • Updated Killed by misadventure conditions
  • Updated Logging messages
  • Updated test loot generator
  • Updated setups for creature dressup
  • Updated ACE.Adapter to support spawn maps
  • Updated house storage chests to remain open while being viewed (no auto-close timer)
  • Updated EmoteType.DeleteSelf
  • Updated GameEventInscriptionResponse
  • Updated DamageMod enchantments from multiplicative to additive (ie., Eye of the Hunter)
  • Updated spell projectiles to use more spell / weenie data
  • Updated AugmentationDevice to use WeenieErrorWithString
  • Updated House.OnProperty() HasDungeon boot condition
  • Updated /generatordump information
  • Updated Pets and PetDevices for Summoning
  • Updated Enlightenment vitality formula for max health
  • Updated loot generator for missile and casting weapons to better match retail
  • Updated EmoteManager AddDelaySeconds() only when > 0
  • Updated drop rates in loot generator for better alignment to retail
  • Updated Obsidian Chittick spines to do DamageType.Undef as per PY16 data
  • Updated Move emotes to use default WalkRunThreshold
  • Updated DoT ticks to match with retail heartbeats
  • Updated target resistance check to use ItemSpellCraft when casting spells built into wands
  • Updated Clutch of the Miser augmentation to not apply to PvP deaths
  • Updated Lifespan to use RealTime instead of GameTime
  • Updated NetherDotDamageRating to only apply to direct damage
  • Updated Tailoring to not copy UIEffects to the destination item
  • Fixed bug with pickup/merge into a full container
  • Fixed some gaps with nested emote chains and EmoteManager.IsBusy
  • Fixed a bug with material probability
  • Fixed buy issue with AltCurrency Vendors
  • Fixed monster idle emote update sync
  • Fixed some gaps with PK logout timer
  • Fixed a bug where atlatl/thrown weaps were using power instead of accuracy bar
  • Fixed issue with EmoteType.Give handling stackable/nonstackable items
  • Fixed a bug with player missile defense
  • Fixed issue with opening empty hooks
  • Fixed issue with AlternateSetup for certain non-human models
  • Fixed issue with Umbraen Males and Female crown options
  • Fixed Hook Visibility Control in Basements
  • Fixed issue on Hook Appraisal
  • Fixed some gaps for DST
  • Fixed items that proc to cast untargeted spells
  • Fixed CharacterOption enum to match PlayerOption ordering in acclient
  • Fixed a bug where Critical Strike bonus wasn’t applying to life projectiles
  • Fixed EmoteType.AwardLevelProportionalXP when Max64==0
  • Fixed an issue with Sphere.FindPlacementPos
  • Fixed generator respawn retries
  • Fixed boost variance for life transfer spells
  • Fixed mobs casting flame wave
  • Fixed monster special attack fx
  • Fixed caster damage modifier to use appropriate PvP modifier
  • Fixed a bug that occurs when client sends only a cleartext CRC NAK
  • Fixed armor tailoring intermediate kit TargetType
  • Fixed scatter generators for Neftet plateaus
  • Fixed an issue with loot generator creating melee weapons with overcapped damage
  • Fixed client hourglass for applying encapsulated essence while in busy state
  • Fixed some minor issues with AwardSkillXP emotes
  • Fixed a possible system-dependent state crash in EnvCell constructor
  • Fixed ThreadSafeTeleportOnDeath -> SetLifestoneProtection
  • Fixed stance swap state thrashing
  • Fixed 2 tailoring bugs
  • Fixed death items for players < level 35 Fixed monster resleep -> wakeup cycle for combat mode
  • Fixed /buff for life spells
  • Fixed a double message bug for archers
  • Fixed a NullReferenceException with CurrentMovementData.Invalid
  • Fixed a DamageHistory static bug
  • Fixed a NullReferenceException in EnchantmentManagerWithCaching
  • Fixed a possible lockup in physical combat when repeat attacks is disabled
  • Fixed spell IDs for CreateRandomScroll
  • Fixed issues with nulls in EmoteManager.Replace
  • Fixed issues with shield tailoring
  • Fixed issues with CharacterExporter
  • Fixed no-delay emotes to execute immediately
  • Fixed issue with broadcasting incorrect RunRate for overburdened players
  • Removed PKTimer for Bael’Zharon battles
  • Removed non-retail vital regen cantrips
  • Removed some incorrect log / chat messages for SpellComponentsRequired
  • Removed Player.Rotate during looting that wasn’t in retail
  • Removed a bugged rare crystal
  • Removed unused pattern from CryptoSystem for slightly better performance
  • Cleanup ActOnUse for Ammo and move to debug only alert
  • Ensure that Impen spell is present on magical Covenant Armor
  • Backported hotspot accuracy from PR 1991
  • Refactored GetProjectileSpellType
  • Updated /ungod resiliency
  • Adjusted the way SpendCurrency spends currency
  • Re-order operations in GiveObjectToNPC
  • Adjust Split StackSize Checks
  • Sync HouseHooksVisible to root house object
  • Generate Random Faces for CreatureType.Empyrean NPCs
  • Validate int data for GenerateNewFace
  • Rebased SQL scripts, archived previous batch for legacy servers
  • Turned on Guid Recycling
  • Notify Generator of spawn failure for regen retry
  • Ensure level 8 item self spells take precedence over level 8 item other spells
  • Switch ThreadSafeRandom from lock to ThreadLocal
  • Pre-validating EnvCell transitions
  • Setting default CultureInfo to en_US
  • Moved UpdatePlayerPhysics to Player_Tick.cs
  • PlayScript cleanup
  • ThreadSafeRandom cleanup
  • Misc Housing Cleanup
  • Ensuring HealingOverTime does not tick up health for dead creatures
  • Moved ThreadSafeTeleport to WorldManager
  • Handle special case for PKType deaths + Enduring Enchantment + DoTs
  • WorldObject_Weapon / imbue refactoring
  • Minimized DamageHistory.WeakReferences
  • Send updates to Monarch ID over network

4 thoughts on “ACEmulator Monthly Report ā€“ September 1, 2019 – January 1, 2020”

    1. This is such an incredible effort and I sincerely appreciate all of your time!! This emu is amazing and Iā€™m thoroughly enjoying it!!

  1. Thank you! I just rejoined last night. The environment and community are amazing! Well done!

  2. I’m a returning player from 10 years ago. I just recently got the game back up and running. So many great memories, I can’t appreciate whomever put the work in to keep the AC community alive. I am definitely addicted again!

    Lovebattery – Former Solclaim Bow Hunter

Leave a Reply to LoveBattery Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.