Skip to content

Commit

Permalink
Shadekin and Crewkin changes (#6393)
Browse files Browse the repository at this point in the history
--Do not testmerge yet! PR was made so Kev can work on it as well.--

## About The Pull Request

After a discussion with the lore team, changes were proposed to
Shadekin, both for their lore and their mechanics. This PR will do the
necessary changes.

## Why It's Good For The Game

These changes are tied to the lore of the species, as well as to the
wishes and limitations that the lore team asked for them.

## Changelog

:cl:
add: Pocket Dimension ability for Shadekin and Crewkin, a small storage.
change: Adjust all lore texts in code to fit the new Shadekin lore.
/:cl:

---------

Co-authored-by: silicons <[email protected]>
  • Loading branch information
MediHound and silicons authored Aug 31, 2024
1 parent 5a36e02 commit d1a4e37
Show file tree
Hide file tree
Showing 9 changed files with 65 additions and 17 deletions.
1 change: 1 addition & 0 deletions citadel.dme
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@
#include "code\__DEFINES\dcs\signals\elements\signals_element_conflict_checking.dm"
#include "code\__DEFINES\dcs\signals\items\signals_inducer.dm"
#include "code\__DEFINES\dcs\signals\modules\signals_module_fishing.dm"
#include "code\__DEFINES\dcs\signals\signals_atom\signals_atom-reachability.dm"
#include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_appearance.dm"
#include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_attack.dm"
#include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_buckling.dm"
Expand Down
1 change: 0 additions & 1 deletion code/__DEFINES/coloration.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 Citadel Station developers. *//

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 Citadel Station developers. *//

/**
* These are all **very** low level signals.
* Handle with care.
*/

/// from base of /atom/movable/proc/DirectAccess(): (list/accessible)
#define COMSIG_ATOM_REACHABILITY_DIRECTACCESS "atom-directaccess"
2 changes: 1 addition & 1 deletion code/__DEFINES/procs/clickcode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@

//! Reachability Depths - checked from level of DirectAccess and turf adjacency.
/// default reachability depth
#define DEFAULT_REACHABILITY_DEPTH 3 // enough to reach into pill bottles in box in backpack
#define DEFAULT_REACHABILITY_DEPTH 4

//! Reachability
/// can't reach - this *must* be a fals-y value.
Expand Down
3 changes: 2 additions & 1 deletion code/game/click/reachability.dm
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,8 @@
* checks what we can directly reach
*/
/atom/movable/proc/DirectAccess()
return list(src, loc)
. = list(src, loc)
SEND_SIGNAL(src, COMSIG_ATOM_REACHABILITY_DIRECTACCESS, .)

/mob/DirectAccess()
return ..() + get_equipped_items()
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/systems/storage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@
target = parent,
)
return TRUE
if(!actor.performer.Reachability(parent))
if(!actor.performer.Reachability(indirection || parent))
return TRUE
if(!try_insert(inserting, actor, silent, suppressed))
return TRUE
Expand Down
34 changes: 34 additions & 0 deletions code/modules/organs/internal/species/shadekin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,40 @@
var/max_dark_energy = 100
var/dark_energy_infinite = FALSE

organ_actions = list(
/datum/action/organ_action/shadekin_storage,
)

/datum/action/organ_action/shadekin_storage
name = "Access Storage"
desc = "Access your dimensional pocket."

/obj/item/organ/internal/brain/shadekin/Initialize(mapload)
. = ..()
obj_storage = new /datum/object_system/storage/shadekin(src)
obj_storage.indirect(src)

/obj/item/organ/internal/brain/shadekin/on_insert(mob/owner, initializing)
. = ..()
RegisterSignal(owner, COMSIG_ATOM_REACHABILITY_DIRECTACCESS, PROC_REF(handle_storage_reachability))

/obj/item/organ/internal/brain/shadekin/on_remove(mob/owner)
. = ..()
UnregisterSignal(owner, COMSIG_ATOM_REACHABILITY_DIRECTACCESS)

/obj/item/organ/internal/brain/shadekin/proc/handle_storage_reachability(atom/source, list/direct_access)
var/atom/movable/storage_indirection/indirection = locate() in contents
if(!indirection)
return
direct_access += indirection

/obj/item/organ/internal/brain/shadekin/ui_action_click(datum/action/action, datum/event_args/actor/actor)
obj_storage.show(actor.performer)

/datum/object_system/storage/shadekin
max_single_weight_class = WEIGHT_CLASS_SMALL
max_items = 7

/obj/item/organ/internal/brain/shadekin/crewkin
dark_energy = 50
max_dark_energy = 50
Expand Down
14 changes: 8 additions & 6 deletions code/modules/species/shadekin/shadekin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@
SPRITE_ACCESSORY_SLOT_TAIL = /datum/sprite_accessory/tail/bodyset/shadekin,
)

//TODO: Something that's not wiki copypaste
blurb = {"
Very little is known about these creatures. They appear to be largely mammalian in appearance.
Seemingly very rare to encounter, there have been widespread myths of these creatures the galaxy over,
but next to no verifiable evidence to their existence. However, they have recently been more verifiably
documented in the Virgo system, following a mining bombardment of Virgo 3. The crew of NSB Adephagia have
taken to calling these creatures 'Shadekin', and the name has generally stuck and spread.
Shadekin are rather unusual creatures, coming from the Azuel system. Their appearance is largely
mammalian, even though they aren't mammals. The official, formal name for the species is Lumelea,
but thanks to a period of difficulties when the Lumelea first met other species, the nickname
Shadekin was made popular by the galaxy's various species, and it stuck to this day as an
informal name. After a few hundred years of living side by side, it's by now widely known that
Shadekin culture revolves around tribes with various levels of technology, with some tribes
integrating into other cultures and cities, as well as some Shadekin leaving their tribe to
travel alone. NanoTrasen is one of the biggest employers of Shadekin.
"}
wikilink = "https://citadel-station.net/wikiRP/index.php?title=Race:_Shadekin"
catalogue_data = list(/datum/category_item/catalogue/fauna/shadekin)
Expand Down
15 changes: 8 additions & 7 deletions code/modules/species/shadekin/shadekin_blackeyed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@
SPRITE_ACCESSORY_SLOT_TAIL = /datum/sprite_accessory/tail/bodyset/shadekin,
)

//TODO: Something more fitting for black-eyes
//TODO: CIT ADDENDUM: since we're not really on the tether anymore we'll need a bullshit reason as to why they're around wherever we are.
blurb = {"
Very little is known about these creatures. They appear to be largely mammalian in appearance.
Seemingly very rare to encounter, there have been widespread myths of these creatures the galaxy over,
but next to no verifiable evidence to their existence. However, they have recently been more verifiably
documented in the Virgo system, following a mining bombardment of Virgo 3. The crew of NSB Adephagia have
taken to calling these creatures 'Shadekin', and the name has generally stuck and spread.
Shadekin are rather unusual creatures, coming from the Azuel system. Their appearance is largely
mammalian, even though they aren't mammals. The official, formal name for the species is Lumelea,
but thanks to a period of difficulties when the Lumelea first met other species, the nickname
Shadekin was made popular by the galaxy's various species, and it stuck to this day as an
informal name. After a few hundred years of living side by side, it's by now widely known that
Shadekin culture revolves around tribes with various levels of technology, with some tribes
integrating into other cultures and cities, as well as some Shadekin leaving their tribe to
travel alone. NanoTrasen is one of the biggest employers of Shadekin.
"}

wikilink = "https://citadel-station.net/wikiRP/index.php?title=Race:_Shadekin"
Expand Down

0 comments on commit d1a4e37

Please sign in to comment.