Merge remote-tracking branch 'upstream/dev' into newpaint

Conflicts:
	code/game/objects/items/weapons/paint.dm
This commit is contained in:
RKF45
2015-02-01 23:04:18 +01:00
271 changed files with 774 additions and 992 deletions
+1
View File
@@ -832,6 +832,7 @@
#include "code\modules\clothing\spacesuits\rig\modules\computer.dm"
#include "code\modules\clothing\spacesuits\rig\modules\modules.dm"
#include "code\modules\clothing\spacesuits\rig\modules\ninja.dm"
#include "code\modules\clothing\spacesuits\rig\modules\rig_weapons.dm"
#include "code\modules\clothing\spacesuits\rig\modules\utility.dm"
#include "code\modules\clothing\spacesuits\rig\modules\vision.dm"
#include "code\modules\clothing\spacesuits\rig\suits\alien.dm"
@@ -6,7 +6,7 @@
icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
icon_state = "port2"
w_class = 4
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
/obj/item/rust_fuel_assembly_port_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/wrench))
@@ -6,7 +6,7 @@
icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
icon_state = "fuel_compressor0"
w_class = 4
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
/obj/item/rust_fuel_compressor_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/wrench))
+1 -1
View File
@@ -317,7 +317,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
var/temp = null //Temporary storage area for a message offering the option to destroy the radio
var/selfdestruct = 0 //Set to 1 while the radio is self destructing itself.
var/obj/item/device/radio/origradio = null
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
w_class = 2.0
item_state = "radio"
-1
View File
@@ -3,7 +3,6 @@
name = "tape roll"
icon = 'icons/policetape.dmi'
icon_state = "rollstart"
flags = FPRINT
w_class = 2.0
var/turf/start
var/turf/end
@@ -5,7 +5,7 @@
item_state = "ba_suit"
color = "hosblueclothes"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/advisor
name = "correctional advisor's jumpsuit"
@@ -14,7 +14,7 @@
item_state = "ba_suit"
color = "wardenblueclothes"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/supervisor
name = "crew supervisor's jumpsuit"
@@ -23,7 +23,7 @@
item_state = "ba_suit"
color = "officerblueclothes"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
flags = ONESIZEFITSALL
/obj/item/clothing/shoes/boots
name = "boots"
@@ -5,13 +5,11 @@
name = "officers beret"
desc = "A black beret adorned with the shield—a silver kite shield with an engraved sword—of the NanoTrasen security forces, announcing to the world that the wearer is a defender of NanoTrasen."
icon_state = "centcomofficerberet"
flags = FPRINT | TABLEPASS
/obj/item/clothing/head/beret/centcom/captain
name = "captains beret"
desc = "A white beret adorned with the shield—a cobalt kite shield with an engraved sword—of the NanoTrasen security forces, worn only by those captaining a vessel of the NanoTrasen Navy."
icon_state = "centcomcaptain"
flags = FPRINT | TABLEPASS
/obj/item/clothing/shoes/centcom
name = "dress shoes"
@@ -3,7 +3,6 @@
/obj/item/weapon/stamperaser
name = "eraser"
desc = "It looks like some kind of eraser."
flags = FPRINT | TABLEPASS
icon = 'icons/obj/items.dmi'
icon_state = "zippo"
item_state = "zippo"
@@ -15,7 +14,6 @@
desc = "It blinks and has an antenna on it. Weird."
icon_state = "t-ray0"
var/on = 0
flags = FPRINT|TABLEPASS
w_class = 1
var/list/obj/item/device/radio/Old = list()
var/list/obj/item/device/radio/Curr = list()
@@ -252,7 +252,6 @@ Alien plants should do something if theres a lot of poison
item_state = "wardendnavyclothes"
item_color = "wardendnavyclothes"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = FPRINT | TABLEPASS
/obj/item/clothing/under/rank/navysecurity
name = "security officer's jumpsuit"
@@ -261,7 +260,6 @@ Alien plants should do something if theres a lot of poison
item_state = "officerdnavyclothes"
item_color = "officerdnavyclothes"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = FPRINT | TABLEPASS
/obj/item/clothing/under/rank/navyhead_of_security
desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer."
@@ -270,7 +268,6 @@ Alien plants should do something if theres a lot of poison
item_state = "hosdnavyclothes"
item_color = "hosdnavyclothes"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = FPRINT | TABLEPASS
/obj/item/clothing/suit/armor/hosnavycoat
name = "armored coat"
@@ -283,26 +280,22 @@ Alien plants should do something if theres a lot of poison
name = "security beret"
desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety."
icon_state = "officerberet"
flags = FPRINT | TABLEPASS
/obj/item/clothing/head/beret/navywarden
name = "warden's beret"
desc = "A beret with a two-colored security insignia emblazoned on it. For wardens that are more inclined towards style than safety."
icon_state = "wardenberet"
flags = FPRINT | TABLEPASS
/obj/item/clothing/head/beret/navyhos
name = "security head's beret"
desc = "A stylish beret bearing a golden insignia that proudly displays the security coat of arms. A commander's must-have."
icon_state = "hosberet"
flags = FPRINT | TABLEPASS
/obj/item/clothing/suit/armor/navysecvest
name = "armored coat"
desc = "An armored coat that protects against some damage."
icon_state = "officerdnavyjacket"
item_state = "armor"
flags = FPRINT | TABLEPASS
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/navywardenvest
@@ -310,7 +303,6 @@ Alien plants should do something if theres a lot of poison
desc = "An armoured jacket with silver rank pips and livery."
icon_state = "wardendnavyjacket"
item_state = "armor"
flags = FPRINT | TABLEPASS
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
//hostile entities or npcs
+1 -1
View File
@@ -7,7 +7,7 @@
desc = "Extracts information on wounds."
icon = 'icons/obj/autopsy_scanner.dmi'
icon_state = ""
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
w_class = 2.0
origin_tech = "materials=1;biotech=1"
var/list/datum/autopsy_data_scanner/wdata = list()
@@ -141,14 +141,14 @@
if (!computer || computer.z > 6)
return null
cameranet.process_sort()
var/list/L = list()
for(var/obj/machinery/camera/C in cameranet.cameras)
var/list/temp = C.network & key.networks
if(temp.len)
L.Add(C)
camera_sort(L)
return L
verify_machine(var/obj/machinery/camera/C,var/datum/file/camnet_key/key = null)
if(!istype(C) || !C.can_use())
+3
View File
@@ -581,3 +581,6 @@ datum/proc/dd_SortValue()
/obj/machinery/dd_SortValue()
return "[sanitize(name)]"
/obj/machinery/camera/dd_SortValue()
return "[c_tag]"
+12 -12
View File
@@ -42,15 +42,15 @@
index = findtext(t, char)
return t
/proc/readd_quotes(var/t)
var/list/repl_chars = list(""" = "\"")
for(var/char in repl_chars)
var/index = findtext(t, char)
while(index)
t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+5)
index = findtext(t, char)
return t
/proc/readd_quotes(var/t)
var/list/repl_chars = list(""" = "\"")
for(var/char in repl_chars)
var/index = findtext(t, char)
while(index)
t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+5)
index = findtext(t, char)
return t
//Runs byond's sanitization proc along-side sanitize_simple
/proc/sanitize(var/t,var/list/repl_chars = null)
return html_encode(sanitize_simple(t,repl_chars))
@@ -83,7 +83,7 @@
/proc/stripped_input(var/mob/user, var/message = "", var/title = "", var/default = "", var/max_length=MAX_MESSAGE_LEN)
var/name = input(user, message, title, default)
return strip_html_properly(name, max_length)
// Used to get a trimmed, properly sanitized input, of max_length
/proc/trim_strip_input(var/mob/user, var/message = "", var/title = "", var/default = "", var/max_length=MAX_MESSAGE_LEN)
return trim(stripped_input(user, message, title, default, max_length))
@@ -326,7 +326,7 @@ proc/TextPreview(var/string,var/len=40)
else
return string
else
return "[copytext(string, 1, 37)]..."
return "[copytext(string, 1, 37)]..."
//This proc strips html properly, but it's not lazy like the other procs.
//This means that it doesn't just remove < and > and call it a day.
@@ -342,7 +342,7 @@ proc/TextPreview(var/string,var/len=40)
input = copytext(input, 1, opentag) + copytext(input, (closetag + 1))
if(max_length)
input = copytext(input,1,max_length)
return input
return sanitize(input)
/proc/trim_strip_html_properly(var/input, var/max_length = MAX_MESSAGE_LEN)
return trim(strip_html_properly(input, max_length))
+13 -13
View File
@@ -119,7 +119,7 @@ datum/mind
"cult",
"wizard",
"changeling",
"nuclear",
"mercenary",
"traitor", // "traitorchan",
"monkey",
"malfunction",
@@ -217,23 +217,23 @@ datum/mind
sections["changeling"] = text
/** NUCLEAR ***/
text = "nuclear"
if (ticker.mode.config_tag=="nuclear")
text = "mercenary"
if (ticker.mode.config_tag=="mercenary")
text = uppertext(text)
text = "<i><b>[text]</b></i>: "
if (src in ticker.mode.syndicates)
text += "<b>OPERATIVE</b>|<a href='?src=\ref[src];nuclear=clear'>nanotrasen</a>"
text += "<br><a href='?src=\ref[src];nuclear=lair'>To shuttle</a>, <a href='?src=\ref[src];common=undress'>undress</a>, <a href='?src=\ref[src];nuclear=dressup'>dress up</a>."
text += "<b>OPERATIVE</b>|<a href='?src=\ref[src];mercenary=clear'>nanotrasen</a>"
text += "<br><a href='?src=\ref[src];mercenary=lair'>To shuttle</a>, <a href='?src=\ref[src];common=undress'>undress</a>, <a href='?src=\ref[src];mercenary=dressup'>dress up</a>."
var/code
for (var/obj/machinery/nuclearbomb/bombue in machines)
if (length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN")
code = bombue.r_code
break
if (code)
text += " Code is [code]. <a href='?src=\ref[src];nuclear=tellcode'>tell the code.</a>"
text += " Code is [code]. <a href='?src=\ref[src];mercenary=tellcode'>tell the code.</a>"
else
text += "<a href='?src=\ref[src];nuclear=nuclear'>operative</a>|<b>NANOTRASEN</b>"
sections["nuclear"] = text
text += "<a href='?src=\ref[src];mercenary=mercenary'>operative</a>|<b>NANOTRASEN</b>"
sections["mercenary"] = text
/** TRAITOR ***/
text = "traitor"
@@ -382,7 +382,7 @@ datum/mind
if(!def_value)//If it's a custom objective, it will be an empty string.
def_value = "custom"
var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "nuclear", "capture", "absorb", "custom")
var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "mercenary", "capture", "absorb", "custom")
if (!new_obj_type) return
var/datum/objective/new_objective = null
@@ -436,7 +436,7 @@ datum/mind
new_objective = new /datum/objective/survive
new_objective.owner = src
if ("nuclear")
if ("mercenary")
new_objective = new /datum/objective/nuclear
new_objective.owner = src
@@ -748,12 +748,12 @@ datum/mind
current.UpdateAppearance()
domutcheck(current, null)
else if (href_list["nuclear"])
else if (href_list["mercenary"])
var/mob/living/carbon/human/H = current
current.hud_updateflag |= (1 << SPECIALROLE_HUD)
switch(href_list["nuclear"])
switch(href_list["mercenary"])
if("clear")
if(src in ticker.mode.syndicates)
ticker.mode.syndicates -= src
@@ -763,7 +763,7 @@ datum/mind
objectives-=O
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer an operative!</B></FONT>"
log_admin("[key_name_admin(usr)] has de-merc'd [current].")
if("nuclear")
if("mercenary")
if(!(src in ticker.mode.syndicates))
ticker.mode.syndicates += src
ticker.mode.update_synd_icons_added(src)
+5 -3
View File
@@ -173,10 +173,11 @@ using /obj/effect/datacore/proc/manifest_inject( ), or manifest_insert( )
*/
var/global/list/PDA_Manifest = list()
var/global/ManifestJSON
/obj/effect/datacore/proc/get_manifest_json()
if(PDA_Manifest.len)
return PDA_Manifest
return
var/heads[0]
var/sec[0]
var/eng[0]
@@ -247,7 +248,8 @@ var/global/list/PDA_Manifest = list()
"bot" = bot,\
"misc" = misc\
)
return PDA_Manifest
ManifestJSON = list2json(PDA_Manifest)
return
@@ -302,7 +304,7 @@ var/global/list/PDA_Manifest = list()
throwforce = 0.0
throw_speed = 1
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
user.drop_item()
+9 -11
View File
@@ -3,7 +3,7 @@
desc = "Should anything ever go wrong..."
icon = 'icons/obj/items.dmi'
icon_state = "red_phone"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
force = 3.0
throwforce = 2.0
throw_speed = 1
@@ -22,7 +22,6 @@
anchored = 0.0
var/stored_matter = 0
var/mode = 1
flags = TABLEPASS
w_class = 3.0
/obj/item/weapon/bananapeel
@@ -92,7 +91,7 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "cane"
item_state = "stick"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
force = 5.0
throwforce = 7.0
w_class = 2.0
@@ -139,7 +138,7 @@
gender = PLURAL
icon = 'icons/obj/items.dmi'
icon_state = "handcuff"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
throwforce = 0
w_class = 3.0
origin_tech = "materials=1"
@@ -198,7 +197,6 @@
throw_speed = 1
throw_range = 5
w_class = 2.0
flags = FPRINT | TABLEPASS
attack_verb = list("warned", "cautioned", "smashed")
/obj/item/weapon/caution/cone
@@ -217,7 +215,7 @@
var/traitor_frequency = 0.0
var/mob/currentUser = null
var/obj/item/device/radio/origradio = null
flags = FPRINT | TABLEPASS | CONDUCT | ONBELT
flags = CONDUCT | ONBELT
w_class = 2.0
item_state = "radio"
throw_speed = 4
@@ -235,7 +233,7 @@
var/selfdestruct = 0.0
var/traitor_frequency = 0.0
var/obj/item/device/radio/origradio = null
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
item_state = "radio"
throwforce = 5
@@ -255,7 +253,7 @@
throw_speed = 1
throw_range = 5
w_class = 2.0
flags = FPRINT | TABLEPASS | NOSHIELD
flags = NOSHIELD
attack_verb = list("bludgeoned", "whacked", "disciplined")
/obj/item/weapon/staff/broom
@@ -282,7 +280,7 @@
throw_speed = 1
throw_range = 5
w_class = 2.0
flags = FPRINT | TABLEPASS | NOSHIELD
flags = NOSHIELD
/obj/item/weapon/wire
desc = "This is just a simple piece of regular insulated wire."
@@ -304,7 +302,7 @@
icon_state = "std_module"
w_class = 2.0
item_state = "electronic"
flags = FPRINT|TABLEPASS|CONDUCT
flags = CONDUCT
var/mtype = 1 // 1=electronic 2=hardware
/obj/item/weapon/module/card_reader
@@ -385,7 +383,7 @@
w_class = 1
throwforce = 2
var/cigarcount = 6
flags = ONBELT | TABLEPASS */
flags = ONBELT */
/obj/item/weapon/pai_cable
desc = "A flexible coated cable with a universal jack on one end."
+1
View File
@@ -349,6 +349,7 @@ var/list/ghostteleportlocs = list()
name = "\improper Centcom"
icon_state = "centcom"
requires_power = 0
unlimited_power = 1
/area/centcom/control
name = "\improper Centcom Control"
+2 -6
View File
@@ -1,7 +1,7 @@
/atom
layer = 2
var/level = 2
var/flags = FPRINT
var/flags = 0
var/list/fingerprints
var/list/fingerprintshidden
var/fingerprintslast = null
@@ -234,8 +234,6 @@ its easier to just keep the beam vertical.
/atom/proc/add_hiddenprint(mob/living/M as mob)
if(isnull(M)) return
if(isnull(M.key)) return
if (!( src.flags ) & FPRINT)
return
if (ishuman(M))
var/mob/living/carbon/human/H = M
if (!istype(H.dna, /datum/dna))
@@ -260,8 +258,6 @@ its easier to just keep the beam vertical.
if(isnull(M)) return
if(isAI(M)) return
if(isnull(M.key)) return
if (!( src.flags ) & FPRINT)
return
if (ishuman(M))
//Add the list if it does not exist.
if(!fingerprintshidden)
@@ -386,7 +382,7 @@ its easier to just keep the beam vertical.
//returns 1 if made bloody, returns 0 otherwise
/atom/proc/add_blood(mob/living/carbon/human/M as mob)
if((flags & NOBLOODY) || !(flags & FPRINT))
if(flags & NOBLOODY)
return 0
if(!blood_DNA || !istype(blood_DNA, /list)) //if our list of DNA doesn't exist yet (or isn't a list) initialise it.
+2 -5
View File
@@ -3,7 +3,6 @@
desc = "An arcane weapon wielded by the followers of Nar-Sie"
icon_state = "cultblade"
item_state = "cultblade"
flags = FPRINT | TABLEPASS
w_class = 4
force = 30
throwforce = 10
@@ -34,7 +33,7 @@
icon_state = "culthood"
desc = "A hood worn by the followers of Nar-Sie."
flags_inv = HIDEFACE
flags = FPRINT|TABLEPASS|HEADCOVERSEYES
flags = HEADCOVERSEYES
body_parts_covered = HEAD|EYES
armor = list(melee = 30, bullet = 10, laser = 5,energy = 5, bomb = 0, bio = 0, rad = 0)
cold_protection = HEAD
@@ -55,7 +54,6 @@
desc = "A set of armored robes worn by the followers of Nar-Sie"
icon_state = "cultrobes"
item_state = "cultrobes"
flags = FPRINT | TABLEPASS
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/book/tome,/obj/item/weapon/melee/cultblade)
armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0)
@@ -68,7 +66,7 @@
item_state = "magus"
desc = "A helm worn by the followers of Nar-Sie."
flags_inv = HIDEFACE
flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
armor = list(melee = 30, bullet = 30, laser = 30,energy = 20, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0
@@ -78,7 +76,6 @@
desc = "A set of armored robes worn by the followers of Nar-Sie"
icon_state = "magusred"
item_state = "magusred"
flags = FPRINT | TABLEPASS
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/weapon/book/tome,/obj/item/weapon/melee/cultblade)
armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0)
-1
View File
@@ -169,7 +169,6 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
throw_speed = 1
throw_range = 5
w_class = 2.0
flags = FPRINT | TABLEPASS
unique = 1
var/notedat = ""
var/tomedat = ""
@@ -58,7 +58,6 @@
icon_state = "xmashat"
desc = "A crappy paper hat that you are REQUIRED to wear."
flags_inv = 0
flags = FPRINT|TABLEPASS
body_parts_covered = 0
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+1 -1
View File
@@ -116,7 +116,7 @@ var/ninja_confirmed_selection = 0
var/commando_list[] = list()//Commandos.
//We want the ninja to appear only in certain modes.
// var/acceptable_modes_list[] = list("traitor","revolution","cult","wizard","changeling","traitorchan","nuclear","malfunction","monkey") // Commented out for both testing and ninjas
// var/acceptable_modes_list[] = list("traitor","revolution","cult","wizard","changeling","traitorchan","mercenary","malfunction","monkey") // Commented out for both testing and ninjas
// if(!(current_mode.config_tag in acceptable_modes_list))
// return
+1 -4
View File
@@ -151,8 +151,6 @@
var/list/area/escape_locations = list(/area/shuttle/escape/centcom, /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom)
var/pltext = "<font size=2><b>Player list:</b></font>"
for(var/mob/M in player_list)
if(M.client)
clients++
@@ -187,7 +185,6 @@
text += " (<b>[escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]</b>) and <b>[ghosts] ghosts</b>.</b><br>"
else
text += "There were <b>no survivors</b> (<b>[ghosts] ghosts</b>).</b>"
text += "<br>" + pltext //print player list after the general info
world << text
if(clients > 0)
@@ -553,7 +550,7 @@ proc/get_nt_opposed()
var/list/refined_log = new()
for(var/datum/uplink_item/UI in H.purchase_log)
var/obj/I = new UI.path
refined_log.Add("[H.purchase_log[UI]]x\icon[I][I.name]")
refined_log.Add("[H.purchase_log[UI]]x\icon[I][UI.name]")
del(I)
purchases = english_list(refined_log, nothing_text = "")
if(uplink_true)
@@ -11,7 +11,6 @@
var/secondary_key
var/activated = 0
flags = FPRINT
use_power = 0
New(loc, mode)
+2 -2
View File
@@ -11,7 +11,7 @@ var/global/list/turf/synd_spawn = list()
/datum/game_mode/nuclear
name = "mercenary"
config_tag = "nuclear"
config_tag = "mercenary"
required_players = 15
required_players_secret = 25 // 25 players - 5 players to be the nuke ops = 20 players remaining
required_enemies = 1
@@ -175,7 +175,7 @@ var/global/list/turf/synd_spawn = list()
var/obj/item/weapon/paper/P = new
P.info = "The nuclear authorization code is: <b>[nuke_code]</b>"
P.name = "nuclear bomb code"
if (ticker.mode.config_tag=="nuclear")
if (ticker.mode.config_tag=="mercenary")
P.loc = code_spawn.loc
else
var/mob/living/carbon/human/H = synd_mind.current
@@ -23,7 +23,6 @@ var/bomb_set
var/timing_wire
var/removal_stage = 0 // 0 is no removal, 1 is covers removed, 2 is covers open,
// 3 is sealant open, 4 is unwrenched, 5 is removed from bolts.
flags = FPRINT
use_power = 0
+1 -1
View File
@@ -2,7 +2,7 @@
name = "pinpointer"
icon = 'icons/obj/device.dmi'
icon_state = "pinoff"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
w_class = 2.0
item_state = "electronic"
-1
View File
@@ -6,7 +6,6 @@
icon = 'icons/obj/wizard.dmi'
icon_state = "render"
item_state = "render"
flags = FPRINT | TABLEPASS
force = 15
throwforce = 10
w_class = 3
-2
View File
@@ -5,7 +5,6 @@
item_state = "electronic"
desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefacts power."
w_class = 1.0
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
origin_tech = "bluespace=4;materials=4"
var/imprinted = "empty"
@@ -88,7 +87,6 @@
icon = 'icons/obj/wizard.dmi'
icon_state = "construct"
desc = "A wicked machine used by those skilled in magical arts. It is inactive"
flags = FPRINT | TABLEPASS
/obj/structure/constructshell/attackby(obj/item/O as obj, mob/user as mob)
if(istype(O, /obj/item/device/soulstone))
-1
View File
@@ -6,7 +6,6 @@
throw_speed = 1
throw_range = 5
w_class = 2.0
flags = FPRINT | TABLEPASS
var/uses = 5
var/temp = null
var/max_uses = 5
+2 -2
View File
@@ -1005,7 +1005,7 @@ Code shamelessly copied from apc_frame
desc = "Used for building Air Alarms"
icon = 'icons/obj/monitors.dmi'
icon_state = "alarm_bitem"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
/obj/item/alarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/wrench))
@@ -1340,7 +1340,7 @@ Code shamelessly copied from apc_frame
desc = "Used for building Fire Alarms"
icon = 'icons/obj/monitors.dmi'
icon_state = "fire_bitem"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
/obj/item/firealarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/wrench))
+1 -1
View File
@@ -4,7 +4,7 @@
icon_state = "yellow"
density = 1
var/health = 100.0
flags = FPRINT | CONDUCT
flags = CONDUCT
var/valve_open = 0
var/release_pressure = ONE_ATMOSPHERE
+10 -9
View File
@@ -21,10 +21,16 @@
var/datum/wires/autolathe/wires = null
/obj/machinery/autolathe/proc/update_recipe_list()
if(!machine_recipes)
machine_recipes = autolathe_recipes
/obj/machinery/autolathe/interact(mob/user as mob)
update_recipe_list()
if(..() || (disabled && !panel_open))
user << "\red \The [src] is disabled!"
user << "<span class='danger'>\The [src] is disabled!</span>"
return
if (shocked)
@@ -97,7 +103,7 @@
return
if (busy)
user << "\red \The [src] is busy. Please wait for completion of previous operation."
user << "<span class='notice'>\The [src] is busy. Please wait for completion of previous operation.</span>"
return
if(istype(O, /obj/item/weapon/screwdriver))
@@ -157,7 +163,7 @@
mass_per_sheet += eating.matter[material]
if(!filltype)
user << "\red \The [src] is full. Please remove material from the autolathe in order to insert more."
user << "<span class='notice'>\The [src] is full. Please remove material from the autolathe in order to insert more.</span>"
return
else if(filltype == 1)
user << "You fill \the [src] to capacity with \the [eating]."
@@ -189,7 +195,7 @@
add_fingerprint(usr)
if(busy)
usr << "\red The autolathe is busy. Please wait for completion of previous operation."
usr << "<span class='notice'>The autolathe is busy. Please wait for completion of previous operation.</span>"
return
if(href_list["change_category"])
@@ -262,11 +268,6 @@
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
RefreshParts()
/obj/machinery/autolathe/initialize()
..()
machine_recipes = autolathe_recipes
//Updates overall lathe storage size.
/obj/machinery/autolathe/RefreshParts()
..()
-1
View File
@@ -65,7 +65,6 @@
name = "bottle of BeezEez"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle17"
flags = FPRINT | TABLEPASS
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
-1
View File
@@ -9,7 +9,6 @@
throw_speed = 2
throw_range = 5
w_class = 3.0
flags = TABLEPASS
var/created_name = "Cleanbot"
-2
View File
@@ -9,7 +9,6 @@
throw_speed = 2
throw_range = 5
w_class = 3.0
flags = TABLEPASS
var/created_name = "Floorbot"
/obj/item/weapon/toolbox_tiles_sensor
@@ -22,7 +21,6 @@
throw_speed = 2
throw_range = 5
w_class = 3.0
flags = TABLEPASS
var/created_name = "Floorbot"
//Floorbot
+4 -3
View File
@@ -281,9 +281,6 @@
src.speak(message)
src.visible_message("<b>[src]</b> points at [C.name]!")
src.last_newpatient_speak = world.time
if(declare_treatment)
var/area/location = get_area(src)
broadcast_medical_hud_message("[src.name] is treating <b>[C]</b> in <b>[location]</b>", src)
break
else
continue
@@ -438,6 +435,10 @@
src.patient.reagents.add_reagent(reagent_id,src.injection_amount)
visible_message("\red <B>[src] injects [src.patient] with the syringe!</B>")
if(declare_treatment)
var/area/location = get_area(src)
broadcast_medical_hud_message("[src.name] is treating <b>[C]</b> in <b>[location]</b>", src)
src.icon_state = "medibot[src.on]"
src.currently_healing = 0
return
+9 -2
View File
@@ -36,6 +36,9 @@
wires = new(src)
assembly = new(src)
assembly.state = 4
invalidateCameraCache()
/* // Use this to look for cameras that have the same c_tag.
for(var/obj/machinery/camera/C in cameranet.cameras)
var/list/tempnetwork = C.network&src.network
@@ -61,6 +64,7 @@
/obj/machinery/camera/emp_act(severity)
if(!isEmpProof())
if(prob(100/severity))
invalidateCameraCache()
stat |= EMPED
SetLuminosity(0)
kick_viewers()
@@ -71,7 +75,7 @@
stat &= ~EMPED
cancelCameraAlarm()
update_icon()
invalidateCameraCache()
..()
/obj/machinery/camera/bullet_act(var/obj/item/projectile/P)
@@ -118,7 +122,7 @@
destroy()
/obj/machinery/camera/attackby(obj/W as obj, mob/living/user as mob)
invalidateCameraCache()
// DECONSTRUCTION
if(isscrewdriver(W))
//user << "<span class='notice'>You start to [panel_open ? "close" : "open"] the camera's panel.</span>"
@@ -199,6 +203,7 @@
//legacy support, if choice is != 1 then just kick viewers without changing status
kick_viewers()
else
invalidateCameraCache()
set_status( !src.status )
if (!(src.status))
visible_message("\red [user] has deactivated [src]!")
@@ -218,6 +223,7 @@
//Used when someone breaks a camera
/obj/machinery/camera/proc/destroy()
invalidateCameraCache()
stat |= BROKEN
kick_viewers()
triggerCameraAlarm()
@@ -232,6 +238,7 @@
/obj/machinery/camera/proc/set_status(var/newstatus)
if (status != newstatus)
status = newstatus
invalidateCameraCache()
// now disconnect anyone using the camera
//Apparently, this will disconnect anyone even if the camera was re-activated.
//I guess that doesn't matter since they couldn't use it anyway?
+2 -22
View File
@@ -15,15 +15,11 @@
if(src.stat == 2)
return
var/list/L = list()
for (var/obj/machinery/camera/C in cameranet.cameras)
L.Add(C)
camera_sort(L)
cameranet.process_sort()
var/list/T = list()
T["Cancel"] = "Cancel"
for (var/obj/machinery/camera/C in L)
for (var/obj/machinery/camera/C in cameranet.cameras)
var/list/tempnetwork = C.network&src.network
if (tempnetwork.len)
T[text("[][]", C.c_tag, (C.can_use() ? null : " (Deactivated)"))] = C
@@ -252,19 +248,3 @@
/mob/living/silicon/ai/attack_ai(var/mob/user as mob)
ai_camera_list()
/proc/camera_sort(list/L)
var/obj/machinery/camera/a
var/obj/machinery/camera/b
for (var/i = L.len, i > 0, i--)
for (var/j = 1 to i - 1)
a = L[j]
b = L[j + 1]
if (a.c_tag_order != b.c_tag_order)
if (a.c_tag_order > b.c_tag_order)
L.Swap(j, j + 1)
else
if (sorttext(a.c_tag, b.c_tag) < 0)
L.Swap(j, j + 1)
return L
@@ -418,7 +418,6 @@ var/global/list/holodeck_programs = list(
icon = 'icons/obj/objects.dmi'
icon_state = "stool"
anchored = 1.0
flags = FPRINT
pressure_resistance = 15
@@ -454,7 +453,7 @@ var/global/list/holodeck_programs = list(
throw_range = 5
throwforce = 0
w_class = 2.0
flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY
flags = NOSHIELD | NOBLOODY
var/active = 0
/obj/item/weapon/holo/esword/green
+38 -17
View File
@@ -1,5 +1,8 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/proc/invalidateCameraCache()
for(var/obj/machinery/computer/security/s in world)
s.camera_cache = null
/obj/machinery/computer/security
name = "security camera monitor"
@@ -10,6 +13,7 @@
var/list/network = list("SS13")
var/mapping = 0//For the overview file, interesting bit of code.
circuit = /obj/item/weapon/circuitboard/security
var/camera_cache = null
attack_ai(var/mob/user as mob)
@@ -32,29 +36,45 @@
data["current"] = null
var/list/L = list()
for (var/obj/machinery/camera/C in cameranet.cameras)
if(can_access_camera(C))
L.Add(C)
if(isnull(camera_cache))
cameranet.process_sort()
camera_sort(L)
var/cameras[0]
for(var/obj/machinery/camera/C in cameranet.cameras)
if(!can_access_camera(C))
continue
var/cameras[0]
for(var/obj/machinery/camera/C in L)
var/cam[0]
cam["name"] = C.c_tag
cam["deact"] = !C.can_use()
cam["camera"] = "\ref[C]"
cam["x"] = C.x
cam["y"] = C.y
cam["z"] = C.z
var/cam[0]
cam["name"] = sanitize(C.c_tag)
cam["deact"] = !C.can_use()
cam["camera"] = "\ref[C]"
cam["x"] = C.x
cam["y"] = C.y
cam["z"] = C.z
cameras[++cameras.len] = cam
cameras[++cameras.len] = cam
if(C == current)
data["current"] = cam
var/list/camera_list = list("cameras" = cameras)
camera_cache=list2json(camera_list)
else
if(current)
var/cam[0]
cam["name"] = current.c_tag
cam["deact"] = !current.can_use()
cam["camera"] = "\ref[current]"
cam["x"] = current.x
cam["y"] = current.y
cam["z"] = current.z
if(C == current)
data["current"] = cam
data["cameras"] = cameras
if(ui)
ui.load_cached_data(camera_cache)
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
@@ -65,6 +85,7 @@
// adding a template with the key "mapHeader" replaces the map header content
ui.add_template("mapHeader", "sec_camera_map_header.tmpl")
ui.load_cached_data(camera_cache)
ui.set_initial_data(data)
ui.open()
ui.set_auto_update(1)
-2
View File
@@ -60,7 +60,6 @@ Buildable meters
icon = 'icons/obj/pipe-item.dmi'
icon_state = "simple"
item_state = "buildpipe"
flags = TABLEPASS|FPRINT
w_class = 3
level = 2
@@ -1133,7 +1132,6 @@ Buildable meters
icon = 'icons/obj/pipe-item.dmi'
icon_state = "meter"
item_state = "buildpipe"
flags = TABLEPASS|FPRINT
w_class = 4
/obj/item/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+1 -1
View File
@@ -154,7 +154,7 @@
user << "<span class='notice'>There seems to be a firewall preventing you from accessing this device.</span>"
return 0
if (get_dist(src, user) > 0 && !issilicon(user))
if (get_dist(src, user) > 1 && !issilicon(user))
user << "<span class='notice'>You are too far away.</span>"
user.unset_machine()
user << browse(null, "window=turretid")
-2
View File
@@ -11,8 +11,6 @@
var/set_temperature = T0C + 50 //K
var/heating_power = 40000
flags = FPRINT
/obj/machinery/space_heater/New()
..()
+5 -3
View File
@@ -91,7 +91,7 @@
var/turf/T = get_turf(R)
if (!T)
continue
if(T.z == 2 || T.z > 7)
if(!(T.z in config.player_levels))
continue
var/tmpname = T.loc.name
if(areaindex[tmpname])
@@ -118,8 +118,10 @@
areaindex[tmpname] = 1
L[tmpname] = I
var/desc = input("Please select a location to lock in.", "Locking Computer") in L
if(get_dist(src, usr) > 1)
var/desc = input("Please select a location to lock in.", "Locking Computer") in L|null
if(!desc)
return
if(get_dist(src, usr) > 1 && !issilicon(usr))
return
src.locked = L[desc]
+2 -2
View File
@@ -9,7 +9,7 @@
icon = 'icons/mecha/mech_construct.dmi'
icon_state = "blank"
w_class = 5
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
origin_tech = "programming=2;materials=2"
var/construction_time = 100
var/list/construction_cost = list("metal"=20000,"glass"=5000)
@@ -20,7 +20,7 @@
icon_state = "backbone"
var/datum/construction/construct
construction_cost = list("metal"=20000)
flags = FPRINT | CONDUCT
flags = CONDUCT
attackby(obj/item/W as obj, mob/user as mob)
if(!construct || !construct.action(W, user))
+1 -1
View File
@@ -5,7 +5,7 @@
initial_icon = "engineering_pod"
internal_damage_threshold = 80
step_in = 4
step_energy_drain = 15
step_energy_drain = 10
max_temperature = 20000
health = 150
infra_luminosity = 6
-1
View File
@@ -10,7 +10,6 @@
var/burning = null
var/hitsound = null
var/w_class = 3.0
flags = FPRINT | TABLEPASS
var/slot_flags = 0 //This is used to determine on which slots an item can fit.
pass_flags = PASSTABLE
pressure_resistance = 5
+1 -1
View File
@@ -5,7 +5,7 @@
desc = "Used for repairing or building APCs"
icon = 'icons/obj/apc_repair.dmi'
icon_state = "apc_frame"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
/obj/item/apc_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
+1 -1
View File
@@ -39,7 +39,7 @@
close_sound = 'sound/items/zip.ogg'
var/item_path = /obj/item/bodybag
density = 0
storage_capacity = (mob_size * 2) - 1
storage_capacity = (default_mob_size * 2) - 1
var/contains_body = 0
/obj/structure/closet/body_bag/attackby(W as obj, mob/user as mob)
+9 -3
View File
@@ -10,7 +10,6 @@ var/global/list/obj/item/device/pda/PDAs = list()
icon_state = "pda"
item_state = "electronic"
w_class = 2.0
flags = FPRINT | TABLEPASS
slot_flags = SLOT_ID | SLOT_BELT
//Main variables
@@ -464,7 +463,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
data["convo_job"] = sanitize(c["job"])
break
if(mode==41)
data["manifest"] = data_core.get_manifest_json()
data_core.get_manifest_json()
if(mode==3)
@@ -535,12 +534,19 @@ var/global/list/obj/item/device/pda/PDAs = list()
nanoUI = data
// update the ui if it exists, returns null if no ui is passed/found
if(ui)
ui.load_cached_data(ManifestJSON)
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
// the ui does not exist, so we'll create a new() one
// for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm
// for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm
ui = new(user, src, ui_key, "pda.tmpl", title, 520, 400)
// when the ui is first opened this is the data it will use
ui.load_cached_data(ManifestJSON)
ui.set_initial_data(data)
// open the new ui window
ui.open()
@@ -4,7 +4,6 @@
icon_state = "aicard" // aicard-full
item_state = "electronic"
w_class = 2.0
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
var/flush = null
origin_tech = "programming=4;materials=4"
@@ -4,7 +4,7 @@
desc = "A pair of binoculars."
icon_state = "binoculars"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
force = 5.0
w_class = 2.0
throwforce = 5.0
@@ -1,7 +1,7 @@
/obj/item/device/chameleon
name = "chameleon projector"
icon_state = "shield0"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
item_state = "electronic"
throwforce = 5.0
+1 -1
View File
@@ -9,7 +9,7 @@
desc = "Used to debug electronic equipment."
icon = 'icons/obj/hacktool.dmi'
icon_state = "hacktool-g"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
force = 5.0
w_class = 2.0
throwforce = 5.0
+1 -1
View File
@@ -7,7 +7,7 @@
w_class = 2.0
throw_speed = 4
throw_range = 10
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
origin_tech = "magnets=2;combat=1"
var/times_used = 0 //Number of times it's been used.
@@ -5,7 +5,7 @@
icon_state = "flashlight"
item_state = "flashlight"
w_class = 2
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
matter = list("metal" = 50,"glass" = 20)
@@ -106,7 +106,7 @@
desc = "A pen-sized light, used by medical staff."
icon_state = "penlight"
item_state = ""
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
brightness_on = 2
w_class = 1
@@ -115,7 +115,7 @@
desc = "A miniature lamp, that might be used by small robots."
icon_state = "penlight"
item_state = ""
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
brightness_on = 2
w_class = 1
@@ -128,7 +128,7 @@
item_state = "lamp"
brightness_on = 5
w_class = 4
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
on = 1
@@ -47,7 +47,7 @@
icon_state = "lightreplacer0"
item_state = "electronic"
flags = FPRINT | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
origin_tech = "magnets=3;materials=2"
+1 -1
View File
@@ -4,7 +4,7 @@
icon_state = "megaphone"
item_state = "radio"
w_class = 2.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
var/spamcheck = 0
var/emagged = 0
+1 -1
View File
@@ -8,7 +8,7 @@
name = "multitool"
desc = "Used for pulsing wires to test which to cut. Not recommended by doctors."
icon_state = "multitool"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
force = 5.0
w_class = 2.0
throwforce = 5.0
@@ -4,7 +4,6 @@
icon_state = "pai"
item_state = "electronic"
w_class = 2.0
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
origin_tech = "programming=2"
var/obj/item/device/radio/radio
+1 -1
View File
@@ -6,7 +6,7 @@
icon_state = "powersink0"
item_state = "electronic"
w_class = 4.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
throwforce = 5
throw_speed = 1
throw_range = 2
@@ -4,7 +4,7 @@
icon_state = "electropack0"
item_state = "electropack"
frequency = 1449
flags = FPRINT | CONDUCT | TABLEPASS
flags = CONDUCT
slot_flags = SLOT_BACK
w_class = 5.0
@@ -5,7 +5,7 @@
anchored = 1
w_class = 4.0
canhear_range = 2
flags = FPRINT | CONDUCT | TABLEPASS | NOBLOODY
flags = CONDUCT | NOBLOODY
var/number = 0
var/anyai = 1
var/mob/living/silicon/ai/ai = list()
@@ -20,7 +20,7 @@
var/syndie = 0//Holder to see if it's a syndicate encrpyed radio
var/maxf = 1499
// "Example" = FREQ_LISTENING|FREQ_BROADCASTING
flags = FPRINT | CONDUCT | TABLEPASS
flags = CONDUCT
slot_flags = SLOT_BELT
throw_speed = 2
throw_range = 9
+4 -5
View File
@@ -13,7 +13,6 @@ REAGENT SCANNER
desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes."
icon_state = "t-ray0"
var/on = 0
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
w_class = 2
item_state = "electronic"
@@ -69,7 +68,7 @@ REAGENT SCANNER
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
icon_state = "health"
item_state = "analyzer"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 3
w_class = 2.0
@@ -232,7 +231,7 @@ REAGENT SCANNER
icon_state = "atmos"
item_state = "analyzer"
w_class = 2.0
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
@@ -279,7 +278,7 @@ REAGENT SCANNER
icon_state = "spectrometer"
item_state = "analyzer"
w_class = 2.0
flags = FPRINT | TABLEPASS| CONDUCT | OPENCONTAINER
flags = CONDUCT | OPENCONTAINER
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
@@ -353,7 +352,7 @@ REAGENT SCANNER
icon_state = "spectrometer"
item_state = "analyzer"
w_class = 2.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
@@ -7,7 +7,7 @@
slot_flags = SLOT_BACK //you can carry it on your back if you want, but it won't do anything unless attached to suit storage
//copied from tank.dm
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
force = 5.0
throwforce = 10.0
throw_speed = 1
@@ -15,7 +15,7 @@
var/list/storedinfo = new/list()
var/list/timestamp = new/list()
var/canprint = 1
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
throwforce = 2
throw_speed = 4
throw_range = 20
@@ -22,7 +22,7 @@ effective or pretty fucking useless.
w_class = 1.0
throw_speed = 4
throw_range = 10
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
item_state = "electronic"
origin_tech = "magnets=3;combat=3;syndicate=3"
+1 -1
View File
@@ -4,7 +4,7 @@
icon_state = "voice0"
item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang)
w_class = 1.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
var/spamcheck = 0
var/emagged = 0
+1 -1
View File
@@ -3,7 +3,7 @@
icon = 'icons/obj/robot_parts.dmi'
item_state = "buildpipe"
icon_state = "blank"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
var/construction_time = 100
var/list/construction_cost = list("metal"=20000,"glass"=5000)
+1 -1
View File
@@ -3,7 +3,7 @@
desc = "Some rods. Can be used for building, or something."
singular_name = "metal rod"
icon_state = "rods"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
w_class = 3.0
force = 9.0
throwforce = 15.0
@@ -8,7 +8,7 @@
throwforce = 5.0
throw_speed = 5
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
max_amount = 60
/obj/item/stack/light_w/attackby(var/obj/item/O as obj, var/mob/user as mob)
@@ -82,7 +82,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
icon_state = "sheet-metal"
matter = list("metal" = 3750)
throwforce = 14.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
origin_tech = "materials=1"
/obj/item/stack/sheet/metal/cyborg
@@ -91,7 +91,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
singular_name = "metal sheet"
icon_state = "sheet-metal"
throwforce = 14.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
stacktype = /obj/item/stack/sheet/metal
/obj/item/stack/sheet/metal/New(var/loc, var/amount=null)
@@ -118,7 +118,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
item_state = "sheet-metal"
matter = list("metal" = 7500)
throwforce = 15.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
origin_tech = "materials=2"
/obj/item/stack/sheet/plasteel/New(var/loc, var/amount=null)
@@ -197,7 +197,6 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
desc = "Large sheets of card, like boxes folded flat."
singular_name = "cardboard sheet"
icon_state = "sheet-card"
flags = FPRINT | TABLEPASS
origin_tech = "materials=1"
/obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null)
@@ -1,6 +1,5 @@
/obj/item/stack/sheet
name = "sheet"
flags = FPRINT | TABLEPASS
w_class = 3.0
force = 5
throwforce = 5
@@ -8,7 +8,7 @@
throwforce = 5.0
throw_speed = 5
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
max_amount = 60
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed")
var/on = 1
@@ -9,7 +9,7 @@
throwforce = 15.0
throw_speed = 5
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
max_amount = 60
/obj/item/stack/tile/plasteel/New(var/loc, var/amount=null)
@@ -18,7 +18,7 @@
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
max_amount = 60
origin_tech = "biotech=1"
@@ -35,7 +35,7 @@
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
max_amount = 60
/*
@@ -51,5 +51,5 @@
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
max_amount = 60
+5 -8
View File
@@ -127,7 +127,7 @@
icon = 'icons/obj/gun.dmi'
icon_state = "revolver"
item_state = "gun"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
w_class = 3.0
@@ -183,7 +183,7 @@
desc = "There are 7 caps left! Make sure to recyle the box in an autolathe when it gets empty."
icon = 'icons/obj/ammo.dmi'
icon_state = "357-7"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
w_class = 1.0
matter = list("metal" = 10,"glass" = 10)
@@ -205,7 +205,6 @@
icon = 'icons/obj/gun.dmi'
icon_state = "crossbow"
item_state = "crossbow"
flags = FPRINT | TABLEPASS
w_class = 2.0
attack_verb = list("attacked", "struck", "hit")
var/bullets = 5
@@ -299,7 +298,6 @@
desc = "It's nerf or nothing! Ages 8 and up."
icon = 'icons/obj/toy.dmi'
icon_state = "foamdart"
flags = FPRINT | TABLEPASS
w_class = 1.0
/obj/effect/foam_dart_dummy
@@ -322,7 +320,7 @@
item_state = "sword0"
var/active = 0.0
w_class = 2.0
flags = FPRINT | TABLEPASS | NOSHIELD
flags = NOSHIELD
attack_verb = list("attacked", "struck", "hit")
attack_self(mob/user as mob)
@@ -354,7 +352,7 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "katana"
item_state = "katana"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT | SLOT_BACK
force = 5
throwforce = 5
@@ -570,7 +568,7 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "katana"
item_state = "katana"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT | SLOT_BACK
force = 5
throwforce = 5
@@ -643,6 +641,5 @@
desc = "No bother to sink or swim when you can just float!"
icon_state = "inflatable"
item_state = "inflatable"
flags = FPRINT | TABLEPASS
icon = 'icons/obj/clothing/belts.dmi'
slot_flags = SLOT_BELT
@@ -12,7 +12,7 @@ AI MODULES
icon_state = "std_mod"
item_state = "electronic"
desc = "An AI Module for transmitting encrypted instructions to the AI."
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
force = 5.0
w_class = 2.0
throwforce = 5.0
+1 -1
View File
@@ -7,7 +7,7 @@
opacity = 0
density = 0
anchored = 0.0
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
force = 10.0
throwforce = 10.0
throw_speed = 1
-1
View File
@@ -14,7 +14,6 @@ RSF
anchored = 0.0
var/stored_matter = 30
var/mode = 1
flags = TABLEPASS
w_class = 3.0
/obj/item/weapon/rsf/examine(mob/user)
@@ -385,7 +385,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/icon_off = "lighter-g"
w_class = 1
throwforce = 4
flags = TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
attack_verb = list("burnt", "singed")
@@ -13,7 +13,7 @@
density = 0
anchored = 0
w_class = 2.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
force = 5.0
throwforce = 5.0
throw_speed = 3
@@ -4,7 +4,6 @@
desc = "A generic brand of lipstick."
icon = 'icons/obj/items.dmi'
icon_state = "lipstick"
flags = FPRINT | TABLEPASS
w_class = 1.0
var/colour = "red"
var/open = 0
@@ -5,7 +5,7 @@
icon = 'icons/obj/assemblies.dmi'
icon_state = "plastic-explosive0"
item_state = "plasticx"
flags = FPRINT | TABLEPASS | NOBLUDGEON
flags = NOBLUDGEON
w_class = 2.0
origin_tech = "syndicate=2"
var/datum/wires/explosive/c4/wires = null
@@ -5,7 +5,7 @@
icon_state = "fire_extinguisher0"
item_state = "fire_extinguisher"
hitsound = 'sound/weapons/smash.ogg'
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
throwforce = 10
w_class = 3.0
throw_speed = 2
@@ -27,7 +27,6 @@
icon_state = "miniFE0"
item_state = "miniFE"
hitsound = null //it is much lighter, after all.
flags = FPRINT | TABLEPASS
throwforce = 2
w_class = 2.0
force = 3.0
@@ -4,7 +4,7 @@
icon = 'icons/obj/flamethrower.dmi'
icon_state = "flamethrowerbase"
item_state = "flamethrower_0"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
force = 3.0
throwforce = 10.0
throw_speed = 1
@@ -7,7 +7,7 @@
item_state = "flashbang"
throw_speed = 4
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
var/active = 0
var/det_time = 50
@@ -5,7 +5,6 @@
icon_state = "flashbang"
det_time = 20
item_state = "flashbang"
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
var/datum/effect/effect/system/smoke_spread/bad/smoke
+1 -1
View File
@@ -4,7 +4,7 @@
gender = PLURAL
icon = 'icons/obj/items.dmi'
icon_state = "handcuff"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 5
w_class = 2.0
@@ -10,7 +10,6 @@
desc = "A small satchel made for organizing seeds."
var/mode = 1; //0 = pick one at a time, 1 = pick all on tile
var/capacity = 500; //the number of seeds it can carry.
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
w_class = 1
var/list/item_quants = list()
+4 -4
View File
@@ -22,7 +22,7 @@
throwforce = 5.0
throw_speed = 3
throw_range = 5
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
origin_tech = "materials=1"
attack_verb = list("attacked", "stabbed", "poked")
sharp = 0
@@ -137,7 +137,7 @@
icon = 'icons/obj/kitchen.dmi'
icon_state = "knife"
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
sharp = 1
edge = 1
force = 10.0
@@ -169,7 +169,7 @@
icon = 'icons/obj/kitchen.dmi'
icon_state = "butch"
desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products."
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
force = 15.0
w_class = 2.0
throwforce = 8.0
@@ -246,7 +246,7 @@
throw_speed = 1
throw_range = 5
w_class = 3.0
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
matter = list("metal" = 3000)
/* // NOPE
var/food_total= 0
@@ -5,7 +5,7 @@
var/active_w_class
sharp = 0
edge = 0
flags = FPRINT | TABLEPASS | NOBLOODY
flags = NOBLOODY
/obj/item/weapon/melee/energy/proc/activate(mob/living/user)
anchored = 1
@@ -73,7 +73,7 @@
throw_speed = 1
throw_range = 5
w_class = 3
flags = FPRINT | CONDUCT | NOSHIELD | TABLEPASS | NOBLOODY
flags = CONDUCT | NOSHIELD | NOBLOODY
origin_tech = "magnets=3;combat=4"
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
sharp = 1
@@ -109,7 +109,7 @@
throw_speed = 1
throw_range = 5
w_class = 2
flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY
flags = NOSHIELD | NOBLOODY
origin_tech = "magnets=3;syndicate=4"
/obj/item/weapon/melee/energy/sword/dropped(var/mob/user)
@@ -177,7 +177,7 @@
throw_speed = 1
throw_range = 1
w_class = 4.0//So you can't hide it in your pocket or some such.
flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY
flags = NOSHIELD | NOBLOODY
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/mob/living/creator
var/datum/effect/effect/system/spark_spread/spark_system
@@ -3,7 +3,7 @@
desc = "A tool used by great men to placate the frothing masses."
icon_state = "chain"
item_state = "chain"
flags = FPRINT | TABLEPASS | CONDUCT
flags = CONDUCT
slot_flags = SLOT_BELT
force = 10
throwforce = 7
-1
View File
@@ -8,7 +8,6 @@
throw_speed = 5
throw_range = 10
w_class = 3.0
flags = FPRINT | TABLEPASS
attack_verb = list("mopped", "bashed", "bludgeoned", "whacked")
var/mopping = 0
var/mopcount = 0
+2 -2
View File
@@ -13,7 +13,7 @@ var/global/list/cached_icons = list()
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(10,20,30,50,70)
volume = 60
flags = FPRINT | OPENCONTAINER
flags = OPENCONTAINER
var/paint_type = ""
afterattack(turf/simulated/target, mob/user, proximity)
@@ -168,4 +168,4 @@ datum/reagent/paint_remover
if(istype(T) && T.icon != initial(T.icon))
T.icon = initial(T.icon)
return
*/
*/
@@ -5,7 +5,6 @@
icon_state = "cell"
item_state = "cell"
origin_tech = "powerstorage=1"
flags = FPRINT|TABLEPASS
force = 5.0
throwforce = 5.0
throw_speed = 3
@@ -4,7 +4,6 @@
icon = 'icons/obj/wizard.dmi'
icon_state = "scroll"
var/uses = 4.0
flags = FPRINT | TABLEPASS
w_class = 2.0
item_state = "paper"
throw_speed = 4
+3 -3
View File
@@ -6,7 +6,7 @@
desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder."
icon = 'icons/obj/weapons.dmi'
icon_state = "riot"
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
slot_flags = SLOT_BACK
force = 5.0
throwforce = 5.0
@@ -39,7 +39,7 @@
desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere."
icon = 'icons/obj/weapons.dmi'
icon_state = "eshield0" // eshield1 for expanded
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
force = 3.0
throwforce = 5.0
throw_speed = 1
@@ -88,7 +88,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "shield0"
var/active = 0.0
flags = FPRINT | TABLEPASS| CONDUCT
flags = CONDUCT
item_state = "electronic"
throwforce = 10.0
throw_speed = 2

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