mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
i am hol horse
This commit is contained in:
@@ -17,9 +17,9 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
response_disarm = "flails at"
|
||||
response_harm = "punches"
|
||||
icon = 'icons/mob/guardian.dmi'
|
||||
icon_state = "magicOrange"
|
||||
icon_living = "magicOrange"
|
||||
icon_dead = "magicOrange"
|
||||
icon_state = "magicbase"
|
||||
icon_living = "magicbase"
|
||||
icon_dead = "magicbase"
|
||||
speed = 0
|
||||
blood_volume = 0
|
||||
a_intent = INTENT_HARM
|
||||
@@ -42,13 +42,16 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
AIStatus = AI_OFF
|
||||
hud_type = /datum/hud/guardian
|
||||
dextrous_hud_type = /datum/hud/dextrous/guardian //if we're set to dextrous, account for it.
|
||||
var/mutable_appearance/cooloverlay
|
||||
var/guardiancolor = "#ffffff"
|
||||
var/recolorentiresprite
|
||||
var/theme
|
||||
var/list/guardian_overlays[GUARDIAN_TOTAL_LAYERS]
|
||||
var/reset = 0 //if the summoner has reset the guardian already
|
||||
var/cooldown = 0
|
||||
var/mob/living/carbon/summoner
|
||||
var/range = 13 //how far from the user the spirit can be
|
||||
var/toggle_button_type = /obj/screen/guardian/ToggleMode/Inactive //what sort of toggle button the hud uses
|
||||
var/datum/guardianname/namedatum = new/datum/guardianname()
|
||||
var/playstyle_string = "<span class='holoparasite bold'>You are a standard Guardian. You shouldn't exist!</span>"
|
||||
var/magic_fluff_string = "<span class='holoparasite'>You draw the Coder, symbolizing bugs and errors. This shouldn't happen! Submit a bug report!</span>"
|
||||
var/tech_fluff_string = "<span class='holoparasite'>BOOT SEQUENCE COMPLETE. ERROR MODULE LOADED. THIS SHOULDN'T HAPPEN. Submit a bug report!</span>"
|
||||
@@ -56,7 +59,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/Initialize(mapload, theme)
|
||||
GLOB.parasites += src
|
||||
setthemename(theme)
|
||||
updatetheme(theme)
|
||||
|
||||
. = ..()
|
||||
|
||||
@@ -79,42 +82,36 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
GLOB.parasites -= src
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/proc/setthemename(pickedtheme) //set the guardian's theme to something cool!
|
||||
if(!pickedtheme)
|
||||
pickedtheme = pick("magic", "tech", "carp")
|
||||
var/list/possible_names = list()
|
||||
switch(pickedtheme)
|
||||
/mob/living/simple_animal/hostile/guardian/proc/updatetheme(theme) //update the guardian's theme
|
||||
if(!theme)
|
||||
theme = pick("magic", "tech", "carp", "hive")
|
||||
switch(theme)//should make it easier to create new stand designs in the future if anyone likes that
|
||||
if("magic")
|
||||
for(var/type in (subtypesof(/datum/guardianname/magic) - namedatum.type))
|
||||
possible_names += new type
|
||||
name = "Guardian Spirit"
|
||||
real_name = "Guardian Spirit"
|
||||
bubble_icon = "guardian"
|
||||
icon_state = "magicbase"
|
||||
icon_living = "magicbase"
|
||||
icon_dead = "magicbase"
|
||||
if("tech")
|
||||
for(var/type in (subtypesof(/datum/guardianname/tech) - namedatum.type))
|
||||
possible_names += new type
|
||||
name = "Holoparasite"
|
||||
real_name = "Holoparasite"
|
||||
bubble_icon = "holo"
|
||||
icon_state = "techbase"
|
||||
icon_living = "techbase"
|
||||
icon_dead = "techbase"
|
||||
if("carp")
|
||||
for(var/type in (subtypesof(/datum/guardianname/carp) - namedatum.type))
|
||||
possible_names += new type
|
||||
namedatum = pick(possible_names)
|
||||
updatetheme(pickedtheme)
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/proc/updatetheme(theme) //update the guardian's theme to whatever its datum is; proc for adminfuckery
|
||||
name = "[namedatum.prefixname] [namedatum.suffixcolour]"
|
||||
real_name = "[name]"
|
||||
icon_living = "[namedatum.parasiteicon]"
|
||||
icon_state = "[namedatum.parasiteicon]"
|
||||
icon_dead = "[namedatum.parasiteicon]"
|
||||
bubble_icon = "[namedatum.bubbleicon]"
|
||||
|
||||
if (namedatum.stainself)
|
||||
add_atom_colour(namedatum.colour, FIXED_COLOUR_PRIORITY)
|
||||
|
||||
//Special case holocarp, because #snowflake code
|
||||
if(theme == "carp")
|
||||
speak_emote = list("gnashes")
|
||||
desc = "A mysterious fish that stands by its charge, ever vigilant."
|
||||
|
||||
attacktext = "bites"
|
||||
attack_sound = 'sound/weapons/bite.ogg'
|
||||
|
||||
name = "Holocarp"
|
||||
real_name = "Holocarp"
|
||||
bubble_icon = "holo"
|
||||
icon_state = "holocarp"
|
||||
icon_living = "holocarp"
|
||||
icon_dead = "holocarp"
|
||||
speak_emote = list("gnashes")
|
||||
desc = "A mysterious fish that stands by its charge, ever vigilant."
|
||||
attacktext = "bites"
|
||||
attack_sound = 'sound/weapons/bite.ogg'
|
||||
recolorentiresprite = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/Login() //if we have a mind, set its name to ours when it logs in
|
||||
..()
|
||||
@@ -123,10 +120,37 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
if(!summoner)
|
||||
to_chat(src, "<span class='holoparasite bold'>For some reason, somehow, you have no summoner. Please report this bug immediately.</span>")
|
||||
return
|
||||
to_chat(src, "<span class='holoparasite'>You are <font color=\"[namedatum.colour]\"><b>[real_name]</b></font>, bound to serve [summoner.real_name].</span>")
|
||||
to_chat(src, "<span class='holoparasite'>You are a <b>[real_name]</b>, bound to serve [summoner.real_name].</span>")
|
||||
to_chat(src, "<span class='holoparasite'>You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with [summoner.p_them()] privately there.</span>")
|
||||
to_chat(src, "<span class='holoparasite'>While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to [summoner.p_them()] as you feed upon [summoner.p_them()] to sustain yourself.</span>")
|
||||
to_chat(src, playstyle_string)
|
||||
guardiancustomize()
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/proc/guardiancustomize()
|
||||
guardianrecolor()
|
||||
guardianrename()
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/proc/guardianrecolor()
|
||||
guardiancolor = input(src,"What would you like your color to be?","Choose Your Color","#ffffff") as color|null
|
||||
if(!guardiancolor) //redo proc until we get a color
|
||||
to_chat(src, "<span class='warning'>Not a valid color, please try again.</span>")
|
||||
guardianrecolor()
|
||||
return
|
||||
if(!recolorentiresprite)
|
||||
cooloverlay.color = guardiancolor
|
||||
cut_overlay(cooloverlay) //we need to get our new color
|
||||
add_overlay(cooloverlay)
|
||||
else
|
||||
add_atom_colour(guardiancolor, FIXED_COLOUR_PRIORITY)
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/proc/guardianrename()
|
||||
var/new_name = sanitize_name(reject_bad_text(stripped_input(src, "What would you like your name to be?", "Choose Your Name", real_name, MAX_NAME_LEN)))
|
||||
if(!new_name) //redo proc until we get a good name
|
||||
to_chat(src, "<span class='warning'>Not a valid name, please try again.</span>")
|
||||
guardianrename()
|
||||
return
|
||||
visible_message("<span class='notice'>Your new name <span class='name'>[new_name]</span> anchors itself in your mind.</span>")
|
||||
fully_replace_character_name(null, new_name)
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/Life() //Dies if the summoner dies
|
||||
. = ..()
|
||||
@@ -366,7 +390,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
return
|
||||
|
||||
var/preliminary_message = "<span class='holoparasite bold'>[input]</span>" //apply basic color/bolding
|
||||
var/my_message = "<font color=\"[namedatum.colour]\"><b><i>[src]:</i></b></font> [preliminary_message]" //add source, color source with the guardian's color
|
||||
var/my_message = "<font color=\"[guardiancolor]\"><b><i>[src]:</i></b></font> [preliminary_message]" //add source, color source with the guardian's color
|
||||
|
||||
to_chat(summoner, my_message)
|
||||
var/list/guardians = summoner.hasparasites()
|
||||
@@ -393,7 +417,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
var/list/guardians = hasparasites()
|
||||
for(var/para in guardians)
|
||||
var/mob/living/simple_animal/hostile/guardian/G = para
|
||||
to_chat(G, "<font color=\"[G.namedatum.colour]\"><b><i>[src]:</i></b></font> [preliminary_message]" )
|
||||
to_chat(G, "<font color=\"[G.guardiancolor]\"><b><i>[src]:</i></b></font> [preliminary_message]" )
|
||||
for(var/M in GLOB.dead_mob_list)
|
||||
var/link = FOLLOW_LINK(M, src)
|
||||
to_chat(M, "[link] [my_message]")
|
||||
@@ -424,27 +448,29 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
if(guardians.len)
|
||||
var/mob/living/simple_animal/hostile/guardian/G = input(src, "Pick the guardian you wish to reset", "Guardian Reset") as null|anything in guardians
|
||||
if(G)
|
||||
to_chat(src, "<span class='holoparasite'>You attempt to reset <font color=\"[G.namedatum.colour]\"><b>[G.real_name]</b></font>'s personality...</span>")
|
||||
to_chat(src, "<span class='holoparasite'>You attempt to reset <font color=\"[G.guardiancolor]\"><b>[G.real_name]</b></font>'s personality...</span>")
|
||||
var/list/mob/candidates = pollGhostCandidates("Do you want to play as [src.real_name]'s [G.real_name]?", ROLE_PAI, null, FALSE, 100)
|
||||
if(LAZYLEN(candidates))
|
||||
var/mob/C = pick(candidates)
|
||||
to_chat(G, "<span class='holoparasite'>Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.</span>")
|
||||
to_chat(src, "<span class='holoparasite bold'>Your <font color=\"[G.namedatum.colour]\">[G.real_name]</font> has been successfully reset.</span>")
|
||||
to_chat(src, "<span class='holoparasite bold'>Your <font color=\"[G.guardiancolor]\">[G.real_name]</font> has been successfully reset.</span>")
|
||||
message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(G)])")
|
||||
G.ghostize(FALSE)
|
||||
G.setthemename(G.namedatum.theme) //give it a new color, to show it's a new person
|
||||
G.guardiancustomize() //give it a new color, to show it's a new person
|
||||
C.transfer_ckey(G)
|
||||
G.reset = 1
|
||||
switch(G.namedatum.theme)
|
||||
switch(G.theme)
|
||||
if("tech")
|
||||
to_chat(src, "<span class='holoparasite'><font color=\"[G.namedatum.colour]\"><b>[G.real_name]</b></font> is now online!</span>")
|
||||
to_chat(src, "<span class='holoparasite'><font color=\"[G.guardiancolor]\"><b>[G.real_name]</b></font> is now online!</span>")
|
||||
if("magic")
|
||||
to_chat(src, "<span class='holoparasite'><font color=\"[G.namedatum.colour]\"><b>[G.real_name]</b></font> has been summoned!</span>")
|
||||
to_chat(src, "<span class='holoparasite'><font color=\"[G.guardiancolor]\"><b>[G.real_name]</b></font> has been summoned!</span>")
|
||||
if("carp")
|
||||
to_chat(src, "<span class='holoparasite'><font color=\"[G.guardiancolor]\"><b>[G.real_name]</b></font> has been caught!</span>")
|
||||
guardians -= G
|
||||
if(!guardians.len)
|
||||
verbs -= /mob/living/proc/guardian_reset
|
||||
else
|
||||
to_chat(src, "<span class='holoparasite'>There were no ghosts willing to take control of <font color=\"[G.namedatum.colour]\"><b>[G.real_name]</b></font>. Looks like you're stuck with it for now.</span>")
|
||||
to_chat(src, "<span class='holoparasite'>There were no ghosts willing to take control of <font color=\"[G.guardiancolor]\"><b>[G.real_name]</b></font>. Looks like you're stuck with it for now.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='holoparasite'>You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"].</span>")
|
||||
else
|
||||
@@ -558,6 +584,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
used = FALSE
|
||||
return
|
||||
var/mob/living/simple_animal/hostile/guardian/G = new pickedtype(user, theme)
|
||||
G.name = mob_name
|
||||
G.summoner = user
|
||||
G.key = key
|
||||
G.mind.enslave_mind_to_creator(user)
|
||||
@@ -565,13 +592,13 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
switch(theme)
|
||||
if("tech")
|
||||
to_chat(user, "[G.tech_fluff_string]")
|
||||
to_chat(user, "<span class='holoparasite'><font color=\"[G.namedatum.colour]\"><b>[G.real_name]</b></font> is now online!</span>")
|
||||
to_chat(user, "<span class='holoparasite'><b>[G.real_name]</b> is now online!</span>")
|
||||
if("magic")
|
||||
to_chat(user, "[G.magic_fluff_string]")
|
||||
to_chat(user, "<span class='holoparasite'><font color=\"[G.namedatum.colour]\"><b>[G.real_name]</b></font> has been summoned!</span>")
|
||||
to_chat(user, "<span class='holoparasite'><b>[G.real_name]</b> has been summoned!</span>")
|
||||
if("carp")
|
||||
to_chat(user, "[G.carp_fluff_string]")
|
||||
to_chat(user, "<span class='holoparasite'><font color=\"[G.namedatum.colour]\"><b>[G.real_name]</b></font> has been caught!</span>")
|
||||
to_chat(user, "<span class='holoparasite'><b>[G.real_name]</b> has been caught!</span>")
|
||||
user.verbs += /mob/living/proc/guardian_comm
|
||||
user.verbs += /mob/living/proc/guardian_recall
|
||||
user.verbs += /mob/living/proc/guardian_reset
|
||||
@@ -600,6 +627,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
|
||||
/obj/item/guardiancreator/tech/choose/traitor
|
||||
possible_guardians = list("Assassin", "Chaos", "Charger", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support")
|
||||
allowling = FALSE
|
||||
|
||||
/obj/item/guardiancreator/tech/choose/traitor/check_uplink_validity()
|
||||
return !used
|
||||
@@ -683,8 +711,6 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
|
||||
failure_message = "<span class='holoparasite bold'>You couldn't catch any carp spirits from the seas of Lake Carp. Maybe there are none, maybe you fucked up.</span>"
|
||||
ling_failure = "<span class='holoparasite bold'>Carp'sie is fine with changelings, so you shouldn't be seeing this message.</span>"
|
||||
allowmultiple = TRUE
|
||||
allowling = TRUE
|
||||
random = TRUE
|
||||
|
||||
/obj/item/guardiancreator/carp/choose
|
||||
random = FALSE
|
||||
|
||||
@@ -1,161 +0,0 @@
|
||||
|
||||
/datum/guardianname
|
||||
var/prefixname = "Default" //the prefix the guardian uses for its name
|
||||
var/suffixcolour = "Name" //the suffix the guardian uses for its name
|
||||
var/parasiteicon = "techbase" //the icon of the guardian
|
||||
var/bubbleicon = "holo" //the speechbubble icon of the guardian
|
||||
var/theme = "tech" //what the actual theme of the guardian is
|
||||
var/colour = "#C3C3C3" //what color the guardian's name is in chat and what color is used for effects from the guardian
|
||||
var/stainself = 0 //whether to use the color var to literally dye ourself our chosen colour, for lazy spriting
|
||||
|
||||
/datum/guardianname/carp
|
||||
bubbleicon = "guardian"
|
||||
theme = "carp"
|
||||
parasiteicon = "holocarp"
|
||||
stainself = 1
|
||||
|
||||
/datum/guardianname/carp/New()
|
||||
prefixname = pick(GLOB.carp_names)
|
||||
|
||||
/datum/guardianname/carp/sand
|
||||
suffixcolour = "Sand"
|
||||
colour = "#C2B280"
|
||||
|
||||
/datum/guardianname/carp/seashell
|
||||
suffixcolour = "Seashell"
|
||||
colour = "#FFF5EE"
|
||||
|
||||
/datum/guardianname/carp/coral
|
||||
suffixcolour = "Coral"
|
||||
colour = "#FF7F50"
|
||||
|
||||
/datum/guardianname/carp/salmon
|
||||
suffixcolour = "Salmon"
|
||||
colour = "#FA8072"
|
||||
|
||||
/datum/guardianname/carp/sunset
|
||||
suffixcolour = "Sunset"
|
||||
colour = "#FAD6A5"
|
||||
|
||||
/datum/guardianname/carp/riptide
|
||||
suffixcolour = "Riptide"
|
||||
colour = "#89D9C8"
|
||||
|
||||
/datum/guardianname/carp/seagreen
|
||||
suffixcolour = "Sea Green"
|
||||
colour = "#2E8B57"
|
||||
|
||||
/datum/guardianname/carp/ultramarine
|
||||
suffixcolour = "Ultramarine"
|
||||
colour = "#3F00FF"
|
||||
|
||||
/datum/guardianname/carp/cerulean
|
||||
suffixcolour = "Cerulean"
|
||||
colour = "#007BA7"
|
||||
|
||||
/datum/guardianname/carp/aqua
|
||||
suffixcolour = "Aqua"
|
||||
colour = "#00FFFF"
|
||||
|
||||
/datum/guardianname/carp/paleaqua
|
||||
suffixcolour = "Pale Aqua"
|
||||
colour = "#BCD4E6"
|
||||
|
||||
/datum/guardianname/carp/hookergreen
|
||||
suffixcolour = "Hooker Green"
|
||||
colour = "#49796B"
|
||||
|
||||
/datum/guardianname/magic
|
||||
bubbleicon = "guardian"
|
||||
theme = "magic"
|
||||
|
||||
/datum/guardianname/magic/New()
|
||||
prefixname = pick("Aries", "Leo", "Sagittarius", "Taurus", "Virgo", "Capricorn", "Gemini", "Libra", "Aquarius", "Cancer", "Scorpio", "Pisces", "Ophiuchus")
|
||||
|
||||
/datum/guardianname/magic/red
|
||||
suffixcolour = "Red"
|
||||
parasiteicon = "magicRed"
|
||||
colour = "#E32114"
|
||||
|
||||
/datum/guardianname/magic/pink
|
||||
suffixcolour = "Pink"
|
||||
parasiteicon = "magicPink"
|
||||
colour = "#FB5F9B"
|
||||
|
||||
/datum/guardianname/magic/orange
|
||||
suffixcolour = "Orange"
|
||||
parasiteicon = "magicOrange"
|
||||
colour = "#F3CF24"
|
||||
|
||||
/datum/guardianname/magic/green
|
||||
suffixcolour = "Green"
|
||||
parasiteicon = "magicGreen"
|
||||
colour = "#A4E836"
|
||||
|
||||
/datum/guardianname/magic/blue
|
||||
suffixcolour = "Blue"
|
||||
parasiteicon = "magicBlue"
|
||||
colour = "#78C4DB"
|
||||
|
||||
/datum/guardianname/tech/New()
|
||||
prefixname = pick("Gallium", "Indium", "Thallium", "Bismuth", "Aluminium", "Mercury", "Iron", "Silver", "Zinc", "Titanium", "Chromium", "Nickel", "Platinum", "Tellurium", "Palladium", "Rhodium", "Cobalt", "Osmium", "Tungsten", "Iridium")
|
||||
|
||||
/datum/guardianname/tech/rose
|
||||
suffixcolour = "Rose"
|
||||
parasiteicon = "techRose"
|
||||
colour = "#F62C6B"
|
||||
|
||||
/datum/guardianname/tech/peony
|
||||
suffixcolour = "Peony"
|
||||
parasiteicon = "techPeony"
|
||||
colour = "#E54750"
|
||||
|
||||
/datum/guardianname/tech/lily
|
||||
suffixcolour = "Lily"
|
||||
parasiteicon = "techLily"
|
||||
colour = "#F6562C"
|
||||
|
||||
/datum/guardianname/tech/daisy
|
||||
suffixcolour = "Daisy"
|
||||
parasiteicon = "techDaisy"
|
||||
colour = "#ECCD39"
|
||||
|
||||
/datum/guardianname/tech/zinnia
|
||||
suffixcolour = "Zinnia"
|
||||
parasiteicon = "techZinnia"
|
||||
colour = "#89F62C"
|
||||
|
||||
/datum/guardianname/tech/ivy
|
||||
suffixcolour = "Ivy"
|
||||
parasiteicon = "techIvy"
|
||||
colour = "#5DF62C"
|
||||
|
||||
/datum/guardianname/tech/iris
|
||||
suffixcolour = "Iris"
|
||||
parasiteicon = "techIris"
|
||||
colour = "#2CF6B8"
|
||||
|
||||
/datum/guardianname/tech/petunia
|
||||
suffixcolour = "Petunia"
|
||||
parasiteicon = "techPetunia"
|
||||
colour = "#51A9D4"
|
||||
|
||||
/datum/guardianname/tech/violet
|
||||
suffixcolour = "Violet"
|
||||
parasiteicon = "techViolet"
|
||||
colour = "#8A347C"
|
||||
|
||||
/datum/guardianname/tech/lotus
|
||||
suffixcolour = "Lotus"
|
||||
parasiteicon = "techLotus"
|
||||
colour = "#463546"
|
||||
|
||||
/datum/guardianname/tech/lilac
|
||||
suffixcolour = "Lilac"
|
||||
parasiteicon = "techLilac"
|
||||
colour = "#C7A0F6"
|
||||
|
||||
/datum/guardianname/tech/orchid
|
||||
suffixcolour = "Orchid"
|
||||
parasiteicon = "techOrchid"
|
||||
colour = "#F62CF5"
|
||||
@@ -77,7 +77,7 @@
|
||||
user.ex_act(EXPLODE_HEAVY)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='holoparasite'>[src] glows with a strange <font color=\"[spawner.namedatum.colour]\">light</font>, and you don't touch it.</span>")
|
||||
to_chat(user, "<span class='holoparasite'>[src] glows with a strange <font color=\"[spawner.guardiancolor]\">light</font>, and you don't touch it.</span>")
|
||||
|
||||
/obj/guardian_bomb/Bump(atom/A)
|
||||
detonate(A)
|
||||
@@ -93,4 +93,4 @@
|
||||
/obj/guardian_bomb/examine(mob/user)
|
||||
. = stored_obj.examine(user)
|
||||
if(get_dist(user,src)<=2)
|
||||
. += "<span class='holoparasite'>It glows with a strange <font color=\"[spawner.namedatum.colour]\">light</font>!</span>"
|
||||
. += "<span class='holoparasite'>It glows with a strange <font color=\"[spawner.guardiancolor]\">light</font>!</span>"
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
. = ..()
|
||||
if(. > 0 && toggle)
|
||||
var/image/I = new('icons/effects/effects.dmi', src, "shield-flash", MOB_LAYER+0.01, dir = pick(GLOB.cardinals))
|
||||
if(namedatum)
|
||||
I.color = namedatum.colour
|
||||
if(guardiancolor)
|
||||
I.color = guardiancolor
|
||||
flick_overlay_view(I, src, 5)
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/protector/ToggleMode()
|
||||
@@ -39,8 +39,8 @@
|
||||
toggle = FALSE
|
||||
else
|
||||
var/mutable_appearance/shield_overlay = mutable_appearance('icons/effects/effects.dmi', "shield-grey")
|
||||
if(namedatum)
|
||||
shield_overlay.color = namedatum.colour
|
||||
if(guardiancolor)
|
||||
shield_overlay.color = guardiancolor
|
||||
add_overlay(shield_overlay)
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
@@ -59,7 +59,7 @@
|
||||
visible_message("<span class='danger'>\The [src] jumps back to its user.</span>")
|
||||
Recall(TRUE)
|
||||
else
|
||||
to_chat(summoner, "<span class='holoparasite'>You moved out of range, and were pulled back! You can only move [range] meters from <font color=\"[namedatum.colour]\"><b>[real_name]</b></font>!</span>")
|
||||
to_chat(summoner, "<span class='holoparasite'>You moved out of range, and were pulled back! You can only move [range] meters from <font color=\"[guardiancolor]\"><b>[real_name]</b></font>!</span>")
|
||||
summoner.visible_message("<span class='danger'>\The [summoner] jumps back to [summoner.p_their()] protector.</span>")
|
||||
new /obj/effect/temp_visual/guardian/phase/out(get_turf(summoner))
|
||||
summoner.forceMove(get_turf(src))
|
||||
|
||||
@@ -55,8 +55,8 @@
|
||||
. = ..()
|
||||
if(istype(., /obj/item/projectile))
|
||||
var/obj/item/projectile/P = .
|
||||
if(namedatum)
|
||||
P.color = namedatum.colour
|
||||
if(guardiancolor)
|
||||
P.color = guardiancolor
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/ranged/ToggleLight()
|
||||
var/msg
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
C.adjustOxyLoss(-5)
|
||||
C.adjustToxLoss(-5, forced = TRUE)
|
||||
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(C))
|
||||
if(namedatum)
|
||||
H.color = namedatum.colour
|
||||
if(guardiancolor)
|
||||
H.color = guardiancolor
|
||||
if(C == summoner)
|
||||
update_health_hud()
|
||||
med_hud_set_health()
|
||||
@@ -96,8 +96,8 @@
|
||||
|
||||
/obj/structure/receiving_pad/New(loc, mob/living/simple_animal/hostile/guardian/healer/G)
|
||||
. = ..()
|
||||
if(G.namedatum)
|
||||
add_atom_colour(G.namedatum.colour, FIXED_COLOUR_PRIORITY)
|
||||
if(G.guardiancolor)
|
||||
add_atom_colour(G.guardiancolor, FIXED_COLOUR_PRIORITY)
|
||||
|
||||
/obj/structure/receiving_pad/proc/disappear()
|
||||
visible_message("[src] vanishes!")
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 30 KiB |
@@ -2420,7 +2420,6 @@
|
||||
#include "code\modules\mob\living\simple_animal\friendly\drone\verbs.dm"
|
||||
#include "code\modules\mob\living\simple_animal\friendly\drone\visuals_icons.dm"
|
||||
#include "code\modules\mob\living\simple_animal\guardian\guardian.dm"
|
||||
#include "code\modules\mob\living\simple_animal\guardian\guardiannaming.dm"
|
||||
#include "code\modules\mob\living\simple_animal\guardian\types\assassin.dm"
|
||||
#include "code\modules\mob\living\simple_animal\guardian\types\charger.dm"
|
||||
#include "code\modules\mob\living\simple_animal\guardian\types\dextrous.dm"
|
||||
|
||||
Reference in New Issue
Block a user