mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
Removes unused wizard_clothes.dm and moves wizard_weapons.dm into artefact.dm (#94731)
## About The Pull Request This PR removes unused wizard_clothes.dm which has a duplicate path overriding the magus helm armor values This PR moves wizard_weapons which includes the singularity hammer and mjollnir into the wizard antag module This PR moves wizard_robe into wizard antag module ## Why It's Good For The Game So things are easier to find ## Changelog 🆑 Ezel fix: fixes the armour value of the magus helm to be the same as all other wizard gear /🆑
This commit is contained in:
@@ -0,0 +1,305 @@
|
||||
/obj/item/clothing/head/wizard
|
||||
name = "wizard hat"
|
||||
desc = "Strange-looking hat-wear that most certainly belongs to a real magic user."
|
||||
icon = 'icons/obj/clothing/head/wizard.dmi'
|
||||
worn_icon = 'icons/mob/clothing/head/wizard.dmi'
|
||||
icon_state = "wizard"
|
||||
inhand_icon_state = "wizhat"
|
||||
armor_type = /datum/armor/head_wizard
|
||||
strip_delay = 5 SECONDS
|
||||
equip_delay_other = 5 SECONDS
|
||||
clothing_flags = SNUG_FIT | CASTING_CLOTHES
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
dog_fashion = /datum/dog_fashion/head/blue_wizard
|
||||
///How much this hat affects fishing difficulty
|
||||
var/fishing_modifier = -6
|
||||
|
||||
/obj/item/clothing/head/wizard/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/adjust_fishing_difficulty, fishing_modifier) //A wizard always practices his casting (ba dum tsh)
|
||||
|
||||
/datum/armor/head_wizard
|
||||
melee = 30
|
||||
bullet = 20
|
||||
laser = 20
|
||||
energy = 30
|
||||
bomb = 20
|
||||
bio = 100
|
||||
fire = 100
|
||||
acid = 100
|
||||
wound = 20
|
||||
|
||||
/obj/item/clothing/head/wizard/red
|
||||
name = "red wizard hat"
|
||||
desc = "Strange-looking red hat-wear that most certainly belongs to a real magic user."
|
||||
icon_state = "redwizard"
|
||||
dog_fashion = /datum/dog_fashion/head/red_wizard
|
||||
|
||||
/obj/item/clothing/head/wizard/yellow
|
||||
name = "yellow wizard hat"
|
||||
desc = "Strange-looking yellow hat-wear that most certainly belongs to a powerful magic user."
|
||||
icon_state = "yellowwizard"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/wizard/black
|
||||
name = "black wizard hat"
|
||||
desc = "Strange-looking black hat-wear that most certainly belongs to a real skeleton. Spooky."
|
||||
icon_state = "blackwizard"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/wizard/fake
|
||||
name = "wizard hat"
|
||||
desc = "It has WIZZARD written across it in sequins. Comes with a cool beard."
|
||||
icon_state = "wizard-fake"
|
||||
armor_type = /datum/armor/none
|
||||
resistance_flags = FLAMMABLE
|
||||
dog_fashion = /datum/dog_fashion/head/blue_wizard
|
||||
fishing_modifier = -2
|
||||
|
||||
/obj/item/clothing/head/wizard/chanterelle
|
||||
name = "chanterelle hat"
|
||||
desc = "An oversized chanterelle with hollow out space to fit a head in. Kinda looks like wizard's hat."
|
||||
icon_state = "chanterelle"
|
||||
inhand_icon_state = "chanterellehat"
|
||||
armor_type = /datum/armor/none
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/head/wizard/chanterelle/fr
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/wizard/marisa
|
||||
name = "witch hat"
|
||||
desc = "Strange-looking hat-wear. Makes you want to cast fireballs."
|
||||
icon = 'icons/map_icons/clothing/head/_head.dmi'
|
||||
icon_state = "/obj/item/clothing/head/wizard/marisa"
|
||||
post_init_icon_state = "witch_hat"
|
||||
greyscale_config = /datum/greyscale_config/witch_hat
|
||||
greyscale_config_worn = /datum/greyscale_config/witch_hat/worn
|
||||
greyscale_colors = "#343640#e0cab8#e0cab8"
|
||||
flags_1 = IS_PLAYER_COLORABLE_1
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/wizard/tape
|
||||
name = "tape hat"
|
||||
desc = "A magically attuned hat made exclusively from duct tape. You can barely see."
|
||||
icon_state = "tapehat"
|
||||
inhand_icon_state = "tapehat"
|
||||
dog_fashion = null
|
||||
worn_y_offset = 6
|
||||
body_parts_covered = HEAD //this used to also cover HAIR, but that was never valid code as HAIR is not actually a body_part define!
|
||||
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
|
||||
|
||||
/obj/item/clothing/head/wizard/magus
|
||||
name = "\improper Magus helm"
|
||||
icon_state = "magus"
|
||||
desc = "A mysterious helmet that hums with an unearthly power."
|
||||
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEARS|HIDEEYES|HIDESNOUT
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
inhand_icon_state = null
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/wizard/santa
|
||||
name = "Santa's hat"
|
||||
desc = "Ho ho ho. Merrry X-mas!"
|
||||
icon_state = "santahat"
|
||||
inhand_icon_state = "santahat"
|
||||
flags_inv = HIDEHAIR|HIDEFACIALHAIR
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/wizard/hood
|
||||
name = "wizard hood"
|
||||
icon_state = "wizhood"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe
|
||||
name = "wizard robe"
|
||||
desc = "A magnificent, gem-lined robe that seems to radiate power."
|
||||
icon = 'icons/obj/clothing/suits/wizard.dmi'
|
||||
icon_state = "wizard"
|
||||
worn_icon = 'icons/mob/clothing/suits/wizard.dmi'
|
||||
inhand_icon_state = "wizrobe"
|
||||
body_parts_covered = CHEST|GROIN|ARMS|LEGS
|
||||
armor_type = /datum/armor/suit_wizrobe
|
||||
allowed = list(/obj/item/teleportation_scroll, /obj/item/highfrequencyblade/wizard)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
strip_delay = 5 SECONDS
|
||||
equip_delay_other = 5 SECONDS
|
||||
clothing_flags = CASTING_CLOTHES
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
///How much this robe affects fishing difficulty
|
||||
var/fishing_modifier = -7
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/adjust_fishing_difficulty, fishing_modifier) //A wizard always practices his casting (ba dum tsh)
|
||||
|
||||
/datum/armor/suit_wizrobe
|
||||
melee = 30
|
||||
bullet = 20
|
||||
laser = 20
|
||||
energy = 30
|
||||
bomb = 20
|
||||
bio = 100
|
||||
fire = 100
|
||||
acid = 100
|
||||
wound = 20
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/red
|
||||
name = "red wizard robe"
|
||||
desc = "A magnificent red gem-lined robe that seems to radiate power."
|
||||
icon_state = "redwizard"
|
||||
inhand_icon_state = null
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/yellow
|
||||
name = "yellow wizard robe"
|
||||
desc = "A magnificent yellow gem-lined robe that seems to radiate power."
|
||||
icon_state = "yellowwizard"
|
||||
inhand_icon_state = null
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/black
|
||||
name = "black wizard robe"
|
||||
desc = "An unnerving black gem-lined robe that reeks of death and decay."
|
||||
icon_state = "blackwizard"
|
||||
inhand_icon_state = null
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/marisa
|
||||
name = "witch robe"
|
||||
desc = "Magic is all about the spell power, ZE!"
|
||||
icon_state = "marisa"
|
||||
inhand_icon_state = null
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/tape
|
||||
name = "tape robe"
|
||||
desc = "A fine robe made from magically attuned duct tape."
|
||||
icon_state = "taperobe"
|
||||
inhand_icon_state = "taperobe"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/magusblue
|
||||
name = "\improper Magus robe"
|
||||
desc = "A set of armored robes that seem to radiate a dark power."
|
||||
icon_state = "magusblue"
|
||||
inhand_icon_state = null
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/magusred
|
||||
name = "\improper Magus robe"
|
||||
desc = "A set of armored robes that seem to radiate a dark power."
|
||||
icon_state = "magusred"
|
||||
inhand_icon_state = null
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/santa
|
||||
name = "Santa's suit"
|
||||
desc = "Festive!"
|
||||
icon_state = "santa"
|
||||
inhand_icon_state = "santa"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/fake
|
||||
name = "wizard robe"
|
||||
desc = "A rather dull blue robe meant to mimic real wizard robes."
|
||||
icon_state = "wizard-fake"
|
||||
inhand_icon_state = "wizrobe"
|
||||
armor_type = /datum/armor/none
|
||||
resistance_flags = FLAMMABLE
|
||||
fishing_modifier = -3
|
||||
|
||||
/obj/item/clothing/head/wizard/marisa/fake
|
||||
name = "witch hat"
|
||||
flags_1 = parent_type::flags_1 | NO_NEW_GAGS_PREVIEW_1
|
||||
armor_type = /datum/armor/none
|
||||
resistance_flags = FLAMMABLE
|
||||
fishing_modifier = -2
|
||||
|
||||
/obj/item/clothing/head/wizard/tape/fake
|
||||
name = "tape hat"
|
||||
desc = "A hat designed exclusively from duct tape. You can barely see."
|
||||
armor_type = /datum/armor/none
|
||||
resistance_flags = FLAMMABLE
|
||||
fishing_modifier = -2
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/marisa/fake
|
||||
name = "witch robe"
|
||||
desc = "Magic is all about the spell power, ZE!"
|
||||
icon_state = "marisa"
|
||||
inhand_icon_state = null
|
||||
armor_type = /datum/armor/none
|
||||
resistance_flags = FLAMMABLE
|
||||
fishing_modifier = -3
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/tape/fake
|
||||
name = "tape robe"
|
||||
desc = "An outfit designed exclusively from duct tape. It was hard to put on."
|
||||
armor_type = /datum/armor/none
|
||||
resistance_flags = FLAMMABLE
|
||||
fishing_modifier = -3
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/durathread
|
||||
name = "durathread robe"
|
||||
desc = "A rather dull durathread robe; not quite as protective as a proper piece of armour, but much more stylish."
|
||||
icon_state = "durathread-fake"
|
||||
inhand_icon_state = null
|
||||
armor_type = /datum/armor/robe_durathread
|
||||
allowed = /obj/item/clothing/suit/apron::allowed
|
||||
fishing_modifier = -6
|
||||
|
||||
/datum/armor/robe_durathread
|
||||
melee = 15
|
||||
bullet = 5
|
||||
laser = 25
|
||||
energy = 30
|
||||
bomb = 10
|
||||
fire = 30
|
||||
acid = 40
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/durathread/fire
|
||||
name = "pyromancer robe"
|
||||
desc = "A rather dull durathread robe; not quite as protective as woven armour, but much more stylish."
|
||||
icon_state = "durathread-fire"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/durathread/ice
|
||||
name = "pyromancer robe"
|
||||
desc = "A rather dull durathread robe; not quite as protective as woven armour, but much more stylish."
|
||||
icon_state = "durathread-ice"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/durathread/electric
|
||||
name = "electromancer robe"
|
||||
desc = "Doesn't actually conduit or isolate from electricity. Though it does have some durability on account of being made from durathread."
|
||||
icon_state = "durathread-electric"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/durathread/earth
|
||||
name = "geomancer robe"
|
||||
desc = "A rather dull durathread robe; not quite as protective as woven armour, but much more stylish."
|
||||
icon_state = "durathread-earth"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/durathread/necro
|
||||
name = "necromancer robe"
|
||||
desc = "A rather dull durathread robe; not quite as protective as woven armour, but much more stylish."
|
||||
icon_state = "durathread-necro"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/paper
|
||||
name = "papier-mache robe" // no non-latin characters!
|
||||
desc = "A robe held together by various bits of clear-tape and paste."
|
||||
icon_state = "wizard-paper"
|
||||
inhand_icon_state = null
|
||||
COOLDOWN_DECLARE(summoning_cooldown)
|
||||
actions_types = list(/datum/action/item_action/stickmen)
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/paper/ui_action_click(mob/user, action)
|
||||
if(!ishuman(user))
|
||||
return
|
||||
|
||||
if(!COOLDOWN_FINISHED(src, summoning_cooldown))
|
||||
user.balloon_alert(user, "robe recharging!")
|
||||
return
|
||||
|
||||
conjure_stickmen(user)
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/paper/proc/conjure_stickmen(mob/living/carbon/human/summoner)
|
||||
summoner.force_say()
|
||||
summoner.say("Rise, my creation! Off your page into this realm!", forced = "stickman summoning")
|
||||
playsound(src, 'sound/effects/magic/summon_magic.ogg', 50, TRUE, TRUE)
|
||||
|
||||
var/mob/living/stickman = new /mob/living/basic/stickman/lesser(get_turf(summoner))
|
||||
|
||||
stickman.faction |= summoner.faction - FACTION_NEUTRAL //These bad boys shouldn't inherit the neutral faction from the crew
|
||||
|
||||
COOLDOWN_START(src, summoning_cooldown, 3 SECONDS)
|
||||
@@ -0,0 +1,129 @@
|
||||
/////////////////////////////////////////Singularity Hammer///////////////////
|
||||
/obj/item/singularityhammer
|
||||
name = "singularity hammer"
|
||||
desc = "The pinnacle of close combat technology, the hammer harnesses the power of a miniaturized singularity to deal crushing blows."
|
||||
icon = 'icons/obj/weapons/hammer.dmi'
|
||||
icon_state = "singularity_hammer0"
|
||||
base_icon_state = "singularity_hammer"
|
||||
icon_angle = -45
|
||||
lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi'
|
||||
worn_icon_state = "singularity_hammer"
|
||||
obj_flags = CONDUCTS_ELECTRICITY
|
||||
slot_flags = ITEM_SLOT_BACK
|
||||
force = 5
|
||||
throwforce = 15
|
||||
throw_range = 1
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
armor_type = /datum/armor/item_singularityhammer
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
force_string = "LORD SINGULOTH HIMSELF"
|
||||
///Is it able to pull shit right now?
|
||||
var/charged = TRUE
|
||||
|
||||
/datum/armor/item_singularityhammer
|
||||
melee = 50
|
||||
bullet = 50
|
||||
laser = 50
|
||||
bomb = 50
|
||||
fire = 100
|
||||
acid = 100
|
||||
|
||||
/obj/item/singularityhammer/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/kneejerk)
|
||||
AddComponent(/datum/component/two_handed, \
|
||||
force_multiplier = 4, \
|
||||
icon_wielded = "[base_icon_state]1", \
|
||||
)
|
||||
|
||||
/obj/item/singularityhammer/update_icon_state()
|
||||
icon_state = "[base_icon_state]0"
|
||||
return ..()
|
||||
|
||||
/obj/item/singularityhammer/proc/vortex(turf/pull, mob/wielder)
|
||||
for(var/atom/X in orange(5,pull))
|
||||
if(ismovable(X))
|
||||
var/atom/movable/A = X
|
||||
if(A == wielder)
|
||||
continue
|
||||
if(isliving(A))
|
||||
var/mob/living/vortexed_mob = A
|
||||
if(vortexed_mob.mob_negates_gravity())
|
||||
continue
|
||||
else
|
||||
vortexed_mob.Paralyze(2 SECONDS)
|
||||
if(!A.anchored && !isobserver(A))
|
||||
step_towards(A,pull)
|
||||
step_towards(A,pull)
|
||||
step_towards(A,pull)
|
||||
|
||||
/obj/item/singularityhammer/afterattack(atom/target, mob/user, list/modifiers, list/attack_modifiers)
|
||||
if(!HAS_TRAIT(src, TRAIT_WIELDED))
|
||||
return
|
||||
if(!charged)
|
||||
return
|
||||
|
||||
charged = FALSE
|
||||
if(isliving(target) && !QDELETED(target))
|
||||
var/mob/living/smacked = target
|
||||
smacked.take_bodypart_damage(20, 0)
|
||||
playsound(user, 'sound/items/weapons/marauder.ogg', 50, TRUE)
|
||||
vortex(get_turf(target), user)
|
||||
addtimer(VARSET_CALLBACK(src, charged, TRUE), 10 SECONDS)
|
||||
|
||||
/////////////////////////////////////////Mjollnir///////////////////
|
||||
/obj/item/mjollnir
|
||||
name = "Mjollnir"
|
||||
desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy."
|
||||
icon = 'icons/obj/weapons/hammer.dmi'
|
||||
icon_state = "mjollnir0"
|
||||
base_icon_state = "mjollnir"
|
||||
worn_icon_state = "mjollnir"
|
||||
icon_angle = -45
|
||||
lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi'
|
||||
obj_flags = CONDUCTS_ELECTRICITY
|
||||
slot_flags = ITEM_SLOT_BACK
|
||||
force = 5
|
||||
throwforce = 30
|
||||
throw_range = 7
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
|
||||
/obj/item/mjollnir/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/two_handed, \
|
||||
force_multiplier = 5, \
|
||||
icon_wielded = "[base_icon_state]1", \
|
||||
attacksound = SFX_SPARKS, \
|
||||
)
|
||||
|
||||
/obj/item/mjollnir/update_icon_state()
|
||||
icon_state = "[base_icon_state]0"
|
||||
return ..()
|
||||
|
||||
/obj/item/mjollnir/proc/shock(mob/living/target)
|
||||
target.Stun(1.5 SECONDS)
|
||||
target.Knockdown(10 SECONDS)
|
||||
var/datum/effect_system/lightning_spread/s = new /datum/effect_system/lightning_spread
|
||||
s.set_up(5, 1, target.loc)
|
||||
s.start()
|
||||
target.visible_message(span_danger("[target.name] is shocked by [src]!"), \
|
||||
span_userdanger("You feel a powerful shock course through your body sending you flying!"), \
|
||||
span_hear("You hear a heavy electrical crack!"))
|
||||
var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src)))
|
||||
target.throw_at(throw_target, 200, 4)
|
||||
|
||||
/obj/item/mjollnir/attack(mob/living/target_mob, mob/user)
|
||||
..()
|
||||
if(QDELETED(target_mob))
|
||||
return
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
return
|
||||
if(HAS_TRAIT(src, TRAIT_WIELDED))
|
||||
shock(target_mob)
|
||||
|
||||
/obj/item/mjollnir/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
|
||||
. = ..()
|
||||
if(!QDELETED(hit_atom) && isliving(hit_atom))
|
||||
shock(hit_atom)
|
||||
Reference in New Issue
Block a user