Files
Aurora.3/code/modules/spells/hand/hand.dm
Alberyk ed6dbee896 Bay wizard port/rework (#1635)
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
2017-02-07 18:45:42 +02:00

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