summaryrefslogtreecommitdiff
path: root/scripts/life.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/life.gd')
-rw-r--r--scripts/life.gd34
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