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

fish

Vars

aquarium_vc_colorIf present aquarium visual will be 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
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_iconIf present and it also has a dedicated icon state, this icon file will be used for in-aquarium visual for the fish instead of its icon
dedicated_in_aquarium_icon_stateIf present this icon will be used for in-aquarium visual for the fish instead of icon_state
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])
do_flop_animationIf this fish should do the flopping animation
evolution_typesA list of possible evolutions. If set, offsprings may be of a different, new fish type if conditions are met.
experisci_scannableIf this fish type counts towards the Fish Species Scanning experiments
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_ai_typeFishing behaviour
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.
grind_resultsThe grind results of the fish. They scale with the weight of the fish.
healthCurrent fish health. Dies at 0.
icon_state_deadicon used when the fish is dead, ifset.
last_feedingTime of last feedeing
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.
progenitorsThe species' name(s) of the parents of the fish. Shown by the fish analyzer.
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.
show_in_catalogShould this fish type show in fish catalog
sizeSize in centimeters. Null until update_size_and_weight is called. Number of fillets and w_class scale with it.
source_heightOriginal height of aquarium visual icon - used to calculate scaledown factor
source_widthOriginal width of aquarium visual icon - used to calculate scaledown factor
sprite_heightResulting height of aquarium visual icon - default size of "fish_greyscale" state
sprite_widthResulting width of aquarium visual icon - default size of "fish_greyscale" state
stable_populationWon't breed more than this amount in single aquarium.
statusFish status
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.

Procs

apply_traitsTraits that the fish is guaranteed to inherit will be inherited, with the assertion that they're compatible anyway. Build a list of incompatible traits. Don't let any such trait pass onto the fish. shuffle the traits, so, in the case of incompatible traits, we don't have to choose which to discard. Instead we let the random numbers do it for us in a first come, first served basis.
create_offspringFishes with this trait cannot mate, but could still reproduce asexually, so don't early return. Also mating takes priority over that.
feedFeed the fishes with the contents of the fish feed
flop_animationThis flopping animation played while the fish is alive.
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.
on_temp_animationRefreshes flopping animation after temporary animation finishes
proper_environmentChecks if our current environment lets us live.
randomize_size_and_weightRandomizes weight and size.
start_floppingStarts flopping animation
stop_floppingStops flopping animation
update_size_and_weightUpdates weight and size, along with weight class, number of fillets you can get and grind results.

Var Details

aquarium_vc_color

If present aquarium visual will be 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

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

If present and it also has a dedicated icon state, this icon file will be used for in-aquarium visual for the fish instead of its icon

dedicated_in_aquarium_icon_state

If present this icon will be used for in-aquarium visual for the fish instead of icon_state

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])

do_flop_animation

If this fish should do the flopping animation

evolution_types

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

experisci_scannable

If this fish type counts towards the Fish Species Scanning experiments

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_ai_type

Fishing behaviour

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.

grind_results

The grind results of the fish. They scale with the weight of the fish.

health

Current fish health. Dies at 0.

icon_state_dead

icon used when the fish is dead, ifset.

last_feeding

Time of last feedeing

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.

progenitors

The species' name(s) of the parents of the fish. Shown by the fish analyzer.

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.

show_in_catalog

Should this fish type show in fish catalog

size

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

source_height

Original height of aquarium visual icon - used to calculate scaledown factor

source_width

Original width of aquarium visual icon - used to calculate scaledown factor

sprite_height

Resulting height of aquarium visual icon - default size of "fish_greyscale" state

sprite_width

Resulting width of aquarium visual icon - default size of "fish_greyscale" state

stable_population

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

status

Fish status

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.

Proc Details

apply_traits

Traits that the fish is guaranteed to inherit will be inherited, with the assertion that they're compatible anyway. Build a list of incompatible traits. Don't let any such trait pass onto the fish. shuffle the traits, so, in the case of incompatible traits, we don't have to choose which to discard. Instead we let the random numbers do it for us in a first come, first served basis.

create_offspring

Fishes with this trait cannot mate, but could still reproduce asexually, so don't early return. Also mating takes priority over that.

feed

Feed the fishes with the contents of the fish feed

flop_animation

This flopping animation played while the fish is alive.

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.

on_temp_animation

Refreshes flopping animation after temporary animation finishes

proper_environment

Checks if our current environment lets us live.

randomize_size_and_weight

Randomizes weight and size.

start_flopping

Starts flopping animation

stop_flopping

Stops flopping animation

update_size_and_weight

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