Getting Medieval - Snakesfang (#26296)

* Securiblade, Sheaths

* Snakesfang and Cleaver

* Crates and Armory

* Origin Tech Fix

* Chargers can now accept securiblades

* Clan Cleaver is now Breach Cleaver

* Armor Checking

* Comment and description fixes

* State comment

* More Comments

* Contains list fix

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Breacher sword hates doors

* Tab indentation

* Breacher Armor Buff - Status Effect while wielding

* Breach Cleaver Sounds - courtesy of Stoniest

* Snakesfang Codersprites

* Define Fix

* Breach Cleaver - Icon Codersprites

* Breach Cleaver Codersprites

* Gave help-intent attack on cleaver an animation

* Reduced sound intensity of wielded harm

* Moved variables below inherits

* Buff spacing, guard clause

* Improved examine

* Guard clauses the secsword powercell

* Sword mode defines

* Added undefs

* Spacing

* Securiblade loreful examine_more

* Examine_More for all swords

* Grammar

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Moved defines, added auto-docs, grammar

* Fixed secsword recharging

* Secsword burn function fix

* Cleaver Armor Buff Fix

* Fix to buff

* Securiblade burn fix, stamina charge reduction fix

* Breach Cleaver - Wielding sprite consistency, fixed sheath orientation when unsheathed

* Fixes securiblade EMP oversight

* Snakesfang can parry now

* Spelling

* Removed define indents

* Early returns

* A whole lot of fixes. Qdels the cell on delete.

* stun_delay proc doc

* Update code/datums/uplink_items/uplink_general.dm

Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Merged IF statements, relocated inits

* Armor change

* Remove null in cell variable

* Ifs to Switch

* Revert "Armor change"

This reverts commit 6b61e33433.

* Better Ifs to Switch

* Removes roundstart armory blade, increases crate cost to 550

* Removed extraneous loc check, removed extraneous link cell proc

* Added null check to secsword/emp_act

* Added clear_cell proc to replace duplicate icon updates and cell nulls

* No vars in proc argument

* Properly nulls cell. Fixes cell sabotage for sword

* Just the Snakesfang

* Appearance update

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Appearance update

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>

* Update code/game/objects/items/weapons/melee/melee_misc.dm

Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

---------

Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
PollardTheDragon
2024-07-30 13:46:44 +00:00
committed by GitHub
co-authored by 1080pCat Luc Ryan S34N DGamerL
parent 6027715176
commit 521c43e2aa
11 changed files with 74 additions and 15 deletions
@@ -45,6 +45,40 @@
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS)
RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(alert_admins_on_destroy))
// Traitor Sword
/obj/item/melee/snakesfang
name = "snakesfang"
desc = "A uniquely curved, black and red sword. Extra-edgy and cutting-edge."
lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
icon_state = "snakesfang"
item_state = "snakesfang"
flags = CONDUCT
force = 25
throwforce = 10
w_class = WEIGHT_CLASS_BULKY
sharp = TRUE
origin_tech = "combat=6;syndicate=3"
attack_verb = list("slashed", "sliced", "chopped")
hitsound = 'sound/weapons/bladeslice.ogg'
materials = list(MAT_METAL = 1000)
/obj/item/melee/snakesfang/Initialize(mapload)
. = ..()
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS)
/obj/item/melee/snakesfang/examine_more(mob/user)
. = ..()
. += "A uniquely curved, black and red sword. Extra-edgy and cutting-edge."
. += ""
. += "The MK-IV Enhanced Combat Blade, more colloquially known as the Snakesfang, is a vicious yet stylish weapon designed \
by a relatively unknown weapons forge with known ties to the Syndicate. With a wide, curved blade and dual points \
resembling the fangs of the organizations serpent motif, the Snakesfang is a statement like no other."
. += ""
. += "While the benefits of its unique design are dubious at best, the Snakesfang is undoubtedly a perilous weapon, with a hardened \
plastitanium edge that can cause untold harm to a soft target. In the right hands, it can be a terrifying weapon to behold, \
and its said that blood runs down the blade in just the right way, to drip artfully from the twin fangs at its apex."
/obj/item/melee/icepick
name = "ice pick"
desc = "Used for chopping ice. Also excellent for mafia esque murders."
+31 -13
View File
@@ -725,9 +725,9 @@
icon_state = "fannypack_yellow"
item_state = "fannypack_yellow"
/obj/item/storage/belt/rapier
name = "rapier sheath"
desc = "Can hold rapiers."
/obj/item/storage/belt/sheath
name = "sword sheath"
desc = "Can hold swords. If you see this, it is a bug. Please report this on GitHub."
icon_state = "sheath"
item_state = "sheath"
storage_slots = 1
@@ -737,11 +737,7 @@
layer_over_suit = TRUE
large = TRUE
/obj/item/storage/belt/rapier/populate_contents()
new /obj/item/melee/rapier(src)
update_icon()
/obj/item/storage/belt/rapier/attack_hand(mob/user)
/obj/item/storage/belt/sheath/attack_hand(mob/user)
if(loc != user)
return ..()
@@ -759,20 +755,20 @@
else
to_chat(user, "<span class='warning'>[src] is empty!</span>")
/obj/item/storage/belt/rapier/handle_item_insertion(obj/item/W, mob/user, prevent_warning)
/obj/item/storage/belt/sheath/handle_item_insertion(obj/item/W, mob/user, prevent_warning)
if(!..())
return
playsound(src, 'sound/weapons/blade_sheath.ogg', 20)
/obj/item/storage/belt/rapier/remove_from_storage(obj/item/W, atom/new_location)
/obj/item/storage/belt/sheath/remove_from_storage(obj/item/W, atom/new_location)
if(!..())
return
playsound(src, 'sound/weapons/blade_unsheath.ogg', 20)
/obj/item/storage/belt/rapier/update_icon_state()
/obj/item/storage/belt/sheath/update_icon_state()
if(length(contents))
icon_state = "[icon_state]-rapier"
item_state = "[item_state]-rapier"
icon_state = "[icon_state]-sword"
item_state = "[item_state]-sword"
else
icon_state = initial(icon_state)
item_state = initial(item_state)
@@ -780,6 +776,28 @@
var/mob/living/L = loc
L.update_inv_belt()
/obj/item/storage/belt/sheath/rapier
name = "rapier sheath"
desc = "Can hold rapiers."
icon_state = "sheath"
item_state = "sheath"
can_hold = list(/obj/item/melee/rapier)
/obj/item/storage/belt/sheath/rapier/populate_contents()
new /obj/item/melee/rapier(src)
update_appearance(UPDATE_ICON_STATE)
/obj/item/storage/belt/sheath/snakesfang
name = "snakesfang scabbard"
desc = "Can hold scimitars."
icon_state = "snakesfangsheath"
item_state = "snakesfangsheath"
can_hold = list(/obj/item/melee/snakesfang)
/obj/item/storage/belt/sheath/snakesfang/populate_contents()
new /obj/item/melee/snakesfang(src)
update_appearance(UPDATE_ICON_STATE)
// -------------------------------------
// Bluespace Belt
// -------------------------------------
@@ -14,7 +14,7 @@
new /obj/item/storage/bag/garment/captain(src)
new /obj/item/cartridge/captain(src)
new /obj/item/radio/headset/heads/captain/alt(src)
new /obj/item/storage/belt/rapier(src)
new /obj/item/storage/belt/sheath/rapier(src)
new /obj/item/gun/energy/gun(src)
new /obj/item/flash(src)
new /obj/item/door_remote/captain(src)