From 5ca99fc0c3a7fa483dcc6d307614710c6123254f Mon Sep 17 00:00:00 2001 From: tralezab <40974010+tralezab@users.noreply.github.com> Date: Wed, 29 Jul 2020 23:13:13 -0700 Subject: [PATCH] Mafia Achievements (#52514) * no brainer! * hilarious indentation error * thank you!! Co-authored-by: trollbreeder * fixes * armhulen07/23/2020 someone mute me from this channel i'm going to give all of my organs to Bulgaria if i keep finding these dark truths Co-authored-by: trollbreeder --- code/__DEFINES/achievements.dm | 18 ++++ code/datums/achievements/_achievement_data.dm | 2 +- .../datums/achievements/mafia_achievements.dm | 97 ++++++++++++++++++ code/modules/mafia/controller.dm | 29 +++++- code/modules/mafia/roles.dm | 33 ++++-- .../UI_Icons/Achievements/Mafia/assistant.png | Bin 0 -> 2374 bytes .../Achievements/Mafia/changeling.png | Bin 0 -> 2363 bytes .../UI_Icons/Achievements/Mafia/chaplain.png | Bin 0 -> 2367 bytes icons/UI_Icons/Achievements/Mafia/clown.png | Bin 0 -> 2363 bytes .../UI_Icons/Achievements/Mafia/detective.png | Bin 0 -> 2357 bytes .../UI_Icons/Achievements/Mafia/fugitive.png | Bin 0 -> 2387 bytes icons/UI_Icons/Achievements/Mafia/hated.png | Bin 0 -> 2467 bytes icons/UI_Icons/Achievements/Mafia/hop.png | Bin 0 -> 2358 bytes icons/UI_Icons/Achievements/Mafia/lawyer.png | Bin 0 -> 2362 bytes icons/UI_Icons/Achievements/Mafia/md.png | Bin 0 -> 2352 bytes .../UI_Icons/Achievements/Mafia/nightmare.png | Bin 0 -> 2350 bytes .../UI_Icons/Achievements/Mafia/obsessed.png | Bin 0 -> 2391 bytes .../Achievements/Mafia/psychologist.png | Bin 0 -> 2348 bytes .../Achievements/Mafia/thoughtfeeder.png | Bin 0 -> 2366 bytes icons/UI_Icons/Achievements/Mafia/traitor.png | Bin 0 -> 2330 bytes icons/UI_Icons/Achievements/basemafia.png | Bin 0 -> 2251 bytes tgstation.dme | 1 + 22 files changed, 168 insertions(+), 12 deletions(-) create mode 100644 code/datums/achievements/mafia_achievements.dm create mode 100644 icons/UI_Icons/Achievements/Mafia/assistant.png create mode 100644 icons/UI_Icons/Achievements/Mafia/changeling.png create mode 100644 icons/UI_Icons/Achievements/Mafia/chaplain.png create mode 100644 icons/UI_Icons/Achievements/Mafia/clown.png create mode 100644 icons/UI_Icons/Achievements/Mafia/detective.png create mode 100644 icons/UI_Icons/Achievements/Mafia/fugitive.png create mode 100644 icons/UI_Icons/Achievements/Mafia/hated.png create mode 100644 icons/UI_Icons/Achievements/Mafia/hop.png create mode 100644 icons/UI_Icons/Achievements/Mafia/lawyer.png create mode 100644 icons/UI_Icons/Achievements/Mafia/md.png create mode 100644 icons/UI_Icons/Achievements/Mafia/nightmare.png create mode 100644 icons/UI_Icons/Achievements/Mafia/obsessed.png create mode 100644 icons/UI_Icons/Achievements/Mafia/psychologist.png create mode 100644 icons/UI_Icons/Achievements/Mafia/thoughtfeeder.png create mode 100644 icons/UI_Icons/Achievements/Mafia/traitor.png create mode 100644 icons/UI_Icons/Achievements/basemafia.png diff --git a/code/__DEFINES/achievements.dm b/code/__DEFINES/achievements.dm index ed82c8ce1d7..4e8ea6b3567 100644 --- a/code/__DEFINES/achievements.dm +++ b/code/__DEFINES/achievements.dm @@ -28,6 +28,24 @@ //Skill medal hub IDs #define MEDAL_LEGENDARY_MINER "Legendary Miner" +//Mafia medal hub IDs (wins) +#define MAFIA_MEDAL_ASSISTANT "Assistant" +#define MAFIA_MEDAL_DETECTIVE "Detective" +#define MAFIA_MEDAL_PSYCHOLOGIST "Psychologist" +#define MAFIA_MEDAL_CHAPLAIN "Chaplain" +#define MAFIA_MEDAL_MD "Medical Doctor" +#define MAFIA_MEDAL_LAWYER "Lawyer" +#define MAFIA_MEDAL_HOP "Head of Personnel" +#define MAFIA_MEDAL_CHANGELING "CHANGELING" +#define MAFIA_MEDAL_THOUGHTFEEDER "Thoughtfeeder" +#define MAFIA_MEDAL_TRAITOR "Traitor" +#define MAFIA_MEDAL_NIGHTMARE "Nightmare" +#define MAFIA_MEDAL_FUGITIVE "Fugitive" +#define MAFIA_MEDAL_OBSESSED "Obsessed" +#define MAFIA_MEDAL_CLOWN "Clown" + +//Mafia medal hub IDs (misc stuff) +#define MAFIA_MEDAL_HATED "Universally Hated" //Boss medals diff --git a/code/datums/achievements/_achievement_data.dm b/code/datums/achievements/_achievement_data.dm index cfa1ab6ed01..384663c156e 100644 --- a/code/datums/achievements/_achievement_data.dm +++ b/code/datums/achievements/_achievement_data.dm @@ -107,7 +107,7 @@ /datum/achievement_data/ui_data(mob/user) var/ret_data = list() // screw standards (qustinnus you must rename src.data ok) - ret_data["categories"] = list("Bosses", "Misc" , "Scores") + ret_data["categories"] = list("Bosses", "Misc", "Mafia", "Scores") ret_data["achievements"] = list() ret_data["user_key"] = user.ckey diff --git a/code/datums/achievements/mafia_achievements.dm b/code/datums/achievements/mafia_achievements.dm new file mode 100644 index 00000000000..414917413a9 --- /dev/null +++ b/code/datums/achievements/mafia_achievements.dm @@ -0,0 +1,97 @@ +/datum/award/achievement/mafia + category = "Mafia" + icon = "basemafia" + +///ALL THE ACHIEVEMENTS FOR WINNING A ROUND AS A ROLE/// + +/datum/award/achievement/mafia/assistant + name = "Assistant Victory" + desc = "If you got killed instead of someone more important, you just flexed the true strength of your \"\"\"\"role\"\"\"\"." + database_id = MAFIA_MEDAL_ASSISTANT + icon = "assistant" + +/datum/award/achievement/mafia/detective + name = "Detective Victory" + desc = "If you did this with a Medical Doctor in the game, i'm not really that impressed." + database_id = MAFIA_MEDAL_DETECTIVE + icon = "detective" + +/datum/award/achievement/mafia/psychologist + name = "Psychologist Victory" + desc = "You learned how to not reveal someone random night one! Or... maybe you're just a lucky bastard." + database_id = MAFIA_MEDAL_PSYCHOLOGIST + icon = "psychologist" + +/datum/award/achievement/mafia/chaplain + name = "Chaplain Victory" + desc = "Useless... until the one night the thoughtfeeder confidently claims themselves as detective. Mafia's true bullshit detector." + database_id = MAFIA_MEDAL_CHAPLAIN + icon = "chaplain" + +/datum/award/achievement/mafia/md + name = "Medical Doctor Victory" + desc = "Congratulations on learning how to not talk!" + database_id = MAFIA_MEDAL_MD + icon = "md" + +/datum/award/achievement/mafia/lawyer + name = "Lawyer Victory" + desc = "Oh don't mind me, i'm just the worst rol- Oops, I just instantly ended the game." + database_id = MAFIA_MEDAL_LAWYER + icon = "lawyer" + +/datum/award/achievement/mafia/hop + name = "Head of Personnel Victory" + desc = "King of Assistants, waster of a single mafia's night, thrower of games." + database_id = MAFIA_MEDAL_HOP + icon = "hop" + +/datum/award/achievement/mafia/changeling + name = "Changeling Victory" + desc = "I think the changelings are metacomming." + database_id = MAFIA_MEDAL_CHANGELING + icon = "changeling" + +/datum/award/achievement/mafia/thoughtfeeder + name = "Thoughtfeeder Victory" + desc = "Clown's best friend. And Obsessed. And fugitive? Whose side are you on?!" + database_id = MAFIA_MEDAL_THOUGHTFEEDER + icon = "thoughtfeeder" + +/datum/award/achievement/mafia/traitor + name = "Traitor Victory" + desc = "Guys, we still have two more changelings to ki-!! TRAITOR VICTORY !!" + database_id = MAFIA_MEDAL_TRAITOR + icon = "traitor" + +/datum/award/achievement/mafia/nightmare + name = "Nightmare Victory" + desc = "DID YOUR LIGHT FLICKER?!" + database_id = MAFIA_MEDAL_NIGHTMARE + icon = "nightmare" + +/datum/award/achievement/mafia/fugitive + name = "Fugitive Victory" + desc = "I'm just the description on an achievement, but if you end up having to choose between town and changelings, go changelings." + database_id = MAFIA_MEDAL_FUGITIVE + icon = "fugitive" + +/datum/award/achievement/mafia/obsessed + name = "Obsessed Victory" + desc = "You got your target lynched, so instead of being spiteful and annoying, you're just smug and annoying." + database_id = MAFIA_MEDAL_OBSESSED + icon = "obsessed" + +/datum/award/achievement/mafia/clown + name = "Clown Victory" + desc = "Did you know this works on traitors, despite their immunity? If you hit the jackpot and manage to kill one, they'll salt into the next dimension. Clown tips!" + database_id = MAFIA_MEDAL_CLOWN + icon = "clown" + +///ALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES/// + +/datum/award/achievement/mafia/universally_hated + name = "Universally Hated" + desc = "Managed to get more than 12 votes when put up on trial, jesus christ." + database_id = MAFIA_MEDAL_HATED + icon = "hated" diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm index 793716848f5..b2f0c613533 100644 --- a/code/modules/mafia/controller.dm +++ b/code/modules/mafia/controller.dm @@ -190,7 +190,10 @@ */ /datum/mafia_controller/proc/check_trial(verbose = TRUE) var/datum/mafia_role/loser = get_vote_winner("Day")//, majority_of_town = TRUE) + var/loser_votes = get_vote_count(loser,"Day") if(loser) + if(loser_votes > 12) + loser.body.client?.give_award(/datum/award/achievement/mafia/universally_hated, loser.body) send_message("[loser.body.real_name] wins the day vote, Listen to their defense and vote \"INNOCENT\" or \"GUILTY\"!") on_trial = loser on_trial.body.forceMove(get_turf(town_center_landmark)) @@ -254,6 +257,10 @@ * * returns TRUE if someone won the game, halting other procs from continuing in the case of a victory */ /datum/mafia_controller/proc/check_victory() + //needed for achievements + var/list/total_town = list() + var/list/total_mafia = list() + var/alive_town = 0 var/alive_mafia = 0 var/list/solos_to_ask = list() //need to ask after because first round is counting team sizes @@ -263,13 +270,17 @@ ///PHASE ONE: TALLY UP ALL NUMBERS OF PEOPLE STILL ALIVE for(var/datum/mafia_role/R in all_roles) - if(R.game_status == MAFIA_ALIVE) - switch(R.team) - if(MAFIA_TEAM_MAFIA) + switch(R.team) + if(MAFIA_TEAM_MAFIA) + total_mafia += R + if(R.game_status == MAFIA_ALIVE) alive_mafia += R.vote_power - if(MAFIA_TEAM_TOWN) + if(MAFIA_TEAM_TOWN) + total_town += R + if(R.game_status == MAFIA_ALIVE) alive_town += R.vote_power - if(MAFIA_TEAM_SOLO) + if(MAFIA_TEAM_SOLO) + if(R.game_status == MAFIA_ALIVE) if(R.solo_counts_as_town) alive_town += R.vote_power solos_to_ask += R @@ -286,6 +297,8 @@ var/solo_end = FALSE for(var/datum/mafia_role/winner in total_victors) send_message("!! [uppertext(winner.name)] VICTORY !!") + var/client/winner_client = GLOB.directory[winner.player_key] + winner_client?.give_award(winner.winner_award, winner.body) solo_end = TRUE if(solo_end) start_the_end() @@ -293,10 +306,16 @@ if(blocked_victory) return FALSE if(alive_mafia == 0) + for(var/datum/mafia_role/townie in total_town) + var/client/townie_client = GLOB.directory[townie.player_key] + townie_client?.give_award(townie.winner_award, townie.body) start_the_end("!! TOWN VICTORY !!") return TRUE else if(alive_mafia >= alive_town) //guess could change if town nightkill is added start_the_end("!! MAFIA VICTORY !!") + for(var/datum/mafia_role/changeling in total_mafia) + var/client/changeling_client = GLOB.directory[changeling.player_key] + changeling_client?.give_award(changeling.winner_award, changeling.body) return TRUE /** diff --git a/code/modules/mafia/roles.dm b/code/modules/mafia/roles.dm index e1f0c0143a7..672ca789e12 100644 --- a/code/modules/mafia/roles.dm +++ b/code/modules/mafia/roles.dm @@ -18,12 +18,12 @@ //action = uses var/list/actions = list() var/list/targeted_actions = list() + //what the role gets when it wins a game + var/winner_award = /datum/award/achievement/mafia/assistant //so mafia have to also kill them to have a majority var/solo_counts_as_town = FALSE //(don't set this for town) - var/game_status = MAFIA_ALIVE - var/special_theme //set this to something cool for antagonists and their window will look different var/list/role_notes = list() @@ -116,6 +116,7 @@ desc = "You can investigate a single person each night to learn their team." revealed_outfit = /datum/outfit/mafia/detective role_type = TOWN_INVEST + winner_award = /datum/award/achievement/mafia/detective targeted_actions = list("Investigate") @@ -166,6 +167,7 @@ desc = "You can visit someone ONCE PER GAME to reveal their true role in the morning!" revealed_outfit = /datum/outfit/mafia/psychologist role_type = TOWN_INVEST + winner_award = /datum/award/achievement/mafia/psychologist targeted_actions = list("Reveal") var/datum/mafia_role/current_target @@ -200,6 +202,7 @@ desc = "You can communicate with spirits of the dead each night to discover dead crewmember roles." revealed_outfit = /datum/outfit/mafia/chaplain role_type = TOWN_INVEST + winner_award = /datum/award/achievement/mafia/chaplain targeted_actions = list("Pray") var/current_target @@ -230,9 +233,9 @@ desc = "You can protect a single person each night from killing." revealed_outfit = /datum/outfit/mafia/md // /mafia <- outfit must be readded (just make a new mafia outfits file for all of these) role_type = TOWN_PROTECT + winner_award = /datum/award/achievement/mafia/md targeted_actions = list("Protect") - var/datum/mafia_role/current_protected /datum/mafia_role/md/New(datum/mafia_controller/game) @@ -275,9 +278,9 @@ desc = "You can choose a person during the day to provide extensive legal advice to during the night, preventing night actions." revealed_outfit = /datum/outfit/mafia/lawyer role_type = TOWN_PROTECT + winner_award = /datum/award/achievement/mafia/lawyer targeted_actions = list("Advise") - var/datum/mafia_role/current_target /datum/mafia_role/lawyer/New(datum/mafia_controller/game) @@ -330,6 +333,7 @@ desc = "You can reveal yourself once per game, tripling your vote power but becoming unable to be protected!" revealed_outfit = /datum/outfit/mafia/hop role_type = TOWN_MISC + winner_award = /datum/award/achievement/mafia/hop targeted_actions = list("Reveal") @@ -350,6 +354,8 @@ desc = "You're a member of the changeling hive. Use ':j' talk prefix to talk to your fellow lings." team = MAFIA_TEAM_MAFIA role_type = MAFIA_REGULAR + winner_award = /datum/award/achievement/mafia/changeling + revealed_outfit = /datum/outfit/mafia/changeling special_theme = "syndicate" win_condition = "become majority over the town and no solo killing role can stop them." @@ -366,8 +372,9 @@ name = "Thoughtfeeder" desc = "You're a changeling variant that feeds on the memories of others. Use ':j' talk prefix to talk to your fellow lings, and visit people at night to learn their role." role_type = MAFIA_SPECIAL - targeted_actions = list("Learn Role") + winner_award = /datum/award/achievement/mafia/thoughtfeeder + targeted_actions = list("Learn Role") var/datum/mafia_role/current_investigation /datum/mafia_role/mafia/thoughtfeeder/New(datum/mafia_controller/game) @@ -408,6 +415,8 @@ win_condition = "kill everyone." team = MAFIA_TEAM_SOLO role_type = NEUTRAL_KILL + winner_award = /datum/award/achievement/mafia/traitor + targeted_actions = list("Night Kill") revealed_outfit = /datum/outfit/mafia/traitor special_theme = "syndicate" @@ -459,6 +468,8 @@ detect_immune = TRUE team = MAFIA_TEAM_SOLO role_type = NEUTRAL_KILL + winner_award = /datum/award/achievement/mafia/nightmare + targeted_actions = list("Flicker", "Hunt") var/list/flickering = list() var/datum/mafia_role/flicker_target @@ -528,6 +539,8 @@ win_condition = "survive to the end of the game, with anyone" team = MAFIA_TEAM_SOLO role_type = NEUTRAL_DISRUPT + winner_award = /datum/award/achievement/mafia/fugitive + actions = list("Self Preservation") var/charges = 2 var/protection_status = FUGITIVE_NOT_PRESERVING @@ -572,6 +585,8 @@ /datum/mafia_role/fugitive/proc/survived(datum/mafia_controller/game) if(game_status == MAFIA_ALIVE) + var/client/winner_client = GLOB.directory[player_key] + winner_client?.give_award(winner_award, body) game.send_message("!! FUGITIVE VICTORY !!") #undef FUGITIVE_NOT_PRESERVING @@ -583,8 +598,9 @@ win_condition = "lynch their obsession." team = MAFIA_TEAM_SOLO role_type = NEUTRAL_DISRUPT - revealed_outfit = /datum/outfit/mafia/obsessed // /mafia <- outfit must be readded (just make a new mafia outfits file for all of these) + winner_award = /datum/award/achievement/mafia/obsessed + revealed_outfit = /datum/outfit/mafia/obsessed // /mafia <- outfit must be readded (just make a new mafia outfits file for all of these) solo_counts_as_town = TRUE //after winning or whatever, can side with whoever. they've already done their objective! var/datum/mafia_role/obsession var/lynched_target = FALSE @@ -614,6 +630,8 @@ return if(lynch) game.send_message("!! OBSESSED VICTORY !!") + var/client/winner_client = GLOB.directory[player_key] + winner_client?.give_award(winner_award, body) reveal_role(game, FALSE) else to_chat(body, "You have failed your objective to lynch [obsession.body]!") @@ -625,6 +643,7 @@ revealed_outfit = /datum/outfit/mafia/clown team = MAFIA_TEAM_SOLO role_type = NEUTRAL_DISRUPT + winner_award = /datum/award/achievement/mafia/clown /datum/mafia_role/clown/New(datum/mafia_controller/game) . = ..() @@ -635,4 +654,6 @@ var/datum/mafia_role/victim = pick(game.judgement_guilty_votes) game.send_message("[body.real_name] WAS A CLOWN! HONK! They take down [victim.body.real_name] with their last prank.") game.send_message("!! CLOWN VICTORY !!") + var/client/winner_client = GLOB.directory[player_key] + winner_client?.give_award(winner_award, body) victim.kill(game,FALSE) diff --git a/icons/UI_Icons/Achievements/Mafia/assistant.png b/icons/UI_Icons/Achievements/Mafia/assistant.png new file mode 100644 index 0000000000000000000000000000000000000000..0cfc93b166fbb925f5af4236f8d332914c6c7a8c GIT binary patch literal 2374 zcmV-M3Ay%(P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2-`_SK~#8N?VMd~ zR7DiWXJ)tGTS{A?Rj?Kcf)o-Wg!16a3WgVmMPD?*#Aq~{K!O5>2Ms0gA{0vki4O)} zY@#o!YiMao!@O z_OB)#H}i(r`7MXssEes$2JFXE9#_T~tK^!tmA+O|<6U~q3?-#k5_={@ohI0sw?1|E z88uN=RDso3d(u``lzeonscoCaxLa_RVN|iqv>cY5k;}5uvRMXQnRE#*)RpGc9~<|L zF->aBFa2z6e1xuHHu7YM4L|X+(eWYm3?wDmi+7mI;5;Z=5(YPPexXL%}4ME99=!b-9$|z z%Vc9zRU@7Jt4Ma&hycSNKA7YGmQJN8T>e z>iUV`5!awN6^Th=*1&$M_G}YUJ4u6hDZbAmO9Cj2Pje}Zb@zI2Qb##W{0iXUro|%LrJ$Q5zo`80l5uhQ|i<$$`nL%Ke*<7}d|L z83BWfkU64#LsqpD-S35hGFFuLf>9fvdeDED-R)`ByQ!45F0c4-CSCNIfnf%eT>FJ! zZQ$I&$`+NYK|K-FKhnc)KfJ~?nj{F?UtEgqZ+!0VGOEMUGXbkV?%71sPXl$qqI72# zTVAx5Wu@mBwTU5&ZLJTlDxZ$J=mT>6DtGL4HyPE_Dr{g1mXwY32RSbCr7LWJ8UsAWEWmQv@JJg!wnd- z&<&FTmMOFalNQ#p)YaB|UD~%sRY*5M0gp;7HVS+xSzwo(MIbSpvgCn*OpB%bj@l;3Fxt6>TP!DFzmr)FrV+)Z9-}y*APa+o>gTeJbDpvK z`So+YMKf0#9vfuW?_Z+vUyeB>FP-Sn23Z)km9bNb&A(KI1)=R=02buX9yE%T0v1+Z z?a3fyUh*QGYnN2Se5W+t^u#yHu5@06m*FG3D%`QpJ%I9ng{`b8`5G@Qum_*&uplr1 z3os!zpBcsf1H0AKwhW)C;B$p5lLfJdXd#n{$%tdkB)7xA%iB#k8cSWm@3Y z@AUduS{UNdZruA5z*^u|sQ4`eve~khgFB2n<`jr2#a+ArgC$vAb19PzSdkN}2jH4v zlC~zxWCK=l*AFpYaztl5cy%8D_{sPvt_LS8)C)lk2UV%T%0U$6{}FDSSt~BEABkJ&U%I( zkfX2d7D#kLA>PH=vKE#`5Lg9mAg)=mi58k!s?wG&j9*tfn^b6L?jT!ky@F4q(Am;uvLH5-qjy@)w;xAxW-kqL_Cj1=a3l8; zOo&Y&PAmXy`vLboT3psjS~nrzFx90P(E1uoh)tl|1%N?F`$Z-zk~5K$ld3}7!2m44 z#3)t@0%qh$*I=MCUMr=f&~}w3NGzVt8xH~oAxE0X4j_{i0kWwkv>9y&1F$fP1DXU3 z)2HC_Fz!>)%FH%{fmL$-Bw!E{%E=(xk@kyB)>P5MflfWunc5BpMsbiVf$8f@z6%~M z(teRvlI%hoJ07yf>qDGl5`P@STEkZ|F;TfBJ--P+`suUd9 zl1JJvGFg$FnTSF+gk>pM(MXavHSrh*jA_VZ%}TIi7%;%MKDerP!)PAEU`m}ZASBJ8 zY(3I`kq3_C%tR1e2h4_kZCs66=!Q`}=)+VZ9wh^(6n>UkBgXP5nTfIwE1H2+GCh;0 z=!aB9al9UfMRwH=4}MOM!!m_;o5+!tTpSXd%|kbhmjlwtxH+#I+zQTCC3Gn9R3 z!^4+~PKmak<5u>b%707*qoM6N<$f@0umegFUf literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/changeling.png b/icons/UI_Icons/Achievements/Mafia/changeling.png new file mode 100644 index 0000000000000000000000000000000000000000..9e44c902633876bda1357d73e9b0debd89e2a328 GIT binary patch literal 2363 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 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/clown.png b/icons/UI_Icons/Achievements/Mafia/clown.png new file mode 100644 index 0000000000000000000000000000000000000000..4f2d91947159fa5b74fc64b95911ebaba1af6982 GIT binary patch literal 2363 zcmV-B3B>k^P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2+&DHK~#8N?VL|c zR7V`gXJ(iGizujIs}@D8Et;6B#X~P!ZF!k;q^wOqHG_h414{g-wrHaKwlOCF$ z%ApquP3=kSUNoV#Hm3fmRZvv4s0aef0 z^P73|8_rTd%Rx_mUlDsl@W5)$MHQ2BH5IR*%PBd_=Zsh2bCSs}F4-{M`sr$8oVQ77 z{9{PRjgmoje#>Du>XJ&*1pDE%$CWq2YPn&&O>b+d@h-C_Mx^vg(w+&?Xb5&@$EWUR zx+b9{RIsKxPtK~Er61jF?bvEC?iQTo=_;0=Q^X4MidjKUA!4 zPldsaBlPVbQ1^18OwyY<`EyxGVVSxh&`f}U&wSmi&-aw|4?m-CCwn8P8~dpnH#h>~ zOA@YA6~>Xc3f5TfnJWTvFa5{&D{CTanO8X96se$$IUPCrlkp{B_(?nxj;39qhGZyT}I?q-ijZ@^rEAf5~SrUYTe@Z3rbq{)PQF3#9BYxY+&f zKKB{3AU0+sSo867UywB&;+#1O^X8CH%So_#x^{NZKh&#)^NsYIg9DR?YWHtGs;j3> zOoAaq$R9GkA*@`?{*>7vsX3?rcA#?K_y z2F@Lghn=P!GHP_!={4kRZ|i;8JXR=W}dFO`{S!BrlT(UhyuUb?R(v=x_U~Y7EFmHWefd6k&EJ~nWXl%3LVrW(+Vq6xr0m|)TdaHF zp|Ug~`MPMj=aj96gNM(8Sg@>25DTCUOUqWW;(}7TXXS>FXAn>7>WEC)ay=SufX_lV z%mlG4&=w3@n9EXETkmxl-|DJ}Oxk+HS@f+tF&e_br>oDJ42N)%Xlt0DSF}~Nc@iS} zFhuZN%4Yf!$4U|_T|$RgLCA5d>n}LBfaJV3(u^Rig`qEFx`PNFL20Io1xm=5p{;1M zVDe-ne->6SOr+^ID>2=f?Gb!DL0i#gqDpBHh6!B~OEivv?4a9{l@;q|-P|zIVD5RV z>oS&ydZd$Ajb9p?U}0F#qL&h^I%Jzz0BuIw1!twgZ|u>iHw(;CQ%&v6)hA6{Nc2%~0pSvIBK?_?|v-E2`u)rF8wu=Rz0knW7 zq|Il#_ZN07xi6qENa}S?~=#0&fnEuj)1}664-Kt z!fXyyr=l>|+-Rh>XEoRTT2J?T@DR3Q?n|m78CaIJk$x2BUXpQ>HDX-(Mfw5Bw6v~g zch$pS;-sLysVof3v^L=hYC~FKl*GaEHEQPJun8 zxJ$WU@KLznvqCScJcU@=Kr0Gj%?-HLHc6X_SlU1wx z!4`K-n_!$P!LY&1COkoHNGslSyk!^X;#8@tLTzPAHtDchap&=M)-(8sW=6(tfkY=1 z;#r(cc#x_Cpw*ZK#5IdIh0dF72>7q7ovm=AgT(`UzQERNdeeeRq&i%eD|XCfyjTS42Q0knW7x>zwrFr6b^ z4@ajTD`h2UyGj!zEym}Kj}Z(YN1BxFMf!eF@97Nc%-5YbJ5$$=^yW zv=Ju_=;DY>DcF0v++Jbutw{4ljx^GKGexxf)E0ygXdBuX&9MwoKZglTl1JJvGFg$F znU0_v!m^ZDiAa*S2t9@YJ`I_y>2?eQ9DMtut7bP$VyFyX#{2Kk@kx`a3p7@ z0|*^38U~C}<+IQY6ME2xMLHfOgP;^~mYO3b^C+26?8Ay;Kqb>Nd78dR?I@nD$6=9O z-9-eS(&Ml!@N5$~(vpkAg0ng3rnBY1HLN;dB0XykTnoiM(l18rLnC9Psm@cps%B~R z&DM^CG@`yqMZu$05_BwSTl_4CWkTifN7GnSa002ovPDHLkV1n;VYpMVM literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/detective.png b/icons/UI_Icons/Achievements/Mafia/detective.png new file mode 100644 index 0000000000000000000000000000000000000000..edeba8c402d190d174f4eec3f95f9c839cce7721 GIT binary patch literal 2357 zcmV-53Ci|~P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2+B!BK~#8N?VMd~ zR7DiWXJ)tGTlxjGDqx`?Xdxj&EDye{V0?jC^hFa)OpHboNKnA=paB9eLa`)}_+WUF zL|?Eq;uGM$KvIktA`}r?XrYjnmVR!xE#1B2`OlrZcH7-{X}jO|pWN)-ncF4v(ufTJX$xbfWDBb$$YGItWNNN0Q zNXM6FKnGsbGUVZ23OYpL-rvu2i((kqEQ6XL8P*tvH zm@1~g8tOb*t812ha=WQ*tHHQiaF(O1SZ-DU%g-rfd0F`^hpt?@1Q+Vca+;5g`^T6e z4Hl3AHa0#&myeA+9cI3#UN$;Dte%0SWC6~l=cSs;)2)~9|F&(vdq`K!yJ7FM>4;%13VS}Un^y_4ABc(dr0r53~ z>rjRBsCfl;w%$`L0&)-ikMC2~MAlN0ztDt~SH_%qDnh(WE=*AEG?y(+kr)6~m zMDU1fNSvCFNn*~xey;Ou71B6KgLoyrFCa?-D2z{u6vn!TeRrwL_Lv1ywi#UPdS|cu zoLMkC%?ViJv5Q}kH67%fIr4KB5U3RdtVGu)hXzOb6gc15pgB1(d9Zfh<|DfLnKdh5 za1nAxjPJ;*cA)z$Ev;hZMN4&Ua;j_K0ejHfYIaj8&$zteY)*JXUKt0HRJ*2B-DU)_P(5CeRwj#<;mA)EwlEfe&KwyHKyqljY| zJa{f;BmIbD6~Rgs*I~AT%W z-=ayBd}BlG=A)}L{>w3kWoO;7!!?0Ux)co}}OtFrBT-Ge9(TG;BEW#8h31@_=G9To%zU;!q? z<_lf?Kd{?PZ7cAZ2|ib}vRDwC8g)Zbz_7r^dqeD=;_Z$tQ(yrmU;{=dQ^4>>8Uq~O z8^-EYSSkuEzyxf-2xSVGetmCu$1t*(Sd2KA% zj_ORx&o%>%RCrcn-S72uzZ)-MD~exK74eW|S*6wLV~T#P3ALp6ub9vGHmi@gT3Tm+ zyLuT+Iw7cUDhtClt*!71vLRNOB@y|TG=n`X3l}VE;$@X5LOEG^`i`vxFcrUrKsH<9 z<=_r|$D9H&rMRq^3H7je(vMy^ZOSA++yK#faJzL>r zu>mWg^qbYD3hgW$;tK^ruj$JLR3dlBR;YqZq&yE+rl&8&S$rVT z$yTU>Of(|}4Ecu0l0a4%5}jP^e9;}a=#woF+ph|SdKot8`O$B~@bM}wTb5H}ax$h`y;ViSxL3j*7=-~EslmuDoc zn~-mq=~4`6eGMkWCfMzQz#ydkB9j%#naIh>RH5x)02W}Pik<={ljzec$J4P<@vNa_%@O-Nu=h{ b%8dO7G8w0S3A+C)00000NkvXXu0mjf_zGv& literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/fugitive.png b/icons/UI_Icons/Achievements/Mafia/fugitive.png new file mode 100644 index 0000000000000000000000000000000000000000..86beb21b1bd796e0f720046766da1651ddeca081 GIT binary patch literal 2387 zcmV-Z39R;sP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2+0EqAxyR!iz=|NKnA=prHgF6pD~Q;)5|U zu@An~)`(Al`+}wtF@&21TIdZd1$y1y=Guv(F-*0BV zne%fJ@dA8KGTFf;8>U+yU5$+MMk$S( zhIBM!53mbc4!KbmRiY-?Pp3Vuv=LUp4dZQkTS1L?nKd&+O0OjCnGiLGU}xU@)ZL?N zB1%LBtF7{+l#~~KbgRC3tHHQiaF(X4Sb9np%S>CqGEy>G8eQph2`KkE( zG?-ud*~sV+U4v}s$p9OC;$_351L`wCO6KQWdR{6o`o8Ip*59@raQEw~IVU25{c_Y( zU~uCwefv)8UQU!rdb2P+hh=BxsS5(l1_;hVDDP#3$?d7T+FNswrNb1AmH^SQf2SBJ&41gkyn*+kP%9d*I{RA&ZT zmA{r{q-N>b_yA*DQ|C41(@__FK#pI<_Py?UT|FgX3#P=9@*Mp@mW%wUm1J2dj#OP6 zU-@r zVIqiSfwo}M!djNP+Ip|c_)b@a0cZd% zpb2U7nJ#`R*sc2Jm3U1CpDSD}El8Vkbwen@u)xN1L+qa7>5h#Fw16hi1{$GE35F-q z7~t^SFj9}g;t^;8O`r`lLYWdwKfbrSV-PG&ER8tUOkS7qkd{KOGMXJ{`$Rg?7#C)@+iY2_}sAr2q$g_xbC|kBse=K_BTnxEk5|o~eW=KFZx!!(J#d7!!{+2+< z5ek#pQJsp+R5Q>>g=f`O{eFV(_uwIHLC%Y+A{qoNtF**?)wp&x=sOed59so*#yVI9r}(rd2QAC{}5C9>hjkEk$=&^8pB*)O>Zpn9x#6{nqwG3sIIjAiD11B za$?N@+-QmwZ&=zuE4v>~69F^B4b09aIF>eMmo($xRkZSaV9kmXuZe^zj|P@D&Wq}ZPO`~9(E5Q(8W)qx%Hl!7=J$7yv=i<~N zSAhy;iZ=1ETXDDZ2J0GlKr16-w?Lv33h^w?COAmd0nlpP2I87!o5rr2YzT~B*V^k< zXy<}{zE~jin%PwK4h{Y zKsMPxo6&Y?04;QJfJuU3`V?Fq#(gqcnbl@!5G=WVl3)M{Stk!nxqDZ4?EH_kHrRpqg3{++OSlL{tQQ;Z|D(d0$h@j6_HX_`R|O@c zg;@+|h)<|bU&1ym(teT2nn>Jz_^%QRZNy0fx;P|L3ikdkw^tZ^E7E+CBaO7*L=mlx z+5#5>Z9^NwIhG;p4fU}}@<{tdCM%LN;}LX2Se6ni5=rtFV~=6Ln1)Q&csqsx1ANni zYi2i$VyFyX$EEMk@kx`a3p8O18^NM8~Tk=HD;k3M)aT$i+DUr22LsbEVV|A z=20?Zu@5Vn0VjDxx@6kHaFnYJmqoug76o;Mpc}q$L-J1ZNA;O=IQ2HS9WI zAssUZu8qY$(r<>?hepnj+A7b2lJdf`TlLKcX-0jMiULQgMCe%3#-=}7_mWT%3q^{k zU}J$RVjX-dIp0pdcvc>-^3bI`n@|Veh60mBd>*aL*#GpIs@yb6Iwk-B002ovPDHLk FV1ldEWMlvU literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/hated.png b/icons/UI_Icons/Achievements/Mafia/hated.png new file mode 100644 index 0000000000000000000000000000000000000000..00ea735200c37f768f9b9bd0596ceda843752cdf GIT binary patch literal 2467 zcmV;U30(GxP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2{=haK~#8N?VMd~ zR7DiW&&+PW3$-m$kgr0)qGEz#EDye{kZ26VR$qL8#1}ymP1K6u%{ z!51t>{7A&?3nVp)5=B60p+LdXmX?0EboY+uKlk2syWQ>Q?!9++`%iB6-kI%^`Eh3E z%-nNEkPAA#JDA^7M2|@kUMqyGBBj=H@oK*ON>IKau?XK&q}qg{VZIIV)kH!xDP{a) zDBt;#0Xnhy-2mzwm1DrZIuI<*8=+cZ7*FtHEjPZ{teK&d>Q~I3q sI`-^qf!kJ1 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 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/lawyer.png b/icons/UI_Icons/Achievements/Mafia/lawyer.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9bba203647ee9d174d3c16d1a69fb9f1a85bc8 GIT binary patch literal 2362 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 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/md.png b/icons/UI_Icons/Achievements/Mafia/md.png new file mode 100644 index 0000000000000000000000000000000000000000..32bc972a4aec4ab56ae0b9d88ac70600b8a82fd7 GIT binary patch literal 2352 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 UIGL*9Gynhq07*qoM6N<$f^2VJ1^@s6 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/obsessed.png b/icons/UI_Icons/Achievements/Mafia/obsessed.png new file mode 100644 index 0000000000000000000000000000000000000000..b92ba5b582ff709e3890282bca7e28989e380356 GIT binary patch literal 2391 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�O(y zVjp~|tr4Fn?h7QQZ*=#J-+#`WwWYglX}kCHPfqsi%;}Q(@y*OP zbG~mli-H=Dd(sE9*xQ2pH*hXWnUou-cpY6%$yqvQya>-pCOf%g<8cMs^A zuqv#;>Z?5|WfjGr+-qvxX)x{*!G*d~oaSSbz6oYX zgZZVOO-zo_HOj`Gjj+*YUN$~CqMm`IWPZ-2=e3HG?^~|6|F-L>dstU3xxxbMm(!ji zgBvI5*Y{EPa-vMqmz?xvEH|@2T>!Kg0pP%BFB=?v%7(@V=-0{KNYsse)QxK$e(@E7 z>rjPDs3iqfSL0bG{PGa}j~`LiMAnj*x!i=5QNWyz6#eAV%5V4x9)Y8)Z?uP~8DyDk zf~snylYhOG-E~QTVGtkA@_)*OsG_gAu%-f6A$uin4NG;Vn-4`u=*ExxAF^I=r)716 zMDUbrSX@|&Nn+8!ey;ZH6w)|PgLnzP=a3}<6vn4$3S-^l{s+`$d(8qVTMaG_d~n!( z(JWY)76q)~%;jTbO;wyTM`l_Mfm%zz@^o!%XlSfofg7C|GA9Qnt16FdKc%Z*SPKFM z7a@Jj_?E0{FS_6A{8Cn!yIR-Arn&|nu}6I^W;d0x*5wr+FQkjUFfh!3k{iDgtgW0o zSn0}gHK@mf2FLo?gYMhRph<$DUE@;hdjCszr>>rtUI>>GH3oQ$S%3x0N(5LC+E84uo@Hm`(>*IRguDoUQdfu6oGsV0;Z}@U=!S^^ z%M#jxNegRP>S|lOF5^306;iXd9)1@6>R!x-7~tb|%$iLO;Us7qnV?U!Rke8*g&f1+ z!E-4a=tmsu30Azg4ht1rj{BW|V{r3J&MQN$2!dJ|`ZAU~@ZjN;CORxAm&P)*6>Szw zo(nae1qFtMH2q}>mOHWT!7ruIR(j4p{S8i!xD(rxbgqRlb4HVn70_PpPD z1KUG=(#cDo-x``>Vc5^2k6i3JBpWOUZARM#XZgZs9Mr`DO|vjKsD3V6Ip=9_yu2mq zTQt$q=)^F)^W-{>|8l}1dC63VcAAA@TNyj0*!)XYSPsov!gU>ZzSuBW6g}NarU|3+|y&-l_@pi|SDX;(&umK~KDPVXbjR6kt z4a4;+EFJ|GU;;K^gfaz8zrMG-V-Q(PEJhq_Ca=rrp{0DJHm$AT3a}wom?aVU7q!72mW2xzG}~o87Y(JQWavA#4!~6W76RF91($<6 z^c`~w#FXMLTEOPAAgkPZE*i4ffE78hW&o}gCTVM?EH+>jGyO1>1x3@cf=M8>8#jpD zvlUzx8?X{O4qinoM?=;aWnG~(SA95Tu>mV|NhA$K4Olz~VeeW#0Bgn_7MZc2sn!-P zi+WxNao1`VjB^DH0cN&>E5L?W@%l53`#Bfq^Ib(Mlqu4Rhuw;Y-FH~uNEfY)i~|CR zPAJ5?I9tJmR2>Mcrfnc@T(xcLy2%y^<}_p5g?mvLYvWcFaQf(9MBA4m_7xUCvl&Q zR%W#s41y)s&j1D?p_~k|4Qao~WK9-z4|SNS&eV1=(8bdf6qvcbD$ugFY<9<54njO5tazHDV->l9?*|u%ZP>CDSu`fqqCu6vygu zSY%gi@Zh6*9F`@#+eD7E~PBRM|)REl~EMkqcCPwI{o* zqPYBCQ|ob>QQx7Wz|ksUI+nD#fqZ@!Xy!&M=LY-A95SB)F)Jbt^fc407*qoM6N<$f`bfCTL1t6 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Mafia/traitor.png b/icons/UI_Icons/Achievements/Mafia/traitor.png new file mode 100644 index 0000000000000000000000000000000000000000..28c8c5219172dd0e7ca648e07228c27f6fd4d5e3 GIT binary patch literal 2330 zcmV+#3FY>QP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2(L**K~#8N?VMX| zR7DuaXJ)te?Hy=UsD*;977`+a^5Dw~#utc1UwpvC7mX&6pn%~)LkT=66iWh$55~mA zKKN2wBR)~w7fdPD!{#66&E zBC3c2tFQJXl~xpec(KY+`bZu2DAjbcBsQ^|JBF5%n2JO6KQWdS0q1{;uWs_FwlNa}VpPC09g%{e0R} zXmH~s{rdaVy__hM^d>7chh?Yds|$b@BLEy2?PY_bPuS4-0R1}I8;QEHkGgTK!!N!d za2={}3ALoa>S{bW!Y>cgfBdMjCbE{?^i?LLw0!1tBWoT%uUx6E)7&0dZCaWrs?mDHb=dA?+ zgNu+lW_&|dwIAJYU0w+*$X=&wSEjlKAF_viEoL{BvexAlA1tJc&KnqJK*^0?2-bGa z9js(cxf;}CL4#v`?0)wxX3!)-(Ej97?0xGqcc-qNlja4i{;X#wO+O9P1q+g$X>4P` z7M7Nrp=)D97~5L9Zz`XTx@Z?UewF(UyPI_NteP`01xw0C`a*__{HYCOSxJs$T^n2S z`6t=^p4)7gERH(p2=$iTbA>i1V5TD~ufwu(GuE*6t6!$SA#`nQiq@p8{mDJnJN#H# znvi_!T)OA1t;PV4F$=I@S@8f1LK}+mH?hpLJi2EEhL9KGPwMKhnziM6Hr$Re3*9gt zU|B+2Flk{eOI>Z7*JXUGtHNr=*2B-DU)_({5CeRyj#)FwA)EwlGZXZRwyHMIps-^Y zJa{f;1O13&6TylV*I}W8%W<#sZwzjJ$$4eC6+uV~Ltn;n2Od0}(s+jjWz$%OwxZ2~ z$#dbxvyi~Bkfv`IW4W`^J@};*+KM)lN)&?-n${(;MdR?xR=UmJRJe7;tqmhBtUd2_ zUdQ%OpLFt)XSar?Ss3=S=p`Gw4v7W}LYvWc!C9X08HaRnKtUD;2i4DIE9X4rmFKrD z`xeb|X>?+k-F|$H#(z2Cki2-RLmOma*jC0)DK`HS6&8fHg8^8OLwj5oD+Mg9zS@&Q z$h_o5IJc~=i26?HO4C!{IJ?pD2fPd)*;W3&Bkm!T2P~|#qUdWpu)rRCqQio~04%_S z*nFys{|9!rsdWQh6T#=2t1K48rb6A26fi8X@!Sx*r+B(!%M@6E3D|%U$`mj>k;VXr z=Z2Ab6c&pD3orp2FhZFErXSzi-7$nLCKe-(HIvt6^w3hsRZg?xVxLIIo5m+c*)5ta zX}a{fyka%4JMG!+5b_dY9m?14&>xGQa;}EmFbS!F9cD;CG8GvhrN!pq&iw#)W{cxTV2<^rVBKK^Cmc<6FgpPw((aN?$%VGmo z=#oepuz}4WguQF|0IV5zSY+A?ErhshH4DbM0)_xHTcH(TL#%lHnZ^U0i}QJ|LKVss zZNc^rjJ&$lb9OtN;@!FM*Zm=?hVZ7bH5_3RZxLW~6{2-w;_6$O=QElPyzV0VZGr zMkrIj5YmHuLu5%HE6kQDumBUVvBI9rE=elgx&8)TkwRz7l*NMBOpo4azS4FU$(j8$ z$k_{VbHR<=OE4iefjF@Mu)W9Jk7#jOD{0+?e8WVSVnFL_Fd;U9ZWjOsA?+8LtVqs8 zPEMio+dt~ zK79?_v`G6!CTl$DLC-%57TSoD26S;)%?j+@18%P{_#UMBB1al&zwrX?A+-fA1loo+ z&gEE!Id7;>O_E32FEUw?oEeKkH-u#=SdmDQw>0$_28?OQWR10B7%;%Mblo(&VI+@X zu%u2H5Rzt4whd{&$OA`mW-JJ<17<_NF{#EZbi;@q^kFF$kCK5?3O`G&5uePMRwH&4}MvX!?J{Do5+!tT$~V`Wucp{lmpkW>wtyyiaBs? zs_Y~E7AX7B$OWpt+LKvYQB;1nsr5L`sIOB|;AoWy9ZTBW@_YMX0u`}Pq=*8WD!3xn z!MBq0ee{PH!^4+|lU7y*{@H~;_u07*qoM6N<$g0^Bu A*Z=?k literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/basemafia.png b/icons/UI_Icons/Achievements/basemafia.png new file mode 100644 index 0000000000000000000000000000000000000000..b22676d8915f68ade0d5a0999dade1fad36fe70b GIT binary patch literal 2251 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 Z(SO?tXcI%|J@fzo002ovPDHLkV1fXyD--|# literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index eaa7538d93e..d0fc21e6ea9 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -364,6 +364,7 @@ #include "code\datums\achievements\boss_achievements.dm" #include "code\datums\achievements\boss_scores.dm" #include "code\datums\achievements\hardcore_random.dm" +#include "code\datums\achievements\mafia_achievements.dm" #include "code\datums\achievements\misc_achievements.dm" #include "code\datums\achievements\skill_achievements.dm" #include "code\datums\actions\beam_rifle.dm"