ACEmulator Report: January 2020 – June 2020

ACEmulator / ACE:
11 authors have pushed 503 commits to master
462 files have changed
31,538 additions
11,409 deletions
View Pulse
Changelog

It has been some time since we’ve posted an update. We hope everyone is staying safe and healthy.

Notable Changes:

Updated to .NET Core 3.1
Releases now available!
Docker now available!
Added support for ARM64 (RPI4 4gb+ Ubuntu x64)

The ACE Wiki has been updated to include hosting instructions for windows, linux, and raspberry pi.

Gameplay

  • Fixed issue with character creation skill bonuses
  • Fixed bandits dual wielding bow + melee
  • Fixed issue with SellPrice usage for AlternateCurrency
  • Fixed AlternateCurrency minimum cost
  • Fixed Black Thistle
  • Fixed Antius Blackmoor statue
  • Fixed copper / silver salvage
  • Fixed salvage fail msg
  • Fixed bug with marketplace recall
  • Fixed corpses spawning frozen in mid-air
  • Fixed issue with Quest stamp on pickup
  • Fixed display bug for enchantment messages
  • Fixed burning coals
  • Fixed summon into wall issue
  • Fixed no scrolls dropping when world precaching is enabled
  • Fixed chest reset interval
  • Fixed defense and attack bonuses for dual wielding
  • Fixed some rare cases of invisible player bug
  • Fixed pk logout bug
  • Fixed underclothes getting AL
  • Fixed monsters failing to navigate home
  • Fixed launching projectiles at point-blank range through doors
  • Fixed negative item magic spell resistance check
  • Fixed a bug where fellowship leader drops under abnormal circumstances
  • Fixed spell bar position save issue
  • Fixed casting spells on self-wielded target
  • Fixed missile bug + matron bug
  • Fixed wave spam
  • Fixed writability issue with opening “blank/empty” books
  • Fixed mega shields (scaling issue)
  • Fixed missing feedback when launching projectiles point-blank into environment
  • Fixed lack of Shield AL assignment
  • Fixed CS icon underlay color on initial application
  • Fixed players sometimes invisible after teleport
  • Fixed Defender spell
  • Updated fellowship vital updates to send to clients w/ fellowship window open
  • Updated Epic Slashing Ward
  • Updated healing
  • Updated healing movement fail range
  • Updated resistance checks for hotspots and falling damage
  • Updated Corpse permission conditions
  • Updated no stamina use chance
  • Updated melee/missile repeat cycle to sync more precisely to retail
  • Updated Melee D Bonus for no wield wands from 5% to 10%
  • Updated Lifestone usage to drain half of player’s current stamina
  • Updated crafting messages
  • Updated resist aug handling
  • Updated casting negative item spells on items wielded by target
  • Updated melee weapon tailoring to match the latest GDLE logic
  • Added support for fastbuffing
  • Added support to queue next pickup while previous pickup is in retraction state, as per retail
  • Added jump looting per retail
  • Added check to ensure npks can take falling damage when portal destination is aerial
  • Added check to prevent actions while suicide is in progress
  • Added check to prevent player-initiated dispels while pk timers active
  • Added rare timestamping and counters
  • Added Real-Time Rare chance modifier
  • Added ping to clients at character select (mitigates Thwarglauncher closing the client)
  • Added support for ‘lead missile targets’ character option
  • Added preliminary support for fast missiles
  • Added retail message for Enduring Enchantment
  • Added support for more fellowship spell types
  • Added support for fellowship spells from non-player sources
  • Added support for ‘crafting chance of success dialog’ player option to regular recipes
  • Added support for passive pets
  • Added trinkets
  • Added DefenseStanceMod
  • Added support for taboo table during character creation
  • Added missing swirlies to recall spells
  • Added caster effects to portal tie and lifestone tie
  • Added missing T4 Rares
  • Added dot resistance on appraisal panel
  • Added power bar reset on charge failed
  • Added sticky distance check for melee repeat attacks
  • Added support for cloak proc spells
  • Added equipment ratings for DR / DRR / CD / CDR
  • Added built-in damage bonus for some quest bows
  • Added additional fellowship xp sharing logic from Mirror, Mirror
  • Added AimLow/AimHigh animations for missile launchers
  • Added support for IgnoreShield
  • Added support for armor cleaving
  • Added busy checks to melee / missile
  • Added check to ensure melee target is alive before MoveTo
  • Improved instant vital updates for targeted creature
  • Improved swapping weapons while bow is reloading
  • Improved combat stance swapping
  • Improved loot gen
  • Improved monster sticky melee
  • Improved consistency for NPK falling damage
  • Disabled creating characters with names of creatures in world
  • Removed line of sight check for mob archers
  • Updated crit ratings to work on combat pets
  • Synced skill raise message up to retail
  • Ensured life projectiles take natural resistances into account
  • Ensured pk timer logout stops movement completely
  • Enforce quest timers for Portal.QuestRestriction

Spellcast/Movement

  • Fixed cast tick gap
  • Fixed minor sync issue in TurnToHeading
  • Fixed small movement gap
  • Fixed some spellcast angle issues
  • Fixed a gap in pk casting
  • Fixed global velocity for jump broadcast
  • Fixed combat stance and death gaps during pre-windup turn
  • Fixed some combat state thrashing for food and healing kits
  • Fixed attacking while airborne during pk battles
  • Fixed untargeted spell projectiles hitting scrum drudge
  • Fixed dormant spell projectiles
  • Fixed spell projectile in dormant landblock bug
  • Fixed spell projectiles sometimes jumping above target’s head on collision
  • Fixed target velocity for non-tracking spells
  • Fixed some player movement issues during pk spellcasting
  • Updated casting start pos to match retail
  • Updated LoS tests for recent changes to ProjectileTarget
  • Updated physics rotation on EmoteManager.Turn
  • Updated spell rotation
  • Updated multi-projectile spells to be closer to retail / match client descriptions
  • Updated ring projectile spawn position to match retail
  • Added ‘spellcast_recoil_queue’ server option
  • Improved peturbation formula
  • Improved responsiveness of first turn after cast gesture
  • Improved accuracy of ‘your movement has disrupted spellcasting / healing!’ distance check
  • Improved target tracking for spell projectiles
  • Improved collision detection for projectiles on players
  • Improved spell projectile target height
  • Improved spellcast_max_angle logic
  • Improved pk logout stop movement
  • Improved TurnTo during magic casting to allow for player manual control

Content

  • Fixed gap in admin vision
  • Fixed landblock instances content folder
  • Fixed /import-sql filename munging
  • Updated AwardSkillXP to optionally notify player as appropriate
  • Added support for minimums in AwardLevelProportional*XP
  • Added landblock instances to /clearcache content developer command
  • Added quest support to import-json and import-sql
  • Added landblock instance support to import-sql and import-json
  • Added support for recipes to DeveloperContentCommands
  • Added reguid support for json landblock conversion w/ relative guids
  • Added support for landblock / recipe / quest to export-sql and export-json
  • Added support for KillQuest processing
  • Added /reload-landblock command
  • Added /getinfo command to get basic weenie info
  • Added minor QoL improvements for content dev
  • Improved /createinst command for content dev
  • Improved json landblock export
  • Wired up adapter support for wieldedTreasure.json, region.json and encounters.json

Admin

  • Updated console commands to start with “/” or “@”. Would previously respond with “Invalid Command” if the command started with a “/” or “@”.
  • Updated boot command
  • Added global chat toggling
  • Added /dungeonname command
  • Added /verify-armor-levels command
  • Added /debugdamage support for all creatures
  • Added /debugdamage for SpellProjectile
  • Added /fellow-dist command
  • Added cylinder distance to /dist command
  • Added /removeitemspell command
  • Added ability to exclude specific IPs from max session count
  • Added support for account bans
  • Added server option for real time rares
  • Added server option ‘craft_exact_msg’
  • Added server option to scale hollow damage in pvp battles
  • Added server option for /pkl entry collision check, enabling door skipping glitch from retail
  • Added server option for players to ‘long hold’ doors open for other players, as per retail
  • Added support for PetDevice to /lootgen
  • Added support for magic resist to /debugdamage
  • Disabled account auto promotion when admin account is created via console

Technical

  • Fixed monster stop-and-go bug after sticky
  • Fixed issue with createinst in creating child objects
  • Fixed minor off-by-1 numbers
  • Fixed ethereal issue with DefaultOpen doors
  • Fixed god/ungod failing on SkillAdvancementClass
  • Fixed bug allowing a corrupt or malformed packet to crash the server when the fragment parser tries to read past the end of the data
  • Fixed sidestep clamp
  • Fixed ACE.Server.Network binaryReader.Align() function
  • Fixed read issue with GetContentFolder
  • Fixed issue with Recipe conversions
  • Fixed gap in UpdateQuest emote
  • Fixed EnchantmentManager Heartbeats
  • Fixed ‘require_spell_comps’ for freshly loaded acclient
  • Fixed possible gap for point-blank life projectile damage
  • Fixed pressure plate generators w/ RegenInterval 0
  • Fixed broadcast move to home
  • Fixed monsters sliding around if they have already started a MoveTo before CreateObject is sent
  • Fixed casting self spells while /attackable off
  • Fixed acclient skipping over ethereal animation hooks for known doors that are opened > 96 distance
  • Fixed sound on Switch weenie class
  • Fixed AuditItemSpells for spell sets
  • Fixed AllegianceManager/HouseManager mulit-thread corruption from database callback
  • Fixed jump skill in god mode
  • Fixed cliff slide, contact plane, and landblock transition bugs
  • Fixed missed line for multi-projectile spell targets
  • Fixed issue with VerifyUse
  • Fixed some combat pet maneuvers
  • Fixed colors for PFID_CUSTOM_LSCAPE_R8G8B8 type textures
  • Updated AnimationPartChange DatLoader accessibility for ACViewer clothing
  • Updated CheckUseRequirements for Portals
  • Updated Surge of Affliction + ‘show_dot_messages’ for something more appropriate
  • Updated legacy function for player melee skill
  • Updated coded recipes for trinkets
  • Updated hotspot cycle variance to use standard formula
  • Updated house query
  • Updated verify-armor-levels
  • Updated Corpse messaging
  • Updated LocalSignal emitting
  • Updated MonsterAwareness
  • Updated generators
  • Updated homesick
  • Updated GenerateNewFace
  • Updated CreateDestroyItems to gracefully fail if it can’t find Success/Fail item in DB
  • Updated default values for range and increment/decrement in EmoteManager
  • Updated SpendLuminance to use HeroXP64
  • Updated stance if /pkl is entered from combat mode
  • Updated OnActivate for deep-linked object activation propagation
  • Updated offline purge to clean up invalid allegiance data
  • Updated fix-allegiances command
  • Updated Doors to allow control via Open/Close Me emotes
  • Updated broadcasting of icon underlay changes for all recipe mods
  • Updated Fellowship messaging + better FellowPortalSending handling
  • Added z-bump to scatter gen
  • Added new adapter classes and models
  • Added support for IgnoreMagicResist / Armor on creatures directly
  • Added ‘Quest list is empty’ response to myquests
  • Added Variance to Burden
  • Added MutateBurden curve tables
  • Added MutateFilter, armor burden mod
  • Added sphere radius check when determining distance for mob aggro
  • Added support for more sealed bags of salvage to RecipeManager_New
  • Added handling to prevent server crashes
  • Added support for lockpick mod, fixing lockpick sound broadcast
  • Added support for mansion_min_rank 0
  • Added support for abdomen armor to Monster_Inventory
  • Added support for AiUseMagicDelay, synced up to retail
  • Added support for PowerupTime for monster melee attacks
  • Added support for caster weapons to Monster_Inventory
  • Added function to automatically fix any ‘invisible’ equipped items
  • Added null check to GetScrollWeenie
  • Added non-default server option to broadcast spell projectiles as ethereal to clients
  • Added find_cell_list debugging
  • Added player.IsDead check to Gem use
  • Added WoundedTaunt emoting
  • Added upper cap to max spell range
  • Added additional case for runrate_add_hooks
  • Added ACE.Database.WorldDatabaseWithEntityCache class
  • Added % loot counters that were missing. Changed Counters to Floats
  • Added InqCollisionProfile null check
  • Added preliminary support for PropertyInt.Unique
  • Added handling for multiple attack sequences sent by acclient
  • Added support to clean up house guest lists for deleted players
  • Added more TestNoQuality support in EmoteManager
  • Added multiplier to LumAugItemManaUsage to match client values
  • Added support for SpellFlags.NotIndoor / SpellFlags.NotOutdoor
  • Added time limit to Portal Space
  • Added Support for SpellFlags.IgnoresManaConversion
  • Added/Adjusted some emote handling
  • Added support for inferred %tqm and %tqc in EmoteManager
  • Added NumProjectiles verification
  • Added support for application startup from outside the directory
  • Added HasDungeon criteria to landblock (check if landblock is a dungeon with no traversable overworld)
  • Added more verbose retransmit logging
  • Added database logging
  • Added LootFactory Jewelry Simulator
  • Improved AuditItemSpells
  • Improved logging for scatter threshold z
  • Improved house root guid
  • Improved ShardDatabaseWithCaching Locking
  • Improved ring projectiles spawns for spells with even # of projectiles
  • Improved efficiency for large allegiances
  • Improved startup time and memory consumption
  • Improved the TakeItems message
  • Improved ‘Rolling Ball of Death’ handling
  • Improved Build/Version tracking
  • Improved AppVeyor build pipeline
  • Refactored food
  • Refactored Jewelry
  • Refactored Missile LootFactory
  • Refactored Melee LootFactory
  • Refactored appraisals
  • Switched ACE.Server over to the new ACE.Entity.Models.Weenie model
  • Tied monster aggro distance to VisualAwarenessRange
  • Set AppraisalLongDescDecoration on missile weapons
  • Separated CreateItem from MutateItem in loot generator, wiring up full support for /lootgen
  • Destroy projectiles on collision
  • Do not send Structure in Appraisal reply for TinkeringMaterial CraftTools
  • Disallow [re]entry into world if shutdown is in progress
  • Bumped up Healing_MaxMove for pks a small amount, based on player feedback
  • IsJumping consistency across pks and npks
  • Server broadcast motions back to self client
  • Cleaned up Server.Entity.Spell
  • Verify TimeSync
  • Exposed content folder in containers
  • Converted ShardDatabase/WorldObjects biota from the ACE.Database model to the new ACE.Entity model
  • Prevent create/ci from using specialized weenie types
  • Prevent ninja looting chests
  • Prevent vendor service spam / cast animation desync
  • Prevent monster initial snap forward when they start moving
  • Synced thrown weapons re-appearance time for monsters up to retail
  • Synced movement params (stop completely, distance to object) up between client and server slightly better w/ defaults
  • Synced bouncy housing barriers with server physics
  • Synced critical frequency for existing ice tachis
  • Synced up rotation on MoveToState
  • Synced get_ending_frame with acclient
  • Synced Player_Death network broadcasts up to retail
  • Synced up emotes for scream and newenemy
  • Ensured floating point values are retained for IgnoreMagicArmorScaled RL
  • Ensured pktypes are calling the correct MoveTo function
  • Ensured same PKType for healing other targets, and beneficial spells
  • Ensured gems used directly by player are not resisted
  • Ensured spell projectiles remain inactive if collided on world entry
  • Ensured sync between ace and physics motion state for magic casting
  • Suppress TakeItems output when player has 0 items
  • Use DefaultOpen / DefaultLocked properties from DB for Doors
  • Enforced CheckUseRequirements on portal ties and summons
  • Enabled post-windup turn for pve
  • Normalized some attuned / bonded logic
  • Broadcast windup motions as actions, as per retail
  • Normalized defaults for InqQuestSolves to match other emotes
  • Matched TakeItems stackSize default value up to other emotes
  • Added DDD_InterrogationResponse to check clients connecting for up-to-date dat files and display a warning upon login
  • Added ‘show_dat_warning’ command to display warning to clients upon login.

Wired up automatic database updates

  • Support automatic database patching
  • Support automatic updating of world database to latest release
  • Support automatic re-application of world database customization

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