OpenPerpetuum / PerpetuumServer

The Open Perpetuum Project's fork of the Perpetuum Standalone Server
https://openperpetuum.com
Other
44 stars 21 forks source link

Stronghold Exit Rift overhaul: use TargettedPortal! #301

Closed MikeJeffers closed 3 years ago

MikeJeffers commented 3 years ago

The old stronghold rift implementation had customized locations, but not destinations - that remained hardcoded. Now with what was once known as a TargettedPortal (the new ones) we can have both! Essentially the Stronghold exit portal is initialized and managed by a service that reads the static locations and spawns them in, whereas the others are spawned eventfully from the npc death location via an Event Service listener.

The empty concrete classes: StrongholdExitRift and StrongholdEntryRift are just targets for the bootstrapper to associate a Entitydefault definition to a particular class. Functionally there is no difference, but we may want other rifts like these but want them to render/name/describe themselves differently - which will require targeting them to a different definition in the bootstrapper. That's all they are for ultimately.

Otherwise some refactoring to minimize duplicate code and get the desired behavior with single inheritance.

High priority as this is MVP for the release (per team demands)

DB dependencies in this PR/branch https://github.com/OpenPerpetuum/OPDB/pull/276