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

Leave a 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.