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:
Geeves
2020-09-19 12:43:28 +02:00
committed by GitHub
parent 54f83927b4
commit da7bb8392c
21 changed files with 358 additions and 21 deletions

View File

@@ -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

View 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"

View File

@@ -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)

View File

@@ -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"