mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Extra Plushies + Plushify Spell (#27384)
* Plushie PR TODO- Fix borgs becoming mind Add to smite list Add diona plush effect * Fixed Issues Added alien plush Added loadout Yeah * Apply suggestions from code review Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: Drakeven <50409888+Drakeven@users.noreply.github.com> * WIP Will finish later * Fixed the various issues Should be working now! Changed the bread smite to a 'generic item' smite and then made it a specifcally breaded smite. * Minor typo fixing And stuff * WIP Conversion Converting all the attacks into more sleek attacks, will need to finish. * Fixes galore Yippie! * Russian revolver wasn't working now you can self-shoot again! Horay! * You can no longer eat spraycans IPC clowns everywhere devistated * Apply suggestions from code review Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Drakeven <50409888+Drakeven@users.noreply.github.com> * A tinsy bit of touching up :) --------- Signed-off-by: Drakeven <50409888+Drakeven@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
co-authored by
Contrabang
Luc
Burzah
parent
33eaf8ae42
commit
a5726efe0c
@@ -256,3 +256,6 @@ and carry the owner just to make sure*/
|
||||
if(health <= HEALTH_THRESHOLD_CRIT && stat == CONSCIOUS)
|
||||
KnockOut()
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/alien/plushify(plushie_override, curse_time)
|
||||
. = ..(/obj/item/toy/plushie/face_hugger, curse_time)
|
||||
|
||||
@@ -2071,6 +2071,10 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
|
||||
var/obj/item/organ/internal/brain/brain_organ = get_int_organ(/obj/item/organ/internal/brain)
|
||||
return brain_organ.damage >= (brain_organ.max_damage * threshold_level)
|
||||
|
||||
|
||||
/mob/living/carbon/human/plushify(plushie_override, curse_time)
|
||||
. = ..(dna.species.plushie_type, curse_time)
|
||||
|
||||
/*
|
||||
* Invokes a hallucination on the mob. Hallucination must be a path or a string of a path
|
||||
*/
|
||||
@@ -2081,3 +2085,4 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
|
||||
return
|
||||
hallucination_to_make = string_path
|
||||
new hallucination_to_make(get_turf(src), src)
|
||||
|
||||
|
||||
@@ -196,6 +196,9 @@
|
||||
var/list/autohiss_extra_map = null
|
||||
var/list/autohiss_exempt = null
|
||||
|
||||
/// What plushie the species will turn into if turned into a plushie.
|
||||
var/plushie_type = /obj/item/toy/plushie/humanplushie
|
||||
|
||||
/datum/species/New()
|
||||
unarmed = new unarmed_type()
|
||||
if(!sprite_sheet_name)
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
female_scream_sound = 'sound/goonstation/voice/male_scream.ogg'
|
||||
female_cough_sounds = list('sound/effects/mob_effects/m_cougha.ogg','sound/effects/mob_effects/m_coughb.ogg', 'sound/effects/mob_effects/m_coughc.ogg')
|
||||
female_sneeze_sound = 'sound/effects/mob_effects/sneeze.ogg' //Abductors always scream like guys
|
||||
plushie_type = /obj/item/toy/plushie/abductor
|
||||
var/team = 1
|
||||
var/scientist = FALSE // vars to not pollute spieces list with castes
|
||||
|
||||
|
||||
@@ -61,6 +61,8 @@
|
||||
"pulls out a secret stash of herbicide and takes a hearty swig!",
|
||||
"is pulling themselves apart!")
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/dionaplushie
|
||||
|
||||
/datum/species/diona/can_understand(mob/other)
|
||||
if(isnymph(other))
|
||||
return TRUE
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
"is sucking in warm air!",
|
||||
"is holding their breath!")
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/draskplushie
|
||||
|
||||
species_traits = list(LIPS, NO_HAIR)
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT
|
||||
bodyflags = HAS_SKIN_TONE | HAS_BODY_MARKINGS | BALD | SHAVED
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
flesh_color = "#a598ad"
|
||||
blood_color = "#A200FF"
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/greyplushie
|
||||
|
||||
/datum/species/grey/handle_dna(mob/living/carbon/human/H, remove)
|
||||
..()
|
||||
H.dna.SetSEState(GLOB.remotetalkblock, !remove, TRUE)
|
||||
|
||||
@@ -55,3 +55,5 @@
|
||||
"s" = list("z", "zs", "zzz", "zzsz")
|
||||
)
|
||||
autohiss_exempt = list("Chittin")
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/kidanplushie
|
||||
|
||||
@@ -74,6 +74,8 @@
|
||||
"is frying their own circuits!",
|
||||
"is blocking their ventilation port!")
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/ipcplushie
|
||||
|
||||
|
||||
/datum/species/machine/on_species_gain(mob/living/carbon/human/H)
|
||||
..()
|
||||
|
||||
@@ -59,6 +59,9 @@
|
||||
"is ripping their wings off!",
|
||||
"is holding their breath!"
|
||||
)
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/nianplushie
|
||||
|
||||
/datum/species/moth/updatespeciescolor(mob/living/carbon/human/H, owner_sensitive = 1) //Handling species-specific skin-tones for the nian race.
|
||||
if(H.dna.species.bodyflags & HAS_ICON_SKIN_TONE)
|
||||
var/new_icobase = 'icons/mob/human_races/nian/r_moth.dmi' //Default nian.
|
||||
|
||||
@@ -51,6 +51,8 @@
|
||||
"s" = list("ss", "sss", "ssss")
|
||||
)
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/plasmamanplushie
|
||||
|
||||
/datum/species/plasmaman/before_equip_job(datum/job/J, mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
var/current_job = J.title
|
||||
var/datum/outfit/plasmaman/O = new /datum/outfit/plasmaman
|
||||
|
||||
@@ -43,3 +43,5 @@
|
||||
"is twisting their own neck!",
|
||||
"makes like a fish and suffocates!",
|
||||
"is strangling themselves with their own tendrils!")
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/skrellplushie
|
||||
|
||||
@@ -59,6 +59,8 @@
|
||||
|
||||
var/reagent_skin_coloring = FALSE
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/slimeplushie
|
||||
|
||||
/datum/species/slime/on_species_gain(mob/living/carbon/human/H)
|
||||
..()
|
||||
var/datum/action/innate/regrow/grow = new()
|
||||
|
||||
@@ -56,5 +56,7 @@
|
||||
)
|
||||
autohiss_exempt = list("Siik'tajr")
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/grey_cat
|
||||
|
||||
/datum/species/tajaran/handle_death(gibbed, mob/living/carbon/human/H)
|
||||
H.stop_tail_wagging()
|
||||
|
||||
@@ -62,6 +62,8 @@
|
||||
)
|
||||
autohiss_exempt = list("Sinta'unathi")
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/lizardplushie
|
||||
|
||||
/datum/species/unathi/on_species_gain(mob/living/carbon/human/H)
|
||||
..()
|
||||
var/datum/action/innate/unathi_ignite/fire = new()
|
||||
|
||||
@@ -72,6 +72,8 @@
|
||||
|
||||
speciesbox = /obj/item/storage/box/survival_vox
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/voxplushie
|
||||
|
||||
/datum/species/vox/handle_death(gibbed, mob/living/carbon/human/H)
|
||||
H.stop_tail_wagging()
|
||||
|
||||
|
||||
@@ -47,5 +47,7 @@
|
||||
"is twisting their own neck!",
|
||||
"is holding their breath!")
|
||||
|
||||
plushie_type = /obj/item/toy/plushie/red_fox
|
||||
|
||||
/datum/species/vulpkanin/handle_death(gibbed, mob/living/carbon/human/H)
|
||||
H.stop_tail_wagging()
|
||||
|
||||
@@ -1184,5 +1184,26 @@
|
||||
/mob/living/proc/can_remote_apc_interface(obj/machinery/power/apc/ourapc)
|
||||
return FALSE
|
||||
|
||||
/mob/living/proc/plushify(plushie_override, curse_time = 10 MINUTES)
|
||||
var/mob/living/simple_animal/shade/sword/generic_item/plushvictim = new(get_turf(src))
|
||||
var/obj/item/toy/plushie/plush_type = pick(subtypesof(/obj/item/toy/plushie) - typesof(/obj/item/toy/plushie/fluff) - typesof(/obj/item/toy/plushie/carpplushie)) //exclude the base type.
|
||||
if(plushie_override)
|
||||
plush_type = plushie_override
|
||||
var/obj/item/toy/plushie/plush_outcome = new plush_type(get_turf(src))
|
||||
plushvictim.forceMove(plush_outcome)
|
||||
plushvictim.key = key
|
||||
plushvictim.RegisterSignal(plush_outcome, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/mob/living/simple_animal/shade/sword/generic_item, handle_item_deletion))
|
||||
plushvictim.name = name
|
||||
plush_outcome.name = "[name] plushie"
|
||||
if(curse_time == -1)
|
||||
qdel(src)
|
||||
else
|
||||
plush_outcome.cursed_plushie_victim = src
|
||||
forceMove(plush_outcome)
|
||||
notransform = TRUE
|
||||
status_flags |= GODMODE
|
||||
addtimer(CALLBACK(plush_outcome, TYPE_PROC_REF(/obj/item/toy/plushie, un_plushify)), curse_time)
|
||||
to_chat(plushvictim, "<span class='warning'>You have been cursed into an enchanted plush doll! At least you can still move around a bit...</span>")
|
||||
|
||||
/mob/living/proc/sec_hud_set_ID()
|
||||
return
|
||||
|
||||
@@ -1809,3 +1809,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
if(ourapc.malfai && !(src in ourapc.malfai.connected_robots))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/silicon/robot/plushify(plushie_override, curse_time)
|
||||
if(curse_time == -1)
|
||||
QDEL_NULL(mmi)
|
||||
return ..()
|
||||
|
||||
@@ -594,3 +594,6 @@
|
||||
if(silicon_hat)
|
||||
. += "<span class='notice'>They are wearing a [bicon(silicon_hat)] [silicon_hat.name].<span>"
|
||||
. += "<span class='notice'>Use an empty hand on [src] on grab mode to remove [silicon_hat].<span>"
|
||||
|
||||
/mob/living/silicon/plushify(plushie_override, curse_time)
|
||||
. = ..(/obj/item/toy/plushie/borgplushie, curse_time)
|
||||
|
||||
@@ -69,13 +69,13 @@
|
||||
if(istype(host_sword))
|
||||
health = host_sword.obj_integrity
|
||||
|
||||
/mob/living/simple_animal/shade/sword/bread
|
||||
name = "Bread spirit"
|
||||
/mob/living/simple_animal/shade/sword/generic_item
|
||||
name = "Trapped spirit"
|
||||
|
||||
/mob/living/simple_animal/shade/sword/bread/update_runechat_msg_location()
|
||||
/mob/living/simple_animal/shade/sword/generic_item/update_runechat_msg_location()
|
||||
runechat_msg_location = loc.UID()
|
||||
|
||||
/mob/living/simple_animal/shade/sword/bread/proc/handle_bread_deletion(source)
|
||||
/mob/living/simple_animal/shade/sword/generic_item/proc/handle_item_deletion(source)
|
||||
SIGNAL_HANDLER
|
||||
qdel(src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user