diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm
index 7e4add3923c..eb658a9d5c7 100644
--- a/code/modules/antagonists/cult/blood_magic.dm
+++ b/code/modules/antagonists/cult/blood_magic.dm
@@ -670,7 +670,7 @@
//Armor: Gives the target (cultist) a basic cultist combat loadout
/obj/item/melee/blood_magic/armor
name = "Arming Aura"
- desc = "Will equipt cult combat gear onto a cultist on contact."
+ desc = "Will equip cult combat gear onto a cultist on contact."
color = "#33cc33" // green
/obj/item/melee/blood_magic/armor/afterattack(atom/target, mob/living/carbon/user, proximity)
@@ -684,7 +684,7 @@
C.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), ITEM_SLOT_BACK)
if(C == user)
qdel(src) //Clears the hands
- C.put_in_hands(new /obj/item/melee/cultblade(user))
+ C.put_in_hands(new /obj/item/melee/cultblade/dagger(user))
C.put_in_hands(new /obj/item/restraints/legcuffs/bola/cult(user))
..()
diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm
index 210a25fcbc8..1aeaeebd220 100644
--- a/code/modules/antagonists/cult/cult_items.dm
+++ b/code/modules/antagonists/cult/cult_items.dm
@@ -20,6 +20,7 @@
w_class = WEIGHT_CLASS_SMALL
force = 15
throwforce = 25
+ block_chance = 25
wound_bonus = -10
bare_wound_bonus = 20
armour_penetration = 35
@@ -32,6 +33,19 @@
I.override = TRUE
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/silicons, "cult_dagger", I)
+/obj/item/melee/cultblade/dagger/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
+ var/block_message = "[owner] parries [attack_text] with [src]"
+ if(owner.get_active_held_item() != src)
+ block_message = "[owner] parries [attack_text] with [src] in their offhand"
+
+ if(iscultist(owner) && prob(final_block_chance) && attack_type != PROJECTILE_ATTACK)
+ new /obj/effect/temp_visual/cult/sparks(get_turf(owner))
+ playsound(src, 'sound/weapons/parry.ogg', 100, TRUE)
+ owner.visible_message("[block_message]")
+ return TRUE
+ else
+ return FALSE
+
/obj/item/melee/cultblade
name = "eldritch longsword"
desc = "A sword humming with unholy energy. It glows with a dim red light."
@@ -47,6 +61,7 @@
w_class = WEIGHT_CLASS_BULKY
force = 30 // whoever balanced this got beat in the head by a bible too many times good lord
throwforce = 10
+ block_chance = 50 // now it's officially a cult esword
wound_bonus = -50
bare_wound_bonus = 20
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -57,6 +72,15 @@
. = ..()
AddComponent(/datum/component/butchering, 40, 100)
+/obj/item/melee/cultblade/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(iscultist(owner) && prob(final_block_chance))
+ new /obj/effect/temp_visual/cult/sparks(get_turf(owner))
+ playsound(src, 'sound/weapons/parry.ogg', 100, TRUE)
+ owner.visible_message("[owner] parries [attack_text] with [src]!")
+ return TRUE
+ else
+ return FALSE
+
/obj/item/melee/cultblade/attack(mob/living/target, mob/living/carbon/human/user)
if(!iscultist(user))
user.Paralyze(100)
@@ -76,6 +100,7 @@
force = 19 //can't break normal airlocks
item_flags = NEEDS_PERMIT | DROPDEL
flags_1 = NONE
+ block_chance = 25 //these dweebs don't get full block chance, because they're free cultists
/obj/item/melee/cultblade/ghost/Initialize()
. = ..()
@@ -346,7 +371,7 @@
desc = "A heavily-armored helmet worn by warriors of the Nar'Sien cult. It can withstand hard vacuum."
icon_state = "cult_helmet"
inhand_icon_state = "cult_helmet"
- armor = list(MELEE = 70, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 40, ACID = 75)
+ armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 30, RAD = 30, FIRE = 100, ACID = 100)
light_system = NO_LIGHT_SUPPORT
light_range = 0
actions_types = list()
@@ -358,9 +383,12 @@
desc = "A heavily-armored exosuit worn by warriors of the Nar'Sien cult. It can withstand hard vacuum."
w_class = WEIGHT_CLASS_BULKY
allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals/)
- armor = list(MELEE = 70, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 40, ACID = 75)
+ armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 30, RAD = 30, FIRE = 100, ACID = 100)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cult
+/obj/item/clothing/suit/space/hardsuit/cult/real
+ slowdown = 0
+
/obj/item/sharpener/cult
name = "eldritch whetstone"
desc = "A block, empowered by dark magic. Sharp weapons will be enhanced when used on the stone."
@@ -446,7 +474,7 @@
/obj/item/clothing/glasses/hud/health/night/cultblind/equipped(mob/living/user, slot)
..()
- if(!iscultist(user))
+ if(!iscultist(user) && slot == ITEM_SLOT_EYES)
to_chat(user, "\"You want to be blind, do you?\"")
user.dropItemToGround(src, TRUE)
user.Dizzy(30)
@@ -719,16 +747,19 @@
/obj/item/melee/cultblade/halberd/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(wielded)
final_block_chance *= 2
- if(prob(final_block_chance))
+ if(iscultist(owner) && prob(final_block_chance))
if(attack_type == PROJECTILE_ATTACK)
owner.visible_message("[owner] deflects [attack_text] with [src]!")
- playsound(src, pick('sound/weapons/effects/ric1.ogg', 'sound/weapons/effects/ric2.ogg', 'sound/weapons/effects/ric3.ogg', 'sound/weapons/effects/ric4.ogg', 'sound/weapons/effects/ric5.ogg'), 100, TRUE)
+ playsound(get_turf(owner), pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE)
+ new /obj/effect/temp_visual/cult/sparks(get_turf(owner))
return TRUE
else
playsound(src, 'sound/weapons/parry.ogg', 100, TRUE)
owner.visible_message("[owner] parries [attack_text] with [src]!")
+ new /obj/effect/temp_visual/cult/sparks(get_turf(owner))
return TRUE
- return FALSE
+ else
+ return FALSE
/datum/action/innate/cult/halberd
name = "Bloody Bond"
diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm
index 616434a03c7..be811878d7b 100644
--- a/code/modules/antagonists/cult/cult_structures.dm
+++ b/code/modules/antagonists/cult/cult_structures.dm
@@ -148,19 +148,19 @@
to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].")
return
var/list/items = list(
- "Shielded Robe" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "cult_armor"),
+ "Nar'sien Hardened Armor" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "cult_armor"),
"Flagellant's Robe" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "cultrobes"),
- "Mirror Shield" = image(icon = 'icons/obj/shields.dmi', icon_state = "mirror_shield")
+ "Eldritch Longsword" = image(icon = 'icons/obj/items_and_weapons.dmi', icon_state = "cultblade")
)
var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
var/list/pickedtype = list()
switch(choice)
- if("Shielded Robe")
- pickedtype += /obj/item/clothing/suit/hooded/cultrobes/cult_shield
+ if("Nar'sien Hardened Armor")
+ pickedtype += /obj/item/clothing/suit/space/hardsuit/cult/real
if("Flagellant's Robe")
pickedtype += /obj/item/clothing/suit/hooded/cultrobes/berserker
- if("Mirror Shield")
- pickedtype += /obj/item/shield/mirror
+ if("Eldritch Longsword")
+ pickedtype += /obj/item/melee/cultblade
else
return
if(src && !QDELETED(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time)