Merge pull request #4974 from Zuhayr/dev

More more drone fixes.
This commit is contained in:
Ccomp5950
2014-05-12 20:26:05 -05:00
2 changed files with 35 additions and 16 deletions

View File

@@ -105,6 +105,19 @@
src << "\red Your binary communications component isn't functional."
return
robot_talk(trim(copytext(message,3)))
else
var/list/listeners = hearers(5,src)
listeners |= src
for(var/mob/living/silicon/robot/drone/D in listeners)
if(D.client) D << "<b>[src]</b> transmits, \"[message]\""
for (var/mob/M in player_list)
if (istype(M, /mob/new_player))
continue
else if(M.stat == 2 && M.client.prefs.toggles & CHAT_GHOSTEARS)
if(M.client) M << "<b>[src]</b> transmits, \"[message]\""
//Sick of trying to get this to display properly without redefining it.
/mob/living/silicon/robot/drone/show_system_integrity()
@@ -212,6 +225,8 @@
/mob/living/silicon/robot/drone/handle_regular_status_updates()
if(health <= -35 && src.stat != 2)
timeofdeath = world.time
death() //Possibly redundant, having trouble making death() cooperate.
gib()
return
..()
@@ -257,7 +272,7 @@
/mob/living/silicon/robot/drone/proc/request_player()
for(var/mob/dead/observer/O in player_list)
if(jobban_isbanned(O, "Maintenance Drone"))
if(jobban_isbanned(O, "Cyborg"))
continue
if(O.client)
if(O.client.prefs.be_special & BE_PAI)

View File

@@ -270,7 +270,17 @@
/obj/item/weapon/robot_module/drone
name = "drone module"
var/list/stacktypes = list(
/obj/item/stack/sheet/wood/cyborg = 1,
/obj/item/stack/sheet/mineral/plastic/cyborg = 1,
/obj/item/stack/sheet/rglass/cyborg = 5,
/obj/item/stack/tile/wood = 5,
/obj/item/stack/rods = 15,
/obj/item/stack/tile/plasteel = 15,
/obj/item/stack/sheet/metal/cyborg = 20,
/obj/item/stack/sheet/glass/cyborg = 20,
/obj/item/weapon/cable_coil = 30
)
New()
//TODO: Replace with shittier flashlight and work out why we can't remove the flash. ~Z
@@ -289,17 +299,6 @@
src.emag = new /obj/item/weapon/card/emag(src)
src.emag.name = "Cryptographic Sequencer"
var/list/stacktypes = list(
/obj/item/stack/rods = 10,
/obj/item/stack/tile/plasteel = 10,
/obj/item/stack/sheet/metal/cyborg = 10,
/obj/item/stack/sheet/wood/cyborg = 1,
/obj/item/weapon/cable_coil = 30,
/obj/item/stack/sheet/glass/cyborg = 10,
/obj/item/stack/sheet/mineral/plastic/cyborg = 1
)
for(var/T in stacktypes)
var/obj/item/stack/sheet/W = new T(src)
W.amount = stacktypes[T]
@@ -316,7 +315,9 @@
/obj/item/weapon/cable_coil,
/obj/item/stack/sheet/glass/cyborg,
/obj/item/stack/rods,
/obj/item/stack/tile/plasteel
/obj/item/stack/sheet/rglass/cyborg,
/obj/item/stack/tile/plasteel,
/obj/item/stack/tile/wood
)
for(var/T in stacks)
@@ -327,9 +328,12 @@
src.modules -= null
S = new T(src)
src.modules += S
S.amount = 0
S.amount = 1
var/max = 15
if(stacktypes[T])
max = stacktypes[T]
if(S && S.amount < 15)
if(S && S.amount < max)
S.amount++
var/obj/item/device/lightreplacer/LR = locate() in src.modules