mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 05:51:56 +01:00
Merge branch 'master' into updates_the_nbt
# Conflicts: # code/__defines/misc.dm # code/game/machinery/machinery.dm # maps/_common/mapsystem/map.dm
This commit is contained in:
@@ -104,7 +104,7 @@
|
||||
var/list/viruses = list()
|
||||
|
||||
/obj/effect/decal/cleanable/vomit/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
create_reagents(20, src)
|
||||
|
||||
/obj/effect/decal/cleanable/tomato_smudge
|
||||
|
||||
@@ -336,6 +336,7 @@
|
||||
/obj/item/proc/dropped(var/mob/user)
|
||||
if(zoom)
|
||||
zoom(user) //binoculars, scope, etc
|
||||
SEND_SIGNAL(src, COMSIG_ITEM_REMOVE, src)
|
||||
|
||||
// Called whenever an object is moved around inside the mob's contents.
|
||||
// Linker proc: mob/proc/prepare_for_slotmove, which is referenced in proc/handle_item_insertion and obj/item/attack_hand.
|
||||
@@ -343,6 +344,7 @@
|
||||
/obj/item/proc/on_slotmove(var/mob/user, slot)
|
||||
if(zoom)
|
||||
zoom(user)
|
||||
SEND_SIGNAL(src, COMSIG_ITEM_REMOVE, src)
|
||||
|
||||
// called just as an item is picked up (loc is not yet changed)
|
||||
/obj/item/proc/pickup(mob/user)
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
else
|
||||
add_overlay(screen_overlays["intercom_screen"])
|
||||
add_overlay(screen_overlays["intercom_scanline"])
|
||||
set_light(1.4, 1, COLOR_CYAN)
|
||||
set_light(1.4, 1.3, COLOR_CYAN)
|
||||
if(broadcasting)
|
||||
add_overlay(screen_overlays["intercom_b"])
|
||||
if(listening)
|
||||
|
||||
@@ -667,7 +667,7 @@ BREATH ANALYZER
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/device/advanced_healthanalyzer/proc/print_scan(var/mob/M, var/mob/living/user)
|
||||
var/obj/item/paper/R = new(user.loc)
|
||||
var/obj/item/paper/medscan/R = new(user.loc)
|
||||
R.color = "#eeffe8"
|
||||
R.set_content_unsafe("Scan ([M.name])", internal_bodyscanner.format_occupant_data(get_medical_data(M)))
|
||||
|
||||
|
||||
@@ -214,11 +214,15 @@
|
||||
|
||||
/obj/item/glass_jar/gumball
|
||||
contains = JAR_GUMBALL
|
||||
var/gumball_path = /obj/item/clothing/mask/chewable/candy/gum/gumball
|
||||
|
||||
/obj/item/glass_jar/gumball/medical
|
||||
gumball_path = /obj/item/clothing/mask/chewable/candy/gum/gumball/medical
|
||||
|
||||
/obj/item/glass_jar/gumball/Initialize()
|
||||
..()
|
||||
for(var/i = 1 to GUMBALL_MAX)
|
||||
var/obj/item/clothing/mask/chewable/candy/gum/gumball/G = new(src)
|
||||
var/obj/item/clothing/mask/chewable/candy/gum/gumball/G = new gumball_path(src)
|
||||
contained += G
|
||||
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
@@ -226,13 +230,6 @@
|
||||
/obj/item/glass_jar/gumball/LateInitialize()
|
||||
update_icon()
|
||||
|
||||
/obj/item/glass_jar/gumball/medical/Initialize()
|
||||
for(var/i = 1 to GUMBALL_MAX)
|
||||
var/obj/item/clothing/mask/chewable/candy/gum/gumball/medical/G = new(src)
|
||||
contained += G
|
||||
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
#undef JAR_NOTHING
|
||||
#undef JAR_MONEY
|
||||
#undef JAR_ANIMAL
|
||||
|
||||
@@ -11,6 +11,29 @@
|
||||
var/static/list/knitables = list(/obj/item/clothing/accessory/sweater, /obj/item/clothing/suit/storage/toggle/cardigan, /obj/item/clothing/suit/storage/toggle/cardigan/sweater, /obj/item/clothing/suit/storage/toggle/cardigan/argyle, /obj/item/clothing/accessory/sweatervest, /obj/item/clothing/accessory/sweaterturtleneck, /obj/item/clothing/gloves/fingerless/colour/knitted, /obj/item/clothing/gloves/knitted, /obj/item/clothing/accessory/bandanna/colorable/knitted, /obj/item/clothing/accessory/scarf)
|
||||
var/static/list/name2knit
|
||||
|
||||
/obj/item/knittingneedles/verb/remove_yarn()
|
||||
set name = "Remove Yarn"
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
|
||||
if(use_check_and_message(usr))
|
||||
return
|
||||
|
||||
if(!ball)
|
||||
to_chat(usr, SPAN_WARNING("There is no yarn on \the [src]!"))
|
||||
return
|
||||
|
||||
if(working)
|
||||
to_chat(usr, SPAN_WARNING("You can't remove \the [ball] while using \the [src]!"))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = usr
|
||||
|
||||
H.put_in_hands(ball)
|
||||
ball = null
|
||||
to_chat(usr, SPAN_NOTICE("You remove \the [ball] from \the [src]."))
|
||||
update_icon()
|
||||
|
||||
/obj/item/knittingneedles/Destroy()
|
||||
if(ball)
|
||||
QDEL_NULL(ball)
|
||||
@@ -30,9 +53,15 @@
|
||||
item_state = initial(item_state)
|
||||
|
||||
if(ball)
|
||||
add_overlay("[ball.icon_state]")
|
||||
var/mutable_appearance/yarn_overlay = mutable_appearance(icon, "[ball.icon_state]")
|
||||
if(ball.color)
|
||||
yarn_overlay.color = ball.color
|
||||
else
|
||||
yarn_overlay.appearance_flags = RESET_COLOR
|
||||
add_overlay(yarn_overlay)
|
||||
else
|
||||
cut_overlays()
|
||||
update_held_icon()
|
||||
|
||||
/obj/item/knittingneedles/attackby(obj/item/O, mob/user)
|
||||
if(istype(O, /obj/item/yarn))
|
||||
@@ -62,6 +91,8 @@
|
||||
var/image/radial_button = image(icon = initial(i.icon), icon_state = initial(i.icon_state))
|
||||
options[initial(i.name)] = radial_button
|
||||
var/knit_name = show_radial_menu(user, user, options, radius = 42, tooltips = TRUE)
|
||||
if(!knit_name)
|
||||
return
|
||||
var/type_path = name2knit[knit_name]
|
||||
|
||||
user.visible_message("<b>[user]</b> begins knitting something soft and cozy.")
|
||||
|
||||
@@ -213,8 +213,6 @@
|
||||
update_icon()
|
||||
return 1
|
||||
else
|
||||
if(get_amount() < used)
|
||||
return 0
|
||||
for(var/i = 1 to charge_costs.len)
|
||||
var/datum/matter_synth/S = synths[i]
|
||||
if(!S.use_charge(charge_costs[i] * used)) // Doesn't need to be deleted
|
||||
|
||||
@@ -232,6 +232,12 @@
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/flame/lighter/adhomai/AltClick(mob/user)
|
||||
if(Adjacent(user) && !lit)
|
||||
protection = !protection
|
||||
playsound(src.loc, 'sound/weapons/blade_open.ogg', 50, 1)
|
||||
update_icon()
|
||||
|
||||
/obj/item/stack/dice/tajara
|
||||
name = "adhomian dice"
|
||||
desc = "An adhomian dice made out of wood. Commonly used to play Suns and Moon."
|
||||
|
||||
@@ -118,6 +118,7 @@ var/const/NO_EMAG_ACT = -50
|
||||
//alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system
|
||||
var/assignment = null //can be alt title or the actual job
|
||||
var/rank = null //actual job
|
||||
var/employer_faction = null
|
||||
var/dorm = 0 // determines if this ID has claimed a dorm already
|
||||
var/datum/ntnet_user/chat_user
|
||||
|
||||
@@ -150,9 +151,9 @@ var/const/NO_EMAG_ACT = -50
|
||||
chat_user.username = chat_user.generateUsernameIdCard(src)
|
||||
|
||||
/obj/item/card/id/proc/set_id_photo(var/mob/M)
|
||||
front = getFlatIcon(M, SOUTH)
|
||||
front = getFlatIcon(M, SOUTH, ignore_parent_dir = TRUE)
|
||||
front.Scale(128, 128)
|
||||
side = getFlatIcon(M, WEST)
|
||||
side = getFlatIcon(M, WEST, ignore_parent_dir = TRUE)
|
||||
side.Scale(128, 128)
|
||||
|
||||
/mob/proc/set_id_info(var/obj/item/card/id/id_card)
|
||||
@@ -173,6 +174,7 @@ var/const/NO_EMAG_ACT = -50
|
||||
id_card.citizenship = citizenship
|
||||
id_card.religion = SSrecords.get_religion_record_name(religion)
|
||||
id_card.mob = src
|
||||
id_card.employer_faction = employer_faction
|
||||
|
||||
/obj/item/card/id/proc/dat()
|
||||
var/dat = ("<table><tr><td>")
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
entries[++entries.len] = list("name" = "Sex", "value" = sex)
|
||||
entries[++entries.len] = list("name" = "Citizenship", "value" = citizenship)
|
||||
entries[++entries.len] = list("name" = "Religion", "value" = religion)
|
||||
entries[++entries.len] = list("name" = "Faction", "value" = employer_faction)
|
||||
entries[++entries.len] = list("name" = "Factory Reset", "value" = "Use With Care")
|
||||
data["electronic_warfare"] = electronic_warfare
|
||||
data["entries"] = entries
|
||||
@@ -229,6 +230,12 @@
|
||||
src.religion = new_religion
|
||||
to_chat(user, SPAN_NOTICE("Religion changed to '[new_religion]'."))
|
||||
. = 1
|
||||
if("Faction")
|
||||
var/new_faction = sanitize(input(user,"Which faction would you like to put on this card?","Agent Card Faction", employer_faction) as null|text)
|
||||
if(!isnull(new_faction) && CanUseTopic(user,state))
|
||||
src.employer_faction = new_faction
|
||||
to_chat(user, SPAN_NOTICE("Faction changed to '[new_faction]'."))
|
||||
. = 1
|
||||
if("Factory Reset")
|
||||
if(alert("This will factory reset the card, including access and owner. Continue?", "Factory Reset", "No", "Yes") == "Yes" && CanUseTopic(user, state))
|
||||
age = initial(age)
|
||||
@@ -245,6 +252,7 @@
|
||||
unset_registered_user()
|
||||
religion = initial(religion)
|
||||
sex = initial(sex)
|
||||
employer_faction = initial(employer_faction)
|
||||
to_chat(user, "<span class='notice'>All information has been deleted from \the [src].</span>")
|
||||
. = 1
|
||||
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
/obj/item/device/flashlight/pen,
|
||||
/obj/item/seeds,
|
||||
/obj/item/coin,
|
||||
/obj/item/stack/dice,
|
||||
/obj/item/disk,
|
||||
/obj/item/implanter,
|
||||
/obj/item/flame/lighter,
|
||||
/obj/item/flame/match,
|
||||
/obj/item/lipstick,
|
||||
/obj/item/haircomb,
|
||||
@@ -30,7 +32,8 @@
|
||||
/obj/item/device/encryptionkey,
|
||||
/obj/item/fluff,
|
||||
/obj/item/storage/business_card_holder,
|
||||
/obj/item/sample
|
||||
/obj/item/sample,
|
||||
/obj/item/key
|
||||
)
|
||||
slot_flags = SLOT_ID
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
var/mob/living/pulling
|
||||
|
||||
/obj/structure/janitorialcart/full/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
mybag = new /obj/item/storage/bag/trash(src)
|
||||
mymop = new /obj/item/mop(src)
|
||||
myspray = new /obj/item/reagent_containers/spray/cleaner(src)
|
||||
|
||||
@@ -187,6 +187,8 @@
|
||||
update_icon()
|
||||
|
||||
/obj/structure/railing/CheckExit(var/atom/movable/O, var/turf/target)
|
||||
if(istype(O) && CanPass(O, target))
|
||||
return TRUE
|
||||
if(get_dir(O.loc, target) == dir)
|
||||
if(!density)
|
||||
return TRUE
|
||||
|
||||
@@ -358,7 +358,7 @@
|
||||
slowdown = 0
|
||||
|
||||
/obj/structure/bed/roller/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
LAZYADD(can_buckle, /obj/structure/closet/body_bag)
|
||||
|
||||
/obj/structure/bed/roller/Destroy()
|
||||
|
||||
Reference in New Issue
Block a user