diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 7f1f9bdb3ed..1bcc4decc8e 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -29,7 +29,9 @@
/obj/item/toy/minimeteor = 2,
/obj/item/toy/carpplushie = 2,
/obj/item/toy/foamblade = 2,
- /obj/item/toy/redbutton = 2
+ /obj/item/toy/redbutton = 2,
+ /obj/item/toy/owl = 2,
+ /obj/item/toy/griffin = 2
)
/obj/machinery/computer/arcade/New()
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 38fe88157a0..dc1a52ad510 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -864,7 +864,9 @@
/obj/item/clothing/tie/waistcoat = 1,/obj/item/clothing/under/suit_jacket = 1,/obj/item/clothing/head/that =1,/obj/item/clothing/under/kilt = 1,/obj/item/clothing/head/beret = 1,/obj/item/clothing/tie/waistcoat = 1,
/obj/item/clothing/glasses/monocle =1,/obj/item/clothing/head/bowler = 1,/obj/item/weapon/cane = 1,/obj/item/clothing/under/sl_suit = 1,
/obj/item/clothing/mask/fakemoustache = 1,/obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1,/obj/item/clothing/head/plaguedoctorhat = 1,/obj/item/clothing/mask/gas/plaguedoctor = 1,
- /obj/item/clothing/under/owl = 1,/obj/item/clothing/mask/gas/owl_mask = 1,/obj/item/clothing/suit/apron = 1,/obj/item/clothing/under/waiter = 1,
+ /obj/item/clothing/suit/toggle/owlwings = 1, /obj/item/clothing/under/owl = 1,/obj/item/clothing/mask/gas/owl_mask = 1,
+ /obj/item/clothing/suit/toggle/owlwings/griffinwings = 1, /obj/item/clothing/under/griffin = 1, /obj/item/clothing/shoes/griffin = 1, /obj/item/clothing/head/griffin = 1,
+ /obj/item/clothing/suit/apron = 1,/obj/item/clothing/under/waiter = 1,
/obj/item/clothing/under/pirate = 1,/obj/item/clothing/suit/pirate = 1,/obj/item/clothing/head/pirate = 1,/obj/item/clothing/head/bandana = 1,
/obj/item/clothing/head/bandana = 1,/obj/item/clothing/under/soviet = 1,/obj/item/clothing/head/ushanka = 1,/obj/item/clothing/suit/imperium_monk = 1,
/obj/item/clothing/mask/gas/cyborg = 1,/obj/item/clothing/suit/holidaypriest = 1,/obj/item/clothing/head/wizard/marisa/fake = 1,
diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm
index e7cff56a202..00615da6e0e 100644
--- a/code/game/objects/effects/decals/contraband.dm
+++ b/code/game/objects/effects/decals/contraband.dm
@@ -1,9 +1,9 @@
//########################## CONTRABAND ;3333333333333333333 -Agouri ###################################################
-#define NUM_OF_POSTER_DESIGNS 32 //subtype 0-contraband posters
+#define NUM_OF_POSTER_DESIGNS 33 //subtype 0-contraband posters
-#define NUM_OF_POSTER_DESIGNS_LEGIT 32 //subtype 1-corporate approved posters
+#define NUM_OF_POSTER_DESIGNS_LEGIT 33 //subtype 1-corporate approved posters
/obj/item/weapon/contraband
name = "contraband item"
@@ -188,6 +188,9 @@ obj/structure/sign/poster/New(serial,subtype)
if(32)
name += " - Punch Shit"
desc += " Fight things for no reason, like a man!"
+ if(33)
+ name += " - The Griffin"
+ desc += " The Griffin commands you to be the worst you can be. Will you?"
else
name += " - Error (subtype 0 serial_number)"
desc += " This is a bug, please report the circumstances under which you encountered this poster at https://github.com/tgstation/-tg-station/issues."
@@ -291,6 +294,9 @@ obj/structure/sign/poster/New(serial,subtype)
if(32)
name += " - High-Class Martini"
desc += " I told you to shake it, no stirring"
+ if(33)
+ name += " - The Owl"
+ desc += " The Owl would do his best to protect the station. Will you?"
else
name += " - Error (subtype 1 serial_number)"
desc += " This is a bug, please report the circumstances under which you encountered this poster at https://github.com/NTStation/NTstation13/issues."
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index 1fa64b3c89c..6b05fe72230 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -164,10 +164,18 @@
qdel(src)
/obj/effect/landmark/costume/nightowl/New()
+ new /obj/item/clothing/suit/toggle/owlwings(src.loc)
new /obj/item/clothing/under/owl(src.loc)
new /obj/item/clothing/mask/gas/owl_mask(src.loc)
qdel(src)
+/obj/effect/landmark/costume/thegriffin/New()
+ new /obj/item/clothing/suit/toggle/owlwings/griffinwings(src.loc)
+ new /obj/item/clothing/shoes/griffin(src.loc)
+ new /obj/item/clothing/under/griffin(src.loc)
+ new /obj/item/clothing/head/griffin(src.loc)
+ qdel(src)
+
/obj/effect/landmark/costume/waiter/New()
new /obj/item/clothing/under/waiter(src.loc)
var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears)
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index ed1d27efecf..f21f71a1fa0 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -686,7 +686,43 @@
return
..()
+/obj/item/toy/owl
+ name = "owl action figure"
+ desc = "An action figure modeled after 'The Owl', defender of justice."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "owlprize"
+ w_class = 2.0
+ var/cooldown = 0
+/obj/item/toy/owl/attack_self(mob/user)
+ if(!cooldown) //for the sanity of everyone
+ var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!")
+ user << "You pull the string on the [src]."
+ playsound(user, 'sound/machines/click.ogg', 20, 1)
+ src.loc.visible_message("\icon[src] [message]")
+ cooldown = 1
+ spawn(30) cooldown = 0
+ return
+ ..()
+
+/obj/item/toy/griffin
+ name = "griffin action figure"
+ desc = "An action figure modeled after 'The Griffin', criminal mastermind."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "griffinprize"
+ w_class = 2.0
+ var/cooldown = 0
+
+/obj/item/toy/griffin/attack_self(mob/user)
+ if(!cooldown) //for the sanity of everyone
+ var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!")
+ user << "You pull the string on the [src]."
+ playsound(user, 'sound/machines/click.ogg', 20, 1)
+ src.loc.visible_message("\icon[src] [message]")
+ cooldown = 1
+ spawn(30) cooldown = 0
+ return
+ ..()
/*
diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm
index fbef8b501a6..0ed4628a7d0 100644
--- a/code/game/objects/structures/barsigns.dm
+++ b/code/game/objects/structures/barsigns.dm
@@ -210,6 +210,10 @@
icon = "honkednloaded"
desc = "Honk."
+/datum/barsign/thenest
+ name = "The Nest"
+ icon = "thenest"
+ desc = "A good place to retire for a drink after a long night of crime fighting."
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 54aeace00c6..59fc6c0d921 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -7,7 +7,7 @@
var/visor_flags_inv = 0 // same as visor_flags, but for flags_inv
lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
-
+ var/alt_desc = null
//Ears: currently only used for headsets and earmuffs
/obj/item/clothing/ears
@@ -191,7 +191,6 @@ BLIND // can't see anything
strip_delay = 80
put_on_delay = 80
-
//Under clothing
/obj/item/clothing/under
icon = 'icons/obj/clothing/uniforms.dmi'
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index 01c472edfac..2ac171d76de 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -144,6 +144,14 @@
flags = BLOCKHAIR
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
+/obj/item/clothing/head/griffin
+ name = "griffon head"
+ desc = "Why not 'eagle head'? Who knows."
+ icon_state = "griffinhat"
+ item_state = "griffinhat"
+ flags = BLOCKHAIR
+ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
+
/obj/item/clothing/head/bearpelt
name = "bear pelt hat"
desc = "Fuzzy."
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 85b3cd3af70..a1f83e984d2 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -137,4 +137,10 @@
icon_state = "roman"
item_state = "roman"
strip_delay = 100
- put_on_delay = 100
\ No newline at end of file
+ put_on_delay = 100
+
+/obj/item/clothing/shoes/griffin
+ name = "griffon boots"
+ desc = "A pair of costume boots fashioned after bird talons."
+ icon_state = "griffinboots"
+ item_state = "griffinboots"
\ No newline at end of file
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index 9e9596af8d2..1c5bed2b4c3 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -116,6 +116,7 @@
/obj/item/clothing/head/helmet/space/hardsuit/syndi
name = "blood-red hardsuit helmet"
desc = "A dual-mode advanced helmet designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
+ alt_desc = "A dual-mode advanced helmet designed for work in special operations. It is in combat mode. Property of Gorlex Marauders."
icon_state = "hardsuit1-syndi"
item_state = "syndie_helm"
item_color = "syndi"
@@ -134,16 +135,16 @@
on = !on
if(on)
user << "You switch your helmet to travel mode."
- name = "blood-red hardsuit helmet"
- desc = "A dual-mode advanced helmet designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
+ name = initial(name)
+ desc = initial(desc)
flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
cold_protection = HEAD
user.AddLuminosity(brightness_on)
else
user << "You switch your helmet to combat mode."
- name = "blood-red hardsuit helmet (combat)"
- desc = "A dual-mode advanced helmet designed for work in special operations. It is in combat mode. Property of Gorlex Marauders."
+ name += " (combat)"
+ desc = alt_desc
flags = BLOCKHAIR
flags_inv = HIDEEARS
cold_protection = null
@@ -156,6 +157,7 @@
/obj/item/clothing/suit/space/hardsuit/syndi
name = "blood-red hardsuit"
desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
+ alt_desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders."
icon_state = "hardsuit1-syndi"
item_state = "syndie_hardsuit"
item_color = "syndi"
@@ -174,16 +176,16 @@
on = !on
if(on)
user << "You switch your hardsuit to travel mode."
- name = "blood-red hardsuit helmet"
- desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
+ name = initial(name)
+ desc = initial(desc)
slowdown = 1
flags = STOPSPRESSUREDMAGE | THICKMATERIAL
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
else
user << "You switch your hardsuit to combat mode."
- name = "blood-red hardsuit helmet (combat)"
- desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders."
+ name += " (combat)"
+ desc = alt_desc
slowdown = 0
flags = BLOCKHAIR
flags_inv = null
@@ -194,6 +196,26 @@
user.update_inv_wear_suit()
user.update_inv_w_uniform()
+//The Owl Hardsuit
+/obj/item/clothing/head/helmet/space/hardsuit/syndi/owl
+ name = "owl hardsuit helmet"
+ desc = "A dual-mode advanced helmet designed for any crime-fighting situation. It is in travel mode."
+ alt_desc = "A dual-mode advanced helmet designed for any crime-fighting situation. It is in combat mode."
+ icon_state = "hardsuit1-owl"
+ item_state = "s_helmet"
+ item_color = "owl"
+
+/obj/item/clothing/suit/space/hardsuit/syndi/owl
+ name = "owl hardsuit"
+ desc = "A dual-mode advanced hardsuit designed for any crime-fighting situation. It is in travel mode."
+ alt_desc = "A dual-mode advanced hardsuit designed for any crime-fighting situation. It is in combat mode."
+ icon_state = "hardsuit1-owl"
+ item_state = "s_suit"
+ item_color = "owl"
+
+/obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon()
+ icon_state = "hardsuit[on]-[item_color]"
+
//Wizard hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/wizard
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index d18025b4472..0adae1c15a2 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -126,6 +126,22 @@
body_parts_covered = CHEST|ARMS|GROIN|LEGS|FEET|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
+/obj/item/clothing/suit/toggle/owlwings
+ name = "owl cloak"
+ desc = "A soft brown cloak made of synthetic feathers. Soft to the touch, stylish, and a 2 meter wing span that will drive the ladies mad."
+ icon_state = "owl_wings"
+ item_state = "owl_wings"
+ togglename = "wings"
+ body_parts_covered = ARMS|CHEST
+ allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
+ action_button_name = "Toggle Owl Wings"
+
+/obj/item/clothing/suit/toggle/owlwings/griffinwings
+ name = "griffon cloak"
+ desc = "A plush white cloak made of synthetic feathers. Soft to the touch, stylish, and a 2 meter wing span that will drive your captives mad."
+ icon_state = "griffin_wings"
+ item_state = "griffin_wings"
+
/obj/item/clothing/suit/holidaypriest
name = "holiday priest"
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 049fab17adc..72e8be76e3f 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -128,11 +128,18 @@
/obj/item/clothing/under/owl
name = "owl uniform"
- desc = "A jumpsuit with owl wings. Photorealistic owl feathers! Twooooo!"
+ desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction."
icon_state = "owl"
item_color = "owl"
can_adjust = 0
+/obj/item/clothing/under/griffin
+ name = "griffon uniform"
+ desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem."
+ icon_state = "griffin"
+ item_color = "griffin"
+ can_adjust = 0
+
/obj/item/clothing/under/rainbow
name = "rainbow"
desc = "rainbow"
diff --git a/html/changelogs/dannno-TheOwlReturns-7942.yml b/html/changelogs/dannno-TheOwlReturns-7942.yml
new file mode 100644
index 00000000000..541028986c3
--- /dev/null
+++ b/html/changelogs/dannno-TheOwlReturns-7942.yml
@@ -0,0 +1,9 @@
+author: Dannno
+
+delete-after: True
+
+changes:
+ - rscadd: 'Resprited all owl items. Wings are now a seperate toggleable suit item.'
+ - rscadd: 'Added The Griffin costume, arch nemesis of The Owl. Found in the autodrobe.'
+ - rscadd: 'Added admin-only Owl hardsuit. Only for the most vengeful souls.'
+ - rscadd: 'Added Owl and Griffin merchandise; The Nest barsign, Owl/Griffin toys and posters.'
diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi
index 858fb2ba7c9..4341f441d0d 100644
Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index d732743543c..65884b15b23 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi
index 111bdc0b9bd..8459b715b44 100644
Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ
diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi
index b5b228e57b6..b8095e1c4c9 100644
Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
index efcb1eb63f0..1d690ffd463 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/obj/barsigns.dmi b/icons/obj/barsigns.dmi
index c6b04ee3d14..ea10d30db0a 100644
Binary files a/icons/obj/barsigns.dmi and b/icons/obj/barsigns.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 37b28e21f6e..276aaa7e525 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi
index ccd6cd42102..74dade9bb5f 100644
Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index eee89a7e0d6..8527227a42b 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ
diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi
index 59f39d363b5..a3be493d9c3 100644
Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index 65b860a9f2f..417d6049b2c 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi
index 03f6c8d17f8..3e03b1b7155 100644
Binary files a/icons/obj/contraband.dmi and b/icons/obj/contraband.dmi differ
diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi
index 90a2579ab6a..5c62c63a925 100644
Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ