diff --git a/code/modules/antagonists/roguetown/villain/lich.dm b/code/modules/antagonists/roguetown/villain/lich.dm index 2e507a88069..96efc99b634 100644 --- a/code/modules/antagonists/roguetown/villain/lich.dm +++ b/code/modules/antagonists/roguetown/villain/lich.dm @@ -30,7 +30,8 @@ TRAIT_HEAVYARMOR, TRAIT_CABAL, TRAIT_DEATHSIGHT, - TRAIT_COUNTERCOUNTERSPELL + TRAIT_COUNTERCOUNTERSPELL, + TRAIT_RITUALIST ) var/STASTR = 10 @@ -183,6 +184,7 @@ SLOT_BELT_R, SLOT_BELT_L, SLOT_HANDS, + SLOT_HANDS, SLOT_BACK_L, ) @@ -199,6 +201,7 @@ /obj/item/reagent_containers/glass/bottle/rogue/manapot, /obj/item/rogueweapon/huntingknife/idagger/steel, /obj/item/rogueweapon/woodstaff/wise, + /obj/item/ritechalk, /obj/item/storage/backpack/rogue/satchel, ) for (var/i = 1, i <= equipment_slots.len, i++) diff --git a/code/modules/jobs/job_types/roguetown/adventurer/types/combat/wretch.dm b/code/modules/jobs/job_types/roguetown/adventurer/types/combat/wretch.dm index 507ddaca79e..5210fba3c74 100644 --- a/code/modules/jobs/job_types/roguetown/adventurer/types/combat/wretch.dm +++ b/code/modules/jobs/job_types/roguetown/adventurer/types/combat/wretch.dm @@ -149,6 +149,7 @@ H.mind.adjust_skillrank(/datum/skill/misc/climbing, 3, TRUE) H.mind.adjust_skillrank(/datum/skill/misc/reading, 3, TRUE) ADD_TRAIT(H, TRAIT_HEAVYARMOR, TRAIT_GENERIC) + ADD_TRAIT(H, TRAIT_RITUALIST, TRAIT_GENERIC) H.set_blindness(0) var/weapons = list("Bastard Sword","Mace","Flail") var/weapon_choice = input("Choose your weapon.", "TAKE UP ARMS") as anything in weapons @@ -180,7 +181,7 @@ backl = /obj/item/storage/backpack/rogue/satchel backr = /obj/item/rogueweapon/shield/tower/metal beltl = /obj/item/roguekey/inhumen - backpack_contents = list(/obj/item/storage/belt/rogue/pouch/coins/poor = 1, /obj/item/flashlight/flare/torch = 1, /obj/item/rogueweapon/huntingknife = 1) + backpack_contents = list(/obj/item/storage/belt/rogue/pouch/coins/poor = 1, /obj/item/flashlight/flare/torch = 1, /obj/item/rogueweapon/huntingknife = 1, /obj/item/ritechalk = 1) var/datum/devotion/C = new /datum/devotion(H, H.patron) C.grant_spells(H) START_PROCESSING(SSobj, C) diff --git a/modular_azurepeak/code/game/objects/items/ritechalk.dm b/modular_azurepeak/code/game/objects/items/ritechalk.dm index 3371df27df1..54fa0078b20 100644 --- a/modular_azurepeak/code/game/objects/items/ritechalk.dm +++ b/modular_azurepeak/code/game/objects/items/ritechalk.dm @@ -12,8 +12,8 @@ var/ritechoices = list() switch (user.patron?.type) -/* if(/datum/patron/inhumen/zizo) - ritechoices+="Rune of ZIZO" */ + if(/datum/patron/inhumen/zizo) + ritechoices+="Rune of ZIZO" if(/datum/patron/divine/astrata) ritechoices+="Rune of Sun" if(/datum/patron/divine/noc) @@ -88,8 +88,8 @@ if(do_after(user, 30, src)) playsound(src, 'sound/foley/scribble.ogg', 40, TRUE) new /obj/structure/ritualcircle/abyssor(step_turf) - /* if("Rune of ZIZO") + if("Rune of ZIZO") to_chat(user,span_cultsmall("I begin inscribing the rune of Her Knowledge...")) if(do_after(user, 30, src)) playsound(src, 'sound/foley/scribble.ogg', 40, TRUE) - new /obj/structure/ritualcircle/zizo(step_turf) */ + new /obj/structure/ritualcircle/zizo(step_turf) diff --git a/modular_azurepeak/code/game/objects/items/ritualcircles.dm b/modular_azurepeak/code/game/objects/items/ritualcircles.dm index f4a62fb0a2d..117d592fe9f 100644 --- a/modular_azurepeak/code/game/objects/items/ritualcircles.dm +++ b/modular_azurepeak/code/game/objects/items/ritualcircles.dm @@ -290,3 +290,70 @@ target.apply_status_effect(/datum/status_effect/buff/pacify) // TIME FOR THE ASCENDANT. These can be stronger. As they are pretty much antag exclusive - Iconoclast for Matthios, Lich for ZIZO. ZIZO! + + +/obj/structure/ritualcircle/zizo + name = "Rune of Progress" + desc = "A Holy Rune of ZIZO" +// icon_state = zizo_chalky - when we have it. + var/zizorites = list("Rite of Armaments") + +/obj/structure/ritualcircle/zizo/attack_hand(mob/living/user) + if((user.patron?.type) != /datum/patron/inhumen/zizo) + to_chat(user,span_smallred("I don't know the proper rites for this...")) + return + if(!HAS_TRAIT(user, TRAIT_RITUALIST)) + to_chat(user,span_smallred("I don't know the proper rites for this...")) + return + if(user.has_status_effect(/datum/status_effect/debuff/ritesexpended)) + to_chat(user,span_smallred("I have performed enough rituals for the day... I must rest before communing more.")) + return + var/riteselection = input(user, "Rituals of Progress", src) as null|anything in zizorites + switch(riteselection) // put ur rite selection here + if("Rite of Armaments") + if(do_after(user, 50)) + user.say("ZIZO! ZIZO! DAME OF PROGRESS!!") + if(do_after(user, 50)) + user.say("ZIZO! ZIZO! HEED MY CALL!!") + if(do_after(user, 50)) + user.say("ZIZO! ZIZO! ARMS TO SLAY THE IGNORANT!!") + if(do_after(user, 50)) + // icon_state = "zizo_active" + user.apply_status_effect(/datum/status_effect/debuff/ritesexpended) + zizoarmaments(src) +// icon_state = zizo_chalky - whip these bad boys out when we actually have the sprites + add a spawn timer to set the chalk state back. + +/obj/structure/ritualcircle/zizo/proc/zizoarmaments(src) + var/onrune = view(0, loc) + var/list/possible_targets = list() + for(var/mob/living/carbon/human/persononrune in onrune) + possible_targets += persononrune + var/mob/living/carbon/human/target = pick(possible_targets) + if(!HAS_TRAIT(target, TRAIT_CABAL)) + loc.visible_message(span_cult("THE RITE REJECTS ONE NOT OF THE CABAL")) + return + target.Stun(60) + target.Knockdown(60) + to_chat(target, span_userdanger("UNIMAGINABLE PAIN!")) + target.emote("Agony") + playsound(loc, 'sound/combat/newstuck.ogg', 50) + loc.visible_message(span_cult("Great hooks come from the rune, embedding into [target]'s ankles, pulling them onto the rune. Then, into their wrists. Their lux is torn from their chest, and reforms into armor. ")) + spawn(20) + playsound(loc, 'sound/combat/hits/onmetal/grille (2).ogg', 50) + target.equipOutfit(/datum/outfit/job/roguetown/darksteelrite) + target.apply_status_effect(/datum/status_effect/debuff/devitalised) + spawn(40) + to_chat(target, span_purple("They are ignorant, backwards, without hope. You. You will be powerful.")) + +/datum/outfit/job/roguetown/darksteelrite/pre_equip(mob/living/carbon/human/H) + ..() + var/list/items = list() + items |= H.get_equipped_items(TRUE) + for(var/I in items) + H.dropItemToGround(I, TRUE) + H.drop_all_held_items() + armor = /obj/item/clothing/suit/roguetown/armor/plate/full/zizo + pants = /obj/item/clothing/under/roguetown/platelegs/zizo + shoes = /obj/item/clothing/shoes/roguetown/boots/armor/zizo + gloves = /obj/item/clothing/gloves/roguetown/plate/zizo + head = /obj/item/clothing/head/roguetown/helmet/heavy/zizo