whole lotta stuff

This commit is contained in:
Metis
2024-09-12 23:53:35 -04:00
parent f268e5655f
commit 8fd779ef02
232 changed files with 8793 additions and 0 deletions
@@ -0,0 +1,37 @@
/obj/machinery/door
var/fatness_to_check = 0
var/check_fatness = FALSE
var/check_fatness_below = FALSE
/obj/machinery/door/proc/change_fatness_to_check(mob/user)
var/fatness_type = input(usr,
"What level of fatness do you wish to alert above/under at?",
src, "None") as null|anything in list(
"None", "Fat", "Fatter", "Very Fat", "Obese", "Morbidly Obese", "Extremely Obese", "Barely Mobile", "Immobile", "Blob")
if(!fatness_type)
return FALSE
var/fatness_amount = 0
switch(fatness_type)
if("Fat")
fatness_amount = FATNESS_LEVEL_FAT
if("Fatter")
fatness_amount = FATNESS_LEVEL_FATTER
if("Very Fat")
fatness_amount = FATNESS_LEVEL_VERYFAT
if("Obese")
fatness_amount = FATNESS_LEVEL_OBESE
if("Morbidly Obese")
fatness_amount = FATNESS_LEVEL_MORBIDLY_OBESE
if("Extremely Obese")
fatness_amount = FATNESS_LEVEL_EXTREMELY_OBESE
if("Barely Mobile")
fatness_amount = FATNESS_LEVEL_BARELYMOBILE
if("Immobile")
fatness_amount = FATNESS_LEVEL_IMMOBILE
if("Blob")
fatness_amount = FATNESS_LEVEL_BLOB
fatness_to_check = fatness_amount
return TRUE
@@ -0,0 +1,18 @@
/obj/structure/mineral_door/calorite //GS13
name = "calorite door"
icon = 'GainStation13/icons/obj/structure/calorite_door.dmi'
icon_state = "calorite"
sheetType = /obj/item/stack/sheet/mineral/calorite
max_integrity = 200
light_range = 1
// Sets it open by default
state = TRUE
density = FALSE
// If you ever want to make any door like this, just simply add the component like this :3
/obj/structure/mineral_door/calorite/Initialize(mapload)
. = ..()
AddComponent(/datum/component/fattening_door)
update_icon() // Updates the sprite when spawned in cause it's closed by default.
@@ -0,0 +1,9 @@
/obj/structure/tree/candylight //GS13
name = "Peppermint Light"
desc = "A light source that's made out of a peppermint tree."
icon = 'GainStation13/icons/obj/gslight.dmi'
icon_state = "candylight"
max_integrity = 500
light_color = "#a5cfc5" //testing out my copy cat skills. -Metussi
light_range = 3
anchored = 1
@@ -0,0 +1,43 @@
/obj/structure/cursedfatfountain
name = "Strange fountain"
desc = "An odd fountain, sparking with foreign magic."
icon = 'GainStation13/icons/obj/cursed_fountain.dmi'
icon_state = "full"
anchored = TRUE
density = TRUE
var/curse_given = 0
/mob/living
var/cursed_fat = 0 //decides whether the user is cursed at all (also makes for a fun admin switch)
var/fattening_steps_left = 0 //decides on the lenght of the curse
/obj/structure/cursedfatfountain/attack_hand(mob/living/user)
. = ..()
if(.)
return
if(curse_given == 1)
to_chat(user, "<span class='notice'>The fountain has dried up.</span>")
icon_state = "empty"
return
if (ishuman(user) && user.has_dna())
user.cursed_fat = 1
user.fattening_steps_left += 2000
icon_state = "empty"
to_chat(user, "<span class='notice'>The glittering orange liquid disappears instantly as you touch it. You feel a strange, warm sensation inside, growing stronger the more you move...</span>")
curse_given = 1
// /obj/structure/cursedfatfountain/update_icon()
// if(last_process + time_between_uses > world.time)
// icon_state = "full"
// else
// icon_state = "empty"
/mob/living/carbon/Move(NewLoc, direct)
. = ..()
if(cursed_fat == 1)
fattening_steps_left -= 1
adjust_fatness(20, FATTENING_TYPE_MAGIC)
if(fattening_steps_left <= 0)
cursed_fat = 0
@@ -0,0 +1,6 @@
/obj/structure/statue/fatso
name = "statue of a forgotten god"
desc = "A statue of a long forgotten god, at least on earth."
icon = 'GainStation13/icons/obj/structure/statues.dmi'
icon_state = "fattha_statue"
anchored = TRUE
+81
View File
@@ -0,0 +1,81 @@
/obj/structure/scale
name = "weighing scale"
desc = "You can weigh yourself with this."
icon = 'GainStation13/icons/obj/scale.dmi'
icon_state = "scale"
anchored = TRUE
resistance_flags = NONE
max_integrity = 250
integrity_failure = 25
var/buildstacktype = /obj/item/stack/sheet/metal
var/buildstackamount = 3
layer = OBJ_LAYER
//stores the weight of the last person to step on in Lbs
var/lastreading = 0
//the conversion ratio for how much a point of fatness weighs on a 6' person
var/fatnessToWeight = 0.25
/obj/structure/scale/deconstruct()
// If we have materials, and don't have the NOCONSTRUCT flag
if(buildstacktype && (!(flags_1 & NODECONSTRUCT_1)))
new buildstacktype(loc,buildstackamount)
..()
/obj/structure/scale/attackby(obj/item/W, mob/user, params)
if(W.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1))
W.play_tool_sound(src)
deconstruct()
else if(istype(W, /obj/item/assembly/shock_kit))
if(!user.temporarilyRemoveItemFromInventory(W))
return
var/obj/item/assembly/shock_kit/SK = W
var/obj/structure/chair/e_chair/E = new /obj/structure/chair/e_chair(src.loc)
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
E.setDir(dir)
E.part = SK
SK.forceMove(E)
SK.master = E
qdel(src)
else
return ..()
/obj/structure/scale/examine(mob/user)
. = ..()
. += "Its last reading was: [src.lastreading]Lbs"
. += "<span class='notice'>It's held together by a couple of <b>bolts</b>.</span>"
/obj/structure/scale/proc/weighEffect(mob/living/carbon/human/fatty)
to_chat(fatty, "<span class='notice'>You weigh yourself.</span>")
to_chat(fatty, "<span class='notice'>The numbers on the screen tick up and eventually settle on:</span>")
//The appearance of the numbers changes with the fat level of the character
if (HAS_TRAIT(fatty, TRAIT_BLOB))
to_chat(fatty, "<span class='userdanger'><span class='big'>[round(src.lastreading/2000, 0.01)]TONS!!!</span></span>")
else if (HAS_TRAIT(fatty, TRAIT_IMMOBILE))
to_chat(fatty, "<span class='boldannounce'>[src.lastreading]Lbs!</span>")
else if(HAS_TRAIT(fatty, TRAIT_OBESE) || HAS_TRAIT(fatty, TRAIT_MORBIDLYOBESE))
to_chat(fatty, "<span class='alert'>[src.lastreading]Lbs!</span>")
else
to_chat(fatty, "<span class='notice'>[src.lastreading]Lbs.</span>")
visible_message("<span class='notice'>The numbers on the screen read out: [fatty] has a BFI of [fatty.fatness].</span>")
/obj/structure/scale/Crossed(AM as mob|obj)
if(isturf(loc))
//need to be sure the thing that just crossed the scale is human
if(ishuman(AM))
var/mob/living/carbon/human/HM = AM
if(!(HM.movement_type & FLYING))
weighperson(HM)
/obj/structure/scale/proc/weighperson(mob/living/carbon/human/fatty)
src.lastreading = fatty.calculate_weight_in_pounds()
weighEffect(fatty)
visible_message("<span class='notice'>[fatty] weighs themselves.</span>")
visible_message("<span class='notice'>The numbers on the screen settle on: [src.lastreading]Lbs.</span>")
visible_message("<span class='notice'>The numbers on the screen read out: [fatty] has a BFI of [fatty.fatness].</span>")
/mob/living/carbon/proc/calculate_weight_in_pounds()
return round((140 + (fatness*FATNESS_TO_WEIGHT_RATIO))*(size_multiplier**2)*((dna.features["taur"] != "None") ? 2.5: 1))