mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 16:47:13 +01:00
Added animal overlay to drone filters (#17009)
* Added animal overlay to drone filters
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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!" ))
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user