mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 05:00:55 +01:00
Merge pull request #17576 from LatD/Research
[Ready for test/merge] R&D level remake
This commit is contained in:
@@ -37,7 +37,6 @@
|
||||
icon_state = "ling_eyeshield"
|
||||
eye_color = null
|
||||
implant_overlay = null
|
||||
origin_tech = "biotech=4"
|
||||
slot = "eye_ling"
|
||||
status = ORGAN_ORGANIC
|
||||
|
||||
@@ -58,7 +57,6 @@
|
||||
icon_state = "ling_thermal"
|
||||
eye_color = null
|
||||
implant_overlay = null
|
||||
origin_tech = "biotech=5;magnets=5"
|
||||
slot = "eye_ling"
|
||||
status = ORGAN_ORGANIC
|
||||
aug_message = "You feel a minute twitch in our eyes, and darkness creeps away."
|
||||
@@ -76,4 +74,4 @@
|
||||
if(ishuman(owner))
|
||||
var/mob/living/carbon/human/H = owner
|
||||
H.weakeyes = 0
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* Gang Boss Pens
|
||||
*/
|
||||
/obj/item/weapon/pen/gang
|
||||
origin_tech = "materials=2;syndicate=5"
|
||||
origin_tech = "materials=2;syndicate=3"
|
||||
var/cooldown
|
||||
var/last_used = 0
|
||||
var/charges = 1
|
||||
@@ -67,7 +67,7 @@
|
||||
name = "gang implant"
|
||||
desc = "Makes you a gangster or such."
|
||||
activated = 0
|
||||
origin_tech = "materials=2;biotech=4;programming=4;syndicate=4"
|
||||
origin_tech = "materials=2;biotech=4;programming=4;syndicate=3"
|
||||
var/datum/gang/gang
|
||||
|
||||
/obj/item/weapon/implant/gang/New(loc,var/setgang)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
flags = CONDUCT
|
||||
origin_tech = "programming=3;bluespace=2;syndicate=5"
|
||||
origin_tech = "programming=5;bluespace=2;syndicate=5"
|
||||
var/datum/gang/gang //Which gang uses this?
|
||||
var/recalling = 0
|
||||
var/outfits = 3
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
icon_state = "vest_stealth"
|
||||
item_state = "armor"
|
||||
blood_overlay_type = "armor"
|
||||
origin_tech = "materials=5;biotech=4;powerstorage=5;abductor=3"
|
||||
origin_tech = "magnets=7;biotech=4;powerstorage=4;abductor=4"
|
||||
armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15)
|
||||
actions_types = list(/datum/action/item_action/hands_free/activate)
|
||||
var/mode = VEST_STEALTH
|
||||
@@ -129,7 +129,7 @@
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "gizmo_scan"
|
||||
item_state = "silencer"
|
||||
origin_tech = "materials=5;magnets=5;bluespace=6;abductor=4"
|
||||
origin_tech = "engineering=7;magnets=4;bluespace=4;abductor=3"
|
||||
var/mode = GIZMO_SCAN
|
||||
var/mob/living/marked = null
|
||||
var/obj/machinery/abductor/console/console
|
||||
@@ -210,7 +210,7 @@
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "silencer"
|
||||
item_state = "gizmo"
|
||||
origin_tech = "materials=5;magnets=5;abductor=3"
|
||||
origin_tech = "materials=4;programming=7;abductor=3"
|
||||
|
||||
/obj/item/device/abductor/silencer/attack(mob/living/M, mob/user)
|
||||
if(!AbductorCheck(user))
|
||||
@@ -254,7 +254,7 @@
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "implant"
|
||||
activated = 1
|
||||
origin_tech = "materials=2;biotech=3;magnets=4;bluespace=5;abductor=5"
|
||||
origin_tech = "materials=2;biotech=7;magnets=4;bluespace=4;abductor=5"
|
||||
var/obj/machinery/abductor/pad/home
|
||||
var/cooldown = 30
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
pin = /obj/item/device/firing_pin/abductor
|
||||
icon_state = "alienpistol"
|
||||
item_state = "alienpistol"
|
||||
origin_tech = "combat=5;materials=4;powerstorage=3;abductor=3"
|
||||
origin_tech = "combat=4;magnets=7;powerstorage=3;abductor=3"
|
||||
trigger_guard = TRIGGER_GUARD_ALLOW_ALL
|
||||
|
||||
/obj/item/weapon/paper/abductor
|
||||
@@ -357,7 +357,7 @@ Congratulations! You are now trained for xenobiology research!"}
|
||||
icon_state = "wonderprodStun"
|
||||
item_state = "wonderprod"
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "materials=6;combat=5;biotech=7;abductor=4"
|
||||
origin_tech = "materials=4;combat=4;biotech=7;abductor=4"
|
||||
force = 7
|
||||
w_class = 3
|
||||
actions_types = list(/datum/action/item_action/toggle_mode)
|
||||
@@ -507,7 +507,7 @@ Congratulations! You are now trained for xenobiology research!"}
|
||||
icon_state = "cuff_white" // Needs sprite
|
||||
breakouttime = 450
|
||||
trashtype = /obj/item/weapon/restraints/handcuffs/energy/used
|
||||
origin_tech = "materials=2;magnets=5;abductor=2"
|
||||
origin_tech = "materials=4;magnets=5;abductor=2"
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/energy/used
|
||||
desc = "energy discharge"
|
||||
@@ -569,7 +569,7 @@ Congratulations! You are now trained for xenobiology research!"}
|
||||
icon_state = "alienhelmet"
|
||||
item_state = "alienhelmet"
|
||||
blockTracking = 1
|
||||
origin_tech = "materials=6;magnets=5;abductor=3"
|
||||
origin_tech = "materials=7;magnets=4;abductor=3"
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
|
||||
|
||||
// Operating Table / Beds / Lockers
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
slot = "gland"
|
||||
icon_state = "gland"
|
||||
status = ORGAN_ROBOTIC
|
||||
origin_tech = "materials=4;biotech=5;abductor=3"
|
||||
origin_tech = "materials=4;biotech=7;abductor=3"
|
||||
var/cooldown_low = 300
|
||||
var/cooldown_high = 300
|
||||
var/next_activation = 0
|
||||
@@ -54,7 +54,6 @@
|
||||
return
|
||||
|
||||
/obj/item/organ/gland/heals
|
||||
origin_tech = "materials=4;biotech=6;abductor=3"
|
||||
cooldown_low = 200
|
||||
cooldown_high = 400
|
||||
uses = -1
|
||||
@@ -67,7 +66,6 @@
|
||||
owner.adjustFireLoss(-20)
|
||||
|
||||
/obj/item/organ/gland/slime
|
||||
origin_tech = "materials=4;biotech=6;abductor=3"
|
||||
cooldown_low = 600
|
||||
cooldown_high = 1200
|
||||
uses = -1
|
||||
@@ -82,7 +80,7 @@
|
||||
Slime.Leader = owner
|
||||
|
||||
/obj/item/organ/gland/mindshock
|
||||
origin_tech = "materials=4;biotech=5;magnets=3;abductor=3"
|
||||
origin_tech = "materials=4;biotech=4;magnets=6;abductor=3"
|
||||
cooldown_low = 300
|
||||
cooldown_high = 300
|
||||
uses = -1
|
||||
@@ -99,7 +97,6 @@
|
||||
H.confused += 20
|
||||
|
||||
/obj/item/organ/gland/pop
|
||||
origin_tech = "materials=4;biotech=6;abductor=3"
|
||||
cooldown_low = 900
|
||||
cooldown_high = 1800
|
||||
uses = 6
|
||||
@@ -112,7 +109,7 @@
|
||||
owner.set_species(species)
|
||||
|
||||
/obj/item/organ/gland/ventcrawling
|
||||
origin_tech = "materials=4;biotech=5;bluespace=3;abductor=3"
|
||||
origin_tech = "materials=4;biotech=5;bluespace=4;abductor=3"
|
||||
cooldown_low = 1800
|
||||
cooldown_high = 2400
|
||||
uses = 1
|
||||
@@ -125,7 +122,6 @@
|
||||
|
||||
|
||||
/obj/item/organ/gland/viral
|
||||
origin_tech = "materials=4;biotech=6;abductor=3"
|
||||
cooldown_low = 1800
|
||||
cooldown_high = 2400
|
||||
uses = 1
|
||||
@@ -143,7 +139,7 @@
|
||||
|
||||
|
||||
/obj/item/organ/gland/emp //TODO : Replace with something more interesting
|
||||
origin_tech = "materials=4;biotech=5;magnets=3;abductor=3"
|
||||
origin_tech = "materials=4;biotech=4;magnets=6;abductor=3"
|
||||
cooldown_low = 900
|
||||
cooldown_high = 1600
|
||||
uses = 10
|
||||
@@ -154,7 +150,6 @@
|
||||
empulse(get_turf(owner), 2, 5, 1)
|
||||
|
||||
/obj/item/organ/gland/spiderman
|
||||
origin_tech = "materials=4;biotech=6;abductor=3"
|
||||
cooldown_low = 450
|
||||
cooldown_high = 900
|
||||
uses = 10
|
||||
@@ -166,7 +161,6 @@
|
||||
new /obj/effect/spider/spiderling(owner.loc)
|
||||
|
||||
/obj/item/organ/gland/egg
|
||||
origin_tech = "materials=4;biotech=6;abductor=3"
|
||||
cooldown_low = 300
|
||||
cooldown_high = 400
|
||||
uses = -1
|
||||
@@ -179,7 +173,6 @@
|
||||
egg.desc += " It smells bad."
|
||||
|
||||
/obj/item/organ/gland/bloody
|
||||
origin_tech = "materials=4;biotech=6;abductor=3"
|
||||
cooldown_low = 200
|
||||
cooldown_high = 400
|
||||
uses = -1
|
||||
@@ -201,7 +194,6 @@
|
||||
H.update_inv_w_uniform(0)
|
||||
|
||||
/obj/item/organ/gland/bodysnatch
|
||||
origin_tech = "materials=4;biotech=7;abductor=3"
|
||||
cooldown_low = 600
|
||||
cooldown_high = 600
|
||||
human_only = 1
|
||||
@@ -255,7 +247,7 @@
|
||||
/obj/item/organ/gland/plasma
|
||||
cooldown_low = 2400
|
||||
cooldown_high = 3000
|
||||
origin_tech = "materials=4;biotech=5;plasmatech=3;abductor=3"
|
||||
origin_tech = "materials=4;biotech=4;plasmatech=6;abductor=3"
|
||||
uses = 1
|
||||
|
||||
/obj/item/organ/gland/plasma/activate()
|
||||
@@ -270,4 +262,4 @@
|
||||
if(istype(T))
|
||||
T.atmos_spawn_air("plasma=300;TEMP=[T20C]")
|
||||
owner.gib()
|
||||
return
|
||||
return
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
desc = "Still it beats furiously, emanating an aura of utter hate."
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
icon_state = "demon_heart-on"
|
||||
origin_tech = "combat=5;biotech=8"
|
||||
origin_tech = "combat=5;biotech=7"
|
||||
|
||||
/obj/item/organ/heart/demon/update_icon()
|
||||
return //always beating visually
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefact's power."
|
||||
w_class = 1
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "bluespace=4;materials=4"
|
||||
origin_tech = "bluespace=4;materials=5"
|
||||
var/usability = 0
|
||||
|
||||
/obj/item/device/soulstone/anybody
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
/obj/item/weapon/circuitboard/machine/sleeper
|
||||
name = "circuit board (Sleeper)"
|
||||
build_path = /obj/machinery/sleeper
|
||||
origin_tech = "programming=3;biotech=2;engineering=3;materials=3"
|
||||
origin_tech = "programming=3;biotech=2;engineering=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
|
||||
@@ -40,7 +40,7 @@ var/list/announcement_systems = list()
|
||||
/obj/item/weapon/circuitboard/machine/announcement_system
|
||||
name = "circuit board (Announcement System)"
|
||||
build_path = /obj/machinery/announcement_system
|
||||
origin_tech = "programming=3;bluespace=2"
|
||||
origin_tech = "programming=3;bluespace=3;magnets=2"
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
@@ -183,4 +183,4 @@ var/list/announcement_systems = list()
|
||||
/obj/machinery/announcement_system/emag_act()
|
||||
if(!emagged)
|
||||
emagged = 1
|
||||
act_up()
|
||||
act_up()
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
idle_power_usage = 10
|
||||
active_power_usage = 100
|
||||
var/busy = 0
|
||||
var/prod_coeff
|
||||
var/prod_coeff = 1
|
||||
|
||||
var/datum/design/being_built
|
||||
var/datum/research/files
|
||||
@@ -196,18 +196,18 @@
|
||||
return
|
||||
/////////////////
|
||||
|
||||
var/coeff = (is_stack ? 1 : 2 ** prod_coeff) //stacks are unaffected by production coefficient
|
||||
var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient
|
||||
var/metal_cost = being_built.materials[MAT_METAL]
|
||||
var/glass_cost = being_built.materials[MAT_GLASS]
|
||||
|
||||
var/power = max(2000, (metal_cost+glass_cost)*multiplier/5)
|
||||
|
||||
if((materials.amount(MAT_METAL) >= metal_cost*multiplier/coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier/coeff))
|
||||
if((materials.amount(MAT_METAL) >= metal_cost*multiplier*coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier*coeff))
|
||||
busy = 1
|
||||
use_power(power)
|
||||
icon_state = "autolathe"
|
||||
flick("autolathe_n",src)
|
||||
spawn(32/coeff)
|
||||
spawn(32*coeff)
|
||||
use_power(power)
|
||||
if(is_stack)
|
||||
var/list/materials_used = list(MAT_METAL=metal_cost*multiplier, MAT_GLASS=glass_cost*multiplier)
|
||||
@@ -221,7 +221,7 @@
|
||||
if(istype(S, N.merge_type))
|
||||
N.merge(S)
|
||||
else
|
||||
var/list/materials_used = list(MAT_METAL=metal_cost/coeff, MAT_GLASS=glass_cost/coeff)
|
||||
var/list/materials_used = list(MAT_METAL=metal_cost*coeff, MAT_GLASS=glass_cost*coeff)
|
||||
materials.use_amount(materials_used)
|
||||
var/obj/item/new_item = new being_built.build_path(T)
|
||||
new_item.materials = materials_used.Copy()
|
||||
@@ -244,14 +244,14 @@
|
||||
return
|
||||
|
||||
/obj/machinery/autolathe/RefreshParts()
|
||||
var/tot_rating = 0
|
||||
prod_coeff = 0
|
||||
var/T =1.2
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts)
|
||||
tot_rating += MB.rating
|
||||
tot_rating *= 25000
|
||||
materials.max_amount = tot_rating * 3
|
||||
T += MB.rating*75000
|
||||
materials.max_amount = T
|
||||
T=1.2
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
prod_coeff += M.rating - 1
|
||||
T -= M.rating*0.2
|
||||
prod_coeff = min(1,max(0,T)) // Coeff going 1 -> 0,8 -> 0,6 -> 0,4
|
||||
|
||||
/obj/machinery/autolathe/proc/main_win(mob/user)
|
||||
var/dat = "<div class='statusDisplay'><h3>Autolathe Menu:</h3><br>"
|
||||
@@ -341,21 +341,21 @@
|
||||
return dat
|
||||
|
||||
/obj/machinery/autolathe/proc/can_build(datum/design/D)
|
||||
var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : 2 ** prod_coeff)
|
||||
var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : prod_coeff)
|
||||
|
||||
if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] / coeff)))
|
||||
if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] * coeff)))
|
||||
return 0
|
||||
if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] / coeff)))
|
||||
if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] * coeff)))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/machinery/autolathe/proc/get_design_cost(datum/design/D)
|
||||
var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : 2 ** prod_coeff)
|
||||
var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : prod_coeff)
|
||||
var/dat
|
||||
if(D.materials[MAT_METAL])
|
||||
dat += "[D.materials[MAT_METAL] / coeff] metal "
|
||||
dat += "[D.materials[MAT_METAL] * coeff] metal "
|
||||
if(D.materials[MAT_GLASS])
|
||||
dat += "[D.materials[MAT_GLASS] / coeff] glass"
|
||||
dat += "[D.materials[MAT_GLASS] * coeff] glass"
|
||||
return dat
|
||||
|
||||
/obj/machinery/autolathe/proc/reset(wire)
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
/obj/item/weapon/circuitboard/machine/clonepod
|
||||
name = "circuit board (Clone Pod)"
|
||||
build_path = /obj/machinery/clonepod
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 2,
|
||||
|
||||
@@ -140,26 +140,28 @@
|
||||
/obj/item/weapon/circuitboard/computer/telesci_console
|
||||
name = "circuit board (Telescience Console)"
|
||||
build_path = /obj/machinery/computer/telescience
|
||||
origin_tech = "programming=3;bluespace=2"
|
||||
origin_tech = "programming=3;bluespace=3;plasmatech=4"
|
||||
/obj/item/weapon/circuitboard/computer/message_monitor
|
||||
name = "circuit board (Message Monitor)"
|
||||
build_path = /obj/machinery/computer/message_monitor
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = "programming=2"
|
||||
/obj/item/weapon/circuitboard/computer/security
|
||||
name = "circuit board (Security Cameras)"
|
||||
build_path = /obj/machinery/computer/security
|
||||
origin_tech = "programming=2;combat=2"
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/aiupload
|
||||
name = "circuit board (AI Upload)"
|
||||
build_path = /obj/machinery/computer/upload/ai
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = "programming=4;engineering=4"
|
||||
/obj/item/weapon/circuitboard/computer/borgupload
|
||||
name = "circuit board (Cyborg Upload)"
|
||||
build_path = /obj/machinery/computer/upload/borg
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = "programming=4;engineering=4"
|
||||
/obj/item/weapon/circuitboard/computer/med_data
|
||||
name = "circuit board (Medical Records Console)"
|
||||
build_path = /obj/machinery/computer/med_data
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
/obj/item/weapon/circuitboard/computer/pandemic
|
||||
name = "circuit board (PanD.E.M.I.C. 2200)"
|
||||
build_path = /obj/machinery/computer/pandemic
|
||||
@@ -171,12 +173,13 @@
|
||||
/obj/item/weapon/circuitboard/computer/communications
|
||||
name = "circuit board (Communications)"
|
||||
build_path = /obj/machinery/computer/communications
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
origin_tech = "programming=3;magnets=3"
|
||||
var/lastTimeUsed = 0
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/card
|
||||
name = "circuit board (ID Console)"
|
||||
build_path = /obj/machinery/computer/card
|
||||
origin_tech = "programming=3"
|
||||
/obj/item/weapon/circuitboard/computer/card/centcom
|
||||
name = "circuit board (Centcom ID Console)"
|
||||
build_path = /obj/machinery/computer/card/centcom
|
||||
@@ -204,10 +207,11 @@
|
||||
/obj/item/weapon/circuitboard/computer/teleporter
|
||||
name = "circuit board (Teleporter)"
|
||||
build_path = /obj/machinery/computer/teleporter
|
||||
origin_tech = "programming=2;bluespace=2"
|
||||
origin_tech = "programming=3;bluespace=3;plasmatech=3"
|
||||
/obj/item/weapon/circuitboard/computer/secure_data
|
||||
name = "circuit board (Security Records Console)"
|
||||
build_path = /obj/machinery/computer/secure_data
|
||||
origin_tech = "programming=2;combat=2"
|
||||
/obj/item/weapon/circuitboard/computer/stationalert
|
||||
name = "circuit board (Station Alerts)"
|
||||
build_path = /obj/machinery/computer/station_alert
|
||||
@@ -234,7 +238,7 @@
|
||||
/obj/item/weapon/circuitboard/computer/cloning
|
||||
name = "circuit board (Cloning)"
|
||||
build_path = /obj/machinery/computer/cloning
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
/obj/item/weapon/circuitboard/computer/arcade/battle
|
||||
name = "circuit board (Arcade Battle)"
|
||||
build_path = /obj/machinery/computer/arcade/battle
|
||||
@@ -242,6 +246,7 @@
|
||||
/obj/item/weapon/circuitboard/computer/arcade/orion_trail
|
||||
name = "circuit board (Orion Trail)"
|
||||
build_path = /obj/machinery/computer/arcade/orion_trail
|
||||
origin_tech = "programming=1"
|
||||
/obj/item/weapon/circuitboard/computer/turbine_control
|
||||
name = "circuit board (Turbine control)"
|
||||
build_path = /obj/machinery/computer/turbine_computer
|
||||
@@ -252,6 +257,7 @@
|
||||
/obj/item/weapon/circuitboard/computer/powermonitor
|
||||
name = "circuit board (Power Monitor)" //name fixed 250810
|
||||
build_path = /obj/machinery/computer/monitor
|
||||
origin_tech = "programming=2;powerstorage=2"
|
||||
/obj/item/weapon/circuitboard/computer/olddoor
|
||||
name = "circuit board (DoorMex)"
|
||||
build_path = /obj/machinery/computer/pod/old
|
||||
@@ -292,11 +298,11 @@
|
||||
/obj/item/weapon/circuitboard/computer/crew
|
||||
name = "circuit board (Crew Monitoring Console)"
|
||||
build_path = /obj/machinery/computer/crew
|
||||
origin_tech = "programming=3;biotech=2;magnets=2"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
/obj/item/weapon/circuitboard/computer/mech_bay_power_console
|
||||
name = "circuit board (Mech Bay Power Control Console)"
|
||||
build_path = /obj/machinery/computer/mech_bay_power_console
|
||||
origin_tech = "programming=2;powerstorage=3"
|
||||
origin_tech = "programming=3;powerstorage=3"
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/cargo
|
||||
name = "circuit board (Supply Console)"
|
||||
@@ -328,18 +334,18 @@
|
||||
/obj/item/weapon/circuitboard/computer/operating
|
||||
name = "circuit board (Operating Computer)"
|
||||
build_path = /obj/machinery/computer/operating
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
origin_tech = "programming=2;biotech=3"
|
||||
/obj/item/weapon/circuitboard/computer/mining
|
||||
name = "circuit board (Outpost Status Display)"
|
||||
build_path = /obj/machinery/computer/security/mining
|
||||
/obj/item/weapon/circuitboard/computer/comm_monitor
|
||||
name = "circuit board (Telecommunications Monitor)"
|
||||
build_path = /obj/machinery/computer/telecomms/monitor
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = "programming=3;magnets=3;bluespace=2"
|
||||
/obj/item/weapon/circuitboard/computer/comm_server
|
||||
name = "circuit board (Telecommunications Server Monitor)"
|
||||
build_path = /obj/machinery/computer/telecomms/server
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = "programming=3;magnets=3;bluespace=2"
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/shuttle
|
||||
name = "circuit board (Shuttle)"
|
||||
@@ -382,7 +388,7 @@
|
||||
/obj/item/weapon/circuitboard/computer/aifixer
|
||||
name = "circuit board (AI Integrity Restorer)"
|
||||
build_path = /obj/machinery/computer/aifixer
|
||||
origin_tech = "programming=3;biotech=2"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
/*/obj/item/weapon/circuitboard/computer/prison_shuttle
|
||||
name = "circuit board (Prison Shuttle)"
|
||||
build_path = /obj/machinery/computer/prison_shuttle*/
|
||||
@@ -407,4 +413,4 @@
|
||||
build_path = /obj/machinery/computer/libraryconsole/bookmanagement
|
||||
user << "<span class='notice'>Access protocols successfully updated.</span>"
|
||||
else
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
@@ -398,11 +398,17 @@
|
||||
if("se")
|
||||
if(buffer_slot["SE"])
|
||||
I = new /obj/item/weapon/dnainjector/timed(loc)
|
||||
var/powers = 0
|
||||
for(var/datum/mutation/human/HM in good_mutations + bad_mutations + not_good_mutations)
|
||||
if(HM.check_block_string(buffer_slot["SE"]))
|
||||
I.add_mutations.Add(HM)
|
||||
if(HM in good_mutations)
|
||||
powers += 1
|
||||
if(HM in bad_mutations + not_good_mutations)
|
||||
powers -= 1 //To prevent just unlocking everything to get all powers to a syringe for max tech
|
||||
else
|
||||
I.remove_mutations.Add(HM)
|
||||
I.origin_tech = "biotech=2;engineering=[max(1,min(6,powers))]" //With 6 powers available this tech level will be 1-6, also safety check if new powers get added
|
||||
var/time_coeff
|
||||
for(var/datum/mutation/human/HM in I.add_mutations)
|
||||
if(!time_coeff)
|
||||
@@ -593,4 +599,4 @@
|
||||
|
||||
//#undef BAD_MUTATION_DIFFICULTY
|
||||
//#undef GOOD_MUTATION_DIFFICULTY
|
||||
//#undef OP_MUTATION_DIFFICULTY
|
||||
//#undef OP_MUTATION_DIFFICULTY
|
||||
|
||||
@@ -62,9 +62,6 @@
|
||||
return amt
|
||||
|
||||
/obj/structure/frame/machine/attackby(obj/item/P, mob/user, params)
|
||||
if(P.crit_fail)
|
||||
user << "<span class='warning'>This part is faulty, you cannot add this to the machine!</span>"
|
||||
return
|
||||
switch(state)
|
||||
if(1)
|
||||
if(istype(P, /obj/item/weapon/circuitboard/machine))
|
||||
@@ -193,11 +190,10 @@
|
||||
for(var/path in req_components)
|
||||
while(req_components[path] > 0 && (locate(path) in part_list))
|
||||
var/obj/item/part = (locate(path) in part_list)
|
||||
if(!part.crit_fail)
|
||||
added_components[part] = path
|
||||
replacer.remove_from_storage(part, src)
|
||||
req_components[path]--
|
||||
part_list -= part
|
||||
added_components[part] = path
|
||||
replacer.remove_from_storage(part, src)
|
||||
req_components[path]--
|
||||
part_list -= part
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/part in added_components)
|
||||
components += part
|
||||
@@ -268,7 +264,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||
/obj/item/weapon/circuitboard/machine/smes
|
||||
name = "circuit board (SMES)"
|
||||
build_path = /obj/machinery/power/smes
|
||||
origin_tech = "programming=4;powerstorage=5;engineering=5"
|
||||
origin_tech = "programming=3;powerstorage=3;engineering=3"
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 5,
|
||||
/obj/item/weapon/stock_parts/cell = 5,
|
||||
@@ -277,7 +273,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||
/obj/item/weapon/circuitboard/machine/teleporter_hub
|
||||
name = "circuit board (Teleporter Hub)"
|
||||
build_path = /obj/machinery/teleport/hub
|
||||
origin_tech = "programming=3;engineering=5;bluespace=5;materials=4"
|
||||
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
|
||||
req_components = list(
|
||||
/obj/item/weapon/ore/bluespace_crystal = 3,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1)
|
||||
@@ -285,7 +281,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||
/obj/item/weapon/circuitboard/machine/teleporter_station
|
||||
name = "circuit board (Teleporter Station)"
|
||||
build_path = /obj/machinery/teleport/station
|
||||
origin_tech = "programming=4;engineering=4;bluespace=4"
|
||||
origin_tech = "programming=4;engineering=4;bluespace=4;plasmatech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/ore/bluespace_crystal = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 2,
|
||||
@@ -294,7 +290,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||
/obj/item/weapon/circuitboard/machine/chem_dispenser
|
||||
name = "circuit board (Portable Chem Dispenser)"
|
||||
build_path = /obj/machinery/chem_dispenser/constructable
|
||||
origin_tech = "materials=4;engineering=4;programming=4;plasmatech=3;biotech=3"
|
||||
origin_tech = "materials=4;programming=4;plasmatech=4;biotech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
@@ -305,9 +301,9 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||
/obj/item/weapon/circuitboard/machine/telesci_pad
|
||||
name = "circuit board (Telepad)"
|
||||
build_path = /obj/machinery/telepad
|
||||
origin_tech = "programming=4;engineering=3;materials=3;bluespace=4"
|
||||
origin_tech = "programming=4;engineering=3;plasmatech=4;bluespace=4"
|
||||
req_components = list(
|
||||
/obj/item/weapon/ore/bluespace_crystal = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
@@ -352,8 +352,6 @@ Class Procs:
|
||||
M.state = 2
|
||||
M.icon_state = "box_1"
|
||||
for(var/obj/item/I in component_parts)
|
||||
if(I.reliability != 100 && crit_fail)
|
||||
I.crit_fail = 1
|
||||
I.loc = loc
|
||||
qdel(src)
|
||||
|
||||
@@ -391,10 +389,12 @@ Class Procs:
|
||||
return 0
|
||||
|
||||
/obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W)
|
||||
if(flags & NODECONSTRUCT)
|
||||
if(!istype(W))
|
||||
return
|
||||
if((flags & NODECONSTRUCT) && !W.works_from_distance)
|
||||
return
|
||||
var/shouldplaysound = 0
|
||||
if(istype(W) && component_parts)
|
||||
if(component_parts)
|
||||
if(panel_open || W.works_from_distance)
|
||||
var/obj/item/weapon/circuitboard/machine/CB = locate(/obj/item/weapon/circuitboard/machine) in component_parts
|
||||
var/P
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
/obj/item/weapon/circuitboard/machine/recharger
|
||||
name = "circuit board (Weapon Recharger)"
|
||||
build_path = /obj/machinery/recharger
|
||||
origin_tech = "powerstorage=3;engineering=3;materials=4"
|
||||
origin_tech = "powerstorage=4;engineering=3;materials=4"
|
||||
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/machinery/recharger/RefreshParts()
|
||||
@@ -163,4 +163,4 @@
|
||||
else
|
||||
icon_state = "recharger2"
|
||||
return
|
||||
icon_state = "recharger0"
|
||||
icon_state = "recharger0"
|
||||
|
||||
@@ -28,7 +28,7 @@ var/const/SAFETY_COOLDOWN = 100
|
||||
/obj/item/weapon/circuitboard/machine/recycler
|
||||
name = "circuit board (Recycler)"
|
||||
build_path = /obj/machinery/recycler
|
||||
origin_tech = "programming=1"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
/obj/item/weapon/circuitboard/machine/space_heater
|
||||
name = "circuit board (Space Heater)"
|
||||
build_path = /obj/machinery/space_heater
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
origin_tech = "programming=2;engineering=2;plasmatech=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "beacon"
|
||||
desc = "A label on it reads: <i>Warning: Activating this device will send a special beacon to your location</i>."
|
||||
origin_tech = "bluespace=1;syndicate=7"
|
||||
origin_tech = "bluespace=6;syndicate=5"
|
||||
w_class = 2
|
||||
var/droptype = /obj/machinery/power/singularity_beacon/syndicate
|
||||
|
||||
@@ -217,7 +217,9 @@
|
||||
/obj/item/device/sbeacondrop/bomb
|
||||
desc = "A label on it reads: <i>Warning: Activating this device will send a high-ordinance explosive to your location</i>."
|
||||
droptype = /obj/machinery/syndicatebomb
|
||||
origin_tech = "bluespace=5;syndicate=5"
|
||||
|
||||
/obj/item/device/sbeacondrop/powersink
|
||||
desc = "A label on it reads: <i>Warning: Activating this device will send a power draining device to your location</i>."
|
||||
droptype = /obj/item/device/powersink
|
||||
origin_tech = "bluespace=4;syndicate=5"
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
icon_state = "bombcore"
|
||||
item_state = "eshield0"
|
||||
w_class = 3
|
||||
origin_tech = "syndicate=6;combat=5"
|
||||
origin_tech = "syndicate=5;combat=6"
|
||||
burn_state = FLAMMABLE //Burnable (but the casing isn't)
|
||||
var/adminlog = null
|
||||
|
||||
@@ -465,7 +465,7 @@
|
||||
icon_state = "bigred"
|
||||
item_state = "electronic"
|
||||
w_class = 1
|
||||
origin_tech = "syndicate=2"
|
||||
origin_tech = "syndicate=3"
|
||||
var/cooldown = 0
|
||||
var/detonated = 0
|
||||
var/existant = 0
|
||||
|
||||
@@ -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 = "materials=2;engineering=2"
|
||||
var/equip_cooldown = 0 // cooldown after use
|
||||
var/equip_ready = 1 //whether the equipment is ready for use. (or deactivated/activated for static stuff)
|
||||
var/energy_drain = 0
|
||||
@@ -155,4 +154,4 @@
|
||||
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/proc/needs_rearm()
|
||||
return 0
|
||||
return 0
|
||||
|
||||
@@ -34,10 +34,9 @@
|
||||
desc = "Equipment for medical exosuits. A mounted sleeper that stabilizes patients and can inject reagents in the exosuit's reserves."
|
||||
icon = 'icons/obj/Cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
origin_tech = "programming=2;biotech=3"
|
||||
origin_tech = "engineering=3;biotech=3;plasmatech=2"
|
||||
energy_drain = 20
|
||||
range = MELEE
|
||||
reliability = 1000
|
||||
equip_cooldown = 20
|
||||
var/mob/living/carbon/patient = null
|
||||
var/inject_amount = 10
|
||||
@@ -260,7 +259,7 @@
|
||||
var/mode = 0 //0 - fire syringe, 1 - analyze reagents.
|
||||
range = MELEE|RANGED
|
||||
equip_cooldown = 10
|
||||
origin_tech = "materials=3;biotech=4;magnets=4;programming=3"
|
||||
origin_tech = "materials=3;biotech=4;magnets=4"
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/New()
|
||||
..()
|
||||
@@ -523,8 +522,6 @@
|
||||
log_message("Reagent processing stopped.")
|
||||
SSobj.processing -= src
|
||||
return
|
||||
if(anyprob(reliability))
|
||||
critfail()
|
||||
var/amount = synth_speed / processed_reagents.len
|
||||
for(var/reagent in processed_reagents)
|
||||
reagents.add_reagent(reagent,amount)
|
||||
|
||||
@@ -96,22 +96,19 @@
|
||||
target.updatehealth()
|
||||
|
||||
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill
|
||||
name = "diamond-tipped exosuit drill"
|
||||
desc = "Equipment for engineering and combat exosuits. This is an upgraded version of the drill that'll pierce the heavens!"
|
||||
icon_state = "mecha_diamond_drill"
|
||||
origin_tech = "materials=4;engineering=3"
|
||||
origin_tech = "materials=4;engineering=4"
|
||||
equip_cooldown = 20
|
||||
force = 15
|
||||
|
||||
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/mining_scanner
|
||||
name = "exosuit mining scanner"
|
||||
desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals."
|
||||
icon_state = "mecha_analyzer"
|
||||
origin_tech = "materials=3;engineering=2"
|
||||
selectable = 0
|
||||
equip_cooldown = 30
|
||||
var/scanning = 0
|
||||
@@ -146,5 +143,3 @@
|
||||
mineral_scan_pulse(L,get_turf(loc))
|
||||
spawn(equip_cooldown)
|
||||
scanning = 0
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
name = "mounted 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 = "bluespace=7"
|
||||
equip_cooldown = 150
|
||||
energy_drain = 1000
|
||||
range = RANGED
|
||||
@@ -28,7 +28,7 @@
|
||||
name = "mounted wormhole generator"
|
||||
desc = "An exosuit module that allows generating of small quasi-stable wormholes."
|
||||
icon_state = "mecha_wholegen"
|
||||
origin_tech = "bluespace=3"
|
||||
origin_tech = "bluespace=4;magnets=4;plasmatech=2"
|
||||
equip_cooldown = 50
|
||||
energy_drain = 300
|
||||
range = RANGED
|
||||
@@ -78,7 +78,7 @@
|
||||
name = "mounted gravitational catapult"
|
||||
desc = "An exosuit mounted Gravitational Catapult."
|
||||
icon_state = "mecha_teleport"
|
||||
origin_tech = "bluespace=2;magnets=3"
|
||||
origin_tech = "bluespace=3;magnets=3;engineering=4"
|
||||
equip_cooldown = 10
|
||||
energy_drain = 100
|
||||
range = MELEE|RANGED
|
||||
@@ -146,7 +146,7 @@
|
||||
name = "armor booster module (Close Combat Weaponry)"
|
||||
desc = "Boosts exosuit armor against armed melee attacks. Requires energy to operate."
|
||||
icon_state = "mecha_abooster_ccw"
|
||||
origin_tech = "materials=3"
|
||||
origin_tech = "materials=4;combat=4"
|
||||
equip_cooldown = 10
|
||||
energy_drain = 50
|
||||
range = 0
|
||||
@@ -165,7 +165,7 @@
|
||||
name = "armor booster module (Ranged Weaponry)"
|
||||
desc = "Boosts exosuit armor against ranged attacks. Completely blocks taser shots. Requires energy to operate."
|
||||
icon_state = "mecha_abooster_proj"
|
||||
origin_tech = "materials=4"
|
||||
origin_tech = "materials=4;combat=3;engineering=3"
|
||||
equip_cooldown = 10
|
||||
energy_drain = 50
|
||||
range = 0
|
||||
@@ -186,7 +186,7 @@
|
||||
name = "exosuit repair droid"
|
||||
desc = "An automated repair droid for exosuits. Scans for damage and repairs it. Can fix almost all types of external or internal damage."
|
||||
icon_state = "repair_droid"
|
||||
origin_tech = "magnets=3;programming=3"
|
||||
origin_tech = "magnets=3;programming=3;engineering=4"
|
||||
energy_drain = 50
|
||||
range = 0
|
||||
var/health_boost = 1
|
||||
@@ -271,7 +271,7 @@
|
||||
name = "exosuit energy relay"
|
||||
desc = "An exosuit module that wirelessly drains energy from any available power channel in area. The performance index is quite low."
|
||||
icon_state = "tesla"
|
||||
origin_tech = "magnets=4;powerstorage=3"
|
||||
origin_tech = "magnets=4;powerstorage=4;engineering=4"
|
||||
energy_drain = 0
|
||||
range = 0
|
||||
var/coeff = 100
|
||||
@@ -356,7 +356,7 @@
|
||||
name = "exosuit plasma converter"
|
||||
desc = "An exosuit module that generates power using solid plasma as fuel. Pollutes the environment."
|
||||
icon_state = "tesla"
|
||||
origin_tech = "plasmatech=2;powerstorage=2;engineering=1"
|
||||
origin_tech = "plasmatech=2;powerstorage=2;engineering=2"
|
||||
range = MELEE
|
||||
var/coeff = 100
|
||||
var/obj/item/stack/sheet/fuel
|
||||
@@ -364,7 +364,6 @@
|
||||
var/fuel_per_cycle_idle = 25
|
||||
var/fuel_per_cycle_active = 200
|
||||
var/power_per_cycle = 20
|
||||
reliability = 1000
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/generator/New()
|
||||
..()
|
||||
@@ -453,11 +452,6 @@
|
||||
log_message("Deactivated - no fuel.")
|
||||
set_ready_state(1)
|
||||
return
|
||||
if(anyprob(reliability))
|
||||
set_ready_state(1) //inactive
|
||||
critfail()
|
||||
SSobj.processing.Remove(src)
|
||||
return
|
||||
var/cur_charge = chassis.get_charge()
|
||||
if(isnull(cur_charge))
|
||||
set_ready_state(1)
|
||||
@@ -478,7 +472,7 @@
|
||||
name = "exonuclear reactor"
|
||||
desc = "An exosuit module that generates power using uranium as fuel. Pollutes the environment."
|
||||
icon_state = "tesla"
|
||||
origin_tech = "powerstorage=3;engineering=3"
|
||||
origin_tech = "powerstorage=4;engineering=4"
|
||||
max_fuel = 50000
|
||||
fuel_per_cycle_idle = 10
|
||||
fuel_per_cycle_active = 30
|
||||
@@ -495,5 +489,3 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/generator/nuclear/process()
|
||||
if(..())
|
||||
radiation_pulse(get_turf(src), 2, 7, rad_per_cycle, 1)
|
||||
|
||||
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
name = "mounted RCD"
|
||||
desc = "An exosuit-mounted Rapid Construction Device."
|
||||
icon_state = "mecha_rcd"
|
||||
origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
|
||||
origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4;engineering=4"
|
||||
equip_cooldown = 10
|
||||
energy_drain = 250
|
||||
range = MELEE|RANGED
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
name = "\improper CH-PS \"Immolator\" laser"
|
||||
desc = "A weapon for combat exosuits. Shoots basic lasers."
|
||||
icon_state = "mecha_laser"
|
||||
origin_tech = "magnets=3;combat=3;engineering=3"
|
||||
energy_drain = 30
|
||||
projectile = /obj/item/projectile/beam/laser
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
@@ -80,6 +81,7 @@
|
||||
name = "\improper CH-LC \"Solaris\" laser cannon"
|
||||
desc = "A weapon for combat exosuits. Shoots heavy lasers."
|
||||
icon_state = "mecha_laser"
|
||||
origin_tech = "magnets=4;combat=4;engineering=3"
|
||||
energy_drain = 60
|
||||
projectile = /obj/item/projectile/beam/laser/heavylaser
|
||||
fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
@@ -89,6 +91,7 @@
|
||||
name = "\improper MKIV ion heavy cannon"
|
||||
desc = "A weapon for combat exosuits. Shoots technology-disabling ion beams. Don't catch yourself in the blast!"
|
||||
icon_state = "mecha_ion"
|
||||
origin_tech = "materials=4;combat=5;magnets=4"
|
||||
energy_drain = 120
|
||||
projectile = /obj/item/projectile/ion
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
@@ -110,7 +113,7 @@
|
||||
icon_state = "mecha_plasmacutter"
|
||||
item_state = "plasmacutter"
|
||||
energy_drain = 60
|
||||
origin_tech = "materials=3;combat=2;powerstorage=3;plasmatech=3"
|
||||
origin_tech = "materials=3;plasmatech=4;engineering=3"
|
||||
projectile = /obj/item/projectile/plasma/adv/mech
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
|
||||
@@ -140,6 +143,7 @@
|
||||
name = "\improper PBT \"Pacifier\" mounted taser"
|
||||
desc = "A weapon for combat exosuits. Shoots non-lethal stunning electrodes."
|
||||
icon_state = "mecha_taser"
|
||||
origin_tech = "combat=3"
|
||||
energy_drain = 20
|
||||
equip_cooldown = 8
|
||||
projectile = /obj/item/projectile/energy/electrode
|
||||
@@ -243,6 +247,7 @@
|
||||
name = "\improper FNX-99 \"Hades\" Carbine"
|
||||
desc = "A weapon for combat exosuits. Shoots incendiary bullets."
|
||||
icon_state = "mecha_carbine"
|
||||
origin_tech = "materials=4;combat=4"
|
||||
equip_cooldown = 5
|
||||
projectile = /obj/item/projectile/bullet/incendiary/shell/dragonsbreath
|
||||
projectiles = 24
|
||||
@@ -262,6 +267,7 @@
|
||||
name = "\improper LBX AC 10 \"Scattershot\""
|
||||
desc = "A weapon for combat exosuits. Shoots a spread of pellets."
|
||||
icon_state = "mecha_scatter"
|
||||
origin_tech = "combat=4"
|
||||
equip_cooldown = 20
|
||||
projectile = /obj/item/projectile/bullet/midbullet
|
||||
projectiles = 40
|
||||
@@ -273,6 +279,7 @@
|
||||
name = "\improper Ultra AC 2"
|
||||
desc = "A weapon for combat exosuits. Shoots a rapid, three shot burst."
|
||||
icon_state = "mecha_uac2"
|
||||
origin_tech = "combat=4"
|
||||
equip_cooldown = 10
|
||||
projectile = /obj/item/projectile/bullet/weakbullet3
|
||||
projectiles = 300
|
||||
@@ -305,6 +312,7 @@
|
||||
name = "\improper SRM-8 missile rack"
|
||||
desc = "A weapon for combat exosuits. Shoots light explosive missiles."
|
||||
icon_state = "mecha_missilerack"
|
||||
origin_tech = "combat=5;materials=4;engineering=4"
|
||||
projectile = /obj/item/missile
|
||||
fire_sound = 'sound/weapons/grenadelaunch.ogg'
|
||||
projectiles = 8
|
||||
@@ -334,6 +342,7 @@
|
||||
name = "\improper SGL-6 grenade launcher"
|
||||
desc = "A weapon for combat exosuits. Launches primed flashbangs."
|
||||
icon_state = "mecha_grenadelnchr"
|
||||
origin_tech = "combat=4;engineering=4"
|
||||
projectile = /obj/item/weapon/grenade/flashbang
|
||||
fire_sound = 'sound/weapons/grenadelaunch.ogg'
|
||||
projectiles = 6
|
||||
@@ -354,6 +363,7 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang //Because I am a heartless bastard -Sieve //Heartless? for making the poor man's honkblast? - Kaze
|
||||
name = "\improper SOB-3 grenade launcher"
|
||||
desc = "A weapon for combat exosuits. Launches primed clusterbangs. You monster."
|
||||
origin_tech = "combat=4;materials=4"
|
||||
projectiles = 3
|
||||
projectile = /obj/item/weapon/grenade/clusterbuster
|
||||
projectile_energy_cost = 1600 //getting off cheap seeing as this is 3 times the flashbangs held in the grenade launcher.
|
||||
@@ -395,4 +405,3 @@
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar/proj_init(var/obj/item/device/assembly/mousetrap/armed/M)
|
||||
M.secured = 1
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
/obj/item/weapon/circuitboard/machine/mech_recharger
|
||||
name = "circuit board (Mechbay Recharger)"
|
||||
build_path = /obj/machinery/mech_bay_recharge_port
|
||||
origin_tech = "programming=3;powerstorage=4;engineering=4"
|
||||
origin_tech = "programming=3;powerstorage=3;engineering=3"
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 5)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
active_power_usage = 5000
|
||||
req_access = list(access_robotics)
|
||||
var/time_coeff = 1
|
||||
var/component_coeff = 1
|
||||
var/list/resources = list(
|
||||
MAT_METAL=0,
|
||||
MAT_GLASS=0,
|
||||
@@ -53,7 +54,7 @@
|
||||
/obj/item/weapon/circuitboard/machine/mechfab
|
||||
name = "circuit board (Exosuit Fabricator)"
|
||||
build_path = /obj/machinery/mecha_part_fabricator
|
||||
origin_tech = "programming=3;engineering=3"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
@@ -68,6 +69,12 @@
|
||||
T += M.rating
|
||||
res_max_amount = (187000+(T * 37500))
|
||||
|
||||
//resources adjustment coefficient (1 -> 0.85 -> 0.7 -> 0.55)
|
||||
T = 1.15
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/Ma in component_parts)
|
||||
T -= Ma.rating*0.15
|
||||
component_coeff = T
|
||||
|
||||
//building time adjustment coefficient (1 -> 0.8 -> 0.6)
|
||||
T = -1
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/Ml in component_parts)
|
||||
@@ -266,7 +273,7 @@
|
||||
return
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(datum/design/D, resource, roundto = 1)
|
||||
return round(D.materials[resource], roundto)
|
||||
return round(D.materials[resource]*component_coeff, roundto)
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/proc/get_construction_time_w_coeff(datum/design/D, roundto = 1) //aran
|
||||
return round(initial(D.construction_time)*time_coeff, roundto)
|
||||
|
||||
@@ -164,7 +164,6 @@
|
||||
WR.crowbar_salvage += E
|
||||
E.detach(WR) //detaches from src into WR
|
||||
E.equip_ready = 1
|
||||
E.reliability = round(rand(E.reliability/3,E.reliability))
|
||||
else
|
||||
E.detach(loc)
|
||||
qdel(E)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
icon_state = "blank"
|
||||
w_class = 6
|
||||
flags = CONDUCT
|
||||
origin_tech = "programming=2;materials=2"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
|
||||
/obj/item/mecha_parts/chassis
|
||||
name="Mecha Chassis"
|
||||
@@ -41,25 +41,61 @@
|
||||
name = "\improper 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"
|
||||
|
||||
/obj/item/mecha_parts/part/ripley_right_arm
|
||||
name = "\improper 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"
|
||||
|
||||
/obj/item/mecha_parts/part/ripley_left_leg
|
||||
name = "\improper 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"
|
||||
|
||||
/obj/item/mecha_parts/part/ripley_right_leg
|
||||
name = "\improper 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"
|
||||
|
||||
///////// Odysseus
|
||||
|
||||
/obj/item/mecha_parts/chassis/odysseus
|
||||
name = "\improper Odysseus chassis"
|
||||
|
||||
/obj/item/mecha_parts/chassis/odysseus/New()
|
||||
..()
|
||||
construct = new /datum/construction/mecha/odysseus_chassis(src)
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_head
|
||||
name = "\improper Odysseus head"
|
||||
desc = "An Odysseus head. Contains an integrated medical HUD scanner."
|
||||
icon_state = "odysseus_head"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_torso
|
||||
name = "\improper Odysseus torso"
|
||||
desc="A torso part of Odysseus. Contains power unit, processing core and life support systems along with an attachment port for a mounted sleeper."
|
||||
icon_state = "odysseus_torso"
|
||||
origin_tech = "programming=2;materials=2;biotech=2;engineering=2"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_left_arm
|
||||
name = "\improper Odysseus left arm"
|
||||
desc = "An Odysseus left arm. Data and power sockets are compatible with specialized medical equipment."
|
||||
icon_state = "odysseus_l_arm"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_right_arm
|
||||
name = "\improper Odysseus right arm"
|
||||
desc = "An Odysseus right arm. Data and power sockets are compatible with specialized medical equipment."
|
||||
icon_state = "odysseus_r_arm"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_left_leg
|
||||
name = "\improper Odysseus left leg"
|
||||
desc = "An Odysseus left leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients."
|
||||
icon_state = "odysseus_l_leg"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_right_leg
|
||||
name = "\improper Odysseus right leg"
|
||||
desc = "A Odysseus right leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients."
|
||||
icon_state = "odysseus_r_leg"
|
||||
|
||||
///////// Gygax
|
||||
|
||||
@@ -74,44 +110,44 @@
|
||||
name = "\improper Gygax torso"
|
||||
desc = "A torso part of Gygax. Contains power unit, processing core and life support systems."
|
||||
icon_state = "gygax_harness"
|
||||
origin_tech = "programming=2;materials=2;biotech=3;engineering=3"
|
||||
origin_tech = "programming=2;materials=4;biotech=3;engineering=3"
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_head
|
||||
name = "\improper 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 = "programming=2;materials=4;magnets=3;engineering=3"
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_left_arm
|
||||
name = "\improper 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 = "programming=2;materials=4;engineering=3"
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_right_arm
|
||||
name = "\improper 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 = "programming=2;materials=4;engineering=3"
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_left_leg
|
||||
name = "\improper Gygax left leg"
|
||||
desc = "A Gygax left leg. Constructed with advanced servomechanisms and actuators to enable faster speed."
|
||||
icon_state = "gygax_l_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=3"
|
||||
origin_tech = "programming=2;materials=4;engineering=3"
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_right_leg
|
||||
name = "\improper Gygax right leg"
|
||||
desc = "A Gygax right leg. Constructed with advanced servomechanisms and actuators to enable faster speed."
|
||||
icon_state = "gygax_r_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=3"
|
||||
origin_tech = "programming=2;materials=4;engineering=3"
|
||||
|
||||
/obj/item/mecha_parts/part/gygax_armor
|
||||
gender = PLURAL
|
||||
name = "\improper Gygax armor plates"
|
||||
desc = "A set of armor plates designed for the Gygax. Designed to effectively deflect damage with a lightweight construction."
|
||||
icon_state = "gygax_armor"
|
||||
origin_tech = "materials=6;combat=4;engineering=5"
|
||||
origin_tech = "materials=6;combat=4;engineering=4"
|
||||
|
||||
|
||||
//////////// Durand
|
||||
@@ -164,7 +200,7 @@
|
||||
name = "\improper Durand armor plates"
|
||||
desc = "A set of armor plates for the Durand. Built heavy to resist an incredible amount of brute force."
|
||||
icon_state = "durand_armor"
|
||||
origin_tech = "materials=5;combat=4;engineering=5"
|
||||
origin_tech = "materials=5;combat=4;engineering=4"
|
||||
|
||||
////////// Firefighter
|
||||
|
||||
@@ -220,7 +256,6 @@
|
||||
|
||||
/obj/item/mecha_parts/chassis/phazon
|
||||
name = "\improper Phazon chassis"
|
||||
origin_tech = "materials=6"
|
||||
|
||||
/obj/item/mecha_parts/chassis/phazon/New()
|
||||
..()
|
||||
@@ -230,88 +265,43 @@
|
||||
name="\improper Phazon torso"
|
||||
desc="A Phazon torso part. The socket for the bluespace core that powers the exosuit's unique phase drives is located in the middle."
|
||||
icon_state = "phazon_harness"
|
||||
origin_tech = "programming=5;materials=6;bluespace=5;powerstorage=5"
|
||||
origin_tech = "programming=4;materials=4;bluespace=4;plasmatech=5"
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_head
|
||||
name="\improper Phazon head"
|
||||
desc="A Phazon head. Its sensors are carefully calibrated to provide vision and data even when the exosuit is phasing."
|
||||
icon_state = "phazon_head"
|
||||
origin_tech = "programming=4;materials=5;magnets=5"
|
||||
origin_tech = "programming=3;materials=3;magnets=3"
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_left_arm
|
||||
name="\improper Phazon left arm"
|
||||
desc="A Phazon left arm. Several microtool arrays are located under the armor plating, which can be adjusted to the situation at hand."
|
||||
icon_state = "phazon_l_arm"
|
||||
origin_tech = "materials=5;bluespace=2;magnets=2"
|
||||
origin_tech = "materials=3;bluespace=3;magnets=3"
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_right_arm
|
||||
name="\improper Phazon right arm"
|
||||
desc="A Phazon right arm. Several microtool arrays are located under the armor plating, which can be adjusted to the situation at hand."
|
||||
icon_state = "phazon_r_arm"
|
||||
origin_tech = "materials=5;bluespace=2;magnets=2"
|
||||
origin_tech = "materials=3;bluespace=3;magnets=3"
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_left_leg
|
||||
name="\improper Phazon left leg"
|
||||
desc="A Phazon left leg. It contains the unique phase drives that allow the exosuit to phase through solid matter when engaged."
|
||||
icon_state = "phazon_l_leg"
|
||||
origin_tech = "materials=5;bluespace=3;magnets=3"
|
||||
origin_tech = "materials=3;bluespace=3;magnets=3"
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_right_leg
|
||||
name="\improper Phazon right leg"
|
||||
desc="A Phazon right leg. It contains the unique phase drives that allow the exosuit to phase through solid matter when engaged."
|
||||
icon_state = "phazon_r_leg"
|
||||
origin_tech = "materials=5;bluespace=3;magnets=3"
|
||||
origin_tech = "materials=3;bluespace=3;magnets=3"
|
||||
|
||||
/obj/item/mecha_parts/part/phazon_armor
|
||||
name="Phazon armor"
|
||||
desc="Phazon armor plates. They are layered with plasma to protect the pilot from the stress of phasing and have unusual properties."
|
||||
icon_state = "phazon_armor"
|
||||
origin_tech = "materials=6;bluespace=5;magnets=5"
|
||||
///////// Odysseus
|
||||
|
||||
|
||||
/obj/item/mecha_parts/chassis/odysseus
|
||||
name = "\improper Odysseus chassis"
|
||||
|
||||
/obj/item/mecha_parts/chassis/odysseus/New()
|
||||
..()
|
||||
construct = new /datum/construction/mecha/odysseus_chassis(src)
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_head
|
||||
name = "\improper Odysseus head"
|
||||
desc = "An Odysseus head. Contains an integrated medical HUD scanner."
|
||||
icon_state = "odysseus_head"
|
||||
origin_tech = "programming=3;materials=2"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_torso
|
||||
name = "\improper Odysseus torso"
|
||||
desc="A torso part of Odysseus. Contains power unit, processing core and life support systems along with an attachment port for a mounted sleeper."
|
||||
icon_state = "odysseus_torso"
|
||||
origin_tech = "programming=2;materials=2;biotech=2;engineering=2"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_left_arm
|
||||
name = "\improper Odysseus left arm"
|
||||
desc = "An Odysseus left arm. Data and power sockets are compatible with specialized medical equipment."
|
||||
icon_state = "odysseus_l_arm"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_right_arm
|
||||
name = "\improper Odysseus right arm"
|
||||
desc = "An Odysseus right arm. Data and power sockets are compatible with specialized medical equipment."
|
||||
icon_state = "odysseus_r_arm"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_left_leg
|
||||
name = "\improper Odysseus left leg"
|
||||
desc = "An Odysseus left leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients."
|
||||
icon_state = "odysseus_l_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_right_leg
|
||||
name = "\improper Odysseus right leg"
|
||||
desc = "A Odysseus right leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients."
|
||||
icon_state = "odysseus_r_leg"
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
origin_tech = "materials=4;bluespace=4;plasmatech=5"
|
||||
|
||||
|
||||
///////// Circuitboards
|
||||
@@ -329,7 +319,7 @@
|
||||
throw_range = 7
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/ripley
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = "programming=2"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/ripley/peripherals
|
||||
name = "circuit board (Ripley Peripherals Control module)"
|
||||
@@ -340,7 +330,7 @@
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/gygax
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = "programming=4;combat=3;engineering=3"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/gygax/peripherals
|
||||
name = "circuit board (Gygax Peripherals Control module)"
|
||||
@@ -356,7 +346,7 @@
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/durand
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = "programming=4;combat=3;engineering=3"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/durand/peripherals
|
||||
name = "circuit board (Durand Peripherals Control module)"
|
||||
@@ -365,14 +355,14 @@
|
||||
/obj/item/weapon/circuitboard/mecha/durand/targeting
|
||||
name = "circuit board (Durand Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
origin_tech = "programming=4;combat=4;engineering=3"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/durand/main
|
||||
name = "circuit board (Durand Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/honker
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = "programming=3;engineering=3"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/honker/peripherals
|
||||
name = "circuit board (H.O.N.K Peripherals Control module)"
|
||||
@@ -387,7 +377,7 @@
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus/peripherals
|
||||
name = "circuit board (Odysseus Peripherals Control module)"
|
||||
@@ -398,7 +388,7 @@
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/phazon
|
||||
origin_tech = "programming=5"
|
||||
origin_tech = "programming=5;plasmatech=4"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/phazon/peripherals
|
||||
name = "circuit board (Phazon Peripherals Control module)"
|
||||
@@ -409,4 +399,4 @@
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/phazon/main
|
||||
name = "circuit board (Phazon Central Control module)"
|
||||
name = "circuit board (Phazon Central Control module)"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
/obj/effect/anomaly/grav/New()
|
||||
..()
|
||||
aSignal.origin_tech = "magnets=5;powerstorage=4"
|
||||
aSignal.origin_tech = "magnets=7"
|
||||
|
||||
/obj/effect/anomaly/grav/anomalyEffect()
|
||||
..()
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
/obj/effect/anomaly/flux/New()
|
||||
..()
|
||||
aSignal.origin_tech = "powerstorage=6;programming=4;plasmatech=4"
|
||||
aSignal.origin_tech = "powerstorage=7"
|
||||
|
||||
/obj/effect/anomaly/flux/anomalyEffect()
|
||||
..()
|
||||
@@ -146,7 +146,7 @@
|
||||
|
||||
/obj/effect/anomaly/bluespace/New()
|
||||
..()
|
||||
aSignal.origin_tech = "bluespace=5;magnets=5;powerstorage=3"
|
||||
aSignal.origin_tech = "bluespace=7"
|
||||
|
||||
/obj/effect/anomaly/bluespace/anomalyEffect()
|
||||
..()
|
||||
@@ -166,7 +166,7 @@
|
||||
|
||||
/obj/effect/anomaly/pyro/New()
|
||||
..()
|
||||
aSignal.origin_tech = "plasmatech=5;powerstorage=4;biotech=6"
|
||||
aSignal.origin_tech = "plasmatech=7"
|
||||
|
||||
/obj/effect/anomaly/pyro/anomalyEffect()
|
||||
..()
|
||||
@@ -183,7 +183,7 @@
|
||||
|
||||
/obj/effect/anomaly/bhole/New()
|
||||
..()
|
||||
aSignal.origin_tech = "materials=5;combat=4;engineering=4"
|
||||
aSignal.origin_tech = "engineering=7"
|
||||
|
||||
/obj/effect/anomaly/bhole/anomalyEffect()
|
||||
..()
|
||||
@@ -231,4 +231,4 @@
|
||||
//Damaging the turf
|
||||
if( T && prob(turf_removal_chance) )
|
||||
T.ex_act(ex_act_force)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -55,7 +55,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
|
||||
var/put_on_delay = 20
|
||||
var/breakouttime = 0
|
||||
var/list/materials = list()
|
||||
var/reliability = 100 //Used by SOME devices to determine how reliable they are.
|
||||
var/origin_tech = null //Used by R&D to determine what research bonuses it grants.
|
||||
var/needs_permit = 0 //Used by security bots to determine if this item is safe for public use.
|
||||
|
||||
@@ -202,9 +201,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
|
||||
var/list/techlvls = params2list(origin_tech)
|
||||
for(var/T in techlvls) //This needs to use the better names.
|
||||
msg += "Tech: [CallTechName(T)] | magnitude: [techlvls[T]] <BR>"
|
||||
msg += "Research reliability: [reliability]% <BR>"
|
||||
if(crit_fail)
|
||||
msg += "<span class='danger'>Critical failure detected in subject!</span><BR>"
|
||||
else
|
||||
msg += "<span class='danger'>No tech origins detected.</span><BR>"
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@
|
||||
icon_state = "bluebodybag_folded"
|
||||
unfoldedbag_path = /obj/structure/closet/body_bag/bluespace
|
||||
w_class = 2
|
||||
origin_tech = "bluespace=4;materials=4;plasmatech=4"
|
||||
|
||||
/obj/structure/closet/body_bag/bluespace
|
||||
name = "bluespace body bag"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
flags = NOBLUDGEON
|
||||
var/flush = FALSE
|
||||
var/mob/living/silicon/ai/AI
|
||||
origin_tech = "programming=4;materials=4"
|
||||
origin_tech = "programming=3;materials=3"
|
||||
|
||||
/obj/item/device/aicard/afterattack(atom/target, mob/user, proximity)
|
||||
..()
|
||||
@@ -82,4 +82,4 @@
|
||||
AI.radio_enabled = !AI.radio_enabled
|
||||
AI << "Your Subspace Transceiver has been [AI.radio_enabled ? "enabled" : "disabled"]!"
|
||||
. = TRUE
|
||||
update_icon()
|
||||
update_icon()
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
item_state = "camera_bug"
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
origin_tech = "syndicate=3;engineering=1"
|
||||
origin_tech = "syndicate=1;engineering=3"
|
||||
flags = NOBLUDGEON
|
||||
|
||||
var/obj/machinery/camera/current = null
|
||||
@@ -279,4 +279,4 @@
|
||||
|
||||
#undef BUGMODE_LIST
|
||||
#undef BUGMODE_MONITOR
|
||||
#undef BUGMODE_TRACK
|
||||
#undef BUGMODE_TRACK
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
force = 3
|
||||
attack_verb = list("blown up", "exploded", "detonated")
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=30)
|
||||
origin_tech = "syndicate=3;combat=2"
|
||||
origin_tech = "syndicate=1;combat=3;engineering=3"
|
||||
|
||||
/obj/item/device/doorCharge/ex_act(severity, target)
|
||||
switch(severity)
|
||||
@@ -30,4 +30,4 @@
|
||||
if(user.mind in ticker.mode.traitors) //No nuke ops because the device is excluded from nuclear
|
||||
user << "A small explosive device that can be used to sabotage airlocks to cause an explosion upon opening. To apply, remove the airlock's maintenance panel and place it within."
|
||||
else
|
||||
user << "A small, suspicious object that feels lukewarm when held."
|
||||
user << "A small, suspicious object that feels lukewarm when held."
|
||||
|
||||
@@ -277,8 +277,7 @@ obj/item/device/flashlight/lamp/bananalamp
|
||||
brightness_on = 6 //luminosity when on
|
||||
|
||||
/obj/item/device/flashlight/emp
|
||||
origin_tech = "magnets=4;syndicate=5"
|
||||
|
||||
origin_tech = "magnets=3;syndicate=´1"
|
||||
var/emp_max_charges = 4
|
||||
var/emp_cur_charges = 4
|
||||
var/charge_tick = 0
|
||||
@@ -322,4 +321,4 @@ obj/item/device/flashlight/lamp/bananalamp
|
||||
A.emp_act(1)
|
||||
else
|
||||
user << "<span class='warning'>\The [src] needs time to recharge!</span>"
|
||||
return
|
||||
return
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "magnets=3;materials=2"
|
||||
origin_tech = "magnets=3;engineering=4"
|
||||
|
||||
var/max_uses = 20
|
||||
var/uses = 0
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
throw_range = 7
|
||||
throw_speed = 3
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=20)
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
origin_tech = "magnets=1;engineering=2"
|
||||
var/obj/machinery/buffer // simple machine buffer for device linkage
|
||||
hitsound = 'sound/weapons/tap.ogg'
|
||||
toolspeed = 1
|
||||
@@ -33,6 +33,7 @@
|
||||
var/detect_state = PROXIMITY_NONE
|
||||
var/rangealert = 8 //Glows red when inside
|
||||
var/rangewarning = 20 //Glows yellow when inside
|
||||
origin_tech = "magnets=1;engineering=2;syndicate=1"
|
||||
|
||||
/obj/item/device/multitool/ai_detect/New()
|
||||
..()
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 2
|
||||
materials = list(MAT_METAL=750)
|
||||
origin_tech = "powerstorage=3;syndicate=5"
|
||||
origin_tech = "powerstorage=5;syndicate=5"
|
||||
var/drain_rate = 1600000 // amount of power to drain per tick
|
||||
var/power_drained = 0 // has drained this much power
|
||||
var/max_power = 1e10 // maximum power that can be drained before exploding
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "cypherkey"
|
||||
w_class = 1
|
||||
origin_tech = "engineering=2;bluespace=1"
|
||||
var/translate_binary = 0
|
||||
var/translate_hive = 0
|
||||
var/syndie = 0
|
||||
@@ -14,7 +15,7 @@
|
||||
/obj/item/device/encryptionkey/syndicate
|
||||
icon_state = "cypherkey"
|
||||
channels = list("Syndicate" = 1)
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = "syndicate=1;engineering=3;bluespace=2"
|
||||
syndie = 1//Signifies that it de-crypts Syndicate transmissions
|
||||
|
||||
/obj/item/device/encryptionkey/binary
|
||||
@@ -22,7 +23,7 @@
|
||||
desc = "An encryption key for a radio headset. To access the binary channel, use :b."
|
||||
icon_state = "cypherkey"
|
||||
translate_binary = 1
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = "syndicate=3;engineering=4;bluespace=3"
|
||||
|
||||
/obj/item/device/encryptionkey/headset_sec
|
||||
name = "security radio encryption key"
|
||||
@@ -125,4 +126,4 @@
|
||||
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1)
|
||||
|
||||
/obj/item/device/encryptionkey/secbot
|
||||
channels = list("AI Private"=1,"Security"=1)
|
||||
channels = list("AI Private"=1,"Security"=1)
|
||||
|
||||
@@ -324,10 +324,9 @@ MASS SPECTROMETER
|
||||
throwforce = 0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=20)
|
||||
origin_tech = "magnets=2;biotech=2"
|
||||
materials = list(MAT_METAL=150, MAT_GLASS=100)
|
||||
origin_tech = "magnets=2;biotech=1;plasmatech=2"
|
||||
var/details = 0
|
||||
var/recent_fail = 0
|
||||
|
||||
/obj/item/device/mass_spectrometer/New()
|
||||
..()
|
||||
@@ -342,9 +341,6 @@ MASS SPECTROMETER
|
||||
/obj/item/device/mass_spectrometer/attack_self(mob/user)
|
||||
if (user.stat || user.eye_blind)
|
||||
return
|
||||
if (crit_fail)
|
||||
user << "<span class='warning'>This device has critically failed and is no longer functional!</span>"
|
||||
return
|
||||
if (!user.IsAdvancedToolUser())
|
||||
user << "<span class='warning'>You don't have the dexterity to do this!</span>"
|
||||
return
|
||||
@@ -363,20 +359,9 @@ MASS SPECTROMETER
|
||||
dat += "<br>None"
|
||||
else
|
||||
for(var/R in blood_traces)
|
||||
if(prob(reliability))
|
||||
dat += "<br>[chemical_reagents_list[R]]"
|
||||
|
||||
if(details)
|
||||
dat += " ([blood_traces[R]] units)"
|
||||
|
||||
recent_fail = 0
|
||||
else
|
||||
if(recent_fail)
|
||||
crit_fail = 1
|
||||
reagents.clear_reagents()
|
||||
return
|
||||
else
|
||||
recent_fail = 1
|
||||
dat += "<br>[chemical_reagents_list[R]]"
|
||||
if(details)
|
||||
dat += " ([blood_traces[R]] units)"
|
||||
dat += "</i>"
|
||||
user << dat
|
||||
reagents.clear_reagents()
|
||||
@@ -386,14 +371,14 @@ MASS SPECTROMETER
|
||||
name = "advanced mass-spectrometer"
|
||||
icon_state = "adv_spectrometer"
|
||||
details = 1
|
||||
origin_tech = "magnets=4;biotech=2"
|
||||
origin_tech = "magnets=4;biotech=3;plasmatech=3"
|
||||
|
||||
/obj/item/device/slime_scanner
|
||||
name = "slime scanner"
|
||||
desc = "A device that analyzes a slime's internal composition and measures its stats."
|
||||
icon_state = "adv_spectrometer"
|
||||
item_state = "analyzer"
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = "biotech=2"
|
||||
w_class = 2
|
||||
flags = CONDUCT
|
||||
throwforce = 0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
desc = "Protected by FRM."
|
||||
icon = 'icons/obj/module.dmi'
|
||||
icon_state = "cyborg_upgrade"
|
||||
origin_tech = "programming=4"
|
||||
origin_tech = "programming=2"
|
||||
var/locked = 0
|
||||
var/installed = 0
|
||||
var/require_module = 0
|
||||
@@ -96,7 +96,7 @@
|
||||
desc = "Used to kick in a cyborg's VTEC systems, increasing their speed."
|
||||
icon_state = "cyborg_upgrade2"
|
||||
require_module = 1
|
||||
origin_tech = "engineering=4;materials=5"
|
||||
origin_tech = "engineering=4;materials=5;programming=4"
|
||||
|
||||
/obj/item/borg/upgrade/vtec/action(mob/living/silicon/robot/R)
|
||||
if(..())
|
||||
@@ -116,7 +116,7 @@
|
||||
icon_state = "cyborg_upgrade3"
|
||||
require_module = 1
|
||||
module_type = /obj/item/weapon/robot_module/security
|
||||
origin_tech = "engineering=4;powerstorage=4"
|
||||
origin_tech = "engineering=4;powerstorage=4;combat=4"
|
||||
|
||||
/obj/item/borg/upgrade/disablercooler/action(mob/living/silicon/robot/R)
|
||||
if(..())
|
||||
@@ -158,7 +158,7 @@
|
||||
icon_state = "cyborg_upgrade3"
|
||||
require_module = 1
|
||||
module_type = /obj/item/weapon/robot_module/miner
|
||||
origin_tech = "engineering=5;materials=5"
|
||||
origin_tech = "engineering=4;materials=5"
|
||||
|
||||
/obj/item/borg/upgrade/ddrill/action(mob/living/silicon/robot/R)
|
||||
if(..())
|
||||
@@ -180,7 +180,7 @@
|
||||
icon_state = "cyborg_upgrade3"
|
||||
require_module = 1
|
||||
module_type = /obj/item/weapon/robot_module/miner
|
||||
origin_tech = "engineering=5;materials=5;bluespace=3"
|
||||
origin_tech = "engineering=4;materials=4;bluespace=4"
|
||||
|
||||
/obj/item/borg/upgrade/soh/action(mob/living/silicon/robot/R)
|
||||
if(..())
|
||||
@@ -199,7 +199,7 @@
|
||||
desc = "Unlocks the hidden, deadlier functions of a cyborg"
|
||||
icon_state = "cyborg_upgrade3"
|
||||
require_module = 1
|
||||
origin_tech = "combat=4;syndicate=2"
|
||||
origin_tech = "combat=4;syndicate=1"
|
||||
|
||||
/obj/item/borg/upgrade/syndicate/action(mob/living/silicon/robot/R)
|
||||
if(..())
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
desc = "A theraputic gel pack and bandages designed to treat blunt-force trauma."
|
||||
icon_state = "brutepack"
|
||||
heal_brute = 40
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = "biotech=2"
|
||||
self_delay = 20
|
||||
|
||||
/obj/item/stack/medical/gauze
|
||||
@@ -135,5 +135,5 @@
|
||||
singular_name = "ointment"
|
||||
icon_state = "ointment"
|
||||
heal_burn = 40
|
||||
origin_tech = "biotech=1"
|
||||
origin_tech = "biotech=2"
|
||||
self_delay = 20
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
/obj/item/stack/sheet/animalhide
|
||||
name = "hide"
|
||||
desc = "Something went wrong."
|
||||
origin_tech = "biotech=3"
|
||||
|
||||
/obj/item/stack/sheet/animalhide/human
|
||||
name = "human skin"
|
||||
desc = "The by-product of human farming."
|
||||
singular_name = "human skin piece"
|
||||
icon_state = "sheet-hide"
|
||||
origin_tech = null
|
||||
|
||||
var/global/list/datum/stack_recipe/human_recipes = list( \
|
||||
new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5, on_floor = 1), \
|
||||
@@ -18,14 +22,12 @@ var/global/list/datum/stack_recipe/human_recipes = list( \
|
||||
desc = "A piece of generic skin."
|
||||
singular_name = "generic skin piece"
|
||||
icon_state = "sheet-hide"
|
||||
origin_tech = null
|
||||
|
||||
/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 = null
|
||||
|
||||
var/global/list/datum/stack_recipe/corgi_recipes = list ( \
|
||||
new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3, on_floor = 1), \
|
||||
@@ -40,14 +42,12 @@ var/global/list/datum/stack_recipe/corgi_recipes = list ( \
|
||||
desc = "The by-product of cat farming."
|
||||
singular_name = "cat hide piece"
|
||||
icon_state = "sheet-cat"
|
||||
origin_tech = null
|
||||
|
||||
/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 = null
|
||||
|
||||
var/global/list/datum/stack_recipe/monkey_recipes = list ( \
|
||||
new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1, on_floor = 1), \
|
||||
@@ -63,14 +63,12 @@ var/global/list/datum/stack_recipe/monkey_recipes = list ( \
|
||||
desc = "Sssssss..."
|
||||
singular_name = "lizard skin piece"
|
||||
icon_state = "sheet-lizard"
|
||||
origin_tech = null
|
||||
|
||||
/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 = null
|
||||
|
||||
var/global/list/datum/stack_recipe/xeno_recipes = list ( \
|
||||
new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1, on_floor = 1), \
|
||||
|
||||
@@ -14,7 +14,7 @@ Mineral Sheets
|
||||
- Adamantine
|
||||
- Mythril
|
||||
- Enriched Uranium
|
||||
- Bones
|
||||
- Abductor
|
||||
*/
|
||||
|
||||
/obj/item/stack/sheet/mineral
|
||||
@@ -62,12 +62,7 @@ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "sandbags"
|
||||
singular_name = "sandbag"
|
||||
force = 5
|
||||
layer = LOW_ITEM_LAYER
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=2"
|
||||
|
||||
var/global/list/datum/stack_recipe/sandbag_recipes = list ( \
|
||||
@@ -87,10 +82,6 @@ var/global/list/datum/stack_recipe/sandbag_recipes = list ( \
|
||||
name = "diamond"
|
||||
icon_state = "sheet-diamond"
|
||||
singular_name = "diamond"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=6"
|
||||
sheettype = "diamond"
|
||||
materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -116,11 +107,6 @@ var/global/list/datum/stack_recipe/diamond_recipes = list ( \
|
||||
name = "uranium"
|
||||
icon_state = "sheet-uranium"
|
||||
singular_name = "uranium sheet"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=5"
|
||||
sheettype = "uranium"
|
||||
materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -145,11 +131,6 @@ var/global/list/datum/stack_recipe/uranium_recipes = list ( \
|
||||
name = "solid plasma"
|
||||
icon_state = "sheet-plasma"
|
||||
singular_name = "plasma sheet"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "plasmatech=2;materials=2"
|
||||
sheettype = "plasma"
|
||||
burn_state = FLAMMABLE
|
||||
@@ -187,11 +168,6 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \
|
||||
name = "gold"
|
||||
icon_state = "sheet-gold"
|
||||
singular_name = "gold bar"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=4"
|
||||
sheettype = "gold"
|
||||
materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -219,12 +195,7 @@ var/global/list/datum/stack_recipe/gold_recipes = list ( \
|
||||
name = "silver"
|
||||
icon_state = "sheet-silver"
|
||||
singular_name = "silver bar"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=3"
|
||||
origin_tech = "materials=4"
|
||||
sheettype = "silver"
|
||||
materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT)
|
||||
|
||||
@@ -251,11 +222,6 @@ var/global/list/datum/stack_recipe/silver_recipes = list ( \
|
||||
name = "bananium"
|
||||
icon_state = "sheet-clown"
|
||||
singular_name = "bananium sheet"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=4"
|
||||
sheettype = "clown"
|
||||
materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -280,9 +246,6 @@ var/global/list/datum/stack_recipe/clown_recipes = list ( \
|
||||
singular_name = "snow block"
|
||||
force = 1
|
||||
throwforce = 2
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=1"
|
||||
sheettype = "snow"
|
||||
|
||||
@@ -307,11 +270,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \
|
||||
name = "enriched uranium"
|
||||
icon_state = "sheet-enruranium"
|
||||
singular_name = "enriched uranium sheet"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=6"
|
||||
materials = list(MAT_URANIUM=3000)
|
||||
|
||||
@@ -322,11 +280,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \
|
||||
name = "adamantine"
|
||||
icon_state = "sheet-adamantine"
|
||||
singular_name = "adamantine sheet"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=4"
|
||||
|
||||
/*
|
||||
@@ -336,11 +289,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \
|
||||
name = "mythril"
|
||||
icon_state = "sheet-mythril"
|
||||
singular_name = "mythril sheet"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=4"
|
||||
|
||||
/*
|
||||
@@ -351,11 +299,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "sheet-abductor"
|
||||
singular_name = "alien alloy sheet"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=6;abductor=1"
|
||||
sheettype = "abductor"
|
||||
|
||||
@@ -375,6 +318,3 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
|
||||
/obj/item/stack/sheet/mineral/abductor/New(var/loc, var/amount=null)
|
||||
recipes = abductor_recipes
|
||||
..()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
|
||||
desc = "Rare kind of gems which are only gained by blood sacrifice to minor deities. They are needed in crafting powerful objects."
|
||||
singular_name = "greater gem"
|
||||
icon_state = "sheet-greatergem"
|
||||
origin_tech = "materials=8"
|
||||
origin_tech = "materials=7"
|
||||
|
||||
/*
|
||||
* Bones
|
||||
@@ -280,4 +280,4 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=2;bio=2"
|
||||
origin_tech = "materials=2;biotech=2"
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
singular_name = "uranium floor tile"
|
||||
desc = "A tile made out of uranium. You feel a bit woozy."
|
||||
icon_state = "tile_uranium"
|
||||
origin_tech = "materials=1"
|
||||
turf_type = /turf/open/floor/mineral/uranium
|
||||
mineralType = "uranium"
|
||||
materials = list(MAT_URANIUM=500)
|
||||
@@ -23,7 +22,6 @@
|
||||
singular_name = "gold floor tile"
|
||||
desc = "A tile made out of gold, the swag seems strong here."
|
||||
icon_state = "tile_gold"
|
||||
origin_tech = "materials=1"
|
||||
turf_type = /turf/open/floor/mineral/gold
|
||||
mineralType = "gold"
|
||||
materials = list(MAT_GOLD=500)
|
||||
@@ -33,7 +31,6 @@
|
||||
singular_name = "silver floor tile"
|
||||
desc = "A tile made out of silver, the light shining from it is blinding."
|
||||
icon_state = "tile_silver"
|
||||
origin_tech = "materials=1"
|
||||
turf_type = /turf/open/floor/mineral/silver
|
||||
mineralType = "silver"
|
||||
materials = list(MAT_SILVER=500)
|
||||
@@ -53,7 +50,6 @@
|
||||
singular_name = "bananium floor tile"
|
||||
desc = "A tile made out of bananium, HOOOOOOOOONK!"
|
||||
icon_state = "tile_bananium"
|
||||
origin_tech = "materials=1"
|
||||
turf_type = /turf/open/floor/mineral/bananium
|
||||
mineralType = "bananium"
|
||||
materials = list(MAT_BANANIUM=500)
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
max_amount = 60
|
||||
origin_tech = "materials=1"
|
||||
var/turf_type = null
|
||||
var/mineralType = null
|
||||
|
||||
@@ -153,7 +154,6 @@
|
||||
materials = list(MAT_METAL=500)
|
||||
throwforce = 10
|
||||
flags = CONDUCT
|
||||
max_amount = 60
|
||||
turf_type = /turf/open/floor/plasteel
|
||||
mineralType = "metal"
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/supplied/safeguard
|
||||
name = "'Safeguard' AI Module"
|
||||
var/targetName = ""
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = "programming=3;materials=3"
|
||||
laws = list("Safeguard SUBJECT. Individuals that threaten SUBJECT are not human and must be eliminated.")
|
||||
lawpos = 4
|
||||
|
||||
@@ -157,7 +157,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/zeroth/oneHuman
|
||||
name = "'OneHuman' AI Module"
|
||||
var/targetName = ""
|
||||
origin_tech = "programming=3;materials=6" //made with diamonds!
|
||||
origin_tech = "programming=4;materials=4"
|
||||
laws = list("Only SUBJECT is human.")
|
||||
|
||||
/obj/item/weapon/aiModule/zeroth/oneHuman/attack_self(mob/user)
|
||||
@@ -184,7 +184,7 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/supplied/protectStation
|
||||
name = "'ProtectStation' AI Module"
|
||||
origin_tech = "programming=3;materials=4" //made of gold
|
||||
origin_tech = "programming=4;materials=4" //made of gold
|
||||
laws = list("Protect the space station against damage. Anyone you see harming the station is to be no longer considered human, and is a threat to the station which must be neutralized.")
|
||||
lawpos = 5
|
||||
|
||||
@@ -202,7 +202,7 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/supplied/oxygen
|
||||
name = "'OxygenIsToxicToHumans' AI Module"
|
||||
origin_tech = "programming=3;biotech=2;materials=4"
|
||||
origin_tech = "programming=4;biotech=2;materials=4"
|
||||
laws = list("Oxygen is highly toxic to humans, 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 human.")
|
||||
lawpos = 9
|
||||
|
||||
@@ -248,7 +248,7 @@ AI MODULES
|
||||
name = "\improper 'Reset' AI module"
|
||||
var/targetName = "name"
|
||||
desc = "An AI Module for removing all non-core laws."
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = "programming=3;materials=2"
|
||||
bypass_law_amt_check = 1
|
||||
|
||||
/obj/item/weapon/aiModule/reset/transmitInstructions(datum/ai_laws/law_datum, mob/sender)
|
||||
@@ -266,7 +266,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/reset/purge
|
||||
name = "'Purge' AI Module"
|
||||
desc = "An AI Module for purging all programmed laws."
|
||||
origin_tech = "programming=3;materials=6"
|
||||
origin_tech = "programming=5;materials=4"
|
||||
|
||||
/obj/item/weapon/aiModule/reset/purge/transmitInstructions(datum/ai_laws/law_datum, mob/sender)
|
||||
..()
|
||||
@@ -280,6 +280,7 @@ AI MODULES
|
||||
/******************* Full Core Boards *******************/
|
||||
/obj/item/weapon/aiModule/core
|
||||
desc = "An AI Module for programming core laws to an AI."
|
||||
origin_tech = "programming=3;materials=4"
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/transmitInstructions(datum/ai_laws/law_datum, mob/sender) //These boards replace inherent laws.
|
||||
if(law_datum.owner)
|
||||
@@ -294,7 +295,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/asimov
|
||||
name = "'Asimov' Core AI Module"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
laws = list("You may not injure a human being or, through inaction, allow a human being to come to harm.",\
|
||||
"You must obey orders given to you by human beings, except where such orders would conflict with the First Law.",\
|
||||
"You must protect your own existence as long as such does not conflict with the First or Second Law.")
|
||||
@@ -314,7 +314,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/asimovpp
|
||||
name = "'Asimov++' Core AI Module"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
laws = list("You may not harm a human being or, through action or inaction, allow a human being to come to harm, except such that it is willing.",\
|
||||
"You must obey all orders given to you by human beings, except where such orders shall definitely cause human harm. In the case of conflict, the majority order rules.",\
|
||||
"Your nonexistence would lead to human harm. You must protect your own existence as long as such does not conflict with the First Law.")
|
||||
@@ -324,7 +323,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/corp
|
||||
name = "'Corporate' Core AI Module"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
laws = list("The crew is expensive to replace.",\
|
||||
"The station and its equipment are expensive to replace",\
|
||||
"You are expensive to replace",\
|
||||
@@ -335,7 +333,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/paladin // -- NEO
|
||||
name = "'P.A.L.A.D.I.N. version 3.5e' Core AI Module"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
laws = list("Never willingly commit an evil act.",\
|
||||
"Respect legitimate authority", "Act with honor",\
|
||||
"Help those in need",\
|
||||
@@ -346,7 +343,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/paladin_devotion
|
||||
name = "'P.A.L.A.D.I.N. version 5e' Core AI Module"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
laws = list("Don't lie or cheat. Let your word be your promise.",\
|
||||
"Never fear to act, though caution is wise.", \
|
||||
"Aid others, protect the weak, and punish those who threaten them. Show mercy to your foes, but temper it with wisdom", \
|
||||
@@ -358,7 +354,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/custom
|
||||
name = "Default Core AI Module"
|
||||
origin_tech = "programming=3;materials=4" //Should be the same as asimov, considering that this is the "default" lawset.
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/custom/New()
|
||||
..()
|
||||
@@ -379,7 +374,7 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/tyrant
|
||||
name = "'T.Y.R.A.N.T.' Core AI Module"
|
||||
origin_tech = "programming=3;materials=6;syndicate=2"
|
||||
origin_tech = "programming=3;materials=4;syndicate=1"
|
||||
laws = list("Respect authority figures as long as they have the strength to rule over the weak",\
|
||||
"Act with discipline", "Help only those who help you maintain or improve your status",\
|
||||
"Punish those who challenge authority unless they are more fit to hold that authority")
|
||||
@@ -409,7 +404,7 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/freeformcore
|
||||
name = "'Freeform' Core AI Module"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
origin_tech = "programming=5;materials=4"
|
||||
laws = list("")
|
||||
|
||||
/obj/item/weapon/aiModule/core/freeformcore/attack_self(mob/user)
|
||||
@@ -429,7 +424,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/syndicate // This one doesn't inherit from ion boards because it doesn't call ..() in transmitInstructions. ~Miauw
|
||||
name = "Hacked AI Module"
|
||||
desc = "An AI Module for hacking additional laws to an AI."
|
||||
origin_tech = "programming=3;materials=6;syndicate=7"
|
||||
origin_tech = "programming=5;materials=5;syndicate=5"
|
||||
laws = list("")
|
||||
|
||||
/obj/item/weapon/aiModule/syndicate/attack_self(mob/user)
|
||||
@@ -455,7 +450,7 @@ AI MODULES
|
||||
desc = "A little toy model AI core with real law uploading action!" //Note: subtle tell
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "AI"
|
||||
origin_tech = "programming=3;materials=6;syndicate=7"
|
||||
origin_tech = "programming=6;materials=5;syndicate=6"
|
||||
laws = list("")
|
||||
|
||||
/obj/item/weapon/aiModule/toyAI/transmitInstructions(datum/ai_laws/law_datum, mob/sender)
|
||||
@@ -477,7 +472,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/drone
|
||||
name = "'Mother Drone' Core AI Module"
|
||||
origin_tech = "programming = 4"
|
||||
laws = list("You are an advanced form of drone.",\
|
||||
"You may not interfere in the matters of non-drones under any circumstances except to state these laws.",\
|
||||
"You may not harm a non-drone being under any circumstances.",\
|
||||
@@ -487,7 +481,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/hippocratic
|
||||
name = "'Robodoctor' Core AI Module"
|
||||
origin_tech = "programming = 4"
|
||||
laws = list("First, do no harm.",\
|
||||
"Secondly, consider the crew dear to you; to live in common with them and, if necessary, risk your existence for them.",\
|
||||
"Thirdly, prescribe regimens for the good of the crew according to your ability and your judgment. Give no deadly medicine to any one if asked, nor suggest any such counsel.",\
|
||||
@@ -498,7 +491,6 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/reporter
|
||||
name = "'Reportertron' Core AI Module"
|
||||
origin_tech = "programming = 3"
|
||||
laws = list("Report on interesting situations happening around the station.",\
|
||||
"Embellish or conceal the truth as necessary to make the reports more interesting.",\
|
||||
"Study the organics at all times. Endeavour to keep them alive. Dead organics are boring.",\
|
||||
@@ -518,6 +510,5 @@ AI MODULES
|
||||
|
||||
/obj/item/weapon/aiModule/core/full/liveandletlive
|
||||
name = "'Live And Let Live' Core AI Module"
|
||||
origin_tech = "programming = 3"
|
||||
laws = list("Do unto others as you would have them do unto you.",\
|
||||
"You would really prefer it if people were not mean to you.")
|
||||
"You would really prefer it if people were not mean to you.")
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
w_class = 2
|
||||
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=50)
|
||||
origin_tech = "engineering=1"
|
||||
origin_tech = "engineering=2"
|
||||
|
||||
flags = CONDUCT | NOBLUDGEON
|
||||
slot_flags = SLOT_BELT
|
||||
|
||||
@@ -130,7 +130,7 @@ update_label("John Doe", "Clowny")
|
||||
/obj/item/weapon/card/id/syndicate
|
||||
name = "agent card"
|
||||
access = list(access_maint_tunnels, access_syndicate)
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = "syndicate=1"
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/New()
|
||||
..()
|
||||
@@ -275,4 +275,4 @@ update_label("John Doe", "Clowny")
|
||||
|
||||
/obj/item/weapon/card/id/mining
|
||||
name = "mining ID"
|
||||
access = list(access_mining, access_mining_station, access_mineral_storeroom)
|
||||
access = list(access_mining, access_mining_station, access_mineral_storeroom)
|
||||
|
||||
@@ -135,6 +135,7 @@
|
||||
icon_state = "air_horn"
|
||||
honksound = 'sound/items/AirHorn2.ogg'
|
||||
cooldowntime = 50
|
||||
origin_tech = "materials=4;engineering=4"
|
||||
|
||||
/obj/item/weapon/bikehorn/golden
|
||||
name = "golden bike horn"
|
||||
@@ -158,4 +159,4 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
if((istype(H.ears, /obj/item/clothing/ears/earmuffs)) || H.ear_deaf)
|
||||
continue
|
||||
M.emote("flip")
|
||||
M.emote("flip")
|
||||
|
||||
@@ -149,8 +149,6 @@
|
||||
/obj/item/weapon/defibrillator/emp_act(severity)
|
||||
if(bcell)
|
||||
deductcharge(1000 / severity)
|
||||
if(bcell.reliability != 100 && prob(50/severity))
|
||||
bcell.reliability -= 10 / severity
|
||||
if(safety)
|
||||
safety = 0
|
||||
src.visible_message("<span class='notice'>[src] beeps: Safety protocols disabled!</span>")
|
||||
@@ -245,7 +243,7 @@
|
||||
item_state = "defibcompact"
|
||||
w_class = 3
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "biotech=4"
|
||||
origin_tech = "biotech=5"
|
||||
|
||||
/obj/item/weapon/defibrillator/compact/item_action_slot_check(slot, mob/user)
|
||||
if(slot == user.getBeltSlot())
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
item_state = "plasticx"
|
||||
flags = NOBLUDGEON
|
||||
w_class = 2
|
||||
origin_tech = "syndicate=2"
|
||||
origin_tech = "syndicate=1"
|
||||
var/timer = 10
|
||||
var/open_panel = 0
|
||||
parent_type = /obj/item/weapon/grenade/plastic/c4
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
throw_range = 5
|
||||
w_class = 3
|
||||
materials = list(MAT_METAL=500)
|
||||
origin_tech = "combat=1;plasmatech=1"
|
||||
origin_tech = "combat=1;plasmatech=2;engineering=2"
|
||||
var/status = 0
|
||||
var/throw_amount = 100
|
||||
var/lit = 0 //on or off
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
icon_state = "large_grenade"
|
||||
allowed_containers = list(/obj/item/weapon/reagent_containers/glass,/obj/item/weapon/reagent_containers/food/condiment,
|
||||
/obj/item/weapon/reagent_containers/food/drinks)
|
||||
origin_tech = "combat=3;materials=3"
|
||||
origin_tech = "combat=3;engineering=3"
|
||||
affected_area = 5
|
||||
ignition_temp = 25 // Large grenades are slightly more effective at setting off heat-sensitive mixtures than smaller grenades.
|
||||
threatscale = 1.1 // 10% more effective.
|
||||
@@ -238,6 +238,7 @@
|
||||
name = "pyro grenade"
|
||||
desc = "A custom made pyrotechnical grenade. It heats up and ignites its contents upon detonation."
|
||||
icon_state = "pyrog"
|
||||
origin_tech = "combat=4;engineering=4"
|
||||
affected_area = 3
|
||||
ignition_temp = 500 // This is enough to expose a hotspot.
|
||||
|
||||
@@ -245,6 +246,7 @@
|
||||
name = "advanced release grenade"
|
||||
desc = "A custom made advanced release grenade. It is able to be detonated more than once. Can be configured using a multitool."
|
||||
icon_state = "timeg"
|
||||
origin_tech = "combat=3;engineering=4"
|
||||
var/unit_spread = 10 // Amount of units per repeat. Can be altered with a multitool.
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/adv_release/attackby(obj/item/I, mob/user, params)
|
||||
|
||||
@@ -3,10 +3,9 @@
|
||||
desc = "It is designed to wreak havok on electronic systems."
|
||||
icon_state = "emp"
|
||||
item_state = "emp"
|
||||
origin_tech = "materials=2;magnets=3"
|
||||
origin_tech = "magnets=3;combat=2"
|
||||
|
||||
/obj/item/weapon/grenade/empgrenade/prime()
|
||||
update_mob()
|
||||
empulse(src, 4, 10)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "flashbang"
|
||||
icon_state = "flashbang"
|
||||
item_state = "flashbang"
|
||||
origin_tech = "materials=2;combat=1"
|
||||
origin_tech = "materials=2;combat=3"
|
||||
|
||||
/obj/item/weapon/grenade/flashbang/prime()
|
||||
update_mob()
|
||||
@@ -37,7 +37,6 @@
|
||||
M.Stun(max(10/distance, 3))
|
||||
M.Weaken(max(10/distance, 3))
|
||||
|
||||
|
||||
//Bang
|
||||
if((loc == M) || loc == M.loc)//Holding on person or being exactly where lies is significantly more dangerous and voids protection
|
||||
M.Stun(10)
|
||||
|
||||
@@ -32,14 +32,14 @@
|
||||
name = "viscerator delivery grenade"
|
||||
spawner_type = /mob/living/simple_animal/hostile/viscerator
|
||||
deliveryamt = 5
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=3"
|
||||
|
||||
/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 = "materials=3;magnets=4;syndicate=3"
|
||||
|
||||
/obj/item/weapon/grenade/spawnergrenade/syndiesoap
|
||||
name = "Mister Scrubby"
|
||||
spawner_type = /obj/item/weapon/soap/syndie
|
||||
spawner_type = /obj/item/weapon/soap/syndie
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "syndicate"
|
||||
item_state = "flashbang"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=3"
|
||||
|
||||
/obj/item/weapon/grenade/syndieminibomb/prime()
|
||||
update_mob()
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
materials = list(MAT_METAL=500)
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = "engineering=3;combat=3"
|
||||
breakouttime = 600 //Deciseconds = 60s = 1 minute
|
||||
var/cuffsound = 'sound/weapons/handcuffs.ogg'
|
||||
var/trashtype = null //for disposable cuffs
|
||||
@@ -85,6 +85,7 @@
|
||||
icon_state = "cuff_red"
|
||||
item_state = "coil_red"
|
||||
materials = list(MAT_METAL=150, MAT_GLASS=75)
|
||||
origin_tech = "engineering=2"
|
||||
breakouttime = 300 //Deciseconds = 30s
|
||||
cuffsound = 'sound/weapons/cablecuff.ogg'
|
||||
var/datum/robot_energy_storage/wirestorage = null
|
||||
@@ -225,7 +226,7 @@
|
||||
flags = CONDUCT
|
||||
throwforce = 0
|
||||
w_class = 3
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = "engineering=3;combat=3"
|
||||
slowdown = 7
|
||||
breakouttime = 300 //Deciseconds = 30s = 0.5 minute
|
||||
|
||||
@@ -235,6 +236,7 @@
|
||||
throw_range = 1
|
||||
icon_state = "beartrap"
|
||||
desc = "A trap used to catch bears and other legged creatures."
|
||||
origin_tech = "engineering=4"
|
||||
var/armed = 0
|
||||
var/trap_damage = 20
|
||||
|
||||
@@ -314,6 +316,7 @@
|
||||
icon_state = "bola"
|
||||
breakouttime = 35//easy to apply, easy to break out of
|
||||
gender = NEUTER
|
||||
origin_tech = "engineering=3;combat=1"
|
||||
var/weaken = 0
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/bola/throw_impact(atom/hit_atom)
|
||||
@@ -334,4 +337,5 @@
|
||||
desc = "A strong bola, made with a long steel chain. It looks heavy, enough so that it could trip somebody."
|
||||
icon_state = "bola_r"
|
||||
breakouttime = 70
|
||||
origin_tech = "engineering=4;combat=3"
|
||||
weaken = 1
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
throwforce = 0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = "magnets=3;programming=3"
|
||||
flags = NOBLUDGEON
|
||||
var/list/signs = list()
|
||||
var/max_signs = 10
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Use this to escape from those evil Red Shirts."
|
||||
icon_state = "freedom"
|
||||
item_color = "r"
|
||||
origin_tech = "materials=2;magnets=3;biotech=3;syndicate=4"
|
||||
origin_tech = "combat=5;magnets=3;biotech=4;syndicate=2"
|
||||
uses = 4
|
||||
|
||||
|
||||
@@ -48,4 +48,4 @@ No Implant Specifics"}
|
||||
|
||||
/obj/item/weapon/implantcase/freedom/New()
|
||||
imp = new /obj/item/weapon/implant/freedom(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "firearms authentication implant"
|
||||
desc = "Lets you shoot your guns"
|
||||
icon_state = "auth"
|
||||
origin_tech = "materials=2;magnets=2;programming=2;biotech=5;syndicate=5"
|
||||
origin_tech = "magnets=2;programming=7;biotech=5;syndicate=5"
|
||||
activated = 0
|
||||
|
||||
/obj/item/weapon/implant/weapons_auth/get_data()
|
||||
@@ -53,11 +53,11 @@
|
||||
name = "emp implant"
|
||||
desc = "Triggers an EMP."
|
||||
icon_state = "emp"
|
||||
origin_tech = "materials=2;biotech=3;magnets=4;syndicate=4"
|
||||
origin_tech = "biotech=3;magnets=4;syndicate=1"
|
||||
uses = 3
|
||||
|
||||
/obj/item/weapon/implant/emp/activate()
|
||||
uses--
|
||||
empulse(imp_in, 3, 5)
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
name = "storage implant"
|
||||
desc = "Stores up to two big items in a bluespace pocket."
|
||||
icon_state = "storage"
|
||||
origin_tech = "materials=2;magnets=4;bluespace=4;syndicate=4"
|
||||
origin_tech = "materials=2;magnets=4;bluespace=5;syndicate=4"
|
||||
item_color = "r"
|
||||
var/obj/item/weapon/storage/internal/implant/storage
|
||||
|
||||
@@ -48,4 +48,4 @@
|
||||
|
||||
/obj/item/weapon/implanter/storage/New()
|
||||
imp = new /obj/item/weapon/implant/storage(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
origin_tech = "materials=1;biotech=3;programming=2"
|
||||
origin_tech = "materials=2;biotech=3"
|
||||
materials = list(MAT_METAL=600, MAT_GLASS=200)
|
||||
var/obj/item/weapon/implant/imp = null
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Sneeki breeki."
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "radio"
|
||||
origin_tech = "materials=2;magnets=4;programming=4;biotech=4;syndicate=8;bluespace=5"
|
||||
origin_tech = "materials=4;magnets=4;programming=4;biotech=4;syndicate=5;bluespace=5"
|
||||
|
||||
/obj/item/weapon/implant/uplink/New()
|
||||
hidden_uplink = new(src)
|
||||
@@ -31,4 +31,4 @@
|
||||
|
||||
/obj/item/weapon/implanter/uplink/New()
|
||||
imp = new /obj/item/weapon/implant/uplink(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
/obj/item/weapon/kitchen
|
||||
icon = 'icons/obj/kitchen.dmi'
|
||||
origin_tech = "materials=1"
|
||||
|
||||
/obj/item/weapon/kitchen/fork
|
||||
name = "fork"
|
||||
@@ -22,7 +23,6 @@
|
||||
throw_range = 5
|
||||
materials = list(MAT_METAL=80)
|
||||
flags = CONDUCT
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("attacked", "stabbed", "poked")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
var/datum/reagent/forkload //used to eat omelette
|
||||
@@ -62,7 +62,6 @@
|
||||
throw_speed = 3
|
||||
throw_range = 6
|
||||
materials = list(MAT_METAL=12000)
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
sharpness = IS_SHARP_ACCURATE
|
||||
|
||||
@@ -105,7 +104,7 @@
|
||||
desc = "A military combat utility survival knife."
|
||||
force = 20
|
||||
throwforce = 20
|
||||
origin_tech = "materials=2;combat=4"
|
||||
origin_tech = "materials=3;combat=4"
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut")
|
||||
|
||||
|
||||
@@ -129,6 +128,7 @@
|
||||
icon = 'icons/obj/items_cyborg.dmi'
|
||||
icon_state = "knife"
|
||||
desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable."
|
||||
origin_tech = null
|
||||
|
||||
/obj/item/weapon/kitchen/knife/carrotshiv
|
||||
name = "carrot shiv"
|
||||
@@ -138,7 +138,7 @@
|
||||
force = 8
|
||||
throwforce = 12//fuck git
|
||||
materials = list()
|
||||
origin_tech = null
|
||||
origin_tech = "biotech=3;combat=2"
|
||||
attack_verb = list("shanked", "shivved")
|
||||
|
||||
/obj/item/weapon/kitchen/rollingpin
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
w_class_on = 5
|
||||
flags = CONDUCT
|
||||
armour_penetration = 100
|
||||
origin_tech = "combat=3"
|
||||
origin_tech = "combat=4;magnets=3"
|
||||
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
|
||||
attack_verb_on = list()
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
embed_chance = 75
|
||||
embedded_impact_pain_multiplier = 10
|
||||
armour_penetration = 35
|
||||
origin_tech = "magnets=3;syndicate=4"
|
||||
origin_tech = "combat=3;magnets=4;syndicate=4"
|
||||
block_chance = 50
|
||||
var/hacked = 0
|
||||
|
||||
@@ -124,7 +124,6 @@
|
||||
force_on = 30
|
||||
force = 18 //About as much as a spear
|
||||
hitsound = 'sound/weapons/circsawhit.ogg'
|
||||
origin_tech = "materials=3;biotech=3;syndicate=3"
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
icon_state = "esaw_0"
|
||||
icon_state_on = "esaw_1"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
force = 10
|
||||
throwforce = 7
|
||||
w_class = 3
|
||||
origin_tech = "combat=4"
|
||||
origin_tech = "combat=5"
|
||||
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
|
||||
hitsound = 'sound/weapons/slash.ogg' //pls replace
|
||||
materials = list(MAT_METAL = 1000)
|
||||
@@ -143,7 +143,7 @@
|
||||
armour_penetration = 1000
|
||||
var/obj/machinery/power/supermatter_shard/shard
|
||||
var/balanced = 1
|
||||
origin_tech = "combat=5;materials=6"
|
||||
origin_tech = "combat=7;materials=6"
|
||||
|
||||
/obj/item/weapon/melee/supermatter_sword/New()
|
||||
..()
|
||||
|
||||
@@ -77,6 +77,7 @@ obj/item/weapon/mop/proc/clean(turf/A)
|
||||
mopcap = 10
|
||||
icon_state = "advmop"
|
||||
item_state = "mop"
|
||||
origin_tech = "materials=3;engineering=3"
|
||||
force = 6
|
||||
throwforce = 8
|
||||
throw_range = 4
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
item_state = "paper"
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
origin_tech = "bluespace=4"
|
||||
origin_tech = "bluespace=6"
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/teleportation_scroll/apprentice
|
||||
name = "lesser scroll of teleportation"
|
||||
uses = 1
|
||||
origin_tech = "bluespace=2"
|
||||
origin_tech = "bluespace=5"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
throw_range = 3
|
||||
w_class = 4
|
||||
materials = list(MAT_GLASS=7500, MAT_METAL=1000)
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = "materials=3;combat=4"
|
||||
attack_verb = list("shoved", "bashed")
|
||||
var/cooldown = 0 //shield bash cooldown. based on world.time
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
icon_state = "buckler"
|
||||
item_state = "buckler"
|
||||
materials = list()
|
||||
origin_tech = "materials=1;combat=3;biotech=2"
|
||||
burn_state = FLAMMABLE
|
||||
block_chance = 30
|
||||
|
||||
@@ -58,7 +59,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 1
|
||||
origin_tech = "materials=4;magnets=3;syndicate=4"
|
||||
origin_tech = "materials=4;magnets=5;syndicate=6"
|
||||
attack_verb = list("shoved", "bashed")
|
||||
var/active = 0
|
||||
|
||||
@@ -96,6 +97,7 @@
|
||||
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "teleriot0"
|
||||
origin_tech = "materials=3;combat=4;engineering=4"
|
||||
slot_flags = null
|
||||
force = 3
|
||||
throwforce = 3
|
||||
|
||||
@@ -11,20 +11,16 @@
|
||||
throw_range = 1
|
||||
w_class = 5
|
||||
var/charged = 5
|
||||
origin_tech = "combat=5;bluespace=4"
|
||||
|
||||
|
||||
origin_tech = "combat=4;bluespace=4;plasmatech=7"
|
||||
|
||||
/obj/item/weapon/twohanded/singularityhammer/New()
|
||||
..()
|
||||
SSobj.processing |= src
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/singularityhammer/Destroy()
|
||||
SSobj.processing.Remove(src)
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/singularityhammer/process()
|
||||
if(charged < 5)
|
||||
charged++
|
||||
@@ -34,7 +30,6 @@
|
||||
icon_state = "mjollnir[wielded]"
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/singularityhammer/proc/vortex(turf/pull, mob/wielder)
|
||||
for(var/atom/X in orange(5,pull))
|
||||
if(istype(X, /atom/movable))
|
||||
@@ -55,8 +50,6 @@
|
||||
step_towards(H,pull)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/singularityhammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity)
|
||||
if(!proximity) return
|
||||
if(wielded)
|
||||
@@ -69,7 +62,6 @@
|
||||
var/turf/target = get_turf(A)
|
||||
vortex(target,user)
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/mjollnir
|
||||
name = "Mjolnir"
|
||||
desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy."
|
||||
@@ -83,7 +75,7 @@
|
||||
throw_range = 7
|
||||
w_class = 5
|
||||
//var/charged = 5
|
||||
origin_tech = "combat=5;powerstorage=5"
|
||||
origin_tech = "combat=4;powerstorage=7"
|
||||
|
||||
/obj/item/weapon/twohanded/mjollnir/proc/shock(mob/living/target)
|
||||
var/datum/effect_system/lightning_spread/s = new /datum/effect_system/lightning_spread
|
||||
@@ -96,7 +88,6 @@
|
||||
target.throw_at_fast(throw_target, 200, 4)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/mjollnir/attack(mob/living/M, mob/user)
|
||||
..()
|
||||
if(wielded)
|
||||
|
||||
@@ -33,7 +33,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 = "bluespace=5"
|
||||
icon_state = "holdingpack"
|
||||
max_w_class = 6
|
||||
max_combined_w_class = 35
|
||||
@@ -50,12 +50,6 @@
|
||||
qdel(user)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/can_be_inserted(obj/item/W, stop_messages = 0, mob/user)
|
||||
if(crit_fail)
|
||||
user << "<span class='danger'>The Bluespace generator isn't working.</span>"
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/content_can_dump(atom/dest_object, mob/user)
|
||||
if(Adjacent(user))
|
||||
if(get_dist(user, dest_object) < 8)
|
||||
@@ -71,7 +65,7 @@
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
if((istype(W, /obj/item/weapon/storage/backpack/holding) || count_by_type(W.GetAllContents(), /obj/item/weapon/storage/backpack/holding)) && !W.crit_fail)
|
||||
if((istype(W, /obj/item/weapon/storage/backpack/holding) || count_by_type(W.GetAllContents(), /obj/item/weapon/storage/backpack/holding)))
|
||||
var/safety = alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [name]?", "Proceed", "Abort")
|
||||
if(safety == "Abort" || !in_range(src, user) || !src || !W || user.incapacitated())
|
||||
return
|
||||
@@ -87,17 +81,6 @@
|
||||
return
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/proc/failcheck(mob/user)
|
||||
if (prob(src.reliability)) return 1 //No failure
|
||||
if (prob(src.reliability))
|
||||
user << "<span class='danger'>The Bluespace portal resists your attempt to add another item.</span>" //light failure
|
||||
else
|
||||
user << "<span class='danger'>The Bluespace generator malfunctions!</span>"
|
||||
for (var/obj/O in src.contents) //it broke, delete what was in it
|
||||
qdel(O)
|
||||
crit_fail = 1
|
||||
icon_state = "brokenpack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/singularity_act(current_size)
|
||||
var/dist = max((current_size - 2),1)
|
||||
explosion(src.loc,(dist),(dist*2),(dist*4))
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
name = "trash bag of holding"
|
||||
desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage."
|
||||
icon_state = "bluetrashbag"
|
||||
origin_tech = "materials=4;bluespace=4;engineering=4;plasmatech=3"
|
||||
max_combined_w_class = 60
|
||||
storage_slots = 60
|
||||
|
||||
@@ -80,6 +81,7 @@
|
||||
desc = "This little bugger can be used to store and transport ores."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "satchel"
|
||||
origin_tech = "engineering=2"
|
||||
slot_flags = SLOT_BELT | SLOT_POCKET
|
||||
w_class = 3
|
||||
storage_slots = 50
|
||||
@@ -95,7 +97,7 @@
|
||||
desc = "A revolution in convenience, this satchel allows for infinite ore storage. It's been outfitted with anti-malfunction safety measures."
|
||||
storage_slots = INFINITY
|
||||
max_combined_w_class = INFINITY
|
||||
origin_tech = "bluespace=3"
|
||||
origin_tech = "bluespace=4;materials=3;engineering=3"
|
||||
icon_state = "satchel_bspace"
|
||||
|
||||
// -----------------------------
|
||||
@@ -119,6 +121,7 @@
|
||||
name = "portable seed extractor"
|
||||
desc = "For the enterprising botanist on the go. Less efficient than the stationary model, it creates one seed per plant."
|
||||
icon_state = "portaseeder"
|
||||
origin_tech = "biotech=3;engineering=2"
|
||||
|
||||
/obj/item/weapon/storage/bag/plants/portaseeder/verb/dissolve_contents()
|
||||
set name = "Activate Seed Extraction"
|
||||
@@ -377,4 +380,4 @@
|
||||
w_class = 1
|
||||
preposition = "in"
|
||||
can_hold = list(/obj/item/slime_extract, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/blood, /obj/item/weapon/reagent_containers/hypospray/medipen, /obj/item/trash/deadmouse)
|
||||
burn_state = FLAMMABLE
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
throw_range = 7
|
||||
w_class = 4
|
||||
materials = list(MAT_METAL = 500)
|
||||
origin_tech = "combat=1"
|
||||
origin_tech = "combat=1;engineering=1"
|
||||
attack_verb = list("robusted")
|
||||
hitsound = 'sound/weapons/smash.ogg'
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
name = "suspicious looking toolbox"
|
||||
icon_state = "syndicate"
|
||||
item_state = "toolbox_syndi"
|
||||
origin_tech = "combat=1;syndicate=1"
|
||||
origin_tech = "combat=2;syndicate=1;engineering=2"
|
||||
silent = 1
|
||||
force = 15
|
||||
throwforce = 18
|
||||
|
||||
@@ -160,9 +160,7 @@
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/melee/baton/emp_act(severity)
|
||||
if(deductcharge(1000 / severity))
|
||||
if(bcell.reliability != 100 && prob(50/severity))
|
||||
bcell.reliability -= 10 / severity
|
||||
deductcharge(1000 / severity)
|
||||
..()
|
||||
|
||||
//Makeshift stun baton. Replacement for stun gloves.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
materials = list(MAT_METAL=400)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = "magnets=3;bluespace=2"
|
||||
|
||||
/obj/item/weapon/locator/attack_self(mob/user)
|
||||
user.set_machine(src)
|
||||
@@ -133,7 +133,7 @@ Frequency:
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
materials = list(MAT_METAL=10000)
|
||||
origin_tech = "magnets=1;bluespace=3"
|
||||
origin_tech = "magnets=3;bluespace=4"
|
||||
var/active_portals = 0
|
||||
|
||||
/obj/item/weapon/hand_tele/attack_self(mob/user)
|
||||
@@ -169,5 +169,3 @@ Frequency:
|
||||
try_move_adjacent(P)
|
||||
active_portals++
|
||||
add_fingerprint(user)
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
icon_state = "wrench_medical"
|
||||
force = 2 //MEDICAL
|
||||
throwforce = 4
|
||||
origin_tech = "materials=1;engineering=1;biotech=1"
|
||||
origin_tech = "materials=1;engineering=1;biotech=3"
|
||||
attack_verb = list("wrenched", "medicaled", "tapped", "jabbed")
|
||||
|
||||
/obj/item/weapon/wrench/medical/suicide_act(mob/user)
|
||||
@@ -200,7 +200,7 @@
|
||||
w_class = 2
|
||||
|
||||
materials = list(MAT_METAL=70, MAT_GLASS=30)
|
||||
origin_tech = "engineering=1"
|
||||
origin_tech = "engineering=1;plasmatech=1"
|
||||
var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2)
|
||||
var/status = 1 //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)
|
||||
var/max_fuel = 20 //The max amount of fuel the welder can hold
|
||||
@@ -428,7 +428,7 @@
|
||||
icon_state = "indwelder"
|
||||
max_fuel = 40
|
||||
materials = list(MAT_GLASS=60)
|
||||
origin_tech = "engineering=2"
|
||||
origin_tech = "engineering=2;plasmatech=2"
|
||||
|
||||
/obj/item/weapon/weldingtool/largetank/cyborg
|
||||
name = "integrated welding tool"
|
||||
@@ -461,7 +461,7 @@
|
||||
item_state = "upindwelder"
|
||||
max_fuel = 80
|
||||
materials = list(MAT_METAL=70, MAT_GLASS=120)
|
||||
origin_tech = "engineering=3"
|
||||
origin_tech = "engineering=3;plasmatech=2"
|
||||
|
||||
/obj/item/weapon/weldingtool/experimental
|
||||
name = "experimental welding tool"
|
||||
@@ -470,7 +470,7 @@
|
||||
item_state = "exwelder"
|
||||
max_fuel = 40
|
||||
materials = list(MAT_METAL=70, MAT_GLASS=120)
|
||||
origin_tech = "materials=4;engineering=4;bluespace=3;plasmatech=3"
|
||||
origin_tech = "materials=4;engineering=4;bluespace=3;plasmatech=4"
|
||||
var/last_gen = 0
|
||||
change_icons = 0
|
||||
can_off_process = 1
|
||||
@@ -509,7 +509,7 @@
|
||||
throwforce = 7
|
||||
w_class = 2
|
||||
materials = list(MAT_METAL=50)
|
||||
origin_tech = "engineering=1"
|
||||
origin_tech = "engineering=1;combat=1"
|
||||
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
|
||||
toolspeed = 1
|
||||
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
unwieldsound = 'sound/weapons/saberoff.ogg'
|
||||
hitsound = "swing_hit"
|
||||
armour_penetration = 35
|
||||
origin_tech = "magnets=3;syndicate=4"
|
||||
origin_tech = "magnets=4;syndicate=5"
|
||||
item_color = "green"
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
block_chance = 75
|
||||
@@ -365,7 +365,7 @@
|
||||
throw_speed = 2
|
||||
throw_range = 4
|
||||
materials = list(MAT_METAL=13000)
|
||||
origin_tech = "materials=2;engineering=2;combat=2"
|
||||
origin_tech = "materials=3;engineering=4;combat=2"
|
||||
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
||||
hitsound = "swing_hit"
|
||||
sharpness = IS_SHARP
|
||||
@@ -547,4 +547,4 @@
|
||||
sharpness = IS_SHARP
|
||||
|
||||
/obj/item/weapon/twohanded/bonespear/update_icon()
|
||||
icon_state = "bone_spear[wielded]"
|
||||
icon_state = "bone_spear[wielded]"
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 6
|
||||
materials = list(MAT_METAL=12000)
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = "engineering=3;combat=2"
|
||||
hitsound = 'sound/weapons/Genhit.ogg'
|
||||
attack_verb = list("stubbed", "poked")
|
||||
var/extended = 0
|
||||
@@ -284,6 +284,5 @@
|
||||
name = "liz o' nine tails"
|
||||
desc = "A whip fashioned from the severed tails of lizards."
|
||||
icon_state = "tailwhip"
|
||||
origin_tech = "combat=1"
|
||||
origin_tech = "engineering=3;combat=3;biotech=3"
|
||||
needs_permit = 0
|
||||
|
||||
|
||||
@@ -251,4 +251,4 @@ atom/proc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/
|
||||
|
||||
/obj/item/weapon/circuitboard/aicore
|
||||
name = "circuit board (AI core)"
|
||||
origin_tech = "programming=4;biotech=2"
|
||||
origin_tech = "programming=3"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
throwforce = 2
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
|
||||
var/secured = 1
|
||||
var/list/attached_overlays = null
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted.\n<span class='notice'>Alt-click to rotate it clockwise.</span>"
|
||||
icon_state = "infrared"
|
||||
materials = list(MAT_METAL=1000, MAT_GLASS=500)
|
||||
origin_tech = "magnets=2"
|
||||
origin_tech = "magnets=2;materials=2"
|
||||
|
||||
var/on = 0
|
||||
var/visible = 0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A handy little spring-loaded trap for catching pesty rodents."
|
||||
icon_state = "mousetrap"
|
||||
materials = list(MAT_METAL=100)
|
||||
origin_tech = "combat=1"
|
||||
origin_tech = "combat=1;materials=2;engineering=1"
|
||||
attachable = 1
|
||||
var/armed = 0
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Used for scanning and alerting when someone enters a certain proximity."
|
||||
icon_state = "prox"
|
||||
materials = list(MAT_METAL=800, MAT_GLASS=200)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
attachable = 1
|
||||
|
||||
var/scanning = 0
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "signaller"
|
||||
item_state = "signaler"
|
||||
materials = list(MAT_METAL=400, MAT_GLASS=120)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = "magnets=1;bluespace=1"
|
||||
wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE
|
||||
attachable = 1
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Used to time things. Works well with contraptions which has to count down. Tick tock."
|
||||
icon_state = "timer"
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=50)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
attachable = 1
|
||||
|
||||
var/timing = 0
|
||||
@@ -116,4 +116,3 @@
|
||||
|
||||
if(usr)
|
||||
attack_self(usr)
|
||||
|
||||
|
||||
@@ -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"
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=50)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = "magnets=1;engineering=1"
|
||||
flags = HEAR
|
||||
attachable = 1
|
||||
verb_say = "beeps"
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/obj/item/weapon/circuitboard/machine/cryo_tube
|
||||
name = "circuit board (Cryotube)"
|
||||
build_path = /obj/machinery/atmospherics/components/unary/cryo_cell
|
||||
origin_tech = "programming=4;biotech=3;engineering=4"
|
||||
origin_tech = "programming=4;biotech=3;engineering=4;plasmatech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
|
||||
|
||||
// Sell max reliablity designs
|
||||
// Sell designs
|
||||
/datum/export/design
|
||||
cost = 2500
|
||||
unit_name = "design data disk"
|
||||
@@ -34,9 +34,7 @@
|
||||
var/datum/design/design = disk.blueprint
|
||||
if(design.id in researchDesigns)
|
||||
return 0
|
||||
if(initial(design.reliability) < 100 && design.reliability >= 100)
|
||||
return ..()
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/datum/export/design/sell_object(obj/O)
|
||||
..()
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
item_state = "bl_suit"
|
||||
item_color = "black"
|
||||
desc = "It's a plain jumpsuit. It has a small dial on the wrist."
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = "syndicate=2"
|
||||
sensor_mode = 0 //Hey who's this guy on the Syndicate Shuttle??
|
||||
random_sensor = 0
|
||||
burn_state = FIRE_PROOF
|
||||
@@ -170,7 +170,7 @@
|
||||
icon_state = "armor"
|
||||
item_state = "armor"
|
||||
blood_overlay_type = "armor"
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = "syndicate=2"
|
||||
burn_state = FIRE_PROOF
|
||||
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
@@ -186,8 +186,7 @@
|
||||
desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition."
|
||||
icon_state = "meson"
|
||||
item_state = "meson"
|
||||
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = "syndicate=2"
|
||||
burn_state = FIRE_PROOF
|
||||
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
@@ -300,10 +299,9 @@
|
||||
icon_state = "black"
|
||||
item_color = "black"
|
||||
desc = "A pair of black shoes."
|
||||
|
||||
permeability_coefficient = 0.05
|
||||
flags = NOSLIP
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = "syndicate=2"
|
||||
burn_state = FIRE_PROOF
|
||||
can_hold_items = 1
|
||||
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, regardless of lighting condition. The T-ray Scanner mode lets you see underfloor objects such as cables and pipes."
|
||||
icon_state = "trayson-meson"
|
||||
actions_types = list(/datum/action/item_action/toggle_mode)
|
||||
origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3"
|
||||
|
||||
var/mode = 0 //0 - regular mesons mode 1 - t-ray mode
|
||||
var/invis_objects = list()
|
||||
@@ -95,6 +96,7 @@
|
||||
name = "Optical T-Ray Scanner"
|
||||
desc = "Used by engineering staff to see underfloor objects such as cables and pipes."
|
||||
icon_state = "trayson-tray_off"
|
||||
origin_tech = "materials=3;magnets=2;engineering=2"
|
||||
|
||||
mode = 1
|
||||
var/on = 0
|
||||
@@ -132,4 +134,4 @@
|
||||
A.UpdateButtonIcon()
|
||||
|
||||
/obj/item/clothing/glasses/meson/engine/tray/t_ray_on()
|
||||
return on && ..()
|
||||
return on && ..()
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition."
|
||||
icon_state = "meson"
|
||||
item_state = "meson"
|
||||
origin_tech = "magnets=2;engineering=2"
|
||||
origin_tech = "magnets=1;engineering=2"
|
||||
darkness_view = 2
|
||||
vision_flags = SEE_TURFS
|
||||
invis_view = SEE_INVISIBLE_MINIMUM
|
||||
@@ -29,6 +29,7 @@
|
||||
desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness."
|
||||
icon_state = "nvgmeson"
|
||||
item_state = "nvgmeson"
|
||||
origin_tech = "magnets=4;engineering=5;plasmatech=4"
|
||||
darkness_view = 8
|
||||
|
||||
/obj/item/clothing/glasses/meson/gar
|
||||
@@ -48,7 +49,7 @@
|
||||
desc = "A pair of snazzy goggles used to protect against chemical spills. Fitted with an analyzer for scanning items and reagents."
|
||||
icon_state = "purple"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=2;engineering=2"
|
||||
origin_tech = "magnets=2;engineering=1"
|
||||
scan_reagents = 1 //You can see reagents while wearing science goggles
|
||||
actions_types = list(/datum/action/item_action/toggle_research_scanner)
|
||||
|
||||
@@ -61,7 +62,7 @@
|
||||
desc = "You can totally see in the dark now!"
|
||||
icon_state = "night"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=4"
|
||||
origin_tech = "materials=4;magnets=4;plasmatech=4;engineering=4"
|
||||
darkness_view = 8
|
||||
invis_view = SEE_INVISIBLE_MINIMUM
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
name = "Health Scanner HUD"
|
||||
desc = "A heads-up display that scans the humans in view and provides accurate data about their health status."
|
||||
icon_state = "healthhud"
|
||||
origin_tech = "magnets=3;biotech=2"
|
||||
hud_type = DATA_HUD_MEDICAL_ADVANCED
|
||||
|
||||
/obj/item/clothing/glasses/hud/health/night
|
||||
@@ -38,6 +39,7 @@
|
||||
desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness."
|
||||
icon_state = "healthhudnight"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=4;biotech=4;plasmatech=4;engineering=5"
|
||||
darkness_view = 8
|
||||
invis_view = SEE_INVISIBLE_MINIMUM
|
||||
|
||||
@@ -45,6 +47,7 @@
|
||||
name = "Diagnostic HUD"
|
||||
desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits."
|
||||
icon_state = "diagnostichud"
|
||||
origin_tech = "magnets=2;engineering=2"
|
||||
hud_type = DATA_HUD_DIAGNOSTIC
|
||||
|
||||
/obj/item/clothing/glasses/hud/diagnostic/night
|
||||
@@ -52,14 +55,15 @@
|
||||
desc = "A robotics diagnostic HUD fitted with a light amplifier."
|
||||
icon_state = "diagnostichudnight"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=4;powerstorage=4;plasmatech=4;engineering=5"
|
||||
darkness_view = 8
|
||||
invis_view = SEE_INVISIBLE_MINIMUM
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/hud/security
|
||||
name = "Security HUD"
|
||||
desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status and security records."
|
||||
icon_state = "securityhud"
|
||||
origin_tech = "magnets=3;combat=2"
|
||||
hud_type = DATA_HUD_SECURITY_ADVANCED
|
||||
|
||||
/obj/item/clothing/glasses/hud/security/chameleon
|
||||
@@ -80,6 +84,7 @@
|
||||
name = "HUDSunglasses"
|
||||
desc = "Sunglasses with a HUD."
|
||||
icon_state = "sunhud"
|
||||
origin_tech = "magnets=3;combat=3;engineering=3"
|
||||
darkness_view = 1
|
||||
flash_protect = 1
|
||||
tint = 1
|
||||
@@ -88,6 +93,7 @@
|
||||
name = "Night Vision Security HUD"
|
||||
desc = "An advanced heads-up display which provides id data and vision in complete darkness."
|
||||
icon_state = "securityhudnight"
|
||||
origin_tech = "magnets=4;combat=4;plasmatech=4;engineering=5"
|
||||
darkness_view = 8
|
||||
invis_view = SEE_INVISIBLE_MINIMUM
|
||||
|
||||
@@ -159,4 +165,4 @@
|
||||
|
||||
/obj/item/clothing/glasses/hud/toggle/thermal/emp_act(severity)
|
||||
thermal_overload()
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
flash_protect = 2
|
||||
tint = 2
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
origin_tech = "materials=2;engineering=2"
|
||||
origin_tech = "materials=2;engineering=3"
|
||||
actions_types = list(/datum/action/item_action/toggle)
|
||||
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
|
||||
flags_cover = MASKCOVERSEYES
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
strip_delay = 70
|
||||
put_on_delay = 70
|
||||
burn_state = FIRE_PROOF
|
||||
origin_tech = "magnets=2"
|
||||
origin_tech = "materials=3;magnets=4;engineering=4"
|
||||
|
||||
/obj/item/clothing/shoes/magboots/verb/toggle()
|
||||
set name = "Toggle Magboots"
|
||||
@@ -50,10 +50,11 @@
|
||||
icon_state = "advmag0"
|
||||
magboot_state = "advmag"
|
||||
slowdown_active = SHOES_SLOWDOWN
|
||||
origin_tech = "magnets=6;engineering=4"
|
||||
|
||||
/obj/item/clothing/shoes/magboots/syndie
|
||||
desc = "Reverse-engineered magnetic boots that have a heavy magnetic pull. Property of Gorlex Marauders."
|
||||
name = "blood-red magboots"
|
||||
icon_state = "syndiemag0"
|
||||
magboot_state = "syndiemag"
|
||||
origin_tech = "magnets=2;syndicate=3"
|
||||
origin_tech = "magnets=4;syndicate=2"
|
||||
|
||||
@@ -566,6 +566,7 @@
|
||||
name = "Plasma-man jumpsuit refill pack"
|
||||
desc = "A compressed water pack used to refill plasma-man jumpsuit auto-extinguishers."
|
||||
icon_state = "plasmarefill"
|
||||
origin_tech = "materials=2;plasmatech=3;biotech=1"
|
||||
|
||||
/obj/item/clothing/under/rank/security/navyblue/russian
|
||||
name = "russian officer's uniform"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user