Merge branch 'pr/4'

Conflicts:
	.gitignore
This commit is contained in:
ZomgPonies
2013-08-24 17:25:58 -04:00
25 changed files with 332 additions and 189 deletions
+2 -2
View File
@@ -584,7 +584,7 @@
icon_state = "bookSpaceLaw"
author = "Nanotrasen"
title = "Space Law"
/*dat = {"
dat = {"
<html><head>
</head>
@@ -594,7 +594,7 @@
</html>
"}*/
"}
/obj/item/weapon/book/manual/engineering_guide
name = "Engineering Textbook"
@@ -119,10 +119,11 @@
density = 1
return 1
/obj/structure/closet/proc/toggle()
if(src.opened)
return src.close()
return src.open()
/obj/structure/closet/proc/toggle(mob/user as mob)
. = src.opened ? src.close() : src.open()
if(!.)
user << "<span class='notice'>It won't budge!</span>"
return
// this should probably use dump_contents()
/obj/structure/closet/ex_act(severity)
@@ -180,7 +181,6 @@
if(src.opened)
if(istype(W, /obj/item/weapon/grab))
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(!WT.remove_fuel(0,user))
@@ -191,15 +191,11 @@
M.show_message("<span class='notice'>\The [src] has been cut apart by [user] with \the [WT].</span>", 3, "You hear welding.", 2)
del(src)
return
if(isrobot(user))
return
usr.drop_item()
if(W)
W.loc = src.loc
else if(istype(W, /obj/item/weapon/packageWrap))
return
else if(istype(W, /obj/item/weapon/weldingtool))
@@ -207,7 +203,7 @@
if(!WT.remove_fuel(0,user))
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
return
src.welded =! src.welded
src.welded = !src.welded
src.update_icon()
for(var/mob/M in viewers(src))
M.show_message("<span class='warning'>[src] has been [welded?"welded shut":"unwelded"] by [user.name].</span>", 3, "You hear welding.", 2)
@@ -257,9 +253,7 @@
/obj/structure/closet/attack_hand(mob/user as mob)
src.add_fingerprint(user)
if(!src.toggle())
usr << "<span class='notice'>It won't budge!</span>"
src.toggle(user)
/obj/structure/closet/verb/verb_toggleopen()
set src in oview(1)
@@ -270,7 +264,8 @@
return
if(ishuman(usr))
src.attack_hand(usr)
src.add_fingerprint(usr)
src.toggle(usr)
else
usr << "<span class='warning'>This mob type can't use this verb.</span>"
@@ -17,16 +17,17 @@
health = 200
/obj/structure/closet/secure_closet/can_open()
..()
if(src.locked)
return 0
return 1
return ..()
/obj/structure/closet/secure_closet/close()
..()
if(broken)
icon_state = src.icon_off
return 1
if(..())
if(broken)
icon_state = src.icon_off
return 1
else
return 0
/obj/structure/closet/secure_closet/emp_act(severity)
for(var/obj/O in src)
@@ -44,15 +45,21 @@
..()
/obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob)
if(src.opened)
user << "<span class='notice'>Close the locker first.</span>"
return
if(src.broken)
user << "<span class='warning'>The locker appears to be broken.</span>"
return
if(user.loc == src)
user << "<span class='notice'>You can't reach the lock from inside.</span>"
return
if(src.allowed(user))
src.locked = !src.locked
for(var/mob/O in viewers(user, 3))
if((O.client && !( O.blinded )))
O << "<span class='notice'>The locker has been [locked ? null : "un"]locked by [user].</span>"
if(src.locked)
src.icon_state = src.icon_locked
else
src.icon_state = src.icon_closed
update_icon()
else
user << "<span class='notice'>Access Denied</span>"
@@ -62,15 +69,12 @@
if(src.large)
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
else
user << "<span class='notice'>The locker is too small to stuff [W] into!</span>"
user << "<span class='notice'>The locker is too small to stuff [W:affecting] into!</span>"
if(isrobot(user))
return
user.drop_item()
if(W)
W.loc = src.loc
else if(src.broken)
user << "<span class='notice'>The locker appears to be broken.</span>"
return
else if((istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && !src.broken)
broken = 1
locked = 0
@@ -88,46 +92,17 @@
else
for(var/mob/O in viewers(user, 3))
O.show_message("<span class='warning'>The locker has been broken by [user] with an electromagnetic card!</span>", 1, "You hear a faint electrical spark.", 2)
else if(istype(W,/obj/item/weapon/packageWrap) || istype(W,/obj/item/weapon/weldingtool))
return ..(W,user)
else
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(!WT.remove_fuel(0,user))
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
return
src.welded =! src.welded
src.update_icon()
for(var/mob/M in viewers(src))
M.show_message("<span class='warning'>[src] has been [welded?"welded shut":"unwelded"] by [user.name].</span>", 3, "You hear welding.", 2)
else
togglelock(user)
/obj/structure/closet/secure_closet/relaymove(mob/user as mob)
if(user.stat || !isturf(src.loc))
return
if(!(src.locked))
for(var/obj/item/I in src)
I.loc = src.loc
for(var/mob/M in src)
M.loc = src.loc
if(M.client)
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE
src.icon_state = src.icon_opened
src.opened = 1
else
user << "<span class='notice'>The locker is locked!</span>"
if(world.time > lastbang+5)
lastbang = world.time
for(var/mob/M in hearers(src, null))
M << "<FONT size=[max(0, 5 - get_dist(src, M))]>BANG, bang!</FONT>"
return
togglelock(user)
/obj/structure/closet/secure_closet/attack_hand(mob/user as mob)
src.add_fingerprint(user)
if(!src.toggle())
return src.attackby(null, user)
if(src.locked)
src.togglelock(user)
else
src.toggle(user)
/obj/structure/closet/secure_closet/attack_paw(mob/user as mob)
return src.attack_hand(user)
@@ -140,15 +115,9 @@
if(!usr.canmove || usr.stat || usr.restrained()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
return
if(get_dist(usr, src) != 1)
return
if(src.broken)
return
if (ishuman(usr))
if (!opened)
togglelock(usr)
if(ishuman(usr))
src.add_fingerprint(usr)
src.togglelock(usr)
else
usr << "<span class='warning'>This mob type can't use this verb.</span>"
+1 -1
View File
@@ -102,7 +102,7 @@
if(iswirecutter(W))
if(!shock(user, 100))
playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
new /obj/item/stack/rods(loc)
new /obj/item/stack/rods(loc, 2)
del(src)
else if((isscrewdriver(W)) && (istype(loc, /turf/simulated) || anchored))
if(!shock(user, 90))
+20 -2
View File
@@ -22,13 +22,31 @@
//handle facial hair (if necessary)
if(H.gender == MALE)
var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in facial_hair_styles_list
var/list/species_facial_hair = list()
if(H.species)
for(var/i in facial_hair_styles_list)
var/datum/sprite_accessory/facial_hair/tmp_facial = facial_hair_styles_list[i]
if(H.species.name in tmp_facial.species_allowed)
species_facial_hair += i
else
species_facial_hair = facial_hair_styles_list
var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in species_facial_hair
if(userloc != H.loc) return //no tele-grooming
if(new_style)
H.f_style = new_style
//handle normal hair
var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in hair_styles_list
var/list/species_hair = list()
if(H.species)
for(var/i in hair_styles_list)
var/datum/sprite_accessory/hair/tmp_hair = hair_styles_list[i]
if(H.species.name in tmp_hair.species_allowed)
species_hair += i
else
species_hair = hair_styles_list
var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in species_hair
if(userloc != H.loc) return //no tele-grooming
if(new_style)
H.h_style = new_style