Added animal overlay to drone filters (#17009)

* Added animal overlay to drone filters
This commit is contained in:
coiax
2016-04-24 16:51:16 +01:00
committed by Remie Richards
parent e1c4f14b65
commit 5d7db5637c
9 changed files with 54 additions and 12 deletions
+24
View File
@@ -872,6 +872,30 @@ The _flatIcons list is a cache for generated icon files.
del(atom_icon)
return text_image
var/global/list/friendly_animal_types = list()
// Pick a random animal instead of the icon, and use that instead
/proc/getRandomAnimalImage(atom/A)
if(!friendly_animal_types.len)
for(var/T in typesof(/mob/living/simple_animal))
var/mob/living/simple_animal/SA = T
if(initial(SA.gold_core_spawnable) == 2)
friendly_animal_types += SA
var/mob/living/simple_animal/SA = pick(friendly_animal_types)
var/icon = initial(SA.icon)
var/icon_state = initial(SA.icon_state)
var/image/final_image = image(icon, icon_state=icon_state, loc = A)
if(ispath(SA, /mob/living/simple_animal/butterfly))
final_image.color = rgb(rand(0,255), rand(0,255), rand(0,255))
// For debugging
final_image.text = initial(SA.name)
return final_image
//Find's the average colour of the icon
//By vg's ComicIronic
+7 -7
View File
@@ -38,9 +38,9 @@
name = "\improper rabbit"
desc = "The hippiest hop around."
icon = 'icons/mob/Easter.dmi'
icon_state = "rabbit"
icon_living = "rabbit"
icon_dead = "rabbit_dead"
icon_state = "rabbit_white"
icon_living = "rabbit_white"
icon_dead = "rabbit_white_dead"
speak = list("Hop into Easter!","Come get your eggs!","Prizes for everyone!")
speak_emote = list("sniffles","twitches")
emote_hear = list("hops.")
@@ -56,13 +56,13 @@
/mob/living/simple_animal/chicken/rabbit/space
icon_prefix = "s_rabbit"
icon_state = "s_rabbit"
icon_living = "s_rabbit"
icon_dead = "s_rabbit_dead"
icon_state = "s_rabbit_white"
icon_living = "s_rabbit_white"
icon_dead = "s_rabbit_white_dead"
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
maxbodytemp = 1500
unsuitable_atmos_damage = 0 //This damage is taken when atmos doesn't fit all the requirements above
unsuitable_atmos_damage = 0
//Easter Baskets
/obj/item/weapon/storage/bag/easterbasket
@@ -824,6 +824,10 @@
staticOverlay.override = 1
staticOverlays["letter"] = staticOverlay
staticOverlay = getRandomAnimalImage(src)
staticOverlay.override = 1
staticOverlays["animal"] = staticOverlay
/mob/living/carbon/human/cuff_resist(obj/item/I)
if(dna && dna.check_mutation(HULK))
say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
+5 -1
View File
@@ -41,7 +41,7 @@ Sorry Giacom. Please don't be mad :(
/mob/living/proc/generateStaticOverlay()
staticOverlays.Add(list("static", "blank", "letter"))
staticOverlays.Add(list("static", "blank", "letter", "animal"))
var/image/staticOverlay = image(getStaticIcon(new/icon(icon,icon_state)), loc = src)
staticOverlay.override = 1
staticOverlays["static"] = staticOverlay
@@ -54,6 +54,10 @@ Sorry Giacom. Please don't be mad :(
staticOverlay.override = 1
staticOverlays["letter"] = staticOverlay
staticOverlay = getRandomAnimalImage(src)
staticOverlay.override = 1
staticOverlays["animal"] = staticOverlay
//Generic Bump(). Override MobBump() and ObjBump() instead of this.
/mob/living/Bump(atom/A, yes)
@@ -43,7 +43,7 @@
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
staticOverlays = list()
var/staticChoice = "static"
var/list/staticChoices = list("static", "blank", "letter")
var/list/staticChoices = list("static", "blank", "letter", "animal")
var/picked = FALSE //Have we picked our visual appearence (+ colour if applicable)
var/list/drone_overlays[DRONE_TOTAL_LAYERS]
var/laws = \
@@ -83,6 +83,9 @@
alert_drones(DRONE_NET_CONNECT)
var/datum/action/generic/drone/select_filter/SF = new(src)
SF.Grant(src)
/mob/living/simple_animal/drone/Destroy()
qdel(access_card) //Otherwise it ends up on the floor!
@@ -51,6 +51,7 @@
default_hatmask = /obj/item/clothing/head/chameleon/drone
/mob/living/simple_animal/drone/snowflake/New()
..()
desc += " This drone appears to have a complex holoprojector built on its 'head'."
/obj/item/drone_shell/syndrone
@@ -179,3 +179,9 @@
icon_state = icon_dead
else
icon_state = icon_living
/datum/action/generic/drone/select_filter
name = "Select Vision Filter"
button_icon_state = "drone_vision"
procname = /mob/living/simple_animal/drone/verb/toggle_statics
@@ -187,9 +187,9 @@ var/global/chicken_count = 0
/mob/living/simple_animal/chicken
name = "\improper chicken"
desc = "Hopefully the eggs are good this season."
icon_state = "chicken"
icon_living = "chicken"
icon_dead = "chicken_dead"
icon_state = "chicken_brown"
icon_living = "chicken_brown"
icon_dead = "chicken_brown_dead"
speak = list("Cluck!","BWAAAAARK BWAK BWAK BWAK!","Bwaak bwak.")
speak_emote = list("clucks","croons")
emote_hear = list("clucks.")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB