mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* ZAP! * YOU DID NOT SEE THAT * YOU DI NOT SEE THAT 2 * object orientated pr * gdi * protection * object orientated pr v2 * REEEE * blacklists * Update magicarp.dm
88 lines
3.6 KiB
Plaintext
88 lines
3.6 KiB
Plaintext
/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 ..()
|