Files
2024-11-15 15:59:42 -05:00

274 lines
9.1 KiB
Plaintext

/datum/material/calorite
name = "calorite"
sheet_type = /obj/item/stack/sheet/mineral/calorite
color = list(340/255, 150/255, 50/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0)
strength_modifier = 1.5
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
beauty_modifier = 0.05
armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, RAD = 1, FIRE = 0.7, ACID = 1.1) // Same armor as gold.
/datum/material/calorite/on_applied_obj(obj/source, amount, material_flags)
. = ..()
if(!(material_flags & MATERIAL_AFFECT_STATISTICS))
return
var/obj/source_obj = source
source_obj.damtype = FAT
/datum/material/calorite/on_removed_obj(obj/source, material_flags)
if(!(material_flags & MATERIAL_AFFECT_STATISTICS))
return ..()
var/obj/source_obj = source
source_obj.damtype = initial(source_obj.damtype)
return ..()
/turf/closed/mineral/calorite //GS13
mineralType = /obj/item/stack/ore/calorite
/obj/item/stack/ore/calorite //GS13
name = "calorite ore"
icon = 'GainStation13/icons/obj/mining.dmi'
icon_state = "calorite ore"
item_state = "calorite ore"
singular_name = "Calorite ore chunk"
points = 40
custom_materials = list(/datum/material/calorite=MINERAL_MATERIAL_AMOUNT)
refined_type = /obj/item/stack/sheet/mineral/calorite
mine_experience = 20
/obj/item/stack/sheet/mineral/calorite
name = "calorite"
icon = 'GainStation13/icons/obj/stack_objects.dmi'
icon_state = "sheet-calorite"
item_state = "sheet-calorite"
singular_name = "calorite sheet"
sheettype = "calorite"
novariants = TRUE
grind_results = list(/datum/reagent/consumable/lipoifier = 2)
point_value = 40
custom_materials = list(/datum/material/calorite=MINERAL_MATERIAL_AMOUNT)
merge_type = /obj/item/stack/sheet/mineral/calorite
material_type = /datum/material/calorite
walltype = /turf/closed/wall/mineral/calorite
GLOBAL_LIST_INIT(calorite_recipes, list ( \
new/datum/stack_recipe("Calorite tile", /obj/item/stack/tile/mineral/calorite, 1, 4, 20), \
new/datum/stack_recipe("Calorite Ingots", /obj/item/ingot/calorite, time = 30), \
new/datum/stack_recipe("Fatty statue", /obj/structure/statue/calorite/fatty, 5, one_per_turf = 1, on_floor = 1),\
new/datum/stack_recipe("Calorite doors", /obj/structure/mineral_door/calorite, 5, one_per_turf = 1, on_floor = 1),\
))
/obj/item/stack/sheet/mineral/calorite/get_main_recipes()
. = ..()
. += GLOB.calorite_recipes
/obj/item/stack/tile/mineral/calorite //GS13
name = "Calorite tile"
singular_name = "Calorite floor tile"
desc = "A tile made out of calorite. Bwoomph."
icon = 'GainStation13/icons/obj/tiles.dmi'
icon_state = "tile_calorite"
turf_type = /turf/open/floor/mineral/calorite
mineralType = "calorite"
/obj/item/stack/tile/mineral/calorite/hide //GS13 - disguised variant
name = "Floor tile"
singular_name = "calorite floor tile"
desc = "A tile totally made out of steel."
icon_state = "tile"
turf_type = /turf/open/floor/mineral/calorite/hide
/obj/item/stack/tile/mineral/calorite/strong //GS13 - strong variant
name = "Infused calorite tile"
singular_name = "Infused calorite floor tile"
desc = "A tile made out of stronger variant of calorite. Bwuurp."
icon_state = "tile_calorite_strong"
turf_type = /turf/open/floor/mineral/calorite/strong
/obj/item/stack/tile/mineral/calorite/dance //GS13 - glamourous variant!
name = "Calorite dance floor"
singular_name = "Calorite dance floor tile"
desc = "A dance floor made out of calorite, for a party both you and your waistline will never forget!."
icon_state = "tile_calorite_dance"
turf_type = /turf/open/floor/mineral/calorite/dance
/turf/open/floor/mineral/calorite
name = "Calorite floor"
icon = 'GainStation13/icons/turf/floors.dmi'
icon_state = "calorite"
floor_tile = /obj/item/stack/tile/mineral/calorite
icons = list("calorite","calorite_dam")
var/last_event = 0
var/active = null
///How much fatness is added to the user upon crossing?
var/fat_to_add = 25
/turf/open/floor/mineral/calorite/Entered(mob/living/carbon/M)
if(!istype(M, /mob/living/carbon))
return FALSE
else
M.adjust_fatness(fat_to_add, FATTENING_TYPE_ITEM)
// calorite floor, disguised version - GS13
/turf/open/floor/mineral/calorite/hide
name = "Steel floor"
icon_state = "calorite_hide"
floor_tile = /obj/item/stack/tile/mineral/calorite/hide
icons = list("calorite_hide","calorite_dam")
// calorite floor, powerful version - GS13
/turf/open/floor/mineral/calorite/strong
name = "Infused calorite floor"
icon_state = "calorite_strong"
floor_tile = /obj/item/stack/tile/mineral/calorite/strong
icons = list("calorite_strong","calorite_dam")
fat_to_add = 100
// calorite dance floor, groovy! - GS13
/turf/open/floor/mineral/calorite/dance
name = "Calorite dance floor"
icon_state = "calorite_dance"
floor_tile = /obj/item/stack/tile/mineral/calorite/dance
icons = list("calorite_dance","calorite_dam")
/obj/structure/statue/calorite
icon = 'GainStation13/icons/obj/statue.dmi'
max_integrity = 400
custom_materials = list(/datum/material/calorite=MINERAL_MATERIAL_AMOUNT*5)
/obj/structure/statue/calorite/fatty
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/beckon()
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/proc/statue_fatten(mob/living/carbon/M)
if(!M.adjust_fatness(20, FATTENING_TYPE_ITEM))
to_chat(M, "<span class='warning'>Nothing happens.</span>")
return
if(M.fatness < FATNESS_LEVEL_FATTER)
to_chat(M, "<span class='warning'>The moment your hand meets the statue, you feel a little warmer...</span>")
else if(M.fatness < FATNESS_LEVEL_OBESE)
to_chat(M, "<span class='warning'>Upon each poke of the statue, you feel yourself get a little heavier.</span>")
else if(M.fatness < FATNESS_LEVEL_EXTREMELY_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>")
else if(M.fatness < FATNESS_LEVEL_BARELYMOBILE)
to_chat(M, "<span class='warning'>The world around you blur slightly as you focus on prodding the statue, your waistline widening further...</span>")
else if(M.fatness < FATNESS_LEVEL_IMMOBILE)
to_chat(M, "<span class='warning'>A whispering voice gently compliments your massive body, your own mind begging to touch the statue.</span>")
else
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/Bumped(atom/movable/AM)
beckon()
..()
/obj/structure/statue/calorite/fatty/Crossed(var/mob/AM)
.=..()
if(!.)
if(istype(AM))
beckon()
/obj/structure/statue/calorite/fatty/Moved(atom/movable/AM)
beckon()
..()
/obj/structure/statue/calorite/fatty/attackby(obj/item/W, mob/living/carbon/M, params)
statue_fatten(M)
/obj/structure/statue/calorite/fatty/attack_hand(mob/living/carbon/M)
statue_fatten(M)
/obj/structure/statue/calorite/fatty/attack_paw(mob/living/carbon/M)
statue_fatten(M)
/turf/closed/wall/mineral/calorite //GS13
name = "calorite wall"
desc = "A wall with calorite plating. Burp."
icon = 'GainStation13/icons/turf/calorite_wall.dmi'
icon_state = "calorite"
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))
M.adjust_fatness(30, FATTENING_TYPE_ITEM)
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()
. = ..()
/obj/structure/falsewall/calorite //GS13
name = "calorite wall"
desc = "A wall with calorite plating. Burp."
icon = 'GainStation13/icons/turf/calorite_wall.dmi'
icon_state = "calorite"
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))
M.adjust_fatness(30, FATTENING_TYPE_ITEM)
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/item/ingot/calorite
custom_materials = list(/datum/material/calorite=1500)