mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
181 lines
6.8 KiB
Plaintext
181 lines
6.8 KiB
Plaintext
/obj/item/nullrod/papal_staff
|
|
name = "papal staff"
|
|
desc = "A staff used by traditional bishops and popes."
|
|
icon = 'modular_zubbers/icons/obj/items_and_weapons.dmi'
|
|
icon_state = "papal_staff"
|
|
inhand_icon_state = "papal_staff"
|
|
inside_belt_icon_state = "baguette"
|
|
worn_icon_state = "baguette"
|
|
lefthand_file = 'modular_zubbers/icons/mob/inhands/weapons/melee_lefthand.dmi'
|
|
righthand_file = 'modular_zubbers/icons/mob/inhands/weapons/melee_righthand.dmi'
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
attack_verb_continuous = list("smacks", "strucks", "cracks", "beats", "purifies")
|
|
attack_verb_simple = list("smack", "struck", "crack", "beat", "purify")
|
|
|
|
/obj/item/clothing/head/mitre
|
|
name = "papal mitre"
|
|
desc = "A traditional headdress, worn by bishops and popes in traditional Christianity"
|
|
icon = 'modular_zubbers/icons/mob/clothing/hats.dmi'
|
|
worn_icon = 'modular_zubbers/icons/mob/clothing/32x48_head.dmi'
|
|
icon_state = "mitre"
|
|
|
|
/obj/item/clothing/suit/chaplainsuit/armor/papal
|
|
name = "papal robe"
|
|
desc = "A short cape over a cassock, worn by bishops and popes in traditional Christianity"
|
|
icon = 'modular_zubbers/icons/obj/clothing/suits.dmi'
|
|
worn_icon = 'modular_zubbers/icons/mob/clothing/suits.dmi'
|
|
icon_state = "papalrobe"
|
|
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
|
supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
|
|
|
|
/obj/item/storage/box/holy/papal
|
|
name = "Papal Kit"
|
|
typepath_for_preview = /obj/item/clothing/suit/chaplainsuit/armor/papal
|
|
|
|
/obj/item/storage/box/holy/papal/PopulateContents()
|
|
new /obj/item/clothing/head/mitre(src)
|
|
new /obj/item/clothing/suit/chaplainsuit/armor/papal(src)
|
|
|
|
///////////////////////////////
|
|
//// HYPEREUTACTIC BLADE /////
|
|
/////////////////////////////
|
|
/obj/item/dualsaber/chaplain
|
|
// Original from Citadel by Sishen1542
|
|
icon = 'modular_zubbers/icons/obj/weapons/1x2.dmi'
|
|
icon_state = "hypereutactic"
|
|
worn_icon = 'modular_zubbers/icons/mob/clothing/belt.dmi'
|
|
inhand_icon_state = "hypereutactic"
|
|
lefthand_file = 'modular_zubbers/icons/mob/inhands/64x64_lefthand.dmi'
|
|
righthand_file = 'modular_zubbers/icons/mob/inhands/64x64_righthand.dmi'
|
|
inhand_x_dimension = 64
|
|
inhand_y_dimension = 64
|
|
name = "divine lightblade"
|
|
desc = "A giant blade of bright and holy light, said to cut down the wicked with ease."
|
|
obj_flags = UNIQUE_RENAME
|
|
slot_flags = ITEM_SLOT_BELT
|
|
item_flags = NO_BLOOD_ON_ITEM | SLOWS_WHILE_IN_HAND | IMMUTABLE_SLOW
|
|
force = 5
|
|
armour_penetration = 0
|
|
throwforce = 5
|
|
throw_speed = 3
|
|
throw_range = 5
|
|
attack_verb_continuous = list("attackes", "slashes", "stabs", "slices", "destroys", "rips", "devastates", "shreds")
|
|
attack_verb_simple = list("attack", "slash", "stab", "slice", "destroy", "rip", "devastate", "shred")
|
|
block_chance = 30
|
|
block_sound = 'modular_zubbers/sound/weapons/nebblock.ogg'
|
|
two_hand_force = 20
|
|
slowdown = 0
|
|
var/chaplain_spawnable = TRUE
|
|
var/menu_description = "A huge energy blade, it possesses the unique ability to block projectiles, but the unwieldy nature of it \
|
|
means that you'll be forced to move carefully while it's on. Fits in pockets, and can be worn on the belt when off."
|
|
var/list/cultists_slain
|
|
|
|
/obj/item/dualsaber/chaplain/Initialize(mapload) //HEAVENLY FATHER I CRAVE COMPONENTS
|
|
. = ..()
|
|
AddComponent(/datum/component/two_handed, \
|
|
force_unwielded = force, \
|
|
force_wielded = two_hand_force, \
|
|
wieldsound = 'modular_zubbers/sound/weapons/nebon.ogg', \
|
|
unwieldsound = 'modular_zubbers/sound/weapons/neboff.ogg', \
|
|
wield_callback = CALLBACK(src, PROC_REF(on_wield)), \
|
|
unwield_callback = CALLBACK(src, PROC_REF(on_unwield)), \
|
|
)
|
|
AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE,)
|
|
AddComponent(/datum/component/effect_remover, \
|
|
success_feedback = "You disrupt the magic of %THEEFFECT with %THEWEAPON.", \
|
|
success_forcesay = "BEGONE FOUL MAGIKS!!", \
|
|
tip_text = "Clear rune", \
|
|
on_clear_callback = CALLBACK(src, PROC_REF(on_cult_rune_removed)), \
|
|
effects_we_clear = list(/obj/effect/rune, /obj/effect/heretic_rune, /obj/effect/cosmic_rune), \
|
|
)
|
|
AddComponent(/datum/component/bane, affected_biotypes = MOB_SPIRIT, added_damage = 30)
|
|
|
|
/obj/item/dualsaber/chaplain/proc/on_cult_rune_removed(obj/effect/target, mob/living/user)
|
|
if(!istype(target, /obj/effect/rune))
|
|
return
|
|
|
|
/obj/item/dualsaber/chaplain/on_wield()
|
|
.=..()
|
|
slowdown = 1
|
|
|
|
/obj/item/dualsaber/chaplain/on_unwield()
|
|
.=..()
|
|
slowdown = 0
|
|
|
|
/obj/item/dualsaber/chaplain/attack(mob/living/target_mob, mob/living/user, params)
|
|
if(!user.mind?.holy_role)
|
|
return ..()
|
|
if(!IS_CULTIST(target_mob) || istype(target_mob, /mob/living/carbon/human/cult_ghost))
|
|
return ..()
|
|
|
|
var/old_stat = target_mob.stat
|
|
. = ..()
|
|
if(old_stat < target_mob.stat)
|
|
LAZYOR(cultists_slain, REF(target_mob))
|
|
return .
|
|
|
|
/obj/item/dualsaber/chaplain/update_icon_state()
|
|
.=..()
|
|
icon_state = inhand_icon_state = "hypereutactic"
|
|
return
|
|
|
|
/obj/item/dualsaber/chaplain/update_overlays()
|
|
. = ..()
|
|
var/mutable_appearance/blade_overlay = mutable_appearance(icon, "hypereutactic_blade")
|
|
var/mutable_appearance/gem_overlay = mutable_appearance(icon, "hypereutactic_gem")
|
|
|
|
if(light_color)
|
|
blade_overlay.color = light_color
|
|
gem_overlay.color = light_color
|
|
|
|
. += gem_overlay
|
|
|
|
if(HAS_TRAIT(src, TRAIT_WIELDED))
|
|
. += blade_overlay
|
|
|
|
/obj/item/dualsaber/chaplain/click_alt(mob/user)
|
|
. = ..()
|
|
if(!user.can_perform_action(src, SILENT_ADJACENCY) || hacked)
|
|
return
|
|
if(user.incapacitated || !istype(user))
|
|
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
|
return
|
|
if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes")
|
|
var/energy_color_input = tgui_color_picker(usr,"","Choose Energy Color",light_color) // BUBBERSTATION EDIT: TGUI COLOR PICKER
|
|
if(!energy_color_input || !user.can_perform_action(src, SILENT_ADJACENCY) || hacked)
|
|
return
|
|
set_light_color(energy_color_input)
|
|
update_icon()
|
|
update_overlays()
|
|
return TRUE
|
|
|
|
/obj/item/dualsaber/chaplain/process()
|
|
. = ..()
|
|
if(HAS_TRAIT(src, TRAIT_WIELDED))
|
|
if(hacked)
|
|
set_light_color(light_color)
|
|
open_flame()
|
|
else
|
|
return PROCESS_KILL
|
|
|
|
/obj/item/dualsaber/chaplain/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE)
|
|
. = ..()
|
|
if(isinhands)
|
|
var/mutable_appearance/gem_inhand = mutable_appearance(icon_file, "hypereutactic_gem")
|
|
gem_inhand.color = light_color
|
|
. += gem_inhand
|
|
if(HAS_TRAIT(src, TRAIT_WIELDED))
|
|
var/mutable_appearance/blade_inhand = mutable_appearance(icon_file, "hypereutactic_blade")
|
|
blade_inhand.color = light_color
|
|
. += blade_inhand
|
|
|
|
/obj/item/dualsaber/chaplain/examine(mob/user)
|
|
. = ..()
|
|
. += "<span class='notice'>Alt-click to recolor it.</span>"
|
|
if (!IS_CULTIST(user) || !GET_ATOM_BLOOD_DNA_LENGTH(src))
|
|
return
|
|
|
|
var/num_slain = LAZYLEN(cultists_slain)
|
|
. += span_cult_italic("It has the blood of [num_slain] fallen cultist[num_slain == 1 ? "" : "s"] on it. \
|
|
<b>Offering</b> it to Nar'sie will transform it into a [num_slain >= 3 ? "powerful" : "standard"] cult weapon.")
|