Commit graph

172 commits

Author SHA1 Message Date
Ty Conner
9a89cba331
More Appraisal fixes (#4475)
* Update AppraiseInfo.cs

* Update AppraiseInfo.cs
2026-08-01 21:22:24 -04:00
Ty Conner
80dca15ccc
Update AppraiseInfo.cs (#4474) 2026-08-01 14:41:44 -04:00
OptimShi
10fac6b083
Update properties sent to client (#4258)
* Cleaned up properties sent on appraisal and login

* Fix missing [Ephemeral] attributes

* Balanced enum balances, reduced multiple attributes to a single line

* Fixed single spacing issue.

* Fixed bad speeling

* Add EncumbranceVal to [AssessmentProperty]

* Add EncumbranceVal to [SendOnLogin]

---------

Co-authored-by: OptimShi <26606778+OptimShi@users.noreply.github.com>
2025-01-14 20:53:42 -05:00
Ty Conner
a56333bd81
Set House ParentLink on Load (#4238)
Adjusted some logging and added a parentlink for slumlord to house.
2024-10-29 11:08:04 -04:00
FlaggAC
7f1b58ab24
Change static readonly fields to const fields. (#4211)
This will at least somewhat improve performance, as confirmed through microbenchmark testing.

const fields are replaced with literal values in the Assembly's IL code, while static readonly fields may be optimized by the JIT, and is not guaranteed to happen. const fields may also lend themselves to stronger optimizations at runtime.
2024-08-24 14:32:35 +00:00
Ty Conner
c5a0f52d12
Adjust SquelchDB handling for accounts (#4185)
* Adjust SquelchDB handling for accounts

* Update SquelchDB.cs

* Update SquelchDB.cs
2024-06-06 00:58:13 -04:00
Ty Conner
e0d4c3a043
Wire up GameEventMagicPurgeBadEnchantments (#4127)
* Wire up GameEventMagicPurgeBadEnchantments

According to PCAPs GameEventMagicPurgeBadEnchantments was sent to clients for players with Enduring Enchantment augmentation.

Client has slightly different check in CEnchantmentRegistry::PurgeBadEnchantmentList versus CEnchantmentRegistry::PurgeEnchantmentList
```cpp
    if ( v4->data._smod.type & 0x2000000 || v4->data._duration == -1.0 )
```
vs
```cpp
    if ( v4->data._duration == -1.0 )
```

* Update EnchantmentManager.cs

A large number of spells that the DAT has marked beneficial do not also have their StatModType currently set with that same flag.

This changes makes them match.

* Update Enchantment.cs
2024-03-15 00:54:31 -04:00
Mag-nus
b5215713f1
Improve WorldObject_Properties GetAllProperties* (#4109) 2024-03-13 02:39:21 +00:00
Ty Conner
c3c4a059f2
Adjust House UI for MaintenanceFree (#4102) 2024-02-09 14:38:05 -05:00
Ty Conner
ab54cf9002
Add support for client DAT patching from server (#3979)
* Update DatFile.cs

* Update DatFileType.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Create DDDManager.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Create GameMessageDDDBeginDDD.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Create GameMessageDDDDataMessage.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update DDDHandler.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update WorldManager.cs

* Update Program.cs

* committing changes provided

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* more wip changes

* Update DDDManager.cs

* Update DDDManager.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update CMostlyConsecutiveIntSet.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update WorldManager.cs

* Update DDDHandler.cs

* Update Session.cs

* Update DDDManager.cs

* Update Session.cs

* Update DDDManager.cs

* Update DDDManager.cs

* Update GameMessageDDDDataMessage.cs

* Update DDDHandler.cs

* Update Session.cs

* Update CAllIterationList.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update CMostlyConsecutiveIntSet.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Create PTaggedIterationList.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update Session.cs

* Update ConnectionListener.cs

* Create DDDConfiguration.cs

* Update MasterConfiguration.cs

* Update Config.js.example

* Update DDDManager.cs

* Update DDDHandler.cs

* Update Program.cs

* Update PropertyManager.cs

* Update WorldManager.cs

* Update SessionTerminationReason.cs

* Update DDDHandler.cs

* Update DDDManager.cs

* Update ConnectionListener.cs

* Update SessionTerminationReason.cs

* Update GameMessageDDDDataMessage.cs

* Update AuthenticationHandler.cs

* Update CharacterHandler.cs

* Update PacketInboundLoginRequest.cs

* Update Session.cs

* Update DatFileType.cs

---------

Co-authored-by: OptimShi <OptimShi@users.noreply.github.com>
2023-06-09 13:15:10 -04:00
gmriggs
88d4d969ca
improve performance for looking up players by name or account id (#3966)
* improve performance for looking up players by name or account id

* add check for null account (should only happen with old / bugged data sets)
2023-05-23 13:05:09 -04:00
Ty Conner
a29af12ef8
Handle AbsorbMagicDamage in Appraisal (#3918)
* Handle AbsorbMagicDamage in Appraisal

* Update AppraiseInfo.cs
2022-10-27 14:57:18 -04:00
gmriggs
26325ec2c3
showing defense aura on thrown weapon appraisal (#3916) 2022-10-27 14:57:09 -04:00
Ty Conner
b9ca49e6b2
Update Appraisal to mask value for all containers (#3865) 2022-07-02 12:13:55 -04:00
Ty Conner
5f0d3f2c69
Address issue with some ImbueStackingBits recipe results (#3832)
* Address issue with some ImbueStackingBits recipe results

* fix the checks
2022-04-14 18:42:03 -04:00
Ty Conner
f7eac2dc9d
Adjust GetWeaponOffenseModifier for ranged weapons (#3824)
* Adjust GetWeaponOffenseModifier for ranged weapons

* Update WeaponProfile.cs

* Update WeaponProfile.cs
2022-03-26 22:17:05 -04:00
Ty Conner
bae25648e8
Show Unlocked on Appraisal panel for things that have been unlocked (#3813) 2022-03-12 04:45:36 -05:00
Ty Conner
cb8fa2f50b
Adjust Appraisal info for Hooks (#3793) 2022-01-19 12:09:18 -05:00
Ty Conner
187299fc25
Catch null Weenie on Appraisal (#3763)
* Catch null Weenie on Appraisal

* Update AppraiseInfo.cs

Co-Authored-By: gmriggs <8909245+gmriggs@users.noreply.github.com>

Co-authored-by: gmriggs <8909245+gmriggs@users.noreply.github.com>
2021-12-23 03:39:36 -05:00
Ty Conner
9ae7b67da6
Remove EncumbranceVal in Appraisal if not present in weenie for creatures looking like objects (#3737) 2021-11-17 12:13:32 -05:00
Ty Conner
046ec2df0e
More OlthoiPlay support (#3709)
* Adjust CharacterOption defaults

These changes match client enums and pcaps

* Update Player_Character.cs

* Updates for OlthoiPlay

- Handle OIthoi creation defaults
- Handle Olthoi talking
- Handle Olthoi global chat

* .

* Adjust tells from/to Olthoi

* More IsOlthoiPlayer blocks

* Update Player.cs

* Bit o' refactor

* Update AppraiseInfo.cs

* Update TurbineChatHandler.cs

* Update TurbineChatHandler.cs

* Update Player_Inventory.cs

* Update Player_Inventory.cs

* Revert IsOlthoiPlayer to get/set

* Update Player_Xp.cs

* Update Player.cs

* Update Player_Death.cs

* Update Player.cs

* Update Player_Allegiance.cs

* Update Player_Fellowship.cs

* Update Player_Character.cs

* Update WorldObject_Use.cs

* Update WorldObject_Magic.cs

* Update DamageHistoryInfo.cs

* Update Creature_Death.cs

* Update Player_Death.cs

* Update Player_Trade.cs
2021-10-18 21:14:12 -04:00
gmriggs
4531a2ab40
fix duplicate enchantments showing up on some hand/foot armor (#3700) 2021-10-11 13:39:54 -04:00
Ty Conner
1f11044ee2
Remove Value from all Corpses (#3678) 2021-09-25 11:11:33 -04:00
gmriggs
a37d703924
fix some item enchantments not showing up during appraisal (#3680) 2021-09-23 20:35:06 -04:00
Ty Conner
4c10cf422a
Wire up display of PKDamageRating and PKDamageResistRating (#3672)
* Wire up display of PKDamageRating and PKDamageResistRating

* Apply formulas

Co-Authored-By: gmriggs <8909245+gmriggs@users.noreply.github.com>

Co-authored-by: gmriggs <8909245+gmriggs@users.noreply.github.com>
2021-09-11 13:35:09 -04:00
Ty Conner
95e7b62b52
Add show_aura_buff to toggle non-retail behavior (#3646) 2021-08-08 19:26:49 -04:00
gmriggs
fb82d27442
adding show_ammo_buff server config option (#3629) 2021-08-08 19:01:25 -04:00
gmriggs
aa9bc542ba
fix some client memory leaks from incorrectly ordered hashtables on login (#3576)
* fix some client memory leaks with appraisals

* fix some client memory leaks from incorrectly ordered hashtables on login

* more organization for PackableHashTable vs. deprecated PHashTable

* fully deprecate PHashTable -- 0 references now

* refactor RestrictionDB.Write() to use PackableHashTable common method. trying to ensure all places in the system that send PackableHashTables go through common method, for consistency and tracing

* cleanup

* finding more references

* update HouseAccess to match client

* add full explanation where numBuckets=89 originates from

* update code for empty collection in AllegianceHierarchy for reference
2021-06-12 16:10:21 -04:00
gmriggs
9137ab21d2
fix some client memory leaks with appraisals (#3575) 2021-06-12 16:03:19 -04:00
gmriggs
44d5c5080e
fixing item appraisal active enchantments missing some spells (#3580) 2021-06-10 18:58:01 -04:00
Ty Conner
5a3191f896
Enhancements to Housing (#3508)
* Enhancements to Housing

* Update AdminCommands.cs

* Update Container.cs

* Add proper HAR support

/house guest list uses HAR

* Update AdminCommands.cs

* Update AdminCommands.cs

* Update HouseAccess.cs

* Update HouseAccess.cs

* house_30daylimit

* Update Player_Inventory.cs

Town Crier a deed, house gets abandoned

* Update HouseManager.cs

* Update Player_House.cs

* Update AdminCommands.cs

* Wire up House Hook limits

* Update Player_Inventory.cs

* Update AdminCommands.cs

* Add HookGroup support

* Update HookGroupType.cs

* Update PropertyInt.cs

* WriteableItems -> WritableItems

* Update Player_House.cs

* Update AdminCommands.cs

* Update Player_Tick.cs

* Update Player_House.cs

* Update Player_Tick.cs

* Update HookGroupType.cs

* dump_all

* Update AdminCommands.cs

* Update AdminCommands.cs

* Update AdminCommands.cs

* Update AdminCommands.cs

* Update AdminCommands.cs

* Update AdminCommands.cs

* Update AdminCommands.cs

* Update HouseManager.cs

* Update HouseManager.cs

* Update AdminCommands.cs

* house_15day_account

* Update appveyor.yml
2021-04-13 14:11:09 -04:00
gmriggs
6c51d747d1
alternative to hatred bits, using extra faction bits (#3421) 2021-04-13 13:54:24 -04:00
Mag-nus
a72f93aa57
Fix Appraise for equipment with banes (#3492) 2021-03-07 14:45:36 -06:00
gmriggs
ad1311171e
adding magical dinnerware (#3283)
* adding end of retail mutation filters for melee weapon damage, wield difficulty, damage variance, weapondefense, and weaponoffense

* .

* adding 4eyebiped credit

* adding end of retail mutation filters for missile weapon DamageMod, ElementalDamageBonus, WieldRequirements, and WeaponDefense

* adding end of retail mutation filters for caster weapon ManaConversionMod, ElementalDamageMod, WieldRequirements, and WeaponDefense

* update melee scripts

* resolve merge

* .

* add missing lines

* adding weapon speed mutations

* appending LongDesc with ' of <first spell name w/ descriptor>'

* .

* adding some missing spell descs from magloot logs

* adding SpellDIDs to isMagical casters

* wip

* finalizing

* updating qualityMod

* modifying qualityMod again, to align with data + magloot logs for legendary chests

* ConcurrentDictionary.TryAdd

* updating Clothing spells w/ latest data

* porting *_cantrip_drop_rate server config options to updated cantrips system

* update CreateRandomScroll() to eor chances and ranges

* update

* spacing

* adding retail chance tables for level 8 spell components, adding quality mod to more rolls

* small adjustments

* wip

* adding PetDevice and EncapsulatedSpirit to updated loot system

* adding Aetheria to CreateRandomLootObjects_New w/ chances from magloot logs

* add 2 missing glyphs

* adding Cloaks to updated loot system w/ retail chances for drop rates and ItemMaxLevel

* adding trinkets to jewelry wcid tables w/ eor chances

* adding retail process and chances for rolling for coalesced mana

* adding support for society armor to updated loot system

* updating spell selection tables to eor data

* adding comment for clarity

* updating cantrip selection tables to eor chances / data

* linking to new cantrip tables in updated loot system

* adding GetSpellCode_Dynamic alt method

* adding chance table verification, fixing 2 chance tables

* updating threshold

* adding some missing wcids

* adding ArmorModVsType mutations

* adding TryMutateGearRating() to updated T8 loot

* adding missing logic for TreasureItemType.Cloak

* cleanup

* adding GearMaxHealth to jewelry roll

* matching CalculateManaRate, ItemMaxMana, Spellcraft, ItemSkill/LevelLimit activation requirement, and ItemDifficulty / arcane lore requirement up to eor data

* adding magical dinnerware

* adding dinnerware damage "mutations"

* revert previous commit, add WeaponProfile to Dinnerware appraisal, as per retail

* add flasksimple to spell selection code dynamic

* updating ItemManaCost

* updates to maxBaseMana / maxSpellMana

* no message
2020-10-12 01:10:00 -04:00
Ty Conner
3f716ee6f7
Add basic support for ResistItemAppraisal (#3186) 2020-09-04 00:18:06 -04:00
Ty Conner
07032cd44f
Adjustments to ContractTracker (#3184) 2020-08-29 00:47:57 -04:00
gmriggs
75ec163a35
add null player crash prevention to ContractTracker (#3181) 2020-08-28 19:26:19 -04:00
gmriggs
31d54864bd
add support for faction monsters not attacking same-factioned players or their combat pets, unless provoked (#3109)
* add support for faction monsters not waking up from same-faction players running nearby

* prevent faction monsters from attacking same-factioned players after a non-factioned player wakes them up

* adding support for CombatPets not attacking mobs belonging to the same factions as their pet owner

* add support for RetaliateTargets -- see comment for this member var for full explanation

* reversing 1 check -- note that with the current logic, if Faction1Bits is set after the monster spawns in, RetaliateTargets will not be used, effectively reverting to the 'free for all' after a monster initially wakes up

* adding /setproperty PropertyInt.Faction1Bits extra logic for easier / more consistent testing after spawning

* adding RetaliateTargets logic for nearby faction monsters being alerted

* moving attack -> retaliate entry logic to not require sleeping mob

Co-authored-by: Ty Conner <tyconner@itcproductions.com>
2020-08-13 00:03:30 -04:00
Ty Conner
b0eca0e5cd
Fix issue with Tailoring over MaterialType (#3105)
* Fix issue with Tailoring over MaterialType

* Update AppraisalLongDescDecoration handling

* Update AppraiseInfo.cs
2020-08-06 00:00:42 -04:00
Ty Conner
85134384a6
Only show ArmorLevels on Players or Unattackable Creatures (#3079)
* Only show ArmorLevels on Players

* include unattackable creatures

* Update ArmorLevel.cs
2020-07-16 00:38:44 -04:00
Ty Conner
82578fffb6
Some Appraisal changes (#3067)
* SQL Writer update

* Some Appraisal changes

Moving properties to runtime only
2020-07-12 18:40:05 -04:00
gmriggs
5baad3fa9a
handle appraisal for * unenchantable body parts (#3073)
* handle appraisal for * unenchantable body parts

* order of operations for -AL
2020-07-11 22:23:24 -04:00
Ty Conner
3039cb4926
Updates to Fellowship locking (#3044)
* Updates to Fellowship locking

* Update Fellowship.cs

* .

* .

* Update Fellowship.cs

* .

* Update Fellowship.cs

* Update FellowshipLockData.cs

* Update Fellowship.cs
2020-06-27 02:42:26 -04:00
FlaggAC
ec9b698b71
Fix for sentinel/envoy access level [#3034] (#3035)
* Fix for sentinel/envoy access level

* Update PropertyBool.cs

* enable IsSentinel flag for Envoy users, because IsEnvoy is not recognized by the client

Co-authored-by: Ty Conner <tyconner@itcproductions.com>
2020-06-23 14:48:54 -04:00
harliq
f8b03ffbbe
Added Colo FP to Enum and RecipeManager (#3019)
* Added Colo FP to Enum and RecipeManager

* Updated Armor Imbue Recipes

* Added Misc ItemType of FP salvage to be used for Tinkering

* Restricted Misc Types to certain WCIDs

* Changed so appraisal info doesn't show 100 uses
2020-06-11 00:00:08 -04:00
Ty Conner
d4491df023
Do not send Structure in Appraisal reply for TinkeringMaterial CraftTools (#2976) 2020-05-08 01:46:12 -04:00
Mag-nus
75fc1ce23c
Step 3. Convert ShardDatabase/WorldObjects biota from the ACE.Database model to the new ACE.Entity model (#2731)
* Step 1. Add new adapter classes and models

All classes and objects added are in new namespaces.

This add has 0 interraction on existing ACE code.

This sets the groundwork for Step 2. Moving World DB caching to the new models

* first part of the world entity usage

* almost there

* final part

* update WeenieExtensions

* fix

* merge fixes and improvements

* ACE.Database new code

* it compiles

* InitializePropertyDictionaries

* WOrldDatabaseWithEntityCache cleanup

* ShardDatabaseWithCaching

* ShardDatabase Cleanup

* todo

* cache counts reported in serverstatus

* House InitializePropertyDictionaries

* improve ServerStatus

* BiotaModel change HousePermissions to Dictionary<uint, bool>

* PropertiesAllegiance to dictionary

* BiotaUpdater improvements

* Shard Database Cache Reporting

* More code ported from Step 3

* Remove stub CharacterCache

* Update WorldDatabaseWithEntityCache.cs

* build fixes

* code audit

* Remove non-callback functions from SerializedShardDatabase

* BiotaUpdater progress.. only emote left

* Emotes done... now need to test

* fix

* Burden/Value fix for containers

* fat fingered EncumbranceVal

* add some safety

* Don't cache player biotas for initial PlayerManager load

* fix null spellbook

* Add another null check

This is redundant as the check is also upstream.

This is to prevent an exception in the future if this function is called from another source.
2020-04-02 22:40:27 -05:00
gmriggs
56255472e4
fix corpses spawning frozen in mid-air (#2848)
* fix corpses spawning frozen in mid-air

* updating fields

* /movetome admin command

* adding /showvelocity dev command

* only applies to player killers

* ensure corpse items are saved correctly if server crashes
2020-03-23 20:56:34 -04:00
gmriggs
39efb29e22
fixing global velocity for jump broadcast (#2838)
* fixing global velocity for jump broadcast

* updating npk

* further fixes for slide interpolation after landing
2020-03-21 13:40:35 -04:00
gmriggs
6099ac9d30
adding support for passive pets (#2713)
* adding support for passive pets

* adding passive pets casting spells on owner

* accounting for structure-less PetDevices for passive pets

* adding static heartbeat

* prevent monster initial snap forward when they start moving

* latest build

* - no more passive pet armies
- passive pet automatically despawns if player is > 1 landblock distance away
- deprecated passive pet spellbooks. new SlowTick method has full support for heartbeat emotes / PetCastSpellOnOwner

* removing comment

* updating PetCastSpellOnOwner

* removing TryCastSpells - use EmoteManager.PetCastSpellOnOwner instead

Co-authored-by: Ty Conner <tyconner@itcproductions.com>
2020-03-10 01:57:20 -04:00