# Conflicts:
#	code/game/area/Away Mission areas.dm
#	code/game/objects/items/weapons/stunbaton.dm
#	code/game/objects/items/weapons/teleportation.dm
#	code/modules/clothing/glasses/glasses.dm
#	code/modules/events/event_container_vr.dm
#	code/modules/mining/ore_box.dm
#	code/modules/paperwork/paper.dm
#	code/modules/rogueminer_vr/zone_console.dm
#	config/custom_items.txt
#	icons/mob/items/lefthand_suits.dmi
#	icons/mob/items/righthand_suits.dmi
#	icons/mob/species/vulpkanin/helmet.dmi
#	icons/mob/species/vulpkanin/suit.dmi
#	icons/mob/suit.dmi
#	icons/obj/clothing/suits.dmi
#	maps/tether/tether_defines.dm
This commit is contained in:
Repede
2020-02-22 12:38:04 -05:00
905 changed files with 89234 additions and 7194 deletions

View File

@@ -147,7 +147,7 @@
if(!locked)
return
user << "<span class='notice'>The crate is locked with a Deca-code lock.</span>"
to_chat(user, "<span class='notice'>The crate is locked with a Deca-code lock.</span>")
var/input = input(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "") as text
if(!Adjacent(user))
return
@@ -161,23 +161,23 @@
sanitycheck = null //if a digit is repeated, reject the input
if(input == null || sanitycheck == null || length(input) != codelen)
user << "<span class='notice'>You leave the crate alone.</span>"
to_chat(user, "<span class='notice'>You leave the crate alone.</span>")
else if(check_input(input))
user << "<span class='notice'>The crate unlocks!</span>"
to_chat(user, "<span class='notice'>The crate unlocks!</span>")
playsound(user, 'sound/machines/lockreset.ogg', 50, 1)
set_locked(0)
else
visible_message("<span class='warning'>A red light on \the [src]'s control panel flashes briefly.</span>")
attempts--
if (attempts == 0)
user << "<span class='danger'>The crate's anti-tamper system activates!</span>"
to_chat(user, "<span class='danger'>The crate's anti-tamper system activates!</span>")
var/turf/T = get_turf(src.loc)
explosion(T, 0, 0, 1, 2)
qdel(src)
/obj/structure/closet/crate/secure/loot/emag_act(var/remaining_charges, var/mob/user)
if (locked)
user << "<span class='notice'>The crate unlocks!</span>"
to_chat(user, "<span class='notice'>The crate unlocks!</span>")
locked = 0
/obj/structure/closet/crate/secure/loot/proc/check_input(var/input)
@@ -195,11 +195,11 @@
/obj/structure/closet/crate/secure/loot/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(locked)
if (istype(W, /obj/item/device/multitool)) // Greetings Urist McProfessor, how about a nice game of cows and bulls?
user << "<span class='notice'>DECA-CODE LOCK ANALYSIS:</span>"
to_chat(user, "<span class='notice'>DECA-CODE LOCK ANALYSIS:</span>")
if (attempts == 1)
user << "<span class='warning'>* Anti-Tamper system will activate on the next failed access attempt.</span>"
to_chat(user, "<span class='warning'>* Anti-Tamper system will activate on the next failed access attempt.</span>")
else
user << "<span class='notice'>* Anti-Tamper system will activate after [src.attempts] failed access attempts.</span>"
to_chat(user, "<span class='notice'>* Anti-Tamper system will activate after [src.attempts] failed access attempts.</span>")
if(lastattempt.len)
var/bulls = 0
var/cows = 0
@@ -214,6 +214,6 @@
var/previousattempt = null //convert back to string for readback
for(var/i in 1 to codelen)
previousattempt = addtext(previousattempt, lastattempt[i])
user << "<span class='notice'>Last code attempt, [previousattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.</span>"
to_chat(user, "<span class='notice'>Last code attempt, [previousattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.</span>")
return
..()

View File

@@ -48,14 +48,14 @@
if(istype(W,/obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if(string_attached)
user << "<span class='notice'>There already is a string attached to this coin.</span>"
to_chat(user, "<span class='notice'>There already is a string attached to this coin.</span>")
return
if (CC.use(1))
overlays += image('icons/obj/items.dmi',"coin_string_overlay")
string_attached = 1
user << "<span class='notice'>You attach a string to the coin.</span>"
to_chat(user, "<span class='notice'>You attach a string to the coin.</span>")
else
user << "<span class='notice'>This cable coil appears to be empty.</span>"
to_chat(user, "<span class='notice'>This cable coil appears to be empty.</span>")
return
else if(W.is_wirecutter())
if(!string_attached)
@@ -67,7 +67,7 @@
CC.update_icon()
overlays = list()
string_attached = null
user << "<font color='blue'>You detach the string from the coin.</font>"
to_chat(user, "<font color='blue'>You detach the string from the coin.</font>")
else ..()
/obj/item/weapon/coin/attack_self(mob/user as mob)

View File

@@ -9,7 +9,7 @@
var/scan_time = 5 SECONDS
/obj/item/weapon/mining_scanner/attack_self(mob/user as mob)
user << "You begin sweeping \the [src] about, scanning for metal deposits."
to_chat(user, "You begin sweeping \the [src] about, scanning for metal deposits.")
playsound(loc, 'sound/items/goggles_charge.ogg', 50, 1, -6)
if(!do_after(user, scan_time))

View File

@@ -20,7 +20,7 @@
machine.console = src
else
//Silently failing and causing mappers to scratch their heads while runtiming isn't ideal.
world << "<span class='danger'>Warning: Stacking machine console at [src.x], [src.y], [src.z] could not find its machine!</span>"
to_world("<span class='danger'>Warning: Stacking machine console at [src.x], [src.y], [src.z] could not find its machine!</span>")
qdel(src)
/obj/machinery/mineral/stacking_unit_console/attack_hand(mob/user)

View File

@@ -201,11 +201,11 @@
var/turf/T = get_turf(src)
if(!T || !istype(T,/turf/simulated/mineral))
user << "The flag won't stand up in this terrain."
to_chat(user, "The flag won't stand up in this terrain.")
return
if(F && F.upright)
user << "There is already a flag here."
to_chat(user, "There is already a flag here.")
return
var/obj/item/stack/flag/newflag = new src.type(T)

View File

@@ -133,15 +133,6 @@ turf/simulated/mineral/floor/light_corner
if(air_master)
air_master.mark_for_update(src)
/turf/simulated/mineral/Entered(atom/movable/M as mob|obj)
. = ..()
if(istype(M,/mob/living/silicon/robot))
var/mob/living/silicon/robot/R = M
if(R.module)
for(var/obj/item/weapon/storage/bag/ore/O in list(R.module_state_1, R.module_state_2, R.module_state_3))
attackby(O, R)
return
/turf/simulated/mineral/proc/get_cached_border(var/cache_id, var/direction, var/icon_file, var/icon_state, var/offset = 32)
//Cache miss
if(!mining_overlay_cache["[cache_id]_[direction]"])

View File

@@ -12,4 +12,14 @@
ignore_cavegen = TRUE
/turf/simulated/mineral/floor/ignore_cavegen
ignore_cavegen = TRUE
ignore_cavegen = TRUE
/turf/simulated/mineral/vacuum
oxygen = 0
nitrogen = 0
temperature = TCMB
/turf/simulated/mineral/floor/vacuum
oxygen = 0
nitrogen = 0
temperature = TCMB

View File

@@ -22,5 +22,5 @@
if(O)
scanner_image = image(icon, loc = get_turf(src), icon_state = (O.scan_icon ? O.scan_icon : icon_state))
else
world << "No ore data for [src]!"
to_world("No ore data for [src]!")
return scanner_image

View File

@@ -120,7 +120,7 @@
usr.set_machine(src)
src.add_fingerprint(usr)
if(processing==1)
usr << "<font color='blue'>The machine is processing.</font>"
to_chat(usr, "<font color='blue'>The machine is processing.</font>")
return
if(href_list["choose"])
chosen = href_list["choose"]

View File

@@ -49,14 +49,14 @@
..()
if (istype(W, /obj/item/weapon/coin))
var/obj/item/weapon/coin/C = W
user << "<font color='blue'>You add the [C.name] into the bag.</font>"
to_chat(user, "<font color='blue'>You add the [C.name] into the bag.</font>")
usr.drop_item()
contents += C
if (istype(W, /obj/item/weapon/moneybag))
var/obj/item/weapon/moneybag/C = W
for (var/obj/O in C.contents)
contents += O;
user << "<font color='blue'>You empty the [C.name] into the bag.</font>"
to_chat(user, "<font color='blue'>You empty the [C.name] into the bag.</font>")
return
/obj/item/weapon/moneybag/Topic(href, href_list)

View File

@@ -42,7 +42,7 @@
..()
var/mob/living/carbon/human/H = hit_atom
if(istype(H) && H.has_eyes() && prob(85))
H << "<span class='danger'>Some of \the [src] gets in your eyes!</span>"
to_chat(H, "<span class='danger'>Some of \the [src] gets in your eyes!</span>")
H.Blind(5)
H.eye_blurry += 10
spawn(1)
@@ -94,7 +94,7 @@
..()
var/mob/living/carbon/human/H = hit_atom
if(istype(H) && H.has_eyes() && prob(85))
H << "<span class='danger'>Some of \the [src] gets in your eyes!</span>"
to_chat(H, "<span class='danger'>Some of \the [src] gets in your eyes!</span>")
H.Blind(10)
H.eye_blurry += 15
spawn(1)

View File

@@ -1,6 +1,5 @@
/**********************Ore box**************************/
//Why the hell is this file called satchel_ore_boxdm.dm? -CK
/obj/structure/ore_box
icon = 'icons/obj/mining.dmi'
icon_state = "orebox0"
@@ -45,12 +44,8 @@
stored_ore[O.name] = 1
/obj/structure/ore_box/examine(mob/user)
user << "That's an [src]."
user << desc
// Borgs can now check contents too.
if((!istype(user, /mob/living/carbon/human)) && (!istype(user, /mob/living/silicon/robot)))
return
to_chat(user, "That's an [src].")
to_chat(user, desc)
if(!Adjacent(user)) //Can only check the contents of ore boxes if you can physically reach them.
return
@@ -58,16 +53,16 @@
add_fingerprint(user)
if(!contents.len)
user << "It is empty."
to_chat(user, "It is empty.")
return
if(world.time > last_update + 10)
update_ore_count()
last_update = world.time
user << "It holds:"
to_chat(user, "It holds:")
for(var/ore in stored_ore)
user << "- [stored_ore[ore]] [ore]"
to_chat(user, "- [stored_ore[ore]] [ore]")
return
/obj/structure/ore_box/verb/empty_box()
@@ -75,27 +70,27 @@
set category = "Object"
set src in view(1)
if(!istype(usr, /mob/living/carbon/human) && !istype(usr, /mob/living/silicon/robot)) //Only living, intelligent creatures with gripping aparatti can empty ore boxes.
usr << "<font color='red'>You are physically incapable of emptying the ore box.</font>"
if(!ishuman(usr) && !isrobot(usr)) //Only living, intelligent creatures with gripping aparatti can empty ore boxes.
to_chat(usr, "<span class='warning'>You are physically incapable of emptying the ore box.</span>")
return
if( usr.stat || usr.restrained() )
if(usr.stat || usr.restrained())
return
if(!Adjacent(usr)) //You can only empty the box if you can physically reach it
usr << "You cannot reach the ore box."
to_chat(usr, "You cannot reach the ore box.")
return
add_fingerprint(usr)
if(contents.len < 1)
usr << "<font color='red'>The ore box is empty.</font>"
to_chat(usr, "<span class='warning'>The ore box is empty.</span>")
return
for (var/obj/item/weapon/ore/O in contents)
contents -= O
O.loc = src.loc
usr << "<font color='blue'>You empty the ore box.</font>"
to_chat(usr, "<span class='notice'>You empty the ore box.</span>")
return
@@ -105,4 +100,4 @@
O.loc = src.loc
O.ex_act(severity++)
qdel(src)
return
return