Merge branch 'master' into ItemNameFixingRound3

This commit is contained in:
Kyrah Abattoir
2013-12-10 17:32:45 +01:00
192 changed files with 2709 additions and 1711 deletions
+3 -1
View File
@@ -42,7 +42,7 @@
/obj/structure/alien/resin/CanAtmosPass()
return !density
/obj/structure/alien/resin/wall
name = "resin wall"
desc = "Purple slime solidified into a wall."
@@ -140,6 +140,7 @@
#define NODERANGE 3
/obj/structure/alien/weeds
gender = PLURAL
name = "weeds"
desc = "Weird purple weeds."
icon_state = "weeds"
@@ -376,6 +377,7 @@
* Acid
*/
/obj/effect/acid
gender = PLURAL
name = "acid"
desc = "Burbling corrossive stuff."
icon = 'icons/effects/effects.dmi'
+6 -11
View File
@@ -1,23 +1,18 @@
/obj/effect/decal/remains/human
/obj/effect/decal/remains
name = "remains"
desc = "They look like human remains. They have a strange aura about them."
gender = PLURAL
icon = 'icons/effects/blood.dmi'
icon_state = "remains"
anchored = 1
/obj/effect/decal/remains/human
desc = "They look like human remains. They have a strange aura about them."
icon_state = "remains"
/obj/effect/decal/remains/xeno
name = "remains"
desc = "They look like the remains of something... alien. They have a strange aura about them."
gender = PLURAL
icon = 'icons/effects/blood.dmi'
icon_state = "remainsxeno"
anchored = 1
/obj/effect/decal/remains/robot
name = "remains"
desc = "They look like the remains of something mechanical. They have a strange aura about them."
gender = PLURAL
icon = 'icons/mob/robots.dmi'
icon_state = "remainsrobot"
anchored = 1
icon_state = "remainsrobot"
+2 -1
View File
@@ -914,7 +914,8 @@ steam.start() -- spawns the effect
anchored = 1
name = "foamed metal"
desc = "A lightweight foamed metal wall."
var/metal = 1 // 1=aluminum, 2=iron
gender = PLURAL
var/metal = 1 // 1=aluminium, 2=iron
New()
..()
+6 -6
View File
@@ -1,5 +1,5 @@
/obj/effect/mine
name = "Mine"
name = "mine"
desc = "I Better stay away from that thing."
density = 1
anchored = 1
@@ -69,26 +69,26 @@
del(src)
/obj/effect/mine/dnascramble
name = "Radiation Mine"
name = "radiation mine"
icon_state = "uglymine"
triggerproc = "triggerrad"
/obj/effect/mine/plasma
name = "Plasma Mine"
name = "plasma mine"
icon_state = "uglymine"
triggerproc = "triggerplasma"
/obj/effect/mine/kick
name = "Kick Mine"
name = "kick mine"
icon_state = "uglymine"
triggerproc = "triggerkick"
/obj/effect/mine/n2o
name = "N2O Mine"
name = "\improper N2O mine"
icon_state = "uglymine"
triggerproc = "triggern2o"
/obj/effect/mine/stun
name = "Stun Mine"
name = "stun mine"
icon_state = "uglymine"
triggerproc = "triggerstun"
+20 -11
View File
@@ -99,20 +99,29 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa
else if(dist < light_impact_range) dist = 3
else dist = 0
if(flame_dist && prob(40) && !istype(T, /turf/space))
new /obj/effect/hotspot(T) //Mostly for ambience!
hotspot_exists = 1
if(dist)
T.ex_act(dist)
//------- TURF FIRES -------\\
if(T)
if(flame_dist && prob(40) && !istype(T, /turf/space))
new/obj/effect/hotspot(T) //Mostly for ambience!
hotspot_exists = 1
if(dist)
T.ex_act(dist)
//------- THINGS IN TURFS FIRES -------\\
for(var/atom_movable in T.contents) //bypass type checking since only atom/movable can be contained by turfs anyway
var/atom/movable/AM = atom_movable
if(flame_dist)
if(isliving(AM) && !hotspot_exists && !istype(T, /turf/space))
new /obj/effect/hotspot(AM.loc)
//Just in case we missed a mob while they were in flame_range, but a hotspot didn't spawn on them, otherwise it looks weird when you just burst into flame out of nowhere
if(dist)
AM.ex_act(dist)
if(AM) //Something is inside T (We have already checked T exists above) - RR
if(flame_dist) //if it has flame distance, run this - RR
if(isliving(AM) && !hotspot_exists && !istype(T, /turf/space))
new /obj/effect/hotspot(AM.loc)
//Just in case we missed a mob while they were in flame_range, but a hotspot didn't spawn on them, otherwise it looks weird when you just burst into flame out of nowhere
if(dist) //if no flame_dist, run this - RR
AM.ex_act(dist)
var/took = (world.timeofday-start)/10
//You need to press the DebugGame verb to see these now....they were getting annoying and we've collected a fair bit of data. Just -test- changes to explosion code using this please so we can compare
+5 -2
View File
@@ -1,7 +1,6 @@
/obj/item
name = "item"
icon = 'icons/obj/items.dmi'
var/abstract = 0
var/item_state = null
var/r_speed = 1.0
var/health = null
@@ -180,19 +179,23 @@
if(istype(W,/obj/item/weapon/storage))
var/obj/item/weapon/storage/S = W
if(S.use_to_pickup)
if(S.collection_mode) //Mode is set to collect all items on a tile and we clicked on a valid one.
if(S.collection_mode) //Mode is set to collect multiple items on a tile and we clicked on a valid one.
if(isturf(src.loc))
var/list/rejections = list()
var/success = 0
var/failure = 0
for(var/obj/item/I in src.loc)
if(S.collection_mode == 2 && !istype(I,src.type)) // We're only picking up items of the target type
failure = 1
continue
if(I.type in rejections) // To limit bag spamming: any given type only complains once
continue
if(!S.can_be_inserted(I)) // Note can_be_inserted still makes noise when the answer is no
rejections += I.type // therefore full bags are still a little spammy
failure = 1
continue
success = 1
S.handle_item_insertion(I, 1) //The 1 stops the "You put the [src] into [S]" insertion message from being displayed.
if(success && !failure)
+1 -1
View File
@@ -1,7 +1,7 @@
// APC HULL
/obj/item/apc_frame
name = "APC frame"
name = "\improper APC frame"
desc = "Used for repairing or building APCs"
icon = 'icons/obj/apc_repair.dmi'
icon_state = "apc_frame"
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/item/blueprints
name = "station blueprints"
name = "\proper the station blueprints"
desc = "Blueprints of the station. There's stamp \"Classified\" and several coffee stains on it."
icon = 'icons/obj/items.dmi'
icon_state = "blueprints"
+1 -1
View File
@@ -133,7 +133,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
/obj/item/device/pda/syndicate
default_cartridge = /obj/item/weapon/cartridge/syndicate
icon_state = "pda-syndi"
name = "Military PDA"
name = "military PDA"
owner = "John Doe"
hidden = 1
+21 -21
View File
@@ -34,27 +34,27 @@
var/list/stored_data = list()
engineering
name = "Power-ON Cartridge"
name = "\improper Power-ON cartridge"
icon_state = "cart-e"
access_engine = 1
atmos
name = "BreatheDeep Cartridge"
name = "\improper BreatheDeep cartridge"
icon_state = "cart-a"
access_atmos = 1
medical
name = "Med-U Cartridge"
name = "\improper Med-U cartridge"
icon_state = "cart-m"
access_medical = 1
chemistry
name = "ChemWhiz Cartridge"
name = "\improper ChemWhiz cartridge"
icon_state = "cart-chem"
access_reagent_scanner = 1
security
name = "R.O.B.U.S.T. Cartridge"
name = "\improper R.O.B.U.S.T. cartridge"
icon_state = "cart-s"
access_security = 1
@@ -63,7 +63,7 @@
radio = new /obj/item/radio/integrated/beepsky(src)
detective
name = "D.E.T.E.C.T. Cartridge"
name = "\improper D.E.T.E.C.T. cartridge"
icon_state = "cart-s"
access_security = 1
access_medical = 1
@@ -74,30 +74,30 @@
radio = new /obj/item/radio/integrated/beepsky(src)
janitor
name = "CustodiPRO Cartridge"
name = "\improper CustodiPRO cartridge"
desc = "The ultimate in clean-room design."
icon_state = "cart-j"
access_janitor = 1
lawyer
name = "P.R.O.V.E. Cartridge"
name = "\improper P.R.O.V.E. cartridge"
icon_state = "cart-s"
access_security = 1
clown
name = "Honkworks 5.0"
name = "\improper Honkworks 5.0 cartridge"
icon_state = "cart-clown"
access_clown = 1
var/honk_charges = 5
mime
name = "Gestur-O 1000"
name = "\improper Gestur-O 1000 cartridge"
icon_state = "cart-mi"
access_mime = 1
var/mime_charges = 5
/*
botanist
name = "Green Thumb v4.20"
name = "\improper Green Thumb v4.20 cartridge"
icon_state = "cart-b"
access_flora = 1
*/
@@ -107,7 +107,7 @@
desc = "A data cartridge with an integrated radio signaler module."
toxins
name = "Signal Ace 2"
name = "\improper Signal Ace 2 cartridge"
desc = "Complete with integrated radio signaler!"
icon_state = "cart-tox"
access_reagent_scanner = 1
@@ -120,7 +120,7 @@
quartermaster
name = "Space Parts & Space Vendors Cartridge"
name = "space parts & space vendors cartridge"
desc = "Perfect for the Quartermaster on the go!"
icon_state = "cart-q"
access_quartermaster = 1
@@ -130,13 +130,13 @@
radio = new /obj/item/radio/integrated/mule(src)
head
name = "Easy-Record DELUXE"
name = "\improper Easy-Record DELUXE cartridge"
icon_state = "cart-h"
access_manifest = 1
access_status_display = 1
hop
name = "HumanResources9001"
name = "\improper HumanResources9001 cartridge"
icon_state = "cart-h"
access_manifest = 1
access_status_display = 1
@@ -149,7 +149,7 @@
radio = new /obj/item/radio/integrated/mule(src)
hos
name = "R.O.B.U.S.T. DELUXE"
name = "\improper R.O.B.U.S.T. DELUXE cartridge"
icon_state = "cart-hos"
access_manifest = 1
access_status_display = 1
@@ -160,7 +160,7 @@
radio = new /obj/item/radio/integrated/beepsky(src)
ce
name = "Power-On DELUXE"
name = "\improper Power-On DELUXE cartridge"
icon_state = "cart-ce"
access_manifest = 1
access_status_display = 1
@@ -168,7 +168,7 @@
access_atmos = 1
cmo
name = "Med-U DELUXE"
name = "\improper Med-U DELUXE cartridge"
icon_state = "cart-cmo"
access_manifest = 1
access_status_display = 1
@@ -176,7 +176,7 @@
access_medical = 1
rd
name = "Signal Ace DELUXE"
name = "\improper Signal Ace DELUXE cartridge"
icon_state = "cart-rd"
access_manifest = 1
access_status_display = 1
@@ -188,7 +188,7 @@
radio = new /obj/item/radio/integrated/signal(src)
captain
name = "Value-PAK Cartridge"
name = "\improper Value-PAK cartridge"
desc = "Now with 200% more value!"
icon_state = "cart-c"
access_manifest = 1
@@ -204,7 +204,7 @@
radio = new /obj/item/radio/integrated/beepsky(src)
syndicate
name = "Detomatix Cartridge"
name = "\improper Detomatix cartridge"
icon_state = "cart"
access_remote_door = 1
remote_door_id = "smindicate" //Make sure this matches the syndicate shuttle's shield/door id!! //don't ask about the name, testing.
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/item/radio/integrated
name = "PDA radio module"
name = "\improper PDA radio module"
desc = "An electronic radio system of nanotrasen origin."
icon = 'icons/obj/module.dmi'
icon_state = "power_mod"
@@ -15,9 +15,9 @@
name = "camera bug"
desc = "For illicit snooping through the camera network."
icon = 'icons/obj/device.dmi'
icon_state = "mindflash2"
icon_state = "camera_bug"
w_class = 1.0
item_state = "electronic"
item_state = "camera_bug"
throw_speed = 4
throw_range = 20
@@ -198,6 +198,7 @@
/obj/item/device/flashlight/slime
gender = PLURAL
name = "glowing slime extract"
desc = "Extract from a yellow slime. It emits a strong light when squeezed."
icon = 'icons/obj/lighting.dmi'
@@ -181,7 +181,7 @@
emagged = !emagged
playsound(src.loc, "sparks", 100, 1)
if(emagged)
name = "Shortcircuited [initial(name)]"
name = "shortcircuited [initial(name)]"
else
name = initial(name)
update_icon()
@@ -1,5 +1,5 @@
/obj/item/device/radio/beacon
name = "Tracking Beacon"
name = "tracking beacon"
desc = "A beacon used by a teleporter."
icon_state = "beacon"
item_state = "signaler"
@@ -1,6 +1,6 @@
/obj/item/device/encryptionkey/
name = "Standard Encryption Key"
name = "standard encryption key"
desc = "An encryption key for a radio headset. Has no special codes in it. WHY DOES IT EXIST? ASK NANOTRASEN."
icon = 'icons/obj/radio.dmi'
icon_state = "cypherkey"
@@ -27,91 +27,91 @@
origin_tech = "syndicate=3"
/obj/item/device/encryptionkey/headset_sec
name = "Security Radio Encryption Key"
name = "security radio encryption key"
desc = "An encryption key for a radio headset. To access the security channel, use :s."
icon_state = "sec_cypherkey"
channels = list("Security" = 1)
/obj/item/device/encryptionkey/headset_eng
name = "Engineering Radio Encryption Key"
name = "engineering radio encryption key"
desc = "An encryption key for a radio headset. To access the engineering channel, use :e."
icon_state = "eng_cypherkey"
channels = list("Engineering" = 1)
/obj/item/device/encryptionkey/headset_rob
name = "Robotics Radio Encryption Key"
name = "robotics radio encryption key"
desc = "An encryption key for a radio headset. To access the engineering channel, use :e. For research, use :n."
icon_state = "rob_cypherkey"
channels = list("Science" = 1, "Engineering" = 1)
/obj/item/device/encryptionkey/headset_med
name = "Medical Radio Encryption Key"
name = "medical radio encryption key"
desc = "An encryption key for a radio headset. To access the medical channel, use :m."
icon_state = "med_cypherkey"
channels = list("Medical" = 1)
/obj/item/device/encryptionkey/headset_sci
name = "Science Radio Encryption Key"
name = "science radio encryption key"
desc = "An encryption key for a radio headset. To access the science channel, use :n."
icon_state = "sci_cypherkey"
channels = list("Science" = 1)
/obj/item/device/encryptionkey/headset_medsci
name = "Medical Research Radio Encryption Key"
name = "medical research radio encryption key"
desc = "An encryption key for a radio headset. To access the medical channel, use :m. For science, use :n."
icon_state = "medsci_cypherkey"
channels = list("Science" = 1, "Medical" = 1)
/obj/item/device/encryptionkey/headset_com
name = "Command Radio Encryption Key"
name = "command radio encryption key"
desc = "An encryption key for a radio headset. To access the command channel, use :c."
icon_state = "com_cypherkey"
channels = list("Command" = 1)
/obj/item/device/encryptionkey/heads/captain
name = "Captain's Encryption Key"
name = "\proper the captain's encryption key"
desc = "An encryption key for a radio headset. Channels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science."
icon_state = "cap_cypherkey"
channels = list("Command" = 1, "Security" = 1, "Engineering" = 0, "Science" = 0, "Medical" = 0, "Supply" = 0, "Service" = 0)
/obj/item/device/encryptionkey/heads/rd
name = "Research Director's Encryption Key"
name = "\proper the research director's encryption key"
desc = "An encryption key for a radio headset. To access the science channel, use :n. For command, use :c."
icon_state = "rd_cypherkey"
channels = list("Science" = 1, "Command" = 1)
/obj/item/device/encryptionkey/heads/hos
name = "Head of Security's Encryption Key"
name = "\proper the head of security's encryption key"
desc = "An encryption key for a radio headset. To access the security channel, use :s. For command, use :c."
icon_state = "hos_cypherkey"
channels = list("Security" = 1, "Command" = 1)
/obj/item/device/encryptionkey/heads/ce
name = "Chief Engineer's Encryption Key"
name = "\proper the chief engineer's encryption key"
desc = "An encryption key for a radio headset. To access the engineering channel, use :e. For command, use :c."
icon_state = "ce_cypherkey"
channels = list("Engineering" = 1, "Command" = 1)
/obj/item/device/encryptionkey/heads/cmo
name = "Chief Medical Officer's Encryption Key"
name = "\proper the chief medical officer's encryption key"
desc = "An encryption key for a radio headset. To access the medical channel, use :m. For command, use :c."
icon_state = "cmo_cypherkey"
channels = list("Medical" = 1, "Command" = 1)
/obj/item/device/encryptionkey/heads/hop
name = "Head of Personnel's Encryption Key"
name = "\proper the head of personnel's encryption key"
desc = "An encryption key for a radio headset. Channels are as follows: :u - supply, :v - service, :c - command."
icon_state = "hop_cypherkey"
channels = list("Supply" = 1, "Service" = 1, "Command" = 1)
/obj/item/device/encryptionkey/headset_cargo
name = "Supply Radio Encryption Key"
name = "supply radio encryption key"
desc = "An encryption key for a radio headset. To access the supply channel, use :u."
icon_state = "cargo_cypherkey"
channels = list("Supply" = 1)
/obj/item/device/encryptionkey/headset_service
name = "Service Radio Encryption Key"
name = "service radio encryption key"
desc = "An encryption key for a radio headset. To access the service channel, use :v."
icon_state = "srv_cypherkey"
channels = list("Service" = 1)
@@ -99,42 +99,42 @@
keyslot2 = new /obj/item/device/encryptionkey/headset_com
/obj/item/device/radio/headset/heads/captain
name = "captain's headset"
name = "\proper the captain's headset"
desc = "The headset of the boss. Channels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science."
icon_state = "com_headset"
item_state = "headset"
keyslot2 = new /obj/item/device/encryptionkey/heads/captain
/obj/item/device/radio/headset/heads/rd
name = "Research Director's headset"
name = "\proper the research director's headset"
desc = "Headset of the fellow who keeps society marching towards technological singularity. To access the science channel, use :n. For command, use :c."
icon_state = "com_headset"
item_state = "headset"
keyslot2 = new /obj/item/device/encryptionkey/heads/rd
/obj/item/device/radio/headset/heads/hos
name = "head of security's headset"
name = "\proper the head of security's headset"
desc = "The headset of the man in charge of keeping order and protecting the station. To access the security channel, use :s. For command, use :c."
icon_state = "com_headset"
item_state = "headset"
keyslot2 = new /obj/item/device/encryptionkey/heads/hos
/obj/item/device/radio/headset/heads/ce
name = "chief engineer's headset"
name = "\proper the chief engineer's headset"
desc = "The headset of the guy in charge of keeping the station powered and undamaged. To access the engineering channel, use :e. For command, use :c."
icon_state = "com_headset"
item_state = "headset"
keyslot2 = new /obj/item/device/encryptionkey/heads/ce
/obj/item/device/radio/headset/heads/cmo
name = "chief medical officer's headset"
name = "\proper the chief medical officer's headset"
desc = "The headset of the highly trained medical chief. To access the medical channel, use :m. For command, use :c."
icon_state = "com_headset"
item_state = "headset"
keyslot2 = new /obj/item/device/encryptionkey/heads/cmo
/obj/item/device/radio/headset/heads/hop
name = "head of personnel's headset"
name = "\proper the head of personnel's headset"
desc = "The headset of the guy who will one day be captain. Channels are as follows: :u - supply, :v - service, :c - command."
icon_state = "com_headset"
item_state = "headset"
@@ -5,7 +5,7 @@
anchored = 1
w_class = 4.0
canhear_range = 2
flags = FPRINT | CONDUCT | TABLEPASS | NOBLOODY
flags = FPRINT | CONDUCT | TABLEPASS
var/number = 0
var/anyai = 1
var/mob/living/silicon/ai/ai = list()
@@ -73,3 +73,6 @@
icon_state = "intercom-p"
else
icon_state = "intercom"
/obj/item/device/radio/intercom/rejects_blood()
return 1
+2 -2
View File
@@ -9,7 +9,7 @@ MASS SPECTROMETER
*/
/obj/item/device/t_scanner
name = "T-ray scanner"
name = "\improper T-ray 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
@@ -61,7 +61,7 @@ MASS SPECTROMETER
/obj/item/device/healthanalyzer
name = "Health Analyzer"
name = "health analyzer"
icon_state = "health"
item_state = "analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
@@ -167,21 +167,24 @@
else
attacher_name = "[attacher.name]([attacher.ckey])"
var/log_str = "Bomb valve opened in <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name]</a> "
log_str += "with [attached_device ? attached_device : "no device"] attacher: [attacher_name]"
var/log_str1 = "Bomb valve opened in "
var/log_str2 = "with [attached_device ? attached_device : "no device"] attacher: [attacher_name]"
var/log_attacher = ""
if(attacher)
log_str += "(<A HREF='?_src_=holder;adminmoreinfo=\ref[attacher]'>?</A>)"
log_attacher = "(<A HREF='?_src_=holder;adminmoreinfo=\ref[attacher]'>?</A>)"
var/mob/mob = get_mob_by_key(src.fingerprintslast)
var/last_touch_info = ""
if(mob)
last_touch_info = "(<A HREF='?_src_=holder;adminmoreinfo=\ref[mob]'>?</A>)"
log_str += " Last touched by: [src.fingerprintslast][last_touch_info]"
bombers += log_str
message_admins(log_str, 0, 1)
log_game(log_str)
var/log_str3 = " Last touched by: [src.fingerprintslast]"
bombers += "[log_str1] <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name]</a> [log_str2][log_attacher] [log_str3][last_touch_info]"
message_admins("[log_str1] <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name]</a> [log_str2][log_attacher] [log_str3][last_touch_info]", 0, 1)
log_game("[log_str1] [A.name]([A.x],[A.y],[A.z]) [log_str2] [log_str3]")
merge_gases()
spawn(20) // In case one tank bursts
for (var/i=0,i<5,i++)
@@ -197,4 +200,4 @@
// this doesn't do anything but the timer etc. expects it to be here
// eventually maybe have it update icon to show state (timer, prox etc.) like old bombs
/obj/item/device/transfer_valve/proc/c_state()
return
return
+1 -1
View File
@@ -121,7 +121,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
*/
/obj/item/device/uplink/hidden
name = "Hidden Uplink."
name = "hidden uplink."
desc = "There is something wrong if you're examining this."
/obj/item/device/uplink/hidden/Topic(href, href_list)
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/item/latexballon
name = "Latex glove"
name = "latex glove"
desc = "" //todo
icon_state = "latexballon"
item_state = "lgloves"
+1 -1
View File
@@ -37,7 +37,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
overlays.Cut()
usr << "You slice off [src]'s uneven chunks of aluminum and scorch marks."
usr << "You slice off [src]'s uneven chunks of aluminium and scorch marks."
return
+58 -47
View File
@@ -11,61 +11,72 @@
var/heal_burn = 0
/obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob)
if (M.stat == 2)
var/t_him = "it"
if (M.gender == MALE)
t_him = "him"
else if (M.gender == FEMALE)
t_him = "her"
user << "\red \The [M] is dead, you cannot help [t_him]!"
return
var/mob/living/carbon/human/H = M
var/obj/item/organ/limb/affecting = H.get_organ("chest")
if (!istype(M))
user << "\red \The [src] cannot be applied to [M]!"
return 1
if ( ! (istype(user, /mob/living/carbon/human) || \
istype(user, /mob/living/silicon) || \
istype(user, /mob/living/carbon/monkey) && ticker && ticker.mode.name == "monkey") )
user << "\red You don't have the dexterity to do this!"
return 1
if(affecting.status == ORGAN_ORGANIC) //Limb must be organic to be healed - RR
if (M.stat == 2)
var/t_him = "it"
if (M.gender == MALE)
t_him = "him"
else if (M.gender == FEMALE)
t_him = "her"
user << "\red \The [M] is dead, you cannot help [t_him]!"
return
if (user)
if (M != user)
user.visible_message( \
"\blue [M] has been applied with [src] by [user].", \
"\blue You apply \the [src] to [M]." \
)
if (!istype(M))
user << "\red \The [src] cannot be applied to [M]!"
return 1
if ( ! (istype(user, /mob/living/carbon/human) || \
istype(user, /mob/living/silicon) || \
istype(user, /mob/living/carbon/monkey) && ticker && ticker.mode.name == "monkey") )
user << "\red You don't have the dexterity to do this!"
return 1
if (user)
if (M != user)
user.visible_message( \
"\blue [M] has been applied with [src] by [user].", \
"\blue You apply \the [src] to [M]." \
)
else
var/t_himself = "itself"
if (user.gender == MALE)
t_himself = "himself"
else if (user.gender == FEMALE)
t_himself = "herself"
user.visible_message( \
"\blue [M] applied [src] on [t_himself].", \
"\blue You apply \the [src] on yourself." \
)
if (istype(M, /mob/living/carbon/human))
if(istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/user2 = user
affecting = H.get_organ(check_zone(user2.zone_sel.selecting))
else
if(!istype(affecting, /obj/item/organ/limb) || affecting:burn_dam <= 0)
affecting = H.get_organ("head")
if(affecting.status == ORGAN_ORGANIC) // Just in case a robotic limb SOMEHOW got down to this point of the proc all you get is a message - RR
if (affecting.heal_damage(src.heal_brute, src.heal_burn))
H.update_damage_overlays(0)
M.updatehealth()
else
var/t_himself = "itself"
if (user.gender == MALE)
t_himself = "himself"
else if (user.gender == FEMALE)
t_himself = "herself"
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
user.visible_message( \
"\blue [M] applied [src] on [t_himself].", \
"\blue You apply \the [src] on yourself." \
)
if (istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
var/obj/item/organ/limb/affecting = H.get_organ("chest")
if(istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/user2 = user
affecting = H.get_organ(check_zone(user2.zone_sel.selecting))
else
if(!istype(affecting, /obj/item/organ/limb) || affecting:burn_dam <= 0)
affecting = H.get_organ("head")
if (affecting.heal_damage(src.heal_brute, src.heal_burn))
H.update_damage_overlays(0)
M.updatehealth()
use(1)
else
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
user << "<span class='notice'>Medicine won't work on a robotic limb!</span>"
use(1)
/obj/item/stack/medical/bruise_pack
name = "bruise pack"
+11 -11
View File
@@ -97,7 +97,7 @@
* Fake singularity
*/
/obj/item/toy/spinningtoy
name = "Gravitational Singularity"
name = "gravitational singularity"
desc = "\"Singulo\" brand spinning toy."
icon = 'icons/obj/singularity.dmi'
icon_state = "singularity_s1"
@@ -484,26 +484,26 @@
..()
/obj/item/toy/prize/ripley
name = "toy ripley"
name = "toy Ripley"
desc = "Mini-Mecha action figure! Collect them all! 1/11."
/obj/item/toy/prize/fireripley
name = "toy firefighting ripley"
name = "toy firefighting Ripley"
desc = "Mini-Mecha action figure! Collect them all! 2/11."
icon_state = "fireripleytoy"
/obj/item/toy/prize/deathripley
name = "toy deathsquad ripley"
name = "toy deathsquad Ripley"
desc = "Mini-Mecha action figure! Collect them all! 3/11."
icon_state = "deathripleytoy"
/obj/item/toy/prize/gygax
name = "toy gygax"
name = "toy Gygax"
desc = "Mini-Mecha action figure! Collect them all! 4/11."
icon_state = "gygaxtoy"
/obj/item/toy/prize/durand
name = "toy durand"
name = "toy Durand"
desc = "Mini-Mecha action figure! Collect them all! 5/11."
icon_state = "durandprize"
@@ -513,27 +513,27 @@
icon_state = "honkprize"
/obj/item/toy/prize/marauder
name = "toy marauder"
name = "toy Marauder"
desc = "Mini-Mecha action figure! Collect them all! 7/11."
icon_state = "marauderprize"
/obj/item/toy/prize/seraph
name = "toy seraph"
name = "toy Seraph"
desc = "Mini-Mecha action figure! Collect them all! 8/11."
icon_state = "seraphprize"
/obj/item/toy/prize/mauler
name = "toy mauler"
name = "toy Mauler"
desc = "Mini-Mecha action figure! Collect them all! 9/11."
icon_state = "maulerprize"
/obj/item/toy/prize/odysseus
name = "toy odysseus"
name = "toy Odysseus"
desc = "Mini-Mecha action figure! Collect them all! 10/11."
icon_state = "odysseusprize"
/obj/item/toy/prize/phazon
name = "toy phazon"
name = "toy Phazon"
desc = "Mini-Mecha action figure! Collect them all! 11/11."
icon_state = "phazonprize"
+1 -1
View File
@@ -5,7 +5,7 @@
w_class = 1.0
raisins
name = "4no raisins"
name = "\improper 4no raisins"
icon_state= "4no_raisins"
candy
name = "candy"
@@ -263,7 +263,7 @@
var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent("aluminum", 30)
B1.reagents.add_reagent("aluminium", 30)
B2.reagents.add_reagent("foaming_agent", 10)
B2.reagents.add_reagent("pacid", 10)
@@ -282,7 +282,7 @@
var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent("aluminum", 25)
B1.reagents.add_reagent("aluminium", 25)
B2.reagents.add_reagent("plasma", 25)
B2.reagents.add_reagent("sacid", 25)
@@ -16,7 +16,7 @@
/obj/item/weapon/grenade/iedcasing
name = "improvised explosive assembly"
desc = "An igniter stuffed into an aluminum shell."
desc = "An igniter stuffed into an aluminium shell."
w_class = 2.0
icon = 'icons/obj/grenade.dmi'
icon_state = "improvised_grenade"
@@ -64,9 +64,8 @@
add_fingerprint(user)
var/turf/bombturf = get_turf(src)
var/area/A = get_area(bombturf)
var/log_str = "[key_name(usr)]<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A> has primed a [name] for detonation at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name] (JMP)</a>."
message_admins(log_str)
log_game(log_str)
message_admins("[key_name(usr)]<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A> has primed a [name] for detonation at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name] (JMP)</a>.")
log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]).")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.throw_mode_on()
@@ -1,11 +1,14 @@
/obj/item/weapon/melee/energy
var/active = 0
flags = FPRINT | TABLEPASS | NOBLOODY
flags = FPRINT | TABLEPASS
suicide_act(mob/user)
viewers(user) << pick("\red <b>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</b>", \
"\red <b>[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.</b>")
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/melee/energy/suicide_act(mob/user)
viewers(user) << pick("\red <b>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</b>", \
"\red <b>[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.</b>")
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/melee/energy/rejects_blood()
return 1
/obj/item/weapon/melee/energy/axe
name = "energy axe"
@@ -16,7 +19,7 @@
throw_speed = 1
throw_range = 5
w_class = 3.0
flags = FPRINT | CONDUCT | NOSHIELD | TABLEPASS | NOBLOODY
flags = FPRINT | CONDUCT | NOSHIELD | TABLEPASS
origin_tech = "combat=3"
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
@@ -50,7 +53,7 @@
throw_speed = 1
throw_range = 5
w_class = 2.0
flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY
flags = FPRINT | TABLEPASS | NOSHIELD
origin_tech = "magnets=3;syndicate=4"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/hacked = 0
@@ -152,7 +155,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 = FPRINT | TABLEPASS | NOSHIELD
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/datum/effect/effect/system/spark_spread/spark_system
@@ -27,8 +27,9 @@
var/mob/living/carbon/human/H = M
var/heal_amt = 10
for(var/obj/item/organ/limb/affecting in H.organs)
if(affecting.heal_damage(heal_amt, heal_amt))
H.update_damage_overlays(0)
if(affecting.status == ORGAN_ORGANIC) //No Bible can heal a robotic arm!
if(affecting.heal_damage(heal_amt, heal_amt))
H.update_damage_overlays(0)
return
/obj/item/weapon/storage/bible/attack(mob/living/M as mob, mob/living/user as mob)
@@ -70,10 +71,24 @@
ticker.mode.remove_cultist(M.mind)*/
if ((istype(M, /mob/living/carbon/human) && prob(60)))
bless(M)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] heals [] with the power of [src.deity_name]!</B>", user, M), 1)
M << "\red May the power of [src.deity_name] compel you to be healed!"
playsound(src.loc, "punch", 25, 1, -1)
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/message_halt = 0
for(var/obj/item/organ/limb/affecting in H.organs)
if(affecting.status == ORGAN_ORGANIC)
if(message_halt == 0)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] heals [] with the power of [src.deity_name]!</B>", user, M), 1)
M << "\red May the power of [src.deity_name] compel you to be healed!"
playsound(src.loc, "punch", 25, 1, -1)
message_halt = 1
else
src << "<span class='warning'>[src.deity_name] refuses to heal this metalic taint!</span>"
return
else
if(ishuman(M) && !istype(M:head, /obj/item/clothing/head/helmet))
M.adjustBrainLoss(10)
@@ -81,6 +96,7 @@
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] beats [] over the head with []!</B>", user, M, src), 1)
playsound(src.loc, "punch", 25, 1, -1)
else if(M.stat == 2)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] smacks []'s lifeless corpse with [].</B>", user, M, src), 1)
@@ -20,7 +20,7 @@
var/display_contents_with_number //Set this to make the storage item group contents of the same type and display them as a number.
var/allow_quick_empty //Set this variable to allow the object to have the 'empty' verb, which dumps all the contents on the floor.
var/allow_quick_gather //Set this variable to allow the object to have the 'toggle mode' verb, which quickly collects all items from a tile.
var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile
var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile, 2 = pick all of a type
/obj/item/weapon/storage/MouseDrop(obj/over_object)
@@ -180,7 +180,7 @@
//This proc return 1 if the item can be picked up and 0 if it can't.
//Set the stop_messages to stop it from printing messages
/obj/item/weapon/storage/proc/can_be_inserted(obj/item/W, stop_messages = 0)
if(!istype(W)) return //Not an item
if(!istype(W) || (W.flags & ABSTRACT)) return //Not an item
if(loc == W)
return 0 //Means the item is already in the storage item
@@ -351,8 +351,10 @@
set name = "Switch Gathering Method"
set category = "Object"
collection_mode = !collection_mode
collection_mode = (collection_mode+1)%3
switch (collection_mode)
if(2)
usr << "[src] now picks up all items of a single type at once."
if(1)
usr << "[src] now picks up all items in a tile at once."
if(0)
@@ -31,11 +31,11 @@
on = !on
if(on)
icon_state = "[icon_state]-on"
// item_state = "[item_state]-on"
// item_state = "[item_state]-on"
ion_trail.start()
else
icon_state = initial(icon_state)
// item_state = initial(item_state)
// item_state = initial(item_state)
ion_trail.stop()
return
@@ -81,6 +81,14 @@
..()
air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
/obj/item/weapon/tank/jetpack/oxygen/harness
name = "jet harness (oxygen)"
desc = "A lightweight tactical harness, used by those who don't want to be weighed down by traditional jetpacks."
icon_state = "jetpack-mini"
item_state = "jetpack-mini"
volume = 40
throw_range = 7
w_class = 3
/obj/item/weapon/tank/jetpack/carbondioxide
name = "jetpack (carbon dioxide)"
+1 -1
View File
@@ -99,7 +99,7 @@
name = "offhand"
icon_state = "offhand"
w_class = 5.0
abstract = 1
flags = ABSTRACT
/obj/item/weapon/twohanded/offhand/unwield()
del(src)
@@ -12,7 +12,7 @@
/obj/structure/closet/syndicate/personal/New()
..()
sleep(2)
new /obj/item/weapon/tank/jetpack/oxygen(src)
new /obj/item/weapon/tank/jetpack/oxygen/harness(src)
new /obj/item/clothing/mask/gas/syndicate(src)
new /obj/item/clothing/under/syndicate(src)
new /obj/item/clothing/head/helmet/space/rig/syndi(src)
@@ -120,8 +120,8 @@
/obj/structure/closet/wardrobe/yellow
name = "yellow wardrobe"
icon_state = "wardrobe-y"
icon_closed = "wardrobe-y"
icon_state = "yellow"
icon_closed = "yeloww"
/obj/structure/closet/wardrobe/yellow/New()
new /obj/item/clothing/under/color/yellow(src)
@@ -135,8 +135,8 @@
/obj/structure/closet/wardrobe/atmospherics_yellow
name = "atmospherics wardrobe"
icon_state = "yellow"
icon_closed = "yellow"
icon_state = "atmos"
icon_closed = "atmos"
/obj/structure/closet/wardrobe/atmospherics_yellow/New()
new /obj/item/clothing/under/rank/atmospheric_technician(src)
@@ -378,23 +378,3 @@
src.req_access += pick(get_all_accesses())
..()
/obj/structure/closet/crate/ex_act(severity)
switch(severity)
if(1.0)
for(var/obj/O in src.contents)
del(O)
del(src)
return
if(2.0)
for(var/obj/O in src.contents)
if(prob(50))
del(O)
del(src)
return
if(3.0)
if (prob(50))
del(src)
return
else
return