Merge branch 'master' into PAIN

This commit is contained in:
FlattestGuitar
2017-06-09 14:44:31 +02:00
422 changed files with 2346 additions and 2153 deletions
+2 -2
View File
@@ -51,7 +51,7 @@
desc = "This is a one-use permit that allows the user to officially declare a built room as new addition to the station."
fluffnotice = "Nanotrasen Engineering requires all on-station construction projects to be approved by a head of staff, as detailed in Nanotrasen Company Regulation 512-C (Mid-Shift Modifications to Company Property). \
By submitting this form, you accept any fines, fees, or personal injury/death that may occur during construction."
w_class = 1
w_class = WEIGHT_CLASS_TINY
/obj/item/areaeditor/permit/attack_self(mob/user)
. = ..()
@@ -76,7 +76,7 @@
icon = 'icons/obj/items.dmi'
icon_state = "blueprints"
fluffnotice = "Property of Nanotrasen. For heads of staff only. Store in high-secure storage."
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
var/list/showing = list()
var/client/viewing
+2 -2
View File
@@ -5,7 +5,7 @@
desc = "A folded bag designed for the storage and transportation of cadavers."
icon = 'icons/obj/bodybag.dmi'
icon_state = "bodybag_folded"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
attack_self(mob/user)
var/obj/structure/closet/body_bag/R = new /obj/structure/closet/body_bag(user.loc)
@@ -136,4 +136,4 @@
to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]")
else
to_chat(user, "<span class='warning'>Access denied.</span>")
return
return
+2 -2
View File
@@ -4,7 +4,7 @@
icon = 'icons/obj/candle.dmi'
icon_state = "candle1"
item_state = "candle1"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/wax = 200
var/lit = 0
var/infinite = 0
@@ -91,4 +91,4 @@
/obj/item/candle/eternal
desc = "A candle. This one seems to have an odd quality about the wax."
infinite = 1
infinite = 1
+1 -1
View File
@@ -8,7 +8,7 @@
icon = 'icons/obj/device.dmi'
name = "control wand"
desc = "Remotely controls airlocks."
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/mode = WAND_OPEN
var/region_access = 1 //See access.dm
var/obj/item/weapon/card/id/ID
+1 -1
View File
@@ -7,7 +7,7 @@
desc = "A colourful crayon. Looks tasty. Mmmm..."
icon = 'icons/obj/crayons.dmi'
icon_state = "crayonred"
w_class = 1
w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_BELT | SLOT_EARS
attack_verb = list("attacked", "coloured")
toolspeed = 1
+2 -2
View File
@@ -3,11 +3,11 @@
icon = 'icons/obj/aicards.dmi'
icon_state = "aicard" // aicard-full
item_state = "electronic"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
flags = NOBLUDGEON
var/flush = null
origin_tech = "programming=4;materials=4"
origin_tech = "programming=3;materials=3"
/obj/item/device/aicard/afterattack(atom/target, mob/user, proximity)
+1 -1
View File
@@ -5,7 +5,7 @@
icon_state = ""
flags = CONDUCT
w_class = WEIGHT_CLASS_TINY
origin_tech = "materials=1;biotech=1"
origin_tech = "magnets=1;biotech=1"
var/list/datum/autopsy_data_scanner/wdata = list()
var/list/chemtraces = list()
var/target_name = null
@@ -9,11 +9,11 @@
desc = "For illicit snooping through the camera network."
icon = 'icons/obj/device.dmi'
icon_state = "camera_bug"
w_class = 1.0
w_class = WEIGHT_CLASS_TINY
item_state = "camera_bug"
throw_speed = 4
throw_range = 20
origin_tech = "syndicate=3;engineering=1"
origin_tech = "syndicate=1;engineering=3"
var/obj/machinery/camera/current = null
@@ -7,7 +7,7 @@
throwforce = 5.0
throw_speed = 3
throw_range = 5
w_class = 2
w_class = WEIGHT_CLASS_SMALL
origin_tech = "syndicate=4;magnets=4"
var/can_use = 1
var/obj/effect/dummy/chameleon/active_dummy = null
@@ -150,4 +150,4 @@
/obj/effect/dummy/chameleon/Destroy()
master.disrupt(0)
return ..()
return ..()
+1 -1
View File
@@ -4,7 +4,7 @@
icon_state = "flash"
item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
throwforce = 0
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
throw_range = 7
flags = CONDUCT
@@ -4,7 +4,7 @@
icon = 'icons/obj/lighting.dmi'
icon_state = "flashlight"
item_state = "flashlight"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -88,7 +88,7 @@
desc = "A pen-sized light, used by medical staff."
icon_state = "penlight"
item_state = ""
w_class = 1
w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_BELT | SLOT_EARS
flags = CONDUCT
brightness_on = 2
@@ -109,7 +109,7 @@
item_state = ""
flags = CONDUCT
brightness_on = 2
w_class = 1
w_class = WEIGHT_CLASS_TINY
// the desk lamps are a bit special
/obj/item/device/flashlight/lamp
@@ -118,7 +118,7 @@
icon_state = "lamp"
item_state = "lamp"
brightness_on = 5
w_class = 4
w_class = WEIGHT_CLASS_BULKY
flags = CONDUCT
materials = list()
on = 1
@@ -153,7 +153,7 @@ obj/item/device/flashlight/lamp/bananalamp
/obj/item/device/flashlight/flare
name = "flare"
desc = "A red Nanotrasen issued flare. There are instructions on the side, it reads 'pull cord, make light'."
w_class = 2
w_class = WEIGHT_CLASS_SMALL
brightness_on = 8 // Made it brighter (from 7 to 8).
light_color = "#ff0000" // changed colour to a more brighter red.
icon_state = "flare"
@@ -214,7 +214,7 @@ obj/item/device/flashlight/lamp/bananalamp
/obj/item/device/flashlight/flare/torch
name = "torch"
desc = "A torch fashioned from some leaves and a log."
w_class = 4
w_class = WEIGHT_CLASS_BULKY
brightness_on = 7
icon_state = "torch"
item_state = "torch"
@@ -227,7 +227,7 @@ obj/item/device/flashlight/lamp/bananalamp
icon = 'icons/obj/lighting.dmi'
icon_state = "floor1" //not a slime extract sprite but... something close enough!
item_state = "slime"
w_class = 1
w_class = WEIGHT_CLASS_TINY
brightness_on = 6
light_color = "#FFBF00"
materials = list()
@@ -243,7 +243,7 @@ obj/item/device/flashlight/lamp/bananalamp
return //Bio-luminescence does not toggle.
/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
@@ -3,37 +3,37 @@
/obj/item/device/floor_painter
name = "floor painter"
icon_state = "floor_painter"
var/floor_icon
var/floor_state = "floor"
var/floor_dir = SOUTH
w_class = 1
w_class = WEIGHT_CLASS_TINY
item_state = "electronic"
flags = CONDUCT
slot_flags = SLOT_BELT
var/static/list/allowed_states = list("arrival", "arrivalcorner", "bar", "barber", "blackcorner", "blue", "bluecorner",
var/static/list/allowed_states = list("arrival", "arrivalcorner", "bar", "barber", "blackcorner", "blue", "bluecorner",
"bluefull", "bluered", "blueyellow", "blueyellowfull", "bot", "brown", "browncorner", "browncornerold", "brownold",
"cafeteria", "caution", "cautioncorner", "chapel", "cmo", "dark", "delivery", "escape", "escapecorner", "floor",
"freezerfloor", "green", "greenblue", "greenbluefull", "greencorner", "greenfull", "greenyellow",
"greenyellowfull", "grimy", "loadingarea", "neutral", "neutralcorner", "neutralfull", "orange", "orangecorner",
"orangefull", "purple", "purplecorner", "purplefull", "rampbottom", "ramptop", "red", "redblue", "redbluefull",
"redcorner", "redfull", "redgreen", "redgreenfull", "redyellow", "redyellowfull", "warning", "warningcorner", "warnwhite",
"warnwhitecorner", "white", "whiteblue", "whitebluecorner", "whitebluefull", "whitebot", "whitecorner", "whitedelivery",
"whitegreen", "whitegreencorner", "whitegreenfull", "whitehall", "whitepurple", "whitepurplecorner", "whitepurplefull",
"whitered", "whiteredcorner", "whiteredfull", "whiteyellow", "whiteyellowcorner", "whiteyellowfull", "yellow",
"redcorner", "redfull", "redgreen", "redgreenfull", "redyellow", "redyellowfull", "warning", "warningcorner", "warnwhite",
"warnwhitecorner", "white", "whiteblue", "whitebluecorner", "whitebluefull", "whitebot", "whitecorner", "whitedelivery",
"whitegreen", "whitegreencorner", "whitegreenfull", "whitehall", "whitepurple", "whitepurplecorner", "whitepurplefull",
"whitered", "whiteredcorner", "whiteredfull", "whiteyellow", "whiteyellowcorner", "whiteyellowfull", "yellow",
"yellowcorner", "yellowcornersiding", "yellowsiding")
/obj/item/device/floor_painter/afterattack(var/atom/A, var/mob/user, proximity, params)
if(!proximity)
return
var/turf/simulated/floor/plasteel/F = A
if(!istype(F))
to_chat(user, "<span class='warning'>\The [src] can only be used on station flooring.</span>")
return
F.icon_state = floor_state
F.icon_regular_floor = floor_state
F.dir = floor_dir
@@ -60,7 +60,7 @@
<a href="?src=[UID()];choose_dir=1">Choose Direction</a>
<div class='statusDisplay'>Direction: [dir2text(floor_dir)]</div>
"}
var/datum/browser/popup = new(user, "floor_painter", name, 225, 300)
popup.set_content(dat)
popup.open()
@@ -68,7 +68,7 @@
/obj/item/device/floor_painter/Topic(href, href_list)
if(..())
return
if(href_list["choose_state"])
var/state = input("Please select a style", "[src]") as null|anything in allowed_states
if(state)
@@ -92,7 +92,7 @@
index = 1
floor_state = allowed_states[index]
floor_dir = SOUTH
floor_icon = icon('icons/turf/floors.dmi', floor_state, floor_dir)
if(usr)
attack_self(usr)
@@ -8,9 +8,8 @@
flags = CONDUCT
slot_flags = SLOT_BELT
materials = list(MAT_METAL=500, MAT_GLASS=500)
w_class = 2 //Increased to 2, because diodes are w_class 2. Conservation of matter.
origin_tech = "combat=1"
origin_tech = "magnets=2"
w_class = WEIGHT_CLASS_SMALL //Increased to 2, because diodes are w_class 2. Conservation of matter.
origin_tech = "combat=1;magnets=2"
var/energy = 5
var/max_energy = 5
var/effectchance = 33
@@ -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
@@ -0,0 +1,7 @@
/obj/item/device/machineprototype
name = "machine prototype"
desc = "A complicated machine prototype. You have no idea how it works."
icon = 'icons/obj/machineprototype.dmi'
icon_state = "machineprototype"
materials = list(MAT_METAL=1000, MAT_GLASS=500)
origin_tech = "engineering=6"
+1 -1
View File
@@ -3,7 +3,7 @@
desc = "A device used to project your voice. Loudly."
icon_state = "megaphone"
item_state = "radio"
w_class = 1
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
var/spamcheck = 0
+1 -1
View File
@@ -3,7 +3,7 @@
icon = 'icons/obj/aicards.dmi'
icon_state = "pai"
item_state = "electronic"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
origin_tech = "programming=2"
var/request_cooldown = 5 // five seconds
+2 -2
View File
@@ -5,13 +5,13 @@
desc = "A nulling power sink which drains energy from electrical systems."
icon_state = "powersink0"
item_state = "electronic"
w_class = 4
w_class = WEIGHT_CLASS_BULKY
flags = CONDUCT
throwforce = 5
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/apc_drain_rate = 50 // Max. amount drained from single APC. In Watts.
var/dissipation_rate = 20000 // Passive dissipation of drained power. In Watts.
@@ -53,7 +53,7 @@
/obj/item/device/radio/beacon/syndicate
name = "suspicious beacon"
desc = "A label on it reads: <i>Activate to have a singularity beacon teleported to your location</i>."
origin_tech = "bluespace=1;syndicate=7"
origin_tech = "bluespace=6;syndicate=5"
syndicate = 1
/obj/item/device/radio/beacon/syndicate/attack_self(mob/user as mob)
@@ -67,7 +67,7 @@
/obj/item/device/radio/beacon/syndicate/bomb
name = "suspicious beacon"
desc = "A label on it reads: <i>Warning: Activating this device will send a high-ordinance explosive to your location</i>."
origin_tech = "bluespace=1;syndicate=7"
origin_tech = "bluespace=5;syndicate=5"
/obj/item/device/radio/beacon/syndicate/bomb/attack_self(mob/user as mob)
if(user)
@@ -6,7 +6,7 @@
frequency = 1449
flags = CONDUCT
slot_flags = SLOT_BACK
w_class = 5
w_class = WEIGHT_CLASS_HUGE
materials = list(MAT_METAL=10000, MAT_GLASS=2500)
var/code = 2
@@ -5,6 +5,8 @@
icon = 'icons/obj/radio.dmi'
icon_state = "cypherkey"
item_state = ""
w_class = WEIGHT_CLASS_TINY
origin_tech = "engineering=2;bluespace=1"
var/translate_binary = 0
var/translate_hive = 0
var/syndie = 0
@@ -18,7 +20,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/syndteam
@@ -32,7 +34,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"
@@ -147,4 +149,4 @@
name = "AI Integrated Encryption Key"
desc = "Integrated encryption key"
icon_state = "cap_cypherkey"
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1)
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1)
@@ -3,7 +3,7 @@
desc = "Talk through this."
icon_state = "intercom"
anchored = 1
w_class = 4
w_class = WEIGHT_CLASS_BULKY
canhear_range = 2
flags = CONDUCT
var/number = 0
@@ -231,8 +231,9 @@
icon = 'icons/obj/doors/door_assembly.dmi'
icon_state = "door_electronics"
desc = "Looks like a circuit. Probably is."
w_class = 2
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=50, MAT_GLASS=50)
origin_tech = "engineering=2;programming=1"
toolspeed = 1
usesound = 'sound/items/Deconstruct.ogg'
@@ -44,7 +44,7 @@ var/global/list/default_medbay_channels = list(
slot_flags = SLOT_BELT
throw_speed = 2
throw_range = 9
w_class = 2
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=75)
+22 -55
View File
@@ -14,7 +14,7 @@ REAGENT SCANNER
icon_state = "t-ray0"
var/on = 0
slot_flags = SLOT_BELT
w_class = 2
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
materials = list(MAT_METAL=150)
origin_tech = "magnets=1;engineering=1"
@@ -22,15 +22,12 @@ REAGENT SCANNER
var/pulse_duration = 10
/obj/item/device/t_scanner/longer_pulse
origin_tech = "magnets=2;engineering=2"
pulse_duration = 50
/obj/item/device/t_scanner/extended_range
origin_tech = "magnets=1;engineering=3"
scan_range = 3
/obj/item/device/t_scanner/extended_range/longer_pulse
origin_tech = "magnets=2;engineering=3"
scan_range = 3
pulse_duration = 50
@@ -117,7 +114,7 @@ REAGENT SCANNER
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 3
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_speed = 5
throw_range = 10
materials = list(MAT_METAL=200)
@@ -240,7 +237,7 @@ REAGENT SCANNER
if(H.species.exotic_blood)
user.show_message("<span class='warning'>Subject possesses exotic blood.</span>")
user.show_message("<span class='warning'>Exotic blood type: [blood_type].</span>")
if(H.heart_attack && H.stat != DEAD)
if(H.undergoing_cardiac_arrest() && H.stat != DEAD)
user.show_message("<span class='userdanger'>Subject suffering from heart attack: Apply defibrillator immediately.</span>")
user.show_message("<span class='notice'>Subject's pulse: <font color='[H.pulse == PULSE_THREADY || H.pulse == PULSE_NONE ? "red" : "blue"]'>[H.get_pulse(GETPULSE_TOOL)] bpm.</font></span>")
var/implant_detect
@@ -294,7 +291,7 @@ REAGENT SCANNER
name = "Health Analyzer Upgrade"
icon_state = "healthupgrade"
desc = "An upgrade unit that can be installed on a health analyzer for expanded functionality."
w_class = 1
w_class = WEIGHT_CLASS_TINY
origin_tech = "magnets=2;biotech=2"
usesound = 'sound/items/Deconstruct.ogg'
@@ -303,7 +300,7 @@ REAGENT SCANNER
name = "analyzer"
icon_state = "atmos"
item_state = "analyzer"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 0
@@ -369,16 +366,15 @@ REAGENT SCANNER
name = "mass-spectrometer"
icon_state = "spectrometer"
item_state = "analyzer"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT | OPENCONTAINER
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
throw_range = 20
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
var/datatoprint = ""
var/scanning = 1
actions_types = list(/datum/action/item_action/print_report)
@@ -396,9 +392,6 @@ REAGENT SCANNER
/obj/item/device/mass_spectrometer/attack_self(mob/user as mob)
if(user.stat)
return
if(crit_fail)
to_chat(user, "<span class='warning'>This device has critically failed and is no longer functional!</span>")
return
if(!user.IsAdvancedToolUser())
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
return
@@ -414,34 +407,19 @@ REAGENT SCANNER
break
var/dat = ""
for(var/R in blood_traces)
if(prob(reliability))
if(details)
dat += "[R] ([blood_traces[R]] units) "
else
dat += "[R] <br>"
recent_fail = 0
if(details)
dat += "[R] ([blood_traces[R]] units) "
else
if(recent_fail)
crit_fail = 1
reagents.clear_reagents()
return
else
recent_fail = 1
if(dat)
to_chat(user, "Trace chemicals detected in blood sample: [dat]")
datatoprint = dat
scanning = 0
reagents.clear_reagents()
else
reagents.clear_reagents()
to_chat(user, "<span class='notice'>No trace chemicals detected in blood sample.</span>")
dat += "[R] "
to_chat(user, "[dat]")
reagents.clear_reagents()
return
/obj/item/device/mass_spectrometer/adv
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/mass_spectrometer/proc/print_report()
if(!scanning)
@@ -470,16 +448,15 @@ REAGENT SCANNER
desc = "A hand-held reagent scanner which identifies chemical agents."
icon_state = "spectrometer"
item_state = "analyzer"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
throw_range = 20
materials = list(MAT_METAL=30, MAT_GLASS=20)
origin_tech = "magnets=2;biotech=2"
origin_tech = "magnets=2;biotech=1;plasmatech=2"
var/details = 0
var/recent_fail = 0
var/datatoprint = ""
var/scanning = 1
actions_types = list(/datum/action/item_action/print_report)
@@ -492,23 +469,13 @@ REAGENT SCANNER
return
if(!istype(O))
return
if(crit_fail)
to_chat(user, "<span class='warning'>This device has critically failed and is no longer functional!</span>")
return
if(!isnull(O.reagents))
var/dat = ""
if(O.reagents.reagent_list.len > 0)
var/one_percent = O.reagents.total_volume / 100
for(var/datum/reagent/R in O.reagents.reagent_list)
if(prob(reliability))
dat += "<br>[TAB]<span class='notice'>[R][details ? ": [R.volume / one_percent]%" : ""]</span>"
recent_fail = 0
else if(recent_fail)
crit_fail = 1
dat = null
break
else
recent_fail = 1
dat += "<br>[TAB]<span class='notice'>[R][details ? ": [R.volume / one_percent]%" : ""]</span>"
if(dat)
to_chat(user, "<span class='notice'>Chemicals found: [dat]</span>")
datatoprint = dat
@@ -523,7 +490,7 @@ REAGENT SCANNER
name = "advanced reagent scanner"
icon_state = "adv_spectrometer"
details = 1
origin_tech = "magnets=4;biotech=2"
origin_tech = "magnets=4;biotech=3;plasmatech=3"
/obj/item/device/reagent_scanner/proc/print_report()
if(!scanning)
@@ -551,8 +518,8 @@ REAGENT SCANNER
name = "slime scanner"
icon_state = "adv_spectrometer_s"
item_state = "analyzer"
origin_tech = "biotech=1"
w_class = 2
origin_tech = "biotech=2"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
throwforce = 0
throw_speed = 3
@@ -588,4 +555,4 @@ REAGENT SCANNER
user.show_message("Genetic destability: [T.mutation_chance]% chance of mutation on splitting", 1)
if(T.cores > 1)
user.show_message("Anomalous slime core amount detected", 1)
user.show_message("Growth progress: [T.amount_grown]/10", 1)
user.show_message("Growth progress: [T.amount_grown]/10", 1)
@@ -3,9 +3,9 @@
desc = "A miniature machine that tracks suit sensors across the station."
icon = 'icons/obj/device.dmi'
icon_state = "scanner"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
origin_tech = "biotech=3;materials=3;magnets=3"
origin_tech = "programming=3;materials=3;magnets=3"
var/datum/nano_module/crew_monitor/crew_monitor
/obj/item/device/sensor_device/New()
@@ -19,4 +19,4 @@
ui_interact(user)
/obj/item/device/sensor_device/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
crew_monitor.ui_interact(user, ui_key, ui, force_open)
crew_monitor.ui_interact(user, ui_key, ui, force_open)
@@ -3,7 +3,7 @@
desc = "A device that can record to cassette tapes, and play them. It automatically translates the content in playback."
icon_state = "taperecorder_empty"
item_state = "analyzer"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
materials = list(MAT_METAL=60, MAT_GLASS=30)
force = 2
@@ -249,7 +249,7 @@
desc = "A magnetic tape that can hold up to ten minutes of content."
icon_state = "tape_white"
item_state = "analyzer"
w_class = 1
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_METAL=20, MAT_GLASS=5)
force = 1
throwforce = 0
@@ -19,7 +19,7 @@ effective or pretty fucking useless.
desc = "A strange device with twin antennas."
icon_state = "batterer"
throwforce = 5
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_speed = 4
throw_range = 10
flags = CONDUCT
@@ -79,7 +79,7 @@ effective or pretty fucking useless.
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 3
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
throw_range = 7
materials = list(MAT_METAL=400)
@@ -122,16 +122,16 @@
tank_one.forceMove(get_turf(src))
tank_one = null
update_icon()
if((!tank_two || tank_two.w_class < 4) && (w_class > 3))
w_class = 3
if((!tank_two || tank_two.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL))
w_class = WEIGHT_CLASS_NORMAL
else if(tank_two && href_list["tanktwo"])
split_gases()
valve_open = 0
tank_two.forceMove(get_turf(src))
tank_two = null
update_icon()
if((!tank_one || tank_one.w_class < 4) && (w_class > 3))
w_class = 3
if((!tank_one || tank_one.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL))
w_class = WEIGHT_CLASS_NORMAL
else if(href_list["open"])
toggle_valve()
else if(attached_device)
@@ -217,4 +217,4 @@
else if(valve_open && tank_one && tank_two)
split_gases()
valve_open = 0
update_icon()
update_icon()
+1 -2
View File
@@ -3,7 +3,7 @@
desc = "Used by obese officers to save their breath for running."
icon_state = "voice0"
item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
w_class = 1
w_class = WEIGHT_CLASS_TINY
flags = CONDUCT
var/spamcheck = 0
@@ -28,4 +28,3 @@
if(!emagged)
to_chat(user, "<span class='warning'>You overload \the [src]'s voice synthesizer.</span>")
emagged = 1
+2 -2
View File
@@ -5,7 +5,7 @@
icon_state = "docs_generic"
item_state = "paper"
throwforce = 0
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_range = 1
throw_speed = 1
layer = 4
@@ -26,4 +26,4 @@
/obj/item/documents/syndicate/blue
name = "'Blue' secret documents"
desc = "\"Top Secret\" documents printed on special copy-protected paper. It details sensitive Syndicate operational intelligence. These documents are marked \"Blue\"."
icon_state = "docs_blue"
icon_state = "docs_blue"
+6 -6
View File
@@ -1,6 +1,6 @@
/obj/item/flag
icon = 'icons/obj/flag.dmi'
w_class = 4
w_class = WEIGHT_CLASS_BULKY
burntime = 20
burn_state = FLAMMABLE
@@ -156,16 +156,16 @@
name = "Nar'Sie Cultist flag"
desc = "A flag proudly boasting the logo of the cultists, sworn enemies of NT."
icon_state = "cultflag"
//Chameleon
/obj/item/flag/chameleon
name = "Chameleon flag"
desc = "A poor recreation of the official NT flag. It seems to shimmer a little."
icon_state = "ntflag"
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "syndicate=4;magnets=4"
var/used = 0
/obj/item/flag/chameleon/attack_self(mob/user)
if(used)
return
@@ -190,7 +190,7 @@
icon_state = chosen_flag.icon_state
desc = chosen_flag.desc
used = 1
/obj/item/flag/chameleon/burn()
explosion(loc,1,2,4,4, flame_range = 4)
qdel(src)
qdel(src)
+2 -2
View File
@@ -5,7 +5,7 @@
item_state = "lgloves"
force = 0
throwforce = 0
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_speed = 1
throw_range = 7
var/state
@@ -60,4 +60,4 @@
blow(T, user)
return
if(is_sharp(W) || is_hot(W) || can_puncture(W))
burst()
burst()
+2 -2
View File
@@ -16,9 +16,9 @@
item_state = "beachball"
density = 0
anchored = 0
w_class = 1
w_class = WEIGHT_CLASS_TINY
force = 0.0
throwforce = 0.0
throw_speed = 1
throw_range = 20
flags = CONDUCT
flags = CONDUCT
@@ -1,6 +1,7 @@
/obj/item/mounted/frame
name = "mountable frame"
desc = "Place it on a wall."
origin_tech = "materials=1;engineering=1"
var/sheets_refunded = 2
var/list/mount_reqs = list() //can contain simfloor, nospace. Used in try_build to see if conditions are needed, then met
toolspeed = 1
+1 -3
View File
@@ -3,7 +3,7 @@
name = "tape roll"
icon = 'icons/policetape.dmi'
icon_state = "rollstart"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/turf/start
var/turf/end
var/tape_type = /obj/item/tape
@@ -201,5 +201,3 @@ var/list/tape_roll_applications = list()
qdel(src)
return
@@ -6,6 +6,7 @@
desc = "Protected by FRM."
icon = 'icons/obj/module.dmi'
icon_state = "cyborg_upgrade"
origin_tech = "programming=2"
var/locked = 0
var/installed = 0
var/require_module = 0
@@ -103,6 +104,7 @@
desc = "Used to kick in a robot's VTEC systems, increasing their speed."
icon_state = "cyborg_upgrade2"
require_module = 1
origin_tech = "engineering=4;materials=5;programming=4"
/obj/item/borg/upgrade/vtec/action(var/mob/living/silicon/robot/R)
if(..())
@@ -120,6 +122,7 @@
name = "cyborg rapid disabler cooling module"
desc = "Used to cool a mounted disabler, increasing the potential current in it and thus its recharge rate."
icon_state = "cyborg_upgrade3"
origin_tech = "engineering=4;powerstorage=4;combat=4"
require_module = 1
module_type = /obj/item/weapon/robot_module/security
@@ -144,6 +147,7 @@
name = "ion thruster upgrade"
desc = "A energy-operated thruster system for cyborgs."
icon_state = "cyborg_upgrade3"
origin_tech = "engineering=4;powerstorage=4"
/obj/item/borg/upgrade/thrusters/action(mob/living/silicon/robot/R)
if(..())
@@ -160,6 +164,7 @@
name = "mining cyborg diamond drill"
desc = "A diamond drill replacement for the mining module's standard drill."
icon_state = "cyborg_upgrade3"
origin_tech = "engineering=4;materials=5"
require_module = 1
module_type = /obj/item/weapon/robot_module/miner
@@ -181,6 +186,7 @@
name = "mining cyborg satchel of holding"
desc = "A satchel of holding replacement for mining cyborg's ore satchel module."
icon_state = "cyborg_upgrade3"
origin_tech = "engineering=4;materials=4;bluespace=4"
require_module = 1
module_type = /obj/item/weapon/robot_module/miner
@@ -200,6 +206,7 @@
name = "illegal equipment module"
desc = "Unlocks the hidden, deadlier functions of a cyborg"
icon_state = "cyborg_upgrade3"
origin_tech = "combat=4;syndicate=1"
require_module = 1
/obj/item/borg/upgrade/syndicate/action(mob/living/silicon/robot/R)
+3 -3
View File
@@ -4,7 +4,7 @@
icon = 'icons/obj/items.dmi'
amount = 6
max_amount = 6
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
throw_range = 7
var/heal_brute = 0
@@ -75,7 +75,7 @@
singular_name = "gauze length"
desc = "Some sterile gauze to wrap around bloody stumps."
icon_state = "gauze"
origin_tech = "biotech=1"
origin_tech = "biotech=2"
/obj/item/stack/medical/bruise_pack/attack(mob/living/M, mob/user)
if(..())
@@ -121,7 +121,7 @@
gender = PLURAL
singular_name = "ointment"
icon_state = "ointment"
origin_tech = "biotech=1"
origin_tech = "biotech=2"
/obj/item/stack/medical/ointment/attack(mob/living/M, mob/user)
if(..())
+1 -1
View File
@@ -4,7 +4,7 @@
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
icon = 'icons/obj/nanopaste.dmi'
icon_state = "tube"
origin_tech = "materials=3;engineering=2"
origin_tech = "materials=2;engineering=3"
amount = 10
toolspeed = 1
+1 -1
View File
@@ -9,7 +9,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \
icon_state = "rods"
item_state = "rods"
flags = CONDUCT
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
force = 9.0
throwforce = 10.0
throw_speed = 3
@@ -267,7 +267,7 @@
singular_name = "glass sheet"
icon_state = "sheet-plasmaglass"
materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT*2)
origin_tech = "materials=3;plasmatech=2"
origin_tech = "plasmatech=2;materials=2"
var/created_window = /obj/structure/window/plasmabasic
var/full_window = /obj/structure/window/full/plasmabasic
@@ -356,7 +356,7 @@
singular_name = "reinforced plasma glass sheet"
icon_state = "sheet-plasmarglass"
materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT/2, MAT_GLASS=MINERAL_MATERIAL_AMOUNT*2)
origin_tech = "materials=3;plasmatech=2"
origin_tech = "plasmatech=2;materials=2"
var/created_window = /obj/structure/window/plasmareinforced
var/full_window = /obj/structure/window/full/plasmareinforced
@@ -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 = ""
var/global/list/datum/stack_recipe/human_recipes = list( \
new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/bloated_human, 5, on_floor = 1), \
@@ -19,42 +23,36 @@ 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 = ""
/obj/item/stack/sheet/animalhide/cat
name = "cat hide"
desc = "The by-product of cat farming."
singular_name = "cat hide piece"
icon_state = "sheet-cat"
origin_tech = ""
/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 = ""
/obj/item/stack/sheet/animalhide/lizard
name = "lizard skin"
desc = "Sssssss..."
singular_name = "lizard skin piece"
icon_state = "sheet-lizard"
origin_tech = ""
/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 = ""
//don't see anywhere else to put these, maybe together they could be used to make the xenos suit?
/obj/item/stack/sheet/xenochitin
@@ -108,8 +106,8 @@ var/global/list/datum/stack_recipe/human_recipes = list( \
desc = "Long stringy filaments which presumably came from a watcher's wings."
singular_name = "watcher sinew"
icon_state = "sinew"
origin_tech = "biotech=4"
origin_tech = "biotech=4"
var/global/list/datum/stack_recipe/sinew_recipes = list ( \
new/datum/stack_recipe("sinew restraints", /obj/item/weapon/restraints/handcuffs/sinew, 1, on_floor = 1), \
)
@@ -117,7 +115,7 @@ var/global/list/datum/stack_recipe/sinew_recipes = list ( \
/obj/item/stack/sheet/sinew/New(var/loc, var/amount=null)
recipes = sinew_recipes
return ..()
/obj/item/stack/sheet/animalhide/goliath_hide
name = "goliath hide plates"
desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna."
@@ -125,7 +123,7 @@ var/global/list/datum/stack_recipe/sinew_recipes = list ( \
icon_state = "goliath_hide"
singular_name = "hide plate"
flags = NOBLUDGEON
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
layer = MOB_LAYER
/obj/item/stack/sheet/animalhide/ashdrake
@@ -135,9 +133,9 @@ var/global/list/datum/stack_recipe/sinew_recipes = list ( \
icon_state = "dragon_hide"
singular_name = "drake plate"
flags = NOBLUDGEON
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
layer = MOB_LAYER
//Step one - dehairing.
/obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
@@ -177,4 +175,4 @@ var/global/list/datum/stack_recipe/sinew_recipes = list ( \
var/obj/item/stack/sheet/leather/HS = new(src.loc)
HS.amount = 1
wetness = initial(wetness)
src.use(1)
src.use(1)
@@ -5,7 +5,7 @@
desc = "A glass tile, which is wired, somehow."
icon = 'icons/obj/tiles.dmi'
icon_state = "glass_wire"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
force = 3.0
throwforce = 5.0
throw_speed = 5
@@ -104,9 +104,8 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
/obj/item/stack/sheet/mineral
force = 5.0
throwforce = 5
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 3
throw_range = 3
/obj/item/stack/sheet/mineral/New()
..()
@@ -118,7 +117,6 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
desc = "This appears to be a combination of both sand and stone."
singular_name = "sandstone brick"
icon_state = "sheet-sandstone"
throw_speed = 3
throw_range = 5
origin_tech = "materials=1"
sheettype = "sandstone"
@@ -194,7 +192,7 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
name = "silver"
icon_state = "sheet-silver"
singular_name = "silver bar"
origin_tech = "materials=3"
origin_tech = "materials=4"
sheettype = "silver"
materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT)
@@ -240,12 +238,11 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
singular_name = "alien alloy sheet"
force = 5
throwforce = 5
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 1
throw_range = 3
origin_tech = "materials=6;abductor=1"
sheettype = "abductor"
/obj/item/stack/sheet/mineral/abductor/New(loc, amount=null)
recipes = abductor_recipes
..()
..()
@@ -298,7 +298,7 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
desc = "Someone's been drinking their milk."
force = 7
throwforce = 5
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 1
throw_range = 3
origin_tech = "materials=2;biotech=2"
@@ -1,6 +1,6 @@
/obj/item/stack/sheet
name = "sheet"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
force = 5
throwforce = 5
max_amount = 50
@@ -24,4 +24,4 @@
else
for(var/obj/item/stack/sheet/stack in locate(src.x,src.y,src.z))
S.add(stack,user)
..()*/
..()*/
@@ -5,7 +5,7 @@
singular_name = "telecrystal"
icon = 'icons/obj/telescience.dmi'
icon_state = "telecrystal"
w_class = 1
w_class = WEIGHT_CLASS_TINY
max_amount = 50
flags = NOBLUDGEON
origin_tech = "materials=6;syndicate=1"
@@ -5,7 +5,7 @@
icon = 'icons/obj/tiles.dmi'
icon_state = "tile"
item_state = "tile"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
force = 1
throwforce = 1
throw_speed = 5
@@ -160,4 +160,4 @@
singular_name = "pod floor tile"
desc = "A grooved floor tile."
icon_state = "tile_pod"
turf_type = /turf/simulated/floor/pod
turf_type = /turf/simulated/floor/pod
+26 -26
View File
@@ -113,7 +113,7 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "syndballoon"
item_state = "syndballoon"
w_class = 4
w_class = WEIGHT_CLASS_BULKY
/*
* Fake telebeacon
@@ -144,7 +144,7 @@
icon_state = "sword0"
item_state = "sword0"
var/active = 0.0
w_class = 2
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("attacked", "struck", "hit")
/obj/item/toy/sword/attack_self(mob/user as mob)
@@ -154,13 +154,13 @@
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
icon_state = "swordblue"
item_state = "swordblue"
w_class = 4
w_class = WEIGHT_CLASS_BULKY
else
to_chat(user, "<span class='notice'>You push the plastic blade back down into the handle.</span>")
playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
icon_state = "sword0"
item_state = "sword0"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
@@ -218,7 +218,7 @@
slot_flags = SLOT_BELT | SLOT_BACK
force = 5
throwforce = 5
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("attacked", "slashed", "stabbed", "sliced")
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -239,7 +239,7 @@
throwforce = 5.0
throw_speed = 10
throw_range = 30
w_class = 1
w_class = WEIGHT_CLASS_TINY
/obj/item/toy/snappop/virus/throw_impact(atom/hit_atom)
@@ -260,7 +260,7 @@
desc = "Wow!"
icon = 'icons/obj/toy.dmi'
icon_state = "snappop"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/ash_type = /obj/effect/decal/cleanable/ash
/obj/item/toy/snappop/proc/pop_burst(var/n=3, var/c=1)
@@ -403,7 +403,7 @@
slot_flags = SLOT_BELT | SLOT_BACK
force = 5
throwforce = 5
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("attacked", "slashed", "stabbed", "sliced")
@@ -438,7 +438,7 @@ obj/item/toy/cards/deck
icon = 'icons/obj/toy.dmi'
deckstyle = "nanotrasen"
icon_state = "deck_nanotrasen_full"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
var/list/cards = list()
@@ -568,7 +568,7 @@ obj/item/toy/cards/cardhand
desc = "A number of cards not in a deck, customarily held in ones hand."
icon = 'icons/obj/toy.dmi'
icon_state = "nanotrasen_hand2"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/list/currenthand = list()
var/choice = null
@@ -661,7 +661,7 @@ obj/item/toy/cards/singlecard
desc = "a card"
icon = 'icons/obj/toy.dmi'
icon_state = "singlecard_nanotrasen_down"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/cardname = null
var/flipped = 0
pixel_x = -5
@@ -787,7 +787,7 @@ obj/item/toy/cards/deck/syndicate/black
desc = "A plastic model of a Nuclear Fission Explosive."
icon = 'icons/obj/toy.dmi'
icon_state = "nuketoyidle"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
/obj/item/toy/nuke/attack_self(mob/user)
@@ -810,7 +810,7 @@ obj/item/toy/cards/deck/syndicate/black
desc = "A toy for therapeutic and recreational purposes."
icon_state = "therapyred"
item_state = "egg4"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/cooldown = 0
/obj/item/toy/therapy/New()
@@ -863,7 +863,7 @@ obj/item/toy/cards/deck/syndicate/black
name = "toddler"
desc = "This baby looks almost real. Wait, did it just burp?"
force = 5
w_class = 4
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_BACK
@@ -886,7 +886,7 @@ obj/item/toy/cards/deck/syndicate/black
desc = "Relive the excitement of a meteor shower! SweetMeat-eor. Co is not responsible for any injuries, headaches or hearing loss caused by Mini-Meteor."
icon = 'icons/obj/toy.dmi'
icon_state = "minimeteor"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
/obj/item/toy/minimeteor/throw_impact(atom/hit_atom)
..()
@@ -1095,7 +1095,7 @@ obj/item/toy/cards/deck/syndicate/black
icon_state = "foamblade"
item_state = "arm_blade"
attack_verb = list("pricked", "absorbed", "gored")
w_class = 2
w_class = WEIGHT_CLASS_SMALL
burn_state = FLAMMABLE
/*
@@ -1107,7 +1107,7 @@ obj/item/toy/cards/deck/syndicate/black
icon = 'icons/obj/device.dmi'
icon_state = "flash"
item_state = "flashtool"
w_class = 1
w_class = WEIGHT_CLASS_TINY
/obj/item/toy/flash/attack(mob/living/M, mob/user)
playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1)
@@ -1123,7 +1123,7 @@ obj/item/toy/cards/deck/syndicate/black
desc = "A big, plastic red button. Reads 'From HonkCo Pranks?' on the back."
icon = 'icons/obj/assemblies.dmi'
icon_state = "bigred"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
/obj/item/toy/redbutton/attack_self(mob/user)
@@ -1148,7 +1148,7 @@ obj/item/toy/cards/deck/syndicate/black
desc = "A little toy model AI core with real law announcing action!"
icon = 'icons/obj/toy.dmi'
icon_state = "AI"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
/obj/item/toy/AI/attack_self(mob/user)
@@ -1167,7 +1167,7 @@ obj/item/toy/cards/deck/syndicate/black
desc = "An action figure modeled after 'The Owl', defender of justice."
icon = 'icons/obj/toy.dmi'
icon_state = "owlprize"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
/obj/item/toy/owl/attack_self(mob/user)
@@ -1186,7 +1186,7 @@ obj/item/toy/cards/deck/syndicate/black
desc = "An action figure modeled after 'The Griffin', criminal mastermind."
icon = 'icons/obj/toy.dmi'
icon_state = "griffinprize"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
/obj/item/toy/griffin/attack_self(mob/user)
@@ -1203,7 +1203,7 @@ obj/item/toy/cards/deck/syndicate/black
// DND Character minis. Use the naming convention (type)character for the icon states.
/obj/item/toy/character
icon = 'icons/obj/toy.dmi'
w_class = 2
w_class = WEIGHT_CLASS_SMALL
pixel_z = 5
/obj/item/toy/character/alien
@@ -1256,7 +1256,7 @@ obj/item/toy/cards/deck/syndicate/black
desc = "The perfect pet!"
icon = 'icons/obj/toy.dmi'
icon_state = "pet_rock"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
force = 5
throwforce = 5
attack_verb = list("attacked", "bashed", "smashed", "stoned")
@@ -1280,7 +1280,7 @@ obj/item/toy/cards/deck/syndicate/black
icon = 'icons/obj/toy.dmi'
icon_state = "minigibber"
attack_verb = list("grinded", "gibbed")
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
var/obj/stored_minature = null
@@ -1322,7 +1322,7 @@ obj/item/toy/cards/deck/syndicate/black
icon_state = "toy_xeno"
name = "xenomorph action figure"
desc = "MEGA presents the new Xenos Isolated action figure! Comes complete with realistic sounds! Pull back string to use."
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
/obj/item/toy/toy_xeno/attack_self(mob/user)
@@ -1352,7 +1352,7 @@ obj/item/toy/cards/deck/syndicate/black
flags = CONDUCT
slot_flags = SLOT_BELT
materials = list(MAT_METAL=2000)
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
throwforce = 5
throw_speed = 4
throw_range = 5
+1 -1
View File
@@ -4,7 +4,7 @@
//Added by Jack Rost
/obj/item/trash
icon = 'icons/obj/trash.dmi'
w_class = 1
w_class = WEIGHT_CLASS_TINY
desc = "This is rubbish."
burn_state = FLAMMABLE
+13 -13
View File
@@ -14,7 +14,7 @@ AI MODULES
desc = "An AI Module for transmitting encrypted instructions to the AI."
flags = CONDUCT
force = 5.0
w_class = 2
w_class = WEIGHT_CLASS_SMALL
throwforce = 5.0
throw_speed = 3
throw_range = 15
@@ -95,7 +95,7 @@ AI MODULES
name = "\improper 'Safeguard' AI module"
var/targetName = ""
desc = "A 'safeguard' AI module: 'Safeguard <name>. Individuals that threaten <name> are not crew and must be eliminated.'"
origin_tech = "programming=3;materials=4"
origin_tech = "programming=3;materials=3"
/obj/item/weapon/aiModule/safeguard/attack_self(var/mob/user as mob)
..()
@@ -121,7 +121,7 @@ AI MODULES
name = "\improper 'oneCrewMember' AI module"
var/targetName = ""
desc = "A 'one human' AI module: 'Only <name> is crew.'"
origin_tech = "programming=3;materials=6" //made with diamonds!
origin_tech = "programming=4;materials=4"
/obj/item/weapon/aiModule/oneCrewMember/attack_self(var/mob/user as mob)
..()
@@ -152,7 +152,7 @@ AI MODULES
/obj/item/weapon/aiModule/protectStation
name = "\improper 'ProtectStation' AI module"
desc = "A 'protect station' AI module: 'Protect the space station against damage. Anyone you see harming the station is to be no longer considered crew, and is a threat to the station which must be neutralized.'"
origin_tech = "programming=3;materials=4" //made of gold
origin_tech = "programming=4;materials=4" //made of gold
/obj/item/weapon/aiModule/protectStation/attack_self(var/mob/user as mob)
..()
@@ -182,7 +182,7 @@ AI MODULES
/obj/item/weapon/aiModule/oxygen
name = "\improper 'OxygenIsToxicToHumans' AI module"
desc = "A 'OxygenIsToxicToHumans' AI module: 'Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member.'"
origin_tech = "programming=3;biotech=2;materials=4"
origin_tech = "programming=4;biotech=2;materials=4"
/obj/item/weapon/aiModule/oxygen/attack_self(var/mob/user as mob)
..()
@@ -231,7 +231,7 @@ AI MODULES
name = "\improper 'Reset' AI module"
var/targetName = "name"
desc = "A 'reset' AI module: 'Clears all laws except for the core laws.'"
origin_tech = "programming=3;materials=4"
origin_tech = "programming=3;materials=2"
/obj/item/weapon/aiModule/reset/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
log_law_changes(target, sender)
@@ -248,7 +248,7 @@ AI MODULES
/obj/item/weapon/aiModule/purge // -- TLE
name = "\improper 'Purge' AI module"
desc = "A 'purge' AI Module: 'Purges all laws.'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=5;materials=4"
/obj/item/weapon/aiModule/purge/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
@@ -305,14 +305,14 @@ AI MODULES
/obj/item/weapon/aiModule/paladin // -- NEO
name = "\improper 'P.A.L.A.D.I.N.' core AI module"
desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=3;materials=4"
laws = new/datum/ai_laws/paladin
/****************** T.Y.R.A.N.T. *****************/
/obj/item/weapon/aiModule/tyrant // -- Darem
name = "\improper 'T.Y.R.A.N.T.' core AI module"
desc = "A T.Y.R.A.N.T. Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=6;syndicate=2"
origin_tech = "programming=3;materials=4;syndicate=1"
laws = new/datum/ai_laws/tyrant()
/******************** Antimov ********************/
@@ -327,7 +327,7 @@ AI MODULES
name = "\improper 'Freeform' core AI module"
var/newFreeFormLaw = ""
desc = "A 'freeform' Core AI module: '<freeform>'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=5;materials=4"
/obj/item/weapon/aiModule/freeformcore/attack_self(var/mob/user as mob)
..()
@@ -353,7 +353,7 @@ AI MODULES
name = "hacked AI module"
var/newFreeFormLaw = ""
desc = "A hacked AI law module: '<freeform>'"
origin_tech = "programming=3;materials=6;syndicate=7"
origin_tech = "programming=5;materials=5;syndicate=5"
/obj/item/weapon/aiModule/syndicate/attack_self(var/mob/user as mob)
..()
@@ -384,7 +384,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(var/mob/living/silicon/ai/target, var/mob/sender)
@@ -397,4 +397,4 @@ AI MODULES
laws[1] = generate_ion_law()
to_chat(user, "<span class='notice'>You press the button on [src].</span>")
playsound(user, 'sound/machines/click.ogg', 20, 1)
src.loc.visible_message("<span class='warning'>[bicon(src)] [laws[1]]</span>")
src.loc.visible_message("<span class='warning'>[bicon(src)] [laws[1]]</span>")
+2 -2
View File
@@ -17,7 +17,7 @@ RCD
throwforce = 10.0
throw_speed = 3
throw_range = 5
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
materials = list(MAT_METAL = 30000)
origin_tech = "engineering=4;materials=2"
toolspeed = 1
@@ -394,7 +394,7 @@ RCD
opacity = 0
density = 0
anchored = 0.0
origin_tech = "materials=2"
origin_tech = "materials=3"
materials = list(MAT_METAL=16000, MAT_GLASS=8000)
var/ammoamt = 20
+1 -1
View File
@@ -10,7 +10,7 @@
throw_speed = 1
throw_range = 7
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "engineering=4;materials=4"
origin_tech = "engineering=4;materials=2"
var/max_amount = 90
var/active = 0
var/obj/structure/cable/last = null
+2 -2
View File
@@ -13,7 +13,7 @@ RSF
anchored = 0.0
var/matter = 0
var/mode = 1
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/rsf/New()
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
@@ -231,4 +231,4 @@ RSF
matter--
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
return
@@ -12,8 +12,8 @@
throwforce_on = 5
throw_speed = 1
throw_range = 5
w_class = 2
w_class_on = 2
w_class = WEIGHT_CLASS_SMALL
w_class_on = WEIGHT_CLASS_SMALL
attack_verb = list("attacked", "slashed", "gored", "sliced", "torn", "ripped", "butchered", "cut")
attack_verb_on = list()
@@ -11,7 +11,7 @@
force = 10
throw_speed = 2
throw_range = 4
w_class = 4
w_class = WEIGHT_CLASS_BULKY
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
var/bees_left = 10
var/list/blood_list = list()
+2 -2
View File
@@ -15,7 +15,7 @@
name = "card"
desc = "A card."
icon = 'icons/obj/card.dmi'
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/associated_account_number = 0
var/list/files = list( )
@@ -299,7 +299,7 @@
/obj/item/weapon/card/id/syndicate
name = "agent card"
var/list/initial_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
origin_tech = "syndicate=3"
origin_tech = "syndicate=1"
var/registered_user = null
untrackable = 1
+1 -1
View File
@@ -7,7 +7,7 @@
throwforce = 3.0
throw_speed = 1
throw_range = 5
w_class = 2
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("warned", "cautioned", "smashed")
proximity_sign
@@ -6,7 +6,7 @@
icon = 'icons/obj/chronos.dmi'
icon_state = "chronobackpack"
item_state = "backpack"
w_class = 4
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_BACK
slowdown = 1
actions_types = list(/datum/action/item_action/equip_unequip_TED_Gun)
@@ -46,7 +46,7 @@
icon = 'icons/obj/chronos.dmi'
icon_state = "chronogun"
item_state = "chronogun"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
flags = NODROP
ammo_type = list(/obj/item/ammo_casing/energy/chrono_beam)
can_charge = 0
+4 -4
View File
@@ -20,7 +20,7 @@ LIGHTERS ARE IN LIGHTERS.DM
throw_speed = 0.5
item_state = "cigoff"
slot_flags = SLOT_EARS|SLOT_MASK
w_class = 1
w_class = WEIGHT_CLASS_TINY
body_parts_covered = null
attack_verb = list("burnt", "singed")
var/lit = 0
@@ -285,7 +285,7 @@ LIGHTERS ARE IN LIGHTERS.DM
desc = "A manky old cigarette butt."
icon = 'icons/obj/clothing/masks.dmi'
icon_state = "cigbutt"
w_class = 1
w_class = WEIGHT_CLASS_TINY
throwforce = 1
/obj/item/weapon/cigbutt/New()
@@ -389,7 +389,7 @@ LIGHTERS ARE IN LIGHTERS.DM
desc = "A thin piece of paper used to make fine smokeables."
icon = 'icons/obj/cigarettes.dmi'
icon_state = "cig_paper"
w_class = 1
w_class = WEIGHT_CLASS_TINY
/obj/item/weapon/rollingpaper/afterattack(atom/target, mob/user, proximity)
if(!proximity)
@@ -410,4 +410,4 @@ LIGHTERS ARE IN LIGHTERS.DM
else
to_chat(user, "<span class='warning'>You need to dry this first!</span>")
else
..()
..()
@@ -60,7 +60,7 @@
item_state = "bike_horn"
hitsound = null
throwforce = 3
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
throw_range = 15
attack_verb = list("HONKED")
@@ -89,6 +89,7 @@
icon_state = "air_horn"
honk_sound = 'sound/items/AirHorn2.ogg'
cooldowntime = 50
origin_tech = "materials=4;engineering=4"
/obj/item/weapon/bikehorn/golden
name = "golden bike horn"
@@ -112,4 +113,4 @@
var/mob/living/carbon/human/H = M
if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs) || H.ear_deaf)
continue
M.emote("flip")
M.emote("flip")
+2 -2
View File
@@ -3,7 +3,7 @@
desc = "A generic brand of lipstick."
icon = 'icons/obj/items.dmi'
icon_state = "lipstick"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/colour = "red"
var/open = 0
@@ -86,7 +86,7 @@
icon = 'icons/obj/items.dmi'
icon_state = "razor"
flags = CONDUCT
w_class = 1
w_class = WEIGHT_CLASS_TINY
usesound = 'sound/items/Welder2.ogg'
toolspeed = 1
+3 -3
View File
@@ -9,7 +9,7 @@
icon_state = "gavelhammer"
force = 5.0
throwforce = 6.0
w_class = 2
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("bashed", "battered", "judged", "whacked")
burn_state = FLAMMABLE
@@ -25,7 +25,7 @@
icon_state = "gavelblock"
force = 2.0
throwforce = 2.0
w_class = 1
w_class = WEIGHT_CLASS_TINY
burn_state = FLAMMABLE
/obj/item/weapon/gavelblock/attackby(obj/item/I, mob/user, params)
@@ -33,4 +33,4 @@
playsound(loc, 'sound/items/gavel.ogg', 100, 1)
user.visible_message("<span class='warning'>[user] strikes \the [src] with \the [I].</span>")
else
return
return
+11 -14
View File
@@ -9,7 +9,7 @@
slot_flags = SLOT_BACK
force = 5
throwforce = 6
w_class = 4
w_class = WEIGHT_CLASS_BULKY
origin_tech = "biotech=4"
actions_types = list(/datum/action/item_action/toggle_paddles)
species_fit = list("Vox")
@@ -112,8 +112,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>")
@@ -206,9 +204,9 @@
desc = "A belt-equipped defibrillator that can be rapidly deployed."
icon_state = "defibcompact"
item_state = "defibcompact"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
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 == slot_belt)
@@ -251,7 +249,7 @@
item_state = "defibpaddles"
force = 0
throwforce = 6
w_class = 4
w_class = WEIGHT_CLASS_BULKY
toolspeed = 1
var/revivecost = 1000
@@ -330,8 +328,8 @@
H.updatehealth() //forces health update before next life tick
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1)
H.emote("gasp")
if(!H.heart_attack && (prob(10) || defib.combat)) // Your heart explodes.
H.heart_attack = 1
if(!H.undergoing_cardiac_arrest() && (prob(10) || defib.combat)) // Your heart explodes.
H.set_heartattack(TRUE)
add_logs(user, M, "stunned", object="defibrillator")
defib.deductcharge(revivecost)
cooldown = 1
@@ -367,7 +365,7 @@
busy = 0
update_icon()
return
if(H.heart_attack)
if(H.undergoing_cardiac_arrest())
if(!H.get_int_organ(/obj/item/organ/internal/heart) && !H.get_int_organ(/obj/item/organ/internal/brain/slime)) //prevents defibing someone still alive suffering from a heart attack attack if they lack a heart
user.visible_message("<span class='boldnotice'>[defib] buzzes: Resuscitation failed - Failed to pick up any heart electrical activity.</span>")
playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
@@ -375,7 +373,7 @@
update_icon()
return
else
H.heart_attack = 0
H.set_heartattack(FALSE)
user.visible_message("<span class='boldnotice'>[defib] pings: Cardiac arrhythmia corrected.</span>")
M.visible_message("<span class='warning'>[M]'s body convulses a bit.")
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1)
@@ -435,7 +433,6 @@
busy = 0
update_icon()
/obj/item/weapon/borg_defib
name = "defibrillator paddles"
desc = "A pair of mounted paddles with flat metal surfaces that are used to deliver powerful electric shocks."
@@ -443,7 +440,7 @@
icon_state = "defibpaddles0"
item_state = "defibpaddles0"
force = 0
w_class = 4
w_class = WEIGHT_CLASS_BULKY
var/revivecost = 1000
var/cooldown = 0
var/busy = 0
@@ -471,8 +468,8 @@
H.adjustStaminaLoss(50)
H.Weaken(5)
H.updatehealth() //forces health update before next life tick
if(!H.heart_attack && prob(10)) // Your heart explodes.
H.heart_attack = 1
if(!H.undergoing_cardiac_arrest() && prob(10)) // Your heart explodes.
H.set_heartattack(TRUE)
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1)
H.emote("gasp")
add_logs(user, M, "stunned", object="defibrillator")
+1 -1
View File
@@ -29,7 +29,7 @@
desc = "A die with six sides. Basic and servicable."
icon = 'icons/obj/dice.dmi'
icon_state = "d6"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/sides = 6
var/result = null
var/list/special_faces = list() //entries should match up to sides var if used
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/item/weapon/disk
icon = 'icons/obj/module.dmi'
w_class = 1
w_class = WEIGHT_CLASS_TINY
item_state = "card-id"
icon_state = "datadisk0"
@@ -8,7 +8,7 @@
var/datum/dna2/record/buf = null
throw_speed = 3
throw_range = 5
w_class = 1
w_class = WEIGHT_CLASS_TINY
origin_tech = "biotech=1"
var/damage_coeff = 1
@@ -6,7 +6,7 @@
flags = NOBLUDGEON
det_time = 10
display_timer = 0
origin_tech = "syndicate=2"
origin_tech = "syndicate=1"
toolspeed = 1
var/atom/target = null
var/image_overlay = null
@@ -7,7 +7,7 @@
hitsound = 'sound/weapons/smash.ogg'
flags = CONDUCT
throwforce = 10
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 2
throw_range = 7
force = 10
@@ -29,7 +29,7 @@
hitsound = null //it is much lighter, after all.
flags = null //doesn't CONDUCT
throwforce = 2
w_class = 2
w_class = WEIGHT_CLASS_SMALL
force = 3.0
materials = list()
max_water = 30
@@ -11,9 +11,9 @@
throwforce = 10.0
throw_speed = 1
throw_range = 5
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
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
+1 -1
View File
@@ -8,7 +8,7 @@
name = "fiber wire"
desc = "A length of razor-thin wire with an elegant wooden handle on either end.<br>You suspect you'd have to be behind the target to use this weapon effectively."
icon_state = "garrot_wrap"
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/mob/living/carbon/human/strangling
var/improvised = 0
var/garrote_time
@@ -4,7 +4,7 @@
/obj/item/weapon/grenade/gas
name = "Plasma Fire Grenade"
desc = "A compressed plasma grenade, used to start horrific plasma fires."
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "materials=3;magnets=4;syndicate=3"
icon = 'icons/obj/grenade.dmi'
icon_state = "syndicate"
item_state = "flashbang"
@@ -4,7 +4,7 @@ var/turf/T
/obj/item/weapon/grenade/bananade
name = "bananade"
desc = "A yellow grenade."
w_class = 2
w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/grenade.dmi'
icon_state = "banana"
item_state = "flashbang"
@@ -9,7 +9,7 @@
item_state = "flashbang"
var/bomb_state = "chembomb"
var/payload_name = null // used for spawned grenades
w_class = 2
w_class = WEIGHT_CLASS_SMALL
force = 2
var/prime_sound = 'sound/items/Screwdriver2.ogg'
var/stage = EMPTY
@@ -332,7 +332,7 @@
bomb_state = "largebomb"
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 = 4
@@ -539,4 +539,4 @@
#undef EMPTY
#undef WIRED
#undef READY
#undef READY
@@ -3,7 +3,7 @@
desc = "HONK! brand Bananas. In a special applicator for rapid slipping of wide areas."
icon_state = "banana"
item_state = "flashbang"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
force = 2.0
var/stage = 0
var/state = 0
@@ -74,4 +74,4 @@
if(istype(hit_atom ,/mob/living))
var/mob/living/M = hit_atom
M.take_organ_damage(0, burned)
return ..()
return ..()
@@ -3,7 +3,7 @@
desc = "It is designed to wreak havoc 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()
@@ -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()
@@ -17,7 +17,7 @@
/obj/item/weapon/grenade/iedcasing
name = "improvised explosive assembly"
desc = "An igniter stuffed into an aluminum shell."
w_class = 2
w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/grenade.dmi'
icon_state = "improvised_grenade"
item_state = "flashbang"
@@ -67,7 +67,7 @@
/obj/item/weapon/grenade/iedcasing/filled
name = "improvised firebomb"
desc = "A weak, improvised incendiary device."
w_class = 2
w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/grenade.dmi'
icon_state = "improvised_grenade"
item_state = "flashbang"
@@ -1,7 +1,7 @@
/obj/item/weapon/grenade
name = "grenade"
desc = "A hand held grenade, with an adjustable timer."
w_class = 2
w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/grenade.dmi'
icon_state = "grenade"
item_state = "flashbang"
@@ -35,20 +35,20 @@
name = "manhack 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/feral_cats
name = "feral cat delivery grenade"
desc = "This grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight."
spawner_type = /mob/living/simple_animal/hostile/feral_cat
deliveryamt = 5
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "materials=3;magnets=4;syndicate=3"
/obj/item/weapon/grenade/spawnergrenade/feral_cats/prime() //Own proc for this because the regular one would flash people which was dumb.
update_mob()
@@ -65,4 +65,4 @@
qdel(src)
return
return
@@ -4,9 +4,9 @@
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()
explosion(src.loc,1,2,4,flame_range = 2)
qdel(src)
qdel(src)
+3 -2
View File
@@ -7,11 +7,11 @@
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 5
w_class = 2
w_class = WEIGHT_CLASS_SMALL
throw_speed = 2
throw_range = 5
materials = list(MAT_METAL=500)
origin_tech = "materials=1"
origin_tech = "engineering=3;combat=3"
breakouttime = 600 //Deciseconds = 60s = 1 minutes
var/cuffsound = 'sound/weapons/handcuffs.ogg'
var/trashtype = null //For disposable cuffs
@@ -75,6 +75,7 @@
name = "cable restraints"
desc = "Looks like some cables tied together. Could be used to tie something up."
icon_state = "cuff_white"
origin_tech = "engineering=2"
materials = list(MAT_METAL=150, MAT_GLASS=75)
breakouttime = 300 //Deciseconds = 30s
cuffsound = 'sound/weapons/cablecuff.ogg'
+2 -2
View File
@@ -5,11 +5,11 @@
icon_state = "signmaker"
item_state = "electronic"
force = 5
w_class = 2
w_class = WEIGHT_CLASS_SMALL
throwforce = 0
throw_speed = 3
throw_range = 7
origin_tech = "programming=3"
origin_tech = "magnets=1;programming=3"
var/list/signs = list()
var/max_signs = 20
+12 -12
View File
@@ -7,7 +7,7 @@
throw_speed = 3
throw_range = 4
throwforce = 10
w_class = 1
w_class = WEIGHT_CLASS_TINY
var/reskinned = FALSE
var/reskin_selectable = TRUE //set to FALSE if a subtype is meant to not normally be available as a reskin option (fluff ones will get re-added through their list)
var/list/fluff_transformations = list() //does it have any special transformations only accessible to it? Should only be subtypes of /obj/item/weapon/nullrod
@@ -71,7 +71,7 @@
item_state = "disintegrate"
desc = "This hand of yours glows with an awesome power!"
flags = ABSTRACT | NODROP
w_class = 5
w_class = WEIGHT_CLASS_HUGE
hitsound = 'sound/weapons/sear.ogg'
damtype = BURN
attack_verb = list("punched", "cross countered", "pummeled")
@@ -81,7 +81,7 @@
icon_state = "godstaff-red"
item_state = "godstaff-red"
desc = "It has a mysterious, protective aura."
w_class = 5
w_class = WEIGHT_CLASS_HUGE
force = 5
slot_flags = SLOT_BACK
block_chance = 50
@@ -96,7 +96,7 @@
icon_state = "claymore"
item_state = "claymore"
desc = "A weapon fit for a crusade!"
w_class = 4
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_BACK|SLOT_BELT
block_chance = 30
sharp = 1
@@ -183,7 +183,7 @@
icon_state = "scythe0"
item_state = "scythe0"
desc = "Ask not for whom the bell tolls..."
w_class = 4
w_class = WEIGHT_CLASS_BULKY
armour_penetration = 35
slot_flags = SLOT_BACK
sharp = 1
@@ -255,7 +255,7 @@
item_state = "hammeron"
desc = "This war hammer cost the chaplain fourty thousand space dollars."
slot_flags = SLOT_BELT
w_class = 5
w_class = WEIGHT_CLASS_HUGE
attack_verb = list("smashed", "bashed", "hammered", "crunched")
/obj/item/weapon/nullrod/chainsaw
@@ -263,7 +263,7 @@
desc = "Good? Bad? You're the guy with the chainsaw hand."
icon_state = "chainsaw1"
item_state = "mounted_chainsaw"
w_class = 5
w_class = WEIGHT_CLASS_HUGE
flags = NODROP | ABSTRACT
sharp = 1
edge = 1
@@ -322,7 +322,7 @@
icon_state = "arm_blade"
item_state = "arm_blade"
flags = ABSTRACT | NODROP
w_class = 5
w_class = WEIGHT_CLASS_HUGE
sharp = 1
edge = 1
@@ -349,7 +349,7 @@
/obj/item/weapon/nullrod/claymore/bostaff //May as well make it a "claymore" and inherit the blocking
name = "monk's staff"
desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts, now used to harass the clown."
w_class = 4
w_class = WEIGHT_CLASS_BULKY
force = 13
block_chance = 40
slot_flags = SLOT_BACK
@@ -365,7 +365,7 @@
name = "arrhythmic knife"
icon_state = "crysknife"
item_state = "crysknife"
w_class = 5
w_class = WEIGHT_CLASS_HUGE
desc = "They say fear is the true mind killer, but stabbing them in the head works too. Honour compels you to not sheathe it once drawn."
sharp = 1
edge = 1
@@ -389,7 +389,7 @@
name = "unholy pitchfork"
icon_state = "pitchfork0"
item_state = "pitchfork0"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
desc = "Holding this makes you look absolutely devilish."
attack_verb = list("poked", "impaled", "pierced", "jabbed")
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -518,7 +518,7 @@
reskin_selectable = FALSE
icon_state = "godstaff-red"
item_state = "godstaff-red"
w_class = 5
w_class = WEIGHT_CLASS_HUGE
force = 5
slot_flags = SLOT_BACK
block_chance = 50
@@ -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,7 +53,7 @@
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 = 2
/obj/item/weapon/implant/emp/activate()
@@ -65,4 +65,4 @@
/obj/item/weapon/implant/cortical
name = "cortical stack"
desc = "A fist-sized mass of biocircuits and chips."
icon_state = "implant_evil"
icon_state = "implant_evil"
@@ -1,9 +1,9 @@
/obj/item/weapon/storage/hidden/implant
name = "bluespace pocket"
storage_slots = 2
max_w_class = 3
max_combined_w_class = 6
w_class = 4
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = WEIGHT_CLASS_GIGANTIC
w_class = WEIGHT_CLASS_BULKY
cant_hold = list(/obj/item/weapon/disk/nuclear)
silent = 1
@@ -12,7 +12,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/hidden/implant/storage
@@ -58,4 +58,4 @@
/obj/item/weapon/implanter/storage/New()
imp = new /obj/item/weapon/implant/storage(src)
..()
..()
@@ -6,7 +6,7 @@
item_state = "implantcase"
throw_speed = 2
throw_range = 5
w_class = 1
w_class = WEIGHT_CLASS_TINY
origin_tech = "materials=1;biotech=2"
materials = list(MAT_GLASS=500)
var/obj/item/weapon/implant/imp = null
@@ -98,4 +98,4 @@
/obj/item/weapon/implantcase/death_alarm/New()
imp = new /obj/item/weapon/implant/death_alarm(src)
..()
..()
@@ -6,8 +6,8 @@
item_state = "syringe_0"
throw_speed = 3
throw_range = 5
w_class = 2
origin_tech = "materials=1;biotech=3;programming=2"
w_class = WEIGHT_CLASS_SMALL
origin_tech = "materials=2;biotech=3"
materials = list(MAT_METAL=600, MAT_GLASS=200)
toolspeed = 1
var/obj/item/weapon/implant/imp = null
@@ -86,4 +86,4 @@
/obj/item/weapon/implanter/death_alarm/New()
imp = new /obj/item/weapon/implant/death_alarm(src)
..()
..()
@@ -8,7 +8,7 @@
item_state = "electronic"
throw_speed = 3
throw_range = 5
w_class = 2
w_class = WEIGHT_CLASS_SMALL
var/obj/item/weapon/implantcase/case = null
/obj/item/weapon/implantpad/Destroy()
@@ -3,7 +3,7 @@
desc = "Summon things."
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)
@@ -32,4 +32,4 @@
/obj/item/weapon/implanter/uplink/New()
imp = new /obj/item/weapon/implant/uplink(src)
..()
..()
+8 -9
View File
@@ -12,18 +12,18 @@
/obj/item/weapon/kitchen
icon = 'icons/obj/kitchen.dmi'
origin_tech = "materials=1"
/*
* Utensils
*/
/obj/item/weapon/kitchen/utensil
force = 5.0
w_class = 1
w_class = WEIGHT_CLASS_TINY
throwforce = 0.0
throw_speed = 3
throw_range = 5
flags = CONDUCT
origin_tech = "materials=1"
attack_verb = list("attacked", "stabbed", "poked")
hitsound = 'sound/weapons/bladeslice.ogg'
sharp = 0
@@ -91,13 +91,12 @@
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
flags = CONDUCT
force = 10
w_class = 2
w_class = WEIGHT_CLASS_SMALL
throwforce = 10
hitsound = 'sound/weapons/bladeslice.ogg'
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")
no_embed = 1
sharp = 1
@@ -122,7 +121,7 @@
desc = "The unearthly energies that once powered this blade are now dormant."
icon = 'icons/obj/wizard.dmi'
icon_state = "render"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/kitchen/knife/butcher
name = "butcher's cleaver"
@@ -132,7 +131,7 @@
force = 15
throwforce = 8
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/kitchen/knife/butcher/meatcleaver
name = "Meat Cleaver"
@@ -149,7 +148,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")
/obj/item/weapon/kitchen/knife/carrotshiv
@@ -175,7 +174,7 @@
throwforce = 10.0
throw_speed = 3
throw_range = 7
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
/* Trays moved to /obj/item/weapon/storage/bag */
@@ -192,7 +191,7 @@
throwforce = 5
throw_speed = 3
throw_range = 3
w_class = 2
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed")
/obj/item/weapon/kitchen/mould/bear
+5 -4
View File
@@ -6,8 +6,8 @@
icon_state = "handcuff"
flags = CONDUCT
throwforce = 0
w_class = 3
origin_tech = "materials=1"
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "engineering=3;combat=3"
slowdown = 7
breakouttime = 300 //Deciseconds = 30s = 0.5 minute
@@ -17,6 +17,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
var/obj/item/weapon/grenade/iedcasing/IED = null
@@ -196,7 +197,7 @@
desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests."
icon_state = "ebola"
hitsound = 'sound/weapons/tase.ogg'
w_class = 2
w_class = WEIGHT_CLASS_SMALL
breakouttime = 60
/obj/item/weapon/restraints/legcuffs/bola/energy/throw_impact(atom/hit_atom)
@@ -204,4 +205,4 @@
var/obj/item/weapon/restraints/legcuffs/beartrap/B = new /obj/item/weapon/restraints/legcuffs/beartrap/energy/cyborg(get_turf(hit_atom))
B.Crossed(hit_atom)
qdel(src)
..()
..()
+4 -4
View File
@@ -9,7 +9,7 @@
item_state = "lighter-g"
var/icon_on = "lighter-g-on"
var/icon_off = "lighter-g"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
throwforce = 4
flags = CONDUCT
slot_flags = SLOT_BELT
@@ -35,7 +35,7 @@
if(user.r_hand == src || user.l_hand == src || isrobot(user))
if(!lit)
lit = 1
w_class = 4
w_class = WEIGHT_CLASS_BULKY
icon_state = icon_on
item_state = icon_on
if(istype(src, /obj/item/weapon/lighter/zippo) )
@@ -59,7 +59,7 @@
processing_objects.Add(src)
else
lit = 0
w_class = 1
w_class = WEIGHT_CLASS_TINY
icon_state = icon_off
item_state = icon_off
if(istype(src, /obj/item/weapon/lighter/zippo) )
@@ -147,7 +147,7 @@
icon_state = "match_unlit"
var/lit = 0
var/smoketime = 5
w_class = 1
w_class = WEIGHT_CLASS_TINY
origin_tech = "materials=1"
attack_verb = list("burnt", "singed")
+1 -4
View File
@@ -580,11 +580,8 @@
<h2>Protolathe</h2>
This machine is an advanced form of the Autolathe that produce non-circuit designs. Unlike the Autolathe, it can use processed metal, glass, solid plasma, silver, gold, and diamonds along with a variety of chemicals to produce devices. The downside is that, again, not all devices you make are 100% reliable when you first discover them.
<h1>Reliability and You</h1>
As it has been stated, many devices when they're first discovered do not have a 100% reliablity when you first discover them. Instead, the reliablity of the device is dependent upon a base reliability value, whatever improvements to the design you've discovered through the Destructive Analyzer, and any advancements you've made with the device's source technologies. To be able to improve the reliability of a device, you have to use the device until it breaks beyond repair. Once that happens, you can analyze it in a Destructive Analyzer. Once the device reachs a certain minimum reliability, you'll gain tech advancements from it.
<h1>Building a Better Machine</h1>
Many machines produces from circuit boards and inserted into a machine frame require a variety of parts to construct. These are parts like capacitors, batteries, matter bins, and so forth. As your knowledge of science improves, more advanced versions are unlocked. If you use these parts when constructing something, its attributes may be improved. For example, if you use an advanced matter bin when constructing an autolathe (rather then a regular one), it'll hold more materials. Experiment around with stock parts of various qualities to see how they affect the end results! Be warned, however: Tier 3 and higher stock parts don't have 100% reliability and their low reliability may affect the reliability of the end machine.
Many machines produces from circuit boards and inserted into a machine frame require a variety of parts to construct. These are parts like capacitors, batteries, matter bins, and so forth. As your knowledge of science improves, more advanced versions are unlocked. If you use these parts when constructing something, its attributes may be improved. For example, if you use an advanced matter bin when constructing an autolathe (rather then a regular one), it'll hold more materials. Experiment around with stock parts of various qualities to see how they affect the end results!
</body>
</html>
"}*/
@@ -2,8 +2,8 @@
var/active = 0
var/force_on = 30 //force when active
var/throwforce_on = 20
w_class = 2
var/w_class_on = 4
w_class = WEIGHT_CLASS_SMALL
var/w_class_on = WEIGHT_CLASS_BULKY
var/icon_state_on = "axe1"
var/list/attack_verb_on = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
no_embed = 1 // Physically impossible for energy weapons to embed themselves into people, this should fix that. -- Dave
@@ -61,12 +61,12 @@
throwforce_on = 30
throw_speed = 3
throw_range = 5
w_class = 3
w_class_on = 5
w_class = WEIGHT_CLASS_NORMAL
w_class_on = WEIGHT_CLASS_HUGE
hitsound = "swing_hit"
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()
sharp = 1
@@ -86,7 +86,7 @@
throw_range = 5
hitsound = "swing_hit"
armour_penetration = 35
origin_tech = "magnets=3;syndicate=4"
origin_tech = "combat=3;magnets=4;syndicate=4"
block_chance = 50
sharp = 1
edge = 1
@@ -123,13 +123,12 @@
sharp = 1
edge = 1
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"
hitcost = 75 //Costs more than a standard cyborg esword
item_color = null
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/melee/energy/sword/cyborg/saw/New()
..()
@@ -207,7 +206,7 @@
throwforce = 1//Throwing or dropping the item deletes it.
throw_speed = 3
throw_range = 1
w_class = 4//So you can't hide it in your pocket or some such.
w_class = WEIGHT_CLASS_BULKY //So you can't hide it in your pocket or some such.
armour_penetration = 50
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/datum/effect/system/spark_spread/spark_system
@@ -223,4 +222,4 @@
qdel(src)
/obj/item/weapon/melee/energy/blade/attack_self(mob/user)
return
return
@@ -10,8 +10,8 @@
slot_flags = SLOT_BELT
force = 10
throwforce = 7
w_class = 3
origin_tech = "combat=4"
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "combat=5"
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
hitsound = 'sound/weapons/slash.ogg' //pls replace
@@ -28,7 +28,7 @@
flags = CONDUCT
force = 15
throwforce = 10
w_class = 4
w_class = WEIGHT_CLASS_BULKY
block_chance = 50
armour_penetration = 75
sharp = 1
@@ -50,7 +50,7 @@
item_state = "icepick"
force = 15
throwforce = 10
w_class = 2
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("stabbed", "jabbed", "iced,")
/obj/item/weapon/melee/candy_sword
@@ -60,5 +60,5 @@
item_state = "candy_sword"
force = 10
throwforce = 7
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("slashed", "stabbed", "sliced", "caned")
+5 -5
View File
@@ -30,7 +30,7 @@
flags = CONDUCT
force = 5.0
throwforce = 7.0
w_class = 2
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=50)
attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed", "Vaudevilled")
@@ -43,7 +43,7 @@
icon = 'icons/obj/items.dmi'
icon_state = "c_tube"
throwforce = 1
w_class = 1
w_class = WEIGHT_CLASS_TINY
throw_speed = 4
throw_range = 5
@@ -65,7 +65,7 @@
var/data = ""
var/base_url = "http://svn.slurm.us/public/spacestation13/misc/game_kit"
item_state = "sheet-metal"
w_class = 5
w_class = WEIGHT_CLASS_HUGE
*/
/obj/item/weapon/gift
@@ -76,7 +76,7 @@
var/size = 3.0
var/obj/item/gift = null
item_state = "gift"
w_class = 4
w_class = WEIGHT_CLASS_BULKY
/obj/item/weapon/kidanglobe
name = "Kidan homeworld globe"
@@ -134,7 +134,7 @@
throwforce = 2
throw_speed = 1
throw_range = 4
w_class = 2
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("called", "rang")
hitsound = 'sound/weapons/ring.ogg'
var/cooldown = 0
+2 -1
View File
@@ -9,7 +9,7 @@
throwforce = 5.0
throw_speed = 3
throw_range = 7
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("mopped", "bashed", "bludgeoned", "whacked")
burn_state = FLAMMABLE
var/mopping = 0
@@ -78,6 +78,7 @@
mopcap = 15
icon_state = "advmop"
item_state = "mop" //meh will do for now until TG makes one
origin_tech = "materials=3;engineering=3"
force = 6
throwforce = 8
throw_range = 4
+2 -2
View File
@@ -7,7 +7,7 @@
icon_state = "paint_neutral"
item_state = "paintcan"
materials = list(MAT_METAL=200)
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
burn_state = FLAMMABLE
burntime = 5
amount_per_transfer_from_this = 5
@@ -63,4 +63,4 @@
/obj/item/weapon/reagent_containers/glass/paint/remover
name = "paint remover bucket"
list_reagents = list("paint_remover" = 70)
list_reagents = list("paint_remover" = 70)
@@ -1,7 +1,7 @@
/obj/item/weapon/pneumatic_cannon
name = "pneumatic cannon"
desc = "A gas-powered cannon that can fire any object loaded into it."
w_class = 4
w_class = WEIGHT_CLASS_BULKY
force = 8 //Very heavy
attack_verb = list("bludgeoned", "smashed", "beaten")
icon = 'icons/obj/pneumaticCannon.dmi'
@@ -132,7 +132,7 @@
name = "improvised pneumatic cannon"
desc = "A gas-powered, object-firing cannon made out of common parts."
force = 5
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
maxWeightClass = 7
gasPerThrow = 5

Some files were not shown because too many files have changed in this diff Show More