/tg/ Station 13 - Modules - TypesDefine Details

code/__DEFINES/fish.dm

FISHING_DUDUse in fish tables to denote miss chance.
FISHING_RANDOM_SEEDUsed in the the hydro tray fishing spot to define a random seed reward
FISHING_RANDOM_ORGANUsed in the surgery fishing spot to define a random organ reward
FISHING_MINIMUM_DIFFICULTYThe minimum value of the difficulty of the minigame (unless it reaches 0 than it's auto-win) Any lower than this and the fish will be way too lethargic for the minigame to be engaging in the slightest.
FAV_BAIT_DIFFICULTY_MODDifficulty modifier when bait is fish's favorite
DISLIKED_BAIT_DIFFICULTY_MODDifficulty modifier when bait is fish's disliked
EXPERT_FISHER_DIFFICULTY_MODDifficulty modifier when our fisherman has the trait TRAIT_EXPERT_FISHER
ROD_SLOT_BAITSlot defines for the fishing rod and its equipment
FISHING_HOOK_WEIGHTEDFishing hook trait that lessens the bounce from hitting the edges of the minigame bar.
FISHING_HOOK_BIDIRECTIONALSee FISHING_MINIGAME_RULE_BIDIRECTIONAL
FISHING_HOOK_NO_ESCAPEPrevents the user from losing the game by letting the fish get away.
FISHING_HOOK_ENSNARELimits the completion loss of the minigame when the fsh is not on the bait area.
FISHING_HOOK_KILLAutomatically kills the fish after a while, at the cost of killing it.
FISHING_LINE_CLOAKEDReduces the difficulty of the minigame
FISHING_LINE_BOUNCYMuch like FISHING_HOOK_ENSNARE but for the fishing line.
FISHING_LINE_STIFFThe sorta opposite of FISHING_LINE_BOUNCY. It makes it slower to gain completion and faster to lose it.
FISHING_LINE_AUTOREELSkip the biting phase and go straight to the fishing phase.
FISHING_MINIGAME_RULE_BIDIRECTIONALKeeps the bait from falling from gravity, instead allowing the player to move the bait down with right click.
FISHING_MINIGAME_RULE_NO_ESCAPEPrevents the player from losing the minigame when the completion reaches 0
FISHING_MINIGAME_RULE_KILLAutomatically kills the fish after a while, at the cost of killing it
FISHING_MINIGAME_RULE_NO_EXPPrevents the fishing skill from having an effect on the minigame and experience from being awarded
FISHING_MINIGAME_RULE_ANTIGRAVIf enabled, the minigame will occasionally screw around and invert the velocity of the bait
FISHING_MINIGAME_RULE_FLIPWill filp the minigame hud for the duration of the effect
FISHING_MINIGAME_AUTOREELSkip the biting phase and go straight to the minigame, avoiding the penalty for having slow reflexes.
FISHING_MINIGAME_RULE_CAMOThe fish will fade in and out at intervals
FISHING_MINIGAME_ACTIVE_EFFECTSall the effects that are active and will last for a few seconds before triggering a cooldown
FISHING_DEFAULT_HOOK_BONUS_ADDITIVEThe default additive value for fishing hook catch weight modifiers.
FISHING_DEFAULT_HOOK_BONUS_MULTIPLICATIVEThe default multiplicative value for fishing hook catch weight modifiers.
AQUARIUM_LAYER_STEPThe distance that should separate each layer of the aquarium
AQUARIUM_MIN_OFFSETAquarium content layer offsets
AQUARIUM_GLASS_LAYERThe layer of the glass overlay
AQUARIUM_BORDERS_LAYERThe layer of the aquarium pane borders
AQUARIUM_BELOW_GLASS_LAYERLayer for stuff rendered below the glass overlay
FISH_SIZE_TINY_MAXFish size thresholds for w_class.
FISH_SIZE_TWO_HANDS_REQUIREDsize threshold for requiring two-handed carry
MAX_FISH_DEVIATION_COEFFThe coefficient for maximum weight/size divergence relative to the averages.
FISH_GROWTH_MULTBase multiplier of the difference between current size and weight and their maximum value used to calculate how much fish grow each time they're fed, alongside with the current hunger, and the current size and weight, meaning bigger fish naturally tend to grow way slowier
FISH_GROWTH_PEAKGrowth peaks at 45% hunger but very rapidly wanes past that.
FISH_SIZE_WEIGHT_GROWTH_MALUSUsed as part of the divisor to slow down growth of bigger fish
FISH_GRIND_RESULTS_WEIGHT_DIVISORThe volume of the grind results is multiplied by the fish' weight and divided by this.
FISH_FILLET_NUMBER_SIZE_DIVISORThe number of fillets is multiplied by the fish' size and divided by this.
FISH_WEIGHT_SLOWDOWNThe slowdown of the fish when carried begins at this value
FISH_WEIGHT_SLOWDOWN_DIVISORThe value of the slowdown equals to the weight divided by this (and then at the power of a sub-1 exponent)
FISH_WEIGHT_SLOWDOWN_EXPONENTThe sub-one exponent that results in the final slowdown of the fish item
FISH_WEIGHT_FORCE_DIVISORUsed to calculate the force of the fish by comparing (1 + log(weight/this_define)) and the w_class of the item.
FISH_WEIGHT_GRIND_TO_BITE_MULTThe multiplier used in the FISH_WEIGHT_BITE_DIVISOR define
FISH_WEIGHT_BITE_DIVISORUsed to calculate how many bites a fish can take and therefore the amount of reagents it has.
GET_FISH_SLOWDOWNSet of operations that calculate the slowdown of fish based on weight
GET_FISH_WEIGHT_RANKGets a "rank" for fish weight to determine the force of the fish (or fish tank) basically, a gross estimate based on how weight generaly scales up (250, 500, 1000, 2000, 4000 etc...) for most fish
NEW_FISH_BREEDING_TIMEOUT_MULTThe breeding timeout for newly instantiated fish is multiplied by this.
NEW_FISH_LAST_FEEDING_MULTThe last feeding timestamp of newly instantiated fish is multiplied by this: ergo, they spawn 50% hungry.
FISH_FLAG_SHOW_IN_CATALOGThis fish is shown in the catalog and on the wiki (this only matters as an initial, compile-time value)
FISH_DO_FLOP_ANIMThis fish has a flopping animation done through matrices
FISH_FLAG_PETTEDThis fish has been petted in the last 30 seconds
FISH_FLAG_EXPERIMENT_SCANNABLEThis fish can be scanned to complete fish scanning experiments
FISH_FLAG_UPDATING_SIZE_AND_WEIGHTIt lets us know that fish/update_size_and_weight() is currently running.
FISH_FLAG_OVERPOPULATEDFlag added when the population of this fish type exceeeds the stable population inside the aquarium
FISH_FLAG_SAFE_TEMPERATUREFlag added when in an aquarium which temperature is within its safe limits
FISH_FLAG_SAFE_FLUIDFlag added when in an aquarium with the right fluid type.
FISH_RARITY_BASICHow likely one's to find a given fish from random fish cases.
AQUARIUM_FLUID_FRESHWATERAquarium fluid variables. The fish' required fluid has to match this, or it'll slowly die.
AQUARIUM_COMPANYFluff. The name of the aquarium company shown in the fish catalog
ELECTROGENESIS_DURATIONhow long between electrogenesis zaps
ELECTROGENESIS_VARIANCEa random range the electrogenesis cooldown varies by
FISHING_MINIGAME_AREAThe height of the minigame slider. Not in pixels, but minigame units.
FISH_SAFE_COOKING_DURATIONThe fish needs to be cooked for at least this long so that it can be safely eaten
FISH_PROPERTIES_FAV_BAITDefines for fish properties from the collect_fish_properties proc
FISH_BAIT_TYPEDefine for favorite and disliked baits that aren't just item typepaths.
FISH_WEIGHT_MULT_WITHOUT_BAITWe multiply the weight of fish inside the loot table by this value if we are goofy enough to fish without a bait.
FISH_SOURCE_FLAG_EXPLOSIVE_MALUSFlag for fish sources. It makes large explosions less efficient at spawning fish. Meant for lazy fishing spots that cover multiple turfs (rivers, oceans etc.)
FISH_SOURCE_FLAG_NO_BLUESPACE_RODThe fish source is not elegible for random rewards from bluespace fishing rods
FISH_SOURCE_FLAG_IGNORE_HIDDEN_ON_CATALOGWhen examined by someone with enough fishing skill, this will also display fish that doesn't have FISH_FLAG_SHOW_IN_CATALOG
FISH_AUTOWIKI_FILENAMEA macro to ensure the wikimedia filenames of fish icons are unique, especially since there're a couple fish that have quite ambiguous names/icon_states like "checkered" or "pike"
FISH_SOURCE_AUTOWIKI_NAMEThe list keys for the autowiki for fish sources
FISH_SOURCE_AUTOWIKI_DUDSpecial value for the name key that always comes first when the data is sorted, regardless of weight.
FISH_SOURCE_AUTOWIKI_OTHERSpecial value for the name key that always comes last
FISH_SOURCE_AUTOWIKI_QUESTIONMARKThe filename for the icon for "other stuff" which we don't articulate about on the autowiki

Define Details

AQUARIUM_BELOW_GLASS_LAYER

Layer for stuff rendered below the glass overlay

AQUARIUM_BORDERS_LAYER

The layer of the aquarium pane borders

AQUARIUM_COMPANY

Fluff. The name of the aquarium company shown in the fish catalog

AQUARIUM_FLUID_FRESHWATER

Aquarium fluid variables. The fish' required fluid has to match this, or it'll slowly die.

AQUARIUM_GLASS_LAYER

The layer of the glass overlay

AQUARIUM_LAYER_STEP

The distance that should separate each layer of the aquarium

AQUARIUM_MIN_OFFSET

Aquarium content layer offsets

DISLIKED_BAIT_DIFFICULTY_MOD

Difficulty modifier when bait is fish's disliked

ELECTROGENESIS_DURATION

how long between electrogenesis zaps

ELECTROGENESIS_VARIANCE

a random range the electrogenesis cooldown varies by

EXPERT_FISHER_DIFFICULTY_MOD

Difficulty modifier when our fisherman has the trait TRAIT_EXPERT_FISHER

FAV_BAIT_DIFFICULTY_MOD

Difficulty modifier when bait is fish's favorite

FISHING_DEFAULT_HOOK_BONUS_ADDITIVE

The default additive value for fishing hook catch weight modifiers.

FISHING_DEFAULT_HOOK_BONUS_MULTIPLICATIVE

The default multiplicative value for fishing hook catch weight modifiers.

FISHING_DUD

Use in fish tables to denote miss chance.

FISHING_HOOK_BIDIRECTIONAL

See FISHING_MINIGAME_RULE_BIDIRECTIONAL

FISHING_HOOK_ENSNARE

Limits the completion loss of the minigame when the fsh is not on the bait area.

FISHING_HOOK_KILL

Automatically kills the fish after a while, at the cost of killing it.

FISHING_HOOK_NO_ESCAPE

Prevents the user from losing the game by letting the fish get away.

FISHING_HOOK_WEIGHTED

Fishing hook trait that lessens the bounce from hitting the edges of the minigame bar.

FISHING_LINE_AUTOREEL

Skip the biting phase and go straight to the fishing phase.

FISHING_LINE_BOUNCY

Much like FISHING_HOOK_ENSNARE but for the fishing line.

FISHING_LINE_CLOAKED

Reduces the difficulty of the minigame

FISHING_LINE_STIFF

The sorta opposite of FISHING_LINE_BOUNCY. It makes it slower to gain completion and faster to lose it.

FISHING_MINIGAME_ACTIVE_EFFECTS

all the effects that are active and will last for a few seconds before triggering a cooldown

FISHING_MINIGAME_AREA

The height of the minigame slider. Not in pixels, but minigame units.

FISHING_MINIGAME_AUTOREEL

Skip the biting phase and go straight to the minigame, avoiding the penalty for having slow reflexes.

FISHING_MINIGAME_RULE_ANTIGRAV

If enabled, the minigame will occasionally screw around and invert the velocity of the bait

FISHING_MINIGAME_RULE_BIDIRECTIONAL

Keeps the bait from falling from gravity, instead allowing the player to move the bait down with right click.

FISHING_MINIGAME_RULE_CAMO

The fish will fade in and out at intervals

FISHING_MINIGAME_RULE_FLIP

Will filp the minigame hud for the duration of the effect

FISHING_MINIGAME_RULE_KILL

Automatically kills the fish after a while, at the cost of killing it

FISHING_MINIGAME_RULE_NO_ESCAPE

Prevents the player from losing the minigame when the completion reaches 0

FISHING_MINIGAME_RULE_NO_EXP

Prevents the fishing skill from having an effect on the minigame and experience from being awarded

FISHING_MINIMUM_DIFFICULTY

The minimum value of the difficulty of the minigame (unless it reaches 0 than it's auto-win) Any lower than this and the fish will be way too lethargic for the minigame to be engaging in the slightest.

FISHING_RANDOM_ORGAN

Used in the surgery fishing spot to define a random organ reward

FISHING_RANDOM_SEED

Used in the the hydro tray fishing spot to define a random seed reward

FISH_AUTOWIKI_FILENAME

A macro to ensure the wikimedia filenames of fish icons are unique, especially since there're a couple fish that have quite ambiguous names/icon_states like "checkered" or "pike"

FISH_BAIT_TYPE

Define for favorite and disliked baits that aren't just item typepaths.

FISH_DO_FLOP_ANIM

This fish has a flopping animation done through matrices

FISH_FILLET_NUMBER_SIZE_DIVISOR

The number of fillets is multiplied by the fish' size and divided by this.

FISH_FLAG_EXPERIMENT_SCANNABLE

This fish can be scanned to complete fish scanning experiments

FISH_FLAG_OVERPOPULATED

Flag added when the population of this fish type exceeeds the stable population inside the aquarium

FISH_FLAG_PETTED

This fish has been petted in the last 30 seconds

FISH_FLAG_SAFE_FLUID

Flag added when in an aquarium with the right fluid type.

FISH_FLAG_SAFE_TEMPERATURE

Flag added when in an aquarium which temperature is within its safe limits

FISH_FLAG_SHOW_IN_CATALOG

This fish is shown in the catalog and on the wiki (this only matters as an initial, compile-time value)

FISH_FLAG_UPDATING_SIZE_AND_WEIGHT

It lets us know that fish/update_size_and_weight() is currently running.

FISH_GRIND_RESULTS_WEIGHT_DIVISOR

The volume of the grind results is multiplied by the fish' weight and divided by this.

FISH_GROWTH_MULT

Base multiplier of the difference between current size and weight and their maximum value used to calculate how much fish grow each time they're fed, alongside with the current hunger, and the current size and weight, meaning bigger fish naturally tend to grow way slowier

FISH_GROWTH_PEAK

Growth peaks at 45% hunger but very rapidly wanes past that.

FISH_PROPERTIES_FAV_BAIT

Defines for fish properties from the collect_fish_properties proc

FISH_RARITY_BASIC

How likely one's to find a given fish from random fish cases.

FISH_SAFE_COOKING_DURATION

The fish needs to be cooked for at least this long so that it can be safely eaten

FISH_SIZE_TINY_MAX

Fish size thresholds for w_class.

FISH_SIZE_TWO_HANDS_REQUIRED

size threshold for requiring two-handed carry

FISH_SIZE_WEIGHT_GROWTH_MALUS

Used as part of the divisor to slow down growth of bigger fish

FISH_SOURCE_AUTOWIKI_DUD

Special value for the name key that always comes first when the data is sorted, regardless of weight.

FISH_SOURCE_AUTOWIKI_NAME

The list keys for the autowiki for fish sources

FISH_SOURCE_AUTOWIKI_OTHER

Special value for the name key that always comes last

FISH_SOURCE_AUTOWIKI_QUESTIONMARK

The filename for the icon for "other stuff" which we don't articulate about on the autowiki

FISH_SOURCE_FLAG_EXPLOSIVE_MALUS

Flag for fish sources. It makes large explosions less efficient at spawning fish. Meant for lazy fishing spots that cover multiple turfs (rivers, oceans etc.)

FISH_SOURCE_FLAG_IGNORE_HIDDEN_ON_CATALOG

When examined by someone with enough fishing skill, this will also display fish that doesn't have FISH_FLAG_SHOW_IN_CATALOG

FISH_SOURCE_FLAG_NO_BLUESPACE_ROD

The fish source is not elegible for random rewards from bluespace fishing rods

FISH_WEIGHT_BITE_DIVISOR

Used to calculate how many bites a fish can take and therefore the amount of reagents it has.

FISH_WEIGHT_FORCE_DIVISOR

Used to calculate the force of the fish by comparing (1 + log(weight/this_define)) and the w_class of the item.

FISH_WEIGHT_GRIND_TO_BITE_MULT

The multiplier used in the FISH_WEIGHT_BITE_DIVISOR define

FISH_WEIGHT_MULT_WITHOUT_BAIT

We multiply the weight of fish inside the loot table by this value if we are goofy enough to fish without a bait.

FISH_WEIGHT_SLOWDOWN

The slowdown of the fish when carried begins at this value

FISH_WEIGHT_SLOWDOWN_DIVISOR

The value of the slowdown equals to the weight divided by this (and then at the power of a sub-1 exponent)

FISH_WEIGHT_SLOWDOWN_EXPONENT

The sub-one exponent that results in the final slowdown of the fish item

GET_FISH_SLOWDOWN

Set of operations that calculate the slowdown of fish based on weight

GET_FISH_WEIGHT_RANK

Gets a "rank" for fish weight to determine the force of the fish (or fish tank) basically, a gross estimate based on how weight generaly scales up (250, 500, 1000, 2000, 4000 etc...) for most fish

MAX_FISH_DEVIATION_COEFF

The coefficient for maximum weight/size divergence relative to the averages.

NEW_FISH_BREEDING_TIMEOUT_MULT

The breeding timeout for newly instantiated fish is multiplied by this.

NEW_FISH_LAST_FEEDING_MULT

The last feeding timestamp of newly instantiated fish is multiplied by this: ergo, they spawn 50% hungry.

ROD_SLOT_BAIT

Slot defines for the fishing rod and its equipment