Secure Airlock update!

4 new wires, completely randomised! (2nd bolt wire, 2 only-drop-bolts wires, and an AI alert wire that alerts an AI 20% of the time, when messed with)
Emags have a limited number of uses, between 3 and 7, and cost 5 TC
Hacktools are more useful than they were, and have a lower chance of alerting the AI
(This is unmapped ATM)
This commit is contained in:
SkyMarshal
2012-02-08 12:07:12 -07:00
parent 3e1e8f43d6
commit ffb142abae
36 changed files with 1362 additions and 978 deletions

View File

@@ -86,6 +86,11 @@ proc/move_mining_shuttle()
/obj/machinery/computer/mining_shuttle/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/card/emag))
var/obj/item/weapon/card/emag/E = W
if(E.uses)
E.uses--
else
return
src.req_access = list()
hacked = 1
usr << "You fried the consoles ID checking system. It's now available to everyone!"

View File

@@ -421,6 +421,11 @@
user << "\red Access denied."
else if(istype(W, /obj/item/weapon/card/emag)) // trying to unlock with an emag card
var/obj/item/weapon/card/emag/E = W
if(E.uses)
E.uses--
else
return
if(!opened)//Cover is closed
if(locked)
if(prob(90))

View File

@@ -300,6 +300,12 @@
else
user << "\red Access denied."
else if (istype(W, /obj/item/weapon/card/emag) && !(emagged || malfhack)) // trying to unlock with an emag card
if(istype(W, /obj/item/weapon/card/emag))
var/obj/item/weapon/card/emag/E = W
if(E.uses)
E.uses--
else
return
if(opened)
user << "You must close the cover to swipe an ID card."
else if(wiresexposed)
@@ -859,7 +865,7 @@
else
src.malfai = usr
malfai << "Hack complete. The APC is now under your exclusive control."
updateicon()
updateicon()
else if (href_list["occupyapc"])
malfoccupy(usr)
@@ -876,21 +882,21 @@
return
if(src.z != 1)
return
src.occupant = new /mob/living/silicon/ai(src,malf.laws,null,1)
src.occupant.adjustOxyLoss(malf.getOxyLoss())
src.occupant.name = "[malf.name] APC Copy"
if(malf.parent)
src.occupant.parent = malf.parent
else
src.occupant.parent = malf
malf.mind.transfer_to(src.occupant)
if(malf.parent)
del(malf)
src.occupant.verbs += /mob/living/silicon/ai/proc/corereturn
src.occupant.cancel_camera()

View File

@@ -81,6 +81,11 @@
O.loc = src
user << "\blue You add the plasma tank to the generator."
else if (istype(O, /obj/item/weapon/card/emag))
var/obj/item/weapon/card/emag/E = O
if(E.uses)
E.uses--
else
return
emagged = 1
emp_act(1)
else if(!active)

View File

@@ -196,6 +196,11 @@ display round(lastgen) and plasmatank amount
del(O)
user << "\blue You add a coin to the generator."
else if (istype(O, /obj/item/weapon/card/emag))
var/obj/item/weapon/card/emag/E = O
if(E.uses)
E.uses--
else
return
emagged = 1
emp_act(1)
else if(!active)

View File

@@ -176,6 +176,11 @@ won't update every console in existence) but it's more of a hassle to do. Also,
D.loc = src
user << "\blue You add the disk to the machine!"
else if(istype(D, /obj/item/weapon/card/emag) && !emagged)
var/obj/item/weapon/card/emag/E = D
if(E.uses)
E.uses--
else
return
playsound(src.loc, 'sparks4.ogg', 75, 1)
emagged = 1
user << "\blue You you disable the security protocols"

View File

@@ -326,6 +326,11 @@
A.anchored = 1
del(src)
else if(istype(D, /obj/item/weapon/card/emag) && !emagged)
var/obj/item/weapon/card/emag/E = D
if(E.uses)
E.uses--
else
return
playsound(src.loc, 'sparks4.ogg', 75, 1)
emagged = 1
user << "\blue You you disable the security protocols"