mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
* Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#85271) ## About The Pull Request I've refactored the FISH_SAFE_STORAGE trait into an element, mainly because there were a few problems with how it worked: It wasn't stopping hunger from raising, ditto with the breeding wait, and it offered no healing whatsoever, which I find kind of a bummer. The new element will keep the fish from getting any hungrier or ready to reproduce and will heal them up to 65% of their base health. Also, I've added a new bluespace fish case as a techweb design, found along with other stuff in the advanced fishing node, though if you want I can move it to a bluespace node. This should make it possible to reasonably store and carry around larger fish. Examining a fish will no longer give out readings on weight and size if you haven't at least attempted fishing once (you can get to novice level in less than a minute). While examining a fish with apprentice level or higher will also give readings on the general conditions of the fish (is it starving? drowning? has it lost a considerable chunk of health?). The fishing skillchip also gives you these traits. I've also converted two fish variables into traits, because fish have waaaay too many variables. and gave some topdown shading to the pre-existing fishbox sprite. ## Why It's Good For The Game ## Changelog 🆑 add: Added a bluespace fish case to the advanced fishing node. balance: Fish cases will keep a fish from getting hungrier or ready to reproduce, while also healing it up to 65% health. balance: Examining a fish with zero fishing skill whatsoever won't give a reading on its size and weight. Conversely, examining one with the skill leveled two times will give general information on if it's starving, sick, hungry, or dead. /🆑 * Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
40 lines
2.3 KiB
Plaintext
40 lines
2.3 KiB
Plaintext
/**
|
|
* skill associated with the fishing feature. It modifies the fishing minigame difficulty
|
|
* and is gained each time one is completed.
|
|
*/
|
|
/datum/skill/fishing
|
|
name = "Fishing"
|
|
title = "Angler"
|
|
desc = "How empty and alone you are on this barren Earth."
|
|
modifiers = list(SKILL_VALUE_MODIFIER = list(1, 0, -1, -3, -5, -7, -10))
|
|
skill_item_path = /obj/item/clothing/head/soft/fishing_hat
|
|
|
|
/datum/skill/fishing/New()
|
|
. = ..()
|
|
levelUpMessages[SKILL_LEVEL_NOVICE] = span_nicegreen("I'm starting to figure out what [name] really is! I can guess a fish size and weight at a glance.")
|
|
levelUpMessages[SKILL_LEVEL_APPRENTICE] = span_nicegreen("I'm getting a little better at [name]! I can tell if a fish is hungry, dying and otherwise.")
|
|
levelUpMessages[SKILL_LEVEL_JOURNEYMAN] = span_nicegreen("I feel like I've become quite proficient at [name]! I can tell what fishes I can catch at any given fishing spot.")
|
|
levelUpMessages[SKILL_LEVEL_MASTER] = span_nicegreen("I've begun to truly understand the surprising depth behind [name]. As a master [title], I can guess what I'm going to catch now!")
|
|
|
|
/datum/skill/fishing/level_gained(datum/mind/mind, new_level, old_level, silent)
|
|
. = ..()
|
|
if(new_level >= SKILL_LEVEL_NOVICE && old_level < SKILL_LEVEL_NOVICE)
|
|
ADD_TRAIT(mind, TRAIT_EXAMINE_FISH, SKILL_TRAIT)
|
|
if(new_level >= SKILL_LEVEL_APPRENTICE && old_level < SKILL_LEVEL_APPRENTICE)
|
|
ADD_TRAIT(mind, TRAIT_EXAMINE_DEEPER_FISH, SKILL_TRAIT)
|
|
if(new_level >= SKILL_LEVEL_JOURNEYMAN && old_level < SKILL_LEVEL_JOURNEYMAN)
|
|
ADD_TRAIT(mind, TRAIT_EXAMINE_FISHING_SPOT, SKILL_TRAIT)
|
|
if(new_level >= SKILL_LEVEL_MASTER && old_level < SKILL_LEVEL_MASTER)
|
|
ADD_TRAIT(mind, TRAIT_REVEAL_FISH, SKILL_TRAIT)
|
|
|
|
/datum/skill/fishing/level_lost(datum/mind/mind, new_level, old_level, silent)
|
|
. = ..()
|
|
if(old_level >= SKILL_LEVEL_MASTER && new_level < SKILL_LEVEL_MASTER)
|
|
REMOVE_TRAIT(mind, TRAIT_REVEAL_FISH, SKILL_TRAIT)
|
|
if(old_level >= SKILL_LEVEL_JOURNEYMAN && new_level < SKILL_LEVEL_JOURNEYMAN)
|
|
REMOVE_TRAIT(mind, TRAIT_EXAMINE_FISHING_SPOT, SKILL_TRAIT)
|
|
if(old_level >= SKILL_LEVEL_APPRENTICE && new_level < SKILL_LEVEL_APPRENTICE)
|
|
REMOVE_TRAIT(mind, TRAIT_EXAMINE_DEEPER_FISH, SKILL_TRAIT)
|
|
if(old_level >= SKILL_LEVEL_NOVICE && new_level < SKILL_LEVEL_NOVICE)
|
|
REMOVE_TRAIT(mind, TRAIT_EXAMINE_FISH, SKILL_TRAIT)
|