mirror of
https://github.com/KabKebab/GS13.git
synced 2026-08-24 05:26:37 +01:00
Merge branch 'master' into testbranch
This commit is contained in:
@@ -467,4 +467,39 @@
|
||||
// Abductor Replication Lab
|
||||
/area/ruin/space/has_grav/powered/advancedlab
|
||||
name = "Abductor Replication Lab"
|
||||
icon_state = "yellow"
|
||||
icon_state = "yellow"
|
||||
|
||||
|
||||
//GS13 RUINS AND OTHER EXCLUSIVE AREAS
|
||||
//We should probably move this to our own file later - Sono
|
||||
|
||||
/area/crew_quarters/fitness/sauna
|
||||
name = "Saunas"
|
||||
icon_state = "dk_yellow"
|
||||
|
||||
/area/xenoarch/caloriteresearch_powered
|
||||
name = "Research Facility Ruins"
|
||||
icon_state = "dk_yellow"
|
||||
power_light = TRUE
|
||||
|
||||
/area/xenoarch/caloriteresearch_unpowered
|
||||
name = "Research Facility Ruins"
|
||||
icon_state = "dk_yellow"
|
||||
power_light = TRUE
|
||||
|
||||
/area/ruin/space/has_grav/fastfood_main
|
||||
name = "Restaurant Main Area"
|
||||
has_gravity = TRUE
|
||||
|
||||
/area/ruin/space/has_grav/fastfood_employee
|
||||
name = "Restaurant Employee Area"
|
||||
has_gravity = TRUE
|
||||
|
||||
/area/lavaland/surface/snackstore
|
||||
name = "Snack Store"
|
||||
icon_state = "mining"
|
||||
power_light = TRUE
|
||||
|
||||
/area/ruin/space/has_grav/feedersden
|
||||
name = "Unknown Outpost"
|
||||
has_gravity = TRUE
|
||||
|
||||
@@ -74,6 +74,8 @@
|
||||
/obj/item/cigbutt = 1,
|
||||
/obj/item/trash/cheesie = 1,
|
||||
/obj/item/trash/candy = 1,
|
||||
/obj/item/trash/fatoray_scrap1 = 1,
|
||||
/obj/item/trash/fatoray_scrap2 = 1,
|
||||
/obj/item/trash/chips = 1,
|
||||
/obj/item/reagent_containers/food/snacks/deadmouse = 1,
|
||||
/obj/item/trash/pistachios = 1,
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
/obj/item/dyespray
|
||||
name = "hair dye spray"
|
||||
desc = "A spray to dye your hair any gradients you'd like."
|
||||
icon = 'icons/obj/dyespray.dmi'
|
||||
icon_state = "dyespray"
|
||||
|
||||
var/uses = 10 //SKYRAT EDIT ADDITION
|
||||
|
||||
/obj/item/dyespray/attack_self(mob/user)
|
||||
dye(user)
|
||||
|
||||
/obj/item/dyespray/pre_attack(atom/target, mob/living/user, params)
|
||||
dye(target)
|
||||
return ..()
|
||||
|
||||
/**
|
||||
* Applies a gradient and a gradient color to a mob.
|
||||
*
|
||||
* Arguments:
|
||||
* * target - The mob who we will apply the gradient and gradient color to.
|
||||
*/
|
||||
|
||||
/obj/item/dyespray/proc/dye(mob/target)
|
||||
if(!ishuman(target))
|
||||
return
|
||||
|
||||
if(!uses) //SKYRAT EDIT ADDITION
|
||||
return //SKYRAT EDIT ADDITION
|
||||
|
||||
var/mob/living/carbon/human/human_target = target
|
||||
|
||||
var/new_hair_color = input(usr, "Choose a base hair color:", "Character Preference","#"+human_target.hair_color) as color|null
|
||||
if(!new_hair_color)
|
||||
return
|
||||
|
||||
var/new_grad_style = input(usr, "Choose a color pattern:", "Character Preference") as null|anything in GLOB.hair_gradients_list
|
||||
if(!new_grad_style)
|
||||
return
|
||||
|
||||
var/new_grad_color = input(usr, "Choose a secondary hair color:", "Character Preference","#"+human_target.grad_color) as color|null
|
||||
if(!new_grad_color)
|
||||
return
|
||||
|
||||
human_target.hair_color = sanitize_hexcolor(new_hair_color)
|
||||
human_target.grad_style = new_grad_style
|
||||
human_target.grad_color = sanitize_hexcolor(new_grad_color)
|
||||
to_chat(human_target, "<span class='notice'>You start applying the hair dye...</span>")
|
||||
if(!do_after(usr, 30, target = human_target))
|
||||
return
|
||||
playsound(src, 'sound/effects/spray.ogg', 5, TRUE, 5)
|
||||
human_target.update_hair()
|
||||
|
||||
//SKYRAT EDIT ADDITION
|
||||
uses--
|
||||
|
||||
/obj/item/dyespray/examine(mob/user)
|
||||
. = ..()
|
||||
. += "It has [uses] uses left."
|
||||
|
||||
//SKYRAT EDIT END
|
||||
@@ -597,6 +597,45 @@
|
||||
beakers += B1
|
||||
beakers += B2
|
||||
|
||||
//GS13 - fattening grenade presets
|
||||
|
||||
/obj/item/grenade/chem_grenade/lipoifier_strong
|
||||
name = "lipoifier grenade"
|
||||
desc = "For when you want everyone in the room to gain a couple hundred pounds."
|
||||
stage = READY
|
||||
|
||||
/obj/item/grenade/chem_grenade/lipoifier_strong/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src)
|
||||
var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src)
|
||||
|
||||
B1.reagents.add_reagent(/datum/reagent/consumable/lipoifier, 250)
|
||||
B1.reagents.add_reagent(/datum/reagent/potassium, 40)
|
||||
B2.reagents.add_reagent(/datum/reagent/phosphorus, 40)
|
||||
B2.reagents.add_reagent(/datum/reagent/consumable/sugar, 40)
|
||||
|
||||
beakers += B1
|
||||
beakers += B2
|
||||
|
||||
|
||||
/obj/item/grenade/chem_grenade/lipoifier_weak
|
||||
name = "lipoifier grenade"
|
||||
desc = "For when you want everyone in the room to gain a couple dozen pounds."
|
||||
stage = READY
|
||||
|
||||
/obj/item/grenade/chem_grenade/lipoifier_weak/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
|
||||
var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
|
||||
|
||||
B1.reagents.add_reagent(/datum/reagent/consumable/lipoifier, 40)
|
||||
B1.reagents.add_reagent(/datum/reagent/potassium, 20)
|
||||
B2.reagents.add_reagent(/datum/reagent/phosphorus, 20)
|
||||
B2.reagents.add_reagent(/datum/reagent/consumable/sugar, 20)
|
||||
|
||||
beakers += B1
|
||||
beakers += B2
|
||||
|
||||
#undef READY
|
||||
#undef WIRED
|
||||
#undef EMPTY
|
||||
|
||||
@@ -290,7 +290,7 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \
|
||||
sheettype = "calorite"
|
||||
materials = list(MAT_CALORITE=MINERAL_MATERIAL_AMOUNT)
|
||||
novariants = TRUE
|
||||
grind_results = list(/datum/reagent/consumable/lipoifier = 10)
|
||||
grind_results = list(/datum/reagent/consumable/lipoifier = 5)
|
||||
point_value = 40
|
||||
merge_type = /obj/item/stack/sheet/mineral/calorite
|
||||
|
||||
|
||||
@@ -333,7 +333,7 @@
|
||||
var/active = null
|
||||
var/last_event = 0
|
||||
|
||||
/obj/structure/statue/calorite/fatty/proc/beacon()
|
||||
/obj/structure/statue/calorite/fatty/proc/beckon()
|
||||
if(!active)
|
||||
if(world.time > last_event+15)
|
||||
active = 1
|
||||
@@ -344,70 +344,43 @@
|
||||
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 blurs 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 more.</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)
|
||||
beacon()
|
||||
beckon()
|
||||
..()
|
||||
|
||||
/obj/structure/statue/calorite/fatty/Crossed(var/mob/AM)
|
||||
.=..()
|
||||
if(!.)
|
||||
if(istype(AM))
|
||||
beacon()
|
||||
beckon()
|
||||
|
||||
/obj/structure/statue/calorite/fatty/Moved(atom/movable/AM)
|
||||
beacon()
|
||||
beckon()
|
||||
..()
|
||||
|
||||
/obj/structure/statue/calorite/fatty/attackby(obj/item/W, mob/living/carbon/M, params)
|
||||
if(!M.adjust_fatness(20, FATTENING_TYPE_ITEM))
|
||||
to_chat(M, "<span class='warning'>Nothing happens.</span>")
|
||||
return
|
||||
|
||||
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>")
|
||||
statue_fatten(M)
|
||||
|
||||
/obj/structure/statue/calorite/fatty/attack_hand(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 < 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>")
|
||||
statue_fatten(M)
|
||||
|
||||
/obj/structure/statue/calorite/fatty/attack_paw(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 < 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>")
|
||||
statue_fatten(M)
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
var/last_event = 0
|
||||
var/active = null
|
||||
///How much fatness is added to the user upon crossing?
|
||||
var/fat_to_add = 50
|
||||
var/fat_to_add = 30
|
||||
|
||||
/turf/open/floor/mineral/calorite/Entered(mob/living/carbon/M)
|
||||
if(!istype(M, /mob/living/carbon))
|
||||
@@ -238,6 +238,7 @@
|
||||
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
|
||||
|
||||
|
||||
@@ -12,3 +12,20 @@
|
||||
barefootstep = FOOTSTEP_WATER
|
||||
clawfootstep = FOOTSTEP_WATER
|
||||
heavyfootstep = FOOTSTEP_WATER
|
||||
|
||||
|
||||
|
||||
/turf/open/chocolateriver
|
||||
gender = PLURAL
|
||||
name = "liquid chocolate"
|
||||
desc = "This is probably used for some kind of huge fountain."
|
||||
icon = 'Gainstation13/icons/turf/floor_candy.dmi'
|
||||
icon_state = "chocwater"
|
||||
slowdown = 1
|
||||
bullet_sizzle = TRUE
|
||||
bullet_bounce_sound = null //needs a splashing sound one day.
|
||||
|
||||
footstep = FOOTSTEP_WATER
|
||||
barefootstep = FOOTSTEP_WATER
|
||||
clawfootstep = FOOTSTEP_WATER
|
||||
heavyfootstep = FOOTSTEP_WATER
|
||||
Reference in New Issue
Block a user