mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-09 07:54:14 +00:00
Revert "Merge pull request #1 from FernandoJ8/grung-tgu"
This reverts commit53f554a38d, reversing changes made to4bf084cc96.
This commit is contained in:
@@ -28854,7 +28854,7 @@
|
||||
/area/station/ai_monitored/turret_protected/ai_upload)
|
||||
"dWh" = (
|
||||
/obj/machinery/mecha_part_fabricator{
|
||||
drop_direction = 4
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/airalarm/directional/west,
|
||||
@@ -46724,7 +46724,7 @@
|
||||
/area/station/ai_monitored/turret_protected/ai_upload)
|
||||
"kXV" = (
|
||||
/obj/machinery/mecha_part_fabricator{
|
||||
drop_direction = 4
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/firealarm/directional/west,
|
||||
@@ -72328,7 +72328,7 @@
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
|
||||
dir = 4
|
||||
},
|
||||
/mob/living/basic/bot/repairbot,
|
||||
/mob/living/simple_animal/bot/floorbot,
|
||||
/turf/open/floor/iron/dark/smooth_edge{
|
||||
dir = 4
|
||||
},
|
||||
|
||||
@@ -27679,7 +27679,7 @@
|
||||
/area/station/hallway/primary/fore)
|
||||
"kes" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/bot_assembly/repairbot,
|
||||
/obj/item/bot_assembly/floorbot,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/maintenance/port/aft)
|
||||
"keu" = (
|
||||
@@ -31047,7 +31047,7 @@
|
||||
/area/station/commons/dorms)
|
||||
"llM" = (
|
||||
/obj/machinery/airalarm/directional/south,
|
||||
/mob/living/basic/bot/repairbot,
|
||||
/mob/living/simple_animal/bot/floorbot,
|
||||
/turf/open/floor/circuit,
|
||||
/area/station/ai_monitored/turret_protected/aisat/atmos)
|
||||
"llU" = (
|
||||
@@ -46119,8 +46119,8 @@
|
||||
/turf/open/floor/iron/white/herringbone,
|
||||
/area/station/maintenance/starboard/aft)
|
||||
"qIN" = (
|
||||
/obj/item/organ/ears/cat,
|
||||
/obj/item/organ/tail/cat,
|
||||
/obj/item/organ/internal/ears/cat,
|
||||
/obj/item/organ/external/tail/cat,
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/obj/item/knife,
|
||||
|
||||
@@ -3378,7 +3378,7 @@
|
||||
/obj/item/clothing/under/dress/sundress,
|
||||
/obj/item/clothing/under/dress/sundress,
|
||||
/obj/item/clothing/shoes/sandal,
|
||||
/obj/item/reagent_containers/cup/fish_feed,
|
||||
/obj/item/fish_feed,
|
||||
/obj/item/fish_analyzer,
|
||||
/obj/structure/closet/crate,
|
||||
/turf/open/floor/plating,
|
||||
@@ -8668,7 +8668,7 @@
|
||||
/area/station/medical/medbay/central)
|
||||
"dbL" = (
|
||||
/obj/structure/table/wood/fancy/royalblack,
|
||||
/obj/item/organ/heart,
|
||||
/obj/item/organ/internal/heart,
|
||||
/turf/open/floor/wood,
|
||||
/area/station/service/chapel)
|
||||
"dbP" = (
|
||||
@@ -52640,7 +52640,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/station/maintenance/department/security)
|
||||
"sVu" = (
|
||||
/obj/item/fish_tank/lawyer,
|
||||
/obj/structure/aquarium/lawyer,
|
||||
/obj/structure/safe/floor,
|
||||
/obj/structure/sign/clock/directional/north,
|
||||
/obj/item/stack/spacecash/c100,
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
// Allows all tongues to speak our languages
|
||||
/obj/item/organ/tongue/get_possible_languages()
|
||||
/obj/item/organ/internal/tongue/get_possible_languages()
|
||||
return ..() + /datum/language/russian
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/organ/brain/shadow/nightmare/on_mob_insert(mob/living/carbon/brain_owner)
|
||||
/obj/item/organ/internal/brain/shadow/nightmare/on_mob_insert(mob/living/carbon/brain_owner)
|
||||
if(brain_owner.mind?.has_antag_datum(/datum/antagonist/nightmare)) //Only affect actual nightmares.
|
||||
//removes the nightmare's literacy, advanvedtooluser, and adds primitive.
|
||||
organ_traits = list(TRAIT_CAN_STRIP, TRAIT_PRIMITIVE)
|
||||
|
||||
@@ -448,10 +448,10 @@
|
||||
owner.current.remove_language(/datum/language/vampiric)
|
||||
// Heart & Eyes
|
||||
var/mob/living/carbon/user = owner.current
|
||||
var/obj/item/organ/heart/newheart = owner.current.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
var/obj/item/organ/internal/heart/newheart = owner.current.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
if(newheart)
|
||||
newheart.Restart()
|
||||
var/obj/item/organ/eyes/user_eyes = user.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
var/obj/item/organ/internal/eyes/user_eyes = user.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
if(user_eyes)
|
||||
user_eyes.flash_protect = initial(user_eyes.flash_protect)
|
||||
user_eyes.color_cutoffs = initial(user_eyes.color_cutoffs)
|
||||
|
||||
@@ -157,10 +157,10 @@
|
||||
for(var/obj/item/organ/organ as anything in bloodsuckeruser.organs)
|
||||
organ.set_organ_damage(0)
|
||||
if(!HAS_TRAIT(bloodsuckeruser, TRAIT_MASQUERADE))
|
||||
var/obj/item/organ/heart/current_heart = bloodsuckeruser.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
var/obj/item/organ/internal/heart/current_heart = bloodsuckeruser.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
if(!isnull(current_heart))
|
||||
current_heart.Stop()
|
||||
var/obj/item/organ/eyes/current_eyes = bloodsuckeruser.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
var/obj/item/organ/internal/eyes/current_eyes = bloodsuckeruser.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
if(current_eyes)
|
||||
current_eyes.flash_protect = max(initial(current_eyes.flash_protect) - 1, FLASH_PROTECTION_SENSITIVE)
|
||||
current_eyes.color_cutoffs = list(25, 8, 5)
|
||||
@@ -173,8 +173,8 @@
|
||||
iter_wound.remove_wound()
|
||||
// From [powers/panacea.dm]
|
||||
var/list/bad_organs = list(
|
||||
bloodsuckeruser.get_organ_by_type(/obj/item/organ/body_egg),
|
||||
bloodsuckeruser.get_organ_by_type(/obj/item/organ/zombie_infection))
|
||||
bloodsuckeruser.get_organ_by_type(/obj/item/organ/internal/body_egg),
|
||||
bloodsuckeruser.get_organ_by_type(/obj/item/organ/internal/zombie_infection))
|
||||
for(var/tumors in bad_organs)
|
||||
var/obj/item/organ/yucky_organs = tumors
|
||||
if(!istype(yucky_organs))
|
||||
|
||||
@@ -49,8 +49,6 @@
|
||||
return TRUE
|
||||
|
||||
/datum/action/cooldown/bloodsucker/feed/DeactivatePower()
|
||||
if(!active)
|
||||
return
|
||||
var/mob/living/user = owner
|
||||
var/mob/living/feed_target = target_ref.resolve()
|
||||
if(isnull(feed_target))
|
||||
|
||||
@@ -43,10 +43,10 @@
|
||||
user.remove_traits(bloodsuckerdatum_power.bloodsucker_traits, BLOODSUCKER_TRAIT)
|
||||
ADD_TRAIT(user, TRAIT_MASQUERADE, BLOODSUCKER_TRAIT)
|
||||
// Handle organs
|
||||
var/obj/item/organ/heart/vampheart = user.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
var/obj/item/organ/internal/heart/vampheart = user.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
if(vampheart)
|
||||
vampheart.Restart()
|
||||
var/obj/item/organ/eyes/eyes = user.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
var/obj/item/organ/internal/eyes/eyes = user.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
if(eyes)
|
||||
eyes.flash_protect = initial(eyes.flash_protect)
|
||||
|
||||
@@ -66,10 +66,10 @@
|
||||
REMOVE_TRAIT(user, TRAIT_MASQUERADE, BLOODSUCKER_TRAIT)
|
||||
|
||||
// Handle organs
|
||||
var/obj/item/organ/heart/vampheart = user.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
var/obj/item/organ/internal/heart/vampheart = user.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
if(vampheart)
|
||||
vampheart.Stop()
|
||||
var/obj/item/organ/eyes/eyes = user.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
var/obj/item/organ/internal/eyes/eyes = user.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
if(eyes)
|
||||
eyes.flash_protect = max(initial(eyes.flash_protect) - 1, FLASH_PROTECTION_SENSITIVE)
|
||||
to_chat(user, span_notice("Your heart beats one final time as your skin dries out and your icy pallor returns."))
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
span_warning("[owner] tears into [target]'s chest!"),
|
||||
span_warning("You tear into [target]'s chest!"))
|
||||
|
||||
var/obj/item/organ/heart/myheart_now = locate() in target.organs
|
||||
var/obj/item/organ/internal/heart/myheart_now = locate() in target.organs
|
||||
if(myheart_now)
|
||||
myheart_now.Remove(target)
|
||||
user.put_in_hands(myheart_now)
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
magic_9ball.bloodsucker_power = src
|
||||
magic_9ball.firer = user
|
||||
magic_9ball.def_zone = ran_zone(user.zone_selected)
|
||||
magic_9ball.aim_projectile(target_atom, user)
|
||||
magic_9ball.preparePixelProjectile(target_atom, user)
|
||||
INVOKE_ASYNC(magic_9ball, TYPE_PROC_REF(/obj/projectile, fire))
|
||||
playsound(user, 'sound/effects/magic/wand_teleport.ogg', 60, TRUE)
|
||||
power_activated_sucessfully()
|
||||
|
||||
@@ -825,7 +825,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/bloodsucker/mirror/broken, 28)
|
||||
if(!observed)
|
||||
balloon_alert(user, "chosen vassal doesn't exist!")
|
||||
return
|
||||
var/obj/item/organ/eyes/observed_eyes = observed.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
var/obj/item/organ/internal/eyes/observed_eyes = observed.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(/datum/antagonist/bloodsucker)
|
||||
|
||||
stop_observe.Grant(user)
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
if(!isturf(proj_turf))
|
||||
return
|
||||
var/obj/projectile/moonbeam/moon = new(proj_turf)
|
||||
moon.aim_projectile(target, user, modifiers)
|
||||
moon.preparePixelProjectile(target, user, modifiers)
|
||||
moon.firer = user
|
||||
playsound(src, 'fulp_modules/features/antagonists/monster_hunter/sounds/moonlightbeam.ogg',50)
|
||||
moon.fire()
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
explosion(humanoid, light_impact_range = 1, explosion_cause = src)
|
||||
|
||||
//Remove moth antennae if present since 'purrbation_apply()' doesn't do that.
|
||||
var/obj/item/organ/spines/antennae = humanoid.get_organ_slot(ORGAN_SLOT_EXTERNAL_ANTENNAE)
|
||||
var/obj/item/organ/external/spines/antennae = humanoid.get_organ_slot(ORGAN_SLOT_EXTERNAL_ANTENNAE)
|
||||
if(antennae)
|
||||
antennae.Remove(humanoid, special = TRUE)
|
||||
qdel(antennae)
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
if(!iscarbon(host_mob))
|
||||
return
|
||||
var/mob/living/carbon/C = host_mob
|
||||
var/obj/item/organ/heart/heart = C.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
var/obj/item/organ/internal/heart/heart = C.get_organ_slot(ORGAN_SLOT_HEART)
|
||||
if(heart)
|
||||
if(heart.is_beating())
|
||||
heart.Stop()
|
||||
|
||||
@@ -44,15 +44,13 @@
|
||||
return assoc_to_keys(SSaccessories.eyes_beefman_list)
|
||||
|
||||
/datum/preference/choiced/beefman_eyes/icon_for(value)
|
||||
var/static/icon/beef_head
|
||||
if(isnull(beef_head))
|
||||
beef_head = icon('fulp_modules/icons/species/mob/beefman_bodyparts.dmi', "beefman_head")
|
||||
beef_head.Blend("#d93356", ICON_MULTIPLY) // Make it red at least
|
||||
var/icon/beef_head = icon('fulp_modules/icons/species/mob/beefman_bodyparts.dmi', "beefman_head")
|
||||
beef_head.Blend("#d93356", ICON_MULTIPLY) // Make it red at least
|
||||
|
||||
var/datum/sprite_accessory/eyes = SSaccessories.eyes_beefman_list[value]
|
||||
|
||||
var/icon/icon_with_eye = new(beef_head)
|
||||
icon_with_eye.Blend(icon('fulp_modules/icons/species/mob/beefman_bodyparts.dmi', "[eyes.icon_state]_head"), ICON_OVERLAY)
|
||||
icon_with_eye.Blend(icon('fulp_modules/icons/species/mob/beefman_bodyparts.dmi', "m_beef_eyes_[eyes.icon_state]_ADJ"), ICON_OVERLAY)
|
||||
icon_with_eye.Scale(64, 64)
|
||||
icon_with_eye.Crop(15, 64, 15 + 31, 64 - 31)
|
||||
|
||||
@@ -80,7 +78,7 @@
|
||||
var/datum/sprite_accessory/mouths = SSaccessories.mouths_beefman_list[value]
|
||||
|
||||
var/icon/icon_with_mouth = new(beef_head)
|
||||
icon_with_mouth.Blend(icon('fulp_modules/icons/species/mob/beefman_bodyparts.dmi', "[mouths.icon_state]_head"), ICON_OVERLAY)
|
||||
icon_with_mouth.Blend(icon('fulp_modules/icons/species/mob/beefman_bodyparts.dmi', "m_beef_mouth_[mouths.icon_state]_ADJ"), ICON_OVERLAY)
|
||||
icon_with_mouth.Scale(64, 64)
|
||||
icon_with_mouth.Crop(15, 64, 15 + 31, 64 - 31)
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
heatmod = 0.5
|
||||
hair_color_mode = USE_FIXED_MUTANT_COLOR
|
||||
species_language_holder = /datum/language_holder/russian
|
||||
mutantbrain = /obj/item/organ/brain/beefman
|
||||
mutanttongue = /obj/item/organ/tongue/beefman
|
||||
mutantbrain = /obj/item/organ/internal/brain/beefman
|
||||
mutanttongue = /obj/item/organ/internal/tongue/beefman
|
||||
skinned_type = /obj/item/food/meatball
|
||||
meat = /obj/item/food/meat/slab
|
||||
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT
|
||||
@@ -59,7 +59,7 @@
|
||||
)
|
||||
|
||||
// Taken from Ethereal
|
||||
/datum/species/beefman/on_species_gain(mob/living/carbon/human/user, datum/species/old_species, pref_load, regenerate_icons)
|
||||
/datum/species/beefman/on_species_gain(mob/living/carbon/human/user, datum/species/old_species, pref_load)
|
||||
RegisterSignal(user, COMSIG_LIVING_HEALTH_UPDATE, PROC_REF(update_beefman_color))
|
||||
RegisterSignal(user, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attack_by))
|
||||
// Instantly set bodytemp to Beefmen levels to prevent bleeding out roundstart.
|
||||
@@ -79,13 +79,7 @@
|
||||
features["beef_eyes"] = pick(SSaccessories.eyes_beefman_list)
|
||||
features["beef_mouth"] = pick(SSaccessories.mouths_beefman_list)
|
||||
return features
|
||||
/*
|
||||
/datum/species/beefman/prepare_human_for_preview(mob/living/carbon/human/human)
|
||||
human.dna.features["beef_color"] = "#e73f4e"
|
||||
human.dna.features["beef_eyes"] = "Capers"
|
||||
human.dna.features["beef_mouth"] = "Gritting Smile"
|
||||
human.update_body(is_creating = TRUE)
|
||||
*/
|
||||
|
||||
/datum/species/beefman/spec_life(mob/living/carbon/human/user)
|
||||
. = ..()
|
||||
var/searJuices = user.getFireLoss_nonProsthetic() / 30
|
||||
@@ -256,7 +250,7 @@
|
||||
|
||||
// Pry it off...
|
||||
if(target_zone == BODY_ZONE_PRECISE_MOUTH)
|
||||
var/obj/item/organ/tongue/tongue = user.get_organ_by_type(/obj/item/organ/tongue)
|
||||
var/obj/item/organ/internal/tongue/tongue = user.get_organ_by_type(/obj/item/organ/internal/tongue)
|
||||
if(!tongue)
|
||||
return FALSE
|
||||
user.visible_message(
|
||||
@@ -289,12 +283,12 @@
|
||||
if(!istype(meat, /obj/item/food/meat/slab))
|
||||
return
|
||||
var/target_zone = attacker.zone_selected
|
||||
if(target_zone == BODY_ZONE_PRECISE_MOUTH && beefboy.get_organ_by_type(/obj/item/organ/tongue))
|
||||
if(target_zone == BODY_ZONE_PRECISE_MOUTH && beefboy.get_organ_by_type(/obj/item/organ/internal/tongue))
|
||||
return
|
||||
var/obj/item/bodypart/affecting = beefboy.get_bodypart(check_zone(target_zone))
|
||||
if(!(target_zone in tearable_limbs))
|
||||
return
|
||||
if(affecting && (!(target_zone == BODY_ZONE_PRECISE_MOUTH) || beefboy.get_organ_by_type(/obj/item/organ/tongue)))
|
||||
if(affecting && (!(target_zone == BODY_ZONE_PRECISE_MOUTH) || beefboy.get_organ_by_type(/obj/item/organ/internal/tongue)))
|
||||
return
|
||||
attacker.visible_message(
|
||||
span_notice("[attacker] begins mashing [meat] into [beefboy]."),
|
||||
@@ -304,7 +298,7 @@
|
||||
return FALSE
|
||||
|
||||
if(target_zone == BODY_ZONE_PRECISE_MOUTH)
|
||||
var/obj/item/organ/tongue/beefman/new_tongue = new()
|
||||
var/obj/item/organ/internal/tongue/beefman/new_tongue = new()
|
||||
new_tongue.Insert(attacker)
|
||||
attacker.visible_message(
|
||||
span_notice("The [meat] sprouts and becomes [beefboy]'s new [new_tongue.name]!"),
|
||||
|
||||
@@ -243,10 +243,9 @@
|
||||
var/mob/living/carbon/owner_cache = owner
|
||||
..()
|
||||
if(!special)
|
||||
if(!QDELETED(src))
|
||||
var/obj/item/food/meat/slab/new_meat = drop_meat(owner_cache, TRUE)
|
||||
qdel(src)
|
||||
return new_meat
|
||||
var/obj/item/food/meat/slab/new_meat = drop_meat(owner_cache, TRUE)
|
||||
qdel(src)
|
||||
return new_meat
|
||||
|
||||
/obj/item/bodypart/leg/left/beef
|
||||
icon = 'fulp_modules/icons/species/mob/beefman_bodyparts.dmi'
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/obj/item/organ/brain/beefman
|
||||
/obj/item/organ/internal/brain/beefman
|
||||
name = "minced-meat brain"
|
||||
desc = "The inexplicably functional brain of a beefman. Some parts seem beyond any dream of repair though..."
|
||||
|
||||
/obj/item/organ/brain/beefman/on_mob_insert(mob/living/carbon/organ_owner, special)
|
||||
/obj/item/organ/internal/brain/beefman/on_mob_insert(mob/living/carbon/organ_owner, special)
|
||||
. = ..()
|
||||
organ_owner.gain_trauma(/datum/brain_trauma/special/bluespace_prophet/phobetor, TRAUMA_RESILIENCE_ABSOLUTE)
|
||||
|
||||
/obj/item/organ/brain/beefman/on_mob_remove(mob/living/carbon/organ_owner, special)
|
||||
/obj/item/organ/internal/brain/beefman/on_mob_remove(mob/living/carbon/organ_owner, special)
|
||||
organ_owner.gain_trauma(/datum/brain_trauma/special/bluespace_prophet/phobetor, TRAUMA_RESILIENCE_ABSOLUTE)
|
||||
return ..()
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
return "[pick(GLOB.experiment_names)] \Roman[rand(1,49)] [pick(GLOB.beef_names)]"
|
||||
|
||||
|
||||
/obj/item/organ/tongue/beefman
|
||||
/obj/item/organ/internal/tongue/beefman
|
||||
name = "meaty tongue"
|
||||
desc = "A meaty and thick muscle typically found in Beefmen."
|
||||
icon = 'fulp_modules/icons/species/mob/beef_tongue.dmi'
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
id = SPECIES_PROTOGEN
|
||||
examine_limb_id = SPECIES_PROTOGEN
|
||||
mutant_organs = list(
|
||||
/obj/item/organ/snout/protogen = "Bolted",
|
||||
/obj/item/organ/tail/protogen = "Shark",
|
||||
/obj/item/organ/protogen_antennae = "Default",
|
||||
/obj/item/organ/external/snout/protogen = "Bolted",
|
||||
/obj/item/organ/external/tail/protogen = "Shark",
|
||||
/obj/item/organ/external/protogen_antennae = "Default",
|
||||
)
|
||||
inherent_traits = list(
|
||||
TRAIT_MUTANT_COLORS,
|
||||
@@ -14,15 +14,15 @@
|
||||
)
|
||||
inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID
|
||||
meat = /obj/item/food/meat/slab/human/mutant/lizard
|
||||
mutantbrain = /obj/item/organ/brain/cybernetic
|
||||
mutanttongue = /obj/item/organ/tongue/robot
|
||||
mutantstomach = /obj/item/organ/stomach/cybernetic/surplus
|
||||
mutantbrain = /obj/item/organ/internal/brain/cybernetic
|
||||
mutanttongue = /obj/item/organ/internal/tongue/robot
|
||||
mutantstomach = /obj/item/organ/internal/stomach/cybernetic/surplus
|
||||
mutantappendix = null
|
||||
mutantheart = /obj/item/organ/heart/cybernetic/surplus
|
||||
mutantliver = /obj/item/organ/liver/cybernetic/surplus
|
||||
mutantlungs = /obj/item/organ/lungs/cybernetic/surplus
|
||||
mutanteyes = /obj/item/organ/eyes/robotic
|
||||
mutantears = /obj/item/organ/ears/cybernetic
|
||||
mutantheart = /obj/item/organ/internal/heart/cybernetic/surplus
|
||||
mutantliver = /obj/item/organ/internal/liver/cybernetic/surplus
|
||||
mutantlungs = /obj/item/organ/internal/lungs/cybernetic/surplus
|
||||
mutanteyes = /obj/item/organ/internal/eyes/robotic
|
||||
mutantears = /obj/item/organ/internal/ears/cybernetic
|
||||
species_language_holder = /datum/language_holder/synthetic
|
||||
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
|
||||
damage_modifier = -25 // 25% More damage
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//Organ
|
||||
/obj/item/organ/protogen_antennae
|
||||
/obj/item/organ/external/protogen_antennae
|
||||
name = "protogen antennae"
|
||||
desc = "A protogen's metallic antennae."
|
||||
icon_state = "antennae"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
savefile_key = "feature_protogen_tail"
|
||||
savefile_identifier = PREFERENCE_CHARACTER
|
||||
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
|
||||
relevant_external_organ = /obj/item/organ/tail/protogen
|
||||
relevant_external_organ = /obj/item/organ/external/tail/protogen
|
||||
|
||||
/datum/preference/choiced/protogen_tail/init_possible_values()
|
||||
return assoc_to_keys_features(SSaccessories.tails_list_protogen)
|
||||
@@ -20,7 +20,7 @@
|
||||
savefile_key = "feature_protogen_snout"
|
||||
savefile_identifier = PREFERENCE_CHARACTER
|
||||
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
|
||||
relevant_external_organ = /obj/item/organ/snout/protogen
|
||||
relevant_external_organ = /obj/item/organ/external/snout/protogen
|
||||
|
||||
/datum/preference/choiced/protogen_snout/init_possible_values()
|
||||
return assoc_to_keys_features(SSaccessories.snouts_list_protogen)
|
||||
@@ -34,7 +34,7 @@
|
||||
savefile_key = "feature_protogen_antennae"
|
||||
savefile_identifier = PREFERENCE_CHARACTER
|
||||
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
|
||||
relevant_external_organ = /obj/item/organ/protogen_antennae
|
||||
relevant_external_organ = /obj/item/organ/external/protogen_antennae
|
||||
|
||||
/datum/preference/choiced/protogen_antennae/init_possible_values()
|
||||
return assoc_to_keys_features(SSaccessories.antennae_list_protogen)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//Organ
|
||||
/obj/item/organ/snout/protogen
|
||||
/obj/item/organ/external/snout/protogen
|
||||
name = "protogen snout"
|
||||
desc = "Take a closer look at that snout!"
|
||||
icon_state = "snout"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//Organ
|
||||
/obj/item/organ/tail/protogen
|
||||
/obj/item/organ/external/tail/protogen
|
||||
name = "protogen tail"
|
||||
desc = "A severed protogen tail. Surprisingly sturdy."
|
||||
preference = "feature_protogen_tail"
|
||||
|
||||
@@ -6,10 +6,8 @@
|
||||
|
||||
/client/proc/playcreditsmusic(vol = 85)
|
||||
set waitfor = FALSE
|
||||
|
||||
var/volume_modifier = prefs.read_preference(/datum/preference/numeric/sound_lobby_volume)
|
||||
if((prefs && volume_modifier) && !CONFIG_GET(flag/disallow_title_music))
|
||||
SEND_SOUND(src, sound(returncreditsmusic(), repeat = 0, wait = 0, volume = volume_modifier, channel = CHANNEL_LOBBYMUSIC)) // MAD JAMS
|
||||
if(prefs && (prefs.read_preference(/datum/preference/toggle/sound_lobby)) && !CONFIG_GET(flag/disallow_title_music))
|
||||
SEND_SOUND(src, sound(returncreditsmusic(), repeat = 0, wait = 0, volume = vol, channel = CHANNEL_LOBBYMUSIC)) // MAD JAMS
|
||||
|
||||
// The proc that decides which track to play for the credits, from the G.credits_music global list
|
||||
// This allows for a much easier time adding some more credits music.
|
||||
|
||||
@@ -6,9 +6,9 @@ __metadata:
|
||||
cacheKey: 10c0
|
||||
|
||||
"@adobe/css-tools@npm:^4.0.1":
|
||||
version: 4.3.3
|
||||
resolution: "@adobe/css-tools@npm:4.3.3"
|
||||
checksum: 10c0/e76e712df713964b87cdf2aca1f0477f19bebd845484d5fcba726d3ec7782366e2f26ec8cb2dcfaf47081a5c891987d8a9f5c3f30d11e1eb3c1848adc27fcb24
|
||||
version: 4.4.0
|
||||
resolution: "@adobe/css-tools@npm:4.4.0"
|
||||
checksum: 10c0/d65ddc719389bf469097df80fb16a8af48a973dea4b57565789d70ac8e7ab4987e6dc0095da3ed5dc16c1b6f8960214a7590312eeda8abd543d91fd0f59e6c94
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -3477,7 +3477,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/marked@npm:4.3.2, @types/marked@npm:^4.0.8":
|
||||
"@types/marked@npm:4.3.2":
|
||||
version: 4.3.2
|
||||
resolution: "@types/marked@npm:4.3.2"
|
||||
checksum: 10c0/6f44d28da5c940a719d6c6aca41e33f49c5fe957f7972939cc1cbb47d045951f4d969f382d655345d0463e47db1994635d2862018716fcef2fa85ceeceb116e7
|
||||
@@ -3535,15 +3535,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/react-dom@npm:^18.2.17":
|
||||
version: 18.3.5
|
||||
resolution: "@types/react-dom@npm:18.3.5"
|
||||
peerDependencies:
|
||||
"@types/react": ^18.0.0
|
||||
checksum: 10c0/b163d35a6b32a79f5782574a7aeb12a31a647e248792bf437e6d596e2676961c394c5e3c6e91d1ce44ae90441dbaf93158efb4f051c0d61e2612f1cb04ce4faa
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/react-dom@npm:^18.3.1":
|
||||
version: 18.3.1
|
||||
resolution: "@types/react-dom@npm:18.3.1"
|
||||
@@ -3563,16 +3554,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/react@npm:^18.2.39":
|
||||
version: 18.3.17
|
||||
resolution: "@types/react@npm:18.3.17"
|
||||
dependencies:
|
||||
"@types/prop-types": "npm:*"
|
||||
csstype: "npm:^3.0.2"
|
||||
checksum: 10c0/475191e9cd0ab5bef35cc1868295d6526cd78b25c1bb816f0747a1e92261688305f81c0e29aff52e6ea70397f133e34c399dc936cb5072f1acf465d9daacc0da
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/resolve@npm:0.0.8":
|
||||
version: 0.0.8
|
||||
resolution: "@types/resolve@npm:0.0.8"
|
||||
@@ -7228,13 +7209,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dateformat@npm:^4.6.2":
|
||||
version: 4.6.3
|
||||
resolution: "dateformat@npm:4.6.3"
|
||||
checksum: 10c0/e2023b905e8cfe2eb8444fb558562b524807a51cdfe712570f360f873271600b5c94aebffaf11efb285e2c072264a7cf243eadb68f3eba0f8cc85fb86cd25df6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dateformat@npm:^5.0.3":
|
||||
version: 5.0.3
|
||||
resolution: "dateformat@npm:5.0.3"
|
||||
@@ -7666,13 +7640,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dompurify@npm:^2.4.4":
|
||||
version: 2.5.8
|
||||
resolution: "dompurify@npm:2.5.8"
|
||||
checksum: 10c0/4101708d190b67be00350369d72619266a2e0ebb7dcab12628cf07711329b1df12239baea613df41b65cba571128e8ea4c29c442f4e2c98670a9bb5563521f03
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dompurify@npm:^2.5.7":
|
||||
version: 2.5.7
|
||||
resolution: "dompurify@npm:2.5.7"
|
||||
@@ -9690,28 +9657,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fulpui-patches@workspace:packages/fulpui-patches":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "fulpui-patches@workspace:packages/fulpui-patches"
|
||||
dependencies:
|
||||
"@popperjs/core": "npm:^2.11.8"
|
||||
"@types/marked": "npm:^4.0.8"
|
||||
"@types/react": "npm:^18.2.39"
|
||||
"@types/react-dom": "npm:^18.2.17"
|
||||
common: "workspace:*"
|
||||
dateformat: "npm:^4.6.2"
|
||||
dompurify: "npm:^2.4.4"
|
||||
highlight.js: "npm:^11.9.0"
|
||||
js-yaml: "npm:^4.1.0"
|
||||
marked: "npm:^4.2.12"
|
||||
react: "npm:^18.2.0"
|
||||
react-dom: "npm:^18.2.0"
|
||||
react-popper: "npm:^2.3.0"
|
||||
tgui-dev-server: "workspace:*"
|
||||
tgui-polyfill: "workspace:*"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"function-bind@npm:^1.1.2":
|
||||
version: 1.1.2
|
||||
resolution: "function-bind@npm:1.1.2"
|
||||
@@ -10302,13 +10247,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"highlight.js@npm:^11.9.0":
|
||||
version: 11.11.0
|
||||
resolution: "highlight.js@npm:11.11.0"
|
||||
checksum: 10c0/32288dd342ed182c0170459beaedd5b02b7c2ffb3a6b1ce6e078124b1debfa0d92aa905f0d2e7a855d2ec7cd38ded473e4a6242bf111bc39625dca61ae0c1be1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"hmac-drbg@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "hmac-drbg@npm:1.0.1"
|
||||
@@ -13319,7 +13257,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"marked@npm:^4.2.12, marked@npm:^4.3.0":
|
||||
"marked@npm:^4.3.0":
|
||||
version: 4.3.0
|
||||
resolution: "marked@npm:4.3.0"
|
||||
bin:
|
||||
@@ -16263,7 +16201,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-dom@npm:^18.2.0, react-dom@npm:^18.3.1":
|
||||
"react-dom@npm:^18.3.1":
|
||||
version: 18.3.1
|
||||
resolution: "react-dom@npm:18.3.1"
|
||||
dependencies:
|
||||
@@ -16419,7 +16357,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react@npm:^18.2.0, react@npm:^18.3.1":
|
||||
"react@npm:^18.3.1":
|
||||
version: 18.3.1
|
||||
resolution: "react@npm:18.3.1"
|
||||
dependencies:
|
||||
|
||||
Reference in New Issue
Block a user