Merge pull request #17576 from LatD/Research

[Ready for test/merge] R&D level remake
This commit is contained in:
Razharas
2016-06-02 18:41:43 +03:00
179 changed files with 983 additions and 1223 deletions
+1
View File
@@ -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"
+2 -2
View File
@@ -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
+2 -1
View File
@@ -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()
..()
+1 -1
View File
@@ -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)
+7 -22
View File
@@ -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(..())
+2 -2
View File
@@ -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"
+12 -21
View File
@@ -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
+2 -2
View File
@@ -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")
+1 -3
View File
@@ -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()
+6 -2
View File
@@ -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)
..()
..()
+4 -4
View File
@@ -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()
..()
+1
View File
@@ -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
+2 -2
View File
@@ -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"
+4 -2
View File
@@ -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
+1 -3
View File
@@ -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)
+6 -6
View File
@@ -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
+3 -3
View File
@@ -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]"
+2 -3
View File
@@ -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