Skip to content

Commit

Permalink
fix sapling auto-growth; link calculator in tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
pancelor committed Nov 15, 2021
1 parent 1ffbda0 commit be1f115
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 3 deletions.
2 changes: 1 addition & 1 deletion DriftersUserDefined/pancelor-debug/DeadTree.gd
Expand Up @@ -11,7 +11,7 @@ func evolve():
intend_transmute("res://DriftersUserDefined/pancelor-debug/Flames.tscn")

func tweak():
if randf()*50<1:
if randf()*100<1:
world.log("an unlucky spark starts a fire")
intend_transmute("res://DriftersUserDefined/pancelor-debug/Flames.tscn")
else:
Expand Down
5 changes: 5 additions & 0 deletions DriftersUserDefined/pancelor-debug/River.gd
@@ -1,8 +1,13 @@
extends Drifter

# every so often
func evolve():
tweak()

# when the player clicks
func tweak():
if randf()*20<1:
intend_transmute("res://DriftersUserDefined/pancelor-debug/Fish.tscn")
else:
world.log("the river carves a new path")
intend_clone(DirsOrthogonal[randi()%4])
2 changes: 1 addition & 1 deletion DriftersUserDefined/pancelor-debug/River.tscn
Expand Up @@ -10,7 +10,7 @@ script = ExtResource( 1 )
guts = 5
major_element = 2
minor_element = 5
evolve_skip_odds = 2000
evolve_skip_odds = 4000
immovable = true

[node name="Sprite" type="Sprite" parent="."]
Expand Down
4 changes: 4 additions & 0 deletions DriftersUserDefined/pancelor-debug/Sapling.gd
@@ -1,5 +1,9 @@
extends Drifter

# every so often
func evolve():
tweak()

func tweak():
world.log("new life grows")
intend_transmute("res://DriftersUserDefined/pancelor-debug/Tree.tscn")
3 changes: 2 additions & 1 deletion docs/tutorial.md
Expand Up @@ -34,7 +34,8 @@
* `evolve_skip_odds`: higher = your drifter's `evolve` method will get called less often.
* e.g `evolve_skip_odds=1000` means `evolve` will run on roughly 1 out of every 1000 frames
* `evolve_skip_odds=1` means `evolve` will get called on every frame
* `evolve_wait_after`: number of frames of cooldown to wait before calling `evolve` again on your drifter. set it to, idk, 30 to prevent your drifter from suddenly moving a whole lot at once. up to you
* check out [this interactive graph](https://www.desmos.com/calculator/zuytpcsbha) to see how `evolve_skip_odds` affects how long it takes for `evolve()` to happen
* `evolve_wait_after`: number of frames of cooldown to wait before calling `evolve()` again on your drifter. set it to, e.g., 60 to force your drifter to `evolve()` at most once per second.
* `immovable`: normally, objects that move into each other will swap places. however, if your drifter is marked immovable, it will not move.
4. run the game with F5; you should see your drifter spawn! click on it to duplicate it.

Expand Down

0 comments on commit be1f115

Please sign in to comment.