mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-27 02:22:26 +00:00
Raging Mages: A Magistake (#9891)
Added a new gamemode, Magistake, where a group of four rookie mages take the skipjack on a joyride to the station.
Magical staves now show their ammo on the HUD.
Magic missile no longer targets fellow magic users.
Note to maintainers: This should be added to the server's config after being merged, to allow it to happen in Secret.
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
#define MODE_ERT "ert"
|
||||
#define MODE_MERCENARY "mercenary"
|
||||
#define MODE_NINJA "ninja"
|
||||
#define MODE_RAIDER_MAGE "raider mage"
|
||||
#define MODE_RAIDER "raider"
|
||||
#define MODE_BURGLAR "burglar"
|
||||
#define MODE_WIZARD "wizard"
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
var/r_pocket = null
|
||||
var/suit_store = null
|
||||
var/accessory = null
|
||||
var/suit_accessory = null
|
||||
|
||||
//The following vars must be paths
|
||||
var/l_hand = null
|
||||
@@ -39,6 +40,7 @@
|
||||
var/list/accessory_contents = list()
|
||||
var/list/belt_contents = list() //In the list(path=count,otherpath=count) format
|
||||
var/list/implants = null //A list of implants that should be implanted
|
||||
var/list/spells = list() // A list of spells to grant
|
||||
|
||||
/datum/outfit/proc/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
//to be overriden for customization depending on client prefs,species etc
|
||||
@@ -89,7 +91,7 @@
|
||||
else
|
||||
H.equip_to_slot_or_del(I, slot)
|
||||
|
||||
/datum/outfit/proc/equip_accessory(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
/datum/outfit/proc/equip_uniform_accessory(mob/living/carbon/human/H)
|
||||
if(!H)
|
||||
return
|
||||
|
||||
@@ -114,6 +116,15 @@
|
||||
if(W)
|
||||
holster.holster(W, H)
|
||||
|
||||
/datum/outfit/proc/equip_suit_accessory(mob/living/carbon/human/H)
|
||||
if(!H)
|
||||
return
|
||||
|
||||
var/obj/item/clothing/suit/S = H.get_equipped_item(slot_wear_suit)
|
||||
if(S)
|
||||
var/obj/item/clothing/accessory/A = new suit_accessory
|
||||
S.attach_accessory(H, A)
|
||||
|
||||
/datum/outfit/proc/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
//to be overriden for changing items post equip (such as toggeling internals, ...)
|
||||
|
||||
@@ -124,9 +135,11 @@
|
||||
if(uniform)
|
||||
equip_item(H, uniform, slot_w_uniform)
|
||||
if(accessory)
|
||||
equip_accessory(H)
|
||||
equip_uniform_accessory(H)
|
||||
if(suit)
|
||||
equip_item(H, suit, slot_wear_suit)
|
||||
if(suit_accessory)
|
||||
equip_suit_accessory(H)
|
||||
if(belt)
|
||||
equip_item(H, belt, slot_belt)
|
||||
if(gloves)
|
||||
@@ -199,6 +212,14 @@
|
||||
affected.implants += I
|
||||
I.part = affected
|
||||
|
||||
if(spells)
|
||||
for(var/spell in spells)
|
||||
var/spell/new_spell = new spell
|
||||
H.add_spell(new_spell)
|
||||
if(spells[spell] > 1)
|
||||
for(var/i = 1 to spells[spell])
|
||||
new_spell.empower_spell()
|
||||
|
||||
H.update_body()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -544,4 +544,81 @@
|
||||
head = /obj/item/clothing/head/helmet/space/cult
|
||||
suit = /obj/item/clothing/suit/space/cult
|
||||
|
||||
suit_store = /obj/item/gun/energy/rifle/cult
|
||||
suit_store = /obj/item/gun/energy/rifle/cult
|
||||
|
||||
/datum/outfit/admin/syndicate/raider_mage
|
||||
name = "Raider Mage"
|
||||
allow_backbag_choice = FALSE
|
||||
|
||||
uniform = /obj/item/clothing/under/syndicate/ninja
|
||||
suit = null
|
||||
shoes = /obj/item/clothing/shoes/sandal
|
||||
head = null
|
||||
|
||||
back = /obj/item/gun/energy/staff/focus
|
||||
belt = /obj/item/storage/belt/fannypack/component
|
||||
gloves = null
|
||||
l_ear = /obj/item/device/radio/headset/raider
|
||||
l_pocket = null
|
||||
r_pocket = null
|
||||
id = /obj/item/storage/wallet/random
|
||||
|
||||
accessory = /obj/item/clothing/accessory/storage/webbing
|
||||
backpack_contents = list()
|
||||
|
||||
/datum/outfit/admin/syndicate/raider_mage/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
var/list/loadouts = list("Nature", "Techno", "Cobra", "Brawler", "Shimmer")
|
||||
if(H.gender in list(FEMALE, PLURAL, NEUTER))
|
||||
loadouts += list("Storm", "Sorceress")
|
||||
|
||||
switch(pick(loadouts))
|
||||
if("Nature")
|
||||
head = /obj/item/clothing/head/wizard/nature
|
||||
suit = /obj/item/clothing/suit/wizrobe/nature
|
||||
suit_accessory = /obj/item/clothing/accessory/poncho/nature
|
||||
spells = list(/spell/targeted/heal_target/major = 2, /spell/targeted/entangle = 2, /spell/aoe_turf/conjure/grove/sanctuary = 2)
|
||||
if("Techno")
|
||||
head = /obj/item/clothing/head/wizard/techno
|
||||
suit = /obj/item/clothing/suit/wizrobe/techno
|
||||
uniform = /obj/item/clothing/under/techo
|
||||
shoes = /obj/item/clothing/shoes/techno
|
||||
spells = list(/spell/aoe_turf/knock = 2, /spell/aoe_turf/conjure/forcewall = 2, /spell/aoe_turf/disable_tech = 2)
|
||||
if("Cobra")
|
||||
head = /obj/item/clothing/head/wizard/cobra
|
||||
suit = /obj/item/clothing/suit/wizrobe/cobra
|
||||
shoes = /obj/item/clothing/shoes/hitops/red
|
||||
spells = list(/spell/targeted/mend = 2, /spell/targeted/life_steal = 2, /spell/aoe_turf/conjure/soulstone = 2)
|
||||
if("Brawler")
|
||||
head = /obj/item/clothing/head/wizard/brawler
|
||||
suit = /obj/item/clothing/suit/wizrobe/brawler
|
||||
shoes = /obj/item/clothing/shoes/caligae
|
||||
spells = list(/spell/targeted/projectile/dumbfire/passage = 2, /spell/targeted/equip_item/shield = 2, /spell/targeted/torment = 2)
|
||||
if("Shimmer")
|
||||
head = /obj/item/clothing/head/wizard/shimmer
|
||||
suit = /obj/item/clothing/suit/wizrobe/shimmer
|
||||
spells = list(/spell/radiant_aura = 2, /spell/targeted/projectile/dumbfire/stuncuff = 2, /spell/aoe_turf/conjure/golem = 2)
|
||||
if("Storm")
|
||||
head = /obj/item/clothing/head/wizard/storm
|
||||
suit = /obj/item/clothing/suit/wizrobe/storm
|
||||
shoes = /obj/item/clothing/shoes/heels
|
||||
spells = list(/spell/targeted/projectile/magic_missile = 2, /spell/targeted/genetic/blind = 2, /spell/targeted/shapeshift/avian = 2)
|
||||
if("Sorceress")
|
||||
head = /obj/item/clothing/head/wizard/sorceress
|
||||
suit = /obj/item/clothing/suit/wizrobe/sorceress
|
||||
spells = list(/spell/targeted/projectile/dumbfire/fireball = 2, /spell/aoe_turf/conjure/creature = 2, /spell/shadow_shroud = 2)
|
||||
return ..()
|
||||
|
||||
/datum/outfit/admin/syndicate/raider_mage/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
. = ..()
|
||||
if(visualsOnly)
|
||||
return
|
||||
|
||||
if(!H.shoes)
|
||||
var/fallback_type = pick(/obj/item/clothing/shoes/sandal, /obj/item/clothing/shoes/jackboots/toeless, /obj/item/clothing/shoes/laceup/brown/all_species, /obj/item/clothing/shoes/laceup/all_species)
|
||||
H.equip_to_slot_or_del(new fallback_type(H), slot_shoes)
|
||||
|
||||
var/obj/item/storage/wallet/W = H.wear_id
|
||||
var/obj/item/card/id/syndicate/raider/passport = new(H.loc)
|
||||
passport.name = "[H.real_name]'s Passport"
|
||||
if(W)
|
||||
W.handle_item_insertion(passport)
|
||||
@@ -121,6 +121,8 @@
|
||||
if(ishuman(player))
|
||||
var/mob/living/carbon/human/H = player
|
||||
var/datum/language/L = H.default_language
|
||||
if(!L)
|
||||
L = all_languages[LANGUAGE_TCB]
|
||||
H.real_name = L.get_random_name()
|
||||
H.name = H.real_name
|
||||
H.dna.real_name = H.real_name
|
||||
|
||||
63
code/game/antagonist/outsider/raider_mage.dm
Normal file
63
code/game/antagonist/outsider/raider_mage.dm
Normal file
@@ -0,0 +1,63 @@
|
||||
var/datum/antagonist/raider_mage/raider_mage
|
||||
|
||||
/datum/antagonist/raider_mage
|
||||
id = MODE_RAIDER_MAGE
|
||||
role_text = "Raider Mage"
|
||||
role_text_plural = "Raider Mages"
|
||||
bantype = "raider"
|
||||
antag_indicator = "magineer"
|
||||
landmark_id = "voxstart"
|
||||
welcome_text = "Use :H to talk on your encrypted channel."
|
||||
flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_NO_FLAVORTEXT
|
||||
antaghud_indicator = "hudmagineer"
|
||||
required_age = 10
|
||||
|
||||
hard_cap = 6
|
||||
hard_cap_round = 10
|
||||
initial_spawn_req = 4
|
||||
initial_spawn_target = 6
|
||||
|
||||
faction = "Space Wizard"
|
||||
|
||||
id_type = /obj/item/card/id/syndicate/raider
|
||||
|
||||
/datum/antagonist/raider_mage/New()
|
||||
..()
|
||||
raider_mage = src
|
||||
|
||||
/datum/antagonist/raider_mage/update_access(var/mob/living/player)
|
||||
for(var/obj/item/storage/wallet/W in player.contents)
|
||||
for(var/obj/item/card/id/id in W.contents)
|
||||
id.name = "[player.real_name]'s Passport"
|
||||
id.registered_name = player.real_name
|
||||
W.name = "[initial(W.name)] ([id.name])"
|
||||
|
||||
/datum/antagonist/raider_mage/proc/is_raider_crew_safe()
|
||||
if(!length(current_antagonists))
|
||||
return FALSE
|
||||
|
||||
for(var/datum/mind/player in current_antagonists)
|
||||
if(!player.current || get_area(player.current) != locate(/area/antag/raider))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/antagonist/raider_mage/equip(var/mob/living/carbon/human/player)
|
||||
if(!..())
|
||||
return FALSE
|
||||
|
||||
for(var/obj/item/I in player)
|
||||
if(istype(I, /obj/item/implant))
|
||||
continue
|
||||
player.drop_from_inventory(I)
|
||||
if(I.loc != player)
|
||||
qdel(I)
|
||||
|
||||
player.preEquipOutfit(/datum/outfit/admin/syndicate/raider_mage, FALSE)
|
||||
player.equipOutfit(/datum/outfit/admin/syndicate/raider_mage, FALSE)
|
||||
player.force_update_limbs()
|
||||
player.update_eyes()
|
||||
player.regenerate_icons()
|
||||
return TRUE
|
||||
|
||||
/datum/antagonist/raider_mage/get_antag_radio()
|
||||
return "Raider"
|
||||
@@ -1,8 +1,3 @@
|
||||
/*
|
||||
VOX HEIST ROUNDTYPE
|
||||
*/
|
||||
|
||||
|
||||
/datum/game_mode/heist
|
||||
name = "heist"
|
||||
config_tag = "heist"
|
||||
@@ -14,3 +9,10 @@ VOX HEIST ROUNDTYPE
|
||||
for their greedy plans."
|
||||
end_on_antag_death = 1
|
||||
antag_tags = list(MODE_RAIDER)
|
||||
|
||||
/datum/game_mode/heist/apprentices
|
||||
name = "magistake"
|
||||
config_tag = "magistake"
|
||||
extended_round_description = "The galaxy is a place full of dangers, even the inner colonies are not free of such scourges. \
|
||||
Some say that the best raiders have a touch of magic to their art of plunder, but that's just hearsay."
|
||||
antag_tags = list(MODE_RAIDER_MAGE)
|
||||
@@ -420,6 +420,12 @@
|
||||
storage_slots = null
|
||||
max_storage_space = 8
|
||||
|
||||
/obj/item/storage/belt/fannypack/component
|
||||
name = "component pouch"
|
||||
desc = "A dorky fannypack for keeping small items in. Also stores magickal components!"
|
||||
starts_with = list(/obj/item/toy/snappop/syndi = 3, /obj/item/reagent_containers/glass/beaker/vial/random/toxin = 2, /obj/item/storage/pill_bottle/dice = 1)
|
||||
max_storage_space = 14
|
||||
|
||||
/obj/item/storage/belt/fannypack/black
|
||||
name = "black fannypack"
|
||||
icon_state = "fannypack_black"
|
||||
|
||||
@@ -147,15 +147,163 @@
|
||||
/obj/item/clothing/head/wizard/black
|
||||
name = "black wizard hat"
|
||||
desc = "Strange-looking, black, hat-wear that most certainly belongs to a real dark magic user."
|
||||
icon = 'icons/obj/necromancer.dmi'
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "blackwizardhat"
|
||||
item_state = "blackwizardhat"
|
||||
contained_sprite = 1
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/black
|
||||
name = "black wizard robe"
|
||||
desc = "An unnerving black gem-lined robe that reeks of death and decay."
|
||||
icon = 'icons/obj/necromancer.dmi'
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "blackwizard"
|
||||
item_state = "blackwizard"
|
||||
contained_sprite = 1
|
||||
contained_sprite = TRUE
|
||||
|
||||
// - Kyres and Geeves -
|
||||
// Storm Outfit
|
||||
/obj/item/clothing/head/wizard/storm
|
||||
name = "storm cowl"
|
||||
desc = "A grey cowl exuding potent magickal energy, or maybe it just hides your identity well."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "storm_cowl"
|
||||
item_state = "storm_cowl"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/storm
|
||||
name = "storm robes"
|
||||
desc = "A fashionable set of robes that makes your hair stand on end. Positively electrifying."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "storm_robes"
|
||||
item_state = "storm_robes"
|
||||
contained_sprite = TRUE
|
||||
|
||||
// Nature Outfit
|
||||
/obj/item/clothing/head/wizard/nature
|
||||
name = "nature crown"
|
||||
desc = "Simple, sleek, elegant. Smells a bit like honey and aloe."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "nature_crown"
|
||||
item_state = "nature_crown"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/nature
|
||||
name = "nature robes"
|
||||
desc = "A green set of robes that sets the wearer apart from the rest. Doesn't itch! Somehow. Must be magic."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "nature_robes"
|
||||
item_state = "nature_robes"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/accessory/poncho/nature
|
||||
name = "nature scarf"
|
||||
desc = "A beautiful scarf that threatens to puncture the wearer's neck with thorns."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "nature_scarf"
|
||||
item_state = "nature_scarf"
|
||||
icon_override = null
|
||||
contained_sprite = TRUE
|
||||
|
||||
// Techno Outfit
|
||||
/obj/item/clothing/head/wizard/techno
|
||||
name = "techno headwear"
|
||||
desc = "A glowing set of eyes on the sides of this helmet makes you positively look like a pillock. On the plus side, you can see a lot."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "techno_headwear"
|
||||
item_state = "techno_headwear"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/techno
|
||||
name = "techno robes"
|
||||
desc = "A heavy set of robes made of some metallic material, who knows really. Comes with a useless LED strapped to the side as well."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "techno_robes"
|
||||
item_state = "techno_robes"
|
||||
contained_sprite = TRUE
|
||||
flags_inv = 0
|
||||
|
||||
/obj/item/clothing/under/techo
|
||||
name = "techno suit"
|
||||
desc = "A fantastically complex suit with a million moving parts, and it even glows faintly enough to not cast any light. Truly magical."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "techno_suit"
|
||||
worn_state = "techno_suit"
|
||||
item_state = "techno_suit"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/shoes/techno
|
||||
name = "techno shoes"
|
||||
desc = "Shoes! Nothing special, they just complete the techno look."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "techno_shoes"
|
||||
item_state = "techno_shoes"
|
||||
contained_sprite = TRUE
|
||||
|
||||
// Cobra Outfit
|
||||
/obj/item/clothing/head/wizard/cobra
|
||||
name = "cobra hood"
|
||||
desc = "A badass red hood, worn by badass people, in badass places, like Skrellpop conventions."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "cobra_hood"
|
||||
item_state = "cobra_hood"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/cobra
|
||||
name = "cobra robes"
|
||||
desc = "A set of red robes that has nothing to do with actual cobras. Looks cool though."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "cobra_robes"
|
||||
item_state = "cobra_robes"
|
||||
contained_sprite = TRUE
|
||||
|
||||
// Brawler Outfit
|
||||
/obj/item/clothing/head/wizard/brawler
|
||||
name = "brawler mask"
|
||||
desc = "A brawler MASK that goes onto your HEAD. It makes you look like an insane plonker, and that's probably what you want."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "brawler_mask"
|
||||
item_state = "brawler_mask"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/brawler
|
||||
name = "brawler robes"
|
||||
desc = "A set of so-called robes that makes the wearer look like a ruthless gladiatorial warrior. Give them hell."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "brawler_robes"
|
||||
item_state = "brawler_robes"
|
||||
contained_sprite = TRUE
|
||||
|
||||
// Shimmer Outfit
|
||||
/obj/item/clothing/head/wizard/shimmer
|
||||
name = "shimmer helm"
|
||||
desc = "A cool off-gold helmet that makes the wearer look like they control fate. Wait, do they actually control fate?"
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "shimmer_helm"
|
||||
item_state = "shimmer_helm"
|
||||
flags_inv = BLOCKHAIR|BLOCKHEADHAIR
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/shimmer
|
||||
name = "shimmer robes"
|
||||
desc = "A set of off-gold robes that shimmers in the light, making the wearer to harder and easier see. Must be very well polished."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "shimmer_robes"
|
||||
item_state = "shimmer_robes"
|
||||
contained_sprite = TRUE
|
||||
|
||||
// Sorceress Outfit
|
||||
/obj/item/clothing/head/wizard/sorceress
|
||||
name = "sorceress crown"
|
||||
desc = "A spikey crown that looks like it came directly off the set of an under-budget over-produced film. Looks great though."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "blackwizardhat"
|
||||
item_state = "blackwizardhat"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/sorceress
|
||||
name = "sorceress robes"
|
||||
desc = "A set of black and red robes, when the director gives up and buys off the New Hai Phong exports list."
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "sorceress_robes"
|
||||
item_state = "sorceress_robes"
|
||||
contained_sprite = TRUE
|
||||
@@ -187,9 +187,9 @@ proc/getsensorlevel(A)
|
||||
|
||||
/mob/living/proc/is_wizard(exclude_apprentice = FALSE)
|
||||
if(exclude_apprentice)
|
||||
return mind && mind.assigned_role == "Space Wizard"
|
||||
return mind && (mind.assigned_role == "Space Wizard" || mind.assigned_role == "Raider Mage")
|
||||
else
|
||||
return mind && (mind.assigned_role == "Space Wizard" || mind.assigned_role == "Apprentice")
|
||||
return mind && (mind.assigned_role == "Space Wizard" || mind.assigned_role == "Raider Mage" || mind.assigned_role == "Apprentice")
|
||||
|
||||
/mob/proc/is_berserk()
|
||||
return FALSE
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
slot_flags = SLOT_BACK
|
||||
w_class = ITEMSIZE_LARGE
|
||||
max_shots = 1
|
||||
displays_maptext = TRUE
|
||||
projectile_type = /obj/item/projectile/change
|
||||
origin_tech = list(TECH_COMBAT = 7, TECH_MAGNET = 5, TECH_BLUESPACE = 7)
|
||||
self_recharge = 1
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/obj/item/clothing/suit/armor/bone
|
||||
name = "bone armor"
|
||||
desc = "A rudimentary armor made of bones of several creatures."
|
||||
icon = 'icons/obj/necromancer.dmi'
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "bonearmor"
|
||||
item_state = "bonearmor"
|
||||
contained_sprite = 1
|
||||
contained_sprite = TRUE
|
||||
species_restricted = list(BODYTYPE_SKELETON)
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
armor = list(melee = 50, bullet = 40, laser = 50, energy = 25, bomb = 30, bio = 0, rad = 0)
|
||||
@@ -12,9 +12,9 @@
|
||||
/obj/item/clothing/head/helmet/bone
|
||||
name = "bone helmet"
|
||||
desc = "A rudimentary helmet made of some dead creature."
|
||||
icon = 'icons/obj/necromancer.dmi'
|
||||
icon = 'icons/obj/wizard_gear.dmi'
|
||||
icon_state = "skull"
|
||||
item_state = "skull"
|
||||
contained_sprite = 1
|
||||
contained_sprite = TRUE
|
||||
species_restricted = list(BODYTYPE_SKELETON)
|
||||
armor = list(melee = 50, bullet = 40, laser = 50, energy = 25, bomb = 30, bio = 0, rad = 0)
|
||||
@@ -24,6 +24,13 @@
|
||||
|
||||
amt_dam_fire = 10
|
||||
|
||||
/spell/targeted/projectile/magic_missile/choose_prox_targets(mob/user = usr, var/atom/movable/spell_holder)
|
||||
var/list/targets = ..()
|
||||
for(var/mob/living/target in targets)
|
||||
if(target.is_wizard())
|
||||
targets -= target
|
||||
return targets
|
||||
|
||||
/spell/targeted/projectile/magic_missile/prox_cast(var/list/targets, atom/spell_holder)
|
||||
spell_holder.visible_message("<span class='danger'>\The [spell_holder] pops with a flash!</span>")
|
||||
for(var/mob/living/M in targets)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/spell/targeted/equip_item/shield
|
||||
name = "Summon Shield"
|
||||
desc = "Summons the most holy of shields, the riot shield. Commonly used during wizard riots."
|
||||
desc = "Summons the most holy of shields, the buckler. Commonly used during wizard riots."
|
||||
feedback = "SH"
|
||||
school = "evocation"
|
||||
invocation = "Sia helda!"
|
||||
|
||||
@@ -34,8 +34,7 @@
|
||||
H.add_spell(spell_to_add)
|
||||
|
||||
/mob/proc/add_spell(var/spell/spell_to_add, var/spell_base = "wiz_spell_ready", var/master_type = /obj/screen/movable/spell_master)
|
||||
if(isobserver(usr)) // we spawned in via ghost spawner, so set our thing to this so we don't screw up
|
||||
usr = src
|
||||
usr = src // whoever made screen objects is an asshole and forced me to do this, i regret absolutely nothing
|
||||
if(!spell_masters)
|
||||
spell_masters = list()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user