/obj/item/weapon/gun/magic/staff slot_flags = SLOT_BACK /obj/item/weapon/gun/magic/staff/change name = "staff of change" desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself" fire_sound = 'sound/magic/Staff_Change.ogg' ammo_type = /obj/item/ammo_casing/magic/change icon_state = "staffofchange" item_state = "staffofchange" /obj/item/weapon/gun/magic/staff/animate name = "staff of animation" desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines." fire_sound = 'sound/magic/Staff_animation.ogg' ammo_type = /obj/item/ammo_casing/magic/animate icon_state = "staffofanimation" item_state = "staffofanimation" /obj/item/weapon/gun/magic/staff/healing name = "staff of healing" desc = "An artefact that spits bolts of restoring magic which can remove ailments of all kinds and even raise the dead." fire_sound = 'sound/magic/Staff_Healing.ogg' ammo_type = /obj/item/ammo_casing/magic/heal icon_state = "staffofhealing" item_state = "staffofhealing" /obj/item/weapon/gun/magic/staff/healing/handle_suicide() //Stops people trying to commit suicide to heal themselves return /obj/item/weapon/gun/magic/staff/chaos name = "staff of chaos" desc = "An artefact that spits bolts of chaotic magic that can potentially do anything." fire_sound = 'sound/magic/Staff_Chaos.ogg' ammo_type = /obj/item/ammo_casing/magic/chaos icon_state = "staffofchaos" item_state = "staffofchaos" max_charges = 10 recharge_rate = 2 no_den_usage = 1 var/allowed_projectile_types = list(/obj/item/projectile/magic/change, /obj/item/projectile/magic/animate, /obj/item/projectile/magic/resurrection, /obj/item/projectile/magic/death, /obj/item/projectile/magic/teleport, /obj/item/projectile/magic/door, /obj/item/projectile/magic/aoe/fireball, /obj/item/projectile/magic/spellblade, /obj/item/projectile/magic/arcane_barrage) /obj/item/weapon/gun/magic/staff/chaos/process_fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, message = 1, params, zone_override, bonus_spread = 0) chambered.projectile_type = pick(allowed_projectile_types) . = ..(target, user, message, params, zone_override, bonus_spread) /obj/item/weapon/gun/magic/staff/door name = "staff of door creation" desc = "An artefact that spits bolts of transformative magic that can create doors in walls." fire_sound = 'sound/magic/Staff_Door.ogg' ammo_type = /obj/item/ammo_casing/magic/door icon_state = "staffofdoor" item_state = "staffofdoor" max_charges = 10 recharge_rate = 2 no_den_usage = 1 /obj/item/weapon/gun/magic/staff/honk name = "staff of the honkmother" desc = "Honk" fire_sound = 'sound/items/airhorn.ogg' ammo_type = /obj/item/ammo_casing/magic/honk icon_state = "honker" item_state = "honker" max_charges = 4 recharge_rate = 8 /obj/item/weapon/gun/magic/staff/spellblade name = "spellblade" desc = "A deadly combination of laziness and boodlust, this blade allows the user to dismember their enemies without all the hard work of actually swinging the sword." fire_sound = 'sound/magic/Fireball.ogg' ammo_type = /obj/item/ammo_casing/magic/spellblade icon_state = "spellblade" item_state = "spellblade" hitsound = 'sound/weapons/rapierhit.ogg' force = 20 armour_penetration = 75 block_chance = 50 sharpness = IS_SHARP max_charges = 4 /obj/item/weapon/gun/magic/staff/spellblade/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type) if(attack_type == PROJECTILE_ATTACK) final_block_chance = 0 return ..()