diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index 3222e52c2d..edbc267079 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -79,6 +79,18 @@ var/global/list/struggle_sounds = list( "Squish4" = 'sound/vore/squish4.ogg') +var/global/list/global_egg_types = list( + "Unathi" = UNATHI_EGG, + "Tajaran" = TAJARAN_EGG, + "Akula" = AKULA_EGG, + "Skrell" = SKRELL_EGG, + "Sergal" = SERGAL_EGG, + "Human" = HUMAN_EGG, + "Slime" = SLIME_EGG, + "Egg" = EGG_EGG, + "Xenochimera" = XENOCHIMERA_EGG, + "Xenomorph" = XENOMORPH_EGG) + /hook/startup/proc/init_vore_datum_ref_lists() var/paths diff --git a/code/game/objects/structures/crates_lockers/closets/egg_vr.dm b/code/game/objects/structures/crates_lockers/closets/egg_vr.dm index 9e54eea395..aeed53a996 100644 --- a/code/game/objects/structures/crates_lockers/closets/egg_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/egg_vr.dm @@ -90,6 +90,14 @@ icon_closed = "egg_scree" icon_opened = "egg_scree_open" +/obj/structure/closet/secure_closet/egg/xenomorph + name = "Xenomorph egg" + desc = "Some type of pitch black egg. It has a slimy exterior coating." + icon_state = "egg_xenomorph" + icon_closed = "egg_xenomorph" + icon_opened = "egg_xenomorph_open" + + //In case anyone stumbles upon this, MAJOR thanks to Vorrakul and Nightwing. Without them, this wouldn't be a reality. //Also, huge thanks for Ace for helping me through with this and getting me to work at my full potential instead of tapping out early, along with coding advice. //Additionally, huge thanks to the entire Virgo community for giving suggestions about egg TF, the sprites, descriptions, etc etc. Cheers to everyone. Also, you should totally eat Cadence. ~CK diff --git a/code/modules/client/preference_setup/vore/03_egg.dm b/code/modules/client/preference_setup/vore/03_egg.dm new file mode 100644 index 0000000000..51d36960bd --- /dev/null +++ b/code/modules/client/preference_setup/vore/03_egg.dm @@ -0,0 +1,49 @@ +var/UNATHI_EGG = "Unathi" +var/TAJARAN_EGG = "Tajaran" +var/AKULA_EGG = "Akula" +var/SKRELL_EGG = "Skrell" +var/SERGAL_EGG = "Sergal" +var/HUMAN_EGG = "Human" +var/SLIME_EGG = "Slime" +var/EGG_EGG = "Egg" +var/XENOCHIMERA_EGG = "Xenochimera" +var/XENOMORPH_EGG = "Xenomorph" + +// Define a place to save appearance in character setup +/datum/preferences + var/egg_type = "Egg" //The egg type they have. + +// Definition of the stuff for the egg type. +/datum/category_item/player_setup_item/vore/egg + name = "Egg appearance." + sort_order = 3 + +/datum/category_item/player_setup_item/vore/egg/load_character(var/savefile/S) + S["egg_type"] >> pref.egg_type + +/datum/category_item/player_setup_item/vore/egg/save_character(var/savefile/S) + S["egg_type"] << pref.egg_type + +/datum/category_item/player_setup_item/vore/egg/sanitize_character() + var/valid_egg_types = global_egg_types + pref.egg_type = sanitize_inlist(pref.egg_type, valid_egg_types, initial(pref.egg_type)) + +/datum/category_item/player_setup_item/vore/egg/copy_to_mob(var/mob/living/carbon/human/character) + character.egg_type = pref.egg_type + +/datum/category_item/player_setup_item/vore/egg/content(var/mob/user) + . += "
" + . += " Egg Type: [pref.egg_type]
" + +/datum/category_item/player_setup_item/vore/egg/OnTopic(var/href, var/list/href_list, var/mob/user) + if(!CanUseTopic(user)) + return TOPIC_NOACTION + + else if(href_list["egg_type"]) + var/list/egg_types = global_egg_types + var/selection = input(user, "Choose your character's egg type:", "Character Preference", pref.egg_type) as null|anything in egg_types + if(selection) + pref.egg_type = egg_types[selection] + return TOPIC_REFRESH + else + return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/species_vr.dm b/code/modules/mob/living/carbon/human/species/species_vr.dm index 6e1e1f04a5..0cb198842c 100644 --- a/code/modules/mob/living/carbon/human/species/species_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_vr.dm @@ -7,11 +7,6 @@ //tails only, since tails would wag when dead if you used this var/icobase_tail = 0 - - //This is used for egg TF. It decides what type of egg the person will lay when they TF. - //Default to the normal and bland "egg" just in case a race isn't defined. - var/egg_type = "egg" - //This is so that if a race is using the chimera revive they can't use it more than once. //Shouldn't really be seen in play too often, but it's case an admin event happens and they give a non chimera the chimera revive. Only one person can use the chimera revive at a time per race. var/reviving = 0 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm index db7ba4d6fe..296b784c88 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm @@ -15,7 +15,6 @@ //color_mult = 1 //It seemed to work fine in testing, but I've been informed it's unneeded. tail = "tail" //Scree's tail. Can be disabled in the vore tab by choosing "hide species specific tail sprite" icobase_tail = 1 - egg_type = "Scree" //Scree egg. inherent_verbs = list(/mob/living/carbon/human/proc/begin_reconstitute_form) min_age = 17 diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index 1338a5c350..c040089975 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -15,7 +15,6 @@ secondary_langs = list("Sagaru") name_language = "Sagaru" color_mult = 1 - egg_type = "Sergal" min_age = 17 max_age = 80 @@ -62,7 +61,6 @@ secondary_langs = list("Skrellian") name_language = "Skrellian" color_mult = 1 - egg_type = "Akula" min_age = 17 max_age = 80 @@ -102,7 +100,6 @@ secondary_langs = list("Birdsong") name_language = "Birdsong" color_mult = 1 - egg_type = "Nevrean" min_age = 17 max_age = 80 @@ -140,7 +137,6 @@ num_alternate_languages = 2 secondary_langs = list("Siik'tajr") name_language = "Siik'tajr" - egg_type = "Tajaran" //Placeholder. min_age = 17 max_age = 80 @@ -186,7 +182,6 @@ num_alternate_languages = 2 secondary_langs = list("Siik'tajr") name_language = "Siik'tajr" - egg_type = "Tajaran" //Placeholder. min_age = 17 max_age = 80 @@ -239,7 +234,6 @@ // gluttonous = 1 num_alternate_languages = 2 color_mult = 1 - egg_type = "Tajaran" //also placeholder. because I see other things using it blurb = "Vulpkanin are a species of sharp-witted canine-pideds residing on the planet Altam just barely within the \ dual-star Vazzend system. Their politically de-centralized society and independent natures have led them to become a species and \ @@ -258,19 +252,13 @@ min_age = 17 max_age = 80 -//datum/species/vulpkanin //just to write it out, no idea where any of it goes -- Pooj -// egg_type = "Vulpkanin" - /datum/species/unathi - egg_type = "Unathi" spawn_flags = SPECIES_CAN_JOIN //Species_can_join is the only spawn flag all the races get, so that none of them will be whitelist only if whitelist is enabled. /datum/species/tajaran - egg_type = "Tajaran" spawn_flags = SPECIES_CAN_JOIN /datum/species/skrell - egg_type = "Skrell" spawn_flags = SPECIES_CAN_JOIN /datum/species/diona @@ -280,11 +268,9 @@ spawn_flags = SPECIES_CAN_JOIN /datum/species/shapeshifter/promethean - egg_type = "Slime" spawn_flags = SPECIES_CAN_JOIN /datum/species/human - egg_type = "Human" color_mult = 1 icobase = 'icons/mob/human_races/r_human_vr.dmi' deform = 'icons/mob/human_races/r_def_human_vr.dmi' diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm index c23ed81484..a7b88c016e 100644 --- a/code/modules/mob/new_player/sprite_accessories_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_vr.dm @@ -32,6 +32,10 @@ icon_state = "serg_fairytail" species_allowed = list("Sergal") + braid + name = "Floorlength Braid" + icon_state = "hair_braid" //Trust me, it's better this way. + bald name = "Bald" icon_state = "bald" diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index fb8c32486d..2986fc0d3d 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -310,6 +310,7 @@ P.update_hair() P.update_body() P.update_tail_showing() + P.updateicon() if(O.nutrition > 0) O.nutrition -= 2 @@ -325,7 +326,6 @@ continue var/mob/living/carbon/human/O = owner - var/turf/T = get_turf(O) if (O.custom_species) var/defined_species = O.custom_species @@ -351,64 +351,71 @@ P.update_hair() P.update_body() P.update_tail_showing() - switch(O.species.egg_type) + P.updateicon() + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." for(var/mob/living/M in internal_contents) internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) + P.forceMove(J) + J.name = "[defined_species] egg" + J.desc = "This egg has a very unique look to it." + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." @@ -436,55 +443,58 @@ P.update_hair() P.update_body() P.update_tail_showing() - switch(O.species.egg_type) + P.updateicon() + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "Unathi egg" internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "Tajaran egg" internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "Akula egg" internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "Skrell egg" internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "Segal egg" internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "Human egg" internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "Slime egg" internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Egg" internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) + P.forceMove(J) + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) P.forceMove(J) - J.name = "Scree egg" - J.desc = "This egg has a very unique look to it." internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Odd egg" //Something went wrong. Since the default is "egg", they shouldn't see this. internal_contents -= P @@ -497,7 +507,6 @@ continue var/mob/living/carbon/human/O = owner - var/turf/T = get_turf(O) if (O.custom_species) var/defined_species = O.custom_species @@ -515,63 +524,69 @@ owner << "You tingle as you make noticeable changes to your captive's body." P.update_hair() P.update_body() - switch(O.species.egg_type) + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) + P.forceMove(J) + J.name = "[defined_species] egg" + J.desc = "This egg has a very unique look to it." + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." @@ -592,55 +607,59 @@ owner << "You tingle as you make noticeable changes to your captive's body." P.update_hair() P.update_body() - switch(O.species.egg_type) + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "Unathi egg" internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "Tajaran egg" internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "Akula egg" internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "Skrell egg" internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "Segal egg" internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "Human egg" internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "Slime egg" internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Egg" internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) + J.name = "Xenochimera egg" P.forceMove(J) - J.name = "Scree egg" - J.desc = "This egg has a very unique look to it." + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) + P.forceMove(J) + J.name = "Xenomorph egg" internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Odd egg" //Something went wrong. Since the default is "egg", they shouldn't see this. internal_contents -= P @@ -653,7 +672,6 @@ continue var/mob/living/carbon/human/O = owner - var/turf/T = get_turf(O) if (O.custom_species) var/defined_species = O.custom_species @@ -672,63 +690,69 @@ owner << "Your body feels strange as you alter your captive's gender." P.update_hair() P.update_body() - switch(O.species.egg_type) + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) + P.forceMove(J) + J.name = "[defined_species] egg" + J.desc = "This egg has a very unique look to it." + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." @@ -747,55 +771,59 @@ P.gender = MALE P << "Your body feels very strange..." owner << "You feel strange as you alter your captive's gender." - switch(O.species.egg_type) + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "Unathi egg" internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "Tajaran egg" internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "Akula egg" internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "Skrell egg" internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "Segal egg" internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "Human egg" internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "Slime egg" internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Egg" internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) P.forceMove(J) J.name = "Scree egg" - J.desc = "This egg has a very unique look to it." + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) + P.forceMove(J) + J.name = "Xenomorph egg" internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Odd egg" //Something went wrong. Since the default is "egg", they shouldn't see this. internal_contents -= P @@ -808,7 +836,6 @@ continue var/mob/living/carbon/human/O = owner - var/turf/T = get_turf(O) if (O.custom_species) @@ -828,63 +855,69 @@ owner << "You feels strange as you alter your captive's gender." P.update_hair() P.update_body() - switch(O.species.egg_type) + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) + P.forceMove(J) + J.name = "[defined_species] egg" + J.desc = "This egg has a very unique look to it." + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." @@ -905,55 +938,57 @@ P << "Your body feels very strange..." P.update_hair() P.update_body() - switch(O.species.egg_type) + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "Unathi egg" internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "Tajaran egg" internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "Akula egg" internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "Skrell egg" internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "Segal egg" internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "Human egg" internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "Slime egg" internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Egg" internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) + P.forceMove(J) + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) P.forceMove(J) - J.name = "Scree egg" - J.desc = "This egg has a very unique look to it." internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Odd egg" //Something went wrong. Since the default is "egg", they shouldn't see this. internal_contents -= P @@ -967,64 +1002,75 @@ continue var/mob/living/carbon/human/O = owner - var/turf/T = get_turf(O) if (O.custom_species) var/defined_species = O.custom_species P << "You lose sensation of your body, feeling only the warmth around you as you're encased in an egg. " owner << "Your body shifts as you encase [P] in an egg." - switch(O.species.egg_type) + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." for(var/mob/living/M in internal_contents) internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) + P.forceMove(J) + J.name = "[defined_species] egg" + J.desc = "This egg has a very unique look to it." + internal_contents -= P + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) + P.forceMove(J) + J.name = "[defined_species] egg" + J.desc = "This egg has a very unique look to it." + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "[defined_species] egg" J.desc = "This egg has a very unique look to it." @@ -1032,54 +1078,59 @@ else P << "You lose sensation of your body, feeling only the warmth around you as you're encased in an egg. " owner << "Your body shifts as you encase [P] in an egg." - switch(O.species.egg_type) + switch(O.egg_type) if("Unathi") - var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(T.loc) + var/obj/structure/closet/secure_closet/egg/unathi/J = new /obj/structure/closet/secure_closet/egg/unathi(O.loc) P.forceMove(J) J.name = "Unathi egg" internal_contents -= P if("Tajaran") - var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(T.loc) + var/obj/structure/closet/secure_closet/egg/tajaran/J = new /obj/structure/closet/secure_closet/egg/tajaran(O.loc) P.forceMove(J) J.name = "Tajaran egg" internal_contents -= P if("Akula") - var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(T.loc) + var/obj/structure/closet/secure_closet/egg/shark/J = new /obj/structure/closet/secure_closet/egg/shark(O.loc) P.forceMove(J) J.name = "Akula egg" internal_contents -= P if("Skrell") - var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(T.loc) + var/obj/structure/closet/secure_closet/egg/skrell/J = new /obj/structure/closet/secure_closet/egg/skrell(O.loc) P.forceMove(J) J.name = "Skrell egg" internal_contents -= P if("Sergal") - var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(T.loc) + var/obj/structure/closet/secure_closet/egg/sergal/J = new /obj/structure/closet/secure_closet/egg/sergal(O.loc) P.forceMove(J) J.name = "Segal egg" internal_contents -= P if("Human") - var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(T.loc) + var/obj/structure/closet/secure_closet/egg/human/J = new /obj/structure/closet/secure_closet/egg/human(O.loc) P.forceMove(J) J.name = "Human egg" internal_contents -= P if("Slime") - var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(T.loc) + var/obj/structure/closet/secure_closet/egg/slime/J = new /obj/structure/closet/secure_closet/egg/slime(O.loc) P.forceMove(J) J.name = "Slime egg" internal_contents -= P if("Egg") - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Egg" internal_contents -= P - if("Scree") - var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(T.loc) + if("Xenochimera") + var/obj/structure/closet/secure_closet/egg/scree/J = new /obj/structure/closet/secure_closet/egg/scree(O.loc) P.forceMove(J) - J.name = "Scree egg" + J.name = "Xenochimera egg" + internal_contents -= P + if("Xenomorph") + var/obj/structure/closet/secure_closet/egg/xenomorph/J = new /obj/structure/closet/secure_closet/egg/xenomorph(O.loc) + P.forceMove(J) + J.name = "Xenomorph egg" internal_contents -= P else - var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(T.loc) + var/obj/structure/closet/secure_closet/egg/J = new /obj/structure/closet/secure_closet/egg(O.loc) P.forceMove(J) J.name = "Odd egg" //Something went wrong. Since the default is "egg", they shouldn't see this. internal_contents -= P diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index f8e5b9e0e9..3cdf97ad0c 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -7,6 +7,7 @@ var/weight = 137 // Weight for mobs for weightgain system var/weight_gain = 1 // How fast you gain weight var/weight_loss = 0.5 // How fast you lose weight + var/egg_type = "egg" // Default egg type. // // Hook for generic creation of stuff on new creatures diff --git a/icons/obj/egg_vr.dmi b/icons/obj/egg_vr.dmi index 12b7691765..c54ac62b10 100644 Binary files a/icons/obj/egg_vr.dmi and b/icons/obj/egg_vr.dmi differ diff --git a/vorestation.dme b/vorestation.dme index 26fab3fee1..ac6d704de8 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1118,6 +1118,7 @@ #include "code\modules\client\preference_setup\skills\skills.dm" #include "code\modules\client\preference_setup\vore\01_ears.dm" #include "code\modules\client\preference_setup\vore\02_size.dm" +#include "code\modules\client\preference_setup\vore\03_egg.dm" #include "code\modules\clothing\chameleon.dm" #include "code\modules\clothing\clothing.dm" #include "code\modules\clothing\clothing_accessories.dm"