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

fish_source

Where the fish actually come from - every fishing spot has one assigned but multiple fishing holes can share single source, ie single shared one for ocean/lavaland river

Vars

backgroundBackground image name from /datum/asset/simple/fishing_minigame
catalog_descriptionHow the spot type is described in fish catalog section about fish sources, will be skipped if null
dudsText shown as baloon alert when you roll a dud in the table
fish_countsIf a key from fish_table is present here, that fish is availible in limited quantity and is reduced by one on successful fishing
fish_tableFish catch weight table - these are relative weights
fishing_difficultyBaseline difficulty for fishing in this spot

Procs

calculate_difficultyCalculates the difficulty of the minigame:
dispense_rewardGives out the reward if possible
get_modified_fish_tableBuilds a fish weights table modified by bait/rod/user properties
interrupt_challengeProc called when the challenge is interrupted within the fish source code.
is_matching_baitChecks if bait matches identifier from fav/disliked bait list
on_challenge_completedProc called when the COMSIG_FISHING_CHALLENGE_COMPLETED signal is sent. Check if we've succeeded. If so, write into memory and dispense the reward.
on_fishing_spot_initCalled when src is set as the fish source of a fishing spot component
on_start_fishingCalled below above proc, in case the fishing source has anything to do that isn't denial
pre_challenge_startedUsed to register signals or add traits and the such right after conditions have been cleared and before the minigame starts.
reason_we_cant_fishCan we fish in this spot at all. Returns DENIAL_REASON or null if we're good to go
roll_rewardIn case you want more complex rules for specific spots
spawn_rewardSpawns a reward from a atom path right where the fisherman is. Part of the dispense_reward() logic.

Var Details

background

Background image name from /datum/asset/simple/fishing_minigame

catalog_description

How the spot type is described in fish catalog section about fish sources, will be skipped if null

duds

Text shown as baloon alert when you roll a dud in the table

fish_counts

If a key from fish_table is present here, that fish is availible in limited quantity and is reduced by one on successful fishing

fish_table

Fish catch weight table - these are relative weights

fishing_difficulty

Baseline difficulty for fishing in this spot

Proc Details

calculate_difficulty

Calculates the difficulty of the minigame:

This includes the source's fishing difficulty, that of the fish, the rod, favorite and disliked baits, fish traits and the fisherman skill.

For non-fish, it's just the source's fishing difficulty minus the fisherman skill.

dispense_reward

Gives out the reward if possible

get_modified_fish_table

Builds a fish weights table modified by bait/rod/user properties

interrupt_challenge

Proc called when the challenge is interrupted within the fish source code.

is_matching_bait

Checks if bait matches identifier from fav/disliked bait list

on_challenge_completed

Proc called when the COMSIG_FISHING_CHALLENGE_COMPLETED signal is sent. Check if we've succeeded. If so, write into memory and dispense the reward.

on_fishing_spot_init

Called when src is set as the fish source of a fishing spot component

on_start_fishing

Called below above proc, in case the fishing source has anything to do that isn't denial

pre_challenge_started

Used to register signals or add traits and the such right after conditions have been cleared and before the minigame starts.

reason_we_cant_fish

Can we fish in this spot at all. Returns DENIAL_REASON or null if we're good to go

roll_reward

In case you want more complex rules for specific spots

spawn_reward

Spawns a reward from a atom path right where the fisherman is. Part of the dispense_reward() logic.