Merge remote-tracking branch 'upstream/master' into path_cleanups

Conflicts:
	code/modules/examine/descriptions/atmospherics.dm
This commit is contained in:
Tastyfish
2015-11-24 18:05:01 -05:00
18 changed files with 168 additions and 82 deletions
@@ -86,12 +86,12 @@
//Normal valves
/obj/machinery/atmospherics/binary/valve
description_info = "Click this to turn the valve. If red, the pipes on each end are seperated. Otherwise, they are connected."
description_info = "Click this to turn the valve. If red, the pipes on each end are separated. Otherwise, they are connected."
//TEG ports
/obj/machinery/atmospherics/binary/circulator
description_info = "This generates electricity, depending on the difference in temperature between each side of the machine. The meter in \
the center of the machine gives an indicator of how much elecrtricity is being generated."
the center of the machine gives an indicator of how much electricity is being generated."
//Passive gates
/obj/machinery/atmospherics/binary/passive_gate
@@ -119,7 +119,7 @@
//Gas injectors
/obj/machinery/atmospherics/unary/outlet_injector
description_info = "Outputs the pipe's gas into the atmosphere, similar to an airvent. It can be controlled by a nearby atmospherics computer. \
description_info = "Outputs the pipe's gas into the atmosphere, similar to an air vent. It can be controlled by a nearby atmospherics computer. \
A green light on it means it is on."
//Scrubbers
@@ -163,4 +163,4 @@
//Pipe dispensers
/obj/machinery/pipedispenser
description_info = "This can be moved by using a wrench. You will need to wrench it again when you want to use it. You can put \
excess (atmospheric) pipes into the dispenser, as well. The dispenser requires electricity to function."
excess (atmospheric) pipes into the dispenser, as well. The dispenser requires electricity to function."
@@ -10,7 +10,7 @@
Touching the supermatter will result in *instant death*, with no corpse left behind! You can drag the supermatter, but anything else will kill you. \
It is advised to obtain a genetic backup before trying to drag it."
description_antag = "Exposing the supermatter to oxygen or vaccum will cause it to start rapidly heating up. Sabotaging the supermatter and making it explode will \
description_antag = "Exposing the supermatter to oxygen or vacuum will cause it to start rapidly heating up. Sabotaging the supermatter and making it explode will \
cause a period of lag as the explosion is processed by the server, as well as irradiating the entire station and causing hallucinations to happen. \
Wearing radiation equipment will protect you from most of the delamination effects sans explosion."
+2 -2
View File
@@ -1,8 +1,8 @@
/mob/living/silicon/robot/drone
description_info = "Drones are player-controlled synthetics which are lawed to maintain the station and not \
interact with anyone else, except for other drones. They hold a wide array of tools to build, repair, maintain, and clean. \
They fuction similarly to other synthetics, in that they require recharging regularly, have laws, and are resilient to many hazards, \
They function similarly to other synthetics, in that they require recharging regularly, have laws, and are resilient to many hazards, \
such as fire, radiation, vacuum, and more. Ghosts can join the round as a maintenance drone by using the appropriate verb in the 'ghost' tab. \
An inactive drone can be rebooted by swiping an ID card on it with engineering or robotics access."
description_antag = "An Electromagnetic Sequencer can be used to subvert the drone to your cause."
description_antag = "An Electromagnetic Sequencer can be used to subvert the drone to your cause."
@@ -1,7 +1,7 @@
/obj/structure/girder
description_info = "Use metal sheets on this to build a normal wall. Adding plasteel instead will make a reinforced wall.<br>\
A false wall can be made by using a crowbar on this girder, and then adding metal or plasteel.<br>\
You can dismantle the grider with a wrench."
You can dismantle the girder with a wrench."
/obj/structure/girder/reinforced
description_info = "Add another sheet of plasteel to finish."
@@ -18,4 +18,4 @@
description_info = "Click and drag yourself (or anyone) to this to buckle in. Click on this with an empty hand to undo the buckles.<br>\
<br>\
Anyone with restraints, such as handcuffs, will not be able to unbuckle themselves. They must use the Resist button, or verb, to break free of \
the buckles, instead."
the buckles, instead."
+2 -2
View File
@@ -51,7 +51,7 @@
/obj/item/weapon/gun/projectile
description_info = "This is a ballistic weapon. To fire the weapon, have your gun mode set to 'fire', \
then click where you want to fire. To reload, click the weapon in your hand to unload (if needed), then add the appropiate ammo. The description \
then click where you want to fire. To reload, click the weapon in your hand to unload (if needed), then add the appropriate ammo. The description \
will tell you what caliber you need."
/obj/item/weapon/gun/projectile/shotgun/pump
@@ -79,4 +79,4 @@
it can be concealed in your pocket or bag."
/obj/item/weapon/melee/cultblade
description_antag = "This sword is a powerful weapon, capable of severing limbs easily, if they are targeted. Nonbelivers are unable to use this weapon."
description_antag = "This sword is a powerful weapon, capable of severing limbs easily, if they are targeted. Nonbelievers are unable to use this weapon."
@@ -47,6 +47,8 @@
if(RUN in mutations)
tally = -1
if(HULK in mutations)
tally += 1
if(status_flags & IGNORESLOWDOWN) // make sure this is always at the end so we don't have ignore slowdown getting ignored itself
tally = -1
+27 -17
View File
@@ -363,27 +363,37 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
/mob/living/carbon/human/get_breath_from_internal(volume_needed) //making this call the parent would be far too complicated
var/null_internals = 0
if(internal)
if(istype(back, /obj/item/weapon/rig))
var/obj/item/weapon/rig/rig = back
if(rig.offline && (rig.air_supply && internal == rig.air_supply))
null_internals = 1
var/null_internals = 0 //internals are invalid, therefore turn them off
var/skip_contents_check = 0 //rigsuit snowflake, oxygen tanks aren't stored inside the mob, so the 'contents.Find' check has to be skipped.
if(!(wear_mask && (wear_mask.flags & AIRTIGHT))) //not wearing mask
if(!(head && (head.flags & AIRTIGHT))) //not wearing helmet
null_internals = 1
if(!(wear_mask && wear_mask.flags & AIRTIGHT)) //if NOT (wear_mask AND wear_mask.flags CONTAIN AIRTIGHT)
if(!(head && head.flags & AIRTIGHT)) //if NOT (head AND head.flags CONTAIN AIRTIGHT)
null_internals = 1 //not wearing a mask or suitable helmet
if(null_internals)
internal = null
if(istype(back, /obj/item/weapon/rig)) //wearing a rigsuit
var/obj/item/weapon/rig/rig = back //needs to be typecasted because this doesn't use get_rig() for some reason
if(rig.offline && (rig.air_supply && internal == rig.air_supply)) //if rig IS offline AND (rig HAS air_supply AND internal IS air_supply)
null_internals = 1 //offline suits do not breath
if(internal)
if(internals)
internals.icon_state = "internal1"
return internal.remove_air_volume(volume_needed)
else
if(internals)
internals.icon_state = "internal0"
else if(rig.air_supply && internal == rig.air_supply) //if rig HAS air_supply AND internal IS rig air_supply
skip_contents_check = 1 //skip contents.Find() check, the oxygen is valid even being outside of the mob
if(!contents.Find(internal) && (!skip_contents_check)) //if internal NOT IN contents AND skip_contents_check IS false
null_internals = 1 //not a rigsuit and your oxygen is gone
if(null_internals) //something wants internals gone
internal = null //so do it
if(internal) //check for hud updates every time this is called
if(internals)
internals.icon_state = "internal1"
return internal.remove_air_volume(volume_needed) //returns the valid air
else
if(internals)
internals.icon_state = "internal0"
return null
@@ -814,6 +814,53 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
icon_state = "bottle17"
/obj/item/weapon/slimespeed
name = "slime speed potion"
desc = "A potent chemical mix that will remove the slowdown from any item."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle3"
/obj/item/weapon/slimespeed/afterattack(obj/item/C, mob/user)
..()
if(!istype(C))
user << "<span class='warning'>The potion can only be used on items!</span>"
return
if(C.slowdown <= 0)
user << "<span class='warning'>The [C] can't be made any faster!</span>"
return..()
user <<"<span class='notice'>You slather the red gunk over the [C], making it faster.</span>"
C.color = "#FF0000"
C.slowdown = 0
qdel(src)
/obj/item/weapon/slimefireproof
name = "slime chill potion"
desc = "A potent chemical mix that will fireproof any article of clothing. Has three uses."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle17"
var/uses = 3
/obj/item/weapon/slimefireproof/afterattack(obj/item/clothing/C, mob/user)
..()
if(!uses)
qdel(src)
return
if(!istype(C))
user << "<span class='warning'>The potion can only be used on clothing!</span>"
return
if(C.max_heat_protection_temperature == FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT)
user << "<span class='warning'>The [C] is already fireproof!</span>"
return..()
user <<"<span class='notice'>You slather the blue gunk over the [C], fireproofing it.</span>"
C.name = "fireproofed [C.name]"
C.color = "#000080"
C.max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
C.heat_protection = C.body_parts_covered
uses --
if(!uses)
qdel(src)
/obj/effect/goleRUNe
anchored = 1
desc = "a strange rune used to create golems. It glows when spirits are nearby."
@@ -13,11 +13,11 @@
if(!O)
return 0
O.mouse_opacity = 2
O.mouse_opacity = 2
if(istype(O,/obj/item/borg/sight))
var/obj/item/borg/sight/S = O
sight_mode &= ~S.sight_mode
if(client)
client.screen -= O
contents -= O
@@ -71,6 +71,7 @@
sight_mode |= module_state_3:sight_mode
else
src << "You need to disable a module first!"
src.update_icons()
/mob/living/silicon/robot/proc/uneq_active()
uneq_module(module_active)
@@ -1008,16 +1008,16 @@ var/list/robot_verbs_default = list(
else
overlays += "ov-openpanel -c"
if(modtype == ("Combat" || "Peacekeeper"))
var/combat = list("Combat","Peacekeeper")
if(modtype in combat)
if (base_icon == "")
base_icon = icon_state
if(module_active && istype(module_active,/obj/item/borg/combat/mobility))
icon_state = "[base_icon]-roll"
else
icon_state = base_icon
if(activated(/obj/item/borg/combat/shield))
overlays += "[icon_state]-shield"
if(activated(/obj/item/borg/combat/shield))
overlays += "[base_icon]-shield"
if(jetpackoverlay)
overlays += "minerjetpack-[icon_state]"
@@ -5,6 +5,7 @@
icon_state = "fox"
icon_living = "fox"
icon_dead = "fox_dead"
icon_resting = "fox_rest"
speak = list("Ack-Ack","Ack-Ack-Ack-Ackawoooo","Geckers","Awoo","Tchoff")
speak_emote = list("geckers", "barks")
emote_hear = list("howls","barks")
@@ -202,6 +202,7 @@
result_amount = 10
required_container = /obj/item/slime_extract/blue
required_other = 1
//Dark Blue
slimefreeze
name = "Slime Freeze"
@@ -221,6 +222,21 @@
M.bodytemperature -= 140
M << "\blue You feel a chill!"
slimefireproof
name = "Slime Fireproof"
id = "m_fireproof"
result = null
required_reagents = list("water" = 1)
result_amount = 1
required_container = /obj/item/slime_extract/darkblue
required_other = 1
on_reaction(datum/reagents/holder)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/weapon/slimefireproof/P = new /obj/item/weapon/slimefireproof
P.loc = get_turf(holder.my_atom)
//Orange
slimecasp
name = "Slime Capsaicin Oil"
@@ -353,6 +369,21 @@
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("\red The [slime] is driven into a frenzy!."), 1)
slimespeed
name = "Slime Speed"
id = "m_speed"
result = null
required_reagents = list("water" = 1)
result_amount = 1
required_container = /obj/item/slime_extract/red
required_other = 1
on_reaction(datum/reagents/holder)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/weapon/slimespeed/P = new /obj/item/weapon/slimespeed
P.loc = get_turf(holder.my_atom)
//Pink
slimeppotion
name = "Slime Potion"