further calorite updates

- new calorite statue with... certain, fun properties (sprites made by VV!)
- new posters, made by Cubic
- added special properties to walls
- started work on unique cryo roles
- made Calorite compatible with Lipoifier Immunity perk
This commit is contained in:
Sonoida
2023-01-19 01:40:08 +01:00
parent eb14dd203e
commit 619fb5a74a
8 changed files with 215 additions and 15 deletions
@@ -271,6 +271,34 @@
mineral = /obj/item/stack/sheet/mineral/calorite
walltype = /turf/closed/wall/mineral/calorite
canSmoothWith = list(/obj/structure/falsewall/calorite, /turf/closed/wall/mineral/calorite)
var/active = null
var/last_event = 0
/obj/structure/falsewall/calorite/proc/fatten()
if(!active)
if(world.time > last_event+15)
active = 1
for(var/mob/living/carbon/human/M in orange(3,src))
if(HAS_TRAIT(M, TRAIT_LIPOIFIER_IMMUNE))
return
else
M.fatness = M.fatness + 50
last_event = world.time
active = null
return
return
/obj/structure/falsewall/calorite/Bumped(atom/movable/AM)
fatten()
..()
/obj/structure/falsewall/calorite/attackby(obj/item/W, mob/user, params)
fatten()
return ..()
/obj/structure/falsewall/calorite/attack_hand(mob/user)
fatten()
. = ..()
/obj/structure/falsewall/sandstone
+95
View File
@@ -330,3 +330,98 @@
name = "Fatty statue"
desc = "A statue of a well-rounded fatso."
icon_state = "fatty"
var/active = null
var/last_event = 0
/obj/structure/statue/calorite/fatty/proc/beacon()
if(!active)
if(world.time > last_event+15)
active = 1
for(var/mob/living/carbon/human/M in orange(3,src))
to_chat(M, "<span class='warning'>You feel the statue calling to you, urging you to touch it...</span>")
last_event = world.time
active = null
return
return
/obj/structure/statue/calorite/fatty/Bumped(atom/movable/AM)
beacon()
..()
/obj/structure/statue/calorite/fatty/Crossed(var/mob/AM)
.=..()
if(!.)
if(istype(AM))
beacon()
/obj/structure/statue/calorite/fatty/Moved(atom/movable/AM)
beacon()
..()
/obj/structure/statue/calorite/fatty/Bumped(atom/movable/AM)
beacon()
..()
/obj/structure/statue/calorite/fatty/Uncross(atom/movable/AM)
beacon()
..()
/obj/structure/statue/calorite/fatty/Uncrossed(atom/movable/AM)
beacon()
..()
/obj/structure/statue/calorite/fatty/attackby(obj/item/W, mob/living/carbon/M, params)
if(HAS_TRAIT(M, TRAIT_LIPOIFIER_IMMUNE))
to_chat(M, "<span class='warning'>Nothing happens.</span>")
else
M.fatness = M.fatness + 20
if(M.fatness < 200)
to_chat(M, "<span class='warning'>The moment your hand meets the statue, you feel a little warmer...</span>")
if(HAS_TRAIT(M, TRAIT_FAT))
to_chat(M, "<span class='warning'>Upon each poke of the statue, you feel yourself get a little heavier.</span>")
if(HAS_TRAIT(M, TRAIT_OBESE))
to_chat(M, "<span class='warning'>With each touch you keep getting fatter... But the fatter you grow, the more enticed you feel to poke the statue.</span>")
if(HAS_TRAIT(M, TRAIT_MORBIDLYOBESE))
to_chat(M, "<span class='warning'>The world around you blurs as you focus on prodding the statue, your waistline widening further...</span>")
if(HAS_TRAIT(M, TRAIT_IMMOBILE))
to_chat(M, "<span class='warning'>A whispering voice gently compliments your massive body, your own mind begging to touch the statue more.</span>")
if(HAS_TRAIT(M, TRAIT_BLOB))
to_chat(M, "<span class='warning'>You can barely reach the statue past your floor-covering stomach! And yet, it still calls to you...</span>")
/obj/structure/statue/calorite/fatty/attack_hand(mob/living/carbon/M)
if(HAS_TRAIT(M, TRAIT_LIPOIFIER_IMMUNE))
to_chat(M, "<span class='warning'>Nothing happens.</span>")
else
M.fatness = M.fatness + 20
if(M.fatness < 200)
to_chat(M, "<span class='warning'>The moment your hand meets the statue, you feel a little warmer...</span>")
if(HAS_TRAIT(M, TRAIT_FAT))
to_chat(M, "<span class='warning'>Upon each poke of the statue, you feel yourself get a little heavier.</span>")
if(HAS_TRAIT(M, TRAIT_OBESE))
to_chat(M, "<span class='warning'>With each touch you keep getting fatter... But the fatter you grow, the more enticed you feel to poke the statue.</span>")
if(HAS_TRAIT(M, TRAIT_MORBIDLYOBESE))
to_chat(M, "<span class='warning'>The world around you blurs as you focus on prodding the statue, your waistline widening further...</span>")
if(HAS_TRAIT(M, TRAIT_IMMOBILE))
to_chat(M, "<span class='warning'>A whispering voice gently compliments your massive body, your own mind begging to touch the statue more.</span>")
if(HAS_TRAIT(M, TRAIT_BLOB))
to_chat(M, "<span class='warning'>You can barely reach the statue past your floor-covering stomach! And yet, it still calls to you...</span>")
/obj/structure/statue/calorite/fatty/attack_paw(mob/living/carbon/M)
if(HAS_TRAIT(M, TRAIT_LIPOIFIER_IMMUNE))
to_chat(M, "<span class='warning'>Nothing happens.</span>")
else
M.fatness = M.fatness + 20
if(M.fatness < 200)
to_chat(M, "<span class='warning'>The moment your hand meets the statue, you feel a little warmer...</span>")
if(HAS_TRAIT(M, TRAIT_FAT))
to_chat(M, "<span class='warning'>Upon each poke of the statue, you feel yourself get a little heavier.</span>")
if(HAS_TRAIT(M, TRAIT_OBESE))
to_chat(M, "<span class='warning'>With each touch you keep getting fatter... But the fatter you grow, the more enticed you feel to poke the statue.</span>")
if(HAS_TRAIT(M, TRAIT_MORBIDLYOBESE))
to_chat(M, "<span class='warning'>The world around you blurs as you focus on prodding the statue, your waistline widening further...</span>")
if(HAS_TRAIT(M, TRAIT_IMMOBILE))
to_chat(M, "<span class='warning'>A whispering voice gently compliments your massive body, your own mind begging to touch the statue more.</span>")
if(HAS_TRAIT(M, TRAIT_BLOB))
to_chat(M, "<span class='warning'>You can barely reach the statue past your floor-covering stomach! And yet, it still calls to you...</span>")
@@ -216,18 +216,10 @@
var/active = null
/turf/open/floor/mineral/calorite/Entered(mob/living/carbon/M)
M.fatness = M.fatness + 20
// /turf/open/floor/mineral/calorite/proc/fatten(mob/living/carbon/M)
// if(!active)
// if(world.time > last_event+15)
// active = 1
// M.fatness = M.fatness + 30
// for(var/turf/open/floor/mineral/calorite/T in orange(1,src))
// T.fatten()
// last_event = world.time
// active = 0
// return
if(HAS_TRAIT(M, TRAIT_LIPOIFIER_IMMUNE))
return
else
M.fatness = M.fatness + 50
// calorite floor, disguised version - GS13
@@ -238,7 +230,10 @@
icons = list("calorite_hide","calorite_hide_dam")
/turf/open/floor/mineral/calorite_hide/Entered(mob/living/carbon/M)
M.fatness = M.fatness + 50
if(HAS_TRAIT(M, TRAIT_LIPOIFIER_IMMUNE))
return
else
M.fatness = M.fatness + 50
// calorite floor, powerful version - GS13
@@ -249,8 +244,10 @@
icons = list("calorite_strong","calorite_strong_dam")
/turf/open/floor/mineral/calorite_strong/Entered(mob/living/carbon/M)
M.fatness = M.fatness + 200
if(HAS_TRAIT(M, TRAIT_LIPOIFIER_IMMUNE))
return
else
M.fatness = M.fatness + 50
//DIAMOND
@@ -50,6 +50,34 @@
sheet_type = /obj/item/stack/sheet/mineral/calorite
canSmoothWith = list(/turf/closed/wall/mineral/calorite, /obj/structure/falsewall/calorite)
/turf/closed/wall/mineral/calorite/proc/fatten()
if(!active)
if(world.time > last_event+15)
active = 1
for(var/mob/living/carbon/human/M in orange(3,src))
if(HAS_TRAIT(M, TRAIT_LIPOIFIER_IMMUNE))
return
else
M.fatness = M.fatness + 50
last_event = world.time
active = null
return
return
/turf/closed/wall/mineral/calorite/Bumped(atom/movable/AM)
fatten()
..()
/turf/closed/wall/mineral/calorite/attackby(obj/item/W, mob/user, params)
fatten()
return ..()
/turf/closed/wall/mineral/calorite/attack_hand(mob/user)
fatten()
. = ..()
/turf/closed/wall/mineral/sandstone
name = "sandstone wall"
desc = "A wall with sandstone plating. Rough."
+52
View File
@@ -614,3 +614,55 @@
shoes = /obj/item/clothing/shoes/sneakers/black
suit = /obj/item/clothing/suit/armor/vest
glasses = /obj/item/clothing/glasses/sunglasses/reagent
// GS13 stuff!
// Restaurant Worker: Basically just a bunch of wagies who are supposed to lure people into their restaurant
/obj/effect/mob_spawn/human/fastfood
name = "Corporate Cryostasis Pod"
desc = "On the grease-stained cryopod glass, you can see someone sleeping inside..."
mob_name = "fastfood_worker"
job_description = "Restaurant Worker"
icon = 'icons/obj/machines/sleeper.dmi'
icon_state = "sleeper"
roundstart = FALSE
death = FALSE
mob_species = /datum/species/human
short_desc = "It's the grand opening day!"
flavour_text = "After you've sold your soul to corporate overlords, your contract obliged you to enter cryostasis. \
Finally, after God knows how long, the cryopod system have awakened you with only a single sentence of information - welcome and lure in new guests into the freshly opened restaurant!"
assignedrole = "Free villager"
mirrorcanloadappearance = TRUE
/obj/effect/mob_spawn/human/fastfood/Initialize(mapload)
. = ..()
var/arrpee = rand(1,3)
switch(arrpee)
if(1)
flavour_text += "You are this restaurant's manager, taking care of all the necessary paperwork, overseeing all the workers...\
But most importantly, you always have to make sure that the restaurant prospers and remains in good shape! "
outfit.head = /obj/item/clothing/head/pharaoh
outfit.uniform = /obj/item/clothing/under/tunic
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
outfit.back = /obj/item/storage/backpack/satchel/leather
if(2)
flavour_text += "You are this restaurant's cook, using up the plethora of ingredients to cook up deliciously greasy and caloric foods.\
The kitchen and the bar is your turf! Make sure the guests stay fed."
outfit.head = /obj/item/clothing/head/rice_hat
outfit.uniform = /obj/item/clothing/under/tunic
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
outfit.back = /obj/item/storage/backpack
if(3)
flavour_text += "You are this restaurant's waiter, responsible not only for tending to the guests, but also fixing and taking care of station's shape, power and looks.\
Make sure everything looks squeaky clean and that the restaurant remains powered!"
outfit.uniform = /obj/item/clothing/under/mummy
outfit.uniform = /obj/item/clothing/under/tunic
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
outfit.back = /obj/item/storage/backpack
/obj/effect/mob_spawn/human/fastfood/special(mob/living/carbon/human/new_spawn)
ADD_TRAIT(new_spawn,TRAIT_EXEMPT_HEALTH_EVENTS,GHOSTROLE_TRAIT)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 32 KiB