Ty Conner
1de1dc23e7
Update Checks for Attribute Transfers and Skill Alterations ( #4476 )
...
* Update AttributeTransferDevice.cs
* Update SkillAlterationDevice.cs
* Update WorldObject_Properties.cs
* Update WorldObject_Use.cs
* Update AttributeTransferDevice.cs
* Update SkillAlterationDevice.cs
* Update AttributeTransferDevice.cs
* Update SkillAlterationDevice.cs
* Update WorldObject_Use.cs
* Update WorldObject_Use.cs
* Update SkillAlterationDevice.cs
* Update AttributeTransferDevice.cs
* Update AttributeTransferDevice.cs
2026-08-13 01:12:28 -04:00
Ty Conner
deb815b7cc
Fix xenophobia in Creatures ( #4420 )
...
Skip HeritageGroup checks during Activation/Use for Creatures
2026-03-15 15:50:17 -04:00
Ty Conner
8f2a805afd
Wire up HeritageGroup use requirement ( #4415 )
...
Add support for checking items with PropertyInt.HeritageGroup to verify player matches for activation
2026-03-08 19:18:59 -04:00
Ty Conner
ae71c93890
Generator System Revision 4 - Profile Delays ( #3650 )
...
* Switch from Slot delay to profile only delay
* Update GeneratorProfile.cs
* Update Chest.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Generators.cs
* Update DeveloperCommands.cs
* Update GeneratorProfile.cs
* Update Chest.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Generators.cs
* Update GeneratorProfile.cs
* Update WorldObject_Generators.cs
* Handle GeneratorType.Relative Rotation offsets
* Update GeneratorProfile.cs
* Adjust RemoveQueue and CurrentCreate
* Update WorldObject_Generators.cs
* more gen adjustments
* apply recommended changed
Co-Authored-By: gmriggs <8909245+gmriggs@users.noreply.github.com>
* Update GeneratorProfile.cs
Co-Authored-By: gmriggs <8909245+gmriggs@users.noreply.github.com>
* Update GeneratorProfile.cs
* Update GeneratorProfile.cs
* Update GeneratorProfile.cs
* Update WorldObject_Generators.cs
* Update GeneratorProfile.cs
* Update WorldObject_Generators.cs
* revamp 2-22-22
* Add GenStopSelectProfileConditions
* some cleanup / notes
* Update GeneratorProfile.cs
* Update WorldObject_Generators.cs
* Update DeveloperCommands.cs
* Update GeneratorProfile.cs
* Update Chest.cs
* Update WorldObject_Generators.cs
* Update GeneratorProfile.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Tick.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Generators.cs
* Update WorldObject_Generators.cs
* more cleanup
* Update DeveloperCommands.cs
* Update GeneratorProfile.cs
* Update WorldObject_Generators.cs
Co-authored-by: gmriggs <8909245+gmriggs@users.noreply.github.com>
2022-03-26 22:44:13 -04: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
Ty Conner
7de38f6bb3
Add UseRequiresLevel check to keys ( #3633 )
...
* Add UseRequiresLevel check to keys
* Update Key.cs
* Update WorldObject_Use.cs
* Update Key.cs
2021-08-01 14:57:28 -04:00
gmriggs
d17adae1cc
add attribute/vital activation requirements ( #3534 )
...
* add attribute/vital activation requirements
* vital.MaxValue
2021-05-05 08:44:16 -04:00
Ty Conner
48b3cfd5e2
Catch and log null activator in CheckUseRequirements ( #3381 )
2020-12-10 21:37:44 -05:00
gmriggs
69c23055be
update cloak proc rate based on player feedback ( #3178 )
...
* update cloak proc rate based on player feedback
* level 0 cloaks do not proc
* adjusting to intended formula, with level 0 cloaks taken into account
2020-08-29 01:48:08 -04:00
gmriggs
b57f7e962b
fix chest reset interval ( #2790 )
2020-03-08 01:58:06 -05:00
gmriggs
fb505f963b
cleaning up door patterns ( #2730 )
...
* door fix
* adding more precise animating timing for ethereal hook
* Revert "adding more precise animating timing for ethereal hook"
This reverts commit 969d4142a4 .
* cleaning up door patterns
* more cleanup / bug fixes
* syncing ethereal time for closing door
* .
* .
2020-02-23 14:02:17 -05:00
Ty Conner
990cb6f854
Update OnActivate for deep-linked object activation propagation ( #2714 )
...
* Update OnActivate for deep-linked object activation propagation
* more wip
* Update WorldObject_Use.cs
2020-02-23 13:15:38 -05:00
Ty Conner
c90a119464
Use DefaultOpen / DefaultLocked properties from DB ( #2660 )
...
* Use DefaultOpen / DefaultLocked properties from DB
* Update Door.cs
2020-01-26 23:18:53 -05:00
Ty Conner
1363bdfb6f
Fix issue with doors that had ActivationResponse on them ( #2034 )
...
* Fix issue with doors that had ActivationResponse on them
* Update Door.cs
Restore OnUse emotes
* Changes
* Update Door.cs
* Update Door.cs
* Update WorldObject_Use.cs
* Update DeveloperCommands.cs
* cleanup
2019-06-23 12:27:58 -05:00
Ty Conner
4d804e5055
Generator system revamp ( #1964 )
...
* Add Landblock_Tick_GeneratorRegeneration
* Split up Generator Regeneration and Heartbeats
* Stop saving Gateway portals to Shard DB
* Add IsGateway to Portal
* Add default sound to Pressure Plates
* Notify Geneator of Pickup of Landblock Stackable
* Add RegenerationTimestamp and GeneratedTreasureItem properties
* Generators 3.0
* 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
- Increate InitCreate and MaxCreate per profile template spec, 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
* cleanup
* Rename Generator to GeneratorProfile
* Rename Generator.cs to GeneratorProfile.cs
* Update GeneratorProfile.cs
* Update WorldObject_Generators.cs
* Skip PlaceHolder object profiles
* Change ProcessGeneratorDestructionDirective to not affect dead/dying creatures
* more cleanup
* Update WorldObject_Generators.cs
Bad data protection
* Update WorldObject_Generators.cs
* Update GeneratorProfile.cs
Catch for bad profile data
* Update WorldObject_Generators.cs
log error for generators with Max < Init
* Update Corpse Logs
* Attempt to curb generator sprawl
* Update WorldObject_Generators.cs
* Update GetRNGInitToMaxObjects
* Update WorldObject_Generators.cs
* Code fix for linkitemgen2minutes
Bad Init/Max for linkable
* Fix issue with spawning treasureDID profiles
* Add GeneratorUpdateTimestamp
* GeneratorHeartbeat renamed to GeneratorUpdate
This matches property found in enum
* Update debug output
* Update Landblock.cs
* Update WorldObject_Generators.cs
* Update DeveloperCommands.cs
* Update ResetInterval resetting
* Update SortedGeneratorRegenerationList when already spawned generator is re-enabled
* More changes
* Container updates
* More Debug Info Added
* Do not change default icon unless Shade or Palette was defined
* Wire up `trophies` command
* Add corpse_decay_tick_logging option
* Add NpcInteractsSilently handling for EmoteType.Give
* Update EmoteManager.cs
* Master change fixes
* Update DeveloperCommands.cs
* Update ServerPerformanceMonitor.cs
* Update DeveloperCommands.cs
* Update changelog.md
2019-06-21 03:16:05 -05:00
Ty Conner
18a145614e
Fix issue with Activate emote ( #1763 )
...
* Fix issue with Activate emote
* Update changelog.md
* Move some broadcasts to WorldBroadcast filter
* more filter changes
2019-04-19 23:14:18 -05:00
gmriggs
2fce2f483f
fixing cow tipping quest ( #1590 )
...
* fixing cow tipping quest
* updating creature
* removing cow deprecated logic
* updating comment
* .
2019-03-29 05:32:57 -04:00
gmriggs
2b2f40ac42
Adding IOUs for EmoteType.Give w/ missing wcids, emote skill check raw->current, move cooldown processing to base, update Active flag and chest logic, spell duration ( #1570 )
...
* Expand CreateIOU usage
* Change EmoteType skill and attrib Inq to use Current
* Move cooldown processing into base
* Modify the way CreateIOU is used in EmoteType.Give
* Couple more changes for CreateIOU
* Support Active on chests with spells equaling 65535
* Change Chest.Open() to use base.OnCastSpell()
* 1548 updates
* Add WeenieType.Chests to list of item objects that retain a timed duration
* Updating 1567
* removing this, since the data has been fixed for the original green mire grave case
2019-03-28 01:18:18 -05:00
gmriggs
1ec29e90ab
setting IsBusy for scroll usage, updating trained skill requirement message ( #1571 )
2019-03-28 00:25:58 -04:00
gmriggs
2fb483b6cb
additional error messages for allegiance swearing ( #1530 )
2019-03-13 17:29:29 -04:00
gmriggs
a0a952dfe5
continued refactoring of HandleUseOnTarget ( #1526 )
2019-03-13 17:28:56 -04:00
gmriggs
84b59e2619
Adding AugmentationDevice ( #1494 )
...
* Adding AugmentationDevice
* removing debug line
* Adding skill specialization augs
* adjusting attribute augs
* adding remaining specific logic
* adding pack slot note
2019-03-06 22:48:14 -05:00
gmriggs
c2eac1532f
Adding house maintenance ( #1427 )
...
* Adding house maintenance
* Adding trade notes -> pyreals
* Adding AllegianceMinRank checking / warning message for maintenance
* Updating for 0.9.15
* adding HouseInstance null check
* more consistency updates / refactoring
* Adding slumlord.MergeAllStackables()
* Adding CheckHouse
2019-02-12 07:10:43 -05:00
gmriggs
9c8bc7ceb0
Adding /hslist <housetype> to show list of available houses ( #1373 )
...
* Adding /hslist <housetype> to show list of available houses
* Updating RootHouse
* Updating activation requirements for wielding items
* More updates
* Adding ConvertToMoASkill to activation requirements
* reversing lock check
* Fixing floating storage chests
* Revise comment
2019-01-26 15:14:32 -05:00
gmriggs
8ba8816762
Refactoring Activate -> Use ( #1363 )
...
* Refactoring Activate -> Use
* Fixing duplicate messages for portal quest restriction
* Fixing dispels affecting -1 duration enchantments (vitae, item sources)
* Updating unlock messages
* Fixing giving NPCs stacks of items
* Adding GameActionTalkDirect
* Adding 'YouFailToAffect' PK status messages, as per retail
* Improved cleave targets
2019-01-25 18:17:32 -05:00
kdmxp256
db39f1d570
Fix Null Spell Msg and Compiler Warnings ( #1351 )
2019-01-22 22:08:14 -08:00
gmriggs
353579eadf
Improved chest generators ( #1322 )
...
* Improved chest generators
* v2
* .
* Handling regeneration for treasure sets
* Cleanup / comments
* updating comment
* Adjusting /create InFrontOf height
* fine-tuning reset intervals
* .
* unblocking vendor LoadInventory
* backporting dual wield patch
* Fixing lock/key case sensitivity
* Fixing chest closing bug
* Adding wielded treasure tables for generators
* .
2019-01-20 21:02:34 -08:00
gmriggs
25561bef4d
Adding vendor services ( #1321 )
...
* Adding vendor services
* .
* Fixing vendor approach
2019-01-19 19:17:24 -05:00
gmriggs
022497f19e
Fixing Oswald's Dirk Quest ( #1303 )
...
* Fixing Oswald's Dirk Quest
* Fixing Invisible Assailants
* Setting Ethereal flag for Rolling Balls of Death
* Additional fixes for ethereal state
2019-01-17 17:04:48 -05:00
gmriggs
273e45bd54
Fixing house hooks + use chains ( #1290 )
2019-01-16 02:33:31 -05:00
gmriggs
253a6aea5e
Some bug fixes ( #1064 ) - Resolves #1061 , #1062 & #1063
2018-10-15 03:50:18 -04:00
mcreedjr
9e56f465c2
Skill redistribution functionality ( #1017 )
...
* Initial SkillAlterationDevice framework. Also added additional debug WeenieType output when an uncoded WO Use is reached.
* Basic specialization functionality working
* Raising, lowering now work with many checks imposed that were in retail
* Replacing incorrect method(s) used to destroy gems on successful use with the proper TryRemoveItemFromInventoryWithNetworking() method per @kdmxp256's guidance. Also updated changelog.
* Correct error where a trained skill and invested experience were reset when specialized. Also added 10 point bonus when skill is specialized
* Fixing init_level
* heritage skills -> always trained skills
* Finalize patches supplied by @gmriggs
* Remove broken method in SkillAlterationDevice class, and clean up patch merging artifacts.
2018-09-21 00:24:52 -04:00
kdmxp256
ea2f34183c
Portal Updates, plus fix IsWithinUseRadiusOf() ( #1009 )
...
* Fix MoveTo?
* Updates to Portals
* Remove or disable debugging chatter
2018-09-10 13:36:34 -07:00
Mag-nus
095df29c6b
ActionChain Cleanup ( #983 )
...
This removes the unecessary ActionChains that were wrapping many of the HandleActionGameEvent functions.
ActionChains should only be used to enqueue work with delays, or, explicitly queue work for another WO that absolutely must be run on the landblock thread that owns the WO. (very rare, if any cases?)
We do not need to worry about out of order operations with HandleActionGameEvents. These handlers are enqueued when they are received on the network threads. They are then executed in a single thread in our UpdateWorld loop. This pattern is unlikely to change, and allows us to make the assumption that code executed from any HandleAction function (and not from an action chain) does not need to worry about thread safety, as it is the only thread modifying the world.
Parallelization will be added for Physics and Landblocks.Tick() at a future date.
2018-09-01 18:51:09 -05:00
Ty Conner
cb448e1b99
Switch Refactor ( #815 )
...
* Switch Refactor
* Debug cleanup
* Add links to Switches
* Null catch
2018-06-04 07:02:02 -07:00
fartwhif
76d4ea7852
wells and pools revitalize you ( #806 )
...
* wells and pools revitalize you
* simplified code
2018-05-26 12:33:46 -07:00
Mag-nus
f1062368e1
Second pass of HandleActionUseItem refactor. Still more work to be done
2018-03-24 21:14:52 -05:00
Mag-nus
b1da99466f
Changed DoActionUseItem and ActOnUse signature to be more appropriate.
2018-03-23 17:44:31 -05:00
Mag-nus
796812f8ab
This moves some of the use code around in preparation for the refactor
2018-03-23 17:14:59 -05:00
Mag-nus
9b20b42f8b
Cosmetic stuff for some systems I'm working on.
2018-03-21 13:13:42 -05:00