Merge branch 'master' into upstream-merge-37486
This commit is contained in:
@@ -112,7 +112,7 @@
|
||||
if(90)
|
||||
new /obj/item/organ/heart(src)
|
||||
if(91)
|
||||
new /obj/item/device/soulstone/anybody(src)
|
||||
new /obj/item/soulstone/anybody(src)
|
||||
if(92)
|
||||
new /obj/item/katana(src)
|
||||
if(93)
|
||||
@@ -121,7 +121,7 @@
|
||||
new /obj/item/storage/backpack/clown(src)
|
||||
new /obj/item/clothing/under/rank/clown(src)
|
||||
new /obj/item/clothing/shoes/clown_shoes(src)
|
||||
new /obj/item/device/pda/clown(src)
|
||||
new /obj/item/pda/clown(src)
|
||||
new /obj/item/clothing/mask/gas/clown_hat(src)
|
||||
new /obj/item/bikehorn(src)
|
||||
new /obj/item/toy/crayon/rainbow(src)
|
||||
@@ -129,7 +129,7 @@
|
||||
if(95)
|
||||
new /obj/item/clothing/under/rank/mime(src)
|
||||
new /obj/item/clothing/shoes/sneakers/black(src)
|
||||
new /obj/item/device/pda/mime(src)
|
||||
new /obj/item/pda/mime(src)
|
||||
new /obj/item/clothing/gloves/color/white(src)
|
||||
new /obj/item/clothing/mask/gas/mime(src)
|
||||
new /obj/item/clothing/head/beret(src)
|
||||
@@ -187,7 +187,7 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/loot/attackby(obj/item/W, mob/user)
|
||||
if(locked)
|
||||
if(istype(W, /obj/item/device/multitool))
|
||||
if(istype(W, /obj/item/multitool))
|
||||
to_chat(user, "<span class='notice'>DECA-CODE LOCK REPORT:</span>")
|
||||
if(attempts == 1)
|
||||
to_chat(user, "<span class='warning'>* Anti-Tamper Bomb will activate on next failed access attempt.</span>")
|
||||
|
||||
@@ -24,7 +24,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
req_one_access = list(ACCESS_CARGO, ACCESS_CONSTRUCTION, ACCESS_HEADS, ACCESS_RESEARCH)
|
||||
var/possible_destinations
|
||||
clockwork = TRUE
|
||||
var/obj/item/device/gps/internal/base/locator
|
||||
var/obj/item/gps/internal/base/locator
|
||||
circuit = /obj/item/circuitboard/computer/auxillary_base
|
||||
|
||||
/obj/machinery/computer/auxillary_base/Initialize()
|
||||
@@ -184,20 +184,19 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
return ZONE_SET
|
||||
|
||||
|
||||
/obj/item/device/assault_pod/mining
|
||||
/obj/item/assault_pod/mining
|
||||
name = "Landing Field Designator"
|
||||
icon_state = "gangtool-purple"
|
||||
item_state = "electronic"
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
icon = 'icons/obj/device.dmi'
|
||||
desc = "Deploy to designate the landing zone of the auxillary base."
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
shuttle_id = "colony_drop"
|
||||
var/setting = FALSE
|
||||
var/no_restrictions = FALSE //Badmin variable to let you drop the colony ANYWHERE.
|
||||
|
||||
/obj/item/device/assault_pod/mining/attack_self(mob/living/user)
|
||||
/obj/item/assault_pod/mining/attack_self(mob/living/user)
|
||||
if(setting)
|
||||
return
|
||||
|
||||
@@ -231,7 +230,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
if(BAD_TURF)
|
||||
to_chat(user, "<span class='warning'>The landing zone contains turfs unsuitable for a base. Make sure you've removed all walls and dangerous terrain from the landing zone.</span>")
|
||||
|
||||
/obj/item/device/assault_pod/mining/unrestricted
|
||||
/obj/item/assault_pod/mining/unrestricted
|
||||
name = "omni-locational landing field designator"
|
||||
desc = "Allows the deployment of the mining base ANYWHERE. Use with caution."
|
||||
no_restrictions = TRUE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
heat_protection = CHEST|GROIN|LEGS|ARMS
|
||||
hoodtype = /obj/item/clothing/head/hooded/explorer
|
||||
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50)
|
||||
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/hooded/explorer
|
||||
@@ -57,7 +57,7 @@
|
||||
resistance_flags = FIRE_PROOF | LAVA_PROOF
|
||||
slowdown = 0
|
||||
armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
|
||||
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
|
||||
|
||||
/obj/item/clothing/suit/space/hostile_environment/Initialize()
|
||||
. = ..()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**********************Mining Scanners**********************/
|
||||
/obj/item/device/mining_scanner
|
||||
/obj/item/mining_scanner
|
||||
desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations."
|
||||
name = "manual mining scanner"
|
||||
icon_state = "mining1"
|
||||
@@ -12,7 +12,7 @@
|
||||
var/cooldown = 35
|
||||
var/current_cooldown = 0
|
||||
|
||||
/obj/item/device/mining_scanner/attack_self(mob/user)
|
||||
/obj/item/mining_scanner/attack_self(mob/user)
|
||||
if(!user.client)
|
||||
return
|
||||
if(current_cooldown <= world.time)
|
||||
@@ -20,15 +20,15 @@
|
||||
mineral_scan_pulse(get_turf(user))
|
||||
|
||||
//Debug item to identify all ore spread quickly
|
||||
/obj/item/device/mining_scanner/admin
|
||||
/obj/item/mining_scanner/admin
|
||||
|
||||
/obj/item/device/mining_scanner/admin/attack_self(mob/user)
|
||||
/obj/item/mining_scanner/admin/attack_self(mob/user)
|
||||
for(var/turf/closed/mineral/M in world)
|
||||
if(M.scan_state)
|
||||
M.icon_state = M.scan_state
|
||||
qdel(src)
|
||||
|
||||
/obj/item/device/t_scanner/adv_mining_scanner
|
||||
/obj/item/t_scanner/adv_mining_scanner
|
||||
desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. This one has an extended range."
|
||||
name = "advanced automatic mining scanner"
|
||||
icon_state = "mining0"
|
||||
@@ -42,13 +42,13 @@
|
||||
var/current_cooldown = 0
|
||||
var/range = 7
|
||||
|
||||
/obj/item/device/t_scanner/adv_mining_scanner/lesser
|
||||
/obj/item/t_scanner/adv_mining_scanner/lesser
|
||||
name = "automatic mining scanner"
|
||||
desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations."
|
||||
range = 4
|
||||
cooldown = 50
|
||||
|
||||
/obj/item/device/t_scanner/adv_mining_scanner/scan()
|
||||
/obj/item/t_scanner/adv_mining_scanner/scan()
|
||||
if(current_cooldown <= world.time)
|
||||
current_cooldown = world.time + cooldown
|
||||
var/turf/t = get_turf(src)
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
add_overlay("sleeper_cover")
|
||||
|
||||
//Computer
|
||||
/obj/item/device/gps/computer
|
||||
/obj/item/gps/computer
|
||||
name = "pod computer"
|
||||
icon_state = "pod_computer"
|
||||
icon = 'icons/obj/lavaland/pod_computer.dmi'
|
||||
@@ -147,18 +147,18 @@
|
||||
density = TRUE
|
||||
pixel_y = -32
|
||||
|
||||
/obj/item/device/gps/computer/wrench_act(mob/living/user, obj/item/I)
|
||||
/obj/item/gps/computer/wrench_act(mob/living/user, obj/item/I)
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
return TRUE
|
||||
|
||||
user.visible_message("<span class='warning'>[user] disassembles [src].</span>",
|
||||
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
|
||||
if(I.use_tool(src, user, 20, volume=50))
|
||||
new /obj/item/device/gps(loc)
|
||||
new /obj/item/gps(loc)
|
||||
qdel(src)
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/gps/computer/attack_hand(mob/user)
|
||||
/obj/item/gps/computer/attack_hand(mob/user)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
@@ -196,7 +196,7 @@
|
||||
var/obj/item/storage/pill_bottle/dice/D = new(src)
|
||||
load(D)
|
||||
else
|
||||
var/obj/item/device/instrument/guitar/G = new(src)
|
||||
var/obj/item/instrument/guitar/G = new(src)
|
||||
load(G)
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**********************Jaunter**********************/
|
||||
/obj/item/device/wormhole_jaunter
|
||||
/obj/item/wormhole_jaunter
|
||||
name = "wormhole jaunter"
|
||||
desc = "A single use device harnessing outdated wormhole technology, Nanotrasen has since turned its eyes to blue space for more accurate teleportation. The wormholes it creates are unpleasant to travel through, to say the least.\nThanks to modifications provided by the Free Golems, this jaunter can be worn on the belt to provide protection from chasms."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
@@ -13,29 +13,29 @@
|
||||
throw_range = 5
|
||||
slot_flags = SLOT_BELT
|
||||
|
||||
/obj/item/device/wormhole_jaunter/attack_self(mob/user)
|
||||
/obj/item/wormhole_jaunter/attack_self(mob/user)
|
||||
user.visible_message("<span class='notice'>[user.name] activates the [src.name]!</span>")
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "User") // user activated
|
||||
activate(user, TRUE)
|
||||
|
||||
/obj/item/device/wormhole_jaunter/proc/turf_check(mob/user)
|
||||
/obj/item/wormhole_jaunter/proc/turf_check(mob/user)
|
||||
var/turf/device_turf = get_turf(user)
|
||||
if(!device_turf || is_centcom_level(device_turf.z) || is_transit_level(device_turf.z))
|
||||
to_chat(user, "<span class='notice'>You're having difficulties getting the [src.name] to work.</span>")
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/wormhole_jaunter/proc/get_destinations(mob/user)
|
||||
/obj/item/wormhole_jaunter/proc/get_destinations(mob/user)
|
||||
var/list/destinations = list()
|
||||
|
||||
for(var/obj/item/device/beacon/B in GLOB.teleportbeacons)
|
||||
for(var/obj/item/beacon/B in GLOB.teleportbeacons)
|
||||
var/turf/T = get_turf(B)
|
||||
if(is_station_level(T.z))
|
||||
destinations += B
|
||||
|
||||
return destinations
|
||||
|
||||
/obj/item/device/wormhole_jaunter/proc/activate(mob/user, adjacent)
|
||||
/obj/item/wormhole_jaunter/proc/activate(mob/user, adjacent)
|
||||
if(!turf_check(user))
|
||||
return
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
playsound(src,'sound/effects/sparks4.ogg',50,1)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/device/wormhole_jaunter/emp_act(power)
|
||||
/obj/item/wormhole_jaunter/emp_act(power)
|
||||
var/triggered = FALSE
|
||||
|
||||
if(usr.get_item_by_slot(slot_belt) == src)
|
||||
@@ -64,7 +64,7 @@
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "EMP") // EMP accidental activation
|
||||
activate(usr)
|
||||
|
||||
/obj/item/device/wormhole_jaunter/proc/chasm_react(mob/user)
|
||||
/obj/item/wormhole_jaunter/proc/chasm_react(mob/user)
|
||||
if(user.get_item_by_slot(slot_belt) == src)
|
||||
to_chat(user, "Your [src] activates, saving you from the chasm!</span>")
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
var/obj/item/card/id/prisoner/inserted_id
|
||||
var/obj/machinery/door/airlock/release_door
|
||||
var/door_tag = "prisonshuttle"
|
||||
var/obj/item/device/radio/Radio //needed to send messages to sec radio
|
||||
var/obj/item/radio/Radio //needed to send messages to sec radio
|
||||
|
||||
|
||||
/obj/machinery/mineral/labor_claim_console/Initialize()
|
||||
. = ..()
|
||||
Radio = new/obj/item/device/radio(src)
|
||||
Radio = new/obj/item/radio(src)
|
||||
Radio.listening = FALSE
|
||||
locate_stacking_machine()
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
var/loot = rand(1,27)
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/item/device/shared_storage/red(src)
|
||||
new /obj/item/shared_storage/red(src)
|
||||
if(2)
|
||||
new /obj/item/clothing/suit/space/hardsuit/cult(src)
|
||||
if(3)
|
||||
new /obj/item/device/soulstone/anybody(src)
|
||||
new /obj/item/soulstone/anybody(src)
|
||||
if(4)
|
||||
new /obj/item/katana/cursed(src)
|
||||
if(5)
|
||||
@@ -54,11 +54,11 @@
|
||||
else
|
||||
new /obj/item/disk/design_disk/modkit_disc/bounty(src)
|
||||
if(18)
|
||||
new /obj/item/device/warp_cube/red(src)
|
||||
new /obj/item/warp_cube/red(src)
|
||||
if(19)
|
||||
new /obj/item/device/wisp_lantern(src)
|
||||
new /obj/item/wisp_lantern(src)
|
||||
if(20)
|
||||
new /obj/item/device/immortality_talisman(src)
|
||||
new /obj/item/immortality_talisman(src)
|
||||
if(21)
|
||||
new /obj/item/gun/magic/hook(src)
|
||||
if(22)
|
||||
@@ -193,7 +193,7 @@
|
||||
activated = TRUE
|
||||
|
||||
//Wisp Lantern
|
||||
/obj/item/device/wisp_lantern
|
||||
/obj/item/wisp_lantern
|
||||
name = "spooky lantern"
|
||||
desc = "This lantern gives off no light, but is home to a friendly wisp."
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
@@ -203,7 +203,7 @@
|
||||
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
|
||||
var/obj/effect/wisp/wisp
|
||||
|
||||
/obj/item/device/wisp_lantern/attack_self(mob/user)
|
||||
/obj/item/wisp_lantern/attack_self(mob/user)
|
||||
if(!wisp)
|
||||
to_chat(user, "<span class='warning'>The wisp has gone missing!</span>")
|
||||
return
|
||||
@@ -229,11 +229,11 @@
|
||||
icon_state = "lantern-blue"
|
||||
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned")
|
||||
|
||||
/obj/item/device/wisp_lantern/Initialize()
|
||||
/obj/item/wisp_lantern/Initialize()
|
||||
. = ..()
|
||||
wisp = new(src)
|
||||
|
||||
/obj/item/device/wisp_lantern/Destroy()
|
||||
/obj/item/wisp_lantern/Destroy()
|
||||
if(wisp)
|
||||
if(wisp.loc == src)
|
||||
qdel(wisp)
|
||||
@@ -250,16 +250,16 @@
|
||||
layer = ABOVE_ALL_MOB_LAYER
|
||||
|
||||
//Red/Blue Cubes
|
||||
/obj/item/device/warp_cube
|
||||
/obj/item/warp_cube
|
||||
name = "blue cube"
|
||||
desc = "A mysterious blue cube."
|
||||
icon = 'icons/obj/lavaland/artefacts.dmi'
|
||||
icon_state = "blue_cube"
|
||||
var/teleport_color = "#3FBAFD"
|
||||
var/obj/item/device/warp_cube/linked
|
||||
var/obj/item/warp_cube/linked
|
||||
var/teleporting = FALSE
|
||||
|
||||
/obj/item/device/warp_cube/attack_self(mob/user)
|
||||
/obj/item/warp_cube/attack_self(mob/user)
|
||||
if(!linked)
|
||||
to_chat(user, "[src] fizzles uselessly.")
|
||||
return
|
||||
@@ -292,16 +292,16 @@
|
||||
user.forceMove(get_turf(link_holder))
|
||||
qdel(link_holder)
|
||||
|
||||
/obj/item/device/warp_cube/red
|
||||
/obj/item/warp_cube/red
|
||||
name = "red cube"
|
||||
desc = "A mysterious red cube."
|
||||
icon_state = "red_cube"
|
||||
teleport_color = "#FD3F48"
|
||||
|
||||
/obj/item/device/warp_cube/red/Initialize()
|
||||
/obj/item/warp_cube/red/Initialize()
|
||||
. = ..()
|
||||
if(!linked)
|
||||
var/obj/item/device/warp_cube/blue = new(src.loc)
|
||||
var/obj/item/warp_cube/blue = new(src.loc)
|
||||
linked = blue
|
||||
blue.linked = src
|
||||
|
||||
@@ -367,7 +367,7 @@
|
||||
|
||||
|
||||
//Immortality Talisman
|
||||
/obj/item/device/immortality_talisman
|
||||
/obj/item/immortality_talisman
|
||||
name = "Immortality Talisman"
|
||||
desc = "A dread talisman that can render you completely invulnerable."
|
||||
icon = 'icons/obj/lavaland/artefacts.dmi'
|
||||
@@ -375,20 +375,20 @@
|
||||
actions_types = list(/datum/action/item_action/immortality)
|
||||
var/cooldown = 0
|
||||
|
||||
/obj/item/device/immortality_talisman/Initialize()
|
||||
/obj/item/immortality_talisman/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/anti_magic, TRUE, TRUE)
|
||||
|
||||
/datum/action/item_action/immortality
|
||||
name = "Immortality"
|
||||
|
||||
/obj/item/device/immortality_talisman/Destroy(force)
|
||||
/obj/item/immortality_talisman/Destroy(force)
|
||||
if(force)
|
||||
. = ..()
|
||||
else
|
||||
return QDEL_HINT_LETMELIVE
|
||||
|
||||
/obj/item/device/immortality_talisman/attack_self(mob/user)
|
||||
/obj/item/immortality_talisman/attack_self(mob/user)
|
||||
if(cooldown < world.time)
|
||||
SSblackbox.record_feedback("amount", "immortality_talisman_uses", 1)
|
||||
cooldown = world.time + 600
|
||||
@@ -402,7 +402,7 @@
|
||||
user.status_flags |= GODMODE
|
||||
addtimer(CALLBACK(src, .proc/return_to_reality, user, Z), 100)
|
||||
|
||||
/obj/item/device/immortality_talisman/proc/return_to_reality(mob/user, obj/effect/immortality_talisman/Z)
|
||||
/obj/item/immortality_talisman/proc/return_to_reality(mob/user, obj/effect/immortality_talisman/Z)
|
||||
user.status_flags &= ~GODMODE
|
||||
user.notransform = 0
|
||||
user.forceMove(get_turf(Z))
|
||||
@@ -433,7 +433,7 @@
|
||||
|
||||
//Shared Bag
|
||||
|
||||
/obj/item/device/shared_storage
|
||||
/obj/item/shared_storage
|
||||
name = "paradox bag"
|
||||
desc = "Somehow, it's in two places at once."
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
@@ -441,19 +441,19 @@
|
||||
slot_flags = SLOT_BACK
|
||||
resistance_flags = INDESTRUCTIBLE
|
||||
|
||||
/obj/item/device/shared_storage/red
|
||||
/obj/item/shared_storage/red
|
||||
name = "paradox bag"
|
||||
desc = "Somehow, it's in two places at once."
|
||||
|
||||
/obj/item/device/shared_storage/red/Initialize()
|
||||
/obj/item/shared_storage/red/Initialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = AddComponent(/datum/component/storage/concrete)
|
||||
STR.max_w_class = WEIGHT_CLASS_NORMAL
|
||||
STR.max_combined_w_class = 60
|
||||
STR.max_items = 21
|
||||
new /obj/item/device/shared_storage/blue(drop_location(), STR)
|
||||
new /obj/item/shared_storage/blue(drop_location(), STR)
|
||||
|
||||
/obj/item/device/shared_storage/blue/Initialize(mapload, datum/component/storage/concrete/master)
|
||||
/obj/item/shared_storage/blue/Initialize(mapload, datum/component/storage/concrete/master)
|
||||
. = ..()
|
||||
if(!istype(master))
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
/obj/machinery/mineral/processing_unit/Initialize()
|
||||
. = ..()
|
||||
proximity_monitor = new(src, 1)
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), INFINITY)
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, FALSE, list(/obj/item/stack))
|
||||
stored_research = new /datum/techweb/specialized/autounlocking/smelter
|
||||
|
||||
/obj/machinery/mineral/processing_unit/Destroy()
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE),INFINITY)
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE),INFINITY, FALSE, list(/obj/item/stack))
|
||||
stored_research = new /datum/techweb/specialized/autounlocking/smelter
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/Destroy()
|
||||
@@ -148,8 +148,6 @@
|
||||
send_console_message()
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/attackby(obj/item/W, mob/user, params)
|
||||
if(exchange_parts(user, W))
|
||||
return
|
||||
GET_COMPONENT(materials, /datum/component/material_container)
|
||||
if(default_pry_open(W))
|
||||
materials.retrieve_all()
|
||||
@@ -173,7 +171,7 @@
|
||||
interact(user)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/device/multitool) && panel_open)
|
||||
if(istype(W, /obj/item/multitool) && panel_open)
|
||||
input_dir = turn(input_dir, -90)
|
||||
output_dir = turn(output_dir, -90)
|
||||
to_chat(user, "<span class='notice'>You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)].</span>")
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
new /datum/data/mining_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, 100),
|
||||
new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
|
||||
new /datum/data/mining_equipment("Soap", /obj/item/soap/nanotrasen, 200),
|
||||
new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 300),
|
||||
new /datum/data/mining_equipment("Laser Pointer", /obj/item/laser_pointer, 300),
|
||||
new /datum/data/mining_equipment("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 300),
|
||||
new /datum/data/mining_equipment("Advanced Scanner", /obj/item/device/t_scanner/adv_mining_scanner, 800),
|
||||
new /datum/data/mining_equipment("Advanced Scanner", /obj/item/t_scanner/adv_mining_scanner, 800),
|
||||
new /datum/data/mining_equipment("Stabilizing Serum", /obj/item/hivelordstabilizer, 400),
|
||||
new /datum/data/mining_equipment("Fulton Beacon", /obj/item/fulton_core, 400),
|
||||
new /datum/data/mining_equipment("Shelter Capsule", /obj/item/survivalcapsule, 400),
|
||||
@@ -30,7 +30,7 @@
|
||||
new /datum/data/mining_equipment("Survival Medipen", /obj/item/reagent_containers/hypospray/medipen/survival, 500),
|
||||
new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/storage/firstaid/brute, 600),
|
||||
new /datum/data/mining_equipment("Tracking Implant Kit", /obj/item/storage/box/minertracker, 600),
|
||||
new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 750),
|
||||
new /datum/data/mining_equipment("Jaunter", /obj/item/wormhole_jaunter, 750),
|
||||
new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/twohanded/required/kinetic_crusher, 750),
|
||||
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/gun/energy/kinetic_accelerator, 750),
|
||||
new /datum/data/mining_equipment("Resonator", /obj/item/resonator, 800),
|
||||
@@ -46,8 +46,8 @@
|
||||
new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500),
|
||||
new /datum/data/mining_equipment("Luxury Shelter Capsule", /obj/item/survivalcapsule/luxury, 3000),
|
||||
new /datum/data/mining_equipment("Nanotrasen Minebot", /mob/living/simple_animal/hostile/mining_drone, 800),
|
||||
new /datum/data/mining_equipment("Minebot Melee Upgrade", /obj/item/device/mine_bot_upgrade, 400),
|
||||
new /datum/data/mining_equipment("Minebot Armor Upgrade", /obj/item/device/mine_bot_upgrade/health, 400),
|
||||
new /datum/data/mining_equipment("Minebot Melee Upgrade", /obj/item/mine_bot_upgrade, 400),
|
||||
new /datum/data/mining_equipment("Minebot Armor Upgrade", /obj/item/mine_bot_upgrade/health, 400),
|
||||
new /datum/data/mining_equipment("Minebot Cooldown Upgrade", /obj/item/borg/upgrade/modkit/cooldown/minebot, 600),
|
||||
new /datum/data/mining_equipment("Minebot AI Upgrade", /obj/item/slimepotion/slime/sentience/mining, 1000),
|
||||
new /datum/data/mining_equipment("KA Minebot Passthrough", /obj/item/borg/upgrade/modkit/minebot_passthrough, 100),
|
||||
@@ -173,7 +173,7 @@
|
||||
new /obj/item/storage/belt/mining/vendor(drop_location)
|
||||
if("Resonator Kit")
|
||||
new /obj/item/storage/belt/mining/alt(drop_location)
|
||||
new /obj/item/device/t_scanner/adv_mining_scanner(drop_location)
|
||||
new /obj/item/t_scanner/adv_mining_scanner(drop_location)
|
||||
new /obj/item/extinguisher/mini(drop_location)
|
||||
new /obj/item/resonator(drop_location)
|
||||
if("Minebot Kit")
|
||||
@@ -187,7 +187,7 @@
|
||||
new /obj/item/stack/marker_beacon/thirty(drop_location)
|
||||
if("Crusher Kit")
|
||||
new /obj/item/storage/belt/mining/alt(drop_location)
|
||||
new /obj/item/device/t_scanner/adv_mining_scanner(drop_location)
|
||||
new /obj/item/t_scanner/adv_mining_scanner(drop_location)
|
||||
new /obj/item/extinguisher/mini(drop_location)
|
||||
new /obj/item/twohanded/required/kinetic_crusher(drop_location)
|
||||
if("Mining Conscription Kit")
|
||||
@@ -281,9 +281,9 @@
|
||||
/obj/item/storage/backpack/duffelbag/mining_conscript/PopulateContents()
|
||||
new /obj/item/pickaxe/mini(src)
|
||||
new /obj/item/clothing/glasses/meson(src)
|
||||
new /obj/item/device/t_scanner/adv_mining_scanner/lesser(src)
|
||||
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
|
||||
new /obj/item/storage/bag/ore(src)
|
||||
new /obj/item/clothing/suit/hooded/explorer(src)
|
||||
new /obj/item/device/encryptionkey/headset_cargo(src)
|
||||
new /obj/item/encryptionkey/headset_cargo(src)
|
||||
new /obj/item/clothing/mask/gas/explorer(src)
|
||||
new /obj/item/card/mining_access_card(src)
|
||||
|
||||
@@ -52,15 +52,15 @@
|
||||
new /obj/item/storage/box/emptysandbags(src)
|
||||
new /obj/item/shovel(src)
|
||||
new /obj/item/pickaxe/mini(src)
|
||||
new /obj/item/device/radio/headset/headset_cargo/mining(src)
|
||||
new /obj/item/device/flashlight/seclite(src)
|
||||
new /obj/item/radio/headset/headset_cargo/mining(src)
|
||||
new /obj/item/flashlight/seclite(src)
|
||||
new /obj/item/storage/bag/plants(src)
|
||||
new /obj/item/storage/bag/ore(src)
|
||||
new /obj/item/device/t_scanner/adv_mining_scanner/lesser(src)
|
||||
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
|
||||
new /obj/item/gun/energy/kinetic_accelerator(src)
|
||||
new /obj/item/clothing/glasses/meson(src)
|
||||
new /obj/item/survivalcapsule(src)
|
||||
new /obj/item/device/assault_pod/mining(src)
|
||||
new /obj/item/assault_pod/mining(src)
|
||||
|
||||
|
||||
/**********************Shuttle Computer**************************/
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
to_chat(user, "<span class='info'>You repair some of the armor on [src].</span>")
|
||||
|
||||
/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner))
|
||||
if(istype(I, /obj/item/mining_scanner) || istype(I, /obj/item/t_scanner/adv_mining_scanner))
|
||||
to_chat(user, "<span class='info'>You instruct [src] to drop any collected ore.</span>")
|
||||
DropOre()
|
||||
return
|
||||
@@ -263,18 +263,18 @@
|
||||
|
||||
//Melee
|
||||
|
||||
/obj/item/device/mine_bot_upgrade
|
||||
/obj/item/mine_bot_upgrade
|
||||
name = "minebot melee upgrade"
|
||||
desc = "A minebot upgrade."
|
||||
icon_state = "door_electronics"
|
||||
icon = 'icons/obj/module.dmi'
|
||||
|
||||
/obj/item/device/mine_bot_upgrade/afterattack(mob/living/simple_animal/hostile/mining_drone/M, mob/user, proximity)
|
||||
/obj/item/mine_bot_upgrade/afterattack(mob/living/simple_animal/hostile/mining_drone/M, mob/user, proximity)
|
||||
if(!istype(M) || !proximity)
|
||||
return
|
||||
upgrade_bot(M, user)
|
||||
|
||||
/obj/item/device/mine_bot_upgrade/proc/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/M, mob/user)
|
||||
/obj/item/mine_bot_upgrade/proc/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/M, mob/user)
|
||||
if(M.melee_damage_upper != initial(M.melee_damage_upper))
|
||||
to_chat(user, "[src] already has a combat upgrade installed!")
|
||||
return
|
||||
@@ -284,10 +284,10 @@
|
||||
|
||||
//Health
|
||||
|
||||
/obj/item/device/mine_bot_upgrade/health
|
||||
/obj/item/mine_bot_upgrade/health
|
||||
name = "minebot armor upgrade"
|
||||
|
||||
/obj/item/device/mine_bot_upgrade/health/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/M, mob/user)
|
||||
/obj/item/mine_bot_upgrade/health/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/M, mob/user)
|
||||
if(M.maxHealth != initial(M.maxHealth))
|
||||
to_chat(user, "[src] already has reinforced armor!")
|
||||
return
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/obj/machinery/mineral/mint/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 50)
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 50, FALSE, list(/obj/item/stack))
|
||||
|
||||
/obj/machinery/mineral/mint/process()
|
||||
var/turf/T = get_step(src, input_dir)
|
||||
|
||||
@@ -118,6 +118,11 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
to_chat(C, "<span class='userdanger'>\The [src] gets into your eyes! The pain, it burns!</span>")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/stack/ore/glass/ex_act(severity, target)
|
||||
if (severity == EXPLODE_NONE)
|
||||
return
|
||||
qdel(src)
|
||||
|
||||
/obj/item/stack/ore/glass/basalt
|
||||
name = "volcanic ash"
|
||||
icon_state = "volcanic_sand"
|
||||
@@ -210,7 +215,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
return ..()
|
||||
|
||||
/obj/item/twohanded/required/gibtonite/attackby(obj/item/I, mob/user, params)
|
||||
if(!wires && istype(I, /obj/item/device/assembly/igniter))
|
||||
if(!wires && istype(I, /obj/item/assembly/igniter))
|
||||
user.visible_message("[user] attaches [I] to [src].", "<span class='notice'>You attach [I] to [src].</span>")
|
||||
wires = new /datum/wires/explosive/gibtonite(src)
|
||||
attacher = key_name(user)
|
||||
@@ -227,7 +232,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
GibtoniteReaction(user)
|
||||
return
|
||||
if(primed)
|
||||
if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner) || istype(I, /obj/item/device/multitool))
|
||||
if(istype(I, /obj/item/mining_scanner) || istype(I, /obj/item/t_scanner/adv_mining_scanner) || istype(I, /obj/item/multitool))
|
||||
primed = FALSE
|
||||
if(det_timer)
|
||||
deltimer(det_timer)
|
||||
@@ -300,10 +305,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
return
|
||||
qdel(src)
|
||||
|
||||
/obj/item/ore/stack/glass/ex_act(severity, target)
|
||||
if (severity == EXPLODE_NONE)
|
||||
return
|
||||
qdel(src)
|
||||
|
||||
/*****************************Coin********************************/
|
||||
|
||||
@@ -368,7 +369,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
value = 20
|
||||
materials = list(MAT_SILVER = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
grind_results = list("silver" = 4)
|
||||
|
||||
|
||||
/obj/item/coin/diamond
|
||||
name = "diamond coin"
|
||||
cmineral = "diamond"
|
||||
|
||||
Reference in New Issue
Block a user