CHANGELOG && Dangercon Update:

•Fireaxes, extinguishers and fireaxe closets placed around the station. Functionality described in changelog. Airlock modifying is because you can use the fireaxe to crank open doors.
•Piano? Being able to be smashed? What are you talking about?
•The two handed system is purely experimental and subject to much cleaning up/proc making to enable it for other objects as well.
The mob modifications is because of the two handed system making it unable for you to switch hands.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1543 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
polyxenitopalidou@gmail.com
2011-05-07 16:39:13 +00:00
parent d062e68f4b
commit e55dd9c2f6
19 changed files with 9019 additions and 8531 deletions
+4 -2
View File
@@ -275,7 +275,7 @@
opacity = 0
density = 0
/obj/item/weapon/plaque_assembly
/*/obj/item/weapon/plaque_assembly //commenting this out until there's a better rework
desc = "Put this on a wall and engrave an epitaph"
name = "Plaque Assembly"
icon = 'decals.dmi'
@@ -288,7 +288,7 @@
var/obj/sign/goldenplaque/gp = new/obj/sign/goldenplaque(A)
gp.name = epitaph
gp.layer = 2.9
del(src)
del(src)*/
/obj/sign/maltesefalcon1 //The sign is 64x32, so it needs two tiles. ;3
desc = "The Maltese Falcon, Space Bar and Grill"
@@ -343,6 +343,8 @@
var/burning = null
var/hitsound = null
var/w_class = 3.0
var/wielded = 0
var/twohanded = 0 ///Two handed and wielded off by default, nyoro~n -Agouri
flags = FPRINT | TABLEPASS
pressure_resistance = 50
var/obj/item/master = null
+304 -6
View File
@@ -36,6 +36,215 @@
icon_closed = "firecloset"
icon_opened = "fireclosetopen"
/obj/closet/hydrant //wall mounted fire closet
desc = "A wall mounted closet which comes with supplies to fight fire."
name = "Fire Closet"
icon_state = "hydrant"
icon_closed = "hydrant"
icon_opened = "hydrant_open"
/obj/closet/fireaxecabinet
name = "Fire Axe Cabinet"
desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if."
var/obj/item/weapon/fireaxe/FIREAXE = new/obj/item/weapon/fireaxe
icon_state = "fireaxe1000"
icon_closed = "fireaxe1000"
icon_opened = "fireaxe1100"
anchored = 1
var/localopened = 0 //Setting this to keep it from behaviouring like a normal closet and obstructing movement in the map. -Agouri
opened = 1
var/hitstaken = 0
var/locked = 1
var/smashed = 0
attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
//..() //That's very useful, Erro
var/hasaxe = 0 //gonna come in handy later~
if(FIREAXE)
hasaxe = 1
if (isrobot(usr) || src.locked)
if(istype(O, /obj/item/device/multitool))
user << "\red Resetting circuitry..."
playsound(user, 'lockreset.wav', 50, 1)
sleep(50) // Sleeping time~
src.locked = 0
user << "\blue You disable the locking modules."
update_icon()
return
if(istype(O, /obj/item/weapon))
var/obj/item/weapon/W = O
if(src.smashed)
return
else
playsound(user, 'Glasshit.ogg', 100, 1) //We don't want this playing every time
if(W.force < 15)
user << "\blue The cabinet's protective glass glances off the hit."
else
src.hitstaken++
if(src.hitstaken == 4)
playsound(user, 'Glassbr3.ogg', 100, 1) //Break cabinet, receive goodies. Cabinet's fucked for life after that.
src.smashed = 1
src.locked = 0
src.localopened = 1
update_icon()
return
if (istype(O, /obj/item/weapon/fireaxe) && src.localopened)
if(!FIREAXE)
if(O.wielded)
user << "\red Unwield the axe first."
return
FIREAXE = O
user.drop_item(O)
src.contents += O
user << "\blue You place the fire axe back in the [src.name]."
update_icon()
else
if(src.smashed)
return
else
localopened = !localopened
if(localopened)
icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
else
icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
else
if(src.smashed)
return
if(istype(O, /obj/item/device/multitool))
if(localopened)
localopened = 0
icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
return
else
user << "\red Resetting circuitry..."
sleep(50)
src.locked = 1
user << "\blue You re-enable the locking modules."
playsound(user, 'lockenable.wav', 50, 1)
return
else
localopened = !localopened
if(localopened)
icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
else
icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
attack_hand(mob/user as mob)
var/hasaxe = 0
if(FIREAXE)
hasaxe = 1
if(src.locked)
user <<"\red The cabinet won't budge!"
return
if(localopened)
if(FIREAXE)
user.put_in_hand(FIREAXE)
FIREAXE = null
user << "\blue You take the fire axe from the [name]."
src.add_fingerprint(user)
update_icon()
else
if(src.smashed)
return
else
localopened = !localopened
if(localopened)
src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
else
src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
else
localopened = !localopened //I'm pretty sure we don't need an if(src.smashed) in here. In case I'm wrong and it fucks up teh cabinet, **MARKER**. -Agouri
if(localopened)
src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
else
src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
verb/toggle_openness() //nice name, huh? HUH?! -Erro //YEAH -Agouri
set name = "Open/Close"
set category = "Object"
if (isrobot(usr) || src.locked || src.smashed)
if(src.locked)
usr << "\red The cabinet won't budge!"
else if(src.smashed)
usr << "\blue The protective glass is broken!"
return
localopened = !localopened
update_icon()
verb/remove_fire_axe()
set name = "Remove Fire Axe"
set category = "Object"
if (isrobot(usr))
return
if (localopened)
if(FIREAXE)
usr.put_in_hand(FIREAXE)
FIREAXE = null
usr << "\blue You take the Fire axe from the [name]."
else
usr << "\blue The [src.name] is empty."
else
usr << "\blue The [src.name] is closed."
update_icon()
attack_paw(mob/user as mob)
attack_hand(user)
return
attack_ai(mob/user as mob)
if(src.smashed)
user << "\red The security of the cabinet is compromised."
return
else
locked = !locked
if(locked)
user << "\red Cabinet locked."
else
user << "\blue Cabinet unlocked."
return
update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers
var/hasaxe = 0
if(FIREAXE)
hasaxe = 1
icon_state = text("fireaxe[][][][]",hasaxe,src.localopened,src.hitstaken,src.smashed)
open()
return
close()
return
/obj/closet/toolcloset
desc = "A bulky (yet mobile) closet. Contains tools."
name = "Tool Closet"
icon_state = "toolcloset"
icon_closed = "toolcloset"
icon_opened = "toolclosetopen"
/obj/closet/jcloset
desc = "A bulky (yet mobile) closet. Comes with janitor's clothes and biohazard gear."
name = "Custodial Closet"
@@ -112,8 +321,97 @@
// Inserting the gimmick clothing stuff here for generic items, IE Tacticool stuff
/obj/closet/extinguisher
name = "Extinguisher closet"
var/obj/item/weapon/extinguisher/EXTINGUISHER = new/obj/item/weapon/extinguisher
icon_state = "extinguisher10"
icon_opened = "extinguisher11"
icon_closed = "extinguisher10"
opened = 1
var/localopened = 1
desc = "Sure was nice of CentCom to install these everywhere."
anchored = 1
open()
return
close()
return
attackby(var/obj/item/O as obj, var/mob/user as mob)
//..() don't want it to behave like a normal closet.
if (isrobot(usr))
return
if (istype(O, /obj/item/weapon/extinguisher))
if(!EXTINGUISHER)
user.drop_item(O)
src.contents += O
EXTINGUISHER = O
user << "\blue You place the extinguisher in the [src.name]."
else
localopened = !localopened
else
localopened = !localopened
update_icon()
attack_hand(mob/user as mob)
if(localopened)
if(EXTINGUISHER)
user.put_in_hand(EXTINGUISHER)
EXTINGUISHER = null
user << "\blue You take the extinguisher from the [name]."
else
localopened = !localopened
else
localopened = !localopened
update_icon()
verb/toggle_openness() //nice name, huh? HUH?!
set name = "Open/Close"
set category = "Object"
if (isrobot(usr))
return
localopened = !localopened
update_icon()
verb/remove_extinguisher()
set name = "Remove Extinguisher"
set category = "Object"
if (isrobot(usr))
return
if (localopened)
if(EXTINGUISHER)
usr.put_in_hand(EXTINGUISHER)
EXTINGUISHER = null
usr << "\blue You take the extinguisher from the [name]."
else
usr << "\blue The [name] is empty."
else
usr << "\blue The [name] is closed."
update_icon()
attack_paw(mob/user as mob)
attack_hand(user)
return
attack_ai(mob/user as mob)
return
update_icon()
var/hasextinguisher = 0
if(EXTINGUISHER)
hasextinguisher = 1
icon_state = text("extinguisher[][]",hasextinguisher,src.localopened)
/obj/closet/gimmick
desc = "Administrative Supply Closet"
name = "Administrative Supply Closet"
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
@@ -121,14 +419,14 @@
anchored = 0
/obj/closet/gimmick/russian
desc = "Russian Surplus"
name = "Russian Surplus"
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
desc = "Russian Surplus Closet"
/obj/closet/gimmick/tacticool
desc = "Tacticool Gear"
name = "Tacticool Gear"
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
@@ -141,7 +439,7 @@
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
desc = "Thunderdome closet."
name = "Thunderdome closet."
anchored = 1
/obj/closet/thunderdome/tdred
@@ -149,14 +447,14 @@
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
desc = "Thunderdome closet."
name = "Thunderdome closet."
/obj/closet/thunderdome/tdgreen
desc = "Everything you need!"
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
desc = "Thunderdome closet."
name = "Thunderdome closet."
/obj/closet/malf/suits
desc = "Gear preparations closet."
+15
View File
@@ -2,6 +2,12 @@
name = "weapon"
icon = 'weapons.dmi'
/obj/item/weapon/offhand
name = "Offhand"
var/linked_weapon_name = ""
w_class = 5.0
icon_state = "offhand"
/obj/item/weapon/shield
name = "shield"
@@ -490,6 +496,15 @@
icon = 'items.dmi'
icon_state = "red_crowbar"
/obj/item/weapon/fireaxe // DEM AXES MAN, marker -Agouri
icon_state = "fireaxe0"
name = "Fire axe"
desc = "Truly, the tool of a madman. Who would possibly think to fight fire with an axe?"
force = 5
w_class = 4.0
twohanded = 1
/obj/item/weapon/disk
name = "disk"
icon = 'items.dmi'