mirror of
https://github.com/Sandstorm-Station/Sandstorm-Station-13.git
synced 2026-08-24 21:58:30 +01:00
Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13
This commit is contained in:
@@ -181,10 +181,10 @@
|
||||
|
||||
/datum/quirk/trandening
|
||||
name = "High Luminosity Eyes"
|
||||
desc = "When the next big fancy implant came out you had to buy one on impluse!"
|
||||
desc = "When the next big fancy implant came out you had to buy one on impulse! You start the shift with emissive cybernetic eyes that can emit colored beams of light."
|
||||
value = 1
|
||||
gain_text = "<span class='notice'>You have to keep up with the next big thing!.</span>"
|
||||
lose_text = "<span class='danger'>High-tech gizmos are a scam...</span>"
|
||||
gain_text = "<span class='notice'>You've been keeping up with the latest cybernetic trends!</span>"
|
||||
lose_text = "<span class='danger'>High powered eye lasers? What were you thinking...</span>"
|
||||
|
||||
/datum/quirk/trandening/on_spawn()
|
||||
// Get targets
|
||||
@@ -195,6 +195,34 @@
|
||||
qdel(old_eyes)
|
||||
new_eyes.Insert(quirk_holder)
|
||||
|
||||
/datum/quirk/trandening/remove()
|
||||
// Get targets
|
||||
var/obj/item/organ/eyes/old_eyes = quirk_holder.getorganslot(ORGAN_SLOT_EYES)
|
||||
var/mob/living/carbon/human/qurk_mob = quirk_holder
|
||||
|
||||
// Check for eyes existing
|
||||
if(!old_eyes)
|
||||
return
|
||||
|
||||
// Check for quirk eyes
|
||||
if(!istype(old_eyes, /obj/item/organ/eyes/robotic/glow))
|
||||
return
|
||||
|
||||
// Define new eyes
|
||||
var/species_eyes = /obj/item/organ/eyes
|
||||
|
||||
// Check for mutant eyes
|
||||
if(qurk_mob.dna.species && qurk_mob.dna.species.mutanteyes)
|
||||
// Set eyes to mutant type
|
||||
species_eyes = qurk_mob.dna.species.mutanteyes
|
||||
|
||||
// Create new eyes item
|
||||
var/obj/item/organ/eyes/new_eyes = new species_eyes()
|
||||
|
||||
// Replace eyes
|
||||
qdel(old_eyes)
|
||||
new_eyes.Insert(quirk_holder)
|
||||
|
||||
/datum/quirk/bloodpressure
|
||||
name = "Polycythemia vera"
|
||||
desc = "You've a treated form of Polycythemia vera that increases the total blood volume inside of you as well as the rate of replenishment!"
|
||||
|
||||
@@ -43,27 +43,38 @@
|
||||
|
||||
GLOBAL_LIST_EMPTY(family_heirlooms)
|
||||
|
||||
/datum/quirk/family_heirloom/on_spawn()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
/datum/quirk/family_heirloom/on_spawn()
|
||||
// Define holder and type
|
||||
var/mob/living/carbon/human/human_holder = quirk_holder
|
||||
var/obj/item/heirloom_type
|
||||
var/species_heirloom_entry = GLOB.species_heirlooms[H.dna.species.id]
|
||||
if(species_heirloom_entry)
|
||||
if(prob(species_heirloom_entry[1]))
|
||||
heirloom_type = pick(species_heirloom_entry[2])
|
||||
|
||||
// The quirk holder's species - we have a 50% chance, if we have a species with a set heirloom, to choose a species heirloom.
|
||||
var/datum/species/holder_species = human_holder.dna?.species
|
||||
if(holder_species && LAZYLEN(holder_species.family_heirlooms) && prob(50))
|
||||
heirloom_type = pick(holder_species.family_heirlooms)
|
||||
else
|
||||
// Our quirk holder's job
|
||||
var/datum/job/holder_job = SSjob.GetJob(human_holder.last_mind?.assigned_role)
|
||||
if(holder_job && LAZYLEN(holder_job.family_heirlooms))
|
||||
heirloom_type = pick(holder_job.family_heirlooms)
|
||||
|
||||
// If we didn't find an heirloom somehow, throw them a generic one
|
||||
if(!heirloom_type)
|
||||
var/job_heirloom_entry = GLOB.job_heirlooms[quirk_holder.mind.assigned_role]
|
||||
if(!job_heirloom_entry)
|
||||
heirloom_type = pick(GLOB.job_heirlooms["NO_JOB"]) //consider: should this be a define?
|
||||
else
|
||||
heirloom_type = pick(job_heirloom_entry)
|
||||
heirloom_type = pick(/obj/item/toy/cards/deck, /obj/item/lighter, /obj/item/dice/d20)
|
||||
|
||||
// Create the heirloom item
|
||||
heirloom = new heirloom_type(get_turf(quirk_holder))
|
||||
|
||||
// Add to global list
|
||||
GLOB.family_heirlooms += heirloom
|
||||
|
||||
// Determine and assign item location
|
||||
var/list/slots = list(
|
||||
"in your left pocket" = ITEM_SLOT_LPOCKET,
|
||||
"in your right pocket" = ITEM_SLOT_RPOCKET,
|
||||
"in your backpack" = ITEM_SLOT_BACKPACK
|
||||
)
|
||||
where = H.equip_in_one_of_slots(heirloom, slots, FALSE) || "at your feet"
|
||||
where = human_holder.equip_in_one_of_slots(heirloom, slots, FALSE) || "at your feet"
|
||||
|
||||
/datum/quirk/family_heirloom/post_add()
|
||||
if(where == "in your backpack")
|
||||
@@ -75,13 +86,25 @@ GLOBAL_LIST_EMPTY(family_heirlooms)
|
||||
heirloom.name = "\improper [family_name[family_name.len]] family [heirloom.name]"
|
||||
|
||||
/datum/quirk/family_heirloom/on_process()
|
||||
if(heirloom in quirk_holder.GetAllContents())
|
||||
// Ignore for dead holder
|
||||
if(quirk_holder.stat == DEAD)
|
||||
return
|
||||
|
||||
// When held: Positive mood
|
||||
if(heirloom && (heirloom in quirk_holder.GetAllContents()))
|
||||
SEND_SIGNAL(quirk_holder, COMSIG_CLEAR_MOOD_EVENT, "family_heirloom_missing")
|
||||
SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "family_heirloom", /datum/mood_event/family_heirloom)
|
||||
|
||||
// When not held: Negative mood
|
||||
else
|
||||
SEND_SIGNAL(quirk_holder, COMSIG_CLEAR_MOOD_EVENT, "family_heirloom")
|
||||
SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "family_heirloom_missing", /datum/mood_event/family_heirloom_missing)
|
||||
|
||||
/datum/quirk/item_quirk/family_heirloom/remove()
|
||||
// Clear mood events when removing this quirk
|
||||
SEND_SIGNAL(quirk_holder, COMSIG_CLEAR_MOOD_EVENT, "family_heirloom")
|
||||
SEND_SIGNAL(quirk_holder, COMSIG_CLEAR_MOOD_EVENT, "family_heirloom_missing")
|
||||
|
||||
/datum/quirk/family_heirloom/clone_data()
|
||||
return heirloom
|
||||
|
||||
|
||||
@@ -163,22 +163,7 @@
|
||||
lose_text = "<span class='notice'>You no longer feel like you should be eating trash.</span>"
|
||||
mob_trait = TRAIT_TRASHCAN
|
||||
|
||||
/datum/quirk/colorist
|
||||
name = "Colorist"
|
||||
desc = "You like carrying around a hair dye spray to quickly apply color patterns to your hair."
|
||||
value = 0
|
||||
medical_record_text = "Patient enjoys dyeing their hair with pretty colors."
|
||||
|
||||
/datum/quirk/colorist/on_spawn()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
var/obj/item/dyespray/spraycan = new(get_turf(quirk_holder))
|
||||
H.equip_to_slot(spraycan, ITEM_SLOT_BACKPACK)
|
||||
H.regenerate_icons()
|
||||
|
||||
/datum/quirk/colorist/post_add()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
SEND_SIGNAL(H.back, COMSIG_TRY_STORAGE_SHOW, H)
|
||||
to_chat(quirk_holder, "<span class='boldnotice'>You brought some extra dye with you! It's in your bag if you forgot.</span>")
|
||||
// Moved Colorist quirk to a loadout item
|
||||
|
||||
/datum/quirk/salt_sensitive
|
||||
name = "Sodium Sensitivity"
|
||||
|
||||
Reference in New Issue
Block a user