a9b39afe66
The War on Stun Based Combat Phase II About The Pull Request A massive change in gameplay that affects more than just disarm. Hopefully in an interesting way. There's two parts to this, part 1 is that disarm's functionality has been entirely stripped out and replaced with essentially a new purpose: Shoving. Shoving is the new action that occurs when clicking on people while in the disarm intent. Shoving someone pushes them one tile away from you. If there is otherwise nothing blocking them, they are slowed down very slightly for 3 seconds. If you shove someone again while they are slowed, it knocks ranged weapons out of their active hand. I'm not sure about this part and may buff or remove it depending on how it works in practice. If the blocking tile has a table on it, they're pushed onto it knocking them over for 3 seconds. If it has another human on it, it knocks them both over, the collateral victim for 1 second instead of 3. If the tile is otherwise blocked besides them, it knocks them down for 3 seconds. All knockdowns cause you to drop items, and do not stun at all and can be immediately crawled away from. However, once knocked down, if you are shoved again it paralyzes for 4 seconds. This is the same length as the old disarm push. It cannot be chained or extended, shoving them again while they're paralyzed does not extend the length of the paralyze. Once it ends, the person will be up and moving. Now you might be thinking, why would I want to shove someone unless they're against a wall? Here's part 2: Moving into someone in a hostile intent no longer pushes them. They'll stay where they are and your movement is blocked. If you want to get someone out of the way, you need to shove them. Why It's Good For The Game Changes a previously RNG based mechanic that was basically just spammed until you got that lucky "I win" roll into a positioning based utility that has a point to use in many situations. Livens up simple melee combat and makes fighting in confined areas more lively and unpredictable. Introduces some new epic gamer strats, I've been playing around and it's pretty fun. Also why not try something really crazy and see what happens? If it's shit it can be reverted :^) Changelog Special thanks to whoneedsspace, the inventor of the singlecap, for deshitcodifying this hard. cl add: Disarm has been reworked, instead of an rng based system instead it pushes people away from you. If their movement is blocked it knocks them over. Shoving someone twice quickly will knock ranged weapons out of their hands. del: Moving into humans while in a hostile intent no longer pushes them. tweak: Passive grabs need to be resisted out of while on the ground, and can't be directly crawled out of /cl
648 lines
23 KiB
Plaintext
648 lines
23 KiB
Plaintext
// CHAPLAIN CUSTOM ARMORS //
|
|
|
|
/obj/item/clothing/head/helmet/chaplain
|
|
name = "crusader helmet"
|
|
desc = "Deus Vult."
|
|
icon_state = "knight_templar"
|
|
item_state = "knight_templar"
|
|
armor = list("melee" = 41, "bullet" = 15, "laser" = 5,"energy" = 5, "bomb" = 5, "bio" = 2, "rad" = 0, "fire" = 0, "acid" = 50)
|
|
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
|
|
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
|
strip_delay = 80
|
|
dog_fashion = null
|
|
|
|
/obj/item/clothing/suit/armor/riot/chaplain
|
|
name = "crusader armour"
|
|
desc = "God wills it!"
|
|
icon_state = "knight_templar"
|
|
item_state = "knight_templar"
|
|
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
|
slowdown = 0
|
|
blocks_shove_knockdown = FALSE
|
|
|
|
/obj/item/choice_beacon/holy
|
|
name = "armaments beacon"
|
|
desc = "Contains a set of armaments for the chaplain."
|
|
|
|
/obj/item/choice_beacon/holy/canUseBeacon(mob/living/user)
|
|
if(user.mind && user.mind.isholy)
|
|
return ..()
|
|
else
|
|
playsound(src, 'sound/machines/buzz-sigh.ogg', 40, 1)
|
|
return FALSE
|
|
|
|
/obj/item/choice_beacon/holy/generate_display_names()
|
|
var/static/list/holy_item_list
|
|
if(!holy_item_list)
|
|
holy_item_list = list()
|
|
var/list/templist = typesof(/obj/item/storage/box/holy)
|
|
for(var/V in templist)
|
|
var/atom/A = V
|
|
holy_item_list[initial(A.name)] = A
|
|
return holy_item_list
|
|
|
|
/obj/item/choice_beacon/holy/spawn_option(obj/choice,mob/living/M)
|
|
if(!SSreligion.holy_armor_type)
|
|
..()
|
|
playsound(src, 'sound/effects/pray_chaplain.ogg', 40, 1)
|
|
SSblackbox.record_feedback("tally", "chaplain_armor", 1, "[choice]")
|
|
SSreligion.holy_armor_type = choice
|
|
else
|
|
to_chat(M, "<span class='warning'>A selection has already been made. Self-Destructing...</span>")
|
|
return
|
|
|
|
|
|
/obj/item/storage/box/holy
|
|
name = "Templar Kit"
|
|
|
|
/obj/item/storage/box/holy/PopulateContents()
|
|
new /obj/item/clothing/head/helmet/chaplain(src)
|
|
new /obj/item/clothing/suit/armor/riot/chaplain(src)
|
|
|
|
/obj/item/storage/box/holy/student
|
|
name = "Profane Scholar Kit"
|
|
|
|
/obj/item/storage/box/holy/student/PopulateContents()
|
|
new /obj/item/clothing/suit/armor/riot/chaplain/studentuni(src)
|
|
new /obj/item/clothing/head/helmet/chaplain/cage(src)
|
|
|
|
/obj/item/clothing/suit/armor/riot/chaplain/studentuni
|
|
name = "student robe"
|
|
desc = "The uniform of a bygone institute of learning."
|
|
icon_state = "studentuni"
|
|
item_state = "studentuni"
|
|
body_parts_covered = ARMS|CHEST
|
|
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
|
|
|
/obj/item/clothing/head/helmet/chaplain/cage
|
|
name = "cage"
|
|
desc = "A cage that restrains the will of the self, allowing one to see the profane world for what it is."
|
|
alternate_worn_icon = 'icons/mob/large-worn-icons/64x64/head.dmi'
|
|
icon_state = "cage"
|
|
item_state = "cage"
|
|
worn_x_dimension = 64
|
|
worn_y_dimension = 64
|
|
dynamic_hair_suffix = ""
|
|
|
|
/obj/item/storage/box/holy/sentinel
|
|
name = "Stone Sentinel Kit"
|
|
|
|
/obj/item/storage/box/holy/sentinel/PopulateContents()
|
|
new /obj/item/clothing/suit/armor/riot/chaplain/ancient(src)
|
|
new /obj/item/clothing/head/helmet/chaplain/ancient(src)
|
|
|
|
/obj/item/clothing/head/helmet/chaplain/ancient
|
|
name = "ancient helmet"
|
|
desc = "None may pass!"
|
|
icon_state = "knight_ancient"
|
|
item_state = "knight_ancient"
|
|
|
|
/obj/item/clothing/suit/armor/riot/chaplain/ancient
|
|
name = "ancient armour"
|
|
desc = "Defend the treasure..."
|
|
icon_state = "knight_ancient"
|
|
item_state = "knight_ancient"
|
|
|
|
/obj/item/storage/box/holy/witchhunter
|
|
name = "Witchhunter Kit"
|
|
|
|
/obj/item/storage/box/holy/witchhunter/PopulateContents()
|
|
new /obj/item/clothing/suit/armor/riot/chaplain/witchhunter(src)
|
|
new /obj/item/clothing/head/helmet/chaplain/witchunter_hat(src)
|
|
|
|
/obj/item/clothing/suit/armor/riot/chaplain/witchhunter
|
|
name = "witchunter garb"
|
|
desc = "This worn outfit saw much use back in the day."
|
|
icon_state = "witchhunter"
|
|
item_state = "witchhunter"
|
|
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
|
|
|
/obj/item/clothing/head/helmet/chaplain/witchunter_hat
|
|
name = "witchunter hat"
|
|
desc = "This hat saw much use back in the day."
|
|
icon_state = "witchhunterhat"
|
|
item_state = "witchhunterhat"
|
|
flags_cover = HEADCOVERSEYES
|
|
|
|
/obj/item/storage/box/holy/follower
|
|
name = "Followers of the Chaplain Kit"
|
|
|
|
/obj/item/storage/box/holy/follower/PopulateContents()
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie/leader(src)
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
|
|
|
/obj/item/clothing/suit/hooded/chaplain_hoodie
|
|
name = "follower hoodie"
|
|
desc = "Hoodie made for acolytes of the chaplain."
|
|
icon_state = "chaplain_hoodie"
|
|
item_state = "chaplain_hoodie"
|
|
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
|
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
|
hoodtype = /obj/item/clothing/head/hooded/chaplain_hood
|
|
|
|
/obj/item/clothing/head/hooded/chaplain_hood
|
|
name = "follower hood"
|
|
desc = "Hood made for acolytes of the chaplain."
|
|
icon_state = "chaplain_hood"
|
|
body_parts_covered = HEAD
|
|
flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS
|
|
|
|
/obj/item/clothing/suit/hooded/chaplain_hoodie/leader
|
|
name = "leader hoodie"
|
|
desc = "Now you're ready for some 50 dollar bling water."
|
|
icon_state = "chaplain_hoodie_leader"
|
|
item_state = "chaplain_hoodie_leader"
|
|
hoodtype = /obj/item/clothing/head/hooded/chaplain_hood/leader
|
|
|
|
/obj/item/clothing/head/hooded/chaplain_hood/leader
|
|
name = "leader hood"
|
|
desc = "I mean, you don't /have/ to seek bling water. I just think you should."
|
|
icon_state = "chaplain_hood_leader"
|
|
|
|
|
|
// CHAPLAIN NULLROD AND CUSTOM WEAPONS //
|
|
|
|
/obj/item/nullrod
|
|
name = "null rod"
|
|
desc = "A rod of pure obsidian; its very presence disrupts and dampens the powers of Nar'Sie and Ratvar's followers."
|
|
icon_state = "nullrod"
|
|
item_state = "nullrod"
|
|
lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
|
|
force = 18
|
|
throw_speed = 3
|
|
throw_range = 4
|
|
throwforce = 10
|
|
w_class = WEIGHT_CLASS_TINY
|
|
obj_flags = UNIQUE_RENAME
|
|
var/reskinned = FALSE
|
|
var/chaplain_spawnable = TRUE
|
|
|
|
/obj/item/nullrod/Initialize()
|
|
. = ..()
|
|
AddComponent(/datum/component/anti_magic, TRUE, TRUE, null, FALSE)
|
|
|
|
/obj/item/nullrod/suicide_act(mob/user)
|
|
user.visible_message("<span class='suicide'>[user] is killing [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to get closer to god!</span>")
|
|
return (BRUTELOSS|FIRELOSS)
|
|
|
|
/obj/item/nullrod/attack_self(mob/user)
|
|
if(user.mind && (user.mind.isholy) && !reskinned)
|
|
reskin_holy_weapon(user)
|
|
|
|
/obj/item/nullrod/proc/reskin_holy_weapon(mob/M)
|
|
if(SSreligion.holy_weapon_type)
|
|
return
|
|
var/obj/item/nullrod/holy_weapon
|
|
var/list/holy_weapons_list = typesof(/obj/item/nullrod)
|
|
var/list/display_names = list()
|
|
for(var/V in holy_weapons_list)
|
|
var/obj/item/nullrod/rodtype = V
|
|
if (initial(rodtype.chaplain_spawnable))
|
|
display_names[initial(rodtype.name)] = rodtype
|
|
|
|
var/choice = input(M,"What theme would you like for your holy weapon?","Holy Weapon Theme") as null|anything in display_names
|
|
if(QDELETED(src) || !choice || M.stat || !in_range(M, src) || M.incapacitated() || reskinned)
|
|
return
|
|
|
|
var/A = display_names[choice] // This needs to be on a separate var as list member access is not allowed for new
|
|
holy_weapon = new A
|
|
|
|
SSreligion.holy_weapon_type = holy_weapon.type
|
|
|
|
SSblackbox.record_feedback("tally", "chaplain_weapon", 1, "[choice]")
|
|
|
|
if(holy_weapon)
|
|
holy_weapon.reskinned = TRUE
|
|
qdel(src)
|
|
M.put_in_active_hand(holy_weapon)
|
|
|
|
/obj/item/nullrod/godhand
|
|
icon_state = "disintegrate"
|
|
item_state = "disintegrate"
|
|
lefthand_file = 'icons/mob/inhands/misc/touchspell_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/misc/touchspell_righthand.dmi'
|
|
name = "god hand"
|
|
desc = "This hand of yours glows with an awesome power!"
|
|
item_flags = ABSTRACT | DROPDEL
|
|
w_class = WEIGHT_CLASS_HUGE
|
|
hitsound = 'sound/weapons/sear.ogg'
|
|
damtype = BURN
|
|
attack_verb = list("punched", "cross countered", "pummeled")
|
|
|
|
/obj/item/nullrod/godhand/Initialize()
|
|
. = ..()
|
|
add_trait(TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)
|
|
|
|
/obj/item/nullrod/staff
|
|
icon_state = "godstaff-red"
|
|
item_state = "godstaff-red"
|
|
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
|
|
name = "red holy staff"
|
|
desc = "It has a mysterious, protective aura."
|
|
w_class = WEIGHT_CLASS_HUGE
|
|
force = 5
|
|
slot_flags = ITEM_SLOT_BACK
|
|
block_chance = 50
|
|
var/shield_icon = "shield-red"
|
|
|
|
/obj/item/nullrod/staff/worn_overlays(isinhands)
|
|
. = list()
|
|
if(isinhands)
|
|
. += mutable_appearance('icons/effects/effects.dmi', shield_icon, MOB_LAYER + 0.01)
|
|
|
|
/obj/item/nullrod/staff/blue
|
|
name = "blue holy staff"
|
|
icon_state = "godstaff-blue"
|
|
item_state = "godstaff-blue"
|
|
shield_icon = "shield-old"
|
|
|
|
/obj/item/nullrod/claymore
|
|
icon_state = "claymore"
|
|
item_state = "claymore"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
name = "holy claymore"
|
|
desc = "A weapon fit for a crusade!"
|
|
w_class = WEIGHT_CLASS_HUGE
|
|
slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT
|
|
block_chance = 30
|
|
sharpness = IS_SHARP
|
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
|
|
/obj/item/nullrod/claymore/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
|
|
if(attack_type == PROJECTILE_ATTACK)
|
|
final_block_chance = 0 //Don't bring a sword to a gunfight
|
|
return ..()
|
|
|
|
/obj/item/nullrod/claymore/darkblade
|
|
icon_state = "cultblade"
|
|
item_state = "cultblade"
|
|
lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/64x64_righthand.dmi'
|
|
inhand_x_dimension = 64
|
|
inhand_y_dimension = 64
|
|
name = "dark blade"
|
|
desc = "Spread the glory of the dark gods!"
|
|
slot_flags = ITEM_SLOT_BELT
|
|
hitsound = 'sound/hallucinations/growl1.ogg'
|
|
|
|
/obj/item/nullrod/claymore/chainsaw_sword
|
|
icon_state = "chainswordon"
|
|
item_state = "chainswordon"
|
|
name = "sacred chainsaw sword"
|
|
desc = "Suffer not a heretic to live."
|
|
slot_flags = ITEM_SLOT_BELT
|
|
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
|
hitsound = 'sound/weapons/chainsawhit.ogg'
|
|
|
|
/obj/item/nullrod/claymore/glowing
|
|
icon_state = "swordon"
|
|
item_state = "swordon"
|
|
name = "force weapon"
|
|
desc = "The blade glows with the power of faith. Or possibly a battery."
|
|
slot_flags = ITEM_SLOT_BELT
|
|
|
|
/obj/item/nullrod/claymore/katana
|
|
name = "\improper Hanzo steel"
|
|
desc = "Capable of cutting clean through a holy claymore."
|
|
icon_state = "katana"
|
|
item_state = "katana"
|
|
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
|
|
|
|
/obj/item/nullrod/claymore/multiverse
|
|
name = "extradimensional blade"
|
|
desc = "Once the harbinger of an interdimensional war, its sharpness fluctuates wildly."
|
|
icon_state = "multiverse"
|
|
item_state = "multiverse"
|
|
slot_flags = ITEM_SLOT_BELT
|
|
|
|
/obj/item/nullrod/claymore/multiverse/attack(mob/living/carbon/M, mob/living/carbon/user)
|
|
force = rand(1, 30)
|
|
..()
|
|
|
|
/obj/item/nullrod/claymore/saber
|
|
name = "light energy sword"
|
|
hitsound = 'sound/weapons/blade1.ogg'
|
|
icon_state = "swordblue"
|
|
item_state = "swordblue"
|
|
desc = "If you strike me down, I shall become more robust than you can possibly imagine."
|
|
slot_flags = ITEM_SLOT_BELT
|
|
|
|
/obj/item/nullrod/claymore/saber/red
|
|
name = "dark energy sword"
|
|
icon_state = "swordred"
|
|
item_state = "swordred"
|
|
desc = "Woefully ineffective when used on steep terrain."
|
|
|
|
/obj/item/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/nullrod/sord
|
|
name = "\improper UNREAL SORD"
|
|
desc = "This thing is so unspeakably HOLY you are having a hard time even holding it."
|
|
icon_state = "sord"
|
|
item_state = "sord"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
slot_flags = ITEM_SLOT_BELT
|
|
force = 4.13
|
|
throwforce = 1
|
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
|
|
/obj/item/nullrod/scythe
|
|
icon_state = "scythe1"
|
|
item_state = "scythe1"
|
|
lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi'
|
|
name = "reaper scythe"
|
|
desc = "Ask not for whom the bell tolls..."
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
armour_penetration = 35
|
|
slot_flags = ITEM_SLOT_BACK
|
|
sharpness = IS_SHARP
|
|
attack_verb = list("chopped", "sliced", "cut", "reaped")
|
|
|
|
/obj/item/nullrod/scythe/Initialize()
|
|
. = ..()
|
|
AddComponent(/datum/component/butchering, 70, 110) //the harvest gives a high bonus chance
|
|
|
|
/obj/item/nullrod/scythe/vibro
|
|
icon_state = "hfrequency0"
|
|
item_state = "hfrequency1"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
name = "high frequency blade"
|
|
desc = "Bad references are the DNA of the soul."
|
|
attack_verb = list("chopped", "sliced", "cut", "zandatsu'd")
|
|
hitsound = 'sound/weapons/rapierhit.ogg'
|
|
|
|
|
|
/obj/item/nullrod/scythe/spellblade
|
|
icon_state = "spellblade"
|
|
item_state = "spellblade"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
icon = 'icons/obj/guns/magic.dmi'
|
|
name = "dormant spellblade"
|
|
desc = "The blade grants the wielder nearly limitless power...if they can figure out how to turn it on, that is."
|
|
hitsound = 'sound/weapons/rapierhit.ogg'
|
|
|
|
/obj/item/nullrod/scythe/talking
|
|
icon_state = "talking_sword"
|
|
item_state = "talking_sword"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
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/rapierhit.ogg'
|
|
var/possessed = FALSE
|
|
|
|
/obj/item/nullrod/scythe/talking/relaymove(mob/user)
|
|
return //stops buckled message spam for the ghost.
|
|
|
|
/obj/item/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 = pollGhostCandidates("Do you want to play as the spirit of [user.real_name]'s blade?", ROLE_PAI, null, FALSE, 100, POLL_IGNORE_POSSESSED_BLADE)
|
|
|
|
if(LAZYLEN(candidates))
|
|
var/mob/dead/observer/C = pick(candidates)
|
|
var/mob/living/simple_animal/shade/S = new(src)
|
|
S.ckey = C.ckey
|
|
S.fully_replace_character_name(null, "The spirit of [name]")
|
|
S.status_flags |= GODMODE
|
|
S.language_holder = user.language_holder.copy(S)
|
|
var/input = stripped_input(S,"What are you named?", ,"", MAX_NAME_LEN)
|
|
|
|
if(src && input)
|
|
name = input
|
|
S.fully_replace_character_name(null, "The spirit of [input]")
|
|
else
|
|
to_chat(user, "The blade is dormant. Maybe you can try again later.")
|
|
possessed = FALSE
|
|
|
|
/obj/item/nullrod/scythe/talking/Destroy()
|
|
for(var/mob/living/simple_animal/shade/S in contents)
|
|
to_chat(S, "You were destroyed!")
|
|
qdel(S)
|
|
return ..()
|
|
|
|
/obj/item/nullrod/scythe/talking/chainsword
|
|
icon_state = "chainswordon"
|
|
item_state = "chainswordon"
|
|
name = "possessed chainsaw sword"
|
|
desc = "Suffer not a heretic to live."
|
|
chaplain_spawnable = FALSE
|
|
force = 30
|
|
slot_flags = ITEM_SLOT_BELT
|
|
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
|
hitsound = 'sound/weapons/chainsawhit.ogg'
|
|
|
|
|
|
/obj/item/nullrod/hammmer
|
|
icon_state = "hammeron"
|
|
item_state = "hammeron"
|
|
lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi'
|
|
name = "relic war hammer"
|
|
desc = "This war hammer cost the chaplain forty thousand space dollars."
|
|
slot_flags = ITEM_SLOT_BELT
|
|
w_class = WEIGHT_CLASS_HUGE
|
|
attack_verb = list("smashed", "bashed", "hammered", "crunched")
|
|
|
|
/obj/item/nullrod/chainsaw
|
|
name = "chainsaw hand"
|
|
desc = "Good? Bad? You're the guy with the chainsaw hand."
|
|
icon_state = "chainsaw_on"
|
|
item_state = "mounted_chainsaw"
|
|
lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi'
|
|
w_class = WEIGHT_CLASS_HUGE
|
|
item_flags = ABSTRACT
|
|
sharpness = IS_SHARP
|
|
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
|
hitsound = 'sound/weapons/chainsawhit.ogg'
|
|
|
|
/obj/item/nullrod/chainsaw/Initialize()
|
|
. = ..()
|
|
add_trait(TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)
|
|
AddComponent(/datum/component/butchering, 30, 100, 0, hitsound)
|
|
|
|
/obj/item/nullrod/clown
|
|
icon = 'icons/obj/wizard.dmi'
|
|
icon_state = "clownrender"
|
|
item_state = "render"
|
|
name = "clown dagger"
|
|
desc = "Used for absolutely hilarious sacrifices."
|
|
hitsound = 'sound/items/bikehorn.ogg'
|
|
sharpness = IS_SHARP
|
|
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
|
|
/obj/item/nullrod/pride_hammer
|
|
icon_state = "pride"
|
|
name = "Pride-struck Hammer"
|
|
desc = "It resonates an aura of Pride."
|
|
force = 16
|
|
throwforce = 15
|
|
w_class = 4
|
|
slot_flags = ITEM_SLOT_BACK
|
|
attack_verb = list("attacked", "smashed", "crushed", "splattered", "cracked")
|
|
hitsound = 'sound/weapons/blade1.ogg'
|
|
|
|
/obj/item/nullrod/pride_hammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity)
|
|
. = ..()
|
|
if(!proximity)
|
|
return
|
|
if(prob(30) && ishuman(A))
|
|
var/mob/living/carbon/human/H = A
|
|
user.reagents.trans_to(H, user.reagents.total_volume, 1, 1, 0, transfered_by = user)
|
|
to_chat(user, "<span class='notice'>Your pride reflects on [H].</span>")
|
|
to_chat(H, "<span class='userdanger'>You feel insecure, taking on [user]'s burden.</span>")
|
|
|
|
/obj/item/nullrod/whip
|
|
name = "holy whip"
|
|
desc = "What a terrible night to be on Space Station 13."
|
|
icon_state = "chain"
|
|
item_state = "chain"
|
|
lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
|
|
slot_flags = ITEM_SLOT_BELT
|
|
attack_verb = list("whipped", "lashed")
|
|
hitsound = 'sound/weapons/chainhit.ogg'
|
|
|
|
/obj/item/nullrod/fedora
|
|
name = "atheist's fedora"
|
|
desc = "The brim of the hat is as sharp as your wit. The edge would hurt almost as much as disproving the existence of God."
|
|
icon_state = "fedora"
|
|
item_state = "fedora"
|
|
slot_flags = ITEM_SLOT_HEAD
|
|
icon = 'icons/obj/clothing/hats.dmi'
|
|
force = 0
|
|
throw_speed = 4
|
|
throw_range = 7
|
|
throwforce = 30
|
|
sharpness = IS_SHARP
|
|
attack_verb = list("enlightened", "redpilled")
|
|
|
|
/obj/item/nullrod/armblade
|
|
name = "dark blessing"
|
|
desc = "Particularly twisted deities grant gifts of dubious value."
|
|
icon_state = "arm_blade"
|
|
item_state = "arm_blade"
|
|
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
|
|
item_flags = ABSTRACT
|
|
w_class = WEIGHT_CLASS_HUGE
|
|
sharpness = IS_SHARP
|
|
|
|
/obj/item/nullrod/armblade/Initialize()
|
|
. = ..()
|
|
add_trait(TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)
|
|
AddComponent(/datum/component/butchering, 80, 70)
|
|
|
|
/obj/item/nullrod/armblade/tentacle
|
|
name = "unholy blessing"
|
|
icon_state = "tentacle"
|
|
item_state = "tentacle"
|
|
|
|
/obj/item/nullrod/carp
|
|
name = "carp-sie plushie"
|
|
desc = "An adorable stuffed toy that resembles the god of all carp. The teeth look pretty sharp. Activate it to receive the blessing of Carp-Sie."
|
|
icon = 'icons/obj/plushes.dmi'
|
|
icon_state = "carpplush"
|
|
item_state = "carp_plushie"
|
|
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
|
|
force = 15
|
|
attack_verb = list("bitten", "eaten", "fin slapped")
|
|
hitsound = 'sound/weapons/bite.ogg'
|
|
var/used_blessing = FALSE
|
|
|
|
/obj/item/nullrod/carp/attack_self(mob/living/user)
|
|
if(used_blessing)
|
|
else if(user.mind && (user.mind.isholy))
|
|
to_chat(user, "You are blessed by Carp-Sie. Wild space carp will no longer attack you.")
|
|
user.faction |= "carp"
|
|
used_blessing = TRUE
|
|
|
|
/obj/item/nullrod/claymore/bostaff //May as well make it a "claymore" and inherit the blocking
|
|
name = "monk's staff"
|
|
desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts, it is now used to harass the clown."
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
force = 15
|
|
block_chance = 40
|
|
slot_flags = ITEM_SLOT_BACK
|
|
sharpness = IS_BLUNT
|
|
hitsound = "swing_hit"
|
|
attack_verb = list("smashed", "slammed", "whacked", "thwacked")
|
|
icon = 'icons/obj/items_and_weapons.dmi'
|
|
icon_state = "bostaff0"
|
|
item_state = "bostaff0"
|
|
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
|
|
|
|
/obj/item/nullrod/tribal_knife
|
|
icon_state = "crysknife"
|
|
item_state = "crysknife"
|
|
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
|
name = "arrhythmic knife"
|
|
w_class = WEIGHT_CLASS_HUGE
|
|
desc = "They say fear is the true mind killer, but stabbing them in the head works too. Honour compels you to not sheathe it once drawn."
|
|
sharpness = IS_SHARP
|
|
slot_flags = null
|
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
item_flags = SLOWS_WHILE_IN_HAND
|
|
|
|
/obj/item/nullrod/tribal_knife/Initialize(mapload)
|
|
. = ..()
|
|
START_PROCESSING(SSobj, src)
|
|
AddComponent(/datum/component/butchering, 50, 100)
|
|
|
|
/obj/item/nullrod/tribal_knife/Destroy()
|
|
STOP_PROCESSING(SSobj, src)
|
|
. = ..()
|
|
|
|
/obj/item/nullrod/tribal_knife/process()
|
|
slowdown = rand(-2, 2)
|
|
|
|
|
|
/obj/item/nullrod/pitchfork
|
|
icon_state = "pitchfork0"
|
|
lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi'
|
|
name = "unholy pitchfork"
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
desc = "Holding this makes you look absolutely devilish."
|
|
attack_verb = list("poked", "impaled", "pierced", "jabbed")
|
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
sharpness = IS_SHARP
|
|
|
|
/obj/item/nullrod/egyptian
|
|
name = "egyptian staff"
|
|
desc = "A tutorial in mummification is carved into the staff. You could probably craft the wraps if you had some cloth."
|
|
icon = 'icons/obj/guns/magic.dmi'
|
|
icon_state = "pharoah_sceptre"
|
|
item_state = "pharoah_sceptre"
|
|
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
attack_verb = list("bashes", "smacks", "whacks")
|