/obj/item/weapon/banhammer
desc = "A banhammer"
name = "banhammer"
icon = 'icons/obj/items.dmi'
icon_state = "toyhammer"
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
throwforce = 0
w_class = 2.0
throw_speed = 7
throw_range = 15
attack_verb = list("banned")
suicide_act(mob/user)
viewers(user) << "\red [user] is hitting \himself with the [src.name]! It looks like \he's trying to ban \himself from life."
return (BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS)
/obj/item/weapon/nullrod
name = "null rod"
desc = "A rod of pure obsidian, its very presence disrupts and dampens the powers of paranormal phenomenae."
icon_state = "nullrod"
item_state = "nullrod"
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
force = 15
throw_speed = 1
throw_range = 4
throwforce = 10
w_class = 2
suicide_act(mob/user)
viewers(user) << "\red [user] is impaling \himself with the [src.name]! It looks like \he's trying to commit suicide."
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/nullrod/attack(mob/M as mob, mob/living/user as mob) //Paste from old-code to decult with a null rod.
M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])")
user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])")
msg_admin_attack("[key_name_admin(user)] attacked [key_name_admin(M)] with [src.name] (INTENT: [uppertext(user.a_intent)]) (JMP)")
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
user << "\red You don't have the dexterity to do this!"
return
if ((CLUMSY in user.mutations) && prob(50))
user << "\red The rod slips out of your hand and hits your head."
user.take_organ_damage(10)
user.Paralyse(20)
return
if(M.stat !=2 && ishuman(M))
var/mob/living/K = M
if(K.mind in ticker.mode.cult)
if(K == user) //Because apparently Doomberg deconverted himself. Wtf.
return
user.visible_message("\blue [user] starts trying to captivate [K]'s attention with the [src].", "\blue You begin trying to shed light into [K]'s mind.")
K.take_overall_damage(0, 10)
if(do_after(user, 15))
K.visible_message("\red [user] waves the [src] over [K]'s head, [K]'s look captivated by it.", "\red [user] wave's the [src] over your head. You see a foreign light, asking you to follow it. Its presence burns and blinds.")
var/choice = alert(K,"Do you want to give up your goal?","Become cleansed","Resist","Give in")
switch(choice)
if("Resist")
K.visible_message("\red The gaze in [K]'s eyes remains determined.", "\blue You turn away from the light, remaining true to your dark lord. The light burns you due to rejection!")
K.say("*scream")
K.take_overall_damage(5, 15)
if("Give in")
K.visible_message("\blue [K]'s eyes become clearer, the evil gone, but not without leaving scars.")
K.take_overall_damage(15, 30) //Nur'sie ain't a kind host to turn away from. Suffer.
ticker.mode.remove_cultist(K.mind, 0)
else
user.visible_message("\red [user]'s concentration is broken!", "\red Your concentration is broken! You and your target need to stay uninterrupted for longer!")
return
else if(M.mind && M.mind.vampire)
if(!(VAMP_FULL in M.mind.vampire.powers))
user << "\red The rod burns cold in your hand, filling you with grim determination. You feel the creature's power weaken."
M << "The nullrod's power interferes with your own! They are on to you!"
M.mind.vampire.nullified = max(8, M.mind.vampire.nullified + 8)
//..() Ported from readapted vamp null code. Original seen down there. This doesn't need to be here since it's in the loops now.
else
user << "\red The rod appears to do nothing."
for(var/mob/O in viewers(M, null))
O.show_message(text("\red [] waves [] over []'s head.", user, src, M), 1)
return
/obj/item/weapon/nullrod/afterattack(atom/A, mob/user as mob)
if (istype(A, /turf/simulated/floor))
user << "\blue You hit the floor with the [src]."
call(/obj/effect/rune/proc/revealrunes)(src)
/obj/item/weapon/sord
name = "\improper SORD"
desc = "This thing is so unspeakably shitty you are having a hard time even holding it."
icon_state = "sord"
item_state = "sord"
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
force = 2
throwforce = 1
sharp = 1
edge = 1
w_class = 3
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
suicide_act(mob/user)
viewers(user) << "\red [user] is impaling \himself with the [src.name]! It looks like \he's trying to commit suicide."
return(BRUTELOSS)
/obj/item/weapon/sord/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
return ..()
/obj/item/weapon/claymore
name = "claymore"
desc = "What are you standing around staring at this for? Get to killing!"
icon_state = "claymore"
item_state = "claymore"
flags = FPRINT | TABLEPASS | CONDUCT
slot_flags = SLOT_BELT
force = 40
throwforce = 10
sharp = 1
edge = 1
w_class = 4
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
IsShield()
return 1
suicide_act(mob/user)
viewers(user) << "\red [user] is falling on the [src.name]! It looks like \he's trying to commit suicide."
return(BRUTELOSS)
/obj/item/weapon/claymore/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
return ..()
/obj/item/weapon/katana
name = "katana"
desc = "Woefully underpowered in D20"
icon_state = "katana"
item_state = "katana"
flags = FPRINT | TABLEPASS | CONDUCT
slot_flags = SLOT_BELT | SLOT_BACK
force = 40
throwforce = 10
sharp = 1
edge = 1
w_class = 4
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
suicide_act(mob/user)
viewers(user) << "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku."
return(BRUTELOSS)
/obj/item/weapon/katana/IsShield()
return 1
/obj/item/weapon/katana/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
return ..()
/obj/item/weapon/harpoon
name = "harpoon"
sharp = 1
edge = 0
desc = "Tharr she blows!"
icon_state = "harpoon"
item_state = "harpoon"
force = 20
throwforce = 15
w_class = 3
attack_verb = list("jabbed","stabbed","ripped")
/obj/item/weapon/canesword
name = "thin sword"
sharp = 1
edge = 1
desc = "A thin, sharp blade with an elegant handle."
icon_state = "canesword"
item_state = "canesword"
force = 20
throwforce = 10
w_class = 4 //there ain't no way in fuck you're shoving this inside your rucksack. No way.
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
suicide_act(mob/user)
viewers(user) << "\red [user] brings the blade up to \his throat, and in one rapid motion slits \his throat open!"
return(BRUTELOSS)
//Using a modified cane, with a storage var, instead of a box. Because the box idea is meh, in terms of the interface.
/obj/item/weapon/cane/syndie
var/obj/item/weapon/canesword/sword //For holding the blade
var/locked //A small lock, so that you can't accidentally unsheathe it
New()
sword = new /obj/item/weapon/canesword()
locked = 1
..()
proc/unsheathe(mob/user as mob)
if(sword)
user.put_in_hands(sword)
user.visible_message("\blue [user] takes the handle and draws a sword from inside the [src].", "\blue You take the [src] by the handle and draw out a sharp blade from it.")
sword.add_fingerprint(user)
add_fingerprint(user)
sword = null
icon_state = "cane_empty"
update_icon()
proc/toggle_lock(mob/user as mob)
if(sword)
switch(locked)
if(1)
locked = 0
user << "\blue You twist and unlock the sword handle from the [src]."
if(0)
locked = 1
user << "\blue You twist and lock the sword handle to the [src]."
attack_self(mob/user as mob)
if(iscarbon(user))
toggle_lock(user)
attack_hand(mob/user as mob)
if(!locked)
unsheathe(user)
else
..()
attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/canesword) && !sword)
user.u_equip(W)
W.loc = src
sword = W
W.dropped(user)
W.add_fingerprint(user)
add_fingerprint(user)
icon_state = "cane"
user << "\blue You sheathe the sword, and lock its handle to the [src]."
locked = 1
update_icon()
obj/item/weapon/wirerod
name = "wired rod"
desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit."
icon_state = "wiredrod"
item_state = "rods"
flags = CONDUCT
force = 8
throwforce = 10
w_class = 3
attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob)
..()
if(istype(I, /obj/item/weapon/shard))
var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear
user.put_in_hands(S)
user << "You fasten the glass shard to the top of the rod with the cable."
del(I)
del(src)
update_icon(user)
else if(istype(I, /obj/item/weapon/wirecutters))
var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod
user.put_in_hands(P)
user << "You fasten the wirecutters to the top of the rod with the cable, prongs outward."
del(I)
del(src)
update_icon(user)
update_icon(user)