From 5b92bdd66dcfe888b763b6eb63a4762bf9e2027f Mon Sep 17 00:00:00 2001 From: datlo Date: Sun, 30 Dec 2018 16:54:16 +0000 Subject: [PATCH] Add staff of slipping (placeholder sprites) --- code/game/gamemodes/wizard/spellbook.dm | 7 ++++ .../modules/projectiles/ammunition/special.dm | 6 ++-- code/modules/projectiles/guns/magic/staff.dm | 19 +++++++---- .../modules/projectiles/projectile/bullets.dm | 17 ---------- code/modules/projectiles/projectile/magic.dm | 30 ++++++++++++++++++ icons/obj/guns/magic.dmi | Bin 11629 -> 11630 bytes 6 files changed, 52 insertions(+), 27 deletions(-) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 0cc5fcf0ca5..ce10eb23b20 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -290,6 +290,13 @@ item_path = /obj/item/gun/magic/staff/chaos log_name = "SC" +/datum/spellbook_entry/item/staffslipping + name = "Staff of Slipping" + desc = "A staff that shoots magical bananas. These bananas will either slip or stun the target when hit. Surprisingly reliable!" + item_path = /obj/item/gun/magic/staff/slipping + log_name = "SL" + cost = 1 + /datum/spellbook_entry/item/staffdoor name = "Staff of Door Creation" desc = "A particular staff that can mold solid metal into ornate wooden doors. Useful for getting around in the absence of other transportation. Does not work on glass." diff --git a/code/modules/projectiles/ammunition/special.dm b/code/modules/projectiles/ammunition/special.dm index 1af728100f8..21a1ae76356 100644 --- a/code/modules/projectiles/ammunition/special.dm +++ b/code/modules/projectiles/ammunition/special.dm @@ -30,13 +30,13 @@ /obj/item/ammo_casing/magic/spellblade projectile_type = /obj/item/projectile/magic/spellblade +/obj/item/ammo_casing/magic/slipping + projectile_type = /obj/item/projectile/magic/slipping + /obj/item/ammo_casing/magic/chaos/newshot() projectile_type = pick(typesof(/obj/item/projectile/magic)) ..() -/obj/item/ammo_casing/magic/honk - projectile_type = /obj/item/projectile/bullet/honker - /obj/item/ammo_casing/forcebolt projectile_type = /obj/item/projectile/forcebolt diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index a8455d45fc5..87c12c72dcd 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -52,14 +52,19 @@ no_den_usage = 1 fire_sound = 'sound/magic/Staff_Door.ogg' -/obj/item/gun/magic/staff/honk +/obj/item/gun/magic/staff/slipping + name = "staff of slipping" + desc = "An artefact that spits... bananas?" + ammo_type = /obj/item/ammo_casing/magic/slipping + icon_state = "staffofslipping" //todo : maybe better sprite + item_state = "staffofdoor" //todo : staff of slipping in hand/back sprite + max_charges = 10 + recharge_rate = 2 + fire_sound = 'sound/items/bikehorn.ogg' + +/obj/item/gun/magic/staff/slipping/honkmother name = "staff of the honkmother" - desc = "Honk" - ammo_type = /obj/item/ammo_casing/magic/honk - icon_state = "honker" - item_state = "honker" - max_charges = 4 - recharge_rate = 8 + desc = "An ancient artefact, sought after by clowns everywhere." fire_sound = 'sound/items/Airhorn.ogg' /obj/item/gun/magic/staff/focus diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index c55f367d8c3..716be68ec54 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -200,23 +200,6 @@ weaken = 4 stun = 4 -/obj/item/projectile/bullet/honker - name = "banana" - damage = 0 - weaken = 5 - stun = 5 - forcedodge = 1 - nodamage = 1 - pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - hitsound = 'sound/items/bikehorn.ogg' - icon = 'icons/obj/hydroponics/harvest.dmi' - icon_state = "banana" - range = 200 - -/obj/item/projectile/bullet/honker/New() - ..() - SpinAnimation() - /obj/item/projectile/bullet/mime damage = 0 stun = 5 diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index ef6ec862290..542fb60a7b4 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -301,3 +301,33 @@ flag = "magic" dismemberment = 50 nodamage = 0 + +/obj/item/projectile/magic/slipping + name = "magical banana" + icon = 'icons/obj/hydroponics/harvest.dmi' + icon_state = "banana" + var/slip_stun = 5 + var/slip_weaken = 5 + +/obj/item/projectile/magic/slipping/New() + ..() + SpinAnimation() + +/obj/item/projectile/magic/slipping/on_hit(var/atom/target, var/blocked = 0) + if(ishuman(target)) + var/mob/living/carbon/human/H = target + H.slip(src, slip_stun, slip_weaken, 0, FALSE, TRUE) //Slips even with noslips/magboots on. NO ESCAPE! + else if(isrobot(target)) //You think you're safe, cyborg? FOOL! + var/mob/living/silicon/robot/R = target + if(!R.incapacitated()) + to_chat(target, "You get splatted by [src], HONKING your sensors!") + playsound(target.loc, 'sound/items/bikehorn.ogg', 50, 1, -3) + R.Stun(slip_stun) + else if(ismob(target)) + var/mob/M = target + if(!M.stunned) + to_chat(target, "You get splatted by [src].") + playsound(target.loc, 'sound/items/bikehorn.ogg', 50, 1, -3) + M.Weaken(slip_weaken) + M.Stun(slip_stun) + . = ..() \ No newline at end of file diff --git a/icons/obj/guns/magic.dmi b/icons/obj/guns/magic.dmi index b057d64491800ca972ab86c9f4c90fe955406ab8..00be8227d078e99c719e2cd6d36ccc827672d9f6 100644 GIT binary patch delta 342 zcmV-c0jd7&TJBnqB!548R9JLGWpiV4X>fFDZ*Bkpc$}q_!A`?442I9mQ&`*8Alj~i zOD|{>+F^SIWQf~DWO0>5oA&k`woyP#4RA}O|I2UxvNMOr)zf+l%gtKtIYcWST3FoP zsp4RDGSEU@slu@BO*&m-qQua`EGFtY>0S-_o@c7iHbiKlRDVSmXve4XcQtvtqh!TT z0$!4_zCV!HxsMwrXMLY5KRZmy1MlsguNSgVg=R-bXraa$Yph3BGbM8!t-hcmHi$cB z88+BpgUv`Lc7H8ZBxI%C*^p;ZVTBb|KP7pi16j}0W*-4&6PN6=flFlhHJy{n1}=$Z z1D}RJn;G{}VoI)9i-bw75qZmfFgiO7zu3W;BfFDZ*Bkpc$}q_!EVAZ5Jb=MS6Fb}R!u@w zF1b{oiUa&YwXN5&Meriq0`d1f01d5*vTAR(G|w|0tv%H*%h%OLFV-t{pqM-d-Rjxn zlPZqhWT#tQSE_L2JD1O!lrfWT^(1AqmhFeb(9uK{#>b>vU4N>=M%>YP{Zoy>?=X7~ zqd?&7eCUoCjP!6v*!$2)4K>sQYY4Nuk5=E%0o!wb z5*aqoKm*M{X6pYMl{t#qwm!-%DyX1>>bE8zOhg}O-0Z7BF>&oq3|uRdXSy^c2Cj{X zft%qMGsAo2BuNz;<~XW#%v*sdY-#+gi*L#tcY>6A>ihQ|&7J?{d6>01lu$wgC6q9` niRCHs-eJgZDWkRjy6jXhHw(R3uhb`d5r`0Dil||;Yyko+nk}g)