Merge branch 'master' of https://github.com/tgstation/-tg-station into clothessec

Conflicts:
	icons/mob/uniform.dmi
	icons/obj/clothing/uniforms.dmi
This commit is contained in:
paprka
2015-02-05 17:44:22 -08:00
186 changed files with 3243 additions and 1458 deletions
+19 -1
View File
@@ -139,7 +139,7 @@ MASS SPECTROMETER
// Damage descriptions
user.show_message(text("<span class='notice'>[] | [] | [] | []</span>", oxy_loss > 50 ? "<span class='warning'> Severe oxygen deprivation detected</span>" : "<span class='info'>Subject bloodstream oxygen level normal</span>", tox_loss > 50 ? "<span class='warning'> Dangerous amount of toxins detected</span>" : "<span class='info'>Subject bloodstream toxin level minimal</span>", fire_loss > 50 ? "<span class='warning'> Severe burn damage detected</span>" : "<span class='info'>Subject burn injury status O.K</span>", brute_loss > 50 ? "<span class='warning'> Severe anatomical damage detected</span>" : "<span class='info'>Subject brute-force injury status O.K</span>"), 1)
user.show_message(text("<span class='notice'>[] | [] | [] | []</span>", oxy_loss > 50 ? "<span class='warning'> Severe oxygen deprivation detected</span>" : "<span class='info'>Subject bloodstream oxygen level normal</span>", tox_loss > 50 ? "<span class='warning'> Dangerous amount of toxins detected</span>" : "<span class='info'>Subject bloodstream toxin level minimal</span>", fire_loss > 50 ? "<span class='warning'> Severe burn damage detected</span>" : "<span class='info'>Subject burn injury status O.K</span>", brute_loss > 50 ? "<span class='warning'> Severe tissue damage detected</span>" : "<span class='info'>Subject brute-force injury status O.K</span>"), 1)
if(M.getStaminaLoss())
user.show_message("<span class='info'>Subject appears to be suffering from fatigue.</span>", 1)
@@ -160,6 +160,24 @@ MASS SPECTROMETER
else if (M.getBrainLoss() >= 10)
user.show_message("<span class='warning'>Significant brain damage detected. Subject may have had a concussion.</span>", 1)
// Blood Level
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.vessel)
if(H.blood_max)
user.show_message("<span class='danger'>Subject is bleeding!</span>")
var/blood_volume = round(H.vessel.get_reagent_amount("blood"))
var/blood_percent = blood_volume / 560
var/blood_type = H.dna.blood_type
blood_percent *= 100
if(blood_volume <= 500 && blood_volume > 336)
user.show_message("<span class='danger'>Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl.</span> <span class='notice'>Type: [blood_type]</span>")
else if(blood_volume <= 336)
user.show_message("<span class='danger'>Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl.</span> <span class='notice'>Type: [blood_type]</span>")
else
user.show_message("<span class='notice'>Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]</span>")
/obj/item/device/healthanalyzer/verb/toggle_mode()
set name = "Switch Verbosity"
set category = "Object"
+50 -24
View File
@@ -9,51 +9,62 @@
throw_range = 7
var/heal_brute = 0
var/heal_burn = 0
var/stop_bleeding = 0
var/self_delay = 50
/obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob)
if (M.stat == 2)
if(M.stat == 2)
var/t_him = "it"
if (M.gender == MALE)
if(M.gender == MALE)
t_him = "him"
else if (M.gender == FEMALE)
else if(M.gender == FEMALE)
t_him = "her"
user << "<span class='danger'>\The [M] is dead, you cannot help [t_him]!</span>"
return
if (!istype(M))
user << "<span class='danger'>\The [src] cannot be applied to [M]!</span>"
if(!istype(M))
user << "<span class='danger'>You don't know how to apply \the [src] to [M]...</span>"
return 1
if(!user.IsAdvancedToolUser())
user << "<span class='danger'>You don't have the dexterity to do this!</span>"
return 1
if (user)
if (M != user)
user.visible_message( \
"<span class='notice'>[user] has applied [src] on [M].</span>", \
"<span class='notice'>You apply \the [src] to [M].</span>" \
)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(stop_bleeding)
if(H.bleedsuppress)
user << "[H]'s bleeding is already bandaged."
if(!H.blood_max)
user << "[H] isn't bleeding."
if(isliving(M))
if(!M.can_inject(user, 1))
return
if(user)
if(M != user)
user.visible_message("<span class='green'>[user] applies [src] on [M].</span>", "<span class='green'>You apply [src] on [M].</span>")
else
var/t_himself = "itself"
if (user.gender == MALE)
if(user.gender == MALE)
t_himself = "himself"
else if (user.gender == FEMALE)
else if(user.gender == FEMALE)
t_himself = "herself"
user.visible_message("<span class='notice'>[user] starts to apply [src] on [t_himself]...</span>", "<span class='notice'>You begin applying [src] on yourself...</span>")
if(!do_mob(user, M, self_delay)) return
user.visible_message("<span class='green'>[user] applies [src] on [t_himself].</span>", "<span class='green'>You apply [src] on yourself.</span>")
user.visible_message( \
"<span class='notice'>[M] applied [src] on [t_himself].</span>", \
"<span class='notice'>You apply \the [src] on yourself.</span>" \
)
if (istype(M, /mob/living/carbon/human))
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting))
if(stop_bleeding)
if(!H.bleedsuppress) //so you can't stack bleed suppression
H.suppress_bloodloss(stop_bleeding)
if(affecting.status == ORGAN_ORGANIC) //Limb must be organic to be healed - RR
if (affecting.heal_damage(src.heal_brute, src.heal_burn, 0))
if(affecting.heal_damage(src.heal_brute, src.heal_burn, 0))
H.update_damage_overlays(0)
M.updatehealth()
@@ -70,14 +81,29 @@
/obj/item/stack/medical/bruise_pack
name = "bruise pack"
singular_name = "bruise pack"
desc = "A pack designed to treat blunt-force trauma."
desc = "A theraputic gel pack and bandages designed to treat blunt-force trauma."
icon_state = "brutepack"
heal_brute = 60
heal_brute = 40
origin_tech = "biotech=1"
/obj/item/stack/medical/gauze
name = "medical gauze"
desc = "A roll of elastic cloth that is extremely effective at stopping bleeding, but does not heal wounds."
gender = PLURAL
singular_name = "medical gauze"
icon_state = "gauze"
stop_bleeding = 1800
self_delay = 80
/obj/item/stack/medical/gauze/improvised
name = "improvised gauze"
singular_name = "improvised gauze"
desc = "A roll of cloth roughly cut from something that can stop bleeding, but does not heal wounds."
stop_bleeding = 900
/obj/item/stack/medical/ointment
name = "ointment"
desc = "Used to treat those nasty burns."
desc = "Used to treat those nasty burn wounds."
gender = PLURAL
singular_name = "ointment"
icon_state = "ointment"
+8
View File
@@ -8,6 +8,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \
desc = "Some rods. Can be used for building, or something."
singular_name = "metal rod"
icon_state = "rods"
item_state = "rods"
flags = CONDUCT
w_class = 3.0
force = 9.0
@@ -21,8 +22,15 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \
/obj/item/stack/rods/New(var/loc, var/amount=null)
recipes = rod_recipes
update_icon()
return ..()
/obj/item/stack/rods/update_icon()
if(get_amount() <= 5)
icon_state = "rods-[get_amount()]"
else
icon_state = "rods"
/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob)
..()
if (istype(W, /obj/item/weapon/weldingtool))
+4
View File
@@ -177,6 +177,7 @@
if(usr)
usr.unEquip(src, 1)
qdel(src)
update_icon()
return 1
/obj/item/stack/proc/add(var/amount)
@@ -184,6 +185,7 @@
source.add_charge(amount * cost)
else
src.amount += amount
update_icon()
/obj/item/stack/proc/add_to_stacks(mob/usr as mob)
var/obj/item/stack/oldsrc = src
@@ -199,6 +201,7 @@
usr << "You add new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s."
if(oldsrc.amount <= 0)
break
oldsrc.update_icon()
/obj/item/stack/attack_hand(mob/user as mob)
if (user.get_inactive_hand() == src)
@@ -240,6 +243,7 @@
src.use(to_transfer)
if (src && usr.machine==src)
spawn(0) src.interact(usr)
S.update_icon()
else
..()
+26 -1
View File
@@ -14,6 +14,7 @@
* Fake meteor
* Carp plushie
* Foam armblade
* Toy big red button
*/
@@ -1091,4 +1092,28 @@ obj/item/toy/cards/deck/syndicate
desc = "An adorable stuffed toy that resembles a space carp."
icon = 'icons/obj/toy.dmi'
icon_state = "carpplushie"
w_class = 2.0
w_class = 2.0
/*
* Toy big red button
*/
/obj/item/toy/redbutton
name = "big red button"
desc = "A big, plastic red button. Reads 'From HonkCo Pranks©' on the back."
icon = 'icons/obj/assemblies.dmi'
icon_state = "bigred"
w_class = 2.0
var/cooldown = 0
/obj/item/toy/redbutton/attack_self(mob/user)
if (cooldown < world.time)
cooldown = (world.time + 300) // Sets cooldown at 30 seconds
user.visible_message("<span class='warning'>[user] presses the big red button.</span>", "<span class='notice'>You press the button, it plays a loud noise!</span>", "<span class='notice'>The button clicks loudly.</span>")
playsound(src, 'sound/effects/explosionfar.ogg', 50, 0, surround = 0)
for(var/mob/M in range(10, src)) // Checks range
if(!M.stat && !istype(M, /mob/living/silicon/ai)) // Checks to make sure whoever's getting shaken is alive/not the AI
sleep(8) // Short delay to match up with the explosion sound
shake_camera(M, 2, 1) // Shakes player camera 2 squares for 1 second.
else
user << "<span class='alert'>Nothing happens.</span>"
+16 -2
View File
@@ -103,12 +103,13 @@ RCD
/obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user)
..()
if(istype(W, /obj/item/weapon/rcd_ammo))
if((matter + 20) > max_matter)
var/obj/item/weapon/rcd_ammo/R = W
if((matter + R.ammoamt) > max_matter)
user << "<span class='notice'>The RCD cant hold any more matter-units.</span>"
return
user.drop_item()
qdel(W)
matter += 20
matter += R.ammoamt
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user << "<span class='notice'>The RCD now holds [matter]/[max_matter] matter-units.</span>"
desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
@@ -265,6 +266,15 @@ RCD
desc = "A device used to rapidly build walls/floor."
canRwall = 1
/obj/item/weapon/rcd/loaded
matter = 100
/obj/item/weapon/rcd/combat
name = "combat RCD"
max_matter = 500
matter = 500
canRwall = 1
/obj/item/weapon/rcd_ammo
name = "compressed matter cartridge"
desc = "Highly compressed matter for the RCD."
@@ -277,3 +287,7 @@ RCD
origin_tech = "materials=2"
m_amt = 16000
g_amt = 8000
var/ammoamt = 20
/obj/item/weapon/rcd_ammo/large
ammoamt = 100
+4 -1
View File
@@ -196,19 +196,22 @@ update_label("John Doe", "Clowny")
icon_state = "centcom"
registered_name = "Emergency Response Team Commander"
assignment = "Emergency Response Team Commander"
New() access = get_all_accesses()
New() access = get_all_accesses()+get_ert_access("commander")
/obj/item/weapon/card/id/ert/Security
registered_name = "Security Response Officer"
assignment = "Security Response Officer"
New() access = get_all_accesses()+get_ert_access("sec")
/obj/item/weapon/card/id/ert/Engineer
registered_name = "Engineer Response Officer"
assignment = "Engineer Response Officer"
New() access = get_all_accesses()+get_ert_access("eng")
/obj/item/weapon/card/id/ert/Medical
registered_name = "Medical Response Officer"
assignment = "Medical Response Officer"
New() access = get_all_accesses()+get_ert_access("med")
/obj/item/weapon/card/id/prisoner
name = "prisoner ID card"
@@ -110,6 +110,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/smoketime = 300
var/chem_volume = 30
/obj/item/clothing/mask/cigarette/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is huffing the [src.name] as quickly as they can! It looks like \he's trying to give \himself cancer.</span>")
return (TOXLOSS|OXYLOSS)
/obj/item/clothing/mask/cigarette/New()
..()
flags |= NOREACT // so it doesn't react until you light it
@@ -18,7 +18,7 @@
var/operating = 0//cooldown
var/obj/item/weapon/weldingtool/weldtool = null
var/obj/item/device/assembly/igniter/igniter = null
var/obj/item/weapon/tank/plasma/ptank = null
var/obj/item/weapon/tank/internals/plasma/ptank = null
/obj/item/weapon/flamethrower/Destroy()
@@ -100,7 +100,7 @@
update_icon()
return
if(istype(W,/obj/item/weapon/tank/plasma))
if(istype(W,/obj/item/weapon/tank/internals/plasma))
if(ptank)
user << "<span class='notice'>There appears to already be a plasma tank loaded in [src]!</span>"
return
@@ -204,5 +204,5 @@
/obj/item/weapon/flamethrower/full/tank/New(var/loc)
..()
ptank = new /obj/item/weapon/tank/plasma/full(src)
ptank = new /obj/item/weapon/tank/internals/plasma/full(src)
update_icon()
@@ -203,8 +203,11 @@
qdel(src) //correctly before deleting the grenade.
/obj/item/weapon/grenade/chem_grenade/proc/mix_reagents()
var/total_temp
for(var/obj/item/weapon/reagent_containers/glass/G in beakers)
G.reagents.trans_to(src, G.reagents.total_volume)
total_temp += G.reagents.chem_temp
reagents.chem_temp = total_temp
/obj/item/weapon/grenade/chem_grenade/proc/can_flood_from(myloc, maxrange)
var/list/reachable = list(myloc)
+2 -1
View File
@@ -153,7 +153,8 @@
var/armed = 0
/obj/item/weapon/restraints/legcuffs/beartrap/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is putting the [src.name] on \his head! It looks like \he's trying to commit suicide.</span>")
user.visible_message("<span class='suicide'>[user] is sticking \his head in the [src.name]! It looks like \he's trying to commit suicide.</span>")
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
return (BRUTELOSS)
/obj/item/weapon/restraints/legcuffs/beartrap/attack_self(mob/user as mob)
+23 -5
View File
@@ -16,6 +16,7 @@
g_amt = 50
var/rigged = 0 // true if rigged to explode
var/minor_fault = 0 //If not 100% reliable, it will build up faults.
var/chargerate = 100 //how much power is given every tick in a recharger
/obj/item/weapon/stock_parts/cell/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide.</span>")
@@ -44,6 +45,20 @@
..()
charge = 0
/obj/item/weapon/stock_parts/cell/pulse //40 pulse shots
name = "pulse rifle power cell"
maxcharge = 8000
rating = 3
chargerate = 1500
/obj/item/weapon/stock_parts/cell/pulse/carbine //25 pulse shots
name = "pulse carbine power cell"
maxcharge = 5000
/obj/item/weapon/stock_parts/cell/pulse/pistol //10 pulse shots
name = "pulse pistol power cell"
maxcharge = 2000
/obj/item/weapon/stock_parts/cell/high
name = "high-capacity power cell"
origin_tech = "powerstorage=2"
@@ -51,6 +66,7 @@
maxcharge = 10000
g_amt = 60
rating = 3
chargerate = 1500
/obj/item/weapon/stock_parts/cell/high/empty/New()
..()
@@ -63,6 +79,7 @@
maxcharge = 20000
g_amt = 70
rating = 4
chargerate = 2000
/obj/item/weapon/stock_parts/cell/super/empty/New()
..()
@@ -75,6 +92,7 @@
maxcharge = 30000
g_amt = 80
rating = 5
chargerate = 3000
/obj/item/weapon/stock_parts/cell/hyper/empty/New()
..()
@@ -87,6 +105,7 @@
maxcharge = 30000
g_amt = 80
rating = 6
chargerate = 30000
use()
return 1
@@ -103,16 +122,15 @@
minor_fault = 1
rating = 1
/obj/item/weapon/stock_parts/cell/slime
/obj/item/weapon/stock_parts/cell/high/slime
name = "charged slime core"
desc = "A yellow slime core infused with plasma, it crackles with power."
origin_tech = "powerstorage=2;biotech=4"
icon = 'icons/mob/slimes.dmi' //'icons/obj/harvest.dmi'
icon_state = "yellow slime extract" //"potato_battery"
maxcharge = 10000
icon = 'icons/mob/slimes.dmi'
icon_state = "yellow slime extract"
m_amt = 0
g_amt = 0
rating = 3
/obj/item/weapon/stock_parts/cell/emproof
name = "\improper EMP-proof cell"
@@ -39,6 +39,10 @@
can_hold = list() // any
cant_hold = list(/obj/item/weapon/disk/nuclear)
/obj/item/weapon/storage/bag/trash/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] puts the [src.name] over their head and starts chomping at the insides! Disgusting!</span>")
playsound(loc, 'sound/items/eatfood.ogg', 50, 1, -1)
return (TOXLOSS)
/obj/item/weapon/storage/bag/trash/update_icon()
if(contents.len == 0)
@@ -33,6 +33,7 @@
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/device/multitool(src)
new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
@@ -18,6 +18,10 @@
var/mob/affecting = null
var/deity_name = "Christ"
/obj/item/weapon/storage/book/bible/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is offering \himself to [src.deity_name]! It looks like \he's trying to commit suicide.</span>")
return (BRUTELOSS)
/obj/item/weapon/storage/book/bible/booze
name = "bible"
desc = "To be applied to the head repeatedly."
@@ -62,7 +62,7 @@
..()
contents = list()
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/tank/emergency_oxygen(src)
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
return
@@ -72,7 +72,7 @@
..()
contents = list()
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/tank/emergency_oxygen/engi(src)
new /obj/item/weapon/tank/internals/emergency_oxygen/engi(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
return
@@ -601,4 +601,19 @@
new /obj/item/clothing/tie/armband/deputy(src)
new /obj/item/clothing/tie/armband/deputy(src)
new /obj/item/clothing/tie/armband/deputy(src)
new /obj/item/clothing/tie/armband/deputy(src)
new /obj/item/clothing/tie/armband/deputy(src)
/obj/item/weapon/storage/box/metalfoam
name = "box of metal foam grenades"
desc = "To be used to rapidly seal hull breaches"
icon_state = "flashbang"
/obj/item/weapon/storage/box/metalfoam/New()
..()
new /obj/item/weapon/grenade/chem_grenade/metalfoam(src)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(src)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(src)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(src)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(src)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(src)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(src)
@@ -16,117 +16,112 @@
throw_range = 7
var/empty = 0
/obj/item/weapon/storage/firstaid/regular
icon_state = "firstaid"
desc = "A first aid kit with the ability to heal common types of injuries."
/obj/item/weapon/storage/firstaid/regular/New()
..()
if(empty) return
new /obj/item/stack/medical/gauze(src)
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/ointment(src)
new /obj/item/stack/medical/ointment(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/device/healthanalyzer(src)
return
/obj/item/weapon/storage/firstaid/fire
name = "fire first-aid kit"
desc = "It's an emergency medical kit for when the toxins lab <i>-spontaneously-</i> burns down."
name = "burn treatment kit"
desc = "A specialized medical kit for when the toxins lab <i>-spontaneously-</i> burns down."
icon_state = "ointment"
item_state = "firstaid-ointment"
/obj/item/weapon/storage/firstaid/fire/New()
..()
if (empty) return
if(empty) return
icon_state = pick("ointment","firefirstaid")
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/device/healthanalyzer(src)
new /obj/item/weapon/reagent_containers/pill/salicyclic(src)
new /obj/item/weapon/reagent_containers/pill/salicyclic(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/weapon/reagent_containers/pill/salicyclic(src)
return
/obj/item/weapon/storage/firstaid/regular
icon_state = "firstaid"
/obj/item/weapon/storage/firstaid/regular/New()
..()
if (empty) return
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/pill/salicyclic(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/device/healthanalyzer(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen( src )
return
/obj/item/weapon/storage/firstaid/toxin
name = "toxin first aid"
desc = "Used to treat when you have a high amoutn of toxins in your body."
name = "toxin treatment kit"
desc = "Used to treat toxic blood content and radiation poisoning."
icon_state = "antitoxin"
item_state = "firstaid-toxin"
/obj/item/weapon/storage/firstaid/toxin/New()
..()
if (empty) return
if(empty) return
icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/device/healthanalyzer( src )
new /obj/item/weapon/reagent_containers/syringe/charcoal(src)
new /obj/item/weapon/reagent_containers/syringe/charcoal(src)
new /obj/item/weapon/reagent_containers/syringe/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/device/healthanalyzer(src)
return
/obj/item/weapon/storage/firstaid/o2
name = "oxygen deprivation first aid"
name = "oxygen deprivation treatment kit"
desc = "A box full of oxygen goodies."
icon_state = "o2"
item_state = "firstaid-o2"
/obj/item/weapon/storage/firstaid/o2/New()
..()
if (empty) return
if(empty) return
new /obj/item/weapon/reagent_containers/pill/salbutamol(src)
new /obj/item/weapon/reagent_containers/pill/salbutamol(src)
new /obj/item/weapon/reagent_containers/pill/salbutamol(src)
new /obj/item/weapon/reagent_containers/pill/salbutamol(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/device/healthanalyzer( src )
new /obj/item/device/healthanalyzer(src)
return
/obj/item/weapon/storage/firstaid/brute
name = "brute first aid"
name = "brute trauma treatment kit"
desc = "A first aid kit for when you get toolboxed."
icon_state = "brute"
item_state = "firstaid-brute"
/obj/item/weapon/storage/firstaid/brute/New()
..()
if (empty) return
if(empty) return
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/device/healthanalyzer( src )
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/gauze(src)
new /obj/item/stack/medical/gauze(src)
new /obj/item/device/healthanalyzer(src)
return
/obj/item/weapon/storage/firstaid/tactical
name = "first-aid kit"
icon_state = "bezerk"
name = "combat medical kit"
desc = "I hope you've got insurance."
icon_state = "bezerk"
max_w_class = 3
/obj/item/weapon/storage/firstaid/tactical/New()
..()
if (empty) return
new /obj/item/clothing/tie/stethoscope( src )
new /obj/item/weapon/surgicaldrill ( src )
new /obj/item/weapon/reagent_containers/hypospray/combat( src )
new /obj/item/weapon/reagent_containers/pill/patch/styptic( src )
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/syringe/lethal/choral( src )
new /obj/item/clothing/glasses/hud/health/night( src )
if(empty) return
new /obj/item/stack/medical/gauze(src)
new /obj/item/stack/medical/gauze(src)
new /obj/item/weapon/reagent_containers/hypospray/combat(src)
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src)
new /obj/item/clothing/glasses/hud/health/night(src)
return
@@ -146,11 +141,11 @@
/obj/item/weapon/storage/pill_bottle/MouseDrop(obj/over_object as obj) //Quick pillbottle fix. -Agouri
if (ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~
if(ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~
var/mob/M = usr
if (!istype(over_object, /obj/screen) || !Adjacent(M))
if(!istype(over_object, /obj/screen) || !Adjacent(M))
return ..()
if ((!( M.restrained() ) && !( M.stat ) /*&& M.pocket == src*/))
if((!( M.restrained() ) && !( M.stat ) /*&& M.pocket == src*/))
switch(over_object.name)
if("r_hand")
M.unEquip(src)
@@ -161,7 +156,7 @@
src.add_fingerprint(usr)
return
if(over_object == usr && in_range(src, usr) || usr.contents.Find(src))
if (usr.s_active)
if(usr.s_active)
usr.s_active.close(usr)
src.show_to(usr)
return
@@ -173,13 +168,13 @@
/obj/item/weapon/storage/box/silver_sulf/New()
..()
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
/obj/item/weapon/storage/pill_bottle/charcoal
@@ -188,13 +183,13 @@
/obj/item/weapon/storage/pill_bottle/charcoal/New()
..()
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
/obj/item/weapon/storage/pill_bottle/epinephrine
name = "bottle of epinephrine pills"
@@ -202,13 +197,13 @@
/obj/item/weapon/storage/pill_bottle/epinephrine/New()
..()
new /obj/item/weapon/reagent_containers/pill/epinephrine( src )
new /obj/item/weapon/reagent_containers/pill/epinephrine( src )
new /obj/item/weapon/reagent_containers/pill/epinephrine( src )
new /obj/item/weapon/reagent_containers/pill/epinephrine( src )
new /obj/item/weapon/reagent_containers/pill/epinephrine( src )
new /obj/item/weapon/reagent_containers/pill/epinephrine( src )
new /obj/item/weapon/reagent_containers/pill/epinephrine( src )
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
/obj/item/weapon/storage/pill_bottle/mutadone
name = "bottle of mutadone pills"
@@ -244,11 +239,11 @@
/obj/item/weapon/storage/pill_bottle/stimulant/New()
..()
new /obj/item/weapon/reagent_containers/pill/stimulant( src )
new /obj/item/weapon/reagent_containers/pill/stimulant( src )
new /obj/item/weapon/reagent_containers/pill/stimulant( src )
new /obj/item/weapon/reagent_containers/pill/stimulant( src )
new /obj/item/weapon/reagent_containers/pill/stimulant( src )
new /obj/item/weapon/reagent_containers/pill/stimulant(src)
new /obj/item/weapon/reagent_containers/pill/stimulant(src)
new /obj/item/weapon/reagent_containers/pill/stimulant(src)
new /obj/item/weapon/reagent_containers/pill/stimulant(src)
new /obj/item/weapon/reagent_containers/pill/stimulant(src)
/obj/item/weapon/storage/pill_bottle/dice
name = "bag of dice"
@@ -258,11 +253,11 @@
/obj/item/weapon/storage/pill_bottle/dice/New()
..()
new /obj/item/weapon/dice/d4( src )
new /obj/item/weapon/dice( src )
new /obj/item/weapon/dice/d8( src )
new /obj/item/weapon/dice/d10( src )
new /obj/item/weapon/dice/d00( src )
new /obj/item/weapon/dice/d12( src )
new /obj/item/weapon/dice/d20( src )
new /obj/item/weapon/dice/d4(src)
new /obj/item/weapon/dice(src)
new /obj/item/weapon/dice/d8(src)
new /obj/item/weapon/dice/d10(src)
new /obj/item/weapon/dice/d00(src)
new /obj/item/weapon/dice/d12(src)
new /obj/item/weapon/dice/d20(src)
@@ -10,24 +10,24 @@
/*
* Oxygen
*/
/obj/item/weapon/tank/oxygen
/obj/item/weapon/tank/internals/oxygen
name = "oxygen tank"
desc = "A tank of oxygen."
icon_state = "oxygen"
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
/obj/item/weapon/tank/oxygen/New()
/obj/item/weapon/tank/internals/oxygen/New()
..()
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
/obj/item/weapon/tank/oxygen/yellow
/obj/item/weapon/tank/internals/oxygen/yellow
desc = "A tank of oxygen, this one is yellow."
icon_state = "oxygen_f"
/obj/item/weapon/tank/oxygen/red
/obj/item/weapon/tank/internals/oxygen/red
desc = "A tank of oxygen, this one is red."
icon_state = "oxygen_fr"
@@ -35,13 +35,13 @@
/*
* Anesthetic
*/
/obj/item/weapon/tank/anesthetic
/obj/item/weapon/tank/internals/anesthetic
name = "anesthetic tank"
desc = "A tank with an N2O/O2 gas mix."
icon_state = "anesthetic"
item_state = "an_tank"
/obj/item/weapon/tank/anesthetic/New()
/obj/item/weapon/tank/internals/anesthetic/New()
..()
src.air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD
@@ -55,13 +55,13 @@
/*
* Air
*/
/obj/item/weapon/tank/air
/obj/item/weapon/tank/internals/air
name = "air tank"
desc = "Mixed anyone?"
icon_state = "oxygen"
/obj/item/weapon/tank/air/New()
/obj/item/weapon/tank/internals/air/New()
..()
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD
@@ -72,7 +72,7 @@
/*
* Plasma
*/
/obj/item/weapon/tank/plasma
/obj/item/weapon/tank/internals/plasma
name = "plasma tank"
desc = "Contains dangerous plasma. Do not inhale. Warning: extremely flammable."
icon_state = "plasma"
@@ -80,13 +80,13 @@
slot_flags = null //they have no straps!
/obj/item/weapon/tank/plasma/New()
/obj/item/weapon/tank/internals/plasma/New()
..()
src.air_contents.toxins = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
/obj/item/weapon/tank/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/tank/internals/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (istype(W, /obj/item/weapon/flamethrower))
@@ -98,7 +98,7 @@
src.loc = F
return
/obj/item/weapon/tank/plasma/full/New()
/obj/item/weapon/tank/internals/plasma/full/New()
..()
src.air_contents.toxins = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
@@ -106,7 +106,7 @@
/*
* Emergency Oxygen
*/
/obj/item/weapon/tank/emergency_oxygen
/obj/item/weapon/tank/internals/emergency_oxygen
name = "emergency oxygen tank"
desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it."
icon_state = "emergency"
@@ -118,17 +118,17 @@
volume = 3 //Tiny. Real life equivalents only have 21 breaths of oxygen in them. They're EMERGENCY tanks anyway -errorage (dangercon 2011)
/obj/item/weapon/tank/emergency_oxygen/New()
/obj/item/weapon/tank/internals/emergency_oxygen/New()
..()
src.air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
/obj/item/weapon/tank/emergency_oxygen/engi
/obj/item/weapon/tank/internals/emergency_oxygen/engi
name = "extended-capacity emergency oxygen tank"
icon_state = "emergency_engi"
volume = 6
/obj/item/weapon/tank/emergency_oxygen/double
/obj/item/weapon/tank/internals/emergency_oxygen/double
name = "double emergency oxygen tank"
icon_state = "emergency_engi"
volume = 10
+14
View File
@@ -28,6 +28,10 @@
origin_tech = "materials=1;engineering=1"
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
/obj/item/weapon/wrench/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.</span>")
playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1)
return (BRUTELOSS)
/*
* Screwdriver
@@ -126,6 +130,11 @@
else
..()
/obj/item/weapon/wirecutters/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is cutting at \his arteries with the [src.name]! It looks like \he's trying to commit suicide.</span>")
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1, -1)
return (BRUTELOSS)
/*
* Welding Tool
*/
@@ -447,6 +456,11 @@
origin_tech = "engineering=1"
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
/obj/item/weapon/crowbar/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.</span>")
playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1)
return (BRUTELOSS)
/obj/item/weapon/crowbar/red
icon = 'icons/obj/items.dmi'
icon_state = "red_crowbar"