Merge remote-tracking branch 'upstream/master' into cumcom

This commit is contained in:
Dahlular
2021-04-18 23:17:45 -06:00
186 changed files with 10390 additions and 130602 deletions
+15 -1
View File
@@ -1247,6 +1247,11 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
var/obj/item/reagent_containers/food/snacks/store/bread/plain/funnyBread = new(get_turf(target))
target.forceMove(funnyBread)
/client/proc/bookify(atom/movable/target)
var/obj/item/reagent_containers/food/snacks/store/book/funnyBook = new(get_turf(target))
target.forceMove(funnyBook)
funnyBook.name = "Book of " + target.name
/client/proc/smite(mob/living/carbon/human/target as mob)
set name = "Smite"
set category = "Fun"
@@ -1268,7 +1273,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
ADMIN_PUNISHMENT_TABLETIDESTATIONWIDE,
ADMIN_PUNISHMENT_FAKEBWOINK,
ADMIN_PUNISHMENT_NUGGET,
ADMIN_PUNISHMENT_BREADIFY)
ADMIN_PUNISHMENT_BREADIFY,
ADMIN_PUNISHMENT_BOOKIFY)
var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list
@@ -1379,6 +1385,14 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
target.transformation_animation(bread_appearance, time = BREADIFY_TIME, transform_overlay=transform_scanline, reset_after=TRUE)
addtimer(CALLBACK(GLOBAL_PROC, .proc/breadify, target), BREADIFY_TIME)
#undef BREADIFY_TIME
if(ADMIN_PUNISHMENT_BOOKIFY)
#define BOOKIFY_TIME (2 SECONDS)
var/mutable_appearance/book_appearance = mutable_appearance('icons/obj/library.dmi', "book")
var/mutable_appearance/transform_scanline = mutable_appearance('icons/effects/effects.dmi', "transform_effect")
target.transformation_animation(book_appearance, time = BOOKIFY_TIME, transform_overlay=transform_scanline, reset_after=TRUE)
addtimer(CALLBACK(GLOBAL_PROC, .proc/bookify, target), BOOKIFY_TIME)
playsound(target, 'hyperstation/sound/misc/bookify.ogg', 60, 1)
#undef BOOKIFY_TIME
punish_log(target, punishment)
@@ -609,6 +609,8 @@ This is here to make the tiles around the station mininuke change when it's arme
lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
icon_state = "datadisk0"
drop_sound = 'sound/items/handling/disk_drop.ogg'
pickup_sound = 'sound/items/handling/disk_pickup.ogg'
/obj/item/disk/nuclear
name = "nuclear authentication disk"
@@ -203,6 +203,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
anchored = TRUE // should only appear in vis_contents, but to be safe
layer = FLY_LAYER
appearance_flags = TILE_BOUND
vis_flags = NONE
/obj/effect/overlay/gas/New(state, alph)
. = ..()
@@ -11,20 +11,6 @@
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
/obj/item/clothing/gloves/guncaster
name = "fingerless leather gloves"
desc = "Sturdy leather gloves with no fingertips, buckled at the wrist."
icon_state = "guncaster"
item_state = "guncaster"
icon = 'hyperstation/icons/obj/clothing/gloves.dmi'
alternate_worn_icon = 'hyperstation/icons/mobs/gloves.dmi'
item_color = null //So they don't wash.
transfer_prints = TRUE
strip_delay = 40
equip_delay_other = 20
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
/obj/item/clothing/gloves/botanic_leather
name = "botanist's leather gloves"
desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin. They're also quite warm."
-26
View File
@@ -94,32 +94,6 @@
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
/obj/item/clothing/head/stalhelm
name = "Stalhelm"
desc = "Ein Helm, um die Nazi-Interesse an fremden Raumstationen zu sichern."
icon_state = "stalhelm"
item_state = "stalhelm"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
/obj/item/clothing/head/panzer
name = "Panzer Cap"
desc = "Command any mech in style."
icon_state = "panzercap"
item_state = "panzercap"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
/obj/item/clothing/head/naziofficer
name = "Officer Cap"
desc = "Style is all that matters."
icon_state = "officercap"
item_state = "officercap"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
/obj/item/clothing/head/russobluecamohat
name = "russian blue camo beret"
desc = "A symbol of discipline, honor, and lots and lots of removal of some type of skewered food."
@@ -1,25 +1,5 @@
//VG Ports
/obj/item/clothing/head/helmet/space/hardsuit/nazi
name = "nazi hardhelmet"
desc = "This is the face of das vaterland's top elite. Gas or energy are your only escapes."
item_state = "hardsuit0-nazi"
icon_state = "hardsuit0-nazi"
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
item_color = "nazi"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/suit/space/hardsuit/nazi
name = "nazi hardsuit"
desc = "The attire of a true krieger. All shall fall, and only das vaterland will remain."
item_state = "hardsuit-nazi"
icon_state = "hardsuit-nazi"
slowdown = 1
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/melee/)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/nazi
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
/obj/item/clothing/head/helmet/space/hardsuit/soviet
name = "soviet hardhelmet"
desc = "Crafted with the pride of the proletariat. The vengeful gaze of the visor roots out all fascists and capitalists."
+2
View File
@@ -10,6 +10,8 @@
var/togglename = null
var/suittoggled = FALSE
drop_sound = 'sound/items/handling/cloth_drop.ogg'
pickup_sound = 'sound/items/handling/cloth_pickup.ogg'
var/adjusted = NORMAL_STYLE
mutantrace_variation = MUTANTRACE_VARIATION
var/tauric = FALSE //Citadel Add for tauric hardsuits
+3
View File
@@ -18,6 +18,9 @@
mutantrace_variation = MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
equip_sound = 'sound/items/equip/jumpsuit_equip.ogg'
drop_sound = 'sound/items/handling/cloth_drop.ogg'
pickup_sound = 'sound/items/handling/cloth_pickup.ogg'
/obj/item/clothing/under/worn_overlays(isinhands = FALSE)
. = list()
if(!isinhands)
@@ -12,6 +12,9 @@
resistance_flags = ACID_PROOF
obj_flags = UNIQUE_RENAME
drop_sound = 'sound/items/handling/drinkglass_drop.ogg'
pickup_sound = 'sound/items/handling/drinkglass_pickup.ogg'
/obj/item/reagent_containers/food/drinks/drinkingglass/on_reagent_change(changetype)
cut_overlays()
if(reagents.reagent_list.len)
@@ -378,3 +378,16 @@ All foods are distributed among various categories. Use common sense.
TB.MouseDrop(over)
else
return ..()
/obj/item/reagent_containers/food/snacks/store/book
name = "book"
desc = "Could it be? A LoR reference? And is it... Edible?"
icon = 'icons/obj/library.dmi'
icon_state = "book"
tastes = list("broken dreams and promises" = 10)
foodtype = GROSS
dunkable = TRUE
volume = 80
bitesize = 4
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1)
list_reagents = list(/datum/reagent/consumable/sodiumchloride = 1)
+1 -1
View File
@@ -50,7 +50,7 @@ Captain
suit = /obj/item/clothing/suit/armor/vest/capcarapace
shoes = /obj/item/clothing/shoes/sneakers/brown
head = /obj/item/clothing/head/caphat
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/station_charter=1)
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/station_charter=1, /obj/item/modular_computer/tablet/preset/advanced = 1)
backpack = /obj/item/storage/backpack/captain
satchel = /obj/item/storage/backpack/satchel/cap
+13 -13
View File
@@ -5,16 +5,16 @@
alt_titles = list("Head Engineer", "Construction Coordinator", "Project Manager")
/datum/job/engineer
alt_titles = list("Maintenance Technician", "Engine Technician", "Electrician", "Structural Engineer", "Station Architect")
alt_titles = list("Maintenance Technician", "Engine Technician", "Electrician", "Structural Engineer", "Mechanic", "Station Architect")
/datum/job/atmos
alt_titles = list("Firefighter", "Life Support Specialist")
alt_titles = list("Firefighter", "Life Support Specialist", "Disposals Technician")
/datum/job/junior_engineer
//Service
/datum/job/assistant
alt_titles = list("Civilian", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist")
alt_titles = list("Civilian", "Morale Officer", "Stripper", "Off-Duty", "Escort", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist")
/datum/job/cook
alt_titles = list("Cook", "Culinary Artist", "Butcher", "Chef de partie")
@@ -23,7 +23,7 @@
alt_titles = list("Gardener", "Herbalist", "Botanical Researcher", "Hydroponicist", "Farmer", "Beekeeper")
/datum/job/curator
alt_titles = list("Journalist", "Librarian")
alt_titles = list("Journalist", "Librarian", "Keeper")
/datum/job/chaplain
alt_titles = list("Priest", "Priestess", "Bishop", "Prior", "Monk", "Nun", "Counselor")
@@ -38,10 +38,10 @@
alt_titles = list("Jester", "Comedian")
/datum/job/mime
alt_titles = list("Performer")
alt_titles = list("Performer", "Pantomime", "Mimic")
/datum/job/bartender
alt_titles = list("Mixologist", "Bar Owner")
alt_titles = list("Mixologist", "Bar Owner", "Barmaid")
//Science
/datum/job/rd
@@ -57,7 +57,7 @@
//Medical
/datum/job/cmo
alt_titles = list("Medical Director")
alt_titles = list("Medical Director", "Medical Administrator")
/datum/job/doctor
alt_titles = list("Nurse", "Surgeon", "Physician", "Paramedic")
@@ -69,7 +69,7 @@
alt_titles = list("Microbiologist", "Biochemist", "Pathologist")
/datum/job/geneticist
alt_titles = list("Gene Therapist")
alt_titles = list("Gene Therapist", "Genetics Researcher")
/datum/job/psychologist
alt_titles = list("Therapist", "Psychiatrist")
@@ -78,13 +78,13 @@
//Security
/datum/job/hos
alt_titles = list("Chief of Security", "Security Commander")
alt_titles = list("Chief of Security", "Security Commander", "Sheriff")
/datum/job/warden
alt_titles = list("Prison Chief", "Armory Manager", "Prison Administrator")
alt_titles = list("Prison Chief", "Armory Manager", "Prison Administrator", "Brig Superintendent")
/datum/job/officer
alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Cadet")
alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Guard", "Guardsman", "Security Cadet")
/datum/job/detective
alt_titles = list("Forensics Technician", "Private Investigator", "Gumshoe")
@@ -103,7 +103,7 @@
//Command
/datum/job/captain
alt_titles = list("Station Director", "Station Commander", "Station Overseer")
alt_titles = list("Station Director", "Station Commander", "Station Overseer", "Stationmaster", "Commissar")
/datum/job/hop
alt_titles = list("Personnel Manager", "Staff Administrator")
alt_titles = list("Personnel Manager", "Staff Administrator", "Records Administrator")
+1 -1
View File
@@ -42,7 +42,7 @@ Chief Medical Officer
suit = /obj/item/clothing/suit/toggle/labcoat/cmo
l_hand = /obj/item/storage/firstaid/regular
suit_store = /obj/item/flashlight/pen
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1)
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1)
backpack = /obj/item/storage/backpack/medic
satchel = /obj/item/storage/backpack/satchel/med
+1 -1
View File
@@ -55,7 +55,7 @@ Head of Security
suit_store = /obj/item/gun/energy/e_gun
r_pocket = /obj/item/assembly/flash/handheld
l_pocket = /obj/item/restraints/handcuffs
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1)
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1)
backpack = /obj/item/storage/backpack/security
satchel = /obj/item/storage/backpack/satchel/sec
+2
View File
@@ -193,6 +193,8 @@
var/unique = 0 //0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified
var/title //The real name of the book.
var/window_size = null // Specific window size for the book, i.e: "1920x1080", Size x Width
drop_sound = 'sound/items/handling/book_drop.ogg'
pickup_sound = 'sound/items/handling/book_pickup.ogg'
/obj/item/book/attack_self(mob/user)
if(is_blind(user))
@@ -24,6 +24,9 @@
var/lip_style = null //no lipstick by default- arguably misleading, as it could be used for general makeup
var/lip_color = "white"
var/nail_style = null
var/nail_color = "white"
var/age = 30 //Player's age
var/underwear = "Nude" //Which underwear the player wants
@@ -81,7 +81,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/fixed_mut_color2 = ""
var/fixed_mut_color3 = ""
var/whitelisted = 0 //Is this species restricted to certain players?
var/whitelist = list() //List the ckeys that can use this species, if it's whitelisted.: list("John Doe", "poopface666", "SeeALiggerPullTheTrigger") Spaces & capitalization can be included or ignored entirely for each key as it checks for both.
var/whitelist = list() //List the ckeys that can use this species, if it's whitelisted.: list("John Doe", "poopface666") Spaces & capitalization can be included or ignored entirely for each key as it checks for both.
var/icon_limbs //Overrides the icon used for the limbs of this species. Mainly for downstream, and also because hardcoded icons disgust me. Implemented and maintained as a favor in return for a downstream's implementation of synths.
@@ -550,6 +550,12 @@ GLOBAL_LIST_EMPTY(roundstart_races)
MA.color = "#[H.socks_color]"
standing += MA
// nail paint (hyper)
if(H.nail_style)
var/mutable_appearance/nail_overlay = mutable_appearance('hyperstation/icons/mobs/nails.dmi', "nails", -HANDS_PART_LAYER)
nail_overlay.color = H.nail_color
standing += nail_overlay
if(standing.len)
H.overlays_standing[BODY_LAYER] = standing
+3 -15
View File
@@ -105,7 +105,7 @@
return
/mob/living/proc/can_embed(obj/item/I)
return FALSE
return FALSE
/mob/living/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum)
var/obj/item/I
@@ -126,22 +126,10 @@
return TRUE
var/zone = ran_zone(BODY_ZONE_CHEST, 65)//Hits a random part of the body, geared towards the chest
var/dtype = BRUTE
var/volume = I.get_volume_by_throwforce_and_or_w_class()
SEND_SIGNAL(I, COMSIG_MOVABLE_IMPACT_ZONE, src, zone)
dtype = I.damtype
if (I.throwforce > 0) //If the weapon's throwforce is greater than zero...
if (I.throwhitsound) //...and throwhitsound is defined...
playsound(loc, I.throwhitsound, volume, 1, -1) //...play the weapon's throwhitsound.
else if(I.hitsound) //Otherwise, if the weapon's hitsound is defined...
playsound(loc, I.hitsound, volume, 1, -1) //...play the weapon's hitsound.
else if(!I.throwhitsound) //Otherwise, if throwhitsound isn't defined...
playsound(loc, 'sound/weapons/genhit.ogg',volume, 1, -1) //...play genhit.ogg.
else if(!I.throwhitsound && I.throwforce > 0) //Otherwise, if the item doesn't have a throwhitsound and has a throwforce greater than zero...
playsound(loc, 'sound/weapons/genhit.ogg', volume, 1, -1)//...play genhit.ogg
if(!I.throwforce)// Otherwise, if the item's throwforce is 0...
playsound(loc, 'sound/weapons/throwtap.ogg', 1, volume, -1)//...play throwtap.ogg.
if(!blocked)
visible_message("<span class='danger'>[src] has been hit by [I].</span>", \
"<span class='userdanger'>[src] has been hit by [I].</span>")
@@ -397,7 +385,7 @@
if (INTENT_GRAB)
grabbedby(M)
return FALSE
if(INTENT_HARM)
if(INTENT_HARM)
if(HAS_TRAIT(M, TRAIT_PACIFISM))
to_chat(M, "<span class='notice'>You don't want to hurt anyone!</span>")
return FALSE
+1 -1
View File
@@ -252,7 +252,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
if (client?.prefs.chat_on_map && stat != UNCONSCIOUS && (client.prefs.see_chat_non_mob || ismob(speaker)) && can_hear())
create_chat_message(speaker, message_language, raw_message, spans, message_mode)
if (client?.prefs.radiosounds && stat != UNCONSCIOUS && can_hear() && radio_freq)
playsound_local(src,'sound/voice/radio.ogg', 30, 1)
playsound_local(src,'sound/voice/radio.ogg', 30, 0)
// Recompose message for AI hrefs, language incomprehension.
message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode, FALSE, source)
+2
View File
@@ -142,3 +142,5 @@
var/typing_indicator_timerid
/// Current state of our typing indicator. Used for cut overlay, DO NOT RUNTIME ASSIGN OTHER THAN FROM SHOW/CLEAR. Used to absolutely ensure we do not get stuck overlays.
var/mutable_appearance/typing_indicator_current
vis_flags = VIS_INHERIT_PLANE //when this be added to vis_contents of something it inherit something.plane, important for visualisation of mob in openspace.
+4
View File
@@ -23,6 +23,9 @@
dog_fashion = /datum/dog_fashion/head
grind_results = list(/datum/reagent/cellulose = 2)
drop_sound = 'sound/items/handling/paper_drop.ogg'
pickup_sound = 'sound/items/handling/paper_pickup.ogg'
var/info //What's actually written on the paper.
var/info_links //A different version of the paper which includes html links at fields and EOF
var/stamps //The (text for the) stamps on the paper.
@@ -143,6 +146,7 @@
var/locid = 0
var/laststart = 1
var/textindex = 1
playsound(src, 'sound/items/handling/writing.ogg', 50, 1, -1)
while(locid < 15) //hey whoever decided a while(1) was a good idea here, i hate you
var/istart = 0
if(links)
@@ -14,7 +14,7 @@
taste_description = "alcohol"
var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning
pH = 7.33
hydration = 1 * REAGENTS_METABOLISM
hydration = 1
/*
Boozepwr Chart
@@ -11,7 +11,7 @@
glass_icon_state = "glass_orange"
glass_name = "glass of orange juice"
glass_desc = "Vitamins! Yay!"
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
pH = 3.3
/datum/reagent/consumable/orangejuice/on_mob_life(mob/living/carbon/M)
@@ -28,7 +28,7 @@
glass_icon_state = "glass_red"
glass_name = "glass of tomato juice"
glass_desc = "Are you sure this is tomato juice?"
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/tomatojuice/on_mob_life(mob/living/carbon/M)
if(M.getFireLoss() && prob(20))
@@ -45,7 +45,7 @@
glass_name = "glass of lime juice"
glass_desc = "A glass of sweet-sour lime juice."
pH = 2.2
hydration = 3 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/limejuice/on_mob_life(mob/living/carbon/M)
if(M.getToxLoss() && prob(20))
@@ -61,7 +61,7 @@
glass_icon_state = "carrotjuice"
glass_name = "glass of carrot juice"
glass_desc = "It's just like a carrot but without crunching."
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/carrotjuice/on_mob_life(mob/living/carbon/M)
M.adjust_blurriness(-1)
@@ -83,7 +83,7 @@
glass_icon_state = "berryjuice"
glass_name = "glass of berry juice"
glass_desc = "Berry juice. Or maybe it's jam. Who cares?"
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/applejuice
name = "Apple Juice"
@@ -91,7 +91,7 @@
color = "#ECFF56" // rgb: 236, 255, 86
taste_description = "apples"
pH = 3.2 // ~ 2.7 -> 3.7
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/poisonberryjuice
name = "Poison Berry Juice"
@@ -101,7 +101,7 @@
glass_icon_state = "poisonberryjuice"
glass_name = "glass of berry juice"
glass_desc = "Berry juice. Or maybe it's poison. Who cares?"
hydration = 2 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/poisonberryjuice/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(1, 0)
@@ -116,7 +116,7 @@
glass_icon_state = "glass_red"
glass_name = "glass of watermelon juice"
glass_desc = "A glass of watermelon juice."
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/lemonjuice
name = "Lemon Juice"
@@ -127,7 +127,7 @@
glass_name = "glass of lemon juice"
glass_desc = "Sour..."
pH = 2
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/strawberryjuice
name = "Strawberry Juice"
@@ -136,7 +136,7 @@
taste_description = "strawberry"
glass_name = "glass of strawberry juice"
glass_desc = "Refreshing seasonal summer drink."
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/banana
name = "Banana Juice"
@@ -146,7 +146,7 @@
glass_icon_state = "banana"
glass_name = "glass of banana juice"
glass_desc = "The raw essence of a banana. HONK."
hydration = 1 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/banana/on_mob_life(mob/living/carbon/M)
if((ishuman(M) && M.job == "Clown") || ismonkey(M))
@@ -210,7 +210,7 @@
description = "The juice of a bunch of grapes. Guaranteed non-alcoholic."
color = "#290029" // dark purple
taste_description = "grape soda"
hydration = 2 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/milk
name = "Milk"
@@ -221,7 +221,7 @@
glass_name = "milk drum"
glass_desc = "White and nutritious goodness!"
pH = 6.5
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/milk/on_mob_life(mob/living/carbon/M)
if(HAS_TRAIT(M, TRAIT_CALCIUM_HEALER))
@@ -243,7 +243,7 @@
glass_icon_state = "glass_white"
glass_name = "glass of soy milk"
glass_desc = "White and nutritious soy goodness!"
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/soymilk/on_mob_life(mob/living/carbon/M)
if(M.getBruteLoss() && prob(20))
@@ -260,7 +260,7 @@
glass_icon_state = "glass_white"
glass_name = "glass of coconut milk"
glass_desc = "White and nutritious goodness!"
hydration = 4 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/coconutmilk/on_mob_life(mob/living/carbon/M)
if(M.getBruteLoss() && prob(20))
@@ -276,7 +276,7 @@
glass_icon_state = "glass_white"
glass_name = "glass of cream"
glass_desc = "Ewwww..."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/cream/on_mob_life(mob/living/carbon/M)
if(M.getBruteLoss() && prob(20))
@@ -294,7 +294,7 @@
glass_icon_state = "glass_brown"
glass_name = "glass of coffee"
glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/coffee/overdose_process(mob/living/M)
M.Jitter(5)
@@ -320,7 +320,7 @@
glass_icon_state = "teaglass"
glass_name = "glass of tea"
glass_desc = "Drinking it from here would not seem right."
hydration = 2 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/tea/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-2)
@@ -341,7 +341,7 @@
glass_icon_state = "lemonpitcher"
glass_name = "pitcher of lemonade"
glass_desc = "This drink leaves you feeling nostalgic for some reason."
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/tea/arnold_palmer
name = "Arnold Palmer"
@@ -353,7 +353,7 @@
glass_icon_state = "arnold_palmer"
glass_name = "Arnold Palmer"
glass_desc = "You feel like taking a few golf swings after a few swigs of this."
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/carbon/M)
if(prob(5))
@@ -370,7 +370,7 @@
glass_icon_state = "icedcoffeeglass"
glass_name = "iced coffee"
glass_desc = "A drink to perk you up and refresh you!"
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -390,7 +390,7 @@
glass_icon_state = "icedteaglass"
glass_name = "iced tea"
glass_desc = "All natural, antioxidant-rich flavour sensation."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/icetea/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-2)
@@ -410,7 +410,7 @@
glass_icon_state = "glass_brown"
glass_name = "glass of Space Cola"
glass_desc = "A glass of refreshing Space Cola."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/space_cola/on_mob_life(mob/living/carbon/M)
M.drowsyness = max(0,M.drowsyness-5)
@@ -426,7 +426,7 @@
glass_icon_state = "nuka_colaglass"
glass_name = "glass of Nuka Cola"
glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/nuka_cola/on_mob_metabolize(mob/living/L)
..()
@@ -471,7 +471,7 @@
glass_icon_state = "dr_gibb_glass"
glass_name = "glass of Dr. Gibb"
glass_desc = "Dr. Gibb. Not as dangerous as the glass_name might imply."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/carbon/M)
M.drowsyness = max(0,M.drowsyness-6)
@@ -486,7 +486,7 @@
glass_icon_state = "space-up_glass"
glass_name = "glass of Space-Up"
glass_desc = "Space-up. It helps you keep your cool."
hydration = 5 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/space_up/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -500,7 +500,7 @@
glass_icon_state = "glass_yellow"
glass_name = "glass of lemon-lime"
glass_desc = "You're pretty certain a real fruit has never actually touched this."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -514,7 +514,7 @@
glass_icon_state = "glass_red"
glass_name = "glass of Pwr Game"
glass_desc = "Goes well with a Vlad's salad."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/pwr_game/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -528,7 +528,7 @@
glass_icon_state = "glass_red"
glass_name = "glass of Shambler's juice"
glass_desc = "Mmm mm, shambly."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/shamblers/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -543,7 +543,7 @@
glass_icon_state = "grey_bull_glass"
glass_name = "glass of Grey Bull"
glass_desc = "Surprisingly it isnt grey."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/grey_bull/on_mob_metabolize(mob/living/L)
..()
@@ -569,7 +569,7 @@
glass_icon_state = "glass_clear"
glass_name = "glass of soda water"
glass_desc = "Soda water. Why not make a scotch and soda?"
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/sodawater/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -585,7 +585,7 @@
glass_icon_state = "glass_clear"
glass_name = "glass of tonic water"
glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
hydration = 4 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/tonic/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -604,7 +604,7 @@
glass_icon_state = "iceglass"
glass_name = "glass of ice"
glass_desc = "Generally, you're supposed to put something else in there too..."
hydration = 5 * REAGENTS_METABOLISM //ice is water dummy, just as good.
hydration = 5
/datum/reagent/consumable/ice/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -619,7 +619,7 @@
glass_icon_state = "soy_latte"
glass_name = "soy latte"
glass_desc = "A nice and refreshing beverage while you're reading."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -641,7 +641,7 @@
glass_icon_state = "cafe_latte"
glass_name = "cafe latte"
glass_desc = "A nice, strong and refreshing beverage while you're reading."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -663,7 +663,7 @@
glass_icon_state = "doctorsdelightglass"
glass_name = "Doctor's Delight"
glass_desc = "The space doctor's favorite. Guaranteed to restore bodily injury; side effects include cravings and hunger."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/doctor_delight/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-0.5, 0)
@@ -730,7 +730,7 @@
glass_icon_state = "pumpkin_latte"
glass_name = "pumpkin latte"
glass_desc = "A mix of coffee and pumpkin juice."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/gibbfloats
name = "Gibb Floats"
@@ -742,14 +742,14 @@
glass_icon_state = "gibbfloats"
glass_name = "Gibbfloat"
glass_desc = "Dr. Gibb with ice cream on top."
hydration = 3 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/pumpkinjuice
name = "Pumpkin Juice"
description = "Juiced from real pumpkin."
color = "#FFA500"
taste_description = "pumpkin"
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/blumpkinjuice
name = "Blumpkin Juice"
@@ -766,7 +766,7 @@
glass_icon_state = "triplecitrus" //needs own sprite mine are trash
glass_name = "glass of triple citrus"
glass_desc = "A mixture of citrus juices. Tangy, yet smooth."
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/grape_soda
name = "Grape soda"
@@ -775,7 +775,7 @@
taste_description = "grape soda"
glass_name = "glass of grape juice"
glass_desc = "It's grape (soda)!"
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -788,7 +788,7 @@
color = "#7D4E29"
quality = DRINK_NICE
taste_description = "chocolate milk"
hydration = 2 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/menthol
name = "Menthol"
@@ -810,7 +810,7 @@
taste_description = "sweet pomegranates"
glass_name = "glass of grenadine"
glass_desc = "Delicious flavored syrup."
hydration = 1 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/parsnipjuice
name = "Parsnip Juice"
@@ -818,7 +818,7 @@
color = "#FFA500"
taste_description = "parsnip"
glass_name = "glass of parsnip juice"
hydration = 1 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/pineapplejuice
name = "Pineapple Juice"
@@ -827,7 +827,7 @@
taste_description = "pineapple"
glass_name = "glass of pineapple juice"
glass_desc = "Tart, tropical, and hotly debated."
hydration = 2 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/peachjuice //Intended to be extremely rare due to being the limiting ingredients in the blazaam drink
name = "Peach Juice"
@@ -835,7 +835,7 @@
color = "#E78108"
taste_description = "peaches"
glass_name = "glass of peach juice"
hydration = 2 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/cream_soda
name = "Cream Soda"
@@ -846,7 +846,7 @@
glass_icon_state = "cream_soda"
glass_name = "Cream Soda"
glass_desc = "A classic space-American vanilla flavored soft drink."
hydration = 2 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/cream_soda/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -888,7 +888,7 @@
taste_description = "sweet strawberry and milk cream"
glass_name = "tall glass of strawberry milk"
glass_desc = "Delicious flavored strawberry syrup mixed with milk."
hydration = 3 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/pinkmilk/on_mob_life(mob/living/carbon/M)
if(prob(15))
@@ -905,7 +905,7 @@
taste_description = "sweet tea with a hint of strawberry"
glass_name = "mug of strawberry tea"
glass_desc = "Delicious traditional tea flavored with strawberries."
hydration = 2 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/tea/pinktea/on_mob_life(mob/living/carbon/M)
if(prob(10))
@@ -921,7 +921,7 @@
glass_icon_state = "monkey_energy_glass"
glass_name = "glass of Monkey Energy"
glass_desc = "You can unleash the ape, but without the pop of the can?"
hydration = 1 * REAGENTS_METABOLISM
hydration = 4
/datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/M)
M.Jitter(20)
@@ -939,7 +939,7 @@
glass_icon_state = "glass_yellow"
glass_name = "glass of bungo juice"
glass_desc = "Exotic! You feel like you are on vacation already."
hydration = 1 * REAGENTS_METABOLISM
hydration = 5
/datum/reagent/consumable/aloejuice
name = "Aloe Juice"
@@ -949,7 +949,7 @@
glass_icon_state = "glass_yellow"
glass_name = "glass of aloe juice"
glass_desc = "A healthy and refreshing juice."
hydration = 2 * REAGENTS_METABOLISM
hydration = 5
/datum/reagent/consumable/aloejuice/on_mob_life(mob/living/M)
if(prob(30))
@@ -984,7 +984,7 @@
glass_icon_state = "wockyslush"
glass_name = "Wocky Slush"
glass_desc = "That thang bleedin' to the-... ya know I mean?"
hydration = 3 * REAGENTS_METABOLISM
hydration = 3
/datum/reagent/consumable/wockyslush/on_mob_life(mob/living/carbon/M)
M.emote(pick("twitch","giggle","stare"))
@@ -18,6 +18,7 @@
/datum/reagent/consumable/on_mob_life(mob/living/carbon/M)
current_cycle++
M.nutrition += nutriment_factor
M.thirst += hydration
holder.remove_reagent(type, metabolization_rate)
/datum/reagent/consumable/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
@@ -258,7 +258,7 @@
glass_name = "glass of water"
glass_desc = "The father of all refreshments."
shot_glass_icon_state = "shotglassclear"
hydration = 10 * REAGENTS_METABOLISM
hydration = 5
/*
* Water reaction to turf
@@ -1242,6 +1242,7 @@
var/mob/living/carbon/human/H = M
if(H.lip_style)
H.lip_style = null
H.nail_style = null
H.update_body()
for(var/obj/item/I in C.held_items)
SEND_SIGNAL(I, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
@@ -327,11 +327,11 @@
/obj/item/reagent_containers/glass/beaker/waterbottle
name = "bottle of water"
desc = "A bottle of water filled at an old Earth bottling facility."
desc = "A bottle of water filled at some factory in space."
icon = 'icons/obj/drinks.dmi'
icon_state = "smallbottle"
item_state = "bottle"
list_reagents = list(/datum/reagent/water = 49.5, /datum/reagent/fluorine = 0.5)//see desc, don't think about it too hard
list_reagents = list(/datum/reagent/water = 50)//see desc, don't think about it too hard
materials = list(MAT_GLASS=0)
volume = 50
amount_per_transfer_from_this = 10
+1 -2
View File
@@ -238,7 +238,6 @@
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
hitsound = 'sound/weapons/circsawhit.ogg'
throwhitsound = 'sound/weapons/pierce.ogg'
item_flags = SURGICAL_TOOL
flags_1 = CONDUCT_1
force = 15
@@ -251,6 +250,7 @@
sharpness = IS_SHARP
tool_behaviour = TOOL_SAW
toolspeed = 1
mob_throw_hit_sound = 'sound/weapons/pierce.ogg'
/obj/item/circular_saw/Initialize()
. = ..()
@@ -263,7 +263,6 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "saw"
hitsound = 'sound/weapons/circsawhit.ogg'
throwhitsound = 'sound/weapons/pierce.ogg'
flags_1 = CONDUCT_1
force = 10
w_class = WEIGHT_CLASS_SMALL
+8 -8
View File
@@ -1773,7 +1773,7 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
cost = 2
restricted_roles = list("Curator")
limited_stock = 1 //please don't spam deadchat
/* Disabled because this is waaaay too chaotic for hyper
/datum/uplink_item/role_restricted/his_grace
name = "His Grace"
desc = "An incredibly dangerous weapon recovered from a station overcome by the grey tide. Once activated, He will thirst for blood and must be used to kill to sate that thirst. \
@@ -1784,24 +1784,24 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
cost = 20
restricted_roles = list("Chaplain")
surplus = 5 //Very low chance to get it in a surplus crate even without being the chaplain
///datum/uplink_item/role_restricted/clockwork_slab
/datum/uplink_item/dangerous/clockwork_slab
*/
/datum/uplink_item/role_restricted/clockwork_slab
name = "Clockwork Slab"
desc = "A reverse engineered clockwork slab. Is this really a good idea?"
item = /obj/item/clockwork/slab/traitor
cost = 20
refundable = TRUE
//restricted_roles = list("Chaplain","Curator")
restricted_roles = list("Chaplain","Curator")
cant_discount = TRUE
///datum/uplink_item/role_restricted/arcane_tome
/datum/uplink_item/dangerous/arcane_tome
/datum/uplink_item/role_restricted/arcane_tome
name = "Arcane Tome"
desc = "A 'replica' of a Nar'sian tome. This is probably a bad idea..."
item = /obj/item/tome/traitor
cost = 20
refundable = TRUE
//restricted_roles = list("Chaplain","Curator")
restricted_roles = list("Chaplain","Curator")
cant_discount = TRUE
/datum/uplink_item/role_restricted/explosive_hot_potato
name = "Exploding Hot Potato"
+1
View File
@@ -102,6 +102,7 @@
/obj/item/clothing/suit/toggle/jacket_purple = 3,
/obj/item/clothing/suit/toggle/jacket_white = 3,
/obj/item/clothing/suit/jacket/letterman_red = 3,
/obj/item/clothing/suit/fluffyhalfcrop = 3,
/obj/item/clothing/ears/headphones = 10,
/obj/item/clothing/suit/apron/purple_bartender = 4,
/obj/item/clothing/under/rank/bartender/purple = 4,
+19
View File
@@ -16,3 +16,22 @@
contraband = list(/obj/item/reagent_containers/glass/bottle/wizarditis = 1) //No one can get to the machine to hack it anyways; for the lulz - Microwave
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50, "magic" = 100)
resistance_flags = FIRE_PROOF
/obj/machinery/vending/magivend_novirus
name = "\improper MagiVend"
desc = "A magic vending machine."
icon_state = "MagiVend"
product_slogans = "Sling spells the proper way with MagiVend!;Be your own Houdini! Use MagiVend!"
vend_reply = "Have an enchanted evening!"
product_ads = "EI NATH;Destroy the station!;Admin conspiracies since forever!;Space-time bending hardware!;Now-magic proofing venders!"
products = list(/obj/item/clothing/head/wizard = 1,
/obj/item/clothing/suit/wizrobe = 1,
/obj/item/clothing/head/wizard/red = 1,
/obj/item/clothing/suit/wizrobe/red = 1,
/obj/item/clothing/head/wizard/yellow = 1,
/obj/item/clothing/suit/wizrobe/yellow = 1,
/obj/item/clothing/shoes/sandal/magic = 1,
/obj/item/staff = 2)
contraband = list(/obj/item/coin/antagtoken = 1)
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50, "magic" = 100)
resistance_flags = FIRE_PROOF