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)