Allow encounter handlers to properly close
This commit is contained in:
parent
d399af040d
commit
140d430235
|
@ -13,8 +13,6 @@ class EncounterHandler(DefaultScript):
|
|||
def at_script_creation(self):
|
||||
# When initiating the encounter
|
||||
self.key = f"encounter_handler_{random.randint(1, 1000)}"
|
||||
self.desc = "Handles an encounter"
|
||||
self.persistent = True
|
||||
|
||||
self.db.characters = {}
|
||||
self.db.turns = []
|
||||
|
@ -34,15 +32,11 @@ class EncounterHandler(DefaultScript):
|
|||
del character.ndb.encounter_handler
|
||||
character.revoke_encounter_cmdset()
|
||||
|
||||
def at_start(self):
|
||||
# When initializing or rebooting
|
||||
for character in self.db.characters.values():
|
||||
self._init_character(character)
|
||||
|
||||
def at_stop(self):
|
||||
# When deinitializing or rebooting
|
||||
# When deinitializing
|
||||
for character in list(self.db.characters.values()):
|
||||
self._cleanup_character(character)
|
||||
self.delete()
|
||||
|
||||
def add_character(self, character):
|
||||
# Adds a character to the encounter
|
||||
|
@ -58,10 +52,9 @@ class EncounterHandler(DefaultScript):
|
|||
if len(self.db.characters) == 1:
|
||||
char = list(self.db.characters.values())[0]
|
||||
char.msg("You are no longer in an encounter.")
|
||||
self._cleanup_character(char)
|
||||
self.stop()
|
||||
self.at_stop()
|
||||
elif not self.db.characters:
|
||||
self.stop()
|
||||
self.at_stop()
|
||||
|
||||
def msg_all(self, message):
|
||||
# Sends text to all players in the encounter
|
||||
|
|
Loading…
Reference in New Issue