mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
RCD fixes for borgs.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user