From 74f011c229589288e4d8f92bc46ab20ff7960ade Mon Sep 17 00:00:00 2001 From: Zoroark-Zwart <251644139+Zoroark-Zwart@users.noreply.github.com> Date: Mon, 11 May 2026 21:24:41 -0400 Subject: [PATCH 1/4] Added fully entity and ground names and clarified some text snippets --- EN/Strings/code_tooltips.txt | 95 +++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/EN/Strings/code_tooltips.txt b/EN/Strings/code_tooltips.txt index 84b33eb..79f453b 100644 --- a/EN/Strings/code_tooltips.txt +++ b/EN/Strings/code_tooltips.txt @@ -1,5 +1,5 @@ @code_tooltip_harvest = `harvest()` -Harvests the entity under the drone. +Harvests the entity under the drone. If you harvest an entity that can't be harvested, it will be destroyed. returns `True` if an entity was removed, `False` otherwise. @@ -9,7 +9,7 @@ takes `200` ticks to execute if an entity was removed, `1` tick otherwise. example: `harvest()` @code_tooltip_can_harvest = `can_harvest()` -Used to find out if plants are fully grown. +Used to find out if entities are fully grown. returns `True` if there is an entity under the drone that is ready to be harvested, `False` otherwise. @@ -28,16 +28,16 @@ takes `1` tick to execute. example: `for i in range(10): - print(i) +print(i) for i in range(2,6): - print(i) +print(i) for i in range(10, 0, -1): - print(i)` -@code_tooltip_plant = `plant(entity)` +print(i)` +@code_tooltip_plant = `plant(entity)` Spends the cost of the specified `entity` and plants it under the drone. -It fails if you can't afford the plant, the ground type is wrong or there's already a plant there. +It fails if you can't afford to plant the `entity`, the ground type is wrong or there's already an existing entity there. returns `True` if it succeeded, `False` otherwise. @@ -81,8 +81,8 @@ takes `200` ticks to execute on success, `1` tick otherwise. example: `swap(North)` -@code_tooltip_till = `till()` -Tills the ground under the drone into `Grounds.Soil`. If it's already soil it will change the ground back to `Grounds.Grassland`. +@code_tooltip_till = `till()` +Tills the ground under the drone into `Grounds.Soil`. If it's already `Grounds.Soil` it will change the ground back to `Grounds.Grassland`. returns `None` @@ -90,7 +90,7 @@ takes `200` ticks to execute. example: `till()` -@code_tooltip_get_pos_x = `get_pos_x()` +@code_tooltip_get_pos_x = `get_pos_x()` Gets the current x position of the drone. The x position starts at `0` in the west and increases in the east direction. @@ -100,7 +100,7 @@ takes `1` tick to execute. example: `x, y = get_pos_x(), get_pos_y()` -@code_tooltip_get_pos_y = `get_pos_y()` +@code_tooltip_get_pos_y = `get_pos_y()` Gets the current y position of the drone. The y position starts at `0` in the south and increases in the north direction. @@ -110,7 +110,7 @@ takes `1` tick to execute. example: `x, y = get_pos_x(), get_pos_y()` -@code_tooltip_get_world_size = `get_world_size()` +@code_tooltip_get_world_size = `get_world_size()` Get the current size of the farm. returns the side length of the grid in the north to south direction. @@ -120,27 +120,31 @@ takes `1` tick to execute. example: `for i in range(get_world_size()): move(North)` -@code_tooltip_get_entity_type = `get_entity_type()` +@code_tooltip_get_entity_type = `get_entity_type()` Find out what kind of entity is under the drone. returns `None` if the tile is empty, otherwise returns the type of the entity under the drone. +See the [`Entities`](docs/home.md) category for a list of available `Entities`. + takes `1` tick to execute. example: `if get_entity_type() == Entities.Grass: harvest()` -@code_tooltip_get_ground_type = `get_ground_type()` +@code_tooltip_get_ground_type = `get_ground_type()` Find out what kind of ground is under the drone. returns the type of the ground under the drone. +See the [`Grounds`](docs/home.md) category for a list of available `Grounds`. + takes `1` tick to execute. example: `if get_ground_type() != Grounds.Soil: till()` -@code_tooltip_get_time = `get_time()` +@code_tooltip_get_time = `get_time()` Get the current game time. returns the time in seconds since the start of the game. @@ -164,16 +168,18 @@ example: `do_something() print(get_tick_count())` -@code_tooltip_use_item = `use_item(item, n=1)` -Attempts to use the specified `item` `n` times. Can only be used with some items including `Items.Water`, `Items.Fertilizer`. +@code_tooltip_use_item = `use_item(item, n=1)` +Attempts to use the specified `item` `n` times. Can only be used with some items including: +- `Items.Water` +- `Items.Fertilizer` -returns `True` if an item was used, `False` otherwise. +returns `True` if an `item` was used, `False` otherwise. takes `200` ticks to execute if it succeeded, `1` tick otherwise. example: `use_item(Items.Fertilizer)` -@code_tooltip_get_water = `get_water()` +@code_tooltip_get_water = `get_water()` Get the current water level under the drone. returns the water level under the drone as a number between `0` and `1`. @@ -183,7 +189,7 @@ takes `1` tick to execute. example: `if get_water() < 0.5: use_item(Items.Water)` -@code_tooltip_do_a_flip = `do_a_flip()` +@code_tooltip_do_a_flip = `do_a_flip()` Makes the drone do a flip! This action is not affected by speed upgrades. returns `None` @@ -193,7 +199,7 @@ takes 1s to execute. example: `while True: do_a_flip()` -@code_tooltip_pet_the_piggy = `pet_the_piggy()` +@code_tooltip_pet_the_piggy = `pet_the_piggy()` Pets the piggy! This action is not affected by speed upgrades. returns `None` @@ -203,7 +209,7 @@ takes 1s to execute. example: `while True: pet_the_piggy()` -@code_tooltip_print = `print(*args)` +@code_tooltip_print = `print(*args)` Prints all `args` into the air above the drone using smoke. This action is not affected by speed upgrades. Multiple values can be printed at once. @@ -213,7 +219,7 @@ takes 1s to execute. example: `print("ground:", get_ground_type())` -@code_tooltip_len = `len(collection)` +@code_tooltip_len = `len(collection)` Get the number of elements in a list, set, dict or tuple. returns the length of the `collection`. @@ -224,7 +230,7 @@ example: `for i in range(len(list)): list[i] += 1` @code_tooltip_list = `list(collection = None)` -Creates a new list. +Creates a new list. If `collection` is None, it creates an empty list. If `collection` is any sequence, it creates a new list with the element of the sequence. @@ -296,7 +302,7 @@ takes `200` ticks to execute. example: `set_world_size(5)` -@code_tooltip_num_items = `num_items(item)` +@code_tooltip_num_items = `num_items(item)` Find out how much of `item` you currently have. returns the number of `item` currently in your inventory. @@ -306,7 +312,7 @@ takes `1` tick to execute. example: `if num_items(Items.Fertilizer) > 0: use_item(Items.Fertilizer)` -@code_tooltip_get_cost = `get_cost(thing)` +@code_tooltip_get_cost = `get_cost(thing)` Gets the cost of a `thing` If `thing` is an entity get the cost of planting it. @@ -322,7 +328,7 @@ example: for item in cost: if num_items(item) < cost[item]: print("not enough items to unlock carrots")` -@code_tooltip_clear = `clear()` +@code_tooltip_clear = `clear()` Removes everything from the farm, moves the drone back to position `(0,0)` and changes the hat back to the straw hat. returns `None` @@ -331,7 +337,7 @@ takes `200` ticks to execute. example: `clear()` -@code_tooltip_get_companion = `get_companion()` +@code_tooltip_get_companion = `get_companion()` Get the preferred companion of the plant under the drone. returns a tuple of the form `(companion_type, (companion_x_position, companion_y_position))` @@ -343,7 +349,7 @@ example: if companion != None: plant_type, (x, y) = companion print("Companion:", plant_type, "at", x, ",", y)` -@code_tooltip_unlock = `unlock(unlock)` +@code_tooltip_unlock = `unlock(unlock)` Has exactly the same effect as clicking the button corresponding to `unlock` in the research tree. returns `True` if the unlock was successful, `False` otherwise. @@ -363,7 +369,7 @@ example: `plant(Entities.Bush) n_substance = get_world_size() * num_unlocked(Unlocks.Mazes) use_item(Items.Weird_Substance, n_substance)` -@code_tooltip_reset = `reset()` +@code_tooltip_reset = `reset()` Resets the farm back to a 1x1 square, removes all resources and locks most unlocks. It doesn't remove any of your code. @@ -373,16 +379,17 @@ takes `200` ticks to execute. example: `reset()` -@code_tooltip_measure = `measure(direction = None)` +@code_tooltip_measure = `measure(direction = None)` Can measure some values on some entities. The effect of this depends on the entity. If `direction` is not `None` it measures the neighboring entity in the given direction. -returns the number of petals of a sunflower. -returns the next position for a treasure or apple. -returns the size of a cactus. -returns a mysterious number for a pumpkin. -returns `None` for all other entities. +returns the number of petals of a `Entities.Sunflower`. +returns the next treasure position of a `Entities.Hedge` or `Entities.Treasure` in a maze. +returns the next apple location of a `Entities.Apple` during a dinosaur run. +returns the size of a `Entities.Cactus`. +returns a mysterious number of a `Entities.Pumpkin`. +returns `None` for all other entities or an empty tile. takes `1` tick to execute. @@ -449,11 +456,11 @@ takes `1` tick to execute if the awaited `drone` is already done. example: `def get_entity_type_in_direction(dir): - move(dir) - return get_entity_type() +move(dir) +return get_entity_type() def zero_arg_wrapper(): - return get_entity_type_in_direction(North) +return get_entity_type_in_direction(North) handle = spawn_drone(zero_arg_wrapper) print(wait_for(handle))` @@ -553,7 +560,7 @@ example: `def random_elem(list): index = random() * len(list) // 1 return list[index]` -@code_tooltip_append = `list.append(element)` +@code_tooltip_append = `list.append(element)` Adds `element` to the end of the `list`. returns `None` @@ -563,7 +570,7 @@ takes `1` ticks to execute. example: `list = [] list.append(1)` -@code_tooltip_add = `set.add(element)` +@code_tooltip_add = `set.add(element)` Adds `element` to the `set`. returns `None` @@ -573,7 +580,7 @@ takes `element size` ticks to execute. example: `set = {0} set.add(1)` -@code_tooltip_remove = `collection.remove(element)` +@code_tooltip_remove = `collection.remove(element)` Removes the first occurrence of `element` from the `collection`. returns `None` @@ -583,7 +590,7 @@ takes `element size` ticks to execute on a set, #comparisions + #shifts ticks on example: `list = [True, False, None] list.remove(False)` -@code_tooltip_pop = `collection.pop()` +@code_tooltip_pop = `collection.pop()` Removes the last element from a list or the specified element from a dictionary. `list.pop(i)` removes the element at the index `i` from the `list`. @@ -594,7 +601,7 @@ takes `key size` ticks to execute on a dictionary, `len(list) - i + 1` ticks on example: `list = [True, False, None] list.pop(0)` -@code_tooltip_insert = `list.insert(i, element)` +@code_tooltip_insert = `list.insert(i, element)` Inserts `element` into the `list` at index `i`. returns `None` From 2cb97e7505d164d7d24b725a59f2029e5c8818d7 Mon Sep 17 00:00:00 2001 From: Zoroark-Zwart <251644139+Zoroark-Zwart@users.noreply.github.com> Date: Mon, 11 May 2026 21:58:15 -0400 Subject: [PATCH 2/4] Additional clarifications, added detail, and more referal for enum lists where needed --- EN/Strings/code_tooltips.txt | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/EN/Strings/code_tooltips.txt b/EN/Strings/code_tooltips.txt index 79f453b..933e0b4 100644 --- a/EN/Strings/code_tooltips.txt +++ b/EN/Strings/code_tooltips.txt @@ -72,8 +72,7 @@ example: move(North)` @code_tooltip_swap = `swap(direction)` Swaps the entity under the drone with the entity next to the drone in the specified `direction`. -Doesn't work on all entities. -Also works if one (or both) of the entities are `None`. +Will only work on `Entities.Cactus` or if one (or both) of the entities are `None` (nothing is planted on those tiles). returns `True` if it succeeded, `False` otherwise. @@ -83,6 +82,7 @@ example: `swap(North)` @code_tooltip_till = `till()` Tills the ground under the drone into `Grounds.Soil`. If it's already `Grounds.Soil` it will change the ground back to `Grounds.Grassland`. +In a fresh run, or when `clear()` is called, the ground starts off as `Grounds.Grassland`. returns `None` @@ -125,25 +125,25 @@ Find out what kind of entity is under the drone. returns `None` if the tile is empty, otherwise returns the type of the entity under the drone. -See the [`Entities`](docs/home.md) category for a list of available `Entities`. - takes `1` tick to execute. example: `if get_entity_type() == Entities.Grass: harvest()` + +See the [`Entities`](docs/home.md) category for a list of available `Entities`. @code_tooltip_get_ground_type = `get_ground_type()` Find out what kind of ground is under the drone. returns the type of the ground under the drone. -See the [`Grounds`](docs/home.md) category for a list of available `Grounds`. - takes `1` tick to execute. example: `if get_ground_type() != Grounds.Soil: till()` + +See the [`Grounds`](docs/home.md) category for a list of available `Grounds`. @code_tooltip_get_time = `get_time()` Get the current game time. @@ -290,7 +290,7 @@ example: `set_execution_speed(1)` @code_tooltip_set_world_size = `set_world_size(size)` Limits the size of the farm to better see what's happening. -Also clears the farm and resets the drone position. +Also clears the farm, reseting the ground to `Grounds.Grassland` and resets the drone position to (0,0). Sets the farm to a `size` x `size` grid. The smallest `size` possible is `3`. A `size` smaller than `3` will change the grid back to its full size. @@ -312,6 +312,8 @@ takes `1` tick to execute. example: `if num_items(Items.Fertilizer) > 0: use_item(Items.Fertilizer)` + +See the [`Items`](docs/home.md) category for a list of available `Items`. @code_tooltip_get_cost = `get_cost(thing)` Gets the cost of a `thing` @@ -328,6 +330,8 @@ example: for item in cost: if num_items(item) < cost[item]: print("not enough items to unlock carrots")` + +See the [`Unlocks` or `Entities`](docs/home.md) category for a list of available `Unlocks` or `Entities`. @code_tooltip_clear = `clear()` Removes everything from the farm, moves the drone back to position `(0,0)` and changes the hat back to the straw hat. @@ -338,7 +342,11 @@ takes `200` ticks to execute. example: `clear()` @code_tooltip_get_companion = `get_companion()` -Get the preferred companion of the plant under the drone. +Get the preferred companion of the plant under the drone. Companions can only include: +- `Entities.Grass` +- `Entities.Bush` +- `Entities.Tree` +- `Entities.Carrot` returns a tuple of the form `(companion_type, (companion_x_position, companion_y_position))` @@ -358,6 +366,8 @@ takes `200` ticks to execute if it succeeded, `1` tick otherwise. example: `unlock(Unlocks.Carrots)` + +See the [`Unlocks`](docs/home.md) category for a list of available `Unlocks`. @code_tooltip_num_unlocked = `num_unlocked(thing)` Used to check if an unlock, entity, ground, item or hat is already unlocked. @@ -369,6 +379,8 @@ example: `plant(Entities.Bush) n_substance = get_world_size() * num_unlocked(Unlocks.Mazes) use_item(Items.Weird_Substance, n_substance)` + +See the [`Unlocks`](docs/home.md) category for a list of available `Unlocks`. @code_tooltip_reset = `reset()` Resets the farm back to a 1x1 square, removes all resources and locks most unlocks. It doesn't remove any of your code. From fff10b6ea0da91338a432a8022e1ddd23d292300 Mon Sep 17 00:00:00 2001 From: Zoroark-Zwart <251644139+Zoroark-Zwart@users.noreply.github.com> Date: Wed, 20 May 2026 18:30:34 -0400 Subject: [PATCH 3/4] Clarifications and spelling --- EN/Strings/code_tooltips.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/EN/Strings/code_tooltips.txt b/EN/Strings/code_tooltips.txt index 933e0b4..68ba0de 100644 --- a/EN/Strings/code_tooltips.txt +++ b/EN/Strings/code_tooltips.txt @@ -131,7 +131,7 @@ example: `if get_entity_type() == Entities.Grass: harvest()` -See the [`Entities`](docs/home.md) category for a list of available `Entities`. +See the [`Entities`](docs/home.md) category on the home page for a list of available Entities. @code_tooltip_get_ground_type = `get_ground_type()` Find out what kind of ground is under the drone. @@ -143,7 +143,7 @@ example: `if get_ground_type() != Grounds.Soil: till()` -See the [`Grounds`](docs/home.md) category for a list of available `Grounds`. +See the [`Grounds`](docs/home.md) category on the home page for a list of available Grounds. @code_tooltip_get_time = `get_time()` Get the current game time. @@ -290,7 +290,7 @@ example: `set_execution_speed(1)` @code_tooltip_set_world_size = `set_world_size(size)` Limits the size of the farm to better see what's happening. -Also clears the farm, reseting the ground to `Grounds.Grassland` and resets the drone position to (0,0). +Also clears the farm, resetting the ground to `Grounds.Grassland` and resets the drone position to (0,0). Sets the farm to a `size` x `size` grid. The smallest `size` possible is `3`. A `size` smaller than `3` will change the grid back to its full size. @@ -313,7 +313,7 @@ example: `if num_items(Items.Fertilizer) > 0: use_item(Items.Fertilizer)` -See the [`Items`](docs/home.md) category for a list of available `Items`. +See the [`Items`](docs/home.md) category on the home page for a list of available Items. @code_tooltip_get_cost = `get_cost(thing)` Gets the cost of a `thing` @@ -331,7 +331,7 @@ for item in cost: if num_items(item) < cost[item]: print("not enough items to unlock carrots")` -See the [`Unlocks` or `Entities`](docs/home.md) category for a list of available `Unlocks` or `Entities`. +See the [`Unlocks`](docs/home.md) and [`Entities`](docs/home.md) category on the home page for a list of available Unlocks and Entities. @code_tooltip_clear = `clear()` Removes everything from the farm, moves the drone back to position `(0,0)` and changes the hat back to the straw hat. @@ -367,7 +367,7 @@ takes `200` ticks to execute if it succeeded, `1` tick otherwise. example: `unlock(Unlocks.Carrots)` -See the [`Unlocks`](docs/home.md) category for a list of available `Unlocks`. +See the [`Unlocks`](docs/home.md) category on the home page for a list of available Unlocks. @code_tooltip_num_unlocked = `num_unlocked(thing)` Used to check if an unlock, entity, ground, item or hat is already unlocked. @@ -380,7 +380,7 @@ example: n_substance = get_world_size() * num_unlocked(Unlocks.Mazes) use_item(Items.Weird_Substance, n_substance)` -See the [`Unlocks`](docs/home.md) category for a list of available `Unlocks`. +See the [`Unlocks`](docs/home.md) category on the home page for a list of available Unlocks. @code_tooltip_reset = `reset()` Resets the farm back to a 1x1 square, removes all resources and locks most unlocks. It doesn't remove any of your code. From a76aaa1da18e81f018d71c23d4f0a54a1345b894 Mon Sep 17 00:00:00 2001 From: Zoroark-Zwart <251644139+Zoroark-Zwart@users.noreply.github.com> Date: Wed, 20 May 2026 18:57:55 -0400 Subject: [PATCH 4/4] Added unlock checks to measure doc and reordered list based on unlock order --- EN/Strings/code_tooltips.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/EN/Strings/code_tooltips.txt b/EN/Strings/code_tooltips.txt index 68ba0de..60a9a36 100644 --- a/EN/Strings/code_tooltips.txt +++ b/EN/Strings/code_tooltips.txt @@ -396,11 +396,11 @@ Can measure some values on some entities. The effect of this depends on the enti If `direction` is not `None` it measures the neighboring entity in the given direction. -returns the number of petals of a `Entities.Sunflower`. -returns the next treasure position of a `Entities.Hedge` or `Entities.Treasure` in a maze. -returns the next apple location of a `Entities.Apple` during a dinosaur run. -returns the size of a `Entities.Cactus`. -returns a mysterious number of a `Entities.Pumpkin`. +returns a mysterious number of a `Entities.Pumpkin`. +returns the number of petals of a `Entities.Sunflower`. +returns the size of a `Entities.Cactus`. +returns the next treasure position of a `Entities.Hedge` or `Entities.Treasure` in a maze. +returns the next apple location of a `Entities.Apple` during a dinosaur run. returns `None` for all other entities or an empty tile. takes `1` tick to execute.