This commit is contained in:
s
2020-01-13 17:27:47 -05:00
parent 3fd5c6dbbc
commit 296608f2cc
2 changed files with 25 additions and 28 deletions
+6 -7
View File
@@ -788,20 +788,19 @@
if(.)
return
var/mob/living/carbon/human/H = user
if(istype(H))
var/datum/species/ethereal/eth_species = H.dna?.species
if(istype(eth_species) && H.a_intent == INTENT_HARM)
if(isethereal(user))
var/mob/living/carbon/human/H = user
if(H.a_intent == INTENT_HARM)
if(cell.charge <= (cell.maxcharge / 2)) // if charge is under 50% you shouldnt drain it
to_chat(H, "<span class='warning'>The APC doesn't have much power, you probably shouldn't drain any.</span>")
return
var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH)
if(stomach.crystal_charge > 95)
if(stomach.crystal_charge > 145)
to_chat(H, "<span class='warning'>Your charge is full!</span>")
return
to_chat(H, "<span class='notice'>You start channeling some power through the APC into your body.</span>")
if(do_after(user, 75, target = src))
if(cell.charge <= (cell.maxcharge / 2) || (stomach.crystal_charge > 95))
if(cell.charge <= (cell.maxcharge / 2) || (stomach.crystal_charge > 145))
return
if(istype(stomach))
to_chat(H, "<span class='notice'>You receive some charge from the APC.</span>")
@@ -810,7 +809,7 @@
else
to_chat(H, "<span class='warning'>You can't receive charge from the APC!</span>")
return
if(istype(eth_species) && H.a_intent == INTENT_GRAB)
if(H.a_intent == INTENT_GRAB)
if(cell.charge == cell.maxcharge)
to_chat(H, "<span class='warning'>The APC is full!</span>")
return
+19 -21
View File
@@ -149,28 +149,26 @@
corrupt()
/obj/item/stock_parts/cell/attack_self(mob/user)
var/mob/living/carbon/human/H = user
if(istype(H))
var/datum/species/ethereal/eth_species = H.dna?.species
if(istype(eth_species))
if(charge < 25)
to_chat(H, "<span class='warning'>The [src] doesn't have enough power!</span>")
return
var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH)
if(stomach.crystal_charge > 96)
to_chat(H, "<span class='warning'>Your charge is full!</span>")
return
to_chat(H, "<span class='notice'>You clumsily channel power through the [src] and into your body, wasting some in the process.</span>")
if(do_after(user, 5, target = src))
if((charge < 25) || (stomach.crystal_charge > 96))
return
if(istype(stomach))
to_chat(H, "<span class='notice'>You receive some charge from the [src].</span>")
stomach.adjust_charge(3)
charge -= 100 //you waste way more than you receive, so that ethereals cant just steal one cell and forget about hunger
else
to_chat(H, "<span class='warning'>You can't receive charge from the [src]!</span>")
if(isethereal(user))
var/mob/living/carbon/human/H = user
if(charge < 100)
to_chat(H, "<span class='warning'>The [src] doesn't have enough power!</span>")
return
var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH)
if(stomach.crystal_charge > 146)
to_chat(H, "<span class='warning'>Your charge is full!</span>")
return
to_chat(H, "<span class='notice'>You clumsily channel power through the [src] and into your body, wasting some in the process.</span>")
if(do_after(user, 5, target = src))
if((charge < 100) || (stomach.crystal_charge > 146))
return
if(istype(stomach))
to_chat(H, "<span class='notice'>You receive some charge from the [src].</span>")
stomach.adjust_charge(3)
charge -= 100 //you waste way more than you receive, so that ethereals cant just steal one cell and forget about hunger
else
to_chat(H, "<span class='warning'>You can't receive charge from the [src]!</span>")
return
/obj/item/stock_parts/cell/blob_act(obj/structure/blob/B)