Files
Bubberstation/code/modules/clothing/head/collectable.dm
T
GhomandGitHub ba4fa8fe07 What you wear and on what chair you sit on can now influence fishing difficulty (#86646)
## About The Pull Request
A foreword, I had to refactor a few bits of shitcode my past self added
first. For context, the "gone fishing" and "actively fishing" traits
only had one source, which is the fishing challenge itself, ad there was
no way to access the challenge from outside its code, except for a few
weakrefs which were being used as sources for the aforementioned traits
(the shitcode in a nutshell). There were also a few signals that I
didn't like because they were being sent to the harder-to-access
challenge datum rather than the user. So I scrapped the traits for a
couple signals to send to the user, then added a global list as a mean
to easily access the challenge datum, and lastly changed the code to
accomodate the titled feature (and allow the challenge to recalculate
its difficulty DURING the minigame phase)

Moving on to the actual feature: I've added a component that can be
added to objects on which mobs can be buckled to or items. When equipped
in the right slots or buckled to, the object will adjust the difficulty
of current and future fishing challenges by a certain amount (more often
than not positive, but there're many exceptions) as long as the object
isn't equipped or the user is unbuckled.

I've been having some fun adding component to a ton of clothes in the
game as well as chairs. Way too many objects to enumerate, so I'll give
you the general idea:
- each carp-themed article provides a slight positive modifier (easier)
- some (not all) doctor-related garbs provide a marginal positive
modifier each (fish doctor jokes)
- floortile camo clothes have positive modifiers
- Tuxedo, laceups, gowns provide negative modifier (more difficult)
- utility garbs such as bio/bomb/rad hoods and suits are quite bad. Riot
armor too.
- boxing gloves are very, very bad. Insulated gloves and haul gauntlets
are also very bad, to a lesser degree.
- **tackle** gloves are good. (pun intended)
- wizard garbs are good, because wizards are good at casting. (also a
pun)
- magboots slightly bad. Space suits bad.
- Blindfolds and welding protection are also bad. Gas masks marginally
bad.
- Pirate attire is nice to have. (I just vibed a little on this one)
- plastic chairs are quite versatile because they can be carried around,
but the mime chair is the best, followed by ratvarian chairs.
- Fishing toolboxes, analyzers and the fish catalog are a plus, because
they can be held.
- And the fishing hat, obviously (not as great as you'd think)

Some of these may be subject to change depending on what people say.

## Why It's Good For The Game
A hundred lines of fishing challenge code made ever-so-slightly less
awful, and a way to modify fishing diffculty beside skills and bait.

## Changelog

🆑
add: Your current clothes and what chair you sit on can now influence
the difficulty of fishing minigames. Having a bare minimum of fishing
skill will let you distinguish which objects can help and which won't,
so keep an eye out. Holding fishing toolboxes, fish analyzers or fish
catalogs can also help.
/🆑
2024-09-17 22:33:04 +00:00

188 lines
6.7 KiB
Plaintext

//Hat Station 13
/obj/item/clothing/head/collectable
name = "collectable hat"
desc = "A rare collectable hat."
icon = 'icons/obj/clothing/head/costume.dmi'
worn_icon = 'icons/mob/clothing/head/costume.dmi'
icon_state = null
/obj/item/clothing/head/collectable/Initialize(mapload)
. = ..()
AddElement(/datum/element/series, /obj/item/clothing/head/collectable, "Super duper collectable hats")
/obj/item/clothing/head/collectable/petehat
name = "ultra rare Pete's hat!"
desc = "It smells faintly of plasma."
icon_state = "petehat"
/obj/item/clothing/head/collectable/xenom
name = "collectable xenomorph helmet!"
desc = "Hiss hiss hiss!"
clothing_flags = SNUG_FIT
icon_state = "xenom"
/obj/item/clothing/head/collectable/chef
name = "collectable chef's hat"
desc = "A rare chef's hat meant for hat collectors!"
icon = 'icons/obj/clothing/head/utility.dmi'
worn_icon = 'icons/mob/clothing/head/utility.dmi'
icon_state = "chef"
inhand_icon_state = "chefhat"
dog_fashion = /datum/dog_fashion/head/chef
/obj/item/clothing/head/collectable/paper
name = "collectable paper hat"
desc = "What looks like an ordinary paper hat is actually a rare and valuable collector's edition paper hat. Keep away from water, fire, and Curators."
worn_icon = 'icons/mob/clothing/head/costume.dmi'
icon_state = "paper"
dog_fashion = /datum/dog_fashion/head
/obj/item/clothing/head/collectable/tophat
name = "collectable top hat"
desc = "A top hat worn by only the most prestigious hat collectors."
icon = 'icons/obj/clothing/head/hats.dmi'
worn_icon = 'icons/mob/clothing/head/hats.dmi'
icon_state = "tophat"
inhand_icon_state = "that"
/obj/item/clothing/head/collectable/captain
name = "collectable captain's hat"
desc = "A collectable hat that'll make you look just like a real comdom!"
icon = 'icons/obj/clothing/head/hats.dmi'
worn_icon = 'icons/mob/clothing/head/hats.dmi'
icon_state = "captain"
inhand_icon_state = null
dog_fashion = /datum/dog_fashion/head/captain
/obj/item/clothing/head/collectable/police
name = "collectable police officer's hat"
desc = "A collectable police officer's Hat. This hat emphasizes that you are THE LAW."
icon = 'icons/obj/clothing/head/hats.dmi'
worn_icon = 'icons/mob/clothing/head/hats.dmi'
icon_state = "policehelm"
dog_fashion = /datum/dog_fashion/head/warden
/obj/item/clothing/head/collectable/beret
name = "collectable beret"
desc = "A collectable red beret. It smells faintly of garlic."
icon_state = "beret"
greyscale_config = /datum/greyscale_config/beret
greyscale_config_worn = /datum/greyscale_config/beret/worn
greyscale_colors = "#972A2A"
dog_fashion = /datum/dog_fashion/head/beret
/obj/item/clothing/head/collectable/welding
name = "collectable welding helmet"
desc = "A collectable welding helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this helmet is done so at the owner's own risk!"
icon = 'icons/obj/clothing/head/utility.dmi'
worn_icon = 'icons/mob/clothing/head/utility.dmi'
icon_state = "welding"
inhand_icon_state = "welding"
lefthand_file = 'icons/mob/inhands/clothing/masks_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing/masks_righthand.dmi'
clothing_flags = SNUG_FIT
/obj/item/clothing/head/collectable/slime
name = "collectable slime hat"
desc = "Just like a real brain slug!"
icon_state = "headslime"
inhand_icon_state = null
clothing_flags = SNUG_FIT
/obj/item/clothing/head/collectable/flatcap
name = "collectable flat cap"
desc = "A collectible farmer's flat cap!"
icon_state = "beret_flat"
greyscale_config = /datum/greyscale_config/beret
greyscale_config_worn = /datum/greyscale_config/beret/worn
greyscale_colors = "#8F7654"
inhand_icon_state = null
/obj/item/clothing/head/collectable/pirate
name = "collectable pirate hat"
desc = "You'd make a great Dread Syndie Roberts!"
icon_state = "pirate"
inhand_icon_state = null
dog_fashion = /datum/dog_fashion/head/pirate
/obj/item/clothing/head/collectable/pirate/Initialize(mapload)
. = ..()
AddComponent(/datum/component/adjust_fishing_difficulty, -3)
/obj/item/clothing/head/collectable/kitty
name = "collectable kitty ears"
desc = "The fur feels... a bit too realistic."
icon_state = "kitty"
inhand_icon_state = null
dog_fashion = /datum/dog_fashion/head/kitty
/obj/item/clothing/head/collectable/rabbitears
name = "collectable rabbit ears"
desc = "Not as lucky as the feet!"
icon_state = "bunny"
inhand_icon_state = null
dog_fashion = /datum/dog_fashion/head/rabbit
/obj/item/clothing/head/collectable/wizard
name = "collectable wizard's hat"
desc = "NOTE: Any magical powers gained from wearing this hat are purely coincidental."
icon = 'icons/obj/clothing/head/wizard.dmi'
worn_icon = 'icons/mob/clothing/head/wizard.dmi'
icon_state = "wizard"
dog_fashion = /datum/dog_fashion/head/blue_wizard
/obj/item/clothing/head/collectable/wizard/Initialize(mapload)
. = ..()
AddComponent(/datum/component/adjust_fishing_difficulty, -1)
/obj/item/clothing/head/collectable/hardhat
name = "collectable hard hat"
desc = "WARNING! Offers no real protection, or luminosity, but damn, is it fancy!"
icon = 'icons/obj/clothing/head/utility.dmi'
worn_icon = 'icons/mob/clothing/head/utility.dmi'
clothing_flags = SNUG_FIT
icon_state = "hardhat0_yellow"
inhand_icon_state = null
dog_fashion = /datum/dog_fashion/head
/obj/item/clothing/head/collectable/hos
name = "collectable HoS hat"
desc = "Now you too can beat prisoners, set silly sentences, and arrest for no reason!"
icon = 'icons/obj/clothing/head/hats.dmi'
worn_icon = 'icons/mob/clothing/head/hats.dmi'
icon_state = "hoscap"
/obj/item/clothing/head/collectable/hop
name = "collectable HoP hat"
desc = "It's your turn to demand excessive paperwork, signatures, stamps, and hire more clowns! Papers, please!"
icon = 'icons/obj/clothing/head/hats.dmi'
worn_icon = 'icons/mob/clothing/head/hats.dmi'
icon_state = "hopcap"
dog_fashion = /datum/dog_fashion/head/hop
/obj/item/clothing/head/collectable/thunderdome
name = "collectable Thunderdome helmet"
desc = "Go Red! I mean Green! I mean Red! No Green!"
icon = 'icons/obj/clothing/head/helmet.dmi'
worn_icon = 'icons/mob/clothing/head/helmet.dmi'
icon_state = "thunderdome"
inhand_icon_state = "thunderdome_helmet"
clothing_flags = SNUG_FIT
flags_inv = HIDEHAIR|HIDEHAIR
/obj/item/clothing/head/collectable/swat
name = "collectable SWAT helmet"
desc = "That's not real blood. That's red paint." //Reference to the actual description
icon = 'icons/obj/clothing/head/helmet.dmi'
worn_icon = 'icons/mob/clothing/head/helmet.dmi'
icon_state = "swatsyndie"
inhand_icon_state = "swatsyndie_helmet"
clothing_flags = SNUG_FIT
flags_inv = HIDEHAIR
/obj/item/clothing/head/collectable/swat/Initialize(mapload)
. = ..()
AddComponent(/datum/component/adjust_fishing_difficulty, 2)