more changes

This commit is contained in:
Metis
2024-09-13 11:15:03 -04:00
parent 7b0780804f
commit cb6a43a7bf
64 changed files with 228 additions and 107 deletions
@@ -20,7 +20,7 @@
if(!weight_gain_rate_modifier)
return FALSE
if(!iscarbon(wearer) || !(wearer.get_item_by_slot(SLOT_NECK) == src) || !wearer?.client?.prefs?.weight_gain_items)
if(!iscarbon(wearer) || !(wearer.get_item_by_slot(ITEM_SLOT_NECK) == src) || !wearer?.client?.prefs?.weight_gain_items)
return FALSE
wearer.weight_gain_rate = (wearer.weight_gain_rate / weight_gain_rate_modifier)
+1 -1
View File
@@ -8,7 +8,7 @@
/obj/item/clothing/mask/gas/fattening/equipped(mob/M, slot)
. = ..()
if (slot ==ITEM_SLOT_WEAR_MASK)
if (slot == ITEM_SLOT_MASK)
if(iscarbon(M))
C = M
START_PROCESSING(SSobj, src)
+2 -2
View File
@@ -3,7 +3,7 @@
desc = "A tool that can construct and deconstruct walls, airlocks and floors on the fly. This model works at a distance."
id = "arcd_design"
build_type = PROTOLATHE
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT, MAT_DIAMOND = 500, MAT_BLUESPACE = 500) // costs more than what it did in the autolathe, this one comes loaded.
materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT, /datum/material/glass = MINERAL_MATERIAL_AMOUNT, /datum/material/diamond = 500, MAT_BLUESPACE = 500) // costs more than what it did in the autolathe, this one comes loaded.
build_path = /obj/item/construction/rcd/arcd
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
@@ -41,6 +41,6 @@
id = "borg_arcd"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/arcd
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT, MAT_DIAMOND = 500, MAT_BLUESPACE = 500)
materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT, /datum/material/glass = MINERAL_MATERIAL_AMOUNT, /datum/material/diamond = 500, MAT_BLUESPACE = 500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -13,7 +13,7 @@
desc = "A serving tray for food, now somehow using bluespace to hold more stuff."
id = "tray_holding"
build_type = PROTOLATHE
materials = list(MAT_GOLD = 250, MAT_URANIUM = 500)
materials = list(/datum/material/gold = 250, /datum/material/uranium = 500)
build_path =/obj/item/storage/bag/tray/holding
category = list("Bluespace Designs")
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
@@ -43,6 +43,6 @@
id = "borg_tray_hold"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/tray_hold
materials = list(MAT_GOLD = 250, MAT_URANIUM = 500)
materials = list(/datum/material/gold = 250, /datum/material/uranium = 500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -55,7 +55,7 @@
/obj/machinery/power/adipoelectric_generator/emp_act(severity)
. = ..()
if(!(stat & (BROKEN|NOPOWER)))
if(!(machine_stat & (BROKEN|NOPOWER)))
emp_timer = world.time + 600
if(occupant)
src.visible_message("<span class='alert'>The [src] buzzes and expels anyone inside!.</span>")
@@ -59,7 +59,7 @@ GLOBAL_LIST_EMPTY(adipoelectric_transformer)
/obj/machinery/adipoelectric_transformer/emp_act(severity)
. = ..()
if(!(stat & (BROKEN|NOPOWER)))
if(!(machine_stat & (BROKEN|NOPOWER)))
if(occupant)
src.visible_message("<span class='alert'>[src] emits ominous cracking noises!</span>")
emp_timer = world.time //stuck in for 600 ticks, about 60 seconds
@@ -97,7 +97,7 @@ GLOBAL_LIST_EMPTY(adipoelectric_transformer)
/obj/machinery/adipoelectric_transformer/close_machine()
. = ..()
if(LAZYLEN(GLOB.adipoelectric_transformer) < 1 && occupant)
var/turf/T = loc
var/turf/T = loc
if(isturf(T) && !T.intact)
attached = locate() in T
add_fingerprint(occupant)
@@ -20,10 +20,6 @@
lethal_projectile = /obj/item/projectile/beam/fattening/cannon
shot_delay = 30
/obj/machinery/porta_turret/fattening/ComponentInitialize()
. = ..()
AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES)
/obj/machinery/porta_turret/fattening/setup()
return
@@ -1,3 +1,7 @@
/// Checks if the mob is able to be teleported.
/obj/machinery/quantumpad/proc/check_mob_teleportability(mob/living/mob_to_check)
return TRUE
/obj/machinery/quantumpad/supply_only
name = "supply pad"
desc = "A modified version of the quantum pad, only able to teleport supplies and livestock."
+4 -1
View File
@@ -1,4 +1,4 @@
GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/crew_quarters, /area/maintenance, /area/security/prison, /area/holodeck, /area/security/vacantoffice, /area/space, /area/ruin, /area/lavaland, /area/awaymission, /area/centcom, /area/fatlab))
GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/maintenance, /area/security/prison, /area/holodeck, /area/vacantoffice, /area/space, /area/ruin, /area/lavaland, /area/awaymission, /area/centcom, /area/fatlab))
/mob/living/carbon
//Due to the changes needed to create the system to hide fatness, here's some notes:
@@ -24,6 +24,9 @@ GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/crew_quarters,
var/fullness_reduction_timer = 0
var/burpslurring = 0
var/overeatduration = 0 // How long this guy is overeating //Carbon
var/fullness_reducion_timer = 0 // When was the last time they emoted to reduce their fullness
/**
* Adjusts the fatness level of the parent mob.
*
+2 -2
View File
@@ -9,11 +9,11 @@
to_chat(H, "<span class='warning'>You are too fat to wear anything on your back.</span>")
return FALSE
if(!istype(I, /obj/item/clothing/under/color/grey/modular) && HAS_TRAIT(H, TRAIT_NO_JUMPSUIT) && slot ==ITEM_SLOT_W_UNIFORM)
if(!istype(I, /obj/item/clothing/under/color/grey/modular) && HAS_TRAIT(H, TRAIT_NO_JUMPSUIT) && slot == ITEM_SLOT_ICLOTHING)
to_chat(H, "<span class='warning'>You are too fat to wear [I].</span>")
return FALSE
if(HAS_TRAIT(H, TRAIT_NO_MISC) && (slot ==ITEM_SLOT_SHOES || slot ==ITEM_SLOT_GLOVES || slot ==ITEM_SLOT_WEAR_SUIT))
if(HAS_TRAIT(H, TRAIT_NO_MISC) && (slot == ITEM_SLOT_FEET || slot ==ITEM_SLOT_GLOVES || slot == ITEM_SLOT_OCLOTHING))
to_chat(H, "<span class='warning'>You are too fat to wear [I].</span>")
return FALSE
+2 -6
View File
@@ -17,12 +17,8 @@
/area/hallway/primary,
/area/hallway/secondary,
/area/hallway/secondary/entry,
/area/engine/supermatter,
/area/engine/atmospherics_engine,
/area/engine/engineering/reactor_core,
/area/engine/engineering/reactor_control,
/area/engineering/supermatter,
/area/ai_monitored/turret_protected,
/area/layenia/cloudlayer,
/area/asteroid/nearstation,
/area/science/server,
/area/science/explab,
@@ -36,7 +32,7 @@
spawncount = rand(4, 7)
/datum/round_event/dessert_infestation/announce(fake)
priority_announce("Unidentified lifesigns detected aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'sound/ai/aliens.ogg')
priority_announce("Unidentified lifesigns detected aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'GainStation13/sound/ai/aliens.ogg')
/datum/round_event/dessert_infestation/start()
var/list/area/stationAreas = list()
+3 -4
View File
@@ -35,11 +35,11 @@
/obj/item/melee/touch_attack/fattening/afterattack(atom/target, mob/living/carbon/user, proximity)
if(!proximity || !iscarbon(target) || target == user)
return FALSE
var/mob/living/carbon/gainer = target
if(!gainer || !weight_to_add)
return FALSE
if(!gainer.adjust_fatness(weight_to_add, FATTENING_TYPE_MAGIC))
to_chat(user,"<span class='warning'[target] seems unaffected by [src]</span>")
return FALSE
@@ -83,7 +83,7 @@
if(. != null && !.)
return FALSE
user.adjust_fatness(-weight_to_add, FATTENING_TYPE_MAGIC)
user.adjust_fatness(-weight_to_add, FATTENING_TYPE_MAGIC)
/obj/effect/proc_holder/spell/aoe_turf/conjure/the_traps/fat
name = "Fat Traps!"
@@ -114,7 +114,6 @@
icon = 'GainStation13/icons/obj/spells/spellbooks.dmi'
icon_state = "add_weight"
desc = "This book feels warm to the touch."
page_time = 10
/obj/item/book/granter/spell/fattening/transfer
name = "weight transfer tome"
+5 -5
View File
@@ -19,7 +19,7 @@
/obj/item/projectile/magic/food
name = "bolt of food"
pass_flags = PASSGLASS|PASSDOOR|PASSGRILLE
pass_flags = PASSGLASS|PASSGRILLE
///What foods are able to be spawned by the wand?
var/list/spawnable_foods = list(
/obj/item/reagent_containers/food/snacks/burger/bigbite,
@@ -33,7 +33,7 @@
/obj/item/reagent_containers/food/snacks/pizza/margherita,
/obj/item/reagent_containers/food/snacks/pizza/meat,
)
///How much Lipoifier should be added to the spawned in food? Keep this at 10 maximum.
var/lipoifier_to_add = 5
@@ -44,14 +44,14 @@
if(!floor || iswallturf(floor))
return FALSE
var/food_to_spawn = pick(spawnable_foods)
var/food_to_spawn = pick(spawnable_foods)
var/obj/item/reagent_containers/food/snacks/spawned_food = new food_to_spawn(floor)
if(!spawned_food)
return FALSE
spawned_food.reagents.add_reagent(/datum/reagent/consumable/lipoifier, lipoifier_to_add)
spawned_food.reagents.add_reagent(/datum/reagent/consumable/lipoifier, lipoifier_to_add)
return TRUE
/obj/item/projectile/magic/food/strong
name = "strong bolt of food"
lipoifier_to_add = 10
@@ -40,6 +40,7 @@
var/mob/living/carbon/L = AM
L.reagents.add_reagent(/datum/reagent/water, 3)
/* Disabling this for now.
/mob/living/carbon/proc/water_check(datum/gas_mixture/breath)
if(HAS_TRAIT(src, TRAIT_WATER_SPONGE))
if(breath)
@@ -49,6 +50,7 @@
var/H2O_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/water_vapor])
reagents.add_reagent(/datum/reagent/water, H2O_pp/10)
breath_gases[/datum/gas/water_vapor] -= H2O_pp
*/
/obj/structure/sink
var/mob/living/attached
+3 -3
View File
@@ -68,7 +68,7 @@
return FALSE
user.visible_message("<span class='warning'>[user] attempts to wrap [target] inside of [wrapping]!</span>", "<span class='warning'>You attempt to wrap [target] inside of [wrapping].</span>")
if(!do_after_mob(user, target, 20 SECONDS) || !target.equip_to_slot_if_possible(wrapping,ITEM_SLOT_WEAR_SUIT, TRUE, TRUE))
if(!do_after_mob(user, target, 20 SECONDS) || !target.equip_to_slot_if_possible(wrapping, ITEM_SLOT_OCLOTHING, TRUE, TRUE))
user.visible_message("<span class='warning'>[user] fails to wrap [target] inside of [wrapping]!</span>", "<span class='warning'>You fail to wrap [target] inside of [wrapping].</span>")
return FALSE
@@ -79,7 +79,7 @@
name = "web bindings"
desc = "A mesh of sticky web that binds whoever is stuck inside of it"
icon = 'GainStation13/icons/obj/clothing/web.dmi'
alternate_worn_icon = 'GainStation13/icons/mob/web.dmi'
worn_ico = 'GainStation13/icons/mob/web.dmi'
icon_state = "web_bindings"
item_state = "web_bindings"
breakouttime = 600 //1 minute is reasonable.
@@ -89,7 +89,7 @@
/obj/item/clothing/suit/straight_jacket/web/equipped(mob/user, slot)
. = ..()
if((user.get_item_by_slot(SLOT_WEAR_SUIT)) != src && !QDELETED(src))
if((user.get_item_by_slot(SLOT_WEAR_OCLOTHING)) != src && !QDELETED(src))
qdel(src)
/obj/structure/spider/cocoon/quirk
+3 -3
View File
@@ -36,7 +36,7 @@
devourable = 1
digestable = 1
feeding = 1
var/obj/item/twohanded/spear/weapon
var/obj/item/spear/weapon
/mob/living/simple_animal/pet/slugcat/Initialize(mapload)
. = ..()
@@ -61,7 +61,7 @@
if(!isitem(A))
return
if(!weapon && istype(A, /obj/item/twohanded/spear))
if(!weapon && istype(A, /obj/item/spear))
visible_message("<span class='notice'>[src] pick up the [A].</span>", "<span class='notice'>You pick up the [A].</span>")
weapon = A
weapon.forceMove(src)
@@ -71,7 +71,7 @@
melee_damage_type = weapon.damtype
attack_sound = weapon.hitsound
update_icons()
else if(!weapon && !istype(A, /obj/item/twohanded/spear))
else if(!weapon && !istype(A, /obj/item/spear))
to_chat(src, "<span class='warning'>You do not know how to wield the [A]!</span>")
/mob/living/simple_animal/pet/slugcat/RangedAttack(atom/A, params)
@@ -0,0 +1,2 @@
/obj/item/clothing
var/alternate_worn_icon
@@ -65,7 +65,7 @@
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "delight" = 5)
foodtype = GRAIN | VEGETABLES | DAIRY | JUNKFOOD
/obj/item/reagent_containers/food/snacks/pizza/framewrecker/attackby(var/obj/item/weapon/W, var/mob/living/user)
/obj/item/reagent_containers/food/snacks/pizza/framewrecker/attackby(var/obj/item/W, var/mob/living/user)
if(istype(W,/obj/item/kitchen/knife))
user.visible_message("<b>\The [user]</b> starts to slowly cut through The One Pizza.", "<span class='notice'>You start to slowly cut through The One Pizza.</span>")
if(!src)
+9 -9
View File
@@ -8,7 +8,7 @@
w_class = WEIGHT_CLASS_BULKY
throw_speed = 2
throw_range = 3
materials = list(MAT_METAL=10)
custom_materials = list(/datum/material/iron=10)
pressure_resistance = 2
var/reps = 0
var/using = FALSE
@@ -16,7 +16,7 @@
/obj/item/dumbbell/dropped(mob/user, silent)
reps = 0
. = ..()
/obj/item/dumbbell/attack_self(mob/user)
. = ..()
if(!using)
@@ -42,12 +42,12 @@
var/fatloss = -10
/obj/machinery/treadmill/Uncross(atom/movable/AM, atom/newloc)
if(stat & BROKEN)
if(machine_stat & BROKEN)
return ..()
if(!isliving(AM))
return ..()
var/mob/living/M = AM
if(M.throwing || M.floating || M.is_flying()) //Make sure they're not going over it
if(M.throwing || (M.movement_type & FLOATING) || M.is_flying()) //Make sure they're not going over it
return ..()
if(AM.dir != dir) //Make sure they're going into the treadmill
return ..()
@@ -64,11 +64,11 @@
C.adjust_fatness(fatloss, FATTENING_TYPE_WEIGHT_LOSS)
flick("conveyor-1", src)
return FALSE
/obj/machinery/treadmill/RefreshParts(obj/item/O, mob/user, params)
for(var/obj/item/stock_parts/manipulator/M in component_parts)
fatloss += M.rating * -10
/obj/machinery/treadmill/attackby(obj/item/O, mob/living/user, params)
if(default_deconstruction_screwdriver(user, "conveyor0", "conveyor0", O))
return TRUE
@@ -90,7 +90,7 @@
name = "Treadmill Board"
id = "treadmill"
build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
materials = list(/datum/material/iron = 50, /datum/material/glass = 50)
build_path = /obj/item/circuitboard/machine/treadmill
category = list("inital", "Construction")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
@@ -99,7 +99,7 @@
name = "Dumbbell"
id = "dumbbell"
build_type = AUTOLATHE
materials = list(MAT_METAL = 2000)
materials = list(/datum/material/iron = 2000)
build_path = /obj/item/dumbbell
category = list("initial", "Tools")
/*
@@ -107,7 +107,7 @@
name = "Treadmill"
id = "treadmill"
build_type = AUTOLATHE
materials = list(MAT_METAL = 5000)
materials = list(/datum/material/iron = 5000)
build_path = /obj/item/conveyor_construct/treadmill
category = list("initial", "Construction")
*/
@@ -35,7 +35,6 @@
attack_verb = list("klonked", "donked", "bonked")
distill_reagent = "creme_de_coconut"
var/opened = FALSE
sharpness = IS_BLUNT
/obj/item/reagent_containers/food/snacks/grown/lipofruit/attackby(obj/item/W, mob/user, params)
if(!opened && W.sharpness)
@@ -1,6 +1,10 @@
/mob/living/carbon
var/nutri_mult = 1
/datum/plant_gene/trait/glow/orange
name = "Orange Bioluminescence"
glow_color = "#ff9166"
/obj/item/seeds/cannabis/munchies
name = "pack of munchies weed seeds"
desc = "These seeds grow into munchies weed."
@@ -0,0 +1,33 @@
/area/fatlab //GS13 - move this elsewhere later
name = "Mysterious Facility"
icon_state = "centcom"
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
requires_power = FALSE
has_gravity = STANDARD_GRAVITY
flags_1 = NONE
/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 = "GATO Restaurant - Main Area"
has_gravity = TRUE
/area/ruin/space/has_grav/fastfood_employee
name = "Restaurant Employee Area"
has_gravity = TRUE
/area/ruin/space/has_grav/feedersden
name = "Unknown Outpost"
has_gravity = TRUE
@@ -22,10 +22,11 @@
. = ..()
if(!.)
return FALSE
playsound_prefed(user, noise_type, noise_pref, 100, TRUE, -4)
user.reduce_fullness(rand(reduction_min,reduction_max))
var/mob/living/carbon/carbon_user = user
carbon_user.reduce_fullness(rand(reduction_min,reduction_max))
/datum/emote/living/burp/fart //Butt burp.
key = "fart"
@@ -77,7 +78,7 @@
key = "goonfart"
key_third_person = "goonfarts"
noise_type = 'goon/sound/voice/farts/fart4.ogg'
//Shhh... It's a secret! Don't tell or I'll steal your legs
/datum/emote/living/burunyu
key = "burunyu"
@@ -96,5 +97,6 @@
. = ..()
if(!.)
return FALSE
user.reduce_fullness(rand(4,16), FALSE)
var/mob/living/carbon/carbon_user = user
carbon_user.reduce_fullness(rand(4,16), FALSE)
@@ -1,8 +1,8 @@
// This is an emote file for random shit we've ported. Im just copying the style recipes_ported.dm did, yell at me if im wrong later.
// It said it was lazy but personally I think this might be a better way of organizing otherwise unique content that we're porting
// It said it was lazy but personally I think this might be a better way of organizing otherwise unique content that we're porting
// for ourselves. -Reo
// I found this tacked onto the bottom of code/modules/mob/living/emote.dm. No //code add: notice or anything. Moving it here,
// I found this tacked onto the bottom of code/modules/mob/living/emote.dm. No //code add: notice or anything. Moving it here,
// since it seems to all be ported emotes. -Reo
/*
//Carl wuz here
@@ -96,6 +96,28 @@
//End of the random emotes I found in mob/living
/datum/emote/living
/// What sound do we want to play?
var/sound
/datum/emote/living/proc/get_sound()
return
/datum/emote/living/run_emote(mob/living/user, params, type_override, intentional)
. = ..()
if(!. || user.is_muzzled())
return
var/sound_to_play = sound
if(!sound)
sound_to_play = get_sound()
if(!sound_to_play)
return
playsound(user.loc, sound_to_play, 50, 1, 4, 1.2)
//Rewrites of the above start.
/datum/emote/living/carbon/racc
key = "racc_chitter"
@@ -121,7 +143,7 @@
'hyperstation/sound/voice/emotes/bat_c5.ogg','hyperstation/sound/voice/emotes/bat_c6.ogg', \
'hyperstation/sound/voice/emotes/bat_c7.ogg', 'hyperstation/sound/voice/emotes/bat_c8.ogg',\
'hyperstation/sound/voice/emotes/bat_c9.ogg')
//Rewrites of the above end.
//Ported from Vorestation
@@ -1,12 +1,12 @@
/mob/living/proc/reduce_fullness(amount, notify = TRUE) // fullness_amount should be between 5 and 20 for balance and below 80 for functionality
/mob/living/carbon/proc/reduce_fullness(amount, notify = TRUE) // fullness_amount should be between 5 and 20 for balance and below 80 for functionality
if(!ishuman(src))
return
return
if(fullness >= FULLNESS_LEVEL_BLOATED && fullness_reducion_timer + FULLNESS_REDUCTION_COOLDOWN < world.time)
fullness -= amount // Remove Fullness
if(!notify)
if(!notify)
return
if(amount <= 5)
@@ -2,6 +2,6 @@
name = "Fatness Infrared Emitter"
id = "fatness_infrared_emitter"
build_type = AUTOLATHE
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
materials = list(/datum/material/iron = 1000, /datum/material/glass = 500)
build_path = /obj/item/assembly/infra/fat
category = list("initial", "Misc")
@@ -8,7 +8,7 @@
name = "Basic Fatoray"
id = "fatoray_weak"
build_type = PROTOLATHE
materials = list(MAT_METAL = 8000, MAT_GLASS = 6000, MAT_CALORITE = 10000)
materials = list(/datum/material/iron = 8000, /datum/material/glass = 6000, /datum/material/calorite = 10000)
construction_time = 75
build_path = /obj/item/gun/energy/fatoray/weak
category = list("Weapons")
@@ -18,7 +18,7 @@
name = "Basic Cannonshot Fatoray"
id = "fatoray_cannon_weak"
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 20000)
materials = list(/datum/material/iron = 10000, /datum/material/glass = 8000, /datum/material/calorite = 20000)
construction_time = 200
build_path = /obj/item/gun/energy/fatoray/cannon_weak
category = list("Weapons")
@@ -28,7 +28,7 @@
name = "AL-T-Ray: Metabolism"
id = "alter_ray_metabolism"
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 26000)
materials = list(/datum/material/iron = 10000, /datum/material/glass = 8000, /datum/material/calorite = 26000)
construction_time = 200
build_path = /obj/item/gun/energy/laser/alter_ray/gainrate
category = list("Weapons")
@@ -39,7 +39,7 @@
name = "AL-T-Ray: Reverser"
id = "alter_ray_reverser"
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 26000)
materials = list(/datum/material/iron = 10000, /datum/material/glass = 8000, /datum/material/calorite = 26000)
construction_time = 200
build_path = /obj/item/gun/energy/laser/alter_ray/noloss
category = list("Weapons")
@@ -51,7 +51,7 @@
desc = "A collar that amplifies caloric intake of the wearer."
id = "calorite_collar"
build_type = PROTOLATHE
materials = list(MAT_METAL = 1000, MAT_CALORITE = 4000)
materials = list(/datum/material/iron = 1000, /datum/material/calorite = 4000)
construction_time = 75
build_path = /obj/item/clothing/neck/petcollar/calorite
category = list("Equipment", "Misc", "Medical Designs")
@@ -63,7 +63,7 @@
id = "ci-nutrimentturbo"
build_type = PROTOLATHE | MECHFAB
construction_time = 100
materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 750, MAT_URANIUM = 1000)
materials = list(/datum/material/iron = 800, /datum/material/glass = 800, /datum/material/gold = 750, /datum/material/uranium = 1000)
build_path = /obj/item/organ/cyberimp/chest/nutriment/turbo
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
@@ -74,7 +74,7 @@
id = "ci-fatmobility"
build_type = PROTOLATHE | MECHFAB
construction_time = 100
materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 750, MAT_URANIUM = 1000)
materials = list(/datum/material/iron = 800, /datum/material/glass = 800, /datum/material/gold = 750, /datum/material/uranium = 1000)
build_path = /obj/item/organ/cyberimp/chest/mobility
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
@@ -85,7 +85,7 @@
id = "bluespace_belt"
build_type = PROTOLATHE
construction_time = 100
materials = list(MAT_SILVER = 4000, MAT_GOLD = 4000, MAT_BLUESPACE = 2000, )
materials = list(/datum/material/silver = 4000, /datum/material/gold = 4000, MAT_BLUESPACE = 2000, )
build_path = /obj/item/bluespace_belt
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
@@ -96,7 +96,7 @@
id = "cookie_synthesizer"
build_type = PROTOLATHE
construction_time = 100
materials = list(MAT_SILVER = 4000, MAT_URANIUM = 1000, MAT_BLUESPACE = 1000, MAT_CALORITE = 2000)
materials = list(/datum/material/silver = 4000, /datum/material/uranium = 1000, MAT_BLUESPACE = 1000, /datum/material/calorite = 2000)
build_path = /obj/item/cookiesynth
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SERVICE
@@ -107,7 +107,7 @@
id = "borg_upgrade_cookiesynthesizer"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/cookiesynth
materials = list(MAT_METAL=10000, MAT_GOLD=1500, MAT_URANIUM=250, MAT_PLASMA=1500)
materials = list(/datum/material/iron=10000, /datum/material/gold=1500, /datum/material/uranium=250, MAT_PLASMA=1500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -116,7 +116,7 @@
id = "borg_upgrade_fatoray"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/fatoray
materials = list(MAT_METAL = 8000, MAT_GLASS = 6000, MAT_CALORITE = 10000)
materials = list(/datum/material/iron = 8000, /datum/material/glass = 6000, /datum/material/calorite = 10000)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -125,7 +125,7 @@
id = "borg_upgrade_feedingtube"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/feedtube
materials = list(MAT_METAL = 8000, MAT_GLASS = 6000, MAT_CALORITE = 10000)
materials = list(/datum/material/iron = 8000, /datum/material/glass = 6000, /datum/material/calorite = 10000)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -138,7 +138,7 @@
/obj/item/borg/upgrade/cookiesynth/action(mob/living/silicon/robot/R, user = usr)
. = ..()
if(.)
if(.)
var/obj/item/cookiesynth/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
@@ -167,7 +167,7 @@
/obj/item/borg/upgrade/fatoray/action(mob/living/silicon/robot/R, user = usr)
. = ..()
if(.)
if(.)
var/obj/item/gun/energy/fatoray/weak/cyborg/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
@@ -203,7 +203,7 @@
if(!istype(M))
return
if(R.total_volume && M.can_inject(user, 1, user.zone_selected,bypass_protection))
if(M == user.pulling && ishuman(user.pulling))
starttime = world.time
while(starttime + 300 > world.time && in_range(user, M))
@@ -239,7 +239,7 @@
/obj/item/borg/upgrade/feedtube/action(mob/living/silicon/robot/R, user = usr)
. = ..()
if(.)
if(.)
var/obj/item/reagent_containers/borghypo/feeding_tube/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
@@ -0,0 +1,36 @@
//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."
/obj/item/grenade/chem_grenade/lipoifier_strong/Initialize(mapload)
. = ..()
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."
/obj/item/grenade/chem_grenade/lipoifier_weak/Initialize(mapload)
. = ..()
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
+1 -1
View File
@@ -41,7 +41,7 @@
on_beam_release(current_target)
current_target = null
/obj/item/gun/fatbeam/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, stan_cost = 0)
/obj/item/gun/fatbeam/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, stam_cost = 0)
if(isliving(user))
add_fingerprint(user)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3
View File
@@ -135,3 +135,6 @@
//defines for the two colour schemes, advanced and old
#define OLD_CHARACTER_COLORING "old_color_system"
#define ADVANCED_CHARACTER_COLORING "advanced_color_system"
#define FARTING_NOISES (1<<4) //GS13
#define BURPING_NOISES (1<<5) //GS13
+19
View File
@@ -408,3 +408,22 @@
#define FATNESS_MAX_MOVE_PENALTY 4
#define FATNESS_WEAKLEGS_MODIFIER 35 // GS13 tweak
#define FATNESS_STRONGLEGS_MODIFIER 0.5
#define RESIZE_MACRO 6
#define RESIZE_HUGE 4
#define RESIZE_BIG 2
#define RESIZE_NORMAL 1
#define RESIZE_SMALL 0.75
#define RESIZE_TINY 0.50
#define RESIZE_MICRO 0.25
#define MOVESPEED_ID_SIZE "SIZECODE"
#define MOVESPEED_ID_STOMP "STEPPY"
//averages
#define RESIZE_A_MACROHUGE (RESIZE_MACRO + RESIZE_HUGE) / 2
#define RESIZE_A_HUGEBIG (RESIZE_HUGE + RESIZE_BIG) / 2
#define RESIZE_A_BIGNORMAL (RESIZE_BIG + RESIZE_NORMAL) / 2
#define RESIZE_A_NORMALSMALL (RESIZE_NORMAL + RESIZE_SMALL) / 2
#define RESIZE_A_SMALLTINY (RESIZE_SMALL + RESIZE_TINY) / 2
#define RESIZE_A_TINYMICRO (RESIZE_TINY + RESIZE_MICRO) / 2
+12
View File
@@ -160,6 +160,18 @@
if(QDELETED(ROI))
continue //sleeps in CHECK_TICK
//GS13 EDIT START
if(isliving(ROI) && !check_mob_teleportability(ROI))
continue
var/able_to_teleport_item = TRUE
for(var/mob/living/found_mob in ROI.contents)
if(isliving(found_mob) && !check_mob_teleportability(found_mob))
able_to_teleport_item = FALSE
if(!able_to_teleport_item)
continue
// if is anchored, don't let through
if(ROI.anchored)
if(isliving(ROI))
@@ -35,7 +35,7 @@
var/obj/item/clothing/head/mob_holder/micro/holder = new(get_turf(source), source, worn_state, alt_worn, right_hand, left_hand, inv_slots)
if(!holder)
return
user.equip_to_slot(holder,ITEM_SLOT_SHOES)
user.equip_to_slot(holder, ITEM_SLOT_FEET)
return
/datum/element/mob_holder/micro/proc/mob_try_pickup_micro(mob/living/source, mob/user)
@@ -13,7 +13,7 @@
force = 8
sharpness = TRUE
w_class = WEIGHT_CLASS_HUGE
materials = list(MAT_METAL=50)
materials = list(/datum/material/iron=50)
attack_verb = list("slashed", "sawed")
/obj/item/carpentry/hammer
@@ -24,7 +24,7 @@
force = 7
sharpness = FALSE
w_class = WEIGHT_CLASS_NORMAL
materials = list(MAT_METAL=100)
materials = list(/datum/material/iron=100)
attack_verb = list("bonked", "nailed")
/obj/item/carpentry/glue
@@ -44,7 +44,7 @@
force = 3
sharpness = TRUE
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=25)
materials = list(/datum/material/iron=25)
attack_verb = list("bored", "drilled")
/obj/item/carpentry/sandpaper
@@ -54,7 +54,7 @@
force = 1
sharpness = FALSE
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_GLASS=1) //lmao
materials = list(/datum/material/glass=1) //lmao
attack_verb = list("sanded", "licked")
/obj/item/nails
@@ -65,7 +65,7 @@
force = 0
sharpness = TRUE
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_METAL=10)
materials = list(/datum/material/iron=10)
attack_verb = list("nailed", "screwed")
/obj/item/cushion
@@ -51,6 +51,8 @@
//For glove slots
/obj/item/clothing/gloves/ring/syntech/equipped(mob/living/user, slot)
. = ..()
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
if(slot ==ITEM_SLOT_GLOVES)
@@ -59,6 +61,7 @@
normalize_mob_size(human_target)
/obj/item/clothing/gloves/ring/syntech/dropped(mob/living/user, slot)
. = ..()
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
@@ -87,6 +90,7 @@
//For neck items
/obj/item/clothing/neck/syntech/equipped(mob/living/user, slot)
. = ..()
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
if(slot ==ITEM_SLOT_NECK)
@@ -95,6 +99,7 @@
normalize_mob_size(human_target)
/obj/item/clothing/neck/syntech/dropped(mob/living/user, slot)
. = ..()
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
@@ -38,7 +38,7 @@
return
if(!ishuman(user))
return
if(slot ==ITEM_SLOT_WEAR_SUIT)
if(slot == ITEM_SLOT_SUIT)
if(!firstpickup)
SEND_SOUND(user, sound('hyperstation/sound/halflife/hevsuit_pickup.ogg', volume = 50))
else
+3 -21
View File
@@ -1,32 +1,14 @@
//I am not a coder. Please fucking tear apart my code, and insult me for how awful I am at coding. Please and thank you. -Dahlular
//alright bet -BoxBoy
#define RESIZE_MACRO 6
#define RESIZE_HUGE 4
#define RESIZE_BIG 2
#define RESIZE_NORMAL 1
#define RESIZE_SMALL 0.75
#define RESIZE_TINY 0.50
#define RESIZE_MICRO 0.25
//Moving these here - Jay
/mob/living
var/size_multiplier = 1 //multiplier for the mob's icon size atm
var/previous_size = 1
var/custom_body_size = 100
//Cyanosis - Action that resizes the sprite for the client but nobody else. Say goodbye to attacking yourself when someone's above you lmao
var/datum/action/sizecode_resize/small_sprite
#define MOVESPEED_ID_SIZE "SIZECODE"
#define MOVESPEED_ID_STOMP "STEPPY"
//averages
#define RESIZE_A_MACROHUGE (RESIZE_MACRO + RESIZE_HUGE) / 2
#define RESIZE_A_HUGEBIG (RESIZE_HUGE + RESIZE_BIG) / 2
#define RESIZE_A_BIGNORMAL (RESIZE_BIG + RESIZE_NORMAL) / 2
#define RESIZE_A_NORMALSMALL (RESIZE_NORMAL + RESIZE_SMALL) / 2
#define RESIZE_A_SMALLTINY (RESIZE_SMALL + RESIZE_TINY) / 2
#define RESIZE_A_TINYMICRO (RESIZE_TINY + RESIZE_MICRO) / 2
//Scale up a mob's icon by the size_multiplier
/mob/living/update_transform()
ASSERT(!iscarbon(src)) //the source isnt carbon should always be true
@@ -142,7 +124,7 @@
now_pushing = 0
H.forceMove(tmob.loc)
sizediffStamLoss(tmob)
H.add_movespeed_modifier(MOVESPEED_ID_STOMP, multiplicative_slowdown = 10) //Full stop
H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/size, multiplicative_slowdown = 10) //Full stop
addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/, remove_movespeed_modifier), MOVESPEED_ID_STOMP), 3) //0.3 seconds
if(get_effective_size() > tmob.get_effective_size() && iscarbon(H))
if(istype(H) && H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle" || H.dna.features["taur"] == "Fat Naga" || H.dna.features["taur"] == "Alt Naga")
@@ -171,7 +153,7 @@
sizediffStamLoss(tmob)
sizediffBruteloss(tmob)
playsound(loc, 'sound/misc/splort.ogg', 50, 1)
H.add_movespeed_modifier(MOVESPEED_ID_STOMP, multiplicative_slowdown = 10)
H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/size, multiplicative_slowdown = 10)
addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/, remove_movespeed_modifier), MOVESPEED_ID_STOMP), 10) //1 second
//H.Stun(20)
if(get_effective_size() > tmob.get_effective_size() && iscarbon(H))
+3 -1
View File
@@ -3943,7 +3943,6 @@
#include "GainStation13\code\mechanics\den abductors\purchaseble_goodies.dm"
#include "GainStation13\code\mobs\cakegolem.dm"
#include "GainStation13\code\mobs\chocoslime.dm"
#include "GainStation13\code\mobs\slugcat.dm"
#include "GainStation13\code\mobs\races\caloritegolem.dm"
#include "GainStation13\code\modules\client\preferences\preferences.dm"
#include "GainStation13\code\modules\clothing\under\jobs\modcivilian.dm"
@@ -3956,6 +3955,7 @@
#include "GainStation13\code\modules\hydroponics\lipoplant.dm"
#include "GainStation13\code\modules\hydroponics\munchies_weed.dm"
#include "GainStation13\code\modules\hydroponics\grown\berries.dm"
#include "GainStation13\code\modules\mapping\areas.dm"
#include "GainStation13\code\modules\mob\living\emote.dm"
#include "GainStation13\code\modules\mob\living\emote_modular.dm"
#include "GainStation13\code\modules\mob\living\emote_ported.dm"
@@ -3978,6 +3978,7 @@
#include "GainStation13\code\modules\surgery\organs\augments.dm"
#include "GainStation13\code\modules\vending\gatocola.dm"
#include "GainStation13\code\modules\vending\mealdor.dm"
#include "GainStation13\code\modules\weapons\grenades.dm"
#include "GainStation13\code\obj\items\bluespace_belt.dm"
#include "GainStation13\code\obj\items\circuits.dm"
#include "GainStation13\code\obj\items\holy.dm"
@@ -3995,6 +3996,7 @@
#include "GainStation13\code\obj\weapons\feeder_ebow.dm"
#include "GainStation13\code\structures\trapped_items.dm"
#include "GainStation13\icons\obj\vairous_weapons.dm"
#include "hyperstation\code\modules\clothing\sizeaccessories.dm"
#include "hyperstation\code\modules\resize\resize_action.dm"
#include "hyperstation\code\modules\resize\resizing.dm"
#include "hyperstation\code\modules\resize\sizechems.dm"