mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-09 22:25:46 +01:00
eee8878024
* datumized spells * finished * last changes * conflict * Update code/datums/spells/alien_spells/transfer_plasma.dm * conflicts * shitty runtime fix until i get to this tomorrow * Update code/datums/spell.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spell_handler/alien_spell_handler.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/alien_spells/regurgitate.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/alien_spells/regurgitate.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/bloodcrawl.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/bloodcrawl.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/modules/awaymissions/mission_code/ruins/wizardcrash.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/modules/research/xenobiology/xenobiology.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/modules/mob/living/carbon/superheroes.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/conjure.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/ethereal_jaunt.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/emplosion.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/turf_teleport.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/wizard_spells.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/wizard_spells.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/dna/mutations/mutation_powers.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/wizard_spells.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/datums/spells/wizard_spells.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/dna/mutations/mutation_powers.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/gamemodes/miniantags/revenant/revenant_abilities.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * guess who just rework the entire malf ai actionsf ai * gc better --------- Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
/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, "<span class='noticealien'>You have transfered 50 plasma to [target].</span>")
|
|
to_chat(target, "<span class='noticealien'>[user] has transfered 50 plasma to you!</span>")
|
|
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, "<span class='noticealien'>You have syphoned [plasma_syphoned] plasma from [target].</span>")
|
|
to_chat(target, "<span class='noticealien'>[user] has syphoned [plasma_syphoned] from you!</span>")
|
|
return TRUE
|