Commit graph

12 commits

Author SHA1 Message Date
Ty Conner
6ea7c19ea9
Revise Generator Init/Max spawn conditions (#2991)
* Revise Generator Init/Max spawn conditions

* Update WorldObject_Generators.cs

* Update WorldObject_Generators.cs

* Update AdminCommands.cs

* Update WorldObject.cs

* Update WorldObject_Generators.cs

* Update EmoteManager.cs

* Update WorldObject.cs

* Update GenericObject.cs

* Correct use of GeneratorDestructionType

* Update WorldObject_Generators.cs

* Update EmoteManager.cs

* Update Landblock.cs

* Update Landblock.cs

* Update Landblock.cs

* Update Landblock.cs

* Update Signal Emitting support to all WorldObjects

* Adjust [In/Dec]crement(My)Quest

* Update AdminCommands.cs

* Update DeveloperCommands.cs
2020-06-10 23:47:17 -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
Mag-nus
c1d480a01a
Step 2. Convert WorldDatabase Weenie Cache from the ACE.Database model to the new ACE.Entity model (#2702)
* 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

* More code ported from Step 3

* Update WorldDatabaseWithEntityCache.cs

* GetCachedCookbooks(recpieId) -> GetCookbooksByRecipeId(recpieId)

* build fix

* changelog
2020-03-02 08:03:50 -06: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
5d914a740d
Fix Use Contained Container bug (#1977)
* Prevent using contained Container (R keybind)

* Add do nothing stub to Generic weenie class

* Update changelog.md
2019-06-09 17:45:20 -05:00
Ty Conner
d1d6b4cb12
Fix some issues with crafting (#1808)
* Fix some issues with crafting

* Fix attuned exploit and allow AiAcceptEverything to take stacks

* Update Player_Inventory.cs

* Update GenericObject.cs
2019-04-26 12:06:57 -05:00
gmriggs
728e141d61
adding encapsulated spirit (#1573)
* adding encapsulated spirit

* adding text message
2019-03-28 00:26:16 -04:00
gmriggs
3354274dbc Updating appraisal system / refactoring (#833)
* Fixing specialized skill calcs

* Fix InitLevel on login

* Updating appraisal system / refactoring

* Adding weapon/armor/clothing appraisals

* Cleanup
2018-06-29 11:54:37 -07:00
Ty Conner
3edd5af51a Filled out more Assessment profiles, added some classes 2018-03-06 04:40:13 -05:00
Mag-nus
f4c39ed435 cosmetic cleanup only 2018-03-06 04:37:50 -05:00
Ty Conner
9ecd533274 Flag work 2018-03-06 04:35:57 -05:00
Mag-nus
7421ff234c This moves WorldObjects to their own namespace. Due to their importance, they should be separate 2018-03-06 04:35:54 -05:00
Renamed from Source/ACE.Server/Entity/WorldObjects/GenericObject.cs (Browse further)