Datumizes microbatteries (#26900)

* Datumize microbattery

* comments + feedback when you're revivable

* More comment

* more datumization

* Explaining myself

* Being able to charge while not having a microbattery

* Better comment

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: BiancaWilkson <42818125+BiancaWilkson@users.noreply.github.com>

* Changes proc name to be more accurate

---------

Signed-off-by: BiancaWilkson <42818125+BiancaWilkson@users.noreply.github.com>
Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
This commit is contained in:
BiancaWilkson
2024-10-18 23:30:04 +00:00
committed by GitHub
co-authored by 1080pCat
parent 20dfb3af69
commit 074da2b796
12 changed files with 31 additions and 16 deletions
@@ -6,7 +6,7 @@
dead_icon = null
status = ORGAN_ROBOT
origin_tech = "materials=4;biotech=7;abductor=3"
organ_datums = list(/datum/organ/heart/always_beating) // alien glands are immune to stopping
organ_datums = list(/datum/organ/heart/always_beating, /datum/organ/battery) // alien glands are immune to stopping, and provide power to IPCs
tough = TRUE //not easily broken by combat damage
var/cooldown_low = 300
@@ -212,7 +212,7 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "demon_heart"
origin_tech = "combat=5;biotech=7"
organ_datums = list(/datum/organ/heart/always_beating)
organ_datums = list(/datum/organ/heart/always_beating, /datum/organ/battery)
/obj/item/organ/internal/heart/demon/update_icon_state()
return //always beating visually
+2 -2
View File
@@ -147,7 +147,7 @@
R.cell.charge = min(R.cell.charge + recharge_speed, R.cell.maxcharge)
else if(ishuman(occupant))
var/mob/living/carbon/human/H = occupant
if(H.get_int_organ(/obj/item/organ/internal/cell))
if(ismachineperson(H))
if(H.nutrition < NUTRITION_LEVEL_FULL - 1)
H.set_nutrition(min(H.nutrition + recharge_speed_nutrition, NUTRITION_LEVEL_FULL - 1))
if(repairs)
@@ -206,7 +206,7 @@
if(occupant)
to_chat(H, "<span class='warning'>The cell is already occupied!</span>")
return
if(ismodcontrol(H.back) || H.get_int_organ(/obj/item/organ/internal/cell))
if(ismodcontrol(H.back) || ismachineperson(H))
can_accept_user = TRUE
if(!can_accept_user)