diff options
Diffstat (limited to 'scripts/life.gd')
| -rw-r--r-- | scripts/life.gd | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/scripts/life.gd b/scripts/life.gd index 8b842c3..4355e31 100644 --- a/scripts/life.gd +++ b/scripts/life.gd @@ -1,19 +1,25 @@ -extends Object +extends Node const Items = preload("res://scripts/items.gd") +const Events = preload("res://scripts/events.gd") var items +var events var stage var materials var age +var event + func _init(stage, materials): self.items = Items.new() + self.events = Events.new() self.stage = stage self.materials = materials self.age = 0 func evolve(): + print("life evolve", stage, materials) var r = randf() if r > 0.95: print("destroy") @@ -21,17 +27,37 @@ func evolve(): # destroy life elif r > 0.7: print("choice") + self.event = self.events.get_rand_event(self.stage) + var popup = get_tree().get_root().get_node("Game/HUD/popup") + popup.set_text(event["text"]) + popup.set_options(event["options"]) + popup.set_life(self) + popup.popup_centered() # choice event elif r > 0.5: print("up") - self.stage += 1 + self.stage = int(min(self.stage + 1, 6)) # move up elif r > 0.45: print("down") - self.stage = int(max(self.stage, 0)) + self.stage = int(max(self.stage - 1, 0)) # move down else: print("none") # none - print("life evolve", stage, materials) self.age += 1 + +func choice(i): + if i == null: + return + var r = randf() + var result + if r > 0.4: + result = "correct" + self.stage = int(min(self.stage + 1, 6)) + else: + result = "incorrect" + self.stage = int(max(self.stage - 1, 0)) + get_tree().get_root().get_node("Game/HUD").display_message(self.event[result][i]) + get_tree().get_root().get_node("Game/Incubator").display_life() + print(result)
\ No newline at end of file |
