mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Tool overhaul (usesound & toolspeed), wire descriptions/ghost interaction, add additional tools, refactor can(t)_hold
This commit is contained in:
@@ -35,7 +35,7 @@
|
||||
/obj/item/weapon/storage/box/nanomob_booster_pack
|
||||
name = "Nano-Mob Hunter Trading Card Booster Pack"
|
||||
desc = "Contains 6 random Nano-Mob Hunter Trading Cards. May contain a holographic card!"
|
||||
can_hold = list("/obj/item/weapon/nanomob_card")
|
||||
can_hold = list(/obj/item/weapon/nanomob_card)
|
||||
|
||||
/obj/item/weapon/storage/box/nanomob_booster_pack/New()
|
||||
..()
|
||||
|
||||
@@ -103,8 +103,7 @@
|
||||
/obj/item/clothing/accessory/storage/knifeharness/New()
|
||||
..()
|
||||
hold.max_combined_w_class = 4
|
||||
hold.can_hold = list("/obj/item/weapon/hatchet/unathiknife",\
|
||||
"/obj/item/weapon/kitchen/knife")
|
||||
hold.can_hold = list(/obj/item/weapon/hatchet/unathiknife, /obj/item/weapon/kitchen/knife)
|
||||
|
||||
new /obj/item/weapon/hatchet/unathiknife(hold)
|
||||
new /obj/item/weapon/hatchet/unathiknife(hold)
|
||||
@@ -720,7 +720,7 @@
|
||||
icon_state = "implant"
|
||||
max_w_class = 3
|
||||
storage_slots = 2
|
||||
can_hold = list("/obj/item/weapon/mining_drone_cube","/obj/item/weapon/weldingtool/hugetank")
|
||||
can_hold = list(/obj/item/weapon/mining_drone_cube, /obj/item/weapon/weldingtool/hugetank)
|
||||
|
||||
/obj/item/weapon/storage/box/drone_kit/New()
|
||||
..()
|
||||
|
||||
@@ -192,8 +192,12 @@
|
||||
quality = 1
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/twohanded/required/gibtonite/attack_ghost(mob/user)
|
||||
if(wires)
|
||||
wires.Interact(user)
|
||||
|
||||
/obj/item/weapon/twohanded/required/gibtonite/attack_self(user)
|
||||
/obj/item/weapon/twohanded/required/gibtonite/attack_self(mob/user)
|
||||
if(wires)
|
||||
wires.Interact(user)
|
||||
else
|
||||
|
||||
@@ -44,6 +44,10 @@
|
||||
// /obj/item/weapon/paper_bundle,
|
||||
/obj/item/weapon/card/id
|
||||
)
|
||||
|
||||
/obj/item/weapon/gripper/New()
|
||||
..()
|
||||
can_hold = typecacheof(can_hold)
|
||||
|
||||
/obj/item/weapon/gripper/attack_self(mob/user as mob)
|
||||
if(wrapped)
|
||||
@@ -118,10 +122,9 @@
|
||||
|
||||
//Check if the item is blacklisted.
|
||||
var/grab = 0
|
||||
for(var/typepath in can_hold)
|
||||
if(istype(I,typepath))
|
||||
if(can_hold.len)
|
||||
if(is_type_in_typecache(I, can_hold))
|
||||
grab = 1
|
||||
break
|
||||
|
||||
//We can grab the item, finally.
|
||||
if(grab)
|
||||
|
||||
@@ -945,9 +945,11 @@ var/list/robot_verbs_default = list(
|
||||
adjustStaminaLoss(damage)
|
||||
updatehealth()
|
||||
|
||||
/mob/living/silicon/robot/attack_ghost(mob/user)
|
||||
if(wiresexposed)
|
||||
wires.Interact(user)
|
||||
|
||||
/mob/living/silicon/robot/attack_hand(mob/user)
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
if(opened && !wiresexposed && (!istype(user, /mob/living/silicon)))
|
||||
|
||||
@@ -311,7 +311,7 @@
|
||||
else
|
||||
dat += "<A href='?src=[UID()];op=cellinsert'>Removed</A><BR>"
|
||||
|
||||
wires.ui_interact(user)
|
||||
wires.Interact(user)
|
||||
else
|
||||
dat += "<div class='notice'>The bot is in maintenance mode and cannot be controlled.</div><BR>"
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "album"
|
||||
item_state = "briefcase"
|
||||
can_hold = list("/obj/item/weapon/photo")
|
||||
can_hold = list(/obj/item/weapon/photo)
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/storage/photo_album/MouseDrop(obj/over_object as obj)
|
||||
|
||||
@@ -745,16 +745,16 @@
|
||||
beenhit += 1
|
||||
return
|
||||
|
||||
/obj/machinery/power/apc/attack_ghost(user as mob)
|
||||
if(stat & (BROKEN|MAINT))
|
||||
return
|
||||
/obj/machinery/power/apc/attack_ghost(mob/user)
|
||||
if(wiresexposed)
|
||||
wires.Interact(user)
|
||||
return ui_interact(user)
|
||||
|
||||
/obj/machinery/power/apc/interact(mob/user)
|
||||
if(!user)
|
||||
return
|
||||
|
||||
if(wiresexposed /*&& (!istype(user, /mob/living/silicon))*/) //Commented out the typecheck to allow engiborgs to repair damaged apcs.
|
||||
if(wiresexposed)
|
||||
wires.Interact(user)
|
||||
|
||||
return ui_interact(user)
|
||||
|
||||
@@ -189,4 +189,85 @@
|
||||
build_type = PROTOLATHE
|
||||
materials = list("$metal" = 200, "$glass" = 200, "$uranium" = 1000, "$plasma" = 200)
|
||||
build_path = /obj/item/clothing/glasses/hud/hydroponic/night
|
||||
category = list("Equipment")
|
||||
|
||||
|
||||
/datum/design/handdrill
|
||||
name = "Hand Drill"
|
||||
desc = "A small electric hand drill with an interchangable screwdriver and bolt bit"
|
||||
id = "handdrill"
|
||||
req_tech = list("materials" = 4, "engineering" = 6)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 3500, MAT_SILVER = 1500, MAT_TITANIUM = 2500)
|
||||
build_path = /obj/item/weapon/screwdriver/power
|
||||
category = list("Equipment")
|
||||
|
||||
/datum/design/jawsoflife
|
||||
name = "Jaws of Life"
|
||||
desc = "A small, compact Jaws of Life with an interchangable pry jaws and cutting jaws"
|
||||
id = "jawsoflife"
|
||||
req_tech = list("materials" = 4, "engineering" = 6, "magnets" = 6) // added one more requirment since the Jaws of Life are a bit OP
|
||||
build_path = /obj/item/weapon/crowbar/power
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 4500, MAT_SILVER = 2500, MAT_TITANIUM = 3500)
|
||||
category = list("Equipment")
|
||||
|
||||
/datum/design/alienwrench
|
||||
name = "Alien Wrench"
|
||||
desc = "An advanced wrench obtained through Abductor technology."
|
||||
id = "alien_wrench"
|
||||
req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
|
||||
build_path = /obj/item/weapon/wrench/abductor
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
|
||||
category = list("Equipment")
|
||||
|
||||
/datum/design/alienwirecutters
|
||||
name = "Alien Wirecutters"
|
||||
desc = "Advanced wirecutters obtained through Abductor technology."
|
||||
id = "alien_wirecutters"
|
||||
req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
|
||||
build_path = /obj/item/weapon/wirecutters/abductor
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
|
||||
category = list("Equipment")
|
||||
|
||||
/datum/design/alienscrewdriver
|
||||
name = "Alien Screwdriver"
|
||||
desc = "An advanced screwdriver obtained through Abductor technology."
|
||||
id = "alien_screwdriver"
|
||||
req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
|
||||
build_path = /obj/item/weapon/screwdriver/abductor
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
|
||||
category = list("Equipment")
|
||||
|
||||
/datum/design/aliencrowbar
|
||||
name = "Alien Crowbar"
|
||||
desc = "An advanced crowbar obtained through Abductor technology."
|
||||
id = "alien_crowbar"
|
||||
req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
|
||||
build_path = /obj/item/weapon/crowbar/abductor
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
|
||||
category = list("Equipment")
|
||||
|
||||
/datum/design/alienwelder
|
||||
name = "Alien Welding Tool"
|
||||
desc = "An advanced welding tool obtained through Abductor technology."
|
||||
id = "alien_welder"
|
||||
req_tech = list("engineering" = 5, "plasmatech" = 5, "abductor" = 4)
|
||||
build_path = /obj/item/weapon/weldingtool/abductor
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_DIAMOND = 2000)
|
||||
category = list("Equipment")
|
||||
|
||||
/datum/design/alienmultitool
|
||||
name = "Alien Multitool"
|
||||
desc = "An advanced multitool obtained through Abductor technology."
|
||||
id = "alien_multitool"
|
||||
req_tech = list("engineering" = 5, "programming" = 5, "abductor" = 4)
|
||||
build_path = /obj/item/device/multitool/abductor
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_DIAMOND = 2000)
|
||||
category = list("Equipment")
|
||||
@@ -197,7 +197,67 @@
|
||||
materials = list (MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000, MAT_DIAMOND = 1000)
|
||||
build_path = /obj/item/weapon/scalpel/manager
|
||||
category = list("Medical")
|
||||
|
||||
|
||||
/datum/design/alienscalpel
|
||||
name = "Alien Scalpel"
|
||||
desc = "An advanced scalpel obtained through Abductor technology."
|
||||
id = "alien_scalpel"
|
||||
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
|
||||
build_path = /obj/item/weapon/scalpel/alien
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500)
|
||||
category = list("Medical Designs")
|
||||
|
||||
/datum/design/alienhemostat
|
||||
name = "Alien Hemostat"
|
||||
desc = "An advanced hemostat obtained through Abductor technology."
|
||||
id = "alien_hemostat"
|
||||
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
|
||||
build_path = /obj/item/weapon/hemostat/alien
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500)
|
||||
category = list("Medical Designs")
|
||||
|
||||
/datum/design/alienretractor
|
||||
name = "Alien Retractor"
|
||||
desc = "An advanced retractor obtained through Abductor technology."
|
||||
id = "alien_retractor"
|
||||
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
|
||||
build_path = /obj/item/weapon/retractor/alien
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500)
|
||||
category = list("Medical Designs")
|
||||
|
||||
/datum/design/aliensaw
|
||||
name = "Alien Circular Saw"
|
||||
desc = "An advanced surgical saw obtained through Abductor technology."
|
||||
id = "alien_saw"
|
||||
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
|
||||
build_path = /obj/item/weapon/circular_saw/alien
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000)
|
||||
category = list("Medical Designs")
|
||||
|
||||
/datum/design/aliendrill
|
||||
name = "Alien Drill"
|
||||
desc = "An advanced drill obtained through Abductor technology."
|
||||
id = "alien_drill"
|
||||
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
|
||||
build_path = /obj/item/weapon/surgicaldrill/alien
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000)
|
||||
category = list("Medical Designs")
|
||||
|
||||
/datum/design/aliencautery
|
||||
name = "Alien Cautery"
|
||||
desc = "An advanced cautery obtained through Abductor technology."
|
||||
id = "alien_cautery"
|
||||
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
|
||||
build_path = /obj/item/weapon/cautery/alien
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500)
|
||||
category = list("Medical Designs")
|
||||
|
||||
/////////////////////////////////////////
|
||||
//////////Cybernetic Implants////////////
|
||||
|
||||
@@ -5,24 +5,24 @@
|
||||
icon_state = "gearbelt"
|
||||
item_state = "utility"
|
||||
can_hold = list(
|
||||
"/obj/item/weapon/storage/box/samplebags",
|
||||
"/obj/item/device/core_sampler",
|
||||
"/obj/item/device/beacon_locator",
|
||||
"/obj/item/device/radio/beacon",
|
||||
"/obj/item/device/gps",
|
||||
"/obj/item/device/measuring_tape",
|
||||
"/obj/item/device/flashlight",
|
||||
"/obj/item/weapon/pickaxe",
|
||||
"/obj/item/device/depth_scanner",
|
||||
"/obj/item/device/camera",
|
||||
"/obj/item/weapon/paper",
|
||||
"/obj/item/weapon/photo",
|
||||
"/obj/item/weapon/folder",
|
||||
"/obj/item/weapon/pen",
|
||||
"/obj/item/weapon/folder",
|
||||
"/obj/item/weapon/clipboard",
|
||||
"/obj/item/weapon/anodevice",
|
||||
"/obj/item/clothing/glasses",
|
||||
"/obj/item/weapon/wrench",
|
||||
"/obj/item/weapon/storage/box/excavation",
|
||||
"/obj/item/weapon/anobattery")
|
||||
/obj/item/weapon/storage/box/samplebags,
|
||||
/obj/item/device/core_sampler,
|
||||
/obj/item/device/beacon_locator,
|
||||
/obj/item/device/radio/beacon,
|
||||
/obj/item/device/gps,
|
||||
/obj/item/device/measuring_tape,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/weapon/pickaxe,
|
||||
/obj/item/device/depth_scanner,
|
||||
/obj/item/device/camera,
|
||||
/obj/item/weapon/paper,
|
||||
/obj/item/weapon/photo,
|
||||
/obj/item/weapon/folder,
|
||||
/obj/item/weapon/pen,
|
||||
/obj/item/weapon/folder,
|
||||
/obj/item/weapon/clipboard,
|
||||
/obj/item/weapon/anodevice,
|
||||
/obj/item/clothing/glasses,
|
||||
/obj/item/weapon/wrench,
|
||||
/obj/item/weapon/storage/box/excavation,
|
||||
/obj/item/weapon/anobattery)
|
||||
|
||||
@@ -21,4 +21,4 @@
|
||||
storage_slots = 50
|
||||
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class
|
||||
max_w_class = 3
|
||||
can_hold = list("/obj/item/weapon/fossil")
|
||||
can_hold = list(/obj/item/weapon/fossil)
|
||||
|
||||
@@ -126,13 +126,13 @@
|
||||
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
||||
storage_slots = 7
|
||||
w_class = 2
|
||||
can_hold = list("/obj/item/weapon/pickaxe/brush",\
|
||||
"/obj/item/weapon/pickaxe/one_pick",\
|
||||
"/obj/item/weapon/pickaxe/two_pick",\
|
||||
"/obj/item/weapon/pickaxe/three_pick",\
|
||||
"/obj/item/weapon/pickaxe/four_pick",\
|
||||
"/obj/item/weapon/pickaxe/five_pick",\
|
||||
"/obj/item/weapon/pickaxe/six_pick")
|
||||
can_hold = list(/obj/item/weapon/pickaxe/brush,\
|
||||
/obj/item/weapon/pickaxe/one_pick,\
|
||||
/obj/item/weapon/pickaxe/two_pick,\
|
||||
/obj/item/weapon/pickaxe/three_pick,\
|
||||
/obj/item/weapon/pickaxe/four_pick,\
|
||||
/obj/item/weapon/pickaxe/five_pick,\
|
||||
/obj/item/weapon/pickaxe/six_pick)
|
||||
max_combined_w_class = 17
|
||||
max_w_class = 4
|
||||
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
ui.open()
|
||||
ui.set_auto_update(1)
|
||||
|
||||
/obj/machinery/computer/bsa_control/ui_data(mob/user, ui_key = "main", datum/topic_state/state = physical_state)
|
||||
/obj/machinery/computer/bsa_control/ui_data(mob/user, ui_key = "main", datum/topic_state/state = default_state)
|
||||
var/list/data = list()
|
||||
data["connected"] = cannon
|
||||
data["notice"] = notice
|
||||
|
||||
@@ -211,7 +211,7 @@ var/list/non_simple_animals = typecacheof(list(/mob/living/carbon/human/monkey,/
|
||||
L += pick_n_take(possible_powers)
|
||||
power_lottery[user] = L
|
||||
|
||||
/obj/machinery/dna_vault/ui_data(mob/user, ui_key = "main", datum/topic_state/state = physical_state) //TODO Make it % bars maybe
|
||||
/obj/machinery/dna_vault/ui_data(mob/user, ui_key = "main", datum/topic_state/state = default_state) //TODO Make it % bars maybe
|
||||
var/list/data = list()
|
||||
data["plants"] = plants.len
|
||||
data["plants_max"] = plants_max
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
if(S.id == id && atoms_share_level(src, S))
|
||||
S.toggle()
|
||||
|
||||
/obj/machinery/computer/sat_control/ui_data(mob/user, ui_key = "main", datum/topic_state/state = physical_state)
|
||||
/obj/machinery/computer/sat_control/ui_data(mob/user, ui_key = "main", datum/topic_state/state = default_state)
|
||||
var/list/data = list()
|
||||
|
||||
data["satellites"] = list()
|
||||
|
||||
Reference in New Issue
Block a user