diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 084ef439b6f..75091e6d9c7 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -90,7 +90,7 @@ /obj/item/paper/examine(mob/user) ..() - if (old_name && icon_state == "paper_plane") + if (old_name && icon_state == "paper_plane" || icon_state == "paper_swan") to_chat(user, SPAN_NOTICE("You're going to have to unfold it before you can read it.")) return if(name != initial(name)) @@ -153,6 +153,18 @@ name = "paper plane" return + if (user.a_intent == I_DISARM && icon_state != "scrap" && !istype(src, /obj/item/paper/carbon)) + if (icon_state == "paper_swan") + user.show_message(SPAN_ALERT("The paper is already folded into a swan.")) + return + user.visible_message(SPAN_NOTICE("\The [user] carefully folds \the [src] into an origami swan."), + SPAN_NOTICE("You carefully fold \the [src] into a swan."), "\The [user] folds \the [src] into a swan.") + playsound(src, 'sound/bureaucracy/paperfold.ogg', 50, 1) + icon_state = "paper_swan" + old_name = name + name = "origami swan" + return + if (user.a_intent == I_HELP && old_name && icon_state == "paper_plane") user.visible_message(SPAN_NOTICE("\The [user] unfolds \the [src]."), SPAN_NOTICE("You unfold \the [src]."), "You hear paper rustling.") playsound(src, 'sound/bureaucracy/paperfold.ogg', 50, 1) @@ -163,6 +175,15 @@ update_icon() return + if (user.a_intent == I_HELP && old_name && icon_state == "paper_swan") + user.visible_message(SPAN_NOTICE("\The [user] unfolds \the [src]."), SPAN_NOTICE("You unfold \the [src]."), "You hear paper rustling.") + playsound(src, 'sound/bureaucracy/paperfold.ogg', 50, 1) + icon_state = initial(icon_state) + name = old_name + old_name = null + update_icon() + return + user.examinate(src) if(rigged && (Holiday == "April Fool's Day")) if(last_honk <= world.time - 20) //Spam limiter. diff --git a/html/changelogs/dansemacabre-origami.yml b/html/changelogs/dansemacabre-origami.yml new file mode 100644 index 00000000000..8a28b782dd1 --- /dev/null +++ b/html/changelogs/dansemacabre-origami.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: DanseMacabre + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added origami swans, which can be made by clicking a piece of paper while on disarm intent." diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 9edfac593b3..f515e52d799 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ