RCD fixes for borgs.

This commit is contained in:
PJB3005
2015-08-16 14:11:28 +02:00
committed by Ren
parent 83598d6e50
commit c220854ed5
2 changed files with 13 additions and 11 deletions

View File

@@ -134,7 +134,7 @@
if(selected.flags & RCD_GET_TURF) //Get the turf because RCD_GET_TURF is on. if(selected.flags & RCD_GET_TURF) //Get the turf because RCD_GET_TURF is on.
A = get_turf(A) A = get_turf(A)
if(selected.flags ^ RCD_SELF_SANE && get_energy() < selected.energy_cost) //Handle energy amounts, but only if not SELF_SANE. if(selected.flags ^ RCD_SELF_SANE && get_energy(user) < selected.energy_cost) //Handle energy amounts, but only if not SELF_SANE.
return 1 return 1
busy = 1 //Busy to prevent switching schematic while it's in use. busy = 1 //Busy to prevent switching schematic while it's in use.
@@ -156,7 +156,7 @@
if(sparky) if(sparky)
spark_system.start() spark_system.start()
/obj/item/device/rcd/proc/get_energy() /obj/item/device/rcd/proc/get_energy(var/mob/user)
return INFINITY return INFINITY
/obj/item/device/rcd/proc/use_energy(var/amount, var/mob/user) /obj/item/device/rcd/proc/use_energy(var/amount, var/mob/user)
@@ -182,7 +182,7 @@
R.cell.use(amount * cell_power_per_energy) R.cell.use(amount * cell_power_per_energy)
/obj/item/device/rcd/borg/get_energy(var/amount, var/mob/user) /obj/item/device/rcd/borg/get_energy(var/mob/user)
if(!isrobot(user)) if(!isrobot(user))
return 0 return 0
@@ -191,7 +191,7 @@
if(!R.cell) if(!R.cell)
return return
return R.cell.charge * cell_power_per_energy return R.cell.charge / cell_power_per_energy
//Matter based RCDs. //Matter based RCDs.
/obj/item/device/rcd/matter /obj/item/device/rcd/matter
@@ -227,5 +227,5 @@
matter -= amount matter -= amount
user << "<span class='notice'>\the [src] currently holds [matter]/[max_matter] matter-units." user << "<span class='notice'>\the [src] currently holds [matter]/[max_matter] matter-units."
/obj/item/device/rcd/matter/get_energy() /obj/item/device/rcd/matter/get_energy(var/mob/user)
return matter return matter

View File

@@ -12,10 +12,10 @@
return "it cannot deconstruct reinforced walls!" return "it cannot deconstruct reinforced walls!"
user << "Deconstructing \the [T]..." user << "Deconstructing \the [T]..."
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) playsound(get_turf(master), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, T, 40)) if(do_after(user, T, 40))
if(master.get_energy() < energy_cost) if(master.get_energy(user) < energy_cost)
return 1 return 1
playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1) playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1)
@@ -26,7 +26,7 @@
var/turf/simulated/floor/T = A var/turf/simulated/floor/T = A
user << "Deconstructing \the [T]..." user << "Deconstructing \the [T]..."
if(do_after(user, T, 50)) if(do_after(user, T, 50))
if(master.get_energy() < energy_cost) if(master.get_energy(user) < energy_cost)
return 1 return 1
playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1) playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1)
@@ -37,7 +37,7 @@
var/obj/machinery/door/airlock/D = A var/obj/machinery/door/airlock/D = A
user << "Deconstructing \the [D]..." user << "Deconstructing \the [D]..."
if(do_after(user, D, 50)) if(do_after(user, D, 50))
if(master.get_energy() < energy_cost) if(master.get_energy(user) < energy_cost)
return 1 return 1
playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1) playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1)
@@ -51,6 +51,8 @@
category = "Construction" category = "Construction"
energy_cost = 1 energy_cost = 1
flags = RCD_GET_TURF
/datum/rcd_schematic/con_floors/attack(var/atom/A, var/mob/user) /datum/rcd_schematic/con_floors/attack(var/atom/A, var/mob/user)
if(!(istype(A, /turf/space) && !istype(A, /turf/space/transit))) if(!(istype(A, /turf/space) && !istype(A, /turf/space/transit)))
return "it can only create floors on space!" return "it can only create floors on space!"
@@ -75,7 +77,7 @@
user << "Building wall" user << "Building wall"
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, A, 20)) if(do_after(user, A, 20))
if(master.get_energy() < energy_cost) if(master.get_energy(user) < energy_cost)
return 1 return 1
playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1) playsound(get_turf(master), 'sound/items/Deconstruct.ogg', 50, 1)
@@ -251,7 +253,7 @@
if(!do_after(user, A, 50)) if(!do_after(user, A, 50))
return 1 return 1
if(master.get_energy() < energy_cost) if(master.get_energy(user) < energy_cost)
return 1 return 1
if(locate(/obj/machinery/door/airlock) in A) if(locate(/obj/machinery/door/airlock) in A)