Difference between revisions of "NPC Life and Death Design"
Jump to navigation
Jump to search
m (moved NPC Life and Death to NPC Life and Death Design) |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== Life == | == Life == | ||
<uml> | |||
activate gemActor | |||
</uml> | |||
== Death == | == Death == | ||
<uml> | |||
->gemActor : DoDamage | |||
activate gemActor | |||
gemActor -> gemActor : SetMode(DEAD) | |||
gemActor -\\ ProgressionManager : psDeathEvent | |||
gemActor -\\ SpawnManager : psDeathEvent | |||
gemActor -\\ NPCManager : psDeathEvent | |||
gemActor -\\ CombatManager : psDeathEvent | |||
deactivate gemActor | |||
activate ProgressionManager | |||
activate SpawnManager | |||
activate NPCManager | |||
ProgressionManager -> ProgressionManager : HandleDeathEvent | |||
activate ProgressionManager | |||
ProgressionManager -> ProgressionManager : AllocateKillDamage | |||
deactivate ProgressionManager | |||
deactivate ProgressionManager | |||
NPCManager ->> NPCManager : QueueDeathPerception | |||
deactivate NPCManager | |||
SpawnManager ->> SpawnManager : HandleDeathEvent | |||
SpawnManager ->> SpawnManager : KillNPC | |||
activate SpawnManager | |||
SpawnManager ->> NPCManager : PetHasBeenKilled | |||
activate NPCManager | |||
NPCManager ->> PetOwnerSession : HasBeenKilled | |||
activate PetOwnerSession | |||
PetOwnerSession -> PetOwnerSession : StartDeadTimer | |||
activate PetOwnerSession | |||
deactivate PetOwnerSession | |||
NPCManager <<-- PetOwnerSession | |||
deactivate PetOwnerSession | |||
SpawnManager <<-- NPCManager | |||
deactivate NPCManager | |||
SpawnManager -\\ : psDespawnGameEvent | |||
deactivate SpawnManager | |||
... DeathRemainTime ... | |||
SpawnManager \\- : psDespawnGameEvent | |||
activate SpawnManager | |||
SpawnManager ->> SpawnManager : RemoveNPC | |||
deactivate SpawnManager | |||
... Some time ... | |||
--> NPCManager : "/pet summon" | |||
activate NPCManager | |||
NPCManager -> PetOwnerSession : CheckIsPossibleToSummon | |||
activate PetOwnerSession | |||
PetOwnerSession -> PetOwnerSession : CheckDeadTimer | |||
PetOwnerSession --> NPCManager | |||
deactivate PetOwnerSession | |||
deactivate NPCManager | |||
</uml> | |||
[[Category:Engine documents]] [[Category:NPCClient Design]] [[Category:Server Design]] | [[Category:Engine documents]] [[Category:NPCClient Design]] [[Category:Server Design]] |
Latest revision as of 18:59, 9 April 2013
Show Life and Death Cases for NPCs. Both Server side and NPCClient side.
Life
Death