mechanic: remember player age

This commit is contained in:
rr-
2018-11-10 17:24:42 +01:00
parent 9bfbaf1646
commit 3cdafe4ec8
+7 -2
View File
@@ -308,6 +308,7 @@ class Player(SignalMixin):
self.race: Race = race
self.class_: Class = class_
self.stats: Stats = stats
self.elapsed = 0.0
self.exp_bar = Bar(max_=level_up_time(1))
self.level = 1
@@ -321,6 +322,10 @@ class Player(SignalMixin):
self.task: T.Optional[BaseTask] = None
self.queue: T.List[BaseTask] = []
def __setstate__(self, obj) -> None:
self.__dict__.update(obj)
self.elapsed = obj.get("elapsed", 0.0)
def set_task(self, task: BaseTask) -> None:
self.task = task
self.task_bar.reset(task.duration)
@@ -429,9 +434,10 @@ class Simulation:
def __init__(self, player: Player) -> None:
self.player = player
self.last_tick = datetime.datetime.now()
self.elapsed = 0.0
def tick(self, elapsed: float = 100.0) -> None:
self.player.elapsed += elapsed
if self.player.task is None:
self.player.set_task(RegularTask("Loading", 2000))
self.player.queue += [
@@ -460,7 +466,6 @@ class Simulation:
return
if not self.player.task_bar.done:
self.elapsed += elapsed
self.player.task_bar.increment(elapsed)
return