Adds "Merged" and "Closed" stamps (#820)

## About The Pull Request

Adds "Merged" and "Closed" stamps, along with fluff paper containing a
random amount of randomly generated pull requests. They can be found in
a briefcase in the RD's locker, or rarely in maint.


![image](https://github.com/Bubberstation/Bubberstation/assets/8602857/90fc5d89-a7fe-4dfe-8914-10e62abd8b75)

## Why It's Good For The Game

That damn griefer george melons came to me in a dream and asked me to
make funny stamps. They can be found in the research director's locker,
and also in maint.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑 BurgerBB
add: Adds "Merged" and "Closed" stamps. They can be found in the
research director's locker.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->
This commit is contained in:
BurgerLUA
2023-12-06 10:11:14 -07:00
committed by GitHub
parent 2f286a60e2
commit e5a678f874
11 changed files with 109 additions and 0 deletions
+6
View File
@@ -18,6 +18,11 @@
"stamp-solfed" = 'modular_skyrat/master_files/icons/stamp_icons/large_stamp-solfed.png',
// SKYRAT ADDITION: END - Other stamp icons
//BUBBERSTATION ADDITION: START - Bubberstation Stamp Icons
"stamp-merged" = 'icons/stamp_icons/large_stamp-merged.png',
"stamp-closed" = 'icons/stamp_icons/large_stamp-closed.png',
//BUBBERSTATION ADDITION: END - Bubberstation Stamp Icons
"stamp-clown" = 'icons/stamp_icons/large_stamp-clown.png',
"stamp-deny" = 'icons/stamp_icons/large_stamp-deny.png',
"stamp-ok" = 'icons/stamp_icons/large_stamp-ok.png',
@@ -34,4 +39,5 @@
"stamp-mime" = 'icons/stamp_icons/large_stamp-mime.png',
"stamp-centcom" = 'icons/stamp_icons/large_stamp-centcom.png',
"stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png'
)
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -8,6 +8,7 @@ GLOBAL_LIST_INIT(rarity_loot, list(//rare: really good items
/obj/item/survivalcapsule/bathroom = 1
) = 25,
/obj/item/table_clock = 50,
/obj/item/storage/briefcase/coderbus = 25,
list(
/obj/item/ammo_casing/shotgun/antitide = 1,
/obj/item/ammo_casing/shotgun/beanbag = 1,
@@ -0,0 +1,7 @@
/obj/item/storage/briefcase/coderbus
folder_path = null //I hate this whole fucking system wtf.
/obj/item/storage/briefcase/coderbus/PopulateContents()
new /obj/item/folder/coderbus(src)
new /obj/item/stamp/coderbus/merged(src)
new /obj/item/stamp/coderbus/closed(src)
@@ -0,0 +1,3 @@
/obj/structure/closet/secure_closet/research_director/PopulateContents()
..()
new /obj/item/storage/briefcase/coderbus(src)
@@ -0,0 +1,8 @@
/obj/item/folder/coderbus
icon_state = "folder_syndie" //honestly
/obj/item/folder/coderbus/Initialize(mapload)
. = ..()
for(var/i in 1 to rand(3,8))
new /obj/item/paper/fluff/merge_my_fucking_pr(src)
update_appearance()
@@ -0,0 +1,65 @@
/obj/item/paper/fluff/merge_my_fucking_pr
default_raw_text = "UH OH"
/obj/item/paper/fluff/merge_my_fucking_pr/Initialize(mapload)
//I love madlibs.
//The fallbacks should never roll but you never know.
var/pr_number = 40000 + (text2num(copytext("\ref[src]",2),16) % 100000) //While scientific notation is funny, it wasn't precise enough
var/thing_to_remove = lowertext(pick_list_replacements(ION_FILE, "ionobjects")) || "Kebab" //2006 called, they want their meme back
var/obj/machinery/nuclearbomb/selfdestruct/self_destruct = locate() in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/nuclearbomb/selfdestruct) //Wait, why the fuck are we trying to get the nuke??? Coder backdoor???
if(self_destruct)
if(self_destruct.r_code == NUKE_CODE_UNSET)
self_destruct.r_code = random_nukecode()
message_admins("Through salt PRs, the self-destruct code was set to \"[self_destruct.r_code]\".")
if(self_destruct.r_code == pr_number)
thing_to_remove = "the station's nuclear self-destruct device" //Just made every senior admin shit themselves with this line. 1 in 140,000 chance, by the way.
var/title = "Removes [capitalize(thing_to_remove)]"
var/author = "[pick(GLOB.first_names)] [pick(GLOB.last_names)]" || "Joe Momma"
var/author_dash = replacetextEx(author," ","-")
var/conversation = pick_list_replacements(HALLUCINATION_FILE, "conversation") || "Fuck off?"
var/redpill = pick_list_replacements(REDPILL_FILE, "redpill_questions") || "Why not?"
var/job = replacetextEx(pick_list_replacements(HALLUCINATION_FILE, "people") ,"\\%TARGETNAME","Security") || "Security"
var/traitor = replacetextEx(pick_list_replacements(HALLUCINATION_FILE, "accusations") ,"\\%TARGETNAME","a griefer") || "a griefer"
var/location = replacetextEx(pick_list_replacements(HALLUCINATION_FILE, "location") ,"\\%TARGETNAME","dorms") || "dorms"
var/branch = replacetextEx("[traitor]-[thing_to_remove]-removal"," ","-")
var/dirty_commits = rand(4,75)
default_raw_text = {"
<h1>[title] #[pr_number]</h1>
[author] wants to merge [dirty_commits] commits into \[Space-Station-13:master\] from \[[author_dash]:[branch]\]
<br>
<br>
<br>
<br>
<br>
<hr>
<h2>About The Pull Request</h2>
<hr>
<p>Removes [thing_to_remove].</p>
<br>
<h2>Why It's Good For The Station</h2>
<hr>
<p>[redpill]</p>
<p>
[pick("The Research Directior needs","Security needs","We need","Central Command needs","Nanotrasen needs")] to remove [thing_to_remove] from
[pick("the Station","the Crew",job,location)]. [pick("You might be thinking","You're probablly wondering","You might be saying","One might think","Some might say")]
"[conversation]", [pick("so let me explain","and you'd normally be right","but let me explain","so let me have a moment of your time","give me a second to explain")].
<br><br>
[pick("One time","Previously","Last shift","A few moments ago")] that damn griefer george melons was [traitor] [pick("as","while they were")] [job] and [pick("he","they")]
[pick("killed","assaulted","ass slapped","smacked","bwoinked")] [pick("me","my person","my well being","my ass")] [pick("in","near","around")] [location]
[pick("with","using","while I didn't have any")] [thing_to_remove]. This [pick("should not have happened","was fucking stupid","made me cry","wasted my time","annoyed me")] so I am
[pick("petitioning","begging","asking","demanding")] for it to be removed.
</p>
<br>
<h1>Changelog</h1>
<hr>
CL [author]<br>
[pick("del","remove","balance","fix","bugfix")]: Removes [thing_to_remove]<br>
/CL
"}
name = "[initial(name)] - pull request #[pr_number], [title]"
return ..()
@@ -0,0 +1,14 @@
/obj/item/stamp/coderbus
icon = 'modular_zubbers/icons/obj/service/bureaucracy.dmi'
icon_state = null
desc = "A rubber stamp for stamping unimportant requests."
/obj/item/stamp/coderbus/merged
name = "merged rubber stamp"
icon_state = "stamp-merged"
dye_color = DYE_PURPLE
/obj/item/stamp/coderbus/closed
name = "closed rubber stamp"
icon_state = "stamp-closed"
dye_color = DYE_RED
Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

+5
View File
@@ -8017,9 +8017,11 @@
#include "modular_zubbers\code\game\objects\items\robot\robot_upgrades\adv_plasmacutter_upgrade.dm"
#include "modular_zubbers\code\game\objects\items\stacks\medical.dm"
#include "modular_zubbers\code\game\objects\items\storage\boxes.dm"
#include "modular_zubbers\code\game\objects\items\storage\briefcase.dm"
#include "modular_zubbers\code\game\objects\items\storage\guncases.dm"
#include "modular_zubbers\code\game\objects\structures\trash_pile.dm"
#include "modular_zubbers\code\game\objects\structures\beds_chairs\sofa.dm"
#include "modular_zubbers\code\game\objects\structures\crates_lockers\closets\secure\scientist.dm"
#include "modular_zubbers\code\game\objects\structures\plaques\static_plaques.dm"
#include "modular_zubbers\code\game\traits\negative.dm"
#include "modular_zubbers\code\game\traits\neutral.dm"
@@ -8134,6 +8136,9 @@
#include "modular_zubbers\code\modules\opposing_force\code\equipment\antagonist_powers.dm"
#include "modular_zubbers\code\modules\pai\ghost_pai.dm"
#include "modular_zubbers\code\modules\paperwork\fax.dm"
#include "modular_zubbers\code\modules\paperwork\folders_premade.dm"
#include "modular_zubbers\code\modules\paperwork\paper_premade.dm"
#include "modular_zubbers\code\modules\paperwork\stamps.dm"
#include "modular_zubbers\code\modules\power\supermatter\supermatter_gas.dm"
#include "modular_zubbers\code\modules\projectiles\ammunition\ballistic\smg.dm"
#include "modular_zubbers\code\modules\projectiles\boxes_magazines\external\smg.dm"