mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-25 09:31:13 +00:00
Ports the newest bay wizard version, with some additions and changes. General changes: -ported the newest bay wizard -wizards can select some school of magic, which also changes their spell selection as whole. -added several new spells, like raise dead, contracts that bind the person with the wizard, and more. -added wands, limited sources of certain types of effects/spell, also with their own bad effects for non wizards -changed the wizard checks to a faction check instead of a mind check -fixed wizards without certain slots due to race being fucked over due to it -added new artifacts -balanced some spells like the emp -added a lot of new sounds to spell, mostly from tg -remove horse mask from spell selection, also, you can melt the mask with acid now -wizard's spell are now displayed at round end like traitors and what they did buy -also fixes vaurca, and vox, antags spawning without a mask by default
34 lines
963 B
Plaintext
34 lines
963 B
Plaintext
/spell/hand
|
|
var/min_range = 0
|
|
var/list/compatible_targets = list()
|
|
var/casts = 1
|
|
var/spell_delay = 5
|
|
var/move_delay
|
|
var/click_delay
|
|
var/hand_state = "magic"
|
|
|
|
/spell/hand/choose_targets(mob/user = usr)
|
|
return list(user)
|
|
|
|
/spell/hand/cast(list/targets, mob/user)
|
|
for(var/mob/M in targets)
|
|
if(M.get_active_hand())
|
|
user << "<span class='warning'>You need an empty hand to cast this spell.</span>"
|
|
return
|
|
var/obj/item/magic_hand/H = new(src)
|
|
if(!M.put_in_active_hand(H))
|
|
qdel(H)
|
|
return
|
|
user << "You ready the [name] spell ([casts]/[casts] charges)."
|
|
|
|
/spell/hand/proc/valid_target(var/atom/a,var/mob/user) //we use seperate procs for our target checking for the hand spells.
|
|
var/distance = get_dist(a,user)
|
|
if((min_range && distance < min_range) || (range && distance > range))
|
|
return 0
|
|
if(!is_type_in_list(a,compatible_targets))
|
|
return 0
|
|
return 1
|
|
|
|
/spell/hand/proc/cast_hand(var/atom/a,var/mob/user) //same for casting.
|
|
return 1
|