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

Conflicts:
	code/game/gamemodes/setupgame.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/reagents/Chemistry-Machinery.dm
This commit is contained in:
carnie
2015-01-04 01:52:14 +00:00
188 changed files with 3290 additions and 2205 deletions
@@ -69,8 +69,8 @@
new /obj/item/clothing/suit/toggle/labcoat(src)
new /obj/item/clothing/shoes/sneakers/white(src)
new /obj/item/device/radio/headset/headset_med(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/weapon/defibrillator/loaded(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/suit/toggle/wintercoat/medical(src)
@@ -101,8 +101,8 @@
new /obj/item/clothing/shoes/sneakers/brown (src)
new /obj/item/weapon/cartridge/cmo(src)
new /obj/item/device/radio/headset/heads/cmo(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/weapon/defibrillator/loaded(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/device/flash/handheld(src)
new /obj/item/clothing/suit/toggle/wintercoat/medical(src)
@@ -45,7 +45,7 @@
src.locked = !src.locked
add_fingerprint(user)
for(var/mob/O in viewers(user, 3))
if((O.client && !( O.blinded )))
if((O.client && !( O.eye_blind )))
O << "<span class='notice'>[user] has [locked ? null : "un"]locked the locker.</span>"
if(src.locked)
src.icon_state = src.icon_locked
@@ -22,7 +22,7 @@
L.client.perspective = EYE_PERSPECTIVE
L.client.eye = src
L.loc = src
L.sdisabilities += MUTE
L.disabilities += MUTE
L.faction += "mimic" //Stops mimics from instaqdeling people in statues
health = L.health + 100 //stoning damaged mobs will result in easier to shatter statues
@@ -79,7 +79,7 @@
for(var/mob/living/M in src)
M.loc = src.loc
M.sdisabilities -= MUTE
M.disabilities -= MUTE
M.take_overall_damage((M.health - health - 100),0) //any new damage the statue incurred is transfered to the mob
M.faction -= "mimic"
if(M.client)
@@ -461,7 +461,13 @@ obj/structure/door_assembly/New()
return
else if(istype(W, /obj/item/weapon/wrench) && !anchored )
if(!locate(/obj/machinery/door) in loc)
var/door_check = 1
for(var/obj/machinery/door/D in loc)
if(!D.sub_door)
door_check = 0
break
if(door_check)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
user.visible_message("<span class='warning'>[user] secures the airlock assembly to the floor.</span>", \
"You start to secure the airlock assembly to the floor.", \
+5 -1
View File
@@ -12,7 +12,7 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/choice = input(user, "Underwear or Undershirt?", "Changing") as null|anything in list("Underwear","Undershirt")
var/choice = input(user, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in list("Underwear","Undershirt","Socks")
if(!Adjacent(user))
return
@@ -26,6 +26,10 @@
var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in undershirt_list
if(new_undershirt)
H.undershirt = new_undershirt
if("Socks")
var/new_socks = input(user, "Select your socks", "Changing") as null|anything in socks_list
if(new_socks)
H.socks= new_socks
add_fingerprint(H)
H.update_body()
+8 -2
View File
@@ -29,6 +29,12 @@
/obj/structure/grille/attack_paw(mob/user as mob)
attack_hand(user)
/obj/structure/grille/attack_hulk(mob/living/carbon/human/user)
..(user, 1)
shock(user, 70)
health -= 5
healthcheck()
/obj/structure/grille/attack_hand(mob/living/user as mob)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
@@ -39,8 +45,6 @@
if(shock(user, 70))
return
if(HULK in user.mutations)
health -= 5
else
health -= rand(1,2)
healthcheck()
@@ -192,6 +196,8 @@
health -= W.force * 0.1
else if(!shock(user, 70))
switch(W.damtype)
if(STAMINA)
return
if(BURN)
playsound(loc, 'sound/items/welder.ogg', 80, 1)
else
+2
View File
@@ -58,6 +58,8 @@
/obj/structure/mirror/attackby(obj/item/I as obj, mob/living/user as mob)
user.do_attack_animation(src)
if(I.damtype == STAMINA)
return
if(shattered)
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
return
+26 -27
View File
@@ -207,15 +207,16 @@
/obj/structure/table/attack_paw(mob/user)
attack_hand(user)
/obj/structure/table/attack_hulk(mob/living/carbon/human/user)
..(user, 1)
visible_message("<span class='danger'>[user] smashes [src] apart!</span>")
playsound(src.loc, 'sound/effects/bang.ogg', 50, 1)
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
table_destroy(1)
return 1
/obj/structure/table/attack_hand(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
if(HULK in user.mutations)
user.do_attack_animation(src)
visible_message("<span class='danger'>[user] smashes [src] apart!</span>")
playsound(src.loc, 'sound/effects/bang.ogg', 50, 1)
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
table_destroy(1)
return
/obj/structure/table/attack_tk() // no telehulk sorry
return
@@ -460,19 +461,17 @@
/obj/structure/table/reinforced/attack_paw(mob/user)
attack_hand(user)
/obj/structure/table/reinforced/attack_hand(mob/user as mob)
user.changeNext_move(CLICK_CD_MELEE)
if ((HULK in user.mutations))
if (prob(75))
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
usr << text("<span class='notice'>You kick [src] into pieces.</span>")
usr.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
table_destroy(1)
return
else
playsound(src, 'sound/effects/bang.ogg', 50, 1)
usr << text("<span class='notice'>You kick [src].</span>")
return
/obj/structure/table/reinforced/attack_hulk(mob/living/carbon/human/user)
..(user, 1)
if(prob(75))
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
user << text("<span class='notice'>You kick [src] into pieces.</span>")
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
table_destroy(1)
else
playsound(src, 'sound/effects/bang.ogg', 50, 1)
user << text("<span class='notice'>You kick [src].</span>")
return 1
/*
* Racks
@@ -547,19 +546,19 @@
/obj/structure/rack/attack_paw(mob/living/user)
attack_hand(user)
/obj/structure/rack/attack_hulk(mob/living/carbon/human/user)
..(user, 1)
rack_destroy()
return 1
/obj/structure/rack/attack_hand(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
playsound(loc, 'sound/items/dodgeball.ogg', 80, 1)
user.visible_message("<span class='warning'>[user] kicks [src].</span>", \
"<span class='warning'>You kick [src].</span>")
if(HULK in user.mutations)
rack_destroy()
else
health -= rand(1,2)
healthcheck()
health -= rand(1,2)
healthcheck()
/obj/structure/rack/attack_alien(mob/living/user)
user.do_attack_animation(src)
+24 -34
View File
@@ -14,7 +14,7 @@
var/state = 0
var/reinf = 0
var/disassembled = 0
var/shuttlew = 0
var/wtype = "glass"
var/fulltile = 0
var/obj/item/stack/rods/storedrods
var/obj/item/weapon/shard/storedshard
@@ -28,15 +28,8 @@
storedshard = new/obj/item/weapon/shard(src)
ini_dir = dir
if(reinf)
icon_state = "rwindow"
desc = "A reinforced window."
name = "reinforced window"
state = 2*anchored
if(opacity)
icon_state = "twindow"
storedrods = new/obj/item/stack/rods(src)
else
icon_state = "window"
air_update_turf(1)
update_nearby_icons()
@@ -123,22 +116,25 @@
add_fingerprint(user)
playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
/obj/structure/window/attack_hulk(mob/living/carbon/human/user)
if(!can_be_reached(user))
return
..(user, 1)
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
user.visible_message("<span class='danger'>[user] smashes through [src]!</span>")
storedshard.add_fingerprint(user)
if(storedrods)
storedrods.add_fingerprint(user)
hit(50)
return 1
/obj/structure/window/attack_hand(mob/user as mob)
if(!can_be_reached(user))
return
if(HULK in user.mutations)
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
user.visible_message("<span class='danger'>[user] smashes through [src]!</span>")
storedshard.add_fingerprint(user)
if(storedrods)
storedrods.add_fingerprint(user)
spawnfragments()
else
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message("<span class='notice'>[user] knocks on [src].</span>")
add_fingerprint(user)
playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message("<span class='notice'>[user] knocks on [src].</span>")
add_fingerprint(user)
playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
/obj/structure/window/attack_paw(mob/user as mob)
return attack_hand(user)
@@ -405,17 +401,10 @@
if(anchored)
for(var/obj/structure/window/W in orange(src,1))
if(W.anchored && W.density && W.fulltile) //Only counts anchored, not-destroyed fill-tile windows.
if(abs(x-W.x)-abs(y-W.y) ) //doesn't count windows, placed diagonally to src
junction |= get_dir(src,W)
if(opacity)
icon_state = "twindow[junction]"
else
if(shuttlew)
icon_state = "swindow[junction]"
else if(reinf)
icon_state = "rwindow[junction]"
else
icon_state = "window[junction]"
if(src.wtype == W.wtype)
if(abs(x-W.x)-abs(y-W.y) ) //doesn't count windows, placed diagonally to src
junction |= get_dir(src,W)
icon_state = "[initial(icon_state)][junction]"
overlays.Cut()
var/ratio = health / maxhealth
@@ -463,9 +452,10 @@
/obj/structure/window/shuttle
name = "shuttle window"
desc = "A strong, air-locked pod window that is extremely difficult to destroy."
desc = "A reinforced, air-locked pod window."
icon_state = "swindow"
dir = 5
maxhealth = 100
shuttlew = 1
wtype = "shuttle"
fulltile = 1
reinf = 1