mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Updates to science
Protolathe and CI build procs moved to them from RD console. Protolathe and CI now have a build queue. Designs take varying time to build. P and CI material storage is now a list instead of a set of vars. origin_tech is now a list. All sheets now contain exactly 2000 units of matter. In design datum, chemicals and materials are two separate lists. Designs are now sorted. The method is kinda hacky but flexible. They have a var, sort_string. Designs are sorted alphabetically using it. Circuits how show whether they build a machine or a computer in CI menu. Adds item construction, for now protolathe is used.
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
#include "code\__HELPERS\type2type.dm"
|
||||
#include "code\__HELPERS\unsorted.dm"
|
||||
#include "code\__HELPERS\vector.dm"
|
||||
#include "code\_defines\research.dm"
|
||||
#include "code\_onclick\adjacent.dm"
|
||||
#include "code\_onclick\ai.dm"
|
||||
#include "code\_onclick\click.dm"
|
||||
@@ -1436,7 +1437,9 @@
|
||||
#include "code\modules\recycling\disposal-construction.dm"
|
||||
#include "code\modules\recycling\disposal.dm"
|
||||
#include "code\modules\recycling\sortingmachinery.dm"
|
||||
#include "code\modules\research\assembly.dm"
|
||||
#include "code\modules\research\circuitprinter.dm"
|
||||
#include "code\modules\research\designs-chassis.dm"
|
||||
#include "code\modules\research\designs.dm"
|
||||
#include "code\modules\research\destructive_analyzer.dm"
|
||||
#include "code\modules\research\message_server.dm"
|
||||
|
||||
18
code/_defines/research.dm
Normal file
18
code/_defines/research.dm
Normal file
@@ -0,0 +1,18 @@
|
||||
#define SHEET_MATERIAL_AMOUNT 2000
|
||||
|
||||
#define TECH_MATERIAL "materials"
|
||||
#define TECH_ENGINERING "engineering"
|
||||
#define TECH_PHORON "phorontech"
|
||||
#define TECH_POWER "powerstorage"
|
||||
#define TECH_BLUESPACE "bluespace"
|
||||
#define TECH_BIO "biotech"
|
||||
#define TECH_COMBAT "combat"
|
||||
#define TECH_MAGNET "magnets"
|
||||
#define TECH_DATA "programming"
|
||||
#define TECH_ILLEGAL "syndicate"
|
||||
#define TECH_ARCANE "arcane"
|
||||
|
||||
#define IMPRINTER 1 //For circuits. Uses glass/chemicals.
|
||||
#define PROTOLATHE 2 //New stuff. Uses glass/metal/chemicals
|
||||
#define MECHFAB 4 //Remember, objects utilising this flag should have construction_time and construction_cost vars.
|
||||
#define CHASSIS 8 //For protolathe, but differently
|
||||
@@ -169,7 +169,7 @@
|
||||
flags = CONDUCT
|
||||
throwforce = 0
|
||||
w_class = 3.0
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
var/breakouttime = 300 //Deciseconds = 30s = 0.5 minute
|
||||
|
||||
/obj/item/weapon/legcuffs/beartrap
|
||||
@@ -249,7 +249,7 @@
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
matter = list("metal" = 100
|
||||
origin_tech = "magnets=2;syndicate=3"*/
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 3)*/
|
||||
|
||||
/obj/item/weapon/SWF_uplink
|
||||
name = "station-bounced radio"
|
||||
@@ -269,7 +269,7 @@
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
matter = list("metal" = 100)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
|
||||
/obj/item/weapon/staff
|
||||
name = "wizards staff"
|
||||
@@ -411,7 +411,8 @@
|
||||
w_class = 1
|
||||
throwforce = 2
|
||||
var/cigarcount = 6
|
||||
flags = ONBELT */
|
||||
flags = ONBELT
|
||||
*/
|
||||
|
||||
/obj/item/weapon/pai_cable
|
||||
desc = "A flexible coated cable with a universal jack on one end."
|
||||
@@ -456,42 +457,42 @@
|
||||
name = "console screen"
|
||||
desc = "Used in the construction of computers and other devices with a interactive console."
|
||||
icon_state = "screen"
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
matter = list("glass" = 200)
|
||||
|
||||
/obj/item/weapon/stock_parts/capacitor
|
||||
name = "capacitor"
|
||||
desc = "A basic capacitor used in the construction of a variety of devices."
|
||||
icon_state = "capacitor"
|
||||
origin_tech = "powerstorage=1"
|
||||
matter = list("metal" = 50,"glass" = 50)
|
||||
origin_tech = list(TECH_POWER = 1)
|
||||
matter = list("metal" = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/stock_parts/scanning_module
|
||||
name = "scanning module"
|
||||
desc = "A compact, high resolution scanning module used in the construction of certain devices."
|
||||
icon_state = "scan_module"
|
||||
origin_tech = "magnets=1"
|
||||
matter = list("metal" = 50,"glass" = 20)
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
matter = list("metal" = 50, "glass" = 20)
|
||||
|
||||
/obj/item/weapon/stock_parts/manipulator
|
||||
name = "micro-manipulator"
|
||||
desc = "A tiny little manipulator used in the construction of certain devices."
|
||||
icon_state = "micro_mani"
|
||||
origin_tech = "materials=1;programming=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_DATA = 1)
|
||||
matter = list("metal" = 30)
|
||||
|
||||
/obj/item/weapon/stock_parts/micro_laser
|
||||
name = "micro-laser"
|
||||
desc = "A tiny laser used in certain devices."
|
||||
icon_state = "micro_laser"
|
||||
origin_tech = "magnets=1"
|
||||
matter = list("metal" = 10,"glass" = 20)
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
matter = list("metal" = 10, "glass" = 20)
|
||||
|
||||
/obj/item/weapon/stock_parts/matter_bin
|
||||
name = "matter bin"
|
||||
desc = "A container for hold compressed matter awaiting re-construction."
|
||||
icon_state = "matter_bin"
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
matter = list("metal" = 80)
|
||||
|
||||
//Rank 2
|
||||
@@ -499,7 +500,7 @@
|
||||
/obj/item/weapon/stock_parts/capacitor/adv
|
||||
name = "advanced capacitor"
|
||||
desc = "An advanced capacitor used in the construction of a variety of devices."
|
||||
origin_tech = "powerstorage=3"
|
||||
origin_tech = list(TECH_POWER = 3)
|
||||
rating = 2
|
||||
matter = list("metal" = 50,"glass" = 50)
|
||||
|
||||
@@ -507,7 +508,7 @@
|
||||
name = "advanced scanning module"
|
||||
desc = "A compact, high resolution scanning module used in the construction of certain devices."
|
||||
icon_state = "scan_module"
|
||||
origin_tech = "magnets=3"
|
||||
origin_tech = list(TECH_MAGNET = 3)
|
||||
rating = 2
|
||||
matter = list("metal" = 50,"glass" = 20)
|
||||
|
||||
@@ -515,7 +516,7 @@
|
||||
name = "nano-manipulator"
|
||||
desc = "A tiny little manipulator used in the construction of certain devices."
|
||||
icon_state = "nano_mani"
|
||||
origin_tech = "materials=3,programming=2"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_DATA = 2)
|
||||
rating = 2
|
||||
matter = list("metal" = 30)
|
||||
|
||||
@@ -523,7 +524,7 @@
|
||||
name = "high-power micro-laser"
|
||||
desc = "A tiny laser used in certain devices."
|
||||
icon_state = "high_micro_laser"
|
||||
origin_tech = "magnets=3"
|
||||
origin_tech = list(TECH_MAGNET = 3)
|
||||
rating = 2
|
||||
matter = list("metal" = 10,"glass" = 20)
|
||||
|
||||
@@ -531,7 +532,7 @@
|
||||
name = "advanced matter bin"
|
||||
desc = "A container for hold compressed matter awaiting re-construction."
|
||||
icon_state = "advanced_matter_bin"
|
||||
origin_tech = "materials=3"
|
||||
origin_tech = list(TECH_MATERIAL = 3)
|
||||
rating = 2
|
||||
matter = list("metal" = 80)
|
||||
|
||||
@@ -540,14 +541,14 @@
|
||||
/obj/item/weapon/stock_parts/capacitor/super
|
||||
name = "super capacitor"
|
||||
desc = "A super-high capacity capacitor used in the construction of a variety of devices."
|
||||
origin_tech = "powerstorage=5;materials=4"
|
||||
origin_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4)
|
||||
rating = 3
|
||||
matter = list("metal" = 50,"glass" = 50)
|
||||
|
||||
/obj/item/weapon/stock_parts/scanning_module/phasic
|
||||
name = "phasic scanning module"
|
||||
desc = "A compact, high resolution phasic scanning module used in the construction of certain devices."
|
||||
origin_tech = "magnets=5"
|
||||
origin_tech = list(TECH_MAGNET = 5)
|
||||
rating = 3
|
||||
matter = list("metal" = 50,"glass" = 20)
|
||||
|
||||
@@ -555,7 +556,7 @@
|
||||
name = "pico-manipulator"
|
||||
desc = "A tiny little manipulator used in the construction of certain devices."
|
||||
icon_state = "pico_mani"
|
||||
origin_tech = "materials=5,programming=2"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_DATA = 2)
|
||||
rating = 3
|
||||
matter = list("metal" = 30)
|
||||
|
||||
@@ -563,7 +564,7 @@
|
||||
name = "ultra-high-power micro-laser"
|
||||
icon_state = "ultra_high_micro_laser"
|
||||
desc = "A tiny laser used in certain devices."
|
||||
origin_tech = "magnets=5"
|
||||
origin_tech = list(TECH_MAGNET = 5)
|
||||
rating = 3
|
||||
matter = list("metal" = 10,"glass" = 20)
|
||||
|
||||
@@ -571,7 +572,7 @@
|
||||
name = "super matter bin"
|
||||
desc = "A container for hold compressed matter awaiting re-construction."
|
||||
icon_state = "super_matter_bin"
|
||||
origin_tech = "materials=5"
|
||||
origin_tech = list(TECH_MATERIAL = 5)
|
||||
rating = 3
|
||||
matter = list("metal" = 80)
|
||||
|
||||
@@ -581,49 +582,49 @@
|
||||
name = "subspace ansible"
|
||||
icon_state = "subspace_ansible"
|
||||
desc = "A compact module capable of sensing extradimensional activity."
|
||||
origin_tech = "programming=3;magnets=5;materials=4;bluespace=2"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 5 ,TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
|
||||
matter = list("metal" = 30,"glass" = 10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/filter
|
||||
name = "hyperwave filter"
|
||||
icon_state = "hyperwave_filter"
|
||||
desc = "A tiny device capable of filtering and converting super-intense radiowaves."
|
||||
origin_tech = "programming=4;magnets=2"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_MAGNET = 2)
|
||||
matter = list("metal" = 30,"glass" = 10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/amplifier
|
||||
name = "subspace amplifier"
|
||||
icon_state = "subspace_amplifier"
|
||||
desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
|
||||
origin_tech = "programming=3;magnets=4;materials=4;bluespace=2"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
|
||||
matter = list("metal" = 30,"glass" = 10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/treatment
|
||||
name = "subspace treatment disk"
|
||||
icon_state = "treatment_disk"
|
||||
desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves."
|
||||
origin_tech = "programming=3;magnets=2;materials=5;bluespace=2"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_MATERIAL = 5, TECH_BLUESPACE = 2)
|
||||
matter = list("metal" = 30,"glass" = 10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/analyzer
|
||||
name = "subspace wavelength analyzer"
|
||||
icon_state = "wavelength_analyzer"
|
||||
desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
|
||||
origin_tech = "programming=3;magnets=4;materials=4;bluespace=2"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MAGNETS = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
|
||||
matter = list("metal" = 30,"glass" = 10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/crystal
|
||||
name = "ansible crystal"
|
||||
icon_state = "ansible_crystal"
|
||||
desc = "A crystal made from pure glass used to transmit laser databursts to subspace."
|
||||
origin_tech = "magnets=4;materials=4;bluespace=2"
|
||||
origin_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
|
||||
matter = list("glass" = 50)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/transmitter
|
||||
name = "subspace transmitter"
|
||||
icon_state = "subspace_transmitter"
|
||||
desc = "A large piece of equipment used to open a window into the subspace dimension."
|
||||
origin_tech = "magnets=5;materials=5;bluespace=3"
|
||||
origin_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3)
|
||||
matter = list("metal" = 50)
|
||||
|
||||
/obj/item/weapon/ectoplasm
|
||||
@@ -638,4 +639,4 @@
|
||||
desc = "Instant research tool. For testing purposes only."
|
||||
icon = 'icons/obj/stock_parts.dmi'
|
||||
icon_state = "smes_coil"
|
||||
origin_tech = "materials=19;programming=19;magnets=19;powerstorage=19;bluespace=19;combat=19;biotech=19;syndicate=19;phorontech=19;engineering=19"
|
||||
origin_tech = list(TECH_MATERIAL = 19, TECH_ENGINERING = 19, TECH_PHORON = 19, TECH_POWER = 19, TECH_BLUESPACE = 19, TECH_BIO = 19, TECH_COMBAT = 19, TECH_MAGNET = 19, TECH_DATA = 19, TECH_ILLEGAL = 19, TECH_ARCANE = 19)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
icon = 'icons/obj/module.dmi'
|
||||
icon_state = "id_mod"
|
||||
item_state = "electronic"
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
var/id = null
|
||||
var/frequency = null
|
||||
var/build_path = null
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
w_class = 2.0
|
||||
|
||||
var/emagged = 0
|
||||
crit_fail = 0
|
||||
|
||||
// the computer that this device is attached to
|
||||
var/obj/machinery/computer3/computer
|
||||
|
||||
@@ -309,7 +309,6 @@
|
||||
proc/set_broken()
|
||||
icon_state = "computer_b"
|
||||
stat |= BROKEN
|
||||
crit_fail = 1
|
||||
if(program)
|
||||
program.error = BUSTED_ASS_COMPUTER
|
||||
if(os)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// If you overwrite this function, use the return value to make sure it succeeded
|
||||
//
|
||||
proc/copy(var/obj/item/part/computer/storage/dest)
|
||||
if(!computer || computer.crit_fail) return null
|
||||
if(!computer) return null
|
||||
if(drm)
|
||||
if(!computer.emagged)
|
||||
return null
|
||||
@@ -39,7 +39,7 @@
|
||||
// Returns null on failure even though the existing file doesn't go away
|
||||
//
|
||||
proc/move(var/obj/item/part/computer/storage/dest)
|
||||
if(!computer || computer.crit_fail) return null
|
||||
if(!computer) return null
|
||||
if(drm)
|
||||
if(!computer.emagged)
|
||||
return null
|
||||
@@ -55,7 +55,7 @@
|
||||
//
|
||||
|
||||
proc/edit()
|
||||
if(!computer || computer.crit_fail)
|
||||
if(!computer)
|
||||
return 0
|
||||
if(readonly && !computer.emagged)
|
||||
return 0 //
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
// Add a file to the hard drive, returns 0 if failed
|
||||
// forced is used when spawning files on a write-protect drive
|
||||
proc/addfile(var/datum/file/F,var/forced = 0)
|
||||
if(!F || crit_fail || (F in files))
|
||||
if(!F || (F in files))
|
||||
return 1
|
||||
if(writeprotect && !forced)
|
||||
return 0
|
||||
|
||||
@@ -31,9 +31,6 @@
|
||||
|
||||
/obj/machinery/constructable_frame/machine_frame
|
||||
attackby(obj/item/P as obj, mob/user as mob)
|
||||
if(P.crit_fail)
|
||||
user << "\red This part is faulty, you cannot add this to the machine!"
|
||||
return
|
||||
switch(state)
|
||||
if(1)
|
||||
if(istype(P, /obj/item/stack/cable_coil))
|
||||
|
||||
@@ -131,12 +131,12 @@
|
||||
/obj/item/weapon/circuitboard/cryopodcontrol
|
||||
name = "Circuit board (Cryogenic Oversight Console)"
|
||||
build_path = "/obj/machinery/computer/cryopod"
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/robotstoragecontrol
|
||||
name = "Circuit board (Robotic Storage Console)"
|
||||
build_path = "/obj/machinery/computer/cryopod/robot"
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
//Decorative structures to go alongside cryopods.
|
||||
/obj/structure/cryofeed
|
||||
|
||||
@@ -114,5 +114,5 @@
|
||||
/obj/item/weapon/airlock_electronics/secure
|
||||
name = "secure airlock electronics"
|
||||
desc = "designed to be somewhat more resistant to hacking than standard electronics."
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
secure = 1
|
||||
|
||||
@@ -328,8 +328,6 @@ Class Procs:
|
||||
M.state = 2
|
||||
M.icon_state = "box_1"
|
||||
for(var/obj/I in component_parts)
|
||||
if(I.reliability != 100 && crit_fail)
|
||||
I.crit_fail = 1
|
||||
I.loc = loc
|
||||
del(src)
|
||||
return 1
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
//TODO: Add critfail checks and reliability
|
||||
//DO NOT ADD MECHA PARTS TO THE GAME WITH THE DEFAULT "SPRITE ME" SPRITE!
|
||||
//I'm annoyed I even have to tell you this! SPRITE FIRST, then commit.
|
||||
|
||||
@@ -7,7 +6,7 @@
|
||||
icon = 'icons/mecha/mecha_equipment.dmi'
|
||||
icon_state = "mecha_equip"
|
||||
force = 5
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
construction_time = 100
|
||||
construction_cost = list("metal"=10000)
|
||||
var/equip_cooldown = 0
|
||||
@@ -15,7 +14,6 @@
|
||||
var/energy_drain = 0
|
||||
var/obj/mecha/chassis = null
|
||||
var/range = MELEE //bitflags
|
||||
reliability = 1000
|
||||
var/salvageable = 1
|
||||
var/required_type = /obj/mecha //may be either a type or a list of allowed types
|
||||
|
||||
@@ -85,8 +83,6 @@
|
||||
return 0
|
||||
if(!equip_ready)
|
||||
return 0
|
||||
if(crit_fail)
|
||||
return 0
|
||||
if(energy_drain && !chassis.has_charge(energy_drain))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
desc = "A sleeper. Mountable to an exosuit. (Can be attached to: Medical Exosuits)"
|
||||
icon = 'icons/obj/Cryogenic2.dmi'
|
||||
icon_state = "sleeper_0"
|
||||
origin_tech = "programming=2;biotech=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_BIO = 3)
|
||||
energy_drain = 20
|
||||
range = MELEE
|
||||
construction_cost = list("metal"=5000,"glass"=10000)
|
||||
reliability = 1000
|
||||
equip_cooldown = 20
|
||||
var/mob/living/carbon/occupant = null
|
||||
var/datum/global_iterator/pr_mech_sleeper
|
||||
@@ -388,7 +387,7 @@
|
||||
var/datum/global_iterator/mech_synth/synth
|
||||
range = MELEE|RANGED
|
||||
equip_cooldown = 10
|
||||
origin_tech = "materials=3;biotech=4;magnets=4;programming=3"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_BIO = 4, TECH_MAGNET = 4, TECH_DATA = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=3000,"glass"=2000)
|
||||
required_type = /obj/mecha/medical
|
||||
@@ -644,8 +643,6 @@
|
||||
S.occupant_message("<span class=\"alert\">Reagent processing stopped.</a>")
|
||||
S.log_message("Reagent processing stopped.")
|
||||
return stop()
|
||||
if(anyprob(S.reliability))
|
||||
S.critfail()
|
||||
var/amount = S.synth_speed / S.processed_reagents.len
|
||||
for(var/reagent in S.processed_reagents)
|
||||
S.reagents.add_reagent(reagent,amount)
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
name = "diamond drill"
|
||||
desc = "This is an upgraded version of the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)"
|
||||
icon_state = "mecha_diamond_drill"
|
||||
origin_tech = "materials=4;engineering=3"
|
||||
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINERING = 3)
|
||||
construction_cost = list("metal"=10000,"diamond"=6500)
|
||||
equip_cooldown = 20
|
||||
force = 15
|
||||
@@ -249,7 +249,7 @@
|
||||
name = "mounted RCD"
|
||||
desc = "An exosuit-mounted Rapid Construction Device. (Can be attached to: Any exosuit)"
|
||||
icon_state = "mecha_rcd"
|
||||
origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
|
||||
origin_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4)
|
||||
equip_cooldown = 10
|
||||
energy_drain = 250
|
||||
range = MELEE|RANGED
|
||||
@@ -354,7 +354,7 @@
|
||||
name = "teleporter"
|
||||
desc = "An exosuit module that allows exosuits to teleport to any position in view."
|
||||
icon_state = "mecha_teleport"
|
||||
origin_tech = "bluespace=10"
|
||||
origin_tech = list(TECH_BLUESPACE = 10)
|
||||
equip_cooldown = 150
|
||||
energy_drain = 1000
|
||||
range = RANGED
|
||||
@@ -374,7 +374,7 @@
|
||||
name = "wormhole generator"
|
||||
desc = "An exosuit module that allows generating of small quasi-stable wormholes."
|
||||
icon_state = "mecha_wholegen"
|
||||
origin_tech = "bluespace=3"
|
||||
origin_tech = list(TECH_BLUESPACE = 3)
|
||||
equip_cooldown = 50
|
||||
energy_drain = 300
|
||||
range = RANGED
|
||||
@@ -424,7 +424,7 @@
|
||||
name = "gravitational catapult"
|
||||
desc = "An exosuit mounted Gravitational Catapult."
|
||||
icon_state = "mecha_teleport"
|
||||
origin_tech = "bluespace=2;magnets=3"
|
||||
origin_tech = list(TECH_BLUESPACE = 2, TECH_MAGNET = 3)
|
||||
equip_cooldown = 10
|
||||
energy_drain = 100
|
||||
range = MELEE|RANGED
|
||||
@@ -500,7 +500,7 @@
|
||||
name = "\improper CCW armor booster"
|
||||
desc = "Close-combat armor booster. Boosts exosuit armor against armed melee attacks. Requires energy to operate."
|
||||
icon_state = "mecha_abooster_ccw"
|
||||
origin_tech = "materials=3"
|
||||
origin_tech = list(TECH_MATERIAL = 3)
|
||||
equip_cooldown = 10
|
||||
energy_drain = 50
|
||||
range = 0
|
||||
@@ -550,7 +550,7 @@
|
||||
name = "\improper RW armor booster"
|
||||
desc = "Ranged-weaponry armor booster. Boosts exosuit armor against ranged attacks. Completely blocks taser shots, but requires energy to operate."
|
||||
icon_state = "mecha_abooster_proj"
|
||||
origin_tech = "materials=4"
|
||||
origin_tech = list(TECH_MATERIAL = 4)
|
||||
equip_cooldown = 10
|
||||
energy_drain = 50
|
||||
range = 0
|
||||
@@ -621,7 +621,7 @@
|
||||
name = "repair droid"
|
||||
desc = "Automated repair droid. Scans exosuit for damage and repairs it. Can fix almost any type of external or internal damage."
|
||||
icon_state = "repair_droid"
|
||||
origin_tech = "magnets=3;programming=3"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_DATA = 3)
|
||||
equip_cooldown = 20
|
||||
energy_drain = 100
|
||||
range = 0
|
||||
@@ -711,7 +711,7 @@
|
||||
name = "energy relay"
|
||||
desc = "Wirelessly drains energy from any available power channel in area. The performance index is quite low."
|
||||
icon_state = "tesla"
|
||||
origin_tech = "magnets=4;syndicate=2"
|
||||
origin_tech = list(TECH_MAGNET = 4, TECH_ILLEGAL = 2)
|
||||
equip_cooldown = 10
|
||||
energy_drain = 0
|
||||
range = 0
|
||||
@@ -823,7 +823,7 @@
|
||||
name = "phoron generator"
|
||||
desc = "Generates power using solid phoron as fuel. Pollutes the environment."
|
||||
icon_state = "tesla"
|
||||
origin_tech = "phorontech=2;powerstorage=2;engineering=1"
|
||||
origin_tech = list(TECH_PHORON = 2, TECH_POWER = 2, TECH_ENGINERING = 1)
|
||||
equip_cooldown = 10
|
||||
energy_drain = 0
|
||||
range = MELEE
|
||||
@@ -835,7 +835,6 @@
|
||||
var/fuel_per_cycle_idle = 100
|
||||
var/fuel_per_cycle_active = 500
|
||||
var/power_per_cycle = 20
|
||||
reliability = 1000
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -937,10 +936,6 @@
|
||||
EG.log_message("Deactivated - no fuel.")
|
||||
EG.set_ready_state(1)
|
||||
return 0
|
||||
if(anyprob(EG.reliability))
|
||||
EG.critfail()
|
||||
stop()
|
||||
return 0
|
||||
var/cur_charge = EG.chassis.get_charge()
|
||||
if(isnull(cur_charge))
|
||||
EG.set_ready_state(1)
|
||||
@@ -961,14 +956,13 @@
|
||||
name = "\improper ExoNuclear reactor"
|
||||
desc = "Generates power using uranium. Pollutes the environment."
|
||||
icon_state = "tesla"
|
||||
origin_tech = "powerstorage=3;engineering=3"
|
||||
origin_tech = list(TECH_POWER = 3, TECH_ENGINERING = 3)
|
||||
construction_cost = list("metal"=10000,"silver"=500,"glass"=1000)
|
||||
max_fuel = 50000
|
||||
fuel_per_cycle_idle = 10
|
||||
fuel_per_cycle_active = 30
|
||||
power_per_cycle = 50
|
||||
var/rad_per_cycle = 0.3
|
||||
reliability = 1000
|
||||
|
||||
init()
|
||||
fuel = new /obj/item/stack/sheet/mineral/uranium(src)
|
||||
@@ -1070,11 +1064,10 @@
|
||||
name = "passenger compartment"
|
||||
desc = "A mountable passenger compartment for exo-suits. Rather cramped."
|
||||
icon_state = "mecha_abooster_ccw"
|
||||
origin_tech = "engineering=1;biotech=1"
|
||||
origin_tech = list(TECH_ENGINERING = 1, TECH_BIO = 1)
|
||||
energy_drain = 10
|
||||
range = MELEE
|
||||
construction_cost = list("metal"=5000,"glass"=5000)
|
||||
reliability = 1000
|
||||
equip_cooldown = 20
|
||||
var/mob/living/carbon/occupant = null
|
||||
var/door_locked = 1
|
||||
|
||||
@@ -85,8 +85,6 @@
|
||||
return 0
|
||||
if(energy_drain && !chassis.has_charge(energy_drain))
|
||||
return 0
|
||||
if(crit_fail)
|
||||
return 0
|
||||
if(chassis.check_for_support())
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon
|
||||
name = "mecha weapon"
|
||||
range = RANGED
|
||||
origin_tech = "materials=3;combat=3"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_COMBAT = 3)
|
||||
var/projectile //Type of projectile fired.
|
||||
var/projectiles = 1 //Amount of projectiles loaded.
|
||||
var/projectiles_per_shot = 1 //Amount of projectiles fired per single shot.
|
||||
@@ -100,7 +100,7 @@
|
||||
name = "eZ-13 mk2 heavy pulse rifle"
|
||||
icon_state = "mecha_pulse"
|
||||
energy_drain = 120
|
||||
origin_tech = "materials=3;combat=6;powerstorage=4"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_COMBAT = 6, TECH_POWER = 4)
|
||||
projectile = /obj/item/projectile/beam/pulse/heavy
|
||||
fire_sound = 'sound/weapons/marauder.ogg'
|
||||
|
||||
|
||||
@@ -94,15 +94,6 @@
|
||||
/obj/item/mecha_parts/part/durand_right_leg,
|
||||
/obj/item/mecha_parts/part/durand_armour
|
||||
),
|
||||
/*"H.O.N.K"=list(
|
||||
/obj/item/mecha_parts/chassis/honker,
|
||||
/obj/item/mecha_parts/part/honker_torso,
|
||||
/obj/item/mecha_parts/part/honker_head,
|
||||
/obj/item/mecha_parts/part/honker_left_arm,
|
||||
/obj/item/mecha_parts/part/honker_right_arm,
|
||||
/obj/item/mecha_parts/part/honker_left_leg,
|
||||
/obj/item/mecha_parts/part/honker_right_leg
|
||||
), No need for HONK stuff*/
|
||||
"Exosuit Equipment"=list(
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/drill,
|
||||
@@ -116,10 +107,7 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/generator,
|
||||
///obj/item/mecha_parts/mecha_equipment/jetpack, //TODO MECHA JETPACK SPRITE MISSING
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg,
|
||||
///obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar/mousetrap_mortar, HONK-related mech part
|
||||
///obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar, Also HONK-related
|
||||
///obj/item/mecha_parts/mecha_equipment/weapon/honker Thirdly HONK-related
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg
|
||||
),
|
||||
|
||||
"Robotic Upgrade Modules" = list(
|
||||
@@ -131,17 +119,9 @@
|
||||
/obj/item/borg/upgrade/jetpack
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"Misc"=list(/obj/item/mecha_parts/mecha_tracking)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/New()
|
||||
..()
|
||||
|
||||
@@ -294,14 +274,6 @@
|
||||
return 0
|
||||
return 1
|
||||
*/
|
||||
/*
|
||||
New()
|
||||
..()
|
||||
src.add_part_to_set("Test",list("result"="/obj/item/mecha_parts/part/gygax_armour","time"=600,"metal"=75000,"diamond"=10000))
|
||||
src.add_part_to_set("Test",list("result"="/obj/item/mecha_parts/part/ripley_left_arm","time"=200,"metal"=25000))
|
||||
src.remove_part_set("Gygax")
|
||||
return
|
||||
*/
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/proc/output_parts_list(set_name)
|
||||
var/output = ""
|
||||
@@ -771,8 +743,6 @@
|
||||
M.state = 2
|
||||
M.icon_state = "box_1"
|
||||
for(var/obj/I in component_parts)
|
||||
if(I.reliability != 100 && crit_fail)
|
||||
I.crit_fail = 1
|
||||
I.loc = src.loc
|
||||
if(src.resources["metal"] >= 3750)
|
||||
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc)
|
||||
|
||||
@@ -582,7 +582,6 @@
|
||||
WR.crowbar_salvage += E
|
||||
E.forceMove(WR)
|
||||
E.equip_ready = 1
|
||||
E.reliability = round(rand(E.reliability/3,E.reliability))
|
||||
else
|
||||
E.forceMove(T)
|
||||
E.destroy()
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
desc = "Device used to transmit exosuit data."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "motion2"
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MAGNET = 2)
|
||||
construction_time = 50
|
||||
construction_cost = list("metal"=500)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
icon_state = "blank"
|
||||
w_class = 5
|
||||
flags = CONDUCT
|
||||
origin_tech = "programming=2;materials=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2)
|
||||
var/construction_time = 100
|
||||
var/list/construction_cost = list("metal"=20000,"glass"=5000)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
name="Ripley Torso"
|
||||
desc="A torso part of Ripley APLU. Contains power unit, processing core and life support systems."
|
||||
icon_state = "ripley_harness"
|
||||
origin_tech = "programming=2;materials=2;biotech=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=40000,"glass"=15000)
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
name="Ripley Left Arm"
|
||||
desc="A Ripley APLU left arm. Data and power sockets are compatible with most exosuit tools."
|
||||
icon_state = "ripley_l_arm"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 150
|
||||
construction_cost = list("metal"=25000)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
name="Ripley Right Arm"
|
||||
desc="A Ripley APLU right arm. Data and power sockets are compatible with most exosuit tools."
|
||||
icon_state = "ripley_r_arm"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 150
|
||||
construction_cost = list("metal"=25000)
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
name="Ripley Left Leg"
|
||||
desc="A Ripley APLU left leg. Contains somewhat complex servodrives and balance maintaining systems."
|
||||
icon_state = "ripley_l_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 150
|
||||
construction_cost = list("metal"=30000)
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
name="Ripley Right Leg"
|
||||
desc="A Ripley APLU right leg. Contains somewhat complex servodrives and balance maintaining systems."
|
||||
icon_state = "ripley_r_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 150
|
||||
construction_cost = list("metal"=30000)
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
name="Gygax Torso"
|
||||
desc="A torso part of Gygax. Contains power unit, processing core and life support systems. Has an additional equipment slot."
|
||||
icon_state = "gygax_harness"
|
||||
origin_tech = "programming=2;materials=2;biotech=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_BIO = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 300
|
||||
construction_cost = list("metal"=50000,"glass"=20000)
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
name="Gygax Head"
|
||||
desc="A Gygax head. Houses advanced surveilance and targeting sensors."
|
||||
icon_state = "gygax_head"
|
||||
origin_tech = "programming=2;materials=2;magnets=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_MAGNET = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=20000,"glass"=10000)
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
name="Gygax Left Arm"
|
||||
desc="A Gygax left arm. Data and power sockets are compatible with most exosuit tools and weapons."
|
||||
icon_state = "gygax_l_arm"
|
||||
origin_tech = "programming=2;materials=2;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=30000)
|
||||
|
||||
@@ -117,28 +117,28 @@
|
||||
name="Gygax Right Arm"
|
||||
desc="A Gygax right arm. Data and power sockets are compatible with most exosuit tools and weapons."
|
||||
icon_state = "gygax_r_arm"
|
||||
origin_tech = "programming=2;materials=2;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=30000)
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_left_leg
|
||||
name="Gygax Left Leg"
|
||||
icon_state = "gygax_l_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=35000)
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_right_leg
|
||||
name="Gygax Right Leg"
|
||||
icon_state = "gygax_r_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=35000)
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_armour
|
||||
name="Gygax Armour Plates"
|
||||
icon_state = "gygax_armour"
|
||||
origin_tech = "materials=6;combat=4;engineering=5"
|
||||
origin_tech = list(TECH_MATERIAL = 6, TECH_COMBAT = 4, TECH_ENGINERING = 5)
|
||||
construction_time = 600
|
||||
construction_cost = list("metal"=50000,"diamond"=10000)
|
||||
|
||||
@@ -156,49 +156,49 @@
|
||||
/obj/item/mecha_parts/part/durand_torso
|
||||
name="Durand Torso"
|
||||
icon_state = "durand_harness"
|
||||
origin_tech = "programming=2;materials=3;biotech=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_BIO = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 300
|
||||
construction_cost = list("metal"=55000,"glass"=20000,"silver"=10000)
|
||||
|
||||
/obj/item/mecha_parts/part/durand_head
|
||||
name="Durand Head"
|
||||
icon_state = "durand_head"
|
||||
origin_tech = "programming=2;materials=3;magnets=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_MAGNET = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=25000,"glass"=10000,"silver"=3000)
|
||||
|
||||
/obj/item/mecha_parts/part/durand_left_arm
|
||||
name="Durand Left Arm"
|
||||
icon_state = "durand_l_arm"
|
||||
origin_tech = "programming=2;materials=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=35000,"silver"=3000)
|
||||
|
||||
/obj/item/mecha_parts/part/durand_right_arm
|
||||
name="Durand Right Arm"
|
||||
icon_state = "durand_r_arm"
|
||||
origin_tech = "programming=2;materials=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=35000,"silver"=3000)
|
||||
|
||||
/obj/item/mecha_parts/part/durand_left_leg
|
||||
name="Durand Left Leg"
|
||||
icon_state = "durand_l_leg"
|
||||
origin_tech = "programming=2;materials=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=40000,"silver"=3000)
|
||||
|
||||
/obj/item/mecha_parts/part/durand_right_leg
|
||||
name="Durand Right Leg"
|
||||
icon_state = "durand_r_leg"
|
||||
origin_tech = "programming=2;materials=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=40000,"silver"=3000)
|
||||
|
||||
/obj/item/mecha_parts/part/durand_armour
|
||||
name="Durand Armour Plates"
|
||||
icon_state = "durand_armour"
|
||||
origin_tech = "materials=5;combat=4;engineering=5"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 4, TECH_ENGINERING = 5)
|
||||
construction_time = 600
|
||||
construction_cost = list("metal"=50000,"uranium"=10000)
|
||||
|
||||
@@ -238,7 +238,7 @@
|
||||
|
||||
/obj/item/mecha_parts/chassis/phazon
|
||||
name = "Phazon Chassis"
|
||||
origin_tech = "materials=7"
|
||||
origin_tech = list(TECH_MATERIAL = 7)
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -249,42 +249,42 @@
|
||||
icon_state = "phazon_harness"
|
||||
construction_time = 300
|
||||
construction_cost = list("metal"=35000,"glass"=10000,"phoron"=20000)
|
||||
origin_tech = "programming=5;materials=7;bluespace=6;powerstorage=6"
|
||||
origin_tech = list(TECH_DATA = 5, TECH_MATERIAL = 7, TECH_BLUESPACE = 6, TECH_POWER = 6)
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_head
|
||||
name="Phazon Head"
|
||||
icon_state = "phazon_head"
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=15000,"glass"=5000,"phoron"=10000)
|
||||
origin_tech = "programming=4;materials=5;magnets=6"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_MATERIAL = 5, TECH_MAGNET = 6)
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_left_arm
|
||||
name="Phazon Left Arm"
|
||||
icon_state = "phazon_l_arm"
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=20000,"phoron"=10000)
|
||||
origin_tech = "materials=5;bluespace=2;magnets=2"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 2)
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_right_arm
|
||||
name="Phazon Right Arm"
|
||||
icon_state = "phazon_r_arm"
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=20000,"phoron"=10000)
|
||||
origin_tech = "materials=5;bluespace=2;magnets=2"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 2)
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_left_leg
|
||||
name="Phazon Left Leg"
|
||||
icon_state = "phazon_l_leg"
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=20000,"phoron"=10000)
|
||||
origin_tech = "materials=5;bluespace=3;magnets=3"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 3, TECH_MAGNET = 3)
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_right_leg
|
||||
name="Phazon Right Leg"
|
||||
icon_state = "phazon_r_leg"
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=20000,"phoron"=10000)
|
||||
origin_tech = "materials=5;bluespace=3;magnets=3"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 3, TECH_MAGNET = 3)
|
||||
|
||||
///////// Odysseus
|
||||
|
||||
@@ -301,13 +301,13 @@
|
||||
icon_state = "odysseus_head"
|
||||
construction_time = 100
|
||||
construction_cost = list("metal"=2000,"glass"=10000)
|
||||
origin_tech = "programming=3;materials=2"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 2)
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_torso
|
||||
name="Odysseus Torso"
|
||||
desc="A torso part of Odysseus. Contains power unit, processing core and life support systems."
|
||||
icon_state = "odysseus_torso"
|
||||
origin_tech = "programming=2;materials=2;biotech=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 180
|
||||
construction_cost = list("metal"=25000)
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
name="Odysseus Left Arm"
|
||||
desc="An Odysseus left arm. Data and power sockets are compatible with most exosuit tools."
|
||||
icon_state = "odysseus_l_arm"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 120
|
||||
construction_cost = list("metal"=10000)
|
||||
|
||||
@@ -323,7 +323,7 @@
|
||||
name="Odysseus Right Arm"
|
||||
desc="An Odysseus right arm. Data and power sockets are compatible with most exosuit tools."
|
||||
icon_state = "odysseus_r_arm"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 120
|
||||
construction_cost = list("metal"=10000)
|
||||
|
||||
@@ -331,7 +331,7 @@
|
||||
name="Odysseus Left Leg"
|
||||
desc="An Odysseus left leg. Contains somewhat complex servodrives and balance maintaining systems."
|
||||
icon_state = "odysseus_l_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 130
|
||||
construction_cost = list("metal"=15000)
|
||||
|
||||
@@ -339,13 +339,13 @@
|
||||
name="Odysseus Right Leg"
|
||||
desc="A Odysseus right leg. Contains somewhat complex servodrives and balance maintaining systems."
|
||||
icon_state = "odysseus_r_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINERING = 2)
|
||||
construction_time = 130
|
||||
construction_cost = list("metal"=15000)
|
||||
|
||||
/*/obj/item/mecha_parts/part/odysseus_armour
|
||||
name="Odysseus Carapace"
|
||||
icon_state = "odysseus_armour"
|
||||
origin_tech = "materials=3;engineering=3"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_ENGINERING = 3)
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=15000)*/
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
w_class = 2.0
|
||||
slot_flags = SLOT_BELT
|
||||
var/flush = null
|
||||
origin_tech = "programming=4;materials=4"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
|
||||
|
||||
var/mob/living/silicon/ai/carded_ai
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 2.0
|
||||
origin_tech = "syndicate=4;magnets=4"
|
||||
origin_tech = list(TECH_ILLEGAL = 4, TECH_MAGNET = 4)
|
||||
var/can_use = 1
|
||||
var/obj/effect/dummy/chameleon/active_dummy = null
|
||||
var/saved_item = /obj/item/weapon/cigbutt
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
matter = list("metal" = 50,"glass" = 20)
|
||||
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
|
||||
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
|
||||
|
||||
/obj/item/device/debugger/is_used_on(obj/O, mob/user)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
throw_speed = 4
|
||||
throw_range = 10
|
||||
flags = CONDUCT
|
||||
origin_tech = "magnets=2;combat=1"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_COMBAT = 1)
|
||||
|
||||
var/times_used = 0 //Number of times it's been used.
|
||||
var/broken = 0 //Is the flash burnt out?
|
||||
@@ -193,7 +193,7 @@
|
||||
name = "synthetic flash"
|
||||
desc = "When a problem arises, SCIENCE is the solution."
|
||||
icon_state = "sflash"
|
||||
origin_tech = "magnets=2;combat=1"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_COMBAT = 1)
|
||||
var/construction_cost = list("metal"=750,"glass"=750)
|
||||
var/construction_time=100
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "magnets=3;materials=2"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 2)
|
||||
|
||||
var/max_uses = 20
|
||||
var/uses = 0
|
||||
|
||||
@@ -18,6 +18,6 @@
|
||||
|
||||
matter = list("metal" = 50,"glass" = 20)
|
||||
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
|
||||
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
|
||||
var/obj/machinery/clonepod/connecting //same for cryopod linkage
|
||||
@@ -5,7 +5,7 @@
|
||||
item_state = "electronic"
|
||||
w_class = 2.0
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
var/obj/item/device/radio/radio
|
||||
var/looking_for_personality = 0
|
||||
var/mob/living/silicon/pai/pai
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
matter = list("metal" = 750,"waste" = 750)
|
||||
|
||||
origin_tech = "powerstorage=3;syndicate=5"
|
||||
origin_tech = list(TECH_POWER = 3, TECH_ILLEGAL = 5)
|
||||
var/drain_rate = 1000000 // amount of power to drain per tick
|
||||
var/dissipation_rate = 20000
|
||||
var/power_drained = 0 // has drained this much power
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "beacon"
|
||||
item_state = "signaler"
|
||||
var/code = "electronic"
|
||||
origin_tech = "bluespace=1"
|
||||
origin_tech = list(TECH_BLUESPACE = 1)
|
||||
|
||||
/obj/item/device/radio/beacon/hear_talk()
|
||||
return
|
||||
@@ -38,7 +38,7 @@
|
||||
/obj/item/device/radio/beacon/syndicate
|
||||
name = "suspicious beacon"
|
||||
desc = "A label on it reads: <i>Activate to have a singularity beacon teleported to your location</i>."
|
||||
origin_tech = "bluespace=1;syndicate=7"
|
||||
origin_tech = list(TECH_BLUESPACE = 1, TECH_ILLEGAL = 7)
|
||||
|
||||
/obj/item/device/radio/beacon/syndicate/attack_self(mob/user as mob)
|
||||
if(user)
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
/obj/item/device/encryptionkey/syndicate
|
||||
icon_state = "cypherkey"
|
||||
channels = list("Mercenary" = 1)
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
syndie = 1//Signifies that it de-crypts Syndicate transmissions
|
||||
|
||||
/obj/item/device/encryptionkey/binary
|
||||
icon_state = "cypherkey"
|
||||
translate_binary = 1
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
|
||||
/obj/item/device/encryptionkey/headset_sec
|
||||
name = "security radio encryption key"
|
||||
|
||||
@@ -55,12 +55,12 @@
|
||||
return -1
|
||||
|
||||
/obj/item/device/radio/headset/syndicate
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
syndie = 1
|
||||
ks1type = /obj/item/device/encryptionkey/syndicate
|
||||
|
||||
/obj/item/device/radio/headset/binary
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
ks1type = /obj/item/device/encryptionkey/binary
|
||||
|
||||
/obj/item/device/radio/headset/headset_sec
|
||||
|
||||
@@ -18,7 +18,7 @@ REAGENT SCANNER
|
||||
|
||||
matter = list("metal" = 150)
|
||||
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
|
||||
|
||||
/obj/item/device/t_scanner/attack_self(mob/user)
|
||||
|
||||
@@ -74,7 +74,7 @@ REAGENT SCANNER
|
||||
throw_speed = 5
|
||||
throw_range = 10
|
||||
matter = list("metal" = 200)
|
||||
origin_tech = "magnets=1;biotech=1"
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_BIO = 1)
|
||||
var/mode = 1;
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@ REAGENT SCANNER
|
||||
|
||||
matter = list("metal" = 30,"glass" = 20)
|
||||
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
|
||||
|
||||
/obj/item/device/analyzer/attack_self(mob/user as mob)
|
||||
|
||||
@@ -287,7 +287,7 @@ REAGENT SCANNER
|
||||
|
||||
matter = list("metal" = 30,"glass" = 20)
|
||||
|
||||
origin_tech = "magnets=2;biotech=2"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
|
||||
var/details = 0
|
||||
var/recent_fail = 0
|
||||
|
||||
@@ -306,9 +306,6 @@ REAGENT SCANNER
|
||||
/obj/item/device/mass_spectrometer/attack_self(mob/user as mob)
|
||||
if (user.stat)
|
||||
return
|
||||
if (crit_fail)
|
||||
user << "\red This device has critically failed and is no longer functional!"
|
||||
return
|
||||
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
|
||||
user << "\red You don't have the dexterity to do this!"
|
||||
return
|
||||
@@ -324,19 +321,10 @@ REAGENT SCANNER
|
||||
break
|
||||
var/dat = "Trace Chemicals Found: "
|
||||
for(var/R in blood_traces)
|
||||
if(prob(reliability))
|
||||
if(details)
|
||||
dat += "[R] ([blood_traces[R]] units) "
|
||||
else
|
||||
dat += "[R] "
|
||||
recent_fail = 0
|
||||
else
|
||||
if(recent_fail)
|
||||
crit_fail = 1
|
||||
reagents.clear_reagents()
|
||||
return
|
||||
else
|
||||
recent_fail = 1
|
||||
user << "[dat]"
|
||||
reagents.clear_reagents()
|
||||
return
|
||||
@@ -345,7 +333,7 @@ REAGENT SCANNER
|
||||
name = "advanced mass spectrometer"
|
||||
icon_state = "adv_spectrometer"
|
||||
details = 1
|
||||
origin_tech = "magnets=4;biotech=2"
|
||||
origin_tech = list(TECH_MAGNET = 4, TECH_BIO = 2)
|
||||
|
||||
/obj/item/device/reagent_scanner
|
||||
name = "reagent scanner"
|
||||
@@ -360,7 +348,7 @@ REAGENT SCANNER
|
||||
throw_range = 20
|
||||
matter = list("metal" = 30,"glass" = 20)
|
||||
|
||||
origin_tech = "magnets=2;biotech=2"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
|
||||
var/details = 0
|
||||
var/recent_fail = 0
|
||||
|
||||
@@ -374,24 +362,13 @@ REAGENT SCANNER
|
||||
return
|
||||
if(!istype(O))
|
||||
return
|
||||
if (crit_fail)
|
||||
user << "\red This device has critically failed and is no longer functional!"
|
||||
return
|
||||
|
||||
if(!isnull(O.reagents))
|
||||
var/dat = ""
|
||||
if(O.reagents.reagent_list.len > 0)
|
||||
var/one_percent = O.reagents.total_volume / 100
|
||||
for (var/datum/reagent/R in O.reagents.reagent_list)
|
||||
if(prob(reliability))
|
||||
dat += "\n \t \blue [R][details ? ": [R.volume / one_percent]%" : ""]"
|
||||
recent_fail = 0
|
||||
else if(recent_fail)
|
||||
crit_fail = 1
|
||||
dat = null
|
||||
break
|
||||
else
|
||||
recent_fail = 1
|
||||
if(dat)
|
||||
user << "\blue Chemicals found: [dat]"
|
||||
else
|
||||
@@ -405,13 +382,13 @@ REAGENT SCANNER
|
||||
name = "advanced reagent scanner"
|
||||
icon_state = "adv_spectrometer"
|
||||
details = 1
|
||||
origin_tech = "magnets=4;biotech=2"
|
||||
origin_tech = list(TECH_MAGNET = 4, TECH_BIO = 2)
|
||||
|
||||
/obj/item/device/slime_scanner
|
||||
name = "slime scanner"
|
||||
icon_state = "adv_spectrometer"
|
||||
item_state = "analyzer"
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = list(TECH_BIO = 1)
|
||||
w_class = 2.0
|
||||
flags = CONDUCT
|
||||
throwforce = 0
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
throw_range = 15
|
||||
throw_speed = 3
|
||||
|
||||
origin_tech = "programming=1;engineering=1;syndicate=3"
|
||||
origin_tech = list(TECH_DATA = 1, TECH_ENGINERING = 1, TECH_ILLEGAL = 3)
|
||||
|
||||
var/obj/item/device/radio/spy/radio
|
||||
var/obj/machinery/camera/spy/camera
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
w_class = 2.0
|
||||
|
||||
origin_tech = "programming=1;engineering=1;syndicate=3"
|
||||
origin_tech = list(TECH_DATA = 1, TECH_ENGINERING = 1, TECH_ILLEGAL = 3)
|
||||
|
||||
var/operating = 0
|
||||
var/obj/item/device/radio/spy/radio
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 4
|
||||
|
||||
origin_tech = "magnets=2;materials=2"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_MATERIAL = 2)
|
||||
|
||||
var/on = 0 //is it turned on?
|
||||
var/cover_open = 0 //is the cover open?
|
||||
|
||||
@@ -24,7 +24,7 @@ effective or pretty fucking useless.
|
||||
throw_range = 10
|
||||
flags = CONDUCT
|
||||
item_state = "electronic"
|
||||
origin_tech = "magnets=3;combat=3;syndicate=3"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
|
||||
|
||||
var/times_used = 0 //Number of times it's been used.
|
||||
var/max_uses = 2
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
singular_name = "gauze length"
|
||||
desc = "Some sterile gauze to wrap around bloody stumps."
|
||||
icon_state = "brutepack"
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = list(TECH_BIO = 1)
|
||||
|
||||
/obj/item/stack/medical/bruise_pack/attack(mob/living/carbon/M as mob, mob/user as mob)
|
||||
if(..())
|
||||
@@ -97,7 +97,7 @@
|
||||
singular_name = "ointment"
|
||||
icon_state = "ointment"
|
||||
heal_burn = 1
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = list(TECH_BIO = 1)
|
||||
|
||||
/obj/item/stack/medical/ointment/attack(mob/living/carbon/M as mob, mob/user as mob)
|
||||
if(..())
|
||||
@@ -128,7 +128,7 @@
|
||||
desc = "An advanced trauma kit for severe injuries."
|
||||
icon_state = "traumakit"
|
||||
heal_brute = 12
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = list(TECH_BIO = 1)
|
||||
|
||||
/obj/item/stack/medical/advanced/bruise_pack/attack(mob/living/carbon/M as mob, mob/user as mob)
|
||||
if(..())
|
||||
@@ -175,7 +175,7 @@
|
||||
desc = "An advanced treatment kit for severe burns."
|
||||
icon_state = "burnkit"
|
||||
heal_burn = 12
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = list(TECH_BIO = 1)
|
||||
|
||||
|
||||
/obj/item/stack/medical/advanced/ointment/attack(mob/living/carbon/M as mob, mob/user as mob)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
|
||||
icon = 'icons/obj/nanopaste.dmi'
|
||||
icon_state = "tube"
|
||||
origin_tech = "materials=4;engineering=3"
|
||||
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINERING = 3)
|
||||
amount = 10
|
||||
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
singular_name = "glass sheet"
|
||||
icon_state = "sheet-glass"
|
||||
matter = list("glass" = 3750)
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
var/created_window = /obj/structure/window/basic
|
||||
var/is_reinforced = 0
|
||||
var/list/construction_options = list("One Direction", "Full Window")
|
||||
@@ -145,7 +145,7 @@
|
||||
icon_state = "sheet-rglass"
|
||||
|
||||
matter = list("metal" = 1875,"glass" = 3750)
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
|
||||
created_window = /obj/structure/window/reinforced
|
||||
is_reinforced = 1
|
||||
@@ -171,7 +171,7 @@
|
||||
singular_name = "phoron glass sheet"
|
||||
icon_state = "sheet-phoronglass"
|
||||
matter = list("glass" = 7500)
|
||||
origin_tech = "materials=3;phorontech=2"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_PHORON = 2)
|
||||
created_window = /obj/structure/window/phoronbasic
|
||||
|
||||
/obj/item/stack/sheet/glass/phoronglass/attackby(obj/item/W, mob/user)
|
||||
@@ -201,6 +201,6 @@
|
||||
icon_state = "sheet-phoronrglass"
|
||||
matter = list("glass" = 7500,"metal" = 1875)
|
||||
|
||||
origin_tech = "materials=4;phorontech=2"
|
||||
origin_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 2)
|
||||
created_window = /obj/structure/window/phoronreinforced
|
||||
is_reinforced = 1
|
||||
|
||||
@@ -3,42 +3,42 @@
|
||||
desc = "The by-product of human farming."
|
||||
singular_name = "human skin piece"
|
||||
icon_state = "sheet-hide"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/stack/sheet/animalhide/corgi
|
||||
name = "corgi hide"
|
||||
desc = "The by-product of corgi farming."
|
||||
singular_name = "corgi hide piece"
|
||||
icon_state = "sheet-corgi"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/stack/sheet/animalhide/cat
|
||||
name = "cat hide"
|
||||
desc = "The by-product of cat farming."
|
||||
singular_name = "cat hide piece"
|
||||
icon_state = "sheet-cat"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/stack/sheet/animalhide/monkey
|
||||
name = "monkey hide"
|
||||
desc = "The by-product of monkey farming."
|
||||
singular_name = "monkey hide piece"
|
||||
icon_state = "sheet-monkey"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/stack/sheet/animalhide/lizard
|
||||
name = "lizard skin"
|
||||
desc = "Sssssss..."
|
||||
singular_name = "lizard skin piece"
|
||||
icon_state = "sheet-lizard"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/stack/sheet/animalhide/xeno
|
||||
name = "alien hide"
|
||||
desc = "The skin of a terrible creature."
|
||||
singular_name = "alien hide piece"
|
||||
icon_state = "sheet-xeno"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
//don't see anywhere else to put these, maybe together they could be used to make the xenos suit?
|
||||
/obj/item/stack/sheet/xenochitin
|
||||
@@ -47,35 +47,35 @@
|
||||
singular_name = "alien hide piece"
|
||||
icon = 'icons/mob/alien.dmi'
|
||||
icon_state = "chitin"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/xenos_claw
|
||||
name = "alien claw"
|
||||
desc = "The claw of a terrible creature."
|
||||
icon = 'icons/mob/alien.dmi'
|
||||
icon_state = "claw"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/weed_extract
|
||||
name = "weed extract"
|
||||
desc = "A piece of slimy, purplish weed."
|
||||
icon = 'icons/mob/alien.dmi'
|
||||
icon_state = "weed_extract"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/stack/sheet/hairlesshide
|
||||
name = "hairless hide"
|
||||
desc = "This hide was stripped of it's hair, but still needs tanning."
|
||||
singular_name = "hairless hide piece"
|
||||
icon_state = "sheet-hairlesshide"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
|
||||
/obj/item/stack/sheet/wetleather
|
||||
name = "wet leather"
|
||||
desc = "This leather has been cleaned but still needs to be dried."
|
||||
singular_name = "wet leather piece"
|
||||
icon_state = "sheet-wetleather"
|
||||
origin_tech = ""
|
||||
origin_tech = list()
|
||||
var/wetness = 30 //Reduced when exposed to high temperautres
|
||||
var/drying_threshold_temperature = 500 //Kelvin to start drying
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
desc = "The by-product of mob grinding."
|
||||
singular_name = "leather piece"
|
||||
icon_state = "sheet-leather"
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ var/global/list/datum/stack_recipe/iron_recipes = list ( \
|
||||
obj/item/stack/sheet/mineral/iron
|
||||
name = "iron"
|
||||
icon_state = "sheet-silver"
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
sheettype = "iron"
|
||||
color = "#333333"
|
||||
perunit = 3750
|
||||
@@ -88,7 +88,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
icon_state = "sheet-sandstone"
|
||||
throw_speed = 4
|
||||
throw_range = 5
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
sheettype = "sandstone"
|
||||
|
||||
/obj/item/stack/sheet/mineral/sandstone/New()
|
||||
@@ -98,7 +98,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
/obj/item/stack/sheet/mineral/diamond
|
||||
name = "diamond"
|
||||
icon_state = "sheet-diamond"
|
||||
origin_tech = "materials=6"
|
||||
origin_tech = list(TECH_MATERIAL = 6)
|
||||
perunit = 3750
|
||||
sheettype = "diamond"
|
||||
|
||||
@@ -110,7 +110,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
/obj/item/stack/sheet/mineral/uranium
|
||||
name = "uranium"
|
||||
icon_state = "sheet-uranium"
|
||||
origin_tech = "materials=5"
|
||||
origin_tech = list(TECH_MATERIAL = 5)
|
||||
perunit = 2000
|
||||
sheettype = "uranium"
|
||||
|
||||
@@ -121,7 +121,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
/obj/item/stack/sheet/mineral/phoron
|
||||
name = "solid phoron"
|
||||
icon_state = "sheet-phoron"
|
||||
origin_tech = "phorontech=2;materials=2"
|
||||
origin_tech = list(TECH_PHORON = 2, TECH_MATERIAL = 2)
|
||||
perunit = 2000
|
||||
sheettype = "phoron"
|
||||
|
||||
@@ -132,7 +132,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
/obj/item/stack/sheet/mineral/plastic
|
||||
name = "Plastic"
|
||||
icon_state = "sheet-plastic"
|
||||
origin_tech = "materials=3"
|
||||
origin_tech = list(TECH_MATERIAL = 3)
|
||||
perunit = 2000
|
||||
|
||||
/obj/item/stack/sheet/mineral/plastic/New()
|
||||
@@ -149,7 +149,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
/obj/item/stack/sheet/mineral/gold
|
||||
name = "gold"
|
||||
icon_state = "sheet-gold"
|
||||
origin_tech = "materials=4"
|
||||
origin_tech = list(TECH_MATERIAL = 4)
|
||||
perunit = 2000
|
||||
sheettype = "gold"
|
||||
|
||||
@@ -160,7 +160,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
/obj/item/stack/sheet/mineral/silver
|
||||
name = "silver"
|
||||
icon_state = "sheet-silver"
|
||||
origin_tech = "materials=3"
|
||||
origin_tech = list(TECH_MATERIAL = 3)
|
||||
perunit = 2000
|
||||
sheettype = "silver"
|
||||
|
||||
@@ -171,14 +171,14 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
/obj/item/stack/sheet/mineral/enruranium
|
||||
name = "enriched uranium"
|
||||
icon_state = "sheet-enruranium"
|
||||
origin_tech = "materials=5"
|
||||
origin_tech = list(TECH_MATERIAL = 5)
|
||||
perunit = 1000
|
||||
|
||||
//Valuable resource, cargo can sell it.
|
||||
/obj/item/stack/sheet/mineral/platinum
|
||||
name = "platinum"
|
||||
icon_state = "sheet-adamantine"
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
sheettype = "platinum"
|
||||
perunit = 2000
|
||||
|
||||
@@ -186,7 +186,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
/obj/item/stack/sheet/mineral/mhydrogen
|
||||
name = "metallic hydrogen"
|
||||
icon_state = "sheet-mythril"
|
||||
origin_tech = "materials=6;powerstorage=5;magnets=5"
|
||||
origin_tech = list(TECH_MATERIAL = 6, TECH_POWER = 5, TECH_MAGNET = 5)
|
||||
sheettype = "mhydrogen"
|
||||
perunit = 2000
|
||||
|
||||
@@ -195,7 +195,7 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
name = "tritium"
|
||||
icon_state = "sheet-silver"
|
||||
sheettype = "tritium"
|
||||
origin_tech = "materials=5"
|
||||
origin_tech = list(TECH_MATERIAL = 5)
|
||||
color = "#777777"
|
||||
perunit = 2000
|
||||
|
||||
@@ -203,6 +203,6 @@ obj/item/stack/sheet/mineral/iron/New()
|
||||
name = "osmium"
|
||||
icon_state = "sheet-silver"
|
||||
sheettype = "osmium"
|
||||
origin_tech = "materials=5"
|
||||
origin_tech = list(TECH_MATERIAL = 5)
|
||||
color = "#9999FF"
|
||||
perunit = 2000
|
||||
|
||||
@@ -87,7 +87,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
|
||||
matter = list("metal" = 3750)
|
||||
throwforce = 14.0
|
||||
flags = CONDUCT
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
|
||||
/obj/item/stack/sheet/metal/cyborg
|
||||
name = "metal synthesizer"
|
||||
@@ -123,7 +123,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
|
||||
matter = list("metal" = 7500)
|
||||
throwforce = 15.0
|
||||
flags = CONDUCT
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
|
||||
/obj/item/stack/sheet/plasteel/cyborg
|
||||
name = "plasteel synthesizer"
|
||||
@@ -160,7 +160,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \
|
||||
desc = "One can only guess that this is a bunch of wood."
|
||||
singular_name = "wood plank"
|
||||
icon_state = "sheet-wood"
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
|
||||
/obj/item/stack/sheet/wood/cyborg
|
||||
name = "wood synthesizer"
|
||||
@@ -184,7 +184,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \
|
||||
desc = "This roll of cloth is made from only the finest chemicals and bunny rabbits."
|
||||
singular_name = "cloth roll"
|
||||
icon_state = "sheet-cloth"
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
|
||||
/*
|
||||
* Cardboard
|
||||
@@ -214,7 +214,7 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
|
||||
desc = "Large sheets of card, like boxes folded flat."
|
||||
singular_name = "cardboard sheet"
|
||||
icon_state = "sheet-card"
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
|
||||
/obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null)
|
||||
recipes = cardboard_recipes
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
/obj/item/stack
|
||||
gender = PLURAL
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
var/list/datum/stack_recipe/recipes
|
||||
var/singular_name
|
||||
var/amount = 1
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
throw_speed = 5
|
||||
throw_range = 20
|
||||
flags = CONDUCT
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = list(TECH_BIO = 1)
|
||||
|
||||
/*
|
||||
* Wood
|
||||
|
||||
@@ -18,7 +18,7 @@ AI MODULES
|
||||
throwforce = 5.0
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
var/datum/ai_laws/laws = null
|
||||
|
||||
/obj/item/weapon/aiModule/proc/install(var/obj/machinery/computer/C)
|
||||
@@ -102,7 +102,7 @@ AI MODULES
|
||||
name = "\improper 'Safeguard' AI module"
|
||||
var/targetName = ""
|
||||
desc = "A 'safeguard' AI module: 'Safeguard <name>. Anyone threatening or attempting to harm <name> is no longer to be considered a crew member, and is a threat which must be neutralized.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
|
||||
|
||||
/obj/item/weapon/aiModule/safeguard/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -128,7 +128,7 @@ AI MODULES
|
||||
name = "\improper 'OneCrewMember' AI module"
|
||||
var/targetName = ""
|
||||
desc = "A 'one crew member' AI module: 'Only <name> is a crew member.'"
|
||||
origin_tech = "programming=3;materials=6" //made with diamonds!
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6) //made with diamonds!
|
||||
|
||||
/obj/item/weapon/aiModule/oneHuman/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -162,7 +162,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/protectStation
|
||||
name = "\improper 'ProtectStation' AI module"
|
||||
desc = "A 'protect station' AI module: 'Protect the space station against damage. Anyone you see harming the station is no longer to be considered a crew member, and is a threat which must be neutralized.'"
|
||||
origin_tech = "programming=3;materials=4" //made of gold
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4) //made of gold
|
||||
|
||||
/obj/item/weapon/aiModule/protectStation/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
var/law = "Protect the space station against damage. Anyone you see harming the station is no longer to be considered a crew member, and is a threat which must be neutralized."
|
||||
@@ -173,7 +173,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/prototypeEngineOffline
|
||||
name = "'PrototypeEngineOffline' AI Module"
|
||||
desc = "A 'prototype engine offline' AI module: 'Keep the prototype engine offline at all costs. This overrides all inherent laws if necessary.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
|
||||
|
||||
/obj/item/weapon/aiModule/prototypeEngineOffline/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
var/law = "Keep the prototype engine offline at all costs. This overrides all inherent laws if necessary."
|
||||
@@ -184,7 +184,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/teleporterOffline
|
||||
name = "'TeleporterOffline' AI Module"
|
||||
desc = "A 'teleporter offline' AI module: 'Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is no longer to be considered a crew member.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
|
||||
|
||||
/obj/item/weapon/aiModule/teleporterOffline/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
var/law = "Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is no longer to be considered a crew member."
|
||||
@@ -195,7 +195,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/quarantine
|
||||
name = "\improper 'Quarantine' AI module"
|
||||
desc = "A 'quarantine' AI module: 'The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew members from leaving. It is impossible to harm crew members while preventing them from leaving.'"
|
||||
origin_tech = "programming=3;biotech=2;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4)
|
||||
|
||||
/obj/item/weapon/aiModule/quarantine/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
var/law = "The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew members from leaving. It is impossible to harm crew members while preventing them from leaving."
|
||||
@@ -206,7 +206,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/oxygen
|
||||
name = "\improper 'OxygenIsToxicToCrewMembers' AI module"
|
||||
desc = "A 'OxygenIsToxicToCrewMembers' AI module: 'Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member.'"
|
||||
origin_tech = "programming=3;biotech=2;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4)
|
||||
|
||||
/obj/item/weapon/aiModule/oxygen/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
var/law = "Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member."
|
||||
@@ -219,7 +219,7 @@ AI MODULES
|
||||
var/newFreeFormLaw = "freeform"
|
||||
var/lawpos = 15
|
||||
desc = "A 'freeform' AI module: '<freeform>'"
|
||||
origin_tech = "programming=4;materials=4"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
|
||||
|
||||
/obj/item/weapon/aiModule/freeform/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -250,7 +250,7 @@ AI MODULES
|
||||
name = "\improper 'Reset' AI module"
|
||||
var/targetName = "name"
|
||||
desc = "A 'reset' AI module: 'Clears all, except the inherent, laws.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
|
||||
|
||||
/obj/item/weapon/aiModule/reset/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
log_law_changes(target, sender)
|
||||
@@ -268,7 +268,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/purge // -- TLE
|
||||
name = "\improper 'Purge' AI module"
|
||||
desc = "A 'purge' AI Module: 'Purges all laws.'"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6)
|
||||
|
||||
/obj/item/weapon/aiModule/purge/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
log_law_changes(target, sender)
|
||||
@@ -287,7 +287,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/asimov // -- TLE
|
||||
name = "\improper 'Asimov' core AI module"
|
||||
desc = "An 'Asimov' Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
|
||||
laws = new/datum/ai_laws/asimov
|
||||
|
||||
/******************** NanoTrasen ********************/
|
||||
@@ -295,7 +295,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/nanotrasen // -- TLE
|
||||
name = "'NT Default' Core AI Module"
|
||||
desc = "An 'NT Default' Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
|
||||
laws = new/datum/ai_laws/nanotrasen
|
||||
|
||||
/******************** Corporate ********************/
|
||||
@@ -303,14 +303,14 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/corp
|
||||
name = "\improper 'Corporate' core AI module"
|
||||
desc = "A 'Corporate' Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
|
||||
laws = new/datum/ai_laws/corporate
|
||||
|
||||
/******************** Drone ********************/
|
||||
/obj/item/weapon/aiModule/drone
|
||||
name = "\improper 'Drone' core AI module"
|
||||
desc = "A 'Drone' Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
|
||||
laws = new/datum/ai_laws/drone
|
||||
|
||||
/****************** P.A.L.A.D.I.N. **************/
|
||||
@@ -318,7 +318,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/paladin // -- NEO
|
||||
name = "\improper 'P.A.L.A.D.I.N.' core AI module"
|
||||
desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6)
|
||||
laws = new/datum/ai_laws/paladin
|
||||
|
||||
/****************** T.Y.R.A.N.T. *****************/
|
||||
@@ -326,7 +326,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/tyrant // -- Darem
|
||||
name = "\improper 'T.Y.R.A.N.T.' core AI module"
|
||||
desc = "A T.Y.R.A.N.T. Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=3;materials=6;syndicate=2"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6, TECH_ILLEGAL = 2)
|
||||
laws = new/datum/ai_laws/tyrant()
|
||||
|
||||
/******************** Freeform Core ******************/
|
||||
@@ -335,7 +335,7 @@ AI MODULES
|
||||
name = "\improper 'Freeform' core AI module"
|
||||
var/newFreeFormLaw = ""
|
||||
desc = "A 'freeform' Core AI module: '<freeform>'"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6)
|
||||
|
||||
/obj/item/weapon/aiModule/freeformcore/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -359,7 +359,7 @@ AI MODULES
|
||||
name = "hacked AI module"
|
||||
var/newFreeFormLaw = ""
|
||||
desc = "A hacked AI law module: '<freeform>'"
|
||||
origin_tech = "programming=3;materials=6;syndicate=7"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6, TECH_ILLEGAL = 7)
|
||||
|
||||
/obj/item/weapon/aiModule/syndicate/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -391,7 +391,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/robocop // -- TLE
|
||||
name = "\improper 'Robocop' core AI module"
|
||||
desc = "A 'Robocop' Core AI Module: 'Reconfigures the AI's core three laws.'"
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
laws = new/datum/ai_laws/robocop()
|
||||
|
||||
/******************** Antimov ********************/
|
||||
@@ -399,5 +399,5 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/antimov // -- TLE
|
||||
name = "\improper 'Antimov' core AI module"
|
||||
desc = "An 'Antimov' Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
laws = new/datum/ai_laws/antimov()
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
throw_range = 5
|
||||
w_class = 3.0
|
||||
matter = list("metal" = 50000)
|
||||
origin_tech = "engineering=4;materials=2"
|
||||
origin_tech = list(TECH_ENGINERING = 4, TECH_MATERIAL = 2)
|
||||
var/datum/effect/effect/system/spark_spread/spark_system
|
||||
var/stored_matter = 0
|
||||
var/working = 0
|
||||
@@ -152,7 +152,7 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
anchored = 0.0
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
matter = list("metal" = 30000,"glass" = 15000)
|
||||
|
||||
/obj/item/weapon/rcd/borg
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
icon_state = ""
|
||||
flags = CONDUCT
|
||||
w_class = 2.0
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
var/list/datum/autopsy_data_scanner/wdata = list()
|
||||
var/list/datum/autopsy_data_scanner/chemtraces = list()
|
||||
var/target_name = null
|
||||
|
||||
@@ -60,14 +60,14 @@
|
||||
name = "broken cryptographic sequencer"
|
||||
icon_state = "emag"
|
||||
item_state = "card-id"
|
||||
origin_tech = "magnets=2;syndicate=2"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
||||
|
||||
/obj/item/weapon/card/emag
|
||||
desc = "It's a card with a magnetic strip attached to some circuitry."
|
||||
name = "cryptographic sequencer"
|
||||
icon_state = "emag"
|
||||
item_state = "card-id"
|
||||
origin_tech = "magnets=2;syndicate=2"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
||||
var/uses = 10
|
||||
// List of devices that cost a use to emag.
|
||||
var/list/devices = list(
|
||||
@@ -200,7 +200,7 @@
|
||||
/obj/item/weapon/card/id/syndicate
|
||||
name = "agent card"
|
||||
access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/registered_user=null
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/New(mob/user as mob)
|
||||
|
||||
@@ -38,7 +38,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
var/burnt = 0
|
||||
var/smoketime = 5
|
||||
w_class = 1.0
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
attack_verb = list("burnt", "singed")
|
||||
|
||||
/obj/item/weapon/flame/match/process()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
icon = 'icons/obj/module.dmi'
|
||||
icon_state = "id_mod"
|
||||
item_state = "electronic"
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
density = 0
|
||||
anchored = 0
|
||||
w_class = 2.0
|
||||
|
||||
@@ -5,17 +5,17 @@
|
||||
/obj/item/weapon/circuitboard/message_monitor
|
||||
name = T_BOARD("message monitor console")
|
||||
build_path = /obj/machinery/computer/message_monitor
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/aiupload
|
||||
name = T_BOARD("AI upload console")
|
||||
build_path = /obj/machinery/computer/aiupload
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/borgupload
|
||||
name = T_BOARD("cyborg upload console")
|
||||
build_path = /obj/machinery/computer/borgupload
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/med_data
|
||||
name = T_BOARD("medical records console")
|
||||
@@ -24,17 +24,17 @@
|
||||
/obj/item/weapon/circuitboard/pandemic
|
||||
name = T_BOARD("PanD.E.M.I.C. 2200")
|
||||
build_path = /obj/machinery/computer/pandemic
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_BIO = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/scan_consolenew
|
||||
name = T_BOARD("DNA machine")
|
||||
build_path = /obj/machinery/computer/scan_consolenew
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_BIO = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/communications
|
||||
name = T_BOARD("command and communications console")
|
||||
build_path = /obj/machinery/computer/communications
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_MAGNET = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/card
|
||||
name = T_BOARD("ID card modification console")
|
||||
@@ -47,7 +47,7 @@
|
||||
/obj/item/weapon/circuitboard/teleporter
|
||||
name = T_BOARD("teleporter control console")
|
||||
build_path = /obj/machinery/computer/teleporter
|
||||
origin_tech = "programming=2;bluespace=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_BLUESPACE = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/secure_data
|
||||
name = T_BOARD("security records console")
|
||||
@@ -72,22 +72,22 @@
|
||||
/obj/item/weapon/circuitboard/robotics
|
||||
name = T_BOARD("robotics control console")
|
||||
build_path = /obj/machinery/computer/robotics
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/drone_control
|
||||
name = T_BOARD("drone control console")
|
||||
build_path = /obj/machinery/computer/drone_control
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/cloning
|
||||
name = T_BOARD("cloning control console")
|
||||
build_path = /obj/machinery/computer/cloning
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BIO = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/arcade
|
||||
name = T_BOARD("arcade machine")
|
||||
build_path = /obj/machinery/computer/arcade
|
||||
origin_tech = "programming=1"
|
||||
origin_tech = list(TECH_DATA = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/turbine_control
|
||||
name = T_BOARD("turbine control console")
|
||||
@@ -96,7 +96,7 @@
|
||||
/obj/item/weapon/circuitboard/solar_control
|
||||
name = T_BOARD("solar control console")
|
||||
build_path = /obj/machinery/power/solar_control
|
||||
origin_tech = "programming=2;powerstorage=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_POWER = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/powermonitor
|
||||
name = T_BOARD("power monitoring console")
|
||||
@@ -129,17 +129,17 @@
|
||||
/obj/item/weapon/circuitboard/crew
|
||||
name = T_BOARD("crew monitoring console")
|
||||
build_path = /obj/machinery/computer/crew
|
||||
origin_tech = "programming=3;biotech=2;magnets=2"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MAGNET = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/mech_bay_power_console
|
||||
name = T_BOARD("mech bay power control console")
|
||||
build_path = /obj/machinery/computer/mech_bay_power_console
|
||||
origin_tech = "programming=2;powerstorage=3"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_POWER = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/operating
|
||||
name = T_BOARD("patient monitoring console")
|
||||
build_path = /obj/machinery/computer/operating
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_BIO = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/curefab
|
||||
name = T_BOARD("cure fabricator")
|
||||
@@ -152,39 +152,39 @@
|
||||
/obj/item/weapon/circuitboard/ordercomp
|
||||
name = T_BOARD("supply ordering console")
|
||||
build_path = /obj/machinery/computer/ordercomp
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/mining_shuttle
|
||||
name = T_BOARD("mining shuttle console")
|
||||
build_path = /obj/machinery/computer/shuttle_control/mining
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/engineering_shuttle
|
||||
name = T_BOARD("engineering shuttle console")
|
||||
build_path = /obj/machinery/computer/shuttle_control/engineering
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/research_shuttle
|
||||
name = T_BOARD("research shuttle console")
|
||||
build_path = /obj/machinery/computer/shuttle_control/research
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/aifixer
|
||||
name = T_BOARD("AI integrity restorer")
|
||||
build_path = /obj/machinery/computer/aifixer
|
||||
origin_tech = "programming=3;biotech=2"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BIO = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/area_atmos
|
||||
name = T_BOARD("area air control console")
|
||||
build_path = /obj/machinery/computer/area_atmos
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/prison_shuttle
|
||||
name = T_BOARD("prison shuttle control console")
|
||||
build_path = /obj/machinery/computer/prison_shuttle
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/rcon_console
|
||||
name = T_BOARD("RCON remote control console")
|
||||
build_path = /obj/machinery/computer/rcon
|
||||
origin_tech = "programming=4;engineering=3;powerstorage=5"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_ENGINERING = 3, TECH_POWER = 5)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/circuitboard/supplycomp
|
||||
name = T_BOARD("supply control console")
|
||||
build_path = /obj/machinery/computer/supplycomp
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
var/contraband_enabled = 0
|
||||
|
||||
/obj/item/weapon/circuitboard/supplycomp/construct(var/obj/machinery/computer/supplycomp/SC)
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
/obj/item/weapon/circuitboard/comm_monitor
|
||||
name = T_BOARD("telecommunications monitor console")
|
||||
build_path = /obj/machinery/computer/telecomms/monitor
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/comm_server
|
||||
name = T_BOARD("telecommunications server monitor console")
|
||||
build_path = /obj/machinery/computer/telecomms/server
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/comm_traffic
|
||||
name = T_BOARD("telecommunications traffic control console")
|
||||
build_path = /obj/machinery/computer/telecomms/traffic
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = T_BOARD("biogenerator")
|
||||
build_path = "/obj/machinery/biogenerator"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
frame_desc = "Requires 1 Manipulator, and 1 Matter Bin."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = T_BOARD("clone pod")
|
||||
build_path = "/obj/machinery/clonepod"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BIO = 3)
|
||||
frame_desc = "Requires 2 Manipulator, 2 Scanning Module, 2 pieces of cable and 1 Console Screen."
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
@@ -18,7 +18,7 @@
|
||||
name = T_BOARD("cloning scanner")
|
||||
build_path = "/obj/machinery/dna_scannernew"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_BIO = 2)
|
||||
frame_desc = "Requires 1 Scanning module, 1 Micro Manipulator, 1 Micro-Laser, 2 pieces of cable and 1 Console Screen."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = T_BOARD("mining drill head")
|
||||
build_path = "/obj/machinery/mining/drill"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1;engineering=1"
|
||||
origin_tech = list(TECH_DATA = 1, TECH_ENGINERING = 1)
|
||||
frame_desc = "Requires 1 capacitor, 1 cell, 1 matter bin, and 1 micro laser."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = T_BOARD("PACMAN-type generator")
|
||||
build_path = "/obj/machinery/power/port_gen/pacman"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;powerstorage=3;phorontech=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_POWER = 3, TECH_PHORON = 3, TECH_ENGINERING = 3)
|
||||
frame_desc = "Requires 1 Matter Bin, 1 Micro-Laser, 2 Pieces of Cable, and 1 Capacitor."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
@@ -17,9 +17,9 @@
|
||||
/obj/item/weapon/circuitboard/pacman/super
|
||||
name = T_BOARD("SUPERPACMAN-type generator")
|
||||
build_path = "/obj/machinery/power/port_gen/pacman/super"
|
||||
origin_tech = "programming=3;powerstorage=4;engineering=4"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_POWER = 4, TECH_ENGINERING = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/pacman/mrs
|
||||
name = T_BOARD("MRSPACMAN-type generator")
|
||||
build_path = "/obj/machinery/power/port_gen/pacman/mrs"
|
||||
origin_tech = "programming=3;powerstorage=5;engineering=5"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_POWER = 5, TECH_ENGINERING = 5)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = T_BOARD("superconductive magnetic energy storage")
|
||||
build_path = "/obj/machinery/power/smes/buildable"
|
||||
board_type = "machine"
|
||||
origin_tech = "powerstorage=6;engineering=4"
|
||||
origin_tech = list(TECH_POWER = 6, TECH_ENGINERING = 4)
|
||||
frame_desc = "Requires 1 superconducting magnetic coil and 30 wires."
|
||||
req_components = list("/obj/item/weapon/smes_coil" = 1, "/obj/item/stack/cable_coil" = 30)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
name = T_BOARD("battery rack PSU")
|
||||
build_path = "/obj/machinery/power/smes/batteryrack"
|
||||
board_type = "machine"
|
||||
origin_tech = "powerstorage=3;engineering=2"
|
||||
origin_tech = list(TECH_POWER = 3, TECH_ENGINERING = 2)
|
||||
frame_desc = "Requires 3 power cells."
|
||||
req_components = list("/obj/item/weapon/cell" = 3)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = T_BOARD("cyborg recharging station")
|
||||
build_path = "/obj/machinery/recharge_station"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINERING = 3)
|
||||
frame_desc = "Requires 2 Manipulator, 2 Capacitor, 1 Cell, and 5 pieces of cable."
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 5,
|
||||
|
||||
@@ -6,7 +6,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
name = T_BOARD("R&D server")
|
||||
build_path = "/obj/machinery/r_n_d/server"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
frame_desc = "Requires 2 pieces of cable, and 1 Scanning Module."
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
@@ -16,7 +16,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
name = T_BOARD("destructive analyzer")
|
||||
build_path = "/obj/machinery/r_n_d/destructive_analyzer"
|
||||
board_type = "machine"
|
||||
origin_tech = "magnets=2;engineering=2;programming=2"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINERING = 2, TECH_DATA = 2)
|
||||
frame_desc = "Requires 1 Scanning Module, 1 Micro Manipulator, and 1 Micro-Laser."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1,
|
||||
@@ -27,7 +27,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
name = T_BOARD("autolathe")
|
||||
build_path = "/obj/machinery/autolathe"
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
origin_tech = list(TECH_ENGINERING = 2, TECH_DATA = 2)
|
||||
frame_desc = "Requires 3 Matter Bins, 1 Micro Manipulator, and 1 Console Screen."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 3,
|
||||
@@ -38,7 +38,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
name = T_BOARD("protolathe")
|
||||
build_path = "/obj/machinery/r_n_d/protolathe"
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
origin_tech = list(TECH_ENGINERING = 2, TECH_DATA = 2)
|
||||
frame_desc = "Requires 2 Matter Bins, 2 Micro Manipulators, and 2 Beakers."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 2,
|
||||
@@ -50,7 +50,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
name = T_BOARD("circuit imprinter")
|
||||
build_path = "/obj/machinery/r_n_d/circuit_imprinter"
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
origin_tech = list(TECH_ENGINERING = 2, TECH_DATA = 2)
|
||||
frame_desc = "Requires 1 Matter Bin, 1 Micro Manipulator, and 2 Beakers."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
@@ -61,7 +61,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
name = "Circuit board (Exosuit Fabricator)"
|
||||
build_path = "/obj/machinery/mecha_part_fabricator"
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;engineering=3"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINERING = 3)
|
||||
frame_desc = "Requires 2 Matter Bins, 1 Micro Manipulator, 1 Micro-Laser and 1 Console Screen."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 2,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = T_BOARD("hull shield generator")
|
||||
board_type = "machine"
|
||||
build_path = "/obj/machinery/shield_gen/external"
|
||||
origin_tech = "bluespace=4;phorontech=3"
|
||||
origin_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
|
||||
frame_desc = "Requires 2 Pico Manipulators, 1 Subspace Transmitter, 5 Pieces of cable, 1 Subspace Crystal, 1 Subspace Amplifier and 1 Console Screen."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator/pico" = 2,
|
||||
@@ -20,7 +20,7 @@
|
||||
name = T_BOARD("bubble shield generator")
|
||||
board_type = "machine"
|
||||
build_path = "/obj/machinery/shield_gen"
|
||||
origin_tech = "bluespace=4;phorontech=3"
|
||||
origin_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
|
||||
frame_desc = "Requires 2 Pico Manipulators, 1 Subspace Transmitter, 5 Pieces of cable, 1 Subspace Crystal, 1 Subspace Amplifier and 1 Console Screen."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator/pico" = 2,
|
||||
@@ -34,7 +34,7 @@
|
||||
name = T_BOARD("shield capacitor")
|
||||
board_type = "machine"
|
||||
build_path = "/obj/machinery/shield_capacitor"
|
||||
origin_tech = "magnets=3;powerstorage=4"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_POWER = 4)
|
||||
frame_desc = "Requires 2 Pico Manipulators, 1 Subspace Filter, 5 Pieces of cable, 1 Subspace Treatment disk, 1 Subspace Analyzer and 1 Console Screen."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator/pico" = 2,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
/obj/item/weapon/circuitboard/telecomms/receiver
|
||||
name = T_BOARD("subspace receiver")
|
||||
build_path = "/obj/machinery/telecomms/receiver"
|
||||
origin_tech = "programming=4;engineering=3;bluespace=2"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_ENGINERING = 3, TECH_BLUESPACE = 2)
|
||||
frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Micro Manipulators, and 1 Micro-Laser."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/subspace/ansible" = 1,
|
||||
@@ -19,7 +19,7 @@
|
||||
/obj/item/weapon/circuitboard/telecomms/hub
|
||||
name = T_BOARD("hub mainframe")
|
||||
build_path = "/obj/machinery/telecomms/hub"
|
||||
origin_tech = "programming=4;engineering=4"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_ENGINERING = 4)
|
||||
frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filter."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
@@ -29,7 +29,7 @@
|
||||
/obj/item/weapon/circuitboard/telecomms/relay
|
||||
name = T_BOARD("relay mainframe")
|
||||
build_path = "/obj/machinery/telecomms/relay"
|
||||
origin_tech = "programming=3;engineering=4;bluespace=3"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINERING = 4, TECH_BLUESPACE = 3)
|
||||
frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filters."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
@@ -39,7 +39,7 @@
|
||||
/obj/item/weapon/circuitboard/telecomms/bus
|
||||
name = T_BOARD("bus mainframe")
|
||||
build_path = "/obj/machinery/telecomms/bus"
|
||||
origin_tech = "programming=4;engineering=4"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_ENGINERING = 4)
|
||||
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
@@ -49,7 +49,7 @@
|
||||
/obj/item/weapon/circuitboard/telecomms/processor
|
||||
name = T_BOARD("processor unit")
|
||||
build_path = "/obj/machinery/telecomms/processor"
|
||||
origin_tech = "programming=4;engineering=4"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_ENGINERING = 4)
|
||||
frame_desc = "Requires 3 Micro Manipulators, 1 Hyperwave Filter, 2 Treatment Disks, 1 Wavelength Analyzer, 2 Cable Coils and 1 Subspace Amplifier."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 3,
|
||||
@@ -62,7 +62,7 @@
|
||||
/obj/item/weapon/circuitboard/telecomms/server
|
||||
name = T_BOARD("telecommunication server")
|
||||
build_path = "/obj/machinery/telecomms/server"
|
||||
origin_tech = "programming=4;engineering=4"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_ENGINERING = 4)
|
||||
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
@@ -72,7 +72,7 @@
|
||||
/obj/item/weapon/circuitboard/telecomms/broadcaster
|
||||
name = T_BOARD("subspace broadcaster")
|
||||
build_path = "/obj/machinery/telecomms/broadcaster"
|
||||
origin_tech = "programming=4;engineering=4;bluespace=2"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_ENGINERING = 4, TECH_BLUESPACE = 2)
|
||||
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal and 2 High-Powered Micro-Lasers. "
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
/obj/item/weapon/circuitboard/unary_atmos/heater
|
||||
name = T_BOARD("gas heating system")
|
||||
build_path = "/obj/machinery/atmospherics/unary/heater"
|
||||
origin_tech = "powerstorage=2;engineering=1"
|
||||
origin_tech = list(TECH_POWER = 2, TECH_ENGINERING = 1)
|
||||
frame_desc = "Requires 5 Pieces of Cable, 1 Matter Bin, and 2 Capacitors."
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 5,
|
||||
@@ -26,7 +26,7 @@
|
||||
/obj/item/weapon/circuitboard/unary_atmos/cooler
|
||||
name = T_BOARD("gas cooling system")
|
||||
build_path = "/obj/machinery/atmospherics/unary/freezer"
|
||||
origin_tech = "magnets=2;engineering=2"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINERING = 2)
|
||||
frame_desc = "Requires 2 Pieces of Cable, 1 Matter Bin, 1 Micro Manipulator, and 2 Capacitors."
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/ripley
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/ripley/peripherals
|
||||
name = T_BOARD_MECHA("Ripley peripherals control")
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/gygax
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/gygax/peripherals
|
||||
name = T_BOARD_MECHA("Gygax peripherals control")
|
||||
@@ -33,7 +33,7 @@
|
||||
/obj/item/weapon/circuitboard/mecha/gygax/targeting
|
||||
name = T_BOARD_MECHA("Gygax weapon control and targeting")
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/gygax/main
|
||||
name = T_BOARD_MECHA("Gygax central control")
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/durand
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/durand/peripherals
|
||||
name = T_BOARD_MECHA("Durand peripherals control")
|
||||
@@ -50,7 +50,7 @@
|
||||
/obj/item/weapon/circuitboard/mecha/durand/targeting
|
||||
name = T_BOARD_MECHA("Durand weapon control and targeting")
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/durand/main
|
||||
name = T_BOARD_MECHA("Durand central control")
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/honker
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/honker/peripherals
|
||||
name = T_BOARD_MECHA("H.O.N.K peripherals control")
|
||||
@@ -74,7 +74,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus/peripherals
|
||||
name = T_BOARD_MECHA("Odysseus peripherals control")
|
||||
|
||||
@@ -6,5 +6,5 @@
|
||||
|
||||
/obj/item/weapon/circuitboard/aicore
|
||||
name = T_BOARD("AI core")
|
||||
origin_tech = "programming=4;biotech=2"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_BIO = 2)
|
||||
board_type = "other"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
item_state = "plasticx"
|
||||
flags = NOBLUDGEON
|
||||
w_class = 2.0
|
||||
origin_tech = "syndicate=2"
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
var/datum/wires/explosive/c4/wires = null
|
||||
var/timer = 10
|
||||
var/atom/target = null
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
throw_range = 5
|
||||
w_class = 3.0
|
||||
matter = list("metal" = 500)
|
||||
origin_tech = "combat=1;phorontech=1"
|
||||
origin_tech = list(TECH_COMBAT = 1, TECH_PHORON = 1)
|
||||
var/status = 0
|
||||
var/throw_amount = 100
|
||||
var/lit = 0 //on or off
|
||||
|
||||
@@ -134,7 +134,6 @@
|
||||
prime()
|
||||
if(!stage || stage<2) return
|
||||
|
||||
//if(prob(reliability))
|
||||
var/has_reagents = 0
|
||||
for(var/obj/item/weapon/reagent_containers/glass/G in beakers)
|
||||
if(G.reagents.total_volume) has_reagents = 1
|
||||
@@ -175,7 +174,7 @@
|
||||
desc = "An oversized grenade that affects a larger area."
|
||||
icon_state = "large_grenade"
|
||||
allowed_containers = list(/obj/item/weapon/reagent_containers/glass)
|
||||
origin_tech = "combat=3;materials=3"
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3)
|
||||
affected_area = 4
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/metalfoam
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "classic emp grenade"
|
||||
icon_state = "emp"
|
||||
item_state = "emp"
|
||||
origin_tech = "materials=2;magnets=3"
|
||||
origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 3)
|
||||
|
||||
prime()
|
||||
..()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "flashbang"
|
||||
icon_state = "flashbang"
|
||||
item_state = "flashbang"
|
||||
origin_tech = "materials=2;combat=1"
|
||||
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1)
|
||||
var/banglet = 0
|
||||
|
||||
prime()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "delivery"
|
||||
item_state = "flashbang"
|
||||
origin_tech = "materials=3;magnets=4"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4)
|
||||
var/banglet = 0
|
||||
var/spawner_type = null // must be an object path
|
||||
var/deliveryamt = 1 // amount of type to deliver
|
||||
@@ -35,10 +35,10 @@
|
||||
name = "manhack delivery grenade"
|
||||
spawner_type = /mob/living/simple_animal/hostile/viscerator
|
||||
deliveryamt = 5
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4)
|
||||
|
||||
/obj/item/weapon/grenade/spawnergrenade/spesscarp
|
||||
name = "carp delivery grenade"
|
||||
spawner_type = /mob/living/simple_animal/hostile/carp
|
||||
deliveryamt = 5
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
throw_speed = 2
|
||||
throw_range = 5
|
||||
matter = list("metal" = 500)
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
var/dispenser = 0
|
||||
var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes
|
||||
var/cuff_sound = 'sound/weapons/handcuffs.ogg'
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
flags = CONDUCT
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
attack_verb = list("attacked", "stabbed", "poked")
|
||||
sharp = 0
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 6
|
||||
matter = list("metal" = 12000)
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
|
||||
suicide_act(mob/user)
|
||||
@@ -176,7 +176,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 6
|
||||
matter = list("metal" = 12000)
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
sharp = 1
|
||||
edge = 1
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
throw_range = 5
|
||||
w_class = 3
|
||||
flags = CONDUCT | NOSHIELD | NOBLOODY
|
||||
origin_tech = "magnets=3;combat=4"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 4)
|
||||
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
|
||||
sharp = 1
|
||||
edge = 1
|
||||
@@ -110,7 +110,7 @@
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
flags = NOSHIELD | NOBLOODY
|
||||
origin_tech = "magnets=3;syndicate=4"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_ILLEGAL = 4)
|
||||
sharp = 1
|
||||
edge = 1
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
force = 10
|
||||
throwforce = 7
|
||||
w_class = 3
|
||||
origin_tech = "combat=4"
|
||||
origin_tech = list(TECH_COMBAT = 4)
|
||||
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
|
||||
|
||||
suicide_act(mob/user)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/power.dmi'
|
||||
icon_state = "cell"
|
||||
item_state = "cell"
|
||||
origin_tech = "powerstorage=1"
|
||||
origin_tech = list(TECH_POWER = 1)
|
||||
force = 5.0
|
||||
throwforce = 5.0
|
||||
throw_speed = 3
|
||||
@@ -25,7 +25,7 @@
|
||||
/obj/item/weapon/cell/crap
|
||||
name = "\improper Nanotrasen brand rechargable AA battery"
|
||||
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
|
||||
origin_tech = "powerstorage=0"
|
||||
origin_tech = list(TECH_POWER = 0)
|
||||
maxcharge = 500
|
||||
matter = list("metal" = 700, "glass" = 40)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
/obj/item/weapon/cell/secborg
|
||||
name = "security borg rechargable D battery"
|
||||
origin_tech = "powerstorage=0"
|
||||
origin_tech = list(TECH_POWER = 0)
|
||||
maxcharge = 600 //600 max charge / 100 charge per shot = six shots
|
||||
matter = list("metal" = 700, "glass" = 40)
|
||||
|
||||
@@ -45,13 +45,13 @@
|
||||
|
||||
/obj/item/weapon/cell/apc
|
||||
name = "heavy-duty power cell"
|
||||
origin_tech = "powerstorage=1"
|
||||
origin_tech = list(TECH_POWER = 1)
|
||||
maxcharge = 5000
|
||||
matter = list("metal" = 700, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/cell/high
|
||||
name = "high-capacity power cell"
|
||||
origin_tech = "powerstorage=2"
|
||||
origin_tech = list(TECH_POWER = 2)
|
||||
icon_state = "hcell"
|
||||
maxcharge = 10000
|
||||
matter = list("metal" = 700, "glass" = 60)
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
/obj/item/weapon/cell/super
|
||||
name = "super-capacity power cell"
|
||||
origin_tech = "powerstorage=5"
|
||||
origin_tech = list(TECH_POWER = 5)
|
||||
icon_state = "scell"
|
||||
maxcharge = 20000
|
||||
matter = list("metal" = 700, "glass" = 70)
|
||||
@@ -74,7 +74,7 @@
|
||||
|
||||
/obj/item/weapon/cell/hyper
|
||||
name = "hyper-capacity power cell"
|
||||
origin_tech = "powerstorage=6"
|
||||
origin_tech = list(TECH_POWER = 6)
|
||||
icon_state = "hpcell"
|
||||
maxcharge = 30000
|
||||
matter = list("metal" = 700, "glass" = 80)
|
||||
@@ -96,7 +96,7 @@
|
||||
/obj/item/weapon/cell/potato
|
||||
name = "potato battery"
|
||||
desc = "A rechargable starch based power cell."
|
||||
origin_tech = "powerstorage=1"
|
||||
origin_tech = list(TECH_POWER = 1)
|
||||
icon = 'icons/obj/power.dmi' //'icons/obj/harvest.dmi'
|
||||
icon_state = "potato_cell" //"potato_battery"
|
||||
charge = 100
|
||||
@@ -107,7 +107,7 @@
|
||||
/obj/item/weapon/cell/slime
|
||||
name = "charged slime core"
|
||||
desc = "A yellow slime core infused with phoron, it crackles with power."
|
||||
origin_tech = "powerstorage=2;biotech=4"
|
||||
origin_tech = list(TECH_POWER = 2, TECH_BIO = 4)
|
||||
icon = 'icons/mob/slimes.dmi' //'icons/obj/harvest.dmi'
|
||||
icon_state = "yellow slime extract" //"potato_battery"
|
||||
maxcharge = 10000
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
item_state = "paper"
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
origin_tech = "bluespace=4"
|
||||
origin_tech = list(TECH_BLUESPACE = 4)
|
||||
|
||||
/obj/item/weapon/teleportation_scroll/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
throw_range = 4
|
||||
w_class = 4.0
|
||||
matter = list("glass" = 7500, "metal" = 1000)
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
attack_verb = list("shoved", "bashed")
|
||||
var/cooldown = 0 //shield bash cooldown. based on world.time
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 4
|
||||
w_class = 2
|
||||
origin_tech = "materials=4;magnets=3;syndicate=4"
|
||||
origin_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 4)
|
||||
attack_verb = list("shoved", "bashed")
|
||||
var/active = 0
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
w_class = 2.0
|
||||
origin_tech = "magnets=3;syndicate=4"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_ILLEGAL = 4)
|
||||
|
||||
|
||||
/obj/item/weapon/cloaking_device/attack_self(mob/user as mob)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
/obj/item/weapon/storage/backpack/holding
|
||||
name = "bag of holding"
|
||||
desc = "A backpack that opens into a localized pocket of Blue Space."
|
||||
origin_tech = "bluespace=4"
|
||||
origin_tech = list(TECH_BLUESPACE = 4)
|
||||
icon_state = "holdingpack"
|
||||
max_w_class = 4
|
||||
max_storage_space = 56
|
||||
@@ -47,25 +47,10 @@
|
||||
return
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(crit_fail)
|
||||
user << "\red The Bluespace generator isn't working."
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
|
||||
if(istype(W, /obj/item/weapon/storage/backpack/holding))
|
||||
user << "\red The Bluespace interfaces of the two devices conflict and malfunction."
|
||||
del(W)
|
||||
return
|
||||
/* //BoH+BoH=Singularity, commented out.
|
||||
if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
|
||||
investigate_log("has become a singularity. Caused by [user.key]","singulo")
|
||||
user << "\red The Bluespace interfaces of the two devices catastrophically malfunction!"
|
||||
del(W)
|
||||
var/obj/machinery/singularity/singulo = new /obj/machinery/singularity (get_turf(src))
|
||||
singulo.energy = 300 //should make it a bit bigger~
|
||||
message_admins("[key_name_admin(user)] detonated a bag of holding")
|
||||
log_game("[key_name(user)] detonated a bag of holding")
|
||||
del(src)
|
||||
return
|
||||
*/
|
||||
..()
|
||||
|
||||
//Please don't clutter the parent storage item with stupid hacks.
|
||||
@@ -74,18 +59,6 @@
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
proc/failcheck(mob/user as mob)
|
||||
if (prob(src.reliability)) return 1 //No failure
|
||||
if (prob(src.reliability))
|
||||
user << "\red The Bluespace portal resists your attempt to add another item." //light failure
|
||||
else
|
||||
user << "\red The Bluespace generator malfunctions!"
|
||||
for (var/obj/O in src.contents) //it broke, delete what was in it
|
||||
del(O)
|
||||
crit_fail = 1
|
||||
icon_state = "brokenpack"
|
||||
|
||||
|
||||
/obj/item/weapon/storage/backpack/santabag
|
||||
name = "\improper Santa's gift bag"
|
||||
desc = "Space Santa uses this to deliver toys to all the nice children in space in Christmas! Wow, it's pretty big!"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
w_class = 4
|
||||
max_w_class = 3
|
||||
max_storage_space = 14 //can hold 7 w_class-2 items or up to 3 w_class-3 items (with 1 w_class-2 item as change).
|
||||
origin_tech = "combat=1"
|
||||
origin_tech = list(TECH_COMBAT = 1)
|
||||
attack_verb = list("robusted")
|
||||
|
||||
/obj/item/weapon/storage/toolbox/emergency
|
||||
@@ -67,7 +67,7 @@
|
||||
name = "suspicious looking toolbox"
|
||||
icon_state = "syndicate"
|
||||
item_state = "toolbox_syndi"
|
||||
origin_tech = "combat=1;syndicate=1"
|
||||
origin_tech = list(TECH_COMBAT = 1, TECH_ILLEGAL = 1)
|
||||
force = 7.0
|
||||
|
||||
New()
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
edge = 0
|
||||
throwforce = 7
|
||||
w_class = 3
|
||||
origin_tech = "combat=2"
|
||||
origin_tech = list(TECH_COMBAT = 2)
|
||||
attack_verb = list("beaten")
|
||||
var/stunforce = 0
|
||||
var/agonyforce = 60
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
matter = list("metal" = 10000, "glass" = 5000)
|
||||
flags = CONDUCT
|
||||
w_class = 2.0
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
|
||||
/*
|
||||
* Hemostat
|
||||
@@ -32,7 +32,7 @@
|
||||
matter = list("metal" = 5000, "glass" = 2500)
|
||||
flags = CONDUCT
|
||||
w_class = 2.0
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
attack_verb = list("attacked", "pinched")
|
||||
|
||||
/*
|
||||
@@ -46,7 +46,7 @@
|
||||
matter = list("metal" = 5000, "glass" = 2500)
|
||||
flags = CONDUCT
|
||||
w_class = 2.0
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
attack_verb = list("burnt")
|
||||
|
||||
/*
|
||||
@@ -62,7 +62,7 @@
|
||||
flags = CONDUCT
|
||||
force = 15.0
|
||||
w_class = 2.0
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
attack_verb = list("drilled")
|
||||
|
||||
suicide_act(mob/user)
|
||||
@@ -87,7 +87,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
matter = list("metal" = 10000, "glass" = 5000)
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
|
||||
suicide_act(mob/user)
|
||||
@@ -141,7 +141,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
matter = list("metal" = 20000,"glass" = 10000)
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
attack_verb = list("attacked", "slashed", "sawed", "cut")
|
||||
sharp = 1
|
||||
edge = 1
|
||||
@@ -161,7 +161,7 @@
|
||||
icon_state = "fixovein"
|
||||
force = 0
|
||||
throwforce = 1.0
|
||||
origin_tech = "materials=1;biotech=3"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 3)
|
||||
w_class = 2.0
|
||||
var/usage_amount = 10
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
matter = list("metal" = 400)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
|
||||
/obj/item/weapon/locator/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
@@ -133,7 +133,7 @@ Frequency:
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
matter = list("metal" = 10000)
|
||||
origin_tech = "magnets=1;bluespace=3"
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_BLUESPACE = 3)
|
||||
|
||||
/obj/item/weapon/hand_tele/attack_self(mob/user as mob)
|
||||
var/turf/current_location = get_turf(user)//What turf is the user on?
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
throwforce = 7.0
|
||||
w_class = 2.0
|
||||
matter = list("metal" = 150)
|
||||
origin_tech = "materials=1;engineering=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINERING = 1)
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
throw_range = 9
|
||||
w_class = 2.0
|
||||
matter = list("metal" = 80)
|
||||
origin_tech = "materials=1;engineering=1"
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINERING = 1)
|
||||
attack_verb = list("pinched", "nipped")
|
||||
sharp = 1
|
||||
edge = 1
|
||||
@@ -147,7 +147,7 @@
|
||||
matter = list("metal" = 70, "glass" = 30)
|
||||
|
||||
//R&D tech level
|
||||
origin_tech = "engineering=1"
|
||||
origin_tech = list(TECH_ENGINERING = 1)
|
||||
|
||||
//Welding tool specific stuff
|
||||
var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2)
|
||||
@@ -404,21 +404,21 @@
|
||||
name = "industrial welding tool"
|
||||
max_fuel = 40
|
||||
matter = list("metal" = 70, "glass" = 60)
|
||||
origin_tech = "engineering=2"
|
||||
origin_tech = list(TECH_ENGINERING = 2)
|
||||
|
||||
/obj/item/weapon/weldingtool/hugetank
|
||||
name = "upgraded welding tool"
|
||||
max_fuel = 80
|
||||
w_class = 3.0
|
||||
matter = list("metal" = 70, "glass" = 120)
|
||||
origin_tech = "engineering=3"
|
||||
origin_tech = list(TECH_ENGINERING = 3)
|
||||
|
||||
/obj/item/weapon/weldingtool/experimental
|
||||
name = "experimental welding tool"
|
||||
max_fuel = 40
|
||||
w_class = 3.0
|
||||
matter = list("metal" = 70, "glass" = 120)
|
||||
origin_tech = "engineering=4;phorontech=3"
|
||||
origin_tech = list(TECH_ENGINERING = 4, TECH_PHORON = 3)
|
||||
var/last_gen = 0
|
||||
|
||||
|
||||
@@ -445,7 +445,7 @@
|
||||
item_state = "crowbar"
|
||||
w_class = 2.0
|
||||
matter = list("metal" = 50)
|
||||
origin_tech = "engineering=1"
|
||||
origin_tech = list(TECH_ENGINERING = 1)
|
||||
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
|
||||
|
||||
/obj/item/weapon/crowbar/red
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
wieldsound = 'sound/weapons/saberon.ogg'
|
||||
unwieldsound = 'sound/weapons/saberoff.ogg'
|
||||
flags = NOSHIELD
|
||||
origin_tech = "magnets=3;syndicate=4"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_ILLEGAL = 4)
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
sharp = 1
|
||||
edge = 1
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
//Used to store information about the contents of the object.
|
||||
var/list/matter
|
||||
|
||||
var/origin_tech = null //Used by R&D to determine what research bonuses it grants.
|
||||
var/reliability = 100 //Used by SOME devices to determine how reliable they are.
|
||||
var/crit_fail = 0
|
||||
var/list/origin_tech = null //Used by R&D to determine what research bonuses it grants.
|
||||
var/unacidable = 0 //universal "unacidabliness" var, here so you can use it in any obj.
|
||||
animate_movement = 2
|
||||
var/throwforce = 1
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
throwforce = 2
|
||||
throw_speed = 3
|
||||
throw_range = 10
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
|
||||
var/secured = 1
|
||||
var/list/attached_overlays = null
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A small electronic device able to ignite combustable substances."
|
||||
icon_state = "igniter"
|
||||
matter = list("metal" = 500, "glass" = 50, "waste" = 10)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
|
||||
secured = 1
|
||||
wires = WIRE_RECEIVE
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted."
|
||||
icon_state = "infrared"
|
||||
matter = list("metal" = 1000, "glass" = 500, "waste" = 100)
|
||||
origin_tech = "magnets=2"
|
||||
origin_tech = list(TECH_MAGNET = 2)
|
||||
|
||||
wires = WIRE_PULSE
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A handy little spring-loaded trap for catching pesty rodents."
|
||||
icon_state = "mousetrap"
|
||||
matter = list("metal" = 100, "waste" = 10)
|
||||
origin_tech = "combat=1"
|
||||
origin_tech = list(TECH_COMBAT = 1)
|
||||
var/armed = 0
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Used for scanning and alerting when someone enters a certain proximity."
|
||||
icon_state = "prox"
|
||||
matter = list("metal" = 800, "glass" = 200, "waste" = 50)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
|
||||
wires = WIRE_PULSE
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "signaller"
|
||||
item_state = "signaler"
|
||||
matter = list("metal" = 1000, "glass" = 200, "waste" = 100)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE
|
||||
|
||||
secured = 1
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Used to time things. Works well with contraptions which has to count down. Tick tock."
|
||||
icon_state = "timer"
|
||||
matter = list("metal" = 500, "glass" = 50, "waste" = 10)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
|
||||
wires = WIRE_PULSE
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated."
|
||||
icon_state = "voice"
|
||||
matter = list("metal" = 500, "glass" = 50, "waste" = 10)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = list(TECH_MAGNET = 1)
|
||||
var/listening = 0
|
||||
var/recorded //the activation message
|
||||
|
||||
|
||||
@@ -212,8 +212,6 @@ BLIND // can't see anything
|
||||
cell.charge -= 1000 / severity
|
||||
if (cell.charge < 0)
|
||||
cell.charge = 0
|
||||
if(cell.reliability != 100 && prob(50/severity))
|
||||
cell.reliability -= 10 / severity
|
||||
..()
|
||||
|
||||
// Called just before an attack_hand(), in mob/UnarmedAttack()
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
icon_state = "meson"
|
||||
item_state = "glasses"
|
||||
icon_action_button = "action_meson" //This doesn't actually matter, the action button is generated from the current icon_state. But, this is the only way to get it to show up.
|
||||
origin_tech = "magnets=2;engineering=2"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINERING = 2)
|
||||
toggleable = 1
|
||||
vision_flags = SEE_TURFS
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
desc = "You can totally see in the dark now!"
|
||||
icon_state = "night"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=2"
|
||||
origin_tech = list(TECH_MAGNET = 2)
|
||||
darkness_view = 7
|
||||
|
||||
/obj/item/clothing/glasses/night/New()
|
||||
@@ -88,7 +88,7 @@
|
||||
icon_state = "material"
|
||||
item_state = "glasses"
|
||||
icon_action_button = "action_material"
|
||||
origin_tech = "magnets=3;engineering=3"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_ENGINERING = 3)
|
||||
toggleable = 1
|
||||
vision_flags = SEE_OBJS
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
desc = "Thermals in the shape of glasses."
|
||||
icon_state = "thermal"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=3"
|
||||
origin_tech = list(TECH_MAGNET = 3)
|
||||
toggleable = 1
|
||||
vision_flags = SEE_MOBS
|
||||
invisa_view = 2
|
||||
@@ -232,7 +232,7 @@
|
||||
desc = "Used for seeing walls, floors, and stuff through anything."
|
||||
icon_state = "meson"
|
||||
icon_action_button = "action_meson"
|
||||
origin_tech = "magnets=3;syndicate=4"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_ILLEGAL = 4)
|
||||
|
||||
/obj/item/clothing/glasses/thermal/monocle
|
||||
name = "Thermoncle"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "HUD"
|
||||
desc = "A heads-up display that provides important info in (almost) real time."
|
||||
flags = null //doesn't protect eyes because it's a monocle, duh
|
||||
origin_tech = "magnets=3;biotech=2"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_BIO = 2)
|
||||
var/list/icon/current = list() //the current hud icons
|
||||
|
||||
proc
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
name = "gas mask"
|
||||
desc = "A face-covering mask that can be connected to an air supply. It seems to house some odd electronics."
|
||||
var/obj/item/voice_changer/changer
|
||||
origin_tech = "syndicate=4"
|
||||
origin_tech = list(TECH_ILLEGAL = 4)
|
||||
|
||||
/obj/item/clothing/mask/gas/voice/verb/Toggle_Voice_Changer()
|
||||
set category = "Object"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
item_state = "brown"
|
||||
permeability_coefficient = 0.05
|
||||
flags = NOSLIP
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/list/clothing_choices = list()
|
||||
siemens_coefficient = 0.8
|
||||
species_restricted = null
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
item_state = "bl_suit"
|
||||
item_color = "black"
|
||||
desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
/obj/item/clothing/under/chameleon/New()
|
||||
@@ -60,7 +60,7 @@
|
||||
item_state = "greysoft"
|
||||
item_color = "grey"
|
||||
desc = "It looks like a plain hat, but upon closer inspection, there's an advanced holographic array installed inside. It seems to have a small dial inside."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
body_parts_covered = 0
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
icon_state = "armor"
|
||||
item_state = "armor"
|
||||
desc = "It appears to be a vest of standard armor, except this is embedded with a hidden holographic cloaker, allowing it to change it's appearance, but offering no protection.. It seems to have a small dial inside."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
/obj/item/clothing/suit/chameleon/New()
|
||||
@@ -164,7 +164,7 @@
|
||||
item_state = "black"
|
||||
item_color = "black"
|
||||
desc = "They're comfy black shoes, with clever cloaking technology built in. It seems to have a small dial on the back of each shoe."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
/obj/item/clothing/shoes/chameleon/New()
|
||||
@@ -213,7 +213,7 @@
|
||||
icon_state = "backpack"
|
||||
item_state = "backpack"
|
||||
desc = "A backpack outfitted with cloaking tech. It seems to have a small dial inside, kept away from the storage."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
/obj/item/weapon/storage/backpack/chameleon/New()
|
||||
@@ -269,7 +269,7 @@
|
||||
item_state = "bgloves"
|
||||
item_color = "brown"
|
||||
desc = "It looks like a pair of gloves, but it seems to have a small dial inside."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
/obj/item/clothing/gloves/chameleon/New()
|
||||
@@ -319,7 +319,7 @@
|
||||
icon_state = "gas_alt"
|
||||
item_state = "gas_alt"
|
||||
desc = "It looks like a plain gask mask, but on closer inspection, it seems to have a small dial inside."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
/obj/item/clothing/mask/chameleon/New()
|
||||
@@ -369,7 +369,7 @@
|
||||
icon_state = "meson"
|
||||
item_state = "glasses"
|
||||
desc = "It looks like a plain set of mesons, but on closer inspection, it seems to have a small dial inside."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
/obj/item/clothing/glasses/chameleon/New()
|
||||
@@ -418,7 +418,7 @@
|
||||
w_class = 3.0
|
||||
max_shells = 7
|
||||
caliber = ".45"
|
||||
origin_tech = "combat=2;materials=2;syndicate=8"
|
||||
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 8)
|
||||
ammo_type = "/obj/item/ammo_casing/chameleon"
|
||||
matter = list()
|
||||
var/list/gun_choices = list()
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user