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