mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-02 21:52:48 +00:00
109 lines
3.7 KiB
Plaintext
109 lines
3.7 KiB
Plaintext
/obj/item/melee
|
|
needs_permit = 1
|
|
|
|
/obj/item/melee/proc/check_martial_counter(mob/living/carbon/human/target, mob/living/carbon/human/user)
|
|
if(target.check_block())
|
|
target.visible_message("<span class='danger'>[target.name] blocks [src] and twists [user]'s arm behind [user.p_their()] back!</span>",
|
|
"<span class='userdanger'>You block the attack!</span>")
|
|
user.Stun(2)
|
|
return TRUE
|
|
|
|
/obj/item/melee/chainofcommand
|
|
name = "chain of command"
|
|
desc = "A tool used by great men to placate the frothing masses."
|
|
icon_state = "chain"
|
|
item_state = "chain"
|
|
flags = CONDUCT
|
|
slot_flags = SLOT_BELT
|
|
force = 10
|
|
throwforce = 7
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
origin_tech = "combat=5"
|
|
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
|
|
hitsound = 'sound/weapons/slash.ogg' //pls replace
|
|
|
|
|
|
/obj/item/melee/chainofcommand/suicide_act(mob/user)
|
|
to_chat(viewers(user), "<span class='suicide'>[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
|
return OXYLOSS
|
|
|
|
/obj/item/melee/rapier
|
|
name = "captain's rapier"
|
|
desc = "An elegant weapon, for a more civilized age."
|
|
icon_state = "rapier"
|
|
item_state = "rapier"
|
|
flags = CONDUCT
|
|
force = 15
|
|
throwforce = 10
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
block_chance = 50
|
|
armour_penetration = 75
|
|
sharp = TRUE
|
|
origin_tech = "combat=5"
|
|
attack_verb = list("lunged at", "stabbed")
|
|
hitsound = 'sound/weapons/rapierhit.ogg'
|
|
materials = list(MAT_METAL = 1000)
|
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF // Theft targets should be hard to destroy
|
|
|
|
/obj/item/melee/rapier/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/melee/icepick
|
|
name = "ice pick"
|
|
desc = "Used for chopping ice. Also excellent for mafia esque murders."
|
|
icon_state = "icepick"
|
|
item_state = "icepick"
|
|
force = 15
|
|
throwforce = 10
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
attack_verb = list("stabbed", "jabbed", "iced,")
|
|
|
|
/obj/item/melee/candy_sword
|
|
name = "candy cane sword"
|
|
desc = "A large candy cane with a sharpened point. Definitely too dangerous for schoolchildren."
|
|
icon_state = "candy_sword"
|
|
item_state = "candy_sword"
|
|
force = 10
|
|
throwforce = 7
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
attack_verb = list("slashed", "stabbed", "sliced", "caned")
|
|
|
|
/obj/item/melee/flyswatter
|
|
name = "flyswatter"
|
|
desc = "Useful for killing insects of all sizes."
|
|
icon_state = "flyswatter"
|
|
item_state = "flyswatter"
|
|
force = 1
|
|
throwforce = 1
|
|
attack_verb = list("swatted", "smacked")
|
|
hitsound = 'sound/effects/snap.ogg'
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
//Things in this list will be instantly splatted. Flyman weakness is handled in the flyman species weakness proc.
|
|
var/list/strong_against
|
|
|
|
/obj/item/melee/flyswatter/Initialize(mapload)
|
|
. = ..()
|
|
strong_against = typecacheof(list(
|
|
/mob/living/simple_animal/hostile/poison/bees/,
|
|
/mob/living/simple_animal/butterfly,
|
|
/mob/living/simple_animal/cockroach,
|
|
/obj/item/queen_bee))
|
|
strong_against -= /mob/living/simple_animal/hostile/poison/bees/syndi // Syndi-bees have special anti-flyswatter tech installed
|
|
|
|
/obj/item/melee/flyswatter/attack(mob/living/M, mob/living/user, def_zone)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
if(is_type_in_typecache(M, strong_against))
|
|
new /obj/effect/decal/cleanable/insectguts(M.drop_location())
|
|
user.visible_message("<span class='warning'>[user] splats [M] with [src].</span>",
|
|
"<span class='warning'>You splat [M] with [src].</span>",
|
|
"<span class='warning'>You hear a splat.</span>")
|
|
if(isliving(M))
|
|
var/mob/living/bug = M
|
|
bug.death(TRUE)
|
|
if(!QDELETED(M))
|
|
qdel(M)
|