/datum/spell/alien_spell/transfer_plasma name = "Transfer Plasma" desc = "Transfers 50 plasma to a nearby alien" action_icon_state = "alien_transfer" plasma_cost = 50 /datum/spell/alien_spell/transfer_plasma/create_new_targeting() return new /datum/spell_targeting/clicked_atom /datum/spell/alien_spell/transfer_plasma/cast(list/targets, mob/living/carbon/user) var/mob/living/carbon/alien/target = targets[1] var/turf/T = user.loc if(!istype(T) || !istype(target)) revert_cast() return FALSE user.Beam(target, icon_state = "sendbeam", time = 2 SECONDS, beam_color = "#f180bd") target.add_plasma(50) to_chat(user, "You have transfered 50 plasma to [target].") to_chat(target, "[user] has transfered 50 plasma to you!") return TRUE /datum/spell/alien_spell/syphon_plasma name = "Syphon plasma" desc = "Syphons 150 plasma from a nearby alien." action_icon_state = "alien_transfer" plasma_cost = 0 base_cooldown = 10 SECONDS /datum/spell/alien_spell/syphon_plasma/create_new_targeting() return new /datum/spell_targeting/clicked_atom /datum/spell/alien_spell/syphon_plasma/cast(list/targets, mob/living/carbon/user) var/mob/living/carbon/alien/target = targets[1] var/turf/T = user.loc if(!istype(T) || !istype(target)) revert_cast() return FALSE user.Beam(target, icon_state = "drainbeam", time = 2 SECONDS, beam_color = "#f180bd") var/obj/item/organ/internal/alien/plasmavessel/vessel = target.get_int_organ(/obj/item/organ/internal/alien/plasmavessel) if(!vessel) return var/plasma_syphoned if(vessel.stored_plasma < 150) user.add_plasma(vessel.stored_plasma) plasma_syphoned = vessel.stored_plasma vessel.stored_plasma = 0 else user.add_plasma(150) plasma_syphoned = 50 vessel.stored_plasma = vessel.stored_plasma - 150 to_chat(user, "You have syphoned [plasma_syphoned] plasma from [target].") to_chat(target, "[user] has syphoned [plasma_syphoned] from you!") return TRUE