mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Merge pull request #1061 from FalseIncarnate/wizard
Brooms, Stick-horses, and Flying Wizards!
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
if("JoinLate")
|
||||
latejoin += loc
|
||||
del(src)
|
||||
|
||||
|
||||
if("JoinLateGateway")
|
||||
latejoin_gateway += loc
|
||||
del(src)
|
||||
@@ -47,7 +47,7 @@
|
||||
if("JoinLateCryo")
|
||||
latejoin_cryo += loc
|
||||
del(src)
|
||||
|
||||
|
||||
if("JoinLateCyborg")
|
||||
latejoin_cyborg += loc
|
||||
del(src)
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
if("carpspawn")
|
||||
carplist += loc
|
||||
|
||||
|
||||
if("voxstart")
|
||||
raider_spawn += loc
|
||||
|
||||
@@ -252,13 +252,13 @@
|
||||
/obj/effect/landmark/costume/cutewitch/New()
|
||||
new /obj/item/clothing/under/sundress(src.loc)
|
||||
new /obj/item/clothing/head/witchwig(src.loc)
|
||||
new /obj/item/weapon/staff/broom(src.loc)
|
||||
new /obj/item/weapon/twohanded/staff/broom(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/effect/landmark/costume/fakewizard/New()
|
||||
new /obj/item/clothing/suit/wizrobe/fake(src.loc)
|
||||
new /obj/item/clothing/head/wizard/fake(src.loc)
|
||||
new /obj/item/weapon/staff/(src.loc)
|
||||
new /obj/item/weapon/twohanded/staff/(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/effect/landmark/costume/sexyclown/New()
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
return
|
||||
if(istype(M, /mob/living/carbon/human) && M:species.bodyflags & FEET_NOSLIP)
|
||||
return
|
||||
if(M.flying)
|
||||
return
|
||||
|
||||
M.stop_pulling()
|
||||
M << "\blue You slipped on the [name]!"
|
||||
@@ -42,6 +44,8 @@
|
||||
var/mob/M = AM
|
||||
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP) || M.buckled)
|
||||
return
|
||||
if(M.flying)
|
||||
return
|
||||
|
||||
M.stop_pulling()
|
||||
M << "\blue You slipped on the [name]!"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/staff
|
||||
/obj/item/weapon/twohanded/staff
|
||||
name = "wizards staff"
|
||||
desc = "Apparently a staff used by the wizard."
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
@@ -11,13 +11,60 @@
|
||||
flags = NOSHIELD
|
||||
attack_verb = list("bludgeoned", "whacked", "disciplined")
|
||||
|
||||
/obj/item/weapon/staff/broom
|
||||
/obj/item/weapon/twohanded/staff/broom
|
||||
name = "broom"
|
||||
desc = "Used for sweeping, and flying into the night while cackling. Black cat not included."
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "broom"
|
||||
item_state = "broom0"
|
||||
icon_override = 'icons/mob/in-hand/staff.dmi'
|
||||
|
||||
/obj/item/weapon/staff/stick
|
||||
/obj/item/weapon/twohanded/staff/broom/attack_self(mob/user as mob)
|
||||
..()
|
||||
item_state = "broom[wielded ? 1 : 0]"
|
||||
force = wielded ? 5 : 3
|
||||
attack_verb = wielded ? list("rammed into", "charged at") : list("bludgeoned", "whacked", "cleaned")
|
||||
if(user)
|
||||
user.update_inv_l_hand()
|
||||
user.update_inv_r_hand()
|
||||
if(user.mind in ticker.mode.wizards)
|
||||
user.flying = wielded ? 1 : 0
|
||||
if(wielded)
|
||||
user << "<span class='notice'>You hold \the [src] between your legs.</span>"
|
||||
user.say("QUID 'ITCH")
|
||||
animate(user, pixel_y = pixel_y + 10 , time = 10, loop = 1, easing = SINE_EASING)
|
||||
else
|
||||
animate(user, pixel_y = pixel_y + 10 , time = 1, loop = 1)
|
||||
animate(user, pixel_y = pixel_y, time = 10, loop = 1, easing = SINE_EASING)
|
||||
animate(user)
|
||||
if(user.lying)//aka. if they have just been stunned
|
||||
user.pixel_y -= 6
|
||||
else
|
||||
if(wielded)
|
||||
user << "<span class='notice'>You hold \the [src] between your legs.</span>"
|
||||
|
||||
/obj/item/weapon/twohanded/staff/broom/attackby(var/obj/O, mob/user)
|
||||
if(istype(O, /obj/item/clothing/mask/horsehead))
|
||||
new/obj/item/weapon/twohanded/staff/broom/horsebroom(get_turf(src))
|
||||
user.unEquip(O)
|
||||
qdel(O)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/twohanded/staff/broom/horsebroom
|
||||
name = "broomstick horse"
|
||||
desc = "Saddle up!"
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "horsebroom"
|
||||
item_state = "horsebroom0"
|
||||
icon_override = 'icons/mob/in-hand/staff.dmi'
|
||||
|
||||
/obj/item/weapon/twohanded/staff/broom/horsebroom/attack_self(mob/user as mob)
|
||||
..()
|
||||
item_state = "horsebroom[wielded ? 1 : 0]"
|
||||
|
||||
/obj/item/weapon/twohanded/staff/stick
|
||||
name = "stick"
|
||||
desc = "A great tool to drag someone else's drinks across the bar."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
|
||||
@@ -334,6 +334,10 @@
|
||||
if(air_group || (height==0)) return 1
|
||||
if(istype(mover,/obj/item/projectile))
|
||||
return (check_cover(mover,target))
|
||||
if(ismob(mover))
|
||||
var/mob/M = mover
|
||||
if(M.flying)
|
||||
return 1
|
||||
if(istype(mover) && mover.checkpass(PASSTABLE))
|
||||
return 1
|
||||
if(locate(/obj/structure/table) in get_turf(mover))
|
||||
|
||||
Reference in New Issue
Block a user