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

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

ACEmulator / ACE:
7 authors have pushed 118 commits to master
143 files have changed
11,779 additions
1,826 deletions
View Pulse
Changelog

Notable Changes:

  • Added content export commands (/export-json, /export-sql) for content developers
  • Added /createinst for content creators to spawn landblock_instances in-game
  • Added several updates from LSD
  • Added OverRobes to clothing drops
  • Added Facility Hub Gem to early exit NPCs
  • Added the ability to create stacks and multiple objects with /create
  • Added trophy drop rate config option
  • Added SpellComponentsRequired config option for
  • Added pk_new_character_grace_period, pk_respite_timer, and pk_server_safe_training_academy config options
  • Added new server configurable property account_login_boots_in_use. If enabled and you log in to the same account twice it will boot the original client and log in on the new client. If disabled you will receive a fail to login message on the new client. Enabled by default retail rule.
  • Added some config.js.example comments
  • Added more detailed landblock tick performance measurements
  • Added OS and vCPU to /serverstatus
  • Added support for Day/Night GeneratorTimeType generators
  • Added support for Pathwarden Salvage for newer items
  • Added warning / lockup prevention for RegenInterval < 0
  • Added some debug messages to GuidManager
  • Added Destroy() for items given to NPCs that are of AiAcceptEverything type
  • Added DamageType.Undef protection / logging
  • Added command to create named object, with specified count
  • Added some random null checks
  • Added SyncLocation() for enter_world() – This fixes a bug where scatter generators were sending the wrong position to the client
  • Added handlers for weapons w/ malformed offhand AttackType data
  • Added log4net.config.example
  • Added log4net.async and support for console colors
  • Added tinkering log
  • Added RestrictionDB to house combat barriers
  • Added versioning and ArmorTypes to Olthoi Armor
  • Added immediate save to items being picked up from player corpses to avoid falling into void if server crashes before next player save
  • Added house barrier protections for PK/PKLite
  • Added handlers for hand/foot armor without damage stats
  • Added IsDead check to falling damage
  • Added support for spell projectile traps
  • Added Risen Princess weenies
  • Added UseCreateItem + UseCreateQuantity support to Gems
  • Added EmoteType.RemoveVitaePenalty
  • Added failed physics transitions to the warning log
  • Added Sedgemail Leather Armor weenies, using PCAP and ac.yotesfan.com data
  • Added Haebrean armor pieces that are set to base AL of Platemail, being of similar material composition
  • Added PortalSummonLoc to Bur Lizk
  • Added elemental hatchets for summoned Undead minions
  • Added support for HomeRadius
  • Added Casting motion back to Vendors that have VendorServices
  • Added IsBusy state while dying
  • Added support for AdminEnvirons
  • Wired up support commands setlbenviron and setglobalenviron
    • setglobalenviron operates exactly as seen in retail worlds, in that it affects all players globally throughout the world
    • setlbenviron localizes effect to landblock and immediate adjacent landblocks for area-based events
  • Updated the PK altar MinimumTimeSincePk from 3 hours to 15 minutes to match end of retail
  • Updated logging with some missing tags.
  • Updated Aetheria and how ProcSpell is displayed for SpellBook
  • Updated [Fellow]PortalSending code to magic retail messaging
  • Updated Hooks to allow them to be accessible by roommates (characters on same account as house owner)
  • Updated TakeItems msg to match retail messaging and support “Take All”
  • Updated some quest weenies related to Hamud’s Demise quest
  • Updated Steel Chest with Clouded Soul scroll
  • Updated Guards for Clutch of Kings quest
  • Updated IOU handling code
  • Updated AttributeMod for finesse weapons
  • Updated salvaging output formula to match retail
  • Updated AddCharacterTitle statements to add missing titles and annotations
  • Updated Vile Scourge, Fist of Massacre, Vein-Thirst Kukri, and Yaja’s Reach for MoA
  • Updated Steel and Covenant Armor
  • Updated Tome of Blood and Bone
  • Updated PreCheckItem to be more specific about inventory/container slots
  • Updated ManaStone objects use message
  • Updated Facility Hub spawn map
  • Updated spell messages to match retail
  • Updated /god command serializer for better type handling
  • Updated drop location for several recall spells to match end of retail
  • Updated several misc Advocate systems
  • Updated Dark Tree Crystal Mine to MinLevel 100
  • Updated Scarlet Red Letters and sentries
  • Updated more logging relating to corpses for history tracking.
  • Updated start-server netcore version
  • Updated PK deaths to only go temporarily NPK from PK battles
  • Updated some properties for Armor Middle Reduction Tool
  • Updated TickOutbound back to parallel
  • Updated WEENIE_MAX wcid limit for custom content creators
  • Updated AuthenticationHandler to boot oldest connection to account when new one connects with valid login/password
  • Fixed / refactored clothing loot generator
  • Fixed the loot generator GetWield() method for magic casters
  • Fixed Aura of Infected Spirit Caress spell category / stacking
  • Fixed issue with Nekodes being created as LightWeapons, should have been Katars
  • Fixed crash with Pickup and Wield
  • Fixed issue with selling 0 value items to NPCs
  • Fixed an issue with thrown goblets
  • Fixed missing PropertyInt 159 on Squalid Leggings
  • Fixed issue CoinValue client desync
  • Fixed broken Kill Task quests
  • Fixed a possible null exception with RestrictionDB
  • Fixed a possible crash with Aetheria
  • Fixed some gaps for swapping weapons after launching a projectile
  • Fixed issue with invisible hooks on relinks (buy/abandon): bool/physicsstate mis-matches
  • Fixed issue with RDB on house buy: missing InstanceIID update
  • Fixed issue with logging into open houses: missing IsOpen check
  • Fixed some teleport issues
  • Fixed some reported issues with the visual display of different layered armor
  • Fixed some minor housing issues
  • Fixed stiletto animations
  • Fixed issue with UnlimitedUse ManaStones
  • Fixed issue with IsDecayable and TimeToRot
  • Fixed data desync issue with BiotaPropertiesSpellBook Probability
  • Fixed issue with encounter overrides not applying to cached value
  • Fixed an issue with Tenacity/Blight
  • Fixed casting gesture for built-in weapon spells
  • Fixed issue with EventIsPKWorld
  • Fixed GetDamageType() for UAC low power attacks
  • Fixed monster location desync after MoveHome()
  • Fixed untrained message for skill temple
  • Fixed some issues with item spells redirecting to unenchantable targets
  • Fixed various vital enchantment calc errors
  • Fixed mana on PathWarden Trinket
  • Fixed landblock monitors
  • Fixed issue with creatures dropping their wieldables to corpses
  • Fixed some bugs with Pickup and Wield
  • Fixed issue with accounts that own monarch-only housing to now allow the other characters to swear allegiance
  • Fixed a possible array out of bounds exception in LootGenerationFactory_Magic.cs that could happen with tier 8
  • Fixed some issues with teleporting

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

ACEmulator / ACE:
9 authors have pushed 132 commits to master
281 files have changed
8,798 additions
4,731 deletions
View Pulse
Changelog

Notable Changes:

  • Updated documentation to latest version of MySQL
  • Upgraded project to .NET Core 2.2.1
  • Added JSON weenie import, and live editing features for content creators
  • Added /import-json all, and /import-sql all commands for content creators
  • Added prevention / debug code for spellbook probability 0
  • Added support for global /filters by message type
  • Improved squelch system
  • Removed some redundant broadcasts
  • Added PK Arenas / PKLite Arenas
  • Added configurable ‘player_save_interval’ seconds config property for server admins
  • Wired up full support for contract system.
  • Added RestrictionDB null prevention
  • Clamped local broadcast range for pklite messages
  • Removed loot gen properties from quest item
  • Added support for RemainingLifespan
  • Added pkl_server admin config option
  • Add forced save to db for items being moved between players to prevent loss if crash occurs before normal save interval.
  • Added support for proper visual display of Layered Armor (Tailoring) and Reduced Armor (Tailoring) as well as future items such as Over-Robes.
  • Added IsBusy checks for recalls / PKLite commands
  • Added universal weapon masteries
  • Added /ungod command
  • Set NonTracking to True for later arc spells
  • Added Curse of Raven Fury spell
  • Ensure players are unattackable while in portal space
  • Removed attribute cantrips from jewelry loot generator
  • Include material type in give item message
  • Updated war/void magic projectile skill damage bonus to match retail
  • Syncing kill task shareable range with radar
  • Capped passup xp display to uint.MaxValue to match client
  • Added Critical Protection Augmentation message
  • Added support for Ebon Rifts multiple damage types
  • Improved database setup instructions in Readme.md
  • Add the four undead mobs for Vissidal from LSD
  • Add new treasure table entry used by Ghastly Priestess and Shambling Adherent
  • Update one of the Vissidal landscape generators to include the undead for spawning near the Temple of Xik Minru
  • Updated number of projectiles for Curse of Raven Fury to match retail pcaps
  • Adjusted drain and damage modifiers to match retail spell description
  • Added optional debug info for RecipeMods
  • Updated mana conversion to better match retail
  • Suicide refactoring
  • Improved calcs / appraisal info for Spirit Thirst
  • Cantrip and weenie updates
  • Temple of Xik Minru portal location update
  • Update Jedetj Eckhart and add more Vissidal region spawn data
  • Correct Dar Rell speech emote formating
  • Adding Surge of Regeneration tick messages
  • Added Medicated Healing Kits to Rare T3 tables, and elixirs to Rare T2 tables
  • Scaling SrcVital to DestVital for life transfer spells
  • Further adjust vendor sell fix to include correct error msg when 0 items are sold as a result of a fail.
  • Added EdgeSlide to Aetheria wisps
  • Improved / refactored enchantment messages
  • Increased spawns on Vissidal Island
  • Adjusting epic cantrip drop rates
  • Added support for HealOverTime enchantments
  • Update quest XP test notification messages
  • Added Spirit Thirst cantrips to LootGenerationFactory
  • Various updates to Housing objects related to assessment
  • Increase guestlist to 128 to match end of retail number
  • Stored Open status of house in different property to allow for future option to use HouseStatus to turn off rent.
  • Added WorldObject info to ActionQueue output
  • Adjusted Aetheria drop rates closer to retail, fixed drop rate mods
  • Updated Creature Combat Skills for MoA
  • Updated all weapon aura spells for MoA
  • Added Aetheria quest
  • Added Aetheria to LootGenerationFactory
  • Refactored LootGenerationFactory magic code
  • Updated Dat SubPalette and TextureMapChanges properties
  • Clean up error on sell to Vendor fail message.
  • Refactored ObjectDescriptionFlags
  • Added multihouse decomissioning system
  • Refactored HouseManager
  • Added house_per_char server config option
  • Added apartment deed location info
  • Improved /delete for admins
  • Updated Aetheria items
  • Add support for a version command response. Gives a basic idea of what version database is running currently and if running in debug/release mode
  • Converted HandleAugsForwardCompatibility -> SetInnateAugs during character creation
  • Added Tether and Core Plating recipes
  • Improved consistency for InventoryLoaded flag
  • Only allow use of Hookers on Hooks
  • Add in creation ip/time and last login ip/time to account creation/login
  • Refactored healing ratings
  • Additional IsBusy checks
  • Add DoNothing ActOnUse to CraftTool
  • Adjust EmoteManager
  • Add Landblock.EmitSignal to support localized object interaction
  • Updated PlacementPosition types
  • Improved handling for leveling up items casting spells
  • Adjusted some debug output
  • Add overridden properties for region encounter generators
  • Allow camp generators to despawn
  • Added data error protection for treasure data in generator profiles
  • Added account-wide house recall / account house permissions
  • Added dungeon landblock counts, and unique connection count to /serverstatus
  • Added ObjMaint v3 – much improved object visibility system, improved/clearer architecture, fixes many bugs
  • Fixed the deadly prismatic dart recipes
  • Fixed some bugs for PK/PKLite
  • Fixed animation bug for unarmed combat – low power, high attack
  • Fixed string buffer overrun / leaked memory in packet logs
  • Fix to allow null EncumberanceVal items to be carried
  • Fixed a bug with some emotes such as wave playing multiple times
  • Fixed a bug when multiple items level up simultaneously
  • Fixed a StackSize 0 bug in WieldedTreasure
  • Fixed Thrungus special attack
  • Fixed a bug with missing ManaRates
  • Fixed a bug with level proportional xp
  • Fixed a bug where Aetheria could be wielded into unopened slots
  • Fixed a bug with Aetheria DoT durations
  • Fixed Black Marrow Keyring Recipes
  • Fixed physical damage on Wave and Aqueous Golems
  • Fixed a weapon swapping client bug
  • Fixed a bug with monster Ranks -> InitLevel
  • Fixed issue with HousePortal permissions, IsOpen saving
  • Fixed a bug where bows and thrown weapons were showing (based on STRENGTH 100) during appraisal
  • Fixed a bug with item auras
  • Fixed issue with some recipe changes and ObjectDescriptionFlags
  • Fixed some bugs for two-handed weapons
  • Fixed a memory leak in the object visibility system
  • Fixed some issues with using certain Hookers that were previously broken
  • Fixed issues with Books on hooks, Chalk Boards now writable for all as expected, all other books readable
  • Fixed some miscellaneous Aetheria issues
  • Fixed a bug where Gharu’ndim and Empyrean caster appraisal wasn’t showing Heritage weapon mastery bonus
  • Fixed an issue with converting books from JSON to SQL
  • Fixed a bug with transferring items from side packs -> main pack @ max burden

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

ACEmulator / ACE:
8 authors have pushed 121 commits to master
149 files have changed
6,523 additions
2,185 deletions
View Pulse
Changelog

Notable Changes:

  • Fix issue with converting books from JSON to SQL.
  • Adjusted some debug output.
  • Add overridden properties for region encounter generators.
  • override_encounter_spawn_rates
  • encounter_regen_interval
  • encounter_delay
  • Allow camp generators to despawn
  • When a full “camp” is wiped, if the camp has a parent generator, destroy it so the parent generator can roll the slot again.
  • Added data error protection for treasure data in generator profiles.
  • Renamed Envoy references to Sentinel
  • Updated Knight’s Stash, and some other generator profiles
  • Fixed a bug with handing equipped items to Town Criers
  • Clean up issue with Weenie Cache corruption via admin commands/player creation.
  • Fixed some bugs for PKLite
  • Fix issue with invisible Acid hotspot
  • Add quest flags, update emote tables to allow reentry/reuse of Gatekeeper crystals. This is not retroactive to those who have already completed it. Turning in those required items will fix it for those characters going forward.
  • Update Water and Flame Guardian npcs
  • Fix clothingbase/palette template for appearances
  • Fixed various inventory stack bugs
  • Fixed issue with Recipe Manager “CopyFromSourceToResult” not using the player as the source.
  • Fixed a bug with corpse/chest inventory closing when trying to loot from magic combat mode
  • Log cleanup
  • Additional network fixes
  • Updated CommandParser for better handling of multiple arguments with spaces
  • Fixed a bug where irresistible spells could be resisted
  • Indexing biota_wcid db column, improved mansion/villa basement loading speed
  • Vissidal flagging quest
  • Fix give chests spamming server logs about MaxGeneratedObjects being less than InitGeneratedObjects
  • Update Tibri the Cavedweller and Peng-Ya
  • Add missing MaterialType to Foolproof Salvage
  • Added multi-homed internet support
  • Fixed item proc sources and messages
  • Fixed edge case for equipping thrown weapon w/ dual weapon wielded
  • Added defense spec bonuses
  • Update GetCachedInstancesByLandblock for external exporting
  • Fix issue of weenie cache corruption, setting the weenie’s weenietype instead of biota’s weenietype
  • Ensure subbed combatpets are always melee-ing by not spawning any inventory/weapons.
  • Generator system tweaks
  • Carry over Delay from profile template correctly.
  • Update RemoveQueue info in GeneratorDump.
  • Adjust CurrentCreate to be calculated to prevent out-of-sync issues.
  • Fixed a bug where stamina/mana kits could not be used at full health (was performing wrong vital checks)
  • Additional refactoring for healing kits
  • Updated Nullify Item Magic scroll drop
  • Expand qst command.
  • Code fix for out of order emote sets.
  • Fix issue with food consumables ObjectDescriptionFlag.
  • Fix issue with certain doors.
  • Updating outdoor house references for unloaded landblocks
  • Generator system revamp
  • Add Landblock_Tick_GeneratorRegeneration
  • Split up Generator Regeneration and Heartbeats
  • Notify Geneator of Pickup of Landblock Stackable
  • Add RegenerationTimestamp and GeneratedTreasureItem properties
  • Add InitializeGenerator
  • Remove IsLinked
  • Change SelectProfilesInit to use GetMaxObjects
  • Change SelectProfilesMax to use GetMaxObjects
  • Update GetMaxObjects
  • -1 MaxCreate == Fill up all slots
  • Renamed HandleStatus to HandleStatusStaged
  • Restore previous HandleStatus
  • Update StartGenerator
  • GeneratorInitialDelay > 0: offset NextGeneratorRegenerationTime
  • else if InitCreate > 0: Regen
  • Add GetNextRegenerationTime
  • If generator isn’t previously loaded, skip delay
  • Update DisableGenerator
  • Add ProcessGeneratorDestructionDirective
  • Support GeneratorDestructionType and GeneratorEndDestructionType
  • Update AddGeneratorLinks
  • Increment InitCreate and MaxCreate per profile template spec (placeholder), per each link added
  • Update Generator_HeartBeat
  • Starts/Stops Generator, checks event status
  • Add Generator_Regeneration
  • Queues for Respawn and/or/both Spawns objects
  • Add ResetGenerator
  • Update GetSpawnTime to always return UtcNow
  • Update Spawn
  • If TreasureGenerator is used, set GeneratedTreasureItem
  • If profile PaletteId and/or/both Shade have value, use it
  • Wire up @regen command
  • Add @generatordump command
  • Change EmoteType.Generate to use Generator_Regeneration
  • Update OnDeath to call OnGeneratorDeath for Generators
  • Update OnActivate
  • Move default action to last action to allow other actions to start before
  • Change OnGenerate to use Generator_Regeneration
  • Update Chests
  • Remove ResetGenerator
  • If Locked disable timed regen of contents
  • Update Reset
  • Override ResetGenerator
  • Update ResetInterval resetting
  • Rename Generator to GeneratorProfile
  • Rename Generator.cs to GeneratorProfile.cs
  • Update WorldObject_Generators.cs
  • Skip PlaceHolder object profiles
  • Change ProcessGeneratorDestructionDirective to not affect dead/dying creatures
  • Update WorldObject_Generators.cs
  • Bad data protection
  • Code fix for linkitemgen2minutes
  • Bad Init/Max for this linkable
  • Add GeneratorUpdateTimestamp
  • GeneratorHeartbeat renamed to GeneratorUpdate
  • This matches property found in enum
  • Stop saving Gateway portals to Shard DB
  • Add IsGateway to Portal
  • Add default sound to Pressure Plates
  • Update Corpse Decay Logging
  • Do not change default icon unless Shade or Palette was defined
  • Add NpcInteractsSilently handling for EmoteType.Give
  • Wire up trophies command
  • Fixed highframe bug for level 6 spellcasts
  • Fixed some vitae bugs
  • Prevent allegiance passup xp from reducing vitae
  • Refactored drop item
  • Added PK timers
  • Improved item magic code
  • Fire EmoteManager.OnDrop when an item is dropped to landblock. (Clutch of Kings (Rehir))
  • Added Morgluuk Linvak event
  • Fixed a bug with house payments for offline allegiances
  • Added code to use the Setup of a piece of clothing to visually equip it if no ClothingBase exists. This specifically applies to Ursuin Guise, WCID 32155, but may apply to others in the future.
  • Prevent using Hookers if house isn’t owned or is closed and player isn’t on guestlist.
  • Fix gems that cast recall spells.
  • Fixed doubled up spawns in Matron Hive East
  • Minor changes to Destroyed Portals
  • Fixing fellowship proportional xp sharing
  • ConnectionListener: Add NetworkReset error handling
  • Added Revitalize Other VI and Nullify Item Magic to loot system scroll drops
  • Recipe updates / additions:
  • Retired old Barbed Crop and Sharpened Virindi Scalpel in favor of updated recipes using MoA skill checks
  • Added Foolproof salvage recipes
  • Added Ancient Armor dye recipe
  • Adding ExperienceHandlingType, ShareType for xp classification
  • Updated fellowship quest bonus to match retail, with additional config options
  • Refactored consumables
  • Update Vendor Buy/Sell to validate item amounts before creation
  • Prevent using Hookers if they aren’t hooked.
  • Updated Olthoi Hunter
  • Updated fellowship kill tasks to match retail by default, with additional config options
  • More busy state checks during teleport
  • Updating allegiance chat channel when breaking from vassals
  • Some changes to Tomb of Adhorix
  • Improved support for Phantom weapons
  • Added missile reload anim speed modifier
  • Added burden modifier
  • Fixed a bug where Oak Salvage couldn’t be applied to melee weapon
  • Added support for swearing allegiance to lower level characters
  • ConfirmationManager refactoring
  • Updated chess pieces so that drudges are white team
  • Added GameEventAllegianceLoginNotification packet
  • Updated Allegiance panel for online/offline status
  • Added more info to /debugdamage
  • Fix prismatic ammunition
  • Continue to add UCoN content and quests
  • Fix Dire Mattekar Kill Task quest
  • More descriptive exceptions in ConnectionListener
  • Added ActionChain performance measurement
  • ObjectGuid.ToString() cleanup
  • Added /additemspell command for devs/admins – add a spell to an existing item
  • Added multiple wield requirement checks
  • Landblock decay code cleanup
  • Updated Physics.WeenieObj to WeakReference
  • NetworkSession.cachedPackets pruning
  • Added Sandstone Salvage for new items, updated existing Sandstone Salvage bags
  • Prevent using contained Container (R keybind).
  • Add Do nothing stub to Generic weenie class.
  • Add requirecomps command.
  • Add SpellComponentsRequired property.
  • Add HasComponentsForSpell.
  • Add HasComponentsForSpell checks to Player.CreatePlayerSpell for targeted and untargeted spells.
  • Fix issue with certain createlist profiles.
  • Additional cleanup for ignoremagic*
  • Added Sandstone Salvage to RecipeManager
  • Add LightSource Weenie class.
  • Added lock resistance enchantments
  • Added /verify-skill-credits
  • More refactoring for hollow missile damage
  • Fixed a bug with item enchantments not ticking in side containers
  • Added /god admin command
  • Added more info to /debugdamage
  • Wire up EmoteType.CreateTreasure.
  • Adjust ItemMagic/SpellType.PortalSummon to use spell.Link instead of spell.Name.
  • Add Laurana to her Cavern home in Glenden Wood; currently using texture update properties to craft the NPC’s correct look, until SedgeMail Leather armor is added to the game; will require ACE PR 1968 to make accessible
  • Add Lightning Longbow that is wielded by NPCs only
  • Add Invitation to Master Fletchers “portal gem”
  • Remove few spawns from Glenden Wood due to changes in town, such as doors in the air from a burned out structure
  • Correct Sho Pathwarden Chest to hand out correct racial Pathwarden Robe
  • Update Pathwardens to have the remaining WS5 granite and WS5 steel salvage at 33% reward on Pathwarden gear turn in
  • Add the two Salvage bag items used for the Pathwarden gear turn in
  • Add more Under Cover of Night patch weenies
  • Wire up EmoteType.TeleportTarget
  • Adjust appraisal code for better NpcLooksLikeObject handling.
  • Start adding Under Cover of Night content, including some initial weenies and landblock spawns
  • Added retained message for sandstone salvage
  • Updated crafting chance of success dialog
  • Fixed some issues with ivory and leather salvage
  • Fixed hollow damage for chorizite missile weapons
  • Fixed some issues with emote table RNG
  • Made a small adjustment to the GetPaletteID function that was, in certain circumstances, returning the wrong palette.
  • Move network/packet work from WorldManager to NetworkManager
  • Remove unused code from GameActionPacket
  • /auditobjectmaint
  • add /allstats, make /delete safer
  • Fixed tailoring for pauldrons
  • Fixed some gaps in house abandon / eviction for unloaded landblocks
  • Disable players putting or merging items into corpses. You can only pull from not push to.
  • Update logging for decay of corpses.
  • Changed Landblock.Tick to not decay on first tick.

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

ACEmulator / ACE:
9 authors have pushed 107 commits to master
99 files have changed
3,795 additions
1,953 deletions
View Pulse
Changelog

Notable Changes:

  • Improved Getting Started instructions in Readme
  • Fixed GetDynamicObjectsByLandblock uint/int problem.
  • Fixed spell IDs for Deception Self 7 / Salvaging Self 7 scrolls
  • Fixed AL on loot-generated clothing
  • Fixed a bug with negative skill #s and proficiency XP
  • Fixed Secure Trade to confirm both parties have enough pack space/burden to accept all items before trade completes
  • Fixed Chest.RegenOnClose issue with generators
  • Fixed weapon tailoring
  • Fixed house dungeon portal landblock detection
  • Fixed a bug with IsBusy check for consumables – vtank no longer consumes too much food / drink!
  • Fixed issues with Stack Split/Merge
  • Fixed a bug with player giving equipped items to NPCs
  • Fixed a bug with dispels only selecting the top layer
  • Fixed a rare concurrency bug in PlayerManager
  • Fixed some issues with chest regen
  • Fixed recipe skill check for pre-MoA skills
  • Fixed house hook items with emotes
  • Fixed issue with finger command not showing correct account for character
  • Fixed a rare bug with damage spikes
  • Fixed an AllegianceUpdate packet parsing bug for TreeStats / Decal
  • Fixed appraisal display for items with built-in defender spells
  • Fixed Naughty Skeleton Kill Task NPC and mob emotes to match quest in DB
  • Fixed concurrency issue in DelayAction
  • Fixed extra pack slot aug
  • Fixed ordering of enchantment masks on login
  • Fixed a bug where summoned creatures would sometimes not spawn
  • Added more logging info for player corpses
  • Make sure corpses are saved if created indoors (dungeons)
  • Added ResetSkill and Adjusted EmoteManager to use it for UntrainSkill
  • Adjusted Decay for Corpses to ensure Inventory is loaded before decay is allowed to process
  • Added percentages for jewelry slot drops
  • Added Left-hand Tether and removal wcid and stub recipe for RecipeManager_New format
  • Added Asheron’s Island entry portal in Eastham and Asheron’s Castle spawns
  • Added Core Plating Integrator and stub recipe for RecipeManager_New format
  • Updated ClothingBase of many Isparian weapons
  • Updated TsysMutationData of 2 handed weapons
  • Added wcids for Alchemical Throwing Phials and recipes to support those added so far
  • Added Halls of Metos portal near Zaikhal
  • Added database info for RenegadeGenerals.sql
  • Improved Shard database indexing
  • Added further stack exploit mitigation and logging
  • Added QuestManager to Fellowship
  • Added IsLocked to Fellowship
  • Updated QuestManager to support Fellowships for basic quest stamping
  • Updated Fellowship to support locking via emotes. Allow members who were in fellowship at time of lock to rejoin if they get booted from game
  • Updated EmoteManager emotes: InqFellowQuest, LockFellow, StampFellowQuest, UpdateFellowQuest
  • Swapped underlay colors for pierce/slash rends to match retail
  • Moved MinimumTimeSincePk change upon PK death to occur before flag changes. This fixes issue with PKs recovering from death being able to attack other recovering PKs.
  • Added /landblockstats command
  • Improved InboundMessageManager network exception handling
  • Improved Shard query performance when loading landblocks
  • Added Dinnerware to Mundane lootgen
  • Removed Mana Scarabs from lootgen
  • Monster_Tick profiling additions
  • Updated /listplayers to accept optional accesslevel parameter
  • Updated Green Garnet salvage
  • Apply position corrections for teleports using magic
  • Adjusted Stack Split/Merge Handling
  • Added vendor dupe prevention
  • Adjustment to loot percentages
  • Added optional assess creature mod w/ release formula
  • Corrected properties on Overlord’s Sword
  • Updated numerous creature loot tiers, as per wiki
  • Added PhysicsObj.Destroy() on AddPhysicsObj failure
  • Added ObjectMain.ServerObjects.Count to /serverstatus
  • Added OnGeneration emote handling
  • Updated fellowship death message
  • Added item material to tinkering broadcast message
  • Updated / consolidated spell assignment in loot generator
  • Added support for lower armor reduction kit applied to leggings
  • Excluded augs from SkillAlterationDevice spec count
  • Change pickup for items to also count as destruction for generators to regenerate. (Branith’s Staff linked to a Linkable Monster Generator)
  • Allow the few items incorrectly marked as “Treasure” and not “ContainTreasure” or “Contain” to appear on monster corpses.
  • Improved / refactored Skill XP Rank increases
  • Improved mem leakage by Generators
  • Added more scrolls to loot generator
  • Added some missing spells to drop as scrolls
  • Updated Fellowship hashtables to match client order
  • Moved Jack Of All Trades aug bonus from Skill.Base to Current
  • Standardized spells and cantrips for armor pieces
  • Cleaning up loot generator system
  • Added support to ACE.Adapter to convert ACE weenies to LSD weenies
  • Added emote tables for Summoning Mastery statues in Arwic
  • Updated appearance for Summoning Mastery statues
  • Added new spells and cantrips to loot generator
  • Updated Heritage masteries to default masteries for retraining
  • Updated object appraisal code to properly show Wield/Activation Requires lines
  • Updated RecipeManager for Ivory. Recipe in DB already handles mod application correctly
  • Improved trade system to work with additional Decal plugins
  • Reclassify Shields as WeenieType.Generic and Updated ValidLocations, for those wcids without correct values for shields
  • Change lvl 8 spell comps from Generic to Stackable
  • Change some Jewelry items from Clothing to Generic
  • Added the seven Geomancer summoning CombatPets
  • Changed House Warning Messages filter
  • Set HousePortal destinations based on data from database with fallback to SlumLord
  • Init House from World DB if not found in Shard DB
  • Added StartCooldown to EnchantmentManagerWithCaching
  • Fixed GetFreeInventorySlots() counting packs and foci.
  • Updated House SQL writer
  • Updated CombatPet to not drop loot, not spawn things
  • Removed Spells, Emotes from CombatPets
  • Added Pet and CombatPet to IsCreature in WorldDatabase load function
  • Always Allow ID for Pets
  • Excluded combat pets from cleaving damage
  • Added missing skills to /buff
  • Changed RecipeManager.ModifyX to Fixed dye (and other) mods
  • Reduce Entity Framework biota tracking to only Players. Other objects will be reattached when saved
  • Release NetworkSession resources when a session drops
  • Adjusted rare generation code to apply expected icon underlay if wrong or missing
  • Adjusted corpse world entry to issue rare alert text/sound after corpse is spawned and not before
  • Removed all properties from corpse assessment except those seen in pcaps
  • Updated stack values for death items

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

ACEmulator / ACE:
8 authors have pushed 226 commits to master
302 files have changed
45,764 additions
44,328 deletions
View Pulse
Changelog

A special thank you to all the players reporting bugs and feedback.
If you intend to submit a bug report please review how to collect Packet Captures

Notable Changes:

  • Loot tier adjustments and updates from LSD
    • Adjustments for loot tier 7
    • Added new skills Gems of Enlightenment
    • Added Enhanced Mana Elixir
    • Added Redspire Portal Gem that uses newer LinkedPortalOne
    • Updated new skills Wardens of Enlightenment to issue their gems
    • Updated Enhanced Health Elixir
    • Updated Sanamar Portal Gem to use newer LinkedPortalOne
    • Updated 10 Friend & Foe kill task NPCs
    • Updated Caliginous Aegis
    • Updated Platinum Golem
    • Updated Olthoi Slayer and Slasher Carapace and Ripper Spine
    • Updated Collectors
    • Updated Cave Penguin Egg

 

  • Fixed recipe mods for keyrings
  • Fixed some combat lockups after healing, particular with vtank + missile
  • Fixed combining older bags of mahogany salvage
  • Fixed monster retired skill #s
  • Fixed slippery item drop / rares popping when looted
  • Fixed spirit essence busy state
  • Fixed /hr for some apartments
  • Fixed summoned portal spawning
  • Fixed equipped item overlap
  • Fixed vendor overloads
  • Fixed hotspot damage
  • Fixed blank allegiance officer title crash w/ decal
  • Fixed dispel filters
  • Fixed apartment landblock loading speed
  • Fixed boot command throwing exception when used at console
  • Fixed a bug with disappearing icon when players give partial stacks
  • Fixed gems not dropping in loot
  • Fixed more issues with hotspots
  • Fixed Olthoi Rippers spawning too many ninjas
  • Fixed bug with players giving equipped items to other players
  • Fixed allegiance ranks
  • Fixed AnimationHook and GameActionChatChannel line endings in source repo
  • Fixed some apartment bugs
  • Fixed salvage workmanship bug
  • Fixed player DoT damage history
  • Fixed a bug with with kill tasks
  • Fixed a bug with packet crafting during character creation
  • Fixed a bug with scrolls and vtank
  • Fixed the Mite Queen Staff to drop 1 instead of 250 and 1 Crumbled Note instead of 250
  • Fixed some situations where multiple deaths could occur at the same time
  • Fixed tinkering values with pine and gold material
  • Fixed fellowship XP earning distance to be based on distance from XP earner, instead of leader
  • Fixed skill credit refunds for untraining skills in Temple of Forgetfulness
  • Fixed issue with attuned items being places in packs, packs placed in other containers
  • Fixed double use issue on some containers
  • Fixed issue with clapping motion repeating
  • Fixed giving stackables to NPCs that accept everything (Town Criers, Garbage Barrels)
  • Fixed giving or dropping packs with attuned items
  • Fixed issues with crafting sending 0 burden to client
  • Fixed mis-matched mana on lootgen’d missile weapons
  • Fixed wonky mana on Missile weapons in LootGen
  • Fixed quest names in San Ming’s emote table
  • Fixed ClothingPriority on Olthoi Celdon armor
  • Fixed issues with player corpse decay
  • Fixed bug with picking up items from your own corpse, hooks or storage that had quest stamps
  • Fixed bug with naked corpses not appearing correctly
  • Fixed issue with non-player objects activating other non-player objects
  • Fixed some issues with hotspots
  • Fixed rapid player corpse decay upon server restart
  • Fixed issue with npcs activating other objects
  • Fixed bug with IDing items in Trade Window
  • Fixed bug with trade causing receiver to turn to initiator when trade starts
  • Fixed exit portal from Karlun’s Hall to remove level restriction
  • Fixed Void Scriveners attacking
  • Fixed reported issue with corpse at the end of the Lugian Ice Tunnels; ActivationResponse was incorrectly set to 1, instead of 2
  • Fixed Nullified Statues
  • Fixed issue with RealTime generators that have either no StartTime or EndTime set. (eg: Heart of the Innocent Event Gen)
  • Fixed multiple death stacking. You can only die one time until you resurrect at lifestone
  • Fixed issue with long chat messages
  • Fixed SetSanctuaryPosition for Jonathan (29325) for Sanamar Academy instance
  • Fixed minor issue with scrolls when IDing them
  • Fixed major issue with recipes not scoping the requirements and mods to indexes which indicated where the checks or mods applied to
  • Fixed OnDeath crash
  • Fixed tells issue
  • Fixed PK status for all objects on radar bug
  • Fixed apartment issues for Empyreans
  • Fixed network session multithreading
  • Fixed a null crash with CombatPets
  • Fixed corpse null exception
  • Fixed landblock adjacency sync / visible objs
  • Fixed RestrictionDB table size
  • Fixed physics landblock memory leak
  • Fixed an issue with ClassName writer
  • Fixed allegiance sync bug
  • Fixed GetVariance
  • Fixed crash on null CurrentMotionState (statues).
  • Fixed CraftTool weenies mistakenly marked as WeeniType.Generic instead of WeenieType.CraftTool

 

  • Updated Tusker Guard loot tier profile to T4, up from T3, to match wiki
  • Updated Atlan weenies
  • Updated Healer messages and support for Stamina/Mana kits
  • Updated Olthoi Swarm mobs for loot tier Updateds, per wiki
  • Updated Olthoi Larvae body height entries
  • Updated loot generator for light dagger / multistrike
  • Updated two Facility Hub Wardens
  • Updated Gem_MaterialType odds in loot gen
  • Updated Ulgrim the Unpleasant’s location to AB
  • Updated Ulgrim’s Recall scroll
  • Updated Tusker Wish statues for MoA skills
  • Updated Flinrala Ryndmad to once again hand out Facility Hub Portal gems
  • Updated the Temples of Forgetfulness and Enlightenment
  • Updated Marauder Eater to always drop jaw, up from zero chance
  • Updated Base of the Timaru Plateau Portal to drop player near the NPC that sends the player to the top of the plateau
  • Updated Jonathan’s emote table; token is attuned so cannot be lost. NPC doesn’t need to reissue token to player
  • Updated landblocks in Stonehold, Nanto, and Tou-Tou-Tou
  • Updated Gold Golem and Banderling Mauler to tier 5 loot profiles, per wiki, as other mobs still using former loot profile ID should remain as tier 4
  • Updated generated loot values
  • Updated spell component burn rate, and mana conversion for item spells
  • Updated 2-handed weapon skill check
  • Updated Mad Cow event
  • Updated Storage permission error message
  • Updated handling of scribe related functions
  • Updated Enchantment Heartbeat to expire 0 duration spells
  • Updated pickup timers for Grael’s Rage untranslated texts to align with info on wiki
  • Updated three dungeon entry portals with quest restriction, as specified on portal text
  • Updated three NPCs involved in Grael’s Rage quest to stamp and erase quest stamps, as appropriate
  • Updated Generic and Stackable WeenieType
  • Updated Soldier 31290 with Attackable false and Soldiers 31290, 70035, and 70036 with AiImmobile true
  • Updated shutdown sequence to support notifications to players at intervals and adjusted shutdown lockout to apply when server is less than 3 minutes from shutdown
  • Updated CreateList output to not sort by weenie class id
  • Updated harm spell text color
  • Updated UpdateMaxVital for some spells
  • Updated SummonPortal for Gateways
  • Updated DamageHistory to use WeakReference
  • Updated fellowship to WeakReference
  • Updated Player.Examine success conditions
  • Updated kill tasks in fellowships
  • Updated Event generators for two staged on/off
  • Updated Crafting SQL Writer
  • Updated null spell -> spell.NotFound
  • Updated various log messages to Debug level
  • Updated Generator.StopConditionsInit and StopConditionsMax log level
  • Updated Generator.AddWorldObjectInternal failures to Debug
  • Updated LSD converter to support enum shifting

 

  • Added support for IOU trade ins
  • Added possible fix for Mowen portal not spawning – IsBusy reset OnDeath
  • Added Covenant Armor, default Material Type, and thrown weapons to loot
  • Added allegiance name to appraisals
  • Added caster effect to spells that have them
  • Added door opening ability for some newer Olthoi
  • Added rot after 5 minutes to player sold items on vendors
  • Added rares to loot system
  • Added support for Barber NPCs
  • Added Shoichi for Tusker Guard KT to Lin
  • Added support for new recipe formats
  • Added support for broadcasting tinkering result message
  • Added AttributeTransferDevice
  • Added quest restrictions for summoned portals
  • Added the ability for any player to loot monster corpses after 2 mins
  • Added logging for player corpses
  • Added /myquests player command, and quest_info_enabled admin option
  • Added Mountain Sewer entry portal
  • Added support for non-house owner rent payments
  • Added Lifestone Sending spell
  • Added some missing spawn maps: Mountain Sewer, new Yanshi town spawns, Keminub, Iaret, and Sacmisi
  • Added support for prismatic arrows
  • Added fellowship sharing to kill tasks
  • Added prevention for being dropped into / through walls
  • Added some null checks to try to catch issue with SelectDispel
  • Added logging to Spell.Init
  • Added warning to players about potential rollback issues when SaveBiota fails
  • Added support for preloading landblock groups (Apartment Landblocks)
  • Added check for RecallsDisabled to command recalls
  • Added CraftTool WeenieType
  • Added missing EncumbranceVal to Olthoi Amuli Armor
  • Added text to corpses that generated rares
  • Added Tomb Rubble weenie
  • Added in use error message for some objects
  • Added missing Missile DamageMod property for loot gen
  • Added Void Gem of Enlightenment
  • Added shirts and pants to loot drop
  • Added new Fetish of the Dark Idol recipes for new TOD missile weapons
  • Added missing Enhanced Isparian weapon recipes
  • Added modified tinkering recipes
  • Added Moina NPC
  • Added Olthoi Amuli armor weenies
  • Added Jaffres Dini’s spawn data to Sanamar
  • Added Scrivener of the Void to Holtburg, Yaraq, Shoushi, and Sanamar locations
  • Added Jacob’s Axe weenie for loot drop by Hard-Headed Skeleton
  • Added the three Trade Alliance sub quest stub quest registry DB entries
  • Added updated Free Ride to Sanamar spell (3535)
  • Added missing Monster Fly Trap weenie
  • Added Donatello Linante
  • Added support for AwardXP emote taking away from available xp (Donatello Linante -> Asheron’s Lesser Benediction)
  • Added rares to server logs
  • Added disable_gateway_ties_to_be_summonable configurable option
  • Added biota id:name to db
  • Added in support to ACE.Adapter for converting GDLe recipes
  • Added fix to prevent players from deceiving themselves
  • Added more code protection for TOD salvage data
  • Added null check to Corpse.Open
  • Added busy check for food / consumables
  • Added CanAddToInventory / pre-check for Player.Give
  • Added more null checks to Fellowships, ConfirmationManager, and GetDeathMessage
  • Added rollback mitigation for players receiving items from NPCs
  • Added SpellbookCache
  • Added WeakReference option to GfxObjCache
  • Added missing WieldSkillType to loot generation factory melee weapons
  • Added Treasure Material tables and Treasure Color tables to apply appropriate colors and materials to items in the LootGenerationFactory
  • Added “lootgen” Developer Command to aid in testing the loot generator. Currently only applies materials and colors to items; no other properties factored in at this time
  • Added GetBlockDist pre-check to IsDirectVisible()
  • Added /ciloot dev command for RNG loot generation factory
  • Reduced fizzle mana usage
  • Changed Ruschk Iceberg Key from fixed spawn to generator based
  • Remove extra Ianto and Lady of Aerlinthe’s Ornate Chest weenies
  • Aligned Scroll loot with wiki
  • Re-added random colors to clothing in loot gen
  • Mosswart Worshipper Kill Task fix
  • Refactored Elemental damage bonus
  • Removing leader from disbanded fellowship
  • Removed some incorrectly added thrown weapons from loot gen
  • Sorting appraisal properties to better match up with client hashtables
  • Ensuring self spells are never resisted
  • Loot refactoring for clothing
  • Removed bad keyring recipes
  • Fixes for Give to Player issues: Send contents of a container when given, Return object to giver when it fails to be given
  • Replaced character errors with confirmed list
  • Creatures with loot and NoCorpse will drop their loot to the ground upon death
  • AdjustCells cleanup
  • Updating tinkering message to match retail, adding /cisalvage dev command
  • Initial fix for item heartbeats
  • Adjust wield requirements and method used
  • Sequence validation and negative response
  • Change weapon damage to be based on wield difficulty, instead of tier number
  • Lower essence drop rate to ~17%
  • Converted many magic numbers to descriptive, enum based values
  • Changed shortcut code to fix some collision issues
  • Clamping broadcast range on some recalls
  • Improved monster ReturnHome logic
  • Physics GC cleanup
  • Synced WieldSkillType with WeaponType
  • Move some messages to WorldBroadcast filter
  • Remove PropertyInt 159 from base melee weapon weenies
  • Remove two Encounter table entries, as they cause landscape mob spawns within Fort Tethana and the rebuilt Yanshi
  • Landblock Dormancy after 1 min of no player activity
  • Reduce rogue physics landblocks loaded by portal destination parsing
  • Dispose ShardContext on RemoveBiota
  • Send RestrictionDB in order of client hash
  • Removed deprecated skill check formula
  • Improved fellowship vital update rate / sync
  • Ensuring BF_OPENABLE flag for inventory containers
  • Fix body part heights of Fiun mobs
  • Moved IsBusy check
  • Session termination and boot command enhancement
  • Adjusted grant level propotional xp
  • Adjusted two-handed stance swapping / slots
  • Removed slash animation from thrust weapons
  • Ensuring impen/bane applies only to enchantable items
  • More fixes for player corpse appearance issue
  • Retry failed shard db queries
  • More fellowship null checks
  • More allegiance fixes
  • Ensure cooldown spells aren’t evaluated for dispels
  • Adjusted OnDeath to use LastDamager instead of foreach
  • Network stability improvements
  • Major refactoring to fellowships to fix concurrency issues
  • Moved order-insensitive items earlier in packet processing pipeline
  • Process inbound GameAction packets in order received
  • Save Player Corpses if dropped.count > 0
  • Reject new connections when server shuts down
  • /serverperformance command added. Optional parameters: start, stop, reset
  • Use ServerGarbageCollection instead of Workstation GC
  • Change the way GiveObjecttoNPC and HandleNPCReceiveItem deal with emotes
  • Exclude Cooldowns from HandleMaxVitalUpdate
  • Physics memory related additions
  • Fix session timeout values
  • Code cleanup

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

ACEmulator / ACE:
7 authors have pushed 131 commits to master
253 files have changed
22,358 additions
3,479 deletions
View Pulse
Changelog

Notable Changes:

  • Added Chess. Much thanks and credit to Anahera for originally authoring this code!
  • Added Tailoring. Much thanks and credit to Phenyl for originally authoring this code!
  • Added support for Asherons’s Benediction and Augmented Understanding
  • Added support for Aetheria
  • Added support for Luminance augs
  • Added support for Enlightenment
  • Added preliminary content for Friend and Foe monthly patch
  • Added landblock spawns from Friend and Foe patch
  • Updated monster corpse looting permissions – after the top damager finishes looting, other players may loot
  • The fellowship ‘disband’ button when clicked by non-leaders no longer acts as a ‘leave’ button, as per retail
  • Added option to enable/disable DoT messages
  • Updated PKLite messages to match retail
  • Improved jump with low stamina
  • Updated War Magic spell projectile and resisted messages to match retail exactly (this was causing a delay in vtank between spellcasts)
  • Added Monarch/Patron/Vassal prefixes to allegiance login messages, updated colors
  • Added support for Encapsulated Spirit
  • Added alternate currency for vendors
  • Appraised items on housing hooks now show the details on the hooked item.
  • Ensure monsters have a targeting tactic
  • Updating burden from ammo / spell component usage
  • Support AdvocateItem changing/updating Radar Blip Color in similar fashion to retail servers.
  • Improved handling for edge cases for refreshing spells w/ augs
  • Additional ratings added to appraisal panel
  • Updated spell info, added spells for item sets
  • Added spell procs / cast on strike
  • Added support for item leveling
  • More visual updates for dye recipes
  • Updated barber shop
  • Additional checks for built-in weapon spells
  • Added rare timers
  • Added fellowship names to player appraisal panel
  • Ensure prior container is closed before opening a new one
  • Added Natural Resistances for players
  • Adjusted trained skill check for reading magic scrolls
  • Added the ability for player to use all Augmentation Gems
  • Cleaned up welcome message / server mtod
  • Added RNG ratings to Summoning essences
  • Disabled the portal messages to match retail
  • Added Void Magic scrolls and Summoning essences to loot generator
  • Added support for Magic Professors
  • Updated spellcasting / healing movement check messages to match retail
  • Updated salvaging result message

 

  • Network stability:
    fixed bug causing disconnects due to NAK requests being ignored.
    fixed bug causing session to enter an unspecified state after connect request packet sent to the client is corrupted in transit
    fixed bug during handshake causing defunct session to linger
    fixed bug whenever a bad handshake occurs causing crash
    added asynchronous verification of encrypted CRCs
    added checksum caching to ClientPacket
    added handling of trusted packet with ClientSentNetErrorDisconnect flag
    added parsing of optional “flow” header data
    added more network logging
    removed “generational ISAAC” debugging tools

 

  • Improved allegiance data sync
  • Added IsBusy checks to healing and recipe crafting for vtank
  • Change action that occurs for selling items to vendors so they appear in the buy window if they aren’t destroyed on sell.
  • Prevent selling objects (via drag-drop on vendor) that vendor doesn’t accept in its MerchandiseItemTypes field. These same items would red-circle using traditional drop into panel method.
  • Set minimum for hotspot cycles. Prevents hotspot of doom (HotspotCycleTime == 0)
  • Added /teledungeon command for Sentinels / Admins
  • Additional fixes for decal crashes when entering Portals, and around Holtburg
  • Added IOUs for EmoteType.Give w/ missing wcids
  • Emote skill check: ranks -> current
  • Updated Active flag and chest logic
  • Improved spell duration logic
  • Update Logout to include server population and limits when character list is resent.
  • Updated @acehelp and @acecommands to not be individual messages, so not to be broken up by other chat spew.
  • Added @pop command — Tells you how many players are online.
  • Added @telereturn — Teleport a character to their previous position saved when using @teletome.
  • Added @watchmen command — Displays accounts of a specific access level.
  • Added @finger command — Displays information about a character and/or account.
  • Better organization and restructuring for -Patches folders (now grouped by date)
  • Additional error messages for allegiance swearing
  • Added local broadcast range to spell words
  • Revised indoor fellowship distances
  • Continued refactoring of HandleUseOnTarget
  • Exclude Burden in CreateObject messages for Creatures.
  • Update Player Description Event to reflect WeenieType and HasHealth accurately and not hard-coded values.
  • AddWorldObjectInternal fix
  • Changed TrackObject to only send Selectable child objects wielded by their parents (No more oversending of everyone’s complete equipables)
  • Improved ‘out of missile ammo’ animation state / feedback
  • More consistency for create lists and moving items to corpses
  • Consolidated pyreals in death messages, added corpse_destroy_pyreals server option (defaults to true / end of retail)
  • Added some missing types / info to login
  • Enqueue action message cleanup
  • Cleaned up UseWithTarget and GameMessageInventoryRemoveObject
  • Changed the way Name property is handled with regards to + (Admin/Sentinel characters)
  • Set up basic path to support replicating accesslevel changes on to existing characters
  • Added @pk command
  • Revise @cloak command
  • Loot Generator refactoring / organizing
  • Added LanguageInfo to DatLoader (0x41 in client_local_English.dat)
  • Added improved feedback when issuing invalid console commands or using incorrect syntax
  • Exclude GamePiece from saving to Shard DB
  • Corrected DatDatabaseType values
  • Changed account authentication to use BCrypt
  • Added configurable BCrypt WorkFactor for password hashing
  • Update Shard DB Enchantment Registry composite key
  • Additional null checks for allegiances and fellowships
  • Added passwd and set-accountpassword commands for self-service password changing and admin-only override password changes
  • Added migration coding to support migrating from previous SHA512 Hash/Salt method to BCrypt
  • Script for Updating Auth database added to default passwords to BCrypt
  • Added /teletome command for admins
  • Added substates to initial player broadcasts
  • Added system for reusing dynamic guids. The database is now queried for guid fragmentation on startup, with support for recycling guids during the game

 

  • Fixed some issues with CombatPet aggro
  • Fixed a bug with vitae not expiring
  • Fixed a salvaging bug with Green Garnet and Mahogany items
  • Fixed Gear Knights being literal buttheads. (Their abdomen was being swapped with their heads)
  • Fixed CharGen issue for Dual Wield characters. 2x Melee Weapons are created if Dual Wield is trained or specialized
  • Fixed a bug where crafting components were being removed from the shortcut bar on usage
  • Fixed a bug where players could cast spells from inside portal space
  • Fixed Holtburg sentries running in circles
  • Fixed chests stuck in open state
  • Fixed Cow Tipping Quest
  • Fixed scroll usage in vtank
  • Fixed a bug with items in chests sometimes appearing incorrectly in client
  • Fixed an outdoor->indoor visibility bug
  • Fixed a bug with run backwards state / jump frozen bug
  • Fixed a bug with spell trap durations
  • Fixed a bug where enchantments from items were being cleared on death
  • Fixed vendors to handle 0 value items properly in buy/sell
  • Fixed an invisible player bug when players re-enter visibility to an unmoving player
  • Fixed a bug with dropping items from scatter generators

 

To contribute to bug reports or simply check out the progress, log in to Coldeve via Thwarglauncher.

Join the Coldeve discord – https://discord.gg/dDZh5dQ

ACEmulator Monthly Report – February 1, 2019 – March 1, 2019

ACEmulator / ACE:
5 authors have pushed 77 commits to master
243 files have changed
19,134 additions
16,737 deletions
View Pulse
Changelog

Notable Changes:

  • All ToD Updates from Lifestoned are now in
  • Added Linux installation instructions
  • Added house deeds
  • Added house purchase requirements w/ config options
  • Added checks to ensure monsters can damage target
  • Added no-log landblocks
  • Added logic for locked doors openable from behind
  • Added heritage augs
  • Fix wield issue with TwoHanded weapons.
  • Updated item dispel
  • Pack space is checked before selling items at a vendor
  • Improved CoinValue property
  • Improved EncumbranceVal and Value properties
  • Added enchantments for items wielded by monsters / NPCs
  • Updated allegiance rank, config properties
  • Added house maintenance + config options
  • Adjusted augs and slots armor
  • Added magic-absorbing shields
  • Add functionality to support Mana Forge Chests in the LootGenerationFactory
  • Adjusted imbue chance of success
  • Housing permissions sync improvements
  • Added squelches
  • Changed GetMaxDamage() for better scaling of damage levels for tier increases and weapon types
  • Changed GetArmorLevel() to GetArmorLevelModifier() for better scaling of armor increases, based upon the default armor level from the armor item weenie, for loot tier increases
  • Items added to the world via the admin command /create no longer decay
  • Updated ClothingPriority, create list selection
  • Updated CoverageMask
  • Added RNG create lists
  • Landblocks load their resources async again
  • Improved the FindByObject() function to include objects WieldedByOther
  • Added caching to a couple more WorldDB housing functions
  • Cleaned up the WorldObject OnLoad, OnAddItem, OnRemoveItem code and flow
  • Changed GenerateTreasure to check for null DeathTreasure and de-duped generate code so that items weren’t generated twice upon death.
  • Monsters now Destroy() on death, removing them from the database if they persisted (possibly from /create)
  • Added centralized damage calculation function
  • Start refactoring LootGenerationFactory.cs code
  • Add support for spawning Treasure pile corpses when data indicates it should.
  • Enable basic functionality for InqOwnItems in EmoteManager
  • Update EmoteType.DirectBroadcast to support “@You must wait %CDtime to collect the again.”
  • Modify LootGenerationFactory to support the TOD updated weenies
  • Added synchronized ServerObject loading for non-adjacents
  • Improved handling for offline houses
  • Write locks on WorldObject property dictionaries are only taken when the property is actually set
  • Introduce ObjectGuid recycling into ACE
  • Added jsminify for config commenting
  • Added server logic for the remaining player-configurable options
  • Fixed an exception for PropertyManager when requesting the value of a property that didn’t exist in the database
  • Fixed array indexing in LootHelper ( array indexes begin with 0 )
  • Fixed exceptions in LootGenerationFactory
  • Fixed an issue with TOD monsters spawning with low health
  • Fixed Shadow Armor quest
  • Fixed an infinite loop when using a mana stone that didn’t have enough mana to fill up all the items in need
  • Fixed a bug where splitting/merging stacks modified the StackSize in the wrong direction

ACEmulator Monthly Report – January 1, 2019 – February 1, 2019

ACEmulator / ACE:
5 authors have pushed 127 commits to master
366 files have changed
44,716 additions
9,061 deletions
View Pulse
Changelog

Notable Changes:

  • Completed the remainder of the Training Academy! This includes quests, special vendor, NPCs, and granted items.
  • Added remaining Allegiance features:
    • TeleToMansion
    • Allegiance chat channels
    • Allegiance mansion / villa permissions
    • Bindstones
    • Allegiance names
    • Allegiance officers / titles
    • Allegiance message of the day
  •  Major Inventory Refactor
  • Updated EmoteManager to support Kill Task type quests
  • Added all of the Epic/Legendary cantrip spells
  • Added messages for unaffected PK targets
  • Added shop generators for vendor
  • Improved enchantment layering, and refreshing for item spells
  • Improved cooldown interface
  • Added heritage damage ratings
  • Added TOD spells: Augmented Understanding, Facility Hub Recall
  • Added FailProgressCount support for monster logic
  • Added cooldown enchantments
  • Added /hslist (housetype) to show list of available houses.
  • Improved generator heartbeats
  • Removed Burden field from portal appraisal
  • Added Shade/Palette to Vendor ItemProfiles
  • Improved corpse looting permissions data storage
  • Allow rot for generated items
  • Ensure monsters spawn on walkable slopes
  • Improved scatter generators
  • Added support for swapping dual weapons between hands
  • Improved handling of unknown spell ids
  • Separated out magical, non magical, and mundane items from loot generation.
  • Corrected some quest items that were appearing in random loot.
  • Corrected Spells ID’s in spell tables.
  • Updated chests so that it would cast their spell if they have a spell DID.
  • Added falling impact damage
  • Added text message for mana pool usage
  • Added player movement checks for spellcasting
  • Added scribing abilities
  • Added monster targeting tactics
  • Improved chest generators
  • Improved built-in spells for casters
  • Refactored the core object ticking architecture for improved performance
  • Updated EmoteManager for support for TOD data
  • Added LastUnlocker for chests
  • Added dot_duration to spell table
  • Added fellowship spells
  • Added vendor services, and vendors casting spells
  • Added summoned portal ties
  • Added server persistence for spellbook filters
  • Added physics simulation for corpses. This fixes corpses getting stuck in walls
  • Improving portal recall
  • Added /fillcomps persistence to server
  • Added instant vital updates for fellowships
  • Improved allegiance XP passup
  • Added adapters to convert between different data formats (json)
  • Added loot sharing to fellowship system
  • Improved monster navigation between indoors / outdoors
  • Refactored the salvaging system
  • Improved EmoteManager timing
  • Switching to NonCombat when dequipping / swapping ammo
  • Added Pathwarden chests
  • Added gem activation requirements, and cooldowns
  • Added enchantments for Hermetic Link / Void, Spirit Drinker / Loather
  • Added the remaining wield requirement checks
  • Added cantrip imbues
  • Added vendor handling for unsellable items
  • Added max missile range
  • Added proper handling of KillTaunts
  • Added imbues to damage formulas: Critical Strike, Crippling Blow, Armor Rending, Resistance Rending
  • Changed the way recall/summon portal magics work
  • Updated EmoteManager to use TryCastSpell and differentiate between CastSpell (with windup motion) and CastSpellInstant (without windup motion)
  • Updated Portal to process Portal emotes post teleport (successful portal)
  • Added Blackmoor’s Favor gem
  • Updated base Atlan Weapons
  • Added summoning XP, refactoring XP granting for consistency / common methods
  • Added built-in spells to casting items
  • Added handler for EmoteSet.Refuse for NPCs
  • Added LocalBroadcastRange for chat messages
  • Improved monster CombatManeuvers w/ multistrike weapons
  • Porting AllegianceManager to use the new PlayerManager interface
  • Massive cleanup of ObjectGuid usage through the system
  • Improved enchantment layering
  • Removing deception check from assessing NPCs
  • Added handlers for drop/destroy-on-death items
  • Added Buy/Sell/Close vendor emotes
  • Improved monsters returning to home position
  • Updated Readme for additional clarity w/ installation instructions

 

  • Fixed a bug where many players were crashing around Holtburg / Town Network
  • Fixed Asuger Temple for Elysa’s Favor Quest
  • Fixed prices for vendor trade notes
  • Fixed a bug where Mattekars couldn’t be hit with high attacks
  • Fixed armor coverage in slots inventory
  • Fixed monsters alerting unattackable friends
  • Fixed house permissions w/ basements
  • Fixed a bug where Mattekars couldn’t be hit with high attacks
  • Fixed some issues with auras cast from multiple sources
  • Fixed Oswald’s Dirk Quest
  • Fixed spell projectiles not working in Black Dominion dungeon
  • Fixing monster corpse spawn bug
  • Fixed an issue when trying to pick up a stackable that you already have a partial stack of
  • Fixed an issue with ConsumeFromInventory not consuming 1 item
  • Fixing monsters with thrown weapons and shield
  • Fixed double-linked trapdoor switches