diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index 879e82f9ee0..4b0b1e9ba8d 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -134,6 +134,13 @@ item_state = "katana" slot_flags = SLOT_BELT | SLOT_BACK +/obj/item/weapon/nullrod/claymore/multiverse + name = "extradimensional blade" + desc = "Once the harbringer of a interdimensional war, now a dormant souvenir. Still sharp though." + icon_state = "multiverse" + item_state = "multiverse" + slot_flags = SLOT_BELT + /obj/item/weapon/nullrod/claymore/saber name = "light energy sword" hitsound = 'sound/weapons/blade1.ogg' @@ -148,6 +155,12 @@ item_state = "swordred" desc = "Woefully ineffective when used on steep terrain." +/obj/item/weapon/nullrod/claymore/saber/pirate + name = "nautical energy sword" + icon_state = "cutlass1" + item_state = "cutlass1" + desc = "Convincing HR that your religion involved piracy was no mean feat." + /obj/item/weapon/nullrod/sord name = "\improper UNREAL SORD" desc = "This thing is so unspeakably HOLY you are having a hard time even holding it." @@ -179,6 +192,49 @@ desc = "Bad references are the DNA of the soul." attack_verb = list("chopped", "sliced", "cut", "zandatsu'd") +/obj/item/weapon/nullrod/scythe/talking + icon_state = "talking_sword" + item_state = "talking_sword" + name = "possessed blade" + desc = "When the station falls into chaos, it's nice to have a friend by your side." + attack_verb = list("chopped", "sliced", "cut") + hitsound = 'sound/weapons/bladeslice.ogg' + var/possessed = FALSE + +/obj/item/weapon/nullrod/scythe/talking/attack_self(mob/living/user) + if(possessed) + return + + to_chat(user, "You attempt to wake the spirit of the blade...") + + possessed = TRUE + + var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as the spirit of [user.real_name]'s blade?", ROLE_PAI, 0, 100) + var/mob/dead/observer/theghost = null + + if(candidates.len) + theghost = pick(candidates) + var/mob/living/simple_animal/shade/S = new(src) + S.real_name = name + S.name = name + S.ckey = theghost.ckey + var/input = stripped_input(S,"What are you named?", ,"", MAX_NAME_LEN) + + if(src && input) + name = input + S.real_name = input + S.name = input + else + to_chat(user, "The blade is dormant. Maybe you can try again later.") + possessed = FALSE + +/obj/item/weapon/nullrod/scythe/talking/Destroy() + for(var/mob/living/simple_animal/shade/S in contents) + to_chat(S, "You were destroyed!") + S.ghostize() + qdel(S) + return ..() + /obj/item/weapon/nullrod/hammmer icon_state = "hammeron" item_state = "hammeron" diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index ce634c701d9..a4cd1d997a8 100644 Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 67313e46bfb..ddf9bc91d3c 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 1462d26e344..8fd47551efa 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index a10524fb9b9..416b1c8b932 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ