Egg transformation. A few bug fixes (#76)

* This compiles, has a debug in a few areas

But doesn't actually work in game

* This didn't go with the first sync. booo.

* Actually gets egg TF to work. Fixes spacesuit sprites

* Makes the borgs stomach show up

* More  bugfixes!
This commit is contained in:
Cameron653
2016-05-16 19:16:35 -04:00
committed by Arokha Sieyes
parent a223c7c6b7
commit d199552fa0
9 changed files with 721 additions and 1448 deletions
@@ -0,0 +1,88 @@
/obj/structure/closet/secure_closet/egg
name = "egg"
desc = "It's an egg; it's smooth to the touch." //This is the default egg.
icon = 'icons/obj/egg_vr.dmi'
icon_state = "egg"
density = 0 //Just in case there's a lot of eggs, so it doesn't block hallways/areas.
icon_closed = "egg"
icon_opened = "egg_open"
icon_locked = "egg"
open_sound = 'sound/vore/schlorp.ogg'
close_sound = 'sound/vore/schlorp.ogg'
opened = 0
welded = 0 //Don't touch this.
health = 100
/obj/structure/closet/secure_closet/egg/attackby(obj/item/weapon/W, mob/user as mob) //This also prevents crew from welding the eggs and making them unable to be opened.
if(istype(W, /obj/item/weapon/weldingtool))
src.dump_contents()
del(src)
/obj/structure/closet/secure_closet/egg/unathi
name = "unathi egg"
desc = "Some species of Unathi apparently lay soft-shelled eggs!"
icon_state = "egg_unathi"
icon_closed = "egg_unathi"
icon_opened = "egg_unathi_open"
/obj/structure/closet/secure_closet/egg/nevrean
name = "nevarean egg"
desc = "Most Nevareans lay hard-shelled eggs!"
icon_state = "egg_nevarean"
icon_closed = "egg_nevarean"
icon_opened = "egg_nevarean_open"
/obj/structure/closet/secure_closet/egg/human
name = "human egg"
desc = "Some humans lay eggs that are--wait, what?"
icon_state = "egg_human"
icon_closed = "egg_human"
icon_opened = "egg_human_open"
/obj/structure/closet/secure_closet/egg/tajaran
name = "tajaran egg"
desc = "Apparently that's what a Tajaran egg looks like. Weird."
icon_state = "egg_tajaran"
icon_closed = "egg_tajaran"
icon_opened = "egg_tajaran_open"
/obj/structure/closet/secure_closet/egg/skrell
name = "skrell egg"
desc = "Its soft and squishy"
icon_state = "egg_skrell"
icon_closed = "egg_skrell"
icon_opened = "egg_skrell_open"
/obj/structure/closet/secure_closet/egg/shark
name = "akula egg"
desc = "Its soft and slimy to the touch"
icon = 'icons/obj/closet.dmi'
icon_closed = "egg_akula"
icon_opened = "egg_akula_open"
/obj/structure/closet/secure_closet/egg/sergal
name = "sergal egg"
desc = "An egg with a slightly fuzzy exterior, and a hard layer beneath."
icon_state = "egg_sergal"
icon_closed = "egg_sergal"
icon_opened = "egg_sergal_open"
/obj/structure/closet/secure_closet/egg/slime
name = "slime egg"
desc = "An egg with a soft and squishy interior, coated with slime."
icon_state = "egg_slime"
icon_closed = "egg_slime"
icon_opened = "egg_slime_open"
/obj/structure/closet/secure_closet/egg/special //Not actually used, but the sprites are in, and it's there in case any admins need to spawn in the egg for any specific reasons.
name = "special egg"
desc = "This egg has a very unique look to it."
icon_state = "egg_unique"
icon_closed = "egg_unique"
icon_opened = "egg_unique_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
@@ -5,4 +5,9 @@
//This is for overriding tail rendering with a specific icon in icobase, for static
//tails only, since tails would wag when dead if you used this
var/icobase_tail = 0
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"
@@ -15,6 +15,7 @@
secondary_langs = list("Sagaru")
name_language = "Sagaru"
color_mult = 1
egg_type = "Sergal"
min_age = 17
max_age = 80
@@ -61,6 +62,7 @@
secondary_langs = list("Skrellian")
name_language = "Skrellian"
color_mult = 1
egg_type = "Akula"
min_age = 17
max_age = 80
@@ -100,6 +102,7 @@
secondary_langs = list("Birdsong")
name_language = "Birdsong"
color_mult = 1
egg_type = "Nevrean"
min_age = 17
max_age = 80
@@ -120,4 +123,22 @@
"Your fur prickles in the heat.",
"You feel uncomfortably warm.",
"Your overheated skin itches."
)
)
/datum/species/unathi
egg_type = "Unathi"
/datum/species/tajaran
egg_type = "Tajaran"
/datum/species/skrell
egg_type = "Skrell"
/datum/species/shapeshifter/promethean
egg_type = "Slime"
/datum/species/human
egg_type = "Human"
@@ -27,6 +27,7 @@
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
R.icon_state = "k9"
R.pixel_x = -16
R.old_x = -16
..()
/obj/item/weapon/robot_module/knine/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
@@ -67,5 +68,6 @@
R.icon = 'icons/mob/widerobot_vr.dmi'
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
R.icon_state = "medihound"
R.pixel_x = -16
R.pixel_x = -16
R.old_x = -16
..()
@@ -0,0 +1,32 @@
/mob/living/silicon/robot/updateicon()
overlays.Cut()
if(stat == CONSCIOUS)
overlays += "eyes-[module_sprites[icontype]]"
if(sleeper_g == 1)
overlays += "sleeper_g"
if(sleeper_r == 1)
overlays += "sleeper_r"
if(opened)
var/panelprefix = custom_sprite ? src.ckey : "ov"
if(wiresexposed)
overlays += "[panelprefix]-openpanel +w"
else if(cell)
overlays += "[panelprefix]-openpanel +c"
else
overlays += "[panelprefix]-openpanel -c"
if(module_active && istype(module_active,/obj/item/borg/combat/shield))
overlays += "[module_sprites[icontype]]-shield"
if(modtype == "Combat")
if(module_active && istype(module_active,/obj/item/borg/combat/mobility))
icon_state = "[module_sprites[icontype]]-roll"
else
icon_state = module_sprites[icontype]
return
if(stat == 0)
if(sleeper_g == 1)
overlays += "sleeper_g"
if(sleeper_r == 1)
overlays += "sleeper_r"
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

+2
View File
@@ -833,6 +833,7 @@
#include "code\game\objects\structures\crates_lockers\largecrate.dm"
#include "code\game\objects\structures\crates_lockers\closets\coffin.dm"
#include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm"
#include "code\game\objects\structures\crates_lockers\closets\egg_vr.dm"
#include "code\game\objects\structures\crates_lockers\closets\fireaxe.dm"
#include "code\game\objects\structures\crates_lockers\closets\fitness.dm"
#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm"
@@ -1483,6 +1484,7 @@
#include "code\modules\mob\living\silicon\robot\robot_modules.dm"
#include "code\modules\mob\living\silicon\robot\robot_modules_vr.dm"
#include "code\modules\mob\living\silicon\robot\robot_movement.dm"
#include "code\modules\mob\living\silicon\robot\robot_vr.dm"
#include "code\modules\mob\living\silicon\robot\syndicate.dm"
#include "code\modules\mob\living\silicon\robot\dogborg\dog_modules_vr.dm"
#include "code\modules\mob\living\silicon\robot\dogborg\dog_sleeper_vr.dm"