/tg/ Station 13 - Modules - TypesVar Details - Proc Details

fish

Vars

aquarium_vc_colorIf present aquarium visual will be of this color
average_sizeAverage size for this fish type in centimeters. Will be used as gaussian distribution with 20% deviation for fishing, bought fish are always standard size
average_weightAverage weight for this fish type in grams
beautyThe beauty this fish provides to the aquarium it's inserted in.
bites_amountIf you wonder why this isn't being tracked by the edible component instead: We reset the this value when revived, and slowly chip it away as we heal. Of course, it would be daunting to get this to be handled by the edible component given its complexity.
breeding_timeoutHow long it takes to produce new fish
breeding_waitThe time limit before new fish can be created
compatible_typesIf set, the fish can also breed with these fishes types
death_textThe message shown when the fish dies.
dedicated_in_aquarium_iconthis icon file will be used for in-aquarium visual for the fish
dedicated_in_aquarium_icon_stateThe icon_state that will be used for in-aquarium visual for the fish If not set, "[initial(icon_state)]_small" will be used instead
disliked_baitBait identifiers that make catching this fish harder and less likely Bait identifiers: Path | Trait | list("Type"="Foodtype","Value"= Food Type Flag like [MEAT])
electrogenesis_cooldowncooldown on creating tesla zaps
electrogenesis_powerpower of the tesla zap created by the fish in a bioelectric generator. Scales with size.
evolution_typesA list of possible evolutions. If set, offsprings may be of a different, new fish type if conditions are met.
favorite_baitBait identifiers that make catching this fish easier and more likely Bait identifiers: Path | Trait | list("Type"="Foodtype","Value"= Food Type Flag like [MEAT])
feeding_frequencyHow often the fish needs to be fed
fillet_typeFish autogenerated from this behaviour will be processable into this
fish_flagsFlags for fish variables that would otherwise be TRUE/FALSE
fish_idAn identifier for this fish used to track progress for fish caught between rounds in a way that's resilient to repathing (and removing paths). Only catchable fish need it. Once set, the value shouldn't be changed, so don't make typos.
fish_movement_typepath to datums that dictate how the fish moves during the fishing minigame
fish_traitsList of fish trait types, these may modify probabilty/difficulty depending on rod/user properties or dictate how the fish behaves or some of its qualities.
fishing_difficulty_modifierBase additive modifier to fishing difficulty
foodWhat type of reagent this fish needs to be fed.
healthCurrent fish health. Dies at 0.
icon_state_deadicon used when the fish is dead, ifset.
last_feedingTime of last the fish was fed
material_weight_multStores the current total weight modifier from materials.
maximum_sizeThe maximum size this fish can reach, calculated the first time update_size_and_weight() is called.
maximum_weightThe maximum weight this fish can reach, calculated the first time update_size_and_weight() is called.
min_pressureOutside of an aquarium, the pressure needs to be within these two variables for the environment to be safe.
num_filletsnumber of fillets given by the fish. It scales with its size.
random_case_rarityHow rare this fish is in the random cases
required_fluid_typeRequired fluid type for this fish to live.
required_temperature_maxMaximum possible temperature for the fish to live.
required_temperature_minRequired minimum temperature for the fish to live.
safe_air_limitsWhen outside of an aquarium, these gases that are checked (as well as pressure and temp) to assert if the environment is safe or not.
sizeSize in centimeters. Null until update_size_and_weight is called. Number of fillets and w_class scale with it.
spawn_typesIf set, when procreating these are the types of fish that will be generate instead of 'type'
sprite_heightheight of aquarium visual icon
sprite_widthwidth of aquarium visual icon
stable_populationWon't breed more than this amount in single aquarium.
statusFish status
temp_sizeTemporarily stores the new size of the fish from randomize_size_and_weight() to be used by update_size_weight() later, so that it can be deferred.
temp_weightTemporarily stores the new weight of the fish from randomize_size_and_weight() to be used by update_size_weight() later, so that it can be deferred.
weightWeight in grams. Null until update_size_and_weight is called. Grind results scale with it. Don't think too hard how a trout could fit in a blender.
weight_size_deviationThe general deviation from the average weight and size this fish has in the wild

Procs

UsedforProcessingWhen processed, the reagents inside this fish will be passed to the created atoms.
adjust_reagents_capacityadjusts the maximum volume of the fish reagents holder and update the amount of food to bite
after_eatFish is not a reagent holder yet it's edible, so it doen't behave like most other snacks which means it has its own way of handling being bitten, which is defined here.
calculate_fish_force_bonusA proc that makes the fish slightly stronger or weaker if there's a noticeable discrepancy between size and weight.
check_likedChecks if the fish is liked or not when eaten by a human.
feedFeed the fishes with the contents of the fish feed
flop_animationThis flopping animation played while the fish is alive.
generate_fish_reagentsA proc that returns a static reagent holder with a set reagents that you'd get when eating this fish.
get_aquarium_fishesReturns tracked_fish_by_type but flattened and without the items in the blacklist, also shuffled if shuffle is TRUE.
get_base_edible_reagents_to_addThe proc that adds in the main reagents this fish has when eaten (without accounting for traits)
get_export_priceReturns the price of this fish, for the fish export.
get_food_typesA proc that returns the food types the edible component has when initialized.
get_hungerReturns the 0-1 value for hunger
inherit_traitsThis proc has fish_traits list populated with fish_traits paths from three different lists: traits from x_traits and y_traits are compared, and inserted if conditions are met; traits from fixed_traits are inserted unconditionally. traits from removed_traits will be removed from the for loop.
make_edibleMain proc that makes the fish edible.
on_fish_cookedKill the fish, remove the raw and gore food types, and the infectiveness too if not under-cooked.
on_fish_cooked_againJust kill the fish, again, and perhaps remove the infective comp.
on_grindGrinding a fish replaces some the protein it has with blood and gibs. You ain't getting a clean smoothie out of it.
on_temp_animationRefreshes flopping animation after temporary animation finishes
proper_environmentChecks if our current environment lets us live.
randomize_size_and_weightThis proc takes a base size, base weight and deviation arguments to generate new size and weight through a gaussian distribution (bell curve) Mainly used to determinate the size and weight of caught fish.
sate_hungerProc that should be called when the fish is fed. By default, it grows the fish depending on various variables.
set_max_size_and_weightSet the maximum size and weight a fish can reach from base size and weight args if they have't been set already.
start_floppingStarts flopping animation
stop_floppingStops flopping animation
swim_animationCreate looping random path animation, pixel offsets parameters include offsets already
update_fish_forceReset weapon-related variables of this items and recalculates those values based on the fish weight and size.
update_size_and_weightUpdates weight and size, along with weight class, number of fillets you can get and grind results.
well_cookedThe fish is well cooked. Change how the fish tastes, remove the infective comp and add the relative trait.

Var Details

aquarium_vc_color

If present aquarium visual will be of this color

average_size

Average size for this fish type in centimeters. Will be used as gaussian distribution with 20% deviation for fishing, bought fish are always standard size

average_weight

Average weight for this fish type in grams

beauty

The beauty this fish provides to the aquarium it's inserted in.

bites_amount

If you wonder why this isn't being tracked by the edible component instead: We reset the this value when revived, and slowly chip it away as we heal. Of course, it would be daunting to get this to be handled by the edible component given its complexity.

breeding_timeout

How long it takes to produce new fish

breeding_wait

The time limit before new fish can be created

compatible_types

If set, the fish can also breed with these fishes types

death_text

The message shown when the fish dies.

dedicated_in_aquarium_icon

this icon file will be used for in-aquarium visual for the fish

dedicated_in_aquarium_icon_state

The icon_state that will be used for in-aquarium visual for the fish If not set, "[initial(icon_state)]_small" will be used instead

disliked_bait

Bait identifiers that make catching this fish harder and less likely Bait identifiers: Path | Trait | list("Type"="Foodtype","Value"= Food Type Flag like [MEAT])

electrogenesis_cooldown

cooldown on creating tesla zaps

electrogenesis_power

power of the tesla zap created by the fish in a bioelectric generator. Scales with size.

evolution_types

A list of possible evolutions. If set, offsprings may be of a different, new fish type if conditions are met.

favorite_bait

Bait identifiers that make catching this fish easier and more likely Bait identifiers: Path | Trait | list("Type"="Foodtype","Value"= Food Type Flag like [MEAT])

feeding_frequency

How often the fish needs to be fed

fillet_type

Fish autogenerated from this behaviour will be processable into this

fish_flags

Flags for fish variables that would otherwise be TRUE/FALSE

fish_id

An identifier for this fish used to track progress for fish caught between rounds in a way that's resilient to repathing (and removing paths). Only catchable fish need it. Once set, the value shouldn't be changed, so don't make typos.

fish_movement_type

path to datums that dictate how the fish moves during the fishing minigame

fish_traits

List of fish trait types, these may modify probabilty/difficulty depending on rod/user properties or dictate how the fish behaves or some of its qualities.

fishing_difficulty_modifier

Base additive modifier to fishing difficulty

food

What type of reagent this fish needs to be fed.

health

Current fish health. Dies at 0.

icon_state_dead

icon used when the fish is dead, ifset.

last_feeding

Time of last the fish was fed

material_weight_mult

Stores the current total weight modifier from materials.

maximum_size

The maximum size this fish can reach, calculated the first time update_size_and_weight() is called.

maximum_weight

The maximum weight this fish can reach, calculated the first time update_size_and_weight() is called.

min_pressure

Outside of an aquarium, the pressure needs to be within these two variables for the environment to be safe.

num_fillets

number of fillets given by the fish. It scales with its size.

random_case_rarity

How rare this fish is in the random cases

required_fluid_type

Required fluid type for this fish to live.

required_temperature_max

Maximum possible temperature for the fish to live.

required_temperature_min

Required minimum temperature for the fish to live.

safe_air_limits

When outside of an aquarium, these gases that are checked (as well as pressure and temp) to assert if the environment is safe or not.

size

Size in centimeters. Null until update_size_and_weight is called. Number of fillets and w_class scale with it.

spawn_types

If set, when procreating these are the types of fish that will be generate instead of 'type'

sprite_height

height of aquarium visual icon

sprite_width

width of aquarium visual icon

stable_population

Won't breed more than this amount in single aquarium.

status

Fish status

temp_size

Temporarily stores the new size of the fish from randomize_size_and_weight() to be used by update_size_weight() later, so that it can be deferred.

temp_weight

Temporarily stores the new weight of the fish from randomize_size_and_weight() to be used by update_size_weight() later, so that it can be deferred.

weight

Weight in grams. Null until update_size_and_weight is called. Grind results scale with it. Don't think too hard how a trout could fit in a blender.

weight_size_deviation

The general deviation from the average weight and size this fish has in the wild

Proc Details

UsedforProcessing

When processed, the reagents inside this fish will be passed to the created atoms.

adjust_reagents_capacity

adjusts the maximum volume of the fish reagents holder and update the amount of food to bite

after_eat

Fish is not a reagent holder yet it's edible, so it doen't behave like most other snacks which means it has its own way of handling being bitten, which is defined here.

calculate_fish_force_bonus

A proc that makes the fish slightly stronger or weaker if there's a noticeable discrepancy between size and weight.

check_liked

Checks if the fish is liked or not when eaten by a human.

feed

Feed the fishes with the contents of the fish feed

flop_animation

This flopping animation played while the fish is alive.

generate_fish_reagents

A proc that returns a static reagent holder with a set reagents that you'd get when eating this fish.

get_aquarium_fishes

Returns tracked_fish_by_type but flattened and without the items in the blacklist, also shuffled if shuffle is TRUE.

get_base_edible_reagents_to_add

The proc that adds in the main reagents this fish has when eaten (without accounting for traits)

get_export_price

Returns the price of this fish, for the fish export.

get_food_types

A proc that returns the food types the edible component has when initialized.

get_hunger

Returns the 0-1 value for hunger

inherit_traits

This proc has fish_traits list populated with fish_traits paths from three different lists: traits from x_traits and y_traits are compared, and inserted if conditions are met; traits from fixed_traits are inserted unconditionally. traits from removed_traits will be removed from the for loop.

This proc should only be called if the fish was spawned with the apply_qualities arg set to FALSE and hasn't had inherited traits already.

make_edible

Main proc that makes the fish edible.

on_fish_cooked

Kill the fish, remove the raw and gore food types, and the infectiveness too if not under-cooked.

on_fish_cooked_again

Just kill the fish, again, and perhaps remove the infective comp.

on_grind

Grinding a fish replaces some the protein it has with blood and gibs. You ain't getting a clean smoothie out of it.

on_temp_animation

Refreshes flopping animation after temporary animation finishes

proper_environment

Checks if our current environment lets us live.

randomize_size_and_weight

This proc takes a base size, base weight and deviation arguments to generate new size and weight through a gaussian distribution (bell curve) Mainly used to determinate the size and weight of caught fish.

sate_hunger

Proc that should be called when the fish is fed. By default, it grows the fish depending on various variables.

set_max_size_and_weight

Set the maximum size and weight a fish can reach from base size and weight args if they have't been set already.

start_flopping

Starts flopping animation

stop_flopping

Stops flopping animation

swim_animation

Create looping random path animation, pixel offsets parameters include offsets already

update_fish_force

Reset weapon-related variables of this items and recalculates those values based on the fish weight and size.

update_size_and_weight

Updates weight and size, along with weight class, number of fillets you can get and grind results.

well_cooked

The fish is well cooked. Change how the fish tastes, remove the infective comp and add the relative trait.