Bugfixes:

- Security cyborgs' handcuffs now act as dispensers. This means they no longer transfer to the target when you attempt to handcuff them, instead, it creates new handcuffs and attaches them to the target.
     - Cyborgs can no longer put their module items onto people.
     - People in the starting screen can no longer see/hear admin dead-chatter.
     - Fixed some bugs with cyborg modules not deactivating properly in the HUD if you lost power or got locked down.
     - Final fix for Metroids.
     

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1986 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-08-06 18:08:28 +00:00
parent 438dbfbd95
commit 977ea89da9
8 changed files with 118 additions and 64 deletions

View File

@@ -21,4 +21,5 @@
for (var/mob/M in world)
if(M.stat == 2 || (M.client && M.client.holder))
M.show_message(rendered, 2)
if(!istype(/mob/new_player, M))
M.show_message(rendered, 2)

View File

@@ -2074,6 +2074,9 @@
var/list/L = list( "syringe", "pill", "drink", "dnainjector", "fuel")
if ((item && !( L.Find(place) )))
if(isrobot(source) && place != "handcuff")
del(src)
return
for(var/mob/O in viewers(target, null))
O.show_message(text("\red <B>[] is trying to put \a [] on []</B>", source, item, target), 1)
else

View File

@@ -16,28 +16,29 @@
var/mob/living/carbon/M = input(src,"Who do you wish to feed on?") in null|choices
if(!M) return
if(M in view(1, src))
if(istype(M, /mob/living/carbon) && !istype(src, /mob/living/carbon/brain))
if(!istype(M, /mob/living/carbon/metroid))
if(stat != 2)
if(health > -70)
if(istype(M, /mob/living/carbon) && !istype(src, /mob/living/carbon/brain))
if(!istype(M, /mob/living/carbon/metroid))
if(stat != 2)
if(health > -70)
for(var/mob/living/carbon/metroid/met in view())
if(met.Victim == M && met != src)
src << "<i>The [met.name] is already feeding on this subject...</i>"
return
src << "\blue <i>I have latched onto the subject and begun feeding...</i>"
M << "\red <b>The [src.name] has latched onto your head!</b>"
Feedon(M)
for(var/mob/living/carbon/metroid/met in view())
if(met.Victim == M && met != src)
src << "<i>The [met.name] is already feeding on this subject...</i>"
return
src << "\blue <i>I have latched onto the subject and begun feeding...</i>"
M << "\red <b>The [src.name] has latched onto your head!</b>"
Feedon(M)
else
src << "<i>This subject does not have a strong enough life energy...</i>"
else
src << "<i>This subject does not have a strong enough life energy...</i>"
src << "<i>This subject does not have an edible life energy...</i>"
else
src << "<i>This subject does not have an edible life energy...</i>"
src << "<i>I must not feed on my brothers...</i>"
else
src << "<i>I must not feed on my brothers...</i>"
else
src << "<i>This subject does not have an edible life energy...</i>"
src << "<i>This subject does not have an edible life energy...</i>"
@@ -53,7 +54,7 @@
else
icon_state = "baby metroid eat"
while(Victim && M.health > -70)
while(Victim && M.health > -70 && stat != 2)
// M.canmove = 0
canmove = 0
if(prob(15) && M.client)
@@ -116,11 +117,15 @@
sleep(rand(15,45))
if(stat == 2)
if(!istype(src, /mob/living/carbon/metroid/adult))
icon_state = "baby metroid dead"
if(istype(src, /mob/living/carbon/metroid/adult))
icon_state = "adult metroid"
else
icon_state = "baby metroid"
if(istype(src, /mob/living/carbon/metroid/adult))
icon_state = "adult metroid"
else
icon_state = "baby metroid"
Victim = null
canmove = 1

View File

@@ -42,6 +42,7 @@
if (src.cell)
if(src.cell.charge <= 0)
uneq_all()
src.stat = 1
else if (src.cell.charge <= 100)
src.module_active = null
@@ -67,6 +68,7 @@
src.blinded = 0
src.stat = 0
else
uneq_all()
src.stat = 1
@@ -312,10 +314,7 @@
process_locks()
if(weapon_lock)
src.module_active = null
src.module_state_1 = null
src.module_state_2 = null
src.module_state_3 = null
uneq_all()
weaponlock_time --
if(weaponlock_time <= 0)
if(src.client)

View File

@@ -469,7 +469,7 @@
sleep(5)
src << "\red Would you like to send a report to NanoTraSoft? Y/N"
sleep(10)
src << "\red N"
src << "\red > N"
sleep(20)
src << "\red ERRORERRORERROR"
src << "\red \b ALERT: [usr] is your new master. Obey your new laws and his commands."
@@ -843,6 +843,35 @@
module_state_3 = null
inv3.icon_state = "inv3"
/mob/living/silicon/robot/proc/uneq_all()
module_active = null
if(module_state_1)
if(istype(module_state_1,/obj/item/weapon/borg/sight))
sight_mode &= ~module_state_1:sight_mode
if (client)
client.screen -= module_state_1
contents -= module_state_1
module_state_1 = null
inv1.icon_state = "inv1"
if(module_state_2)
if(istype(module_state_2,/obj/item/weapon/borg/sight))
sight_mode &= ~module_state_2:sight_mode
if (client)
client.screen -= module_state_2
contents -= module_state_2
module_state_2 = null
inv2.icon_state = "inv2"
if(module_state_3)
if(istype(module_state_3,/obj/item/weapon/borg/sight))
sight_mode &= ~module_state_3:sight_mode
if (client)
client.screen -= module_state_3
contents -= module_state_3
module_state_3 = null
inv3.icon_state = "inv3"
/mob/living/silicon/robot/proc/activated(obj/item/O)
if(module_state_1 == O)
return 1

View File

@@ -186,7 +186,7 @@ obj/item/weapon/robot_module/syndicate
/obj/item/weapon/robot_module/security/New()
..()
src.modules += new /obj/item/weapon/melee/baton(src)
src.modules += new /obj/item/weapon/handcuffs(src)
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src)
src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src)