From 10ac65fef4b7f39d34bb7c295a1237a0c6b97608 Mon Sep 17 00:00:00 2001 From: Eisbison Date: Mon, 26 Apr 2021 19:34:45 +0200 Subject: [PATCH] Version 2.5.0 --- .../{Preview_2.3.0.png => Preview_2.5.0.png} | Bin 2683170 -> 2837515 bytes README.md | 30 +++++- Source Code/Buttons.cs | 52 ++++++++++- Source Code/ChatCommands.cs | 3 +- Source Code/ClientOptionsPatch.cs | 87 ++++++++++++++++++ Source Code/CustomButton.cs | 3 +- Source Code/CustomOptions.cs | 16 +++- Source Code/GameStartManagerPatch.cs | 4 +- Source Code/Helpers.cs | 4 + Source Code/Main.cs | 20 ++-- Source Code/MapOptions.cs | 10 +- Source Code/MeetingPatch.cs | 51 ++++++++-- Source Code/PlayerControlPatch.cs | 68 +++++++++----- Source Code/RPC.cs | 46 ++++++++- Source Code/Resources/AnimatedVentSealed.png | Bin 0 -> 5553 bytes Source Code/Resources/CloseVentButton.png | Bin 0 -> 11653 bytes Source Code/Resources/PlaceCameraButton.png | Bin 0 -> 9330 bytes Source Code/Resources/StaticVentSealed.png | Bin 0 -> 5637 bytes Source Code/RoleAssignmentPatch.cs | 1 + Source Code/RoleInfo.cs | 9 +- Source Code/StreamerModePatch.cs | 52 ----------- Source Code/TheOtherRoles.cs | 54 ++++++++++- Source Code/TheOtherRoles.csproj | 2 +- Source Code/UpdatePatch.cs | 4 +- Source Code/UsablesPatch.cs | 75 ++++++++++++++- 25 files changed, 483 insertions(+), 108 deletions(-) rename Images/{Preview_2.3.0.png => Preview_2.5.0.png} (94%) create mode 100644 Source Code/ClientOptionsPatch.cs create mode 100644 Source Code/Resources/AnimatedVentSealed.png create mode 100644 Source Code/Resources/CloseVentButton.png create mode 100644 Source Code/Resources/PlaceCameraButton.png create mode 100644 Source Code/Resources/StaticVentSealed.png delete mode 100644 Source Code/StreamerModePatch.cs diff --git a/Images/Preview_2.3.0.png b/Images/Preview_2.5.0.png similarity index 94% rename from Images/Preview_2.3.0.png rename to Images/Preview_2.5.0.png index 8da11cc4aa4f7c8a3cf6125d0a76652406e1dabb..3c43d5d8cea24c7c02c9b2a715b592171ec65089 100644 GIT binary patch delta 158427 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 KDSc@i^uGX($k~Vh delta 9271 zcmXw<2~<*B)PQNOmt`+2(;TuK%IA=lLk{rDO3lp5a2{SMni|gHh__eo=__YV$xLZ* z$dODDMU=|a9C5+{6iQSS6jBsa1b+J0|L?WF#agh>x%=$9_u1#}OUjGtZEvUFZOc3c z95CFw8w3Ikp1EZQ0&V*@z{={Dt(Dcu(C`qyfQK*;=u8$e%hIOpPo;M6;p?LJrY@Jh zs#%fSAHVdD~Xo6q#_ zOiQvar?|+b3zs=G21ohi$n_gWNV!K9uGfH5ioXx%LkA_lsqP;5*I?DAcf_Zw{Rkx; z6Cbl4CqL)9L=s($%dP4HW!PABMz)=zoh+KDkL(wIz2ua6WIAFx?1`Su*0-pMS(Eg9V}Jr}O?TIOgrV~^wsed=XXxvk0B zL)*-}9twSS{^V|7tAGQlRD@{fPw)?LS8u#8oD=i?reNZU$eP;yijoC9Z}V* zCmemoC4DKUcAMeeqx;UvxS4m=Jz;N4W^en&b}2ig?3A)g%5Eupr0kWlPs(pn_DhkG zazM&KDY8-yN%>vMVJUJ_jz~Ew<(L$CDaWNKNKuq>LW+_UWhp9BRHdAhq9)~(l+#kw zrD#ael%j=WZ#xs#4$x_Zy0+QA3-`q2$0rNPd6lf(l+L*yDNUV%TwfTpG`XPSB_;fZeMYd) zCuGq6ec*SJu?X3b1O3s$UMoCmdBM1FC31=PZE%a%*~#?8#hp50GAYLa-{0IwoI^+J z*430`Tb#APEM&Oa!!3DcNr>@Pl%(^F2GDR37~!K|T;WWtP2IbLEeqzh5vj1lrOB*> z|90LI-gLtSD9h%r!iU3E%-)Qt9o|?HJ@eCAslEM_)*RACbch?@Xum5pPy)UA% z-wZRnXDc}haY~L&@4>{r=B*|@dPoGcq0D|`37@A=BXk$=c&lxhmF=fc&MD?Ox51j1 zJc4w28x}}9CWIT-OU0oUgld?6rs`^eD<`oVd%f8k>Z-Hpp}*Zh zDMuSWDtc$hv@a(l>-DJN4ok8Rb6ZB@&~f)aq7X8+M;hl)7rM^q07ko1gL40Z50 zAwYFe*=YZNh;$Aky5Dh{m!T-8?VGQBy3?pe^(oCdp=k1k--D&AS`W-)U@X%VE z;ql|J>hx-5hX@$}W=^gd20N)VDkqE(26x=WF5QcFc=<(~N@Y=egdD^A*qisOM)|;l zdP|kZj;`k4hnLW-d?F%BW-8*<*x%_tC~dXKZ+0Ucv(=r2E=7}xCTil%E^6*o-3X|& z!srcgtFjUO0{PP|q+UmlN1AgvUUKn^Pm$p(Y_Xf2#1>d2yuaG&nOGpMplJ{#NIX#IUPEPRW47Z<7LZ%}DMjf92edn!_WUp4$$otqsV!)`0CF`LDV|nhrbU z8+bK80KP`eHieY-sGu*@lW@&g%MWSlf5Vft@|g9a({=OY(Tbmwj8O0WdRVQht#Vzs?Q44|YdjYgtdIM91&IclwLJF1?;LT5lFU9u*={0@L z5j{N8K5UwJYqBRg-micwWJ$)w&hgr$q>R8`2r#q7qk2b?PGj6OeiV?h6C2;P2n;0_ z`J~`%GC47roRPS-H9qyFz8a$*@cIo^AwUkO{E`O}CNVf12gb{93_d7m( zSB}EC=XfQ=pg*^e);~M8xVp7I;B7&LhAA>l72r1ec?;SVWQM|F%-zkAoR1Zd$U@~{ zCmmv(Z*xDhj$j6{YgX8ao>F%Rvh_lvVc?*qMndAxT^pkm?f6aDj(ubOB+_{q_7i4U zl{ANkWqppNOzg?og*PucLf<`KDPal0J+qmK#|_ij)JQOzNFNj095gA3-!p4owBk^m z_S_%8w0t<{xOOKWC*qNC8Hw>LBFaIP%N7_=hR&6xl9MM;fA*a@0wnN8&s!*I-*#WB zHZ90&hOZ6K?At34R3^VQ!?>!O;tztBv%y%G_8cx`5L?f4#bb!y#xu&ffXeSR6`iEu zR$E#FHiv6}xlu9M_o78bzxz{C$hCn=mG^db6jv19OY&F@p5_^|gIjTT$fdl?u+j*c zS$X%!(+hUWVL;j0&W=rtUgv6Ew`Y3aL!b03)k6AIQlNE_PK%0Twb`UN*gcp{d97-p zuQ$;j#96wPyey{@w!|B>qYC)4VTuppYa*2Iov?38Fh_zvOz70`UtkDrE4wkLfEe}a)c z82SYpmVk0iQ{DOtRUw3M*2IJBpLYBz0R)$Xj)vZ19O|rd~m9nDJ{HDmi!W zac?82!7(n>_g5{KEFV*xQF!iAVuM7_tH2|Nl6bHQzWACyU~pksNHfj?to_{CznvKI z?^})Fkg~7CLU5~X7L2axQ<=1(7wF7x>)fv8xsyD?i*;%N#kcy=-aY)yne51_0v<_Vwt zC)X}(-{mt0kG)=e*JXUGrJnJgKdMCX1R<&Vj*GL1_izCt=NlB=)_S+DrJL*|TZwqY zXhKkxWf7Z`PTRjwA~Z6hj^LH?Gw=*=XCZJV5MGT2uiE=`$dLWtt3ero-VJ3M&capU zW>`K%PyAexD9YFnrbu2&E3T&KWpNOfK~rbEJ2rO%-w@d50GV<||4La;i6=htgi>Cv zflr6x7^iN+zV2cCve7~px0enD;#r@|$UQh}j zY=1}bpvK9DsJ5pCO@CI*{sA|PN6qAX^`Am5^oyZ^TW1v#c^h;{`33CtbAsY|fM+rp zeLj&krE}b5vUyMQh6Uq35_r~An1PP=q$D(G+onaE(2MkLM_r-Etrzs{m^679)i=qo z^F6m9#F~eo(&xn=)6aY?>OGHs`4_6XMLb?(98Og>Q9e6Q8UPTGZ*LopXAS z4Bn}!G74NsOng+8=%50jcYy?a;njjKb+d@Za4z+!Jp@>(X;vNvM41~*hkT%DWL)LO zRR|gz>Dd$WNI-4Y%b${Yo3S=fyP5heD24ebC!Wl=`6IIG4P3cvcly2B4YShL*wvJ9 z)xoe^*5k}Ei;#Rs`-*B@ z-e&MBM^HErabp(n)Q!j&zmt#nqsv0qyP=NIzc@j49eI($;+aiZ>mzVRvdY?B&;w0X zv)AH13i2CiLqA8_<4#o=2%0Y`kJi-nj>1XsyRy6H%PZBQ zrhu(Mx9S&OnEs)Dv?|*Fcn%ER>tC6*mHdpLkM zd>c8O39pkp6vAdG63#?bYW%YU)CNj;hE}TaGWbKK*~lBT{0)sa%-_Ad5)~7BO?pCB zU;yW(p?%KGAl@-Gl`zS7H+GJ44KJDf%x7|G4Etk?H@|UmH7VE zu=#97c21|t8W^l~xLF8UPi# zL&}%F`_{H=Qm17k4Z@Cu>DV9}vO{@X^V|+zJxAVFV5Ym|T2hI>nZ_NWR2KJf1F{NC zCfSAxbdA_ebBehFBt&-sKVqsWtL}xVsNb-FSKVC_i1;;83zUcCXUz#j(cbJ5rK;Ca z;U_3pnggRHlyRYHu*Gq2fb&VDe{*0(b{(0MVB$F)@v}1KN7&k$a++e%81qD?1B+zF2 z*kc<##4S~4^a+5MsMK0v=mb+rT1BF9C}(L36|&n`X#WJ_qLez9Keyh3F5vZ~nFGb* z*jLA*xH;q1RMqU!qB$ckWe3bn)|+$|Hs?Ar=G}7d9?i~32bT=-cn*K_?Bp@k4+S`W zI6LuM>*}hbyK-1_{Q_6mRZrh$T{x=WRp`bqZ_fl)8G);7{Nh13Lw0a>`qbAZ?8N6= zq8Dy50iJgF^?3+V zzTW&FX|2TP!9SGM)&$)075jI`hZml$ZN(`Ms}0|rQLr}8DvW$~y3hK2y$5z##Z+Xn z^B@)I?2Ip>I;CwSZXgqpYwUV;X9lblEKDIR&}ImQWkGelV5MAd)CJ4j)=iI$6pwV& zM%%PtgFK5_5ugAxfESnTaX7BK)TN(Fa<{|AMc!#*syyK#fQwVCCB{nFjTF_15LPYq zI^my)o8@DJM|?%Rx7IL7!MNoQJvjtWuY9z;bSOr4EZY10dH!Z-iG58z+PTcQvyMf;Nl%K$d&0{pIix%tTcrO~MDWM=ViP^~yn;q=Bm!+p~Y`2+JV zT3HsFS)}sHiX59@Y&9}!zTrh6I{s$!3txoNz8Mb1!Ae_NEgCjo!HS$s{)lWLzQ^i$ z`xdGB$UhE8`P5p~cf%TFluQ zT-UH!S9_;zJ>bJD*@&{KjcY#Sz^+;<$zs*Qr^?*FMD-LHlOb9A=5Jj2w@6X&{8LMm ziQNeK2fobxHq$uw)~b&l{xSMt7H-pwdcHMq=w4sZmpnv8@(($IXC>nBnkj()uSwYf z9Y1=VvvxRsXq%9{FHqLQk+?wYqNd=a(F>XJekCGpjD?7!#G6|fo--53_3m%&uZmy$ zvk@}aJS*6knwBcAVOFS>^f?D<89^in-h&P17M{{5_Ng=tbI&vawg9f7kV=k8eJwiZ zPBx?@ zLLJ9L%!Bz2>;o+W5Ad8up9%wL%E-DSWznLGJtMlXoL660EHs2KI%3xwHJUk$^FmL? zfRQE{lNchqR@xo7d+h_FOqC_#Lxq-Ve}s*dqB|rNm?&Y%)NH>(aK}vme|P|I%gfI?XBfj zi^bN;zYhlxk?Bj5wbjf%h&MSAyNH;rIVVt`Lo+o=lcxo)W70DdYZRue8NrvdCd~}~-0lK6^4TVCXr+_m~XcoRA`|g z_?mc0M6;=2Ql-Fitc8wAHtoEK!2@5w19K19~!5jZI1ZcGb{3RvJBOu~@%k5`Km}!Qv*9h&53r=U;brPjSP?>_2vIUVH!~hWg*o z1=GLBJkYJ~3C{V7Y?KXeen5!t718_ycX*8&-ECj;Z+=jBsQALrs7XW>Zng83YK<~) zIrbDY=p9q*c&Wp~C%EB*95dfzj8iFLS*j~mv^4o9C4C-q7QF)Tl%#Bhi+d6b;&WX4 zhh~|%gCTjkBo`m4GQg3%0w6l#OuAlT4tJ9qZsY;$U7vp&vQo5JRb6Bg8BM5?RB4J{ zzvR^*Jz86|I@()w_@9^My@-(62Abe77p|y_?=c$IjQCXl&H_)pty;L$_)IuiG*CK@ zp%ha$9$-E#ohzss1uOhKkt0*?R$L-czkk!Mf0%+Q_fU6D5ElY75)@d zPY=UmE$T3tb-i;b0-tZH$i(+LC~2DtmM8jf8~D$y%^a&giP(xE782JUP-P3eoK*H38wU1)yDF_%}E8El!U>SF7`x0WYG52*~V|} zq4_Dxo_ZZAI-Rf%@+QmS4AAp4wPw_pK{%gd`$DroRzC#Nn0*s8&?aN@=J^Fhy^7*mA!`UyuGCrMXz2g zGJXQ0K2NlP$PyRJ=z9iZXp`eN@7b{3MrY3`b#|LNCEc4m^OQo8Bd}dNuL=M9xNe+r zvFis&u>Au!(_5|$Xu||^h1Oq!mv_@T&-7zry>R{aa ziI8cIVkcT|)LtD7aOMU5$4o=@7nNiW{x%+j8|j(28B?S6;;nm@jkIbK=ya-Sta|&Os{;`tweoepA7-#={!&B!NHKu@<{)`3{lQn z>ZRlQIPrgzRofdvArIF*yq#UkUYq~X`pq<9knz(t;zb6HLM7w?pV% ztr9EbofLC=DCC=PiNrE8iK1;jZFK7K&l6DpF8|65UdjJUX$CyhS9^`Q%UC!FB@36h zaIhpH7x3WNF2|uWbIg2x~~IFFV~*qy1|V+*Yol7!G^Z2bhFtnWW|ut)@TvTImdd(Rt{c3`{sN0G-t z9(ou16U%+JYelzIOT&C~wW*ujf{yQhw;lB7$(_`tyiJYJWNC{?d=U!d^CylhyJpuF z&>=(`JUn>gr$5-?m`Q2i^1NV(e?F13wGU){Vo$*KRlCqzN?CnOGz1)JN!wt`0S8HI z_dqeX%JzXwHJy!SNKv^dZi&ZubFiy5|!(Ut}kIRWjNa-L4V0fW+m&SjT8*ApDtdacVugUlyVKqucDU&^ErX}y;SYQ zn(H;fk#L)&Fdi3JJd;qpeO0l8%)d6~D1C+gOZWjcWGXQ7(}2J-?V49OPcZ_0+U-S5ER_6I72^oV=qw3SA|_tg z3j(ZWS|24>x!|yO6ObMi)->oc85$xSxi;om(6pfag}JPyMD=s5T859 zz%4N2XF)w*vrDJTkg;xWxRp6_zl~d?j;zQF$cP~#*O)!(W0m33+wf`syXyWSI3tLlgn_7NKCjQZtY0#tivFef-0s6}a z<4x?BY0e^{==uSmyYYD4%L+0q*OcQKxMctxBdxQpR_J9bf=R$0!Jzx1v5g+sF_4>D2i=Z$ zc(RVSm5BzX%JQrNkNm%PL-*z?5*^a$^bJ8lVhHP$v>X8;I_SO1SS6DEyI}>cRS&_Q2Aum<`0IM!3Bn|b? zb+KKCqPk2qQ`E3Z+4pW7u)WjeV*8Zz|3P;No;OM>#$vKLmFk|^1`6~NmUfpR6qyY! z4_k|tPV~tsU%KxoJ>Cg~fkLe_!44?iXbaIrFYsHY?~!cjB0d#uU(Jiug}1tS>gJA| zt2z87?QMi~;4krd<~r0rMA_(*I9D9oxOn!JL8SECaU&jS+aqMo$%7ydo&PiBm-Y(+ zg4b*^`72%qe#g%%fkOY^%wNBvlpMG1-TCu!XQ>ip@D=ylo73ihE{$o7z=#yP*reoPFb~L^ihb$MZF>`<=fuZLi+EQgivQ G$NvK_PQn}j diff --git a/README.md b/README.md index da45dd8..72cf984 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![Discord](https://discord.com/assets/e4923594e694a21542a489471ecffa50.svg)](https://discord.gg/77RkMJHWsM) ![eisbison banner](./Images/Banner.png) -![eisbison infographic](./Images/Preview_2.3.0.png) +![eisbison infographic](./Images/Preview_2.5.0.png) # The Other Roles @@ -32,6 +32,7 @@ The [Role Assignment](#role-assignment) sections explains how the roles are bein # Releases | Among Us - Version| Mod Version | Link | |----------|-------------|-----------------| +| 2021.4.14s| v2.5.0| [Download](https://github.com/Eisbison/TheOtherRoles/releases/download/v2.5.0/TheOtherRoles.zip) | 2021.4.14s| v2.4.0| [Download](https://github.com/Eisbison/TheOtherRoles/releases/download/v2.4.0/TheOtherRoles.zip) | 2021.4.14s| v2.3.0| [Download](https://github.com/Eisbison/TheOtherRoles/releases/download/v2.3.0/TheOtherRoles.zip) | 2021.4.14s| v2.2.2| [Download](https://github.com/Eisbison/TheOtherRoles/releases/download/v2.2.2/TheOtherRoles.zip) @@ -55,6 +56,11 @@ The [Role Assignment](#role-assignment) sections explains how the roles are bein

Click to show the Changelog +**Version 2.5.0** +- **New Role:** [Security Guard](#security-guard) +- Fixed a bug where the game would stop after the first meeting +- Fixed a bug where killing with the hotkey Q ignored shields + **Version 2.4.0** - **New Role:** [Warlock](#warlock) - Added an option that allows ghosts to see the roles and remaining tasks of other players @@ -862,6 +868,28 @@ You can set whether the Sheriff can kill the Spy or not (in order to keep the li | Impostors Can Kill Anyone If There Is A Spy | This allows the Impostors to kill both the Spy and their Impostor partners ----------------------- +## Security Guard +### **Team: Crewmates** +The Security Guard is a Crewmate that has a certain amount of screws that he can use for either sealing vents or for placing new cameras.\ +Placing a new camera and sealing vents takes a configurable amount of screws. The total number of screws that a SecurityGuard has can also be configured.\ +The new camera will be visible after the next meeting and accessible by everyone.\ +The vents will be sealed after the next meeting, players can't enter or exit sealed vents, but they can still "move to them" underground.\ +**NOTE:** +- Tickster boxes can't be sealed +- The remaining number of screws can be seen above his special button +- On Skeld the four cameras will be replaced every 3 seconds (with the next four cameras). You can also navigate manually using the arrow keys. + + +### Game Options +| Name | Description +|----------|:-------------:| +| Security Guard Spawn Chance | +| Security Guard Cooldown | +| Security Guard Number Of Screws | The number of screws that a Security Guard can use in a game +| Number Of Screws Per Cam | The number of screws it takes to place a camera +| Number Of Screws Per Vent | The number of screws it takes to seal a vent +----------------------- + # Source code It's bad I know, this is a side project and my second week of modding. So there are no best practices around here. diff --git a/Source Code/Buttons.cs b/Source Code/Buttons.cs index b65493d..fb54c6e 100644 --- a/Source Code/Buttons.cs +++ b/Source Code/Buttons.cs @@ -30,6 +30,8 @@ namespace TheOtherRoles private static CustomButton lightsOutButton; public static CustomButton cleanerCleanButton; public static CustomButton warlockCurseButton; + public static CustomButton securityGuardButton; + public static TMPro.TMP_Text securityGuardButtonScrewsText; public static void setCustomButtonCooldowns() { engineerRepairButton.MaxTimer = 0f; @@ -53,6 +55,7 @@ namespace TheOtherRoles lightsOutButton.MaxTimer = Trickster.lightsOutCooldown; cleanerCleanButton.MaxTimer = Cleaner.cooldown; warlockCurseButton.MaxTimer = Warlock.cooldown; + securityGuardButton.MaxTimer = SecurityGuard.cooldown; timeMasterShieldButton.EffectDuration = TimeMaster.shieldDuration; hackerButton.EffectDuration = Hacker.duration; @@ -359,7 +362,12 @@ namespace TheOtherRoles () => { if (Helpers.handleMurderAttempt(Vampire.currentTarget)) { if (Vampire.targetNearGarlic) { - PlayerControl.LocalPlayer.RpcMurderPlayer(Vampire.currentTarget); + MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.UncheckedMurderPlayer, Hazel.SendOption.Reliable, -1); + writer.Write(Vampire.vampire.PlayerId); + writer.Write(Vampire.currentTarget.PlayerId); + AmongUsClient.Instance.FinishRpcImmediately(writer); + RPCProcedure.uncheckedMurderPlayer(Vampire.vampire.PlayerId, Vampire.currentTarget.PlayerId); + vampireKillButton.HasEffect = false; // Block effect on this click vampireKillButton.Timer = vampireKillButton.MaxTimer; } else { @@ -623,6 +631,7 @@ namespace TheOtherRoles __instance, KeyCode.F ); + // Warlock curse warlockCurseButton = new CustomButton( () => { @@ -670,6 +679,47 @@ namespace TheOtherRoles KeyCode.F ); + // SecurityGuard button + securityGuardButton = new CustomButton( + () => { + if (SecurityGuard.ventTarget == null) { // Place camera + var pos = PlayerControl.LocalPlayer.transform.position; + byte[] buff = new byte[sizeof(float) * 2]; + Buffer.BlockCopy(BitConverter.GetBytes(pos.x), 0, buff, 0*sizeof(float), sizeof(float)); + Buffer.BlockCopy(BitConverter.GetBytes(pos.y), 0, buff, 1*sizeof(float), sizeof(float)); + + MessageWriter writer = AmongUsClient.Instance.StartRpc(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.PlaceCamera, Hazel.SendOption.Reliable); + writer.WriteBytesAndSize(buff); + writer.EndMessage(); + RPCProcedure.placeCamera(buff); + } else { // Seal vent + MessageWriter writer = AmongUsClient.Instance.StartRpc(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.SealVent, Hazel.SendOption.Reliable); + writer.WritePacked(SecurityGuard.ventTarget.Id); + writer.EndMessage(); + RPCProcedure.sealVent(SecurityGuard.ventTarget.Id); + SecurityGuard.ventTarget = null; + } + securityGuardButton.Timer = securityGuardButton.MaxTimer; + }, + () => { return SecurityGuard.securityGuard != null && SecurityGuard.securityGuard == PlayerControl.LocalPlayer && !PlayerControl.LocalPlayer.Data.IsDead; }, + () => { + securityGuardButton.killButtonManager.renderer.sprite = (SecurityGuard.ventTarget == null) ? SecurityGuard.getPlaceCameraButtonSprite() : SecurityGuard.getCloseVentButtonSprite(); + if (securityGuardButtonScrewsText != null) securityGuardButtonScrewsText.text = $"{SecurityGuard.remainingScrews}/{SecurityGuard.totalScrews}"; + return SecurityGuard.remainingScrews >= (SecurityGuard.ventTarget == null ? SecurityGuard.camPrice : SecurityGuard.ventPrice) && PlayerControl.LocalPlayer.CanMove; + }, + () => { securityGuardButton.Timer = securityGuardButton.MaxTimer; }, + SecurityGuard.getPlaceCameraButtonSprite(), + new Vector3(-1.3f, 0f, 0f), + __instance, + KeyCode.Q + ); + + // SecurityGuard button screws counter + securityGuardButtonScrewsText = GameObject.Instantiate(securityGuardButton.killButtonManager.TimerText, securityGuardButton.killButtonManager.TimerText.transform.parent); + securityGuardButtonScrewsText.text = ""; + securityGuardButtonScrewsText.enableWordWrapping = false; + securityGuardButtonScrewsText.transform.localScale = Vector3.one * 0.5f; + securityGuardButtonScrewsText.transform.localPosition += new Vector3(-0.05f, 0.7f, 0); // Set the default (or settings from the previous game) timers/durations when spawning the buttons setCustomButtonCooldowns(); diff --git a/Source Code/ChatCommands.cs b/Source Code/ChatCommands.cs index fb7df17..930fa85 100644 --- a/Source Code/ChatCommands.cs +++ b/Source Code/ChatCommands.cs @@ -32,10 +32,9 @@ namespace TheOtherRoles { if (handled) { __instance.TextArea.Clear(); __instance.quickChatMenu.ResetGlyphs(); - System.Console.WriteLine("Chat Clear"); } return !handled; } } } -} \ No newline at end of file +} diff --git a/Source Code/ClientOptionsPatch.cs b/Source Code/ClientOptionsPatch.cs new file mode 100644 index 0000000..fff8aa8 --- /dev/null +++ b/Source Code/ClientOptionsPatch.cs @@ -0,0 +1,87 @@ + +using HarmonyLib; +using UnityEngine; +using System.Collections.Generic; +using Hazel; +using System; +using UnityEngine.UI; +using UnityEngine.Events; + +namespace TheOtherRoles { + [HarmonyPatch(typeof(OptionsMenuBehaviour), nameof(OptionsMenuBehaviour.Start))] + public class OptionsMenuBehaviourStartPatch { + private static Vector3? origin; + private static ToggleButtonBehaviour streamerModeButton; + private static ToggleButtonBehaviour ghostsSeeTasksButton; + private static ToggleButtonBehaviour ghostsSeeRolesButton; + + private static void updateToggle(ToggleButtonBehaviour button, string text, bool on) { + if (button == null || button.gameObject == null) return; + + Color color = on ? new Color(0f, 1f, 0.16470589f, 1f) : Color.white; + button.Background.color = color; + button.Text.text = $"{text}{(on ? "On" : "Off")}"; + if (button.Rollover) button.Rollover.ChangeOutColor(color); + } + + private static ToggleButtonBehaviour createCustomToggle(string text, bool on, Vector3 offset, UnityEngine.Events.UnityAction onClick, OptionsMenuBehaviour __instance) { + if (__instance.CensorChatButton != null) { + var button = UnityEngine.Object.Instantiate(__instance.CensorChatButton, __instance.CensorChatButton.transform.parent); + button.transform.localPosition = (origin ?? Vector3.zero) + offset; + PassiveButton passiveButton = button.GetComponent(); + passiveButton.OnClick = new Button.ButtonClickedEvent(); + passiveButton.OnClick.AddListener(onClick); + updateToggle(button, text, on); + + return button; + } + return null; + } + + public static void Postfix(OptionsMenuBehaviour __instance) { + if (__instance.CensorChatButton != null) { + if (origin == null) origin = __instance.CensorChatButton.transform.localPosition + Vector3.up * 0.25f; + __instance.CensorChatButton.transform.localPosition = origin.Value + Vector3.left * 1.3f; + } + + if ((streamerModeButton == null || streamerModeButton.gameObject == null)) { + streamerModeButton = createCustomToggle("Streamer Mode: ", TheOtherRolesPlugin.StreamerMode.Value, Vector3.right * 1.3f, (UnityEngine.Events.UnityAction)streamerModeToggle, __instance); + + void streamerModeToggle() { + TheOtherRolesPlugin.StreamerMode.Value = !TheOtherRolesPlugin.StreamerMode.Value; + updateToggle(streamerModeButton, "Streamer Mode: ", TheOtherRolesPlugin.StreamerMode.Value); + } + } + + if ((ghostsSeeTasksButton == null || ghostsSeeTasksButton.gameObject == null)) { + ghostsSeeTasksButton = createCustomToggle("Ghosts See Remaining Tasks: ", TheOtherRolesPlugin.GhostsSeeTasks.Value, new Vector2(-1.3f, -0.5f), (UnityEngine.Events.UnityAction)ghostsSeeTaskToggle, __instance); + + void ghostsSeeTaskToggle() { + TheOtherRolesPlugin.GhostsSeeTasks.Value = !TheOtherRolesPlugin.GhostsSeeTasks.Value; + MapOptions.ghostsSeeTasks = TheOtherRolesPlugin.GhostsSeeTasks.Value; + updateToggle(ghostsSeeTasksButton, "Ghosts See Remaining Tasks: ", TheOtherRolesPlugin.GhostsSeeTasks.Value); + } + } + + if ((ghostsSeeRolesButton == null || ghostsSeeRolesButton.gameObject == null)) { + ghostsSeeRolesButton = createCustomToggle("Ghosts See Roles: ", TheOtherRolesPlugin.GhostsSeeRoles.Value, new Vector2(1.3f, -0.5f), (UnityEngine.Events.UnityAction)ghostsSeeRolesToggle, __instance); + + void ghostsSeeRolesToggle() { + TheOtherRolesPlugin.GhostsSeeRoles.Value = !TheOtherRolesPlugin.GhostsSeeRoles.Value; + MapOptions.ghostsSeeRoles = TheOtherRolesPlugin.GhostsSeeRoles.Value; + updateToggle(ghostsSeeRolesButton, "Ghosts See Roles: ", TheOtherRolesPlugin.GhostsSeeRoles.Value); + } + } + } + } + + [HarmonyPatch(typeof(TextBoxTMP), nameof(TextBoxTMP.SetText))] + public static class HiddenTextPatch + { + private static void Postfix(TextBoxTMP __instance) + { + bool flag = TheOtherRolesPlugin.StreamerMode.Value && (__instance.name == "GameIdText" || __instance.name == "IpTextBox" || __instance.name == "PortTextBox"); + if (flag) __instance.outputText.text = new string('*', __instance.text.Length); + } + } +} \ No newline at end of file diff --git a/Source Code/CustomButton.cs b/Source Code/CustomButton.cs index c18999b..d47c77e 100644 --- a/Source Code/CustomButton.cs +++ b/Source Code/CustomButton.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Reflection; using UnityEngine; +using UnityEngine.UI; public class CustomButton { @@ -42,7 +43,7 @@ public class CustomButton buttons.Add(this); killButtonManager = UnityEngine.Object.Instantiate(hudManager.KillButton, hudManager.transform); PassiveButton button = killButtonManager.GetComponent(); - button.OnClick.RemoveAllListeners(); + button.OnClick = new Button.ButtonClickedEvent(); button.OnClick.AddListener((UnityEngine.Events.UnityAction)onClickEvent); setActive(false); diff --git a/Source Code/CustomOptions.cs b/Source Code/CustomOptions.cs index a3bd672..fa60fb7 100644 --- a/Source Code/CustomOptions.cs +++ b/Source Code/CustomOptions.cs @@ -128,11 +128,16 @@ namespace TheOtherRoles { public static CustomOption warlockCooldown; public static CustomOption warlockRootTime; + public static CustomOption securityGuardSpawnRate; + public static CustomOption securityGuardCooldown; + public static CustomOption securityGuardTotalScrews; + public static CustomOption securityGuardCamPrice; + public static CustomOption securityGuardVentPrice; + public static CustomOption maxNumberOfMeetings; public static CustomOption blockSkippingInEmergencyMeetings; public static CustomOption noVoteIsSelfVote; public static CustomOption hidePlayerNames; - public static CustomOption showGhostInfo; internal static Dictionary blockedRolePairings = new Dictionary(); @@ -262,12 +267,17 @@ namespace TheOtherRoles { spyCanDieToSheriff = CustomOption.Create(241, "Spy Can Die To Sheriff", false, spySpawnRate); spyImpostorsCanKillAnyone = CustomOption.Create(242, "Impostors Can Kill Anyone If There Is A Spy", true, spySpawnRate); + securityGuardSpawnRate = CustomOption.Create(280, cs(SecurityGuard.color, "Security Guard"), rates, null, true); + securityGuardCooldown = CustomOption.Create(281, "Security Guard Cooldown", 30f, 10f, 60f, 2.5f, securityGuardSpawnRate); + securityGuardTotalScrews = CustomOption.Create(282, "Security Guard Number Of Screws", 7f, 1f, 15f, 1f, securityGuardSpawnRate); + securityGuardCamPrice = CustomOption.Create(283, "Number Of Screws Per Cam", 2f, 1f, 15f, 1f, securityGuardSpawnRate); + securityGuardVentPrice = CustomOption.Create(284, "Number Of Screws Per Vent", 1f, 1f, 15f, 1f, securityGuardSpawnRate); + // Other options maxNumberOfMeetings = CustomOption.Create(3, "Number Of Meetings (excluding Mayor meeting)", 10, 0, 15, 1, null, true); blockSkippingInEmergencyMeetings = CustomOption.Create(4, "Block Skipping In Emergency Meetings", false); noVoteIsSelfVote = CustomOption.Create(5, "No Vote Is Self Vote", false, blockSkippingInEmergencyMeetings); hidePlayerNames = CustomOption.Create(6, "Hide Player Names", false); - showGhostInfo = CustomOption.Create(7, "Ghosts Can See Roles And Remaining Tasks", true); blockedRolePairings.Add((byte)RoleId.Vampire, new [] { (byte)RoleId.Warlock}); blockedRolePairings.Add((byte)RoleId.Warlock, new [] { (byte)RoleId.Vampire}); @@ -518,7 +528,7 @@ namespace TheOtherRoles { var hudString = sb.ToString(); int defaultSettingsLines = 19; - int roleSettingsLines = defaultSettingsLines + 29; + int roleSettingsLines = defaultSettingsLines + 30; int detailedSettingsP1 = roleSettingsLines + 34; int detailedSettingsP2 = detailedSettingsP1 + 36; int end1 = hudString.TakeWhile(c => (defaultSettingsLines -= (c == '\n' ? 1 : 0)) > 0).Count(); diff --git a/Source Code/GameStartManagerPatch.cs b/Source Code/GameStartManagerPatch.cs index d01d123..597ace7 100644 --- a/Source Code/GameStartManagerPatch.cs +++ b/Source Code/GameStartManagerPatch.cs @@ -61,10 +61,10 @@ namespace TheOtherRoles { continue; else if (!playerVersions.ContainsKey(client.Id)) { blockStart = true; - message += $"{client.Character.Data.PlayerName} has an outdated or no version of The Other Roles\n"; + message += $"{client.Character.Data.PlayerName} has a different or no version of The Other Roles\n"; } else if (playerVersions[client.Id].Item1 != TheOtherRolesPlugin.Major || playerVersions[client.Id].Item2 != TheOtherRolesPlugin.Minor || playerVersions[client.Id].Item3 != TheOtherRolesPlugin.Patch) { blockStart = true; - message += $"{client.Character.Data.PlayerName} has an outdated version (v{playerVersions[client.Id].Item1}.{playerVersions[client.Id].Item2}.{playerVersions[client.Id].Item3}) of The Other Roles\n"; + message += $"{client.Character.Data.PlayerName} has a different version (v{playerVersions[client.Id].Item1}.{playerVersions[client.Id].Item2}.{playerVersions[client.Id].Item3}) of The Other Roles\n"; } } if (blockStart) { diff --git a/Source Code/Helpers.cs b/Source Code/Helpers.cs index 5706551..3a5f52a 100644 --- a/Source Code/Helpers.cs +++ b/Source Code/Helpers.cs @@ -180,12 +180,16 @@ namespace TheOtherRoles { } public static void clearAllTasks(this PlayerControl player) { + if (player == null) return; for (int i = 0; i < player.myTasks.Count; i++) { PlayerTask playerTask = player.myTasks[i]; playerTask.OnRemove(); UnityEngine.Object.Destroy(playerTask.gameObject); } player.myTasks.Clear(); + + if (player.Data != null && player.Data.Tasks != null) + player.Data.Tasks.Clear(); } public static string cs(Color c, string s) { diff --git a/Source Code/Main.cs b/Source Code/Main.cs index a6681c4..a20402a 100644 --- a/Source Code/Main.cs +++ b/Source Code/Main.cs @@ -19,9 +19,9 @@ namespace TheOtherRoles public class TheOtherRolesPlugin : BasePlugin { public const string Id = "me.eisbison.theotherroles"; - public const string Version = "2.4.0"; + public const string Version = "2.5.0"; public const byte Major = 2; - public const byte Minor = 4; + public const byte Minor = 5; public const byte Patch = 0; public Harmony Harmony { get; } = new Harmony(Id); @@ -31,6 +31,9 @@ namespace TheOtherRoles public static ConfigEntry DebugMode { get; private set; } public static ConfigEntry StreamerMode { get; set; } + public static ConfigEntry GhostsSeeTasks { get; set; } + public static ConfigEntry GhostsSeeRoles { get; set; } + public static ConfigEntry HostSeesVotesLog { get; set; } public static ConfigEntry StreamerModeReplacementText { get; set; } public static ConfigEntry StreamerModeReplacementColor { get; set; } public static ConfigEntry Ip { get; set; } @@ -49,8 +52,11 @@ namespace TheOtherRoles } public override void Load() { - DebugMode = Config.Bind("Custom", "Enable Debug Mode", false); - StreamerMode = Config.Bind("Custom", "Enable Streamer Mode", false); + DebugMode = Config.Bind("Custom", "Enable Debug Mode", false); + StreamerMode = Config.Bind("Custom", "Enable Streamer Mode", false); + GhostsSeeTasks = Config.Bind("Custom", "Ghosts See Remaining Tasks", true); + GhostsSeeRoles = Config.Bind("Custom", "Ghosts See Roles", true); + HostSeesVotesLog = Config.Bind("Custom", "Host Sees Votes Log", false); StreamerModeReplacementText = Config.Bind("Custom", "Streamer Mode Replacement Text", "\n\nThe Other Roles"); StreamerModeReplacementColor = Config.Bind("Custom", "Streamer Mode Replacement Text Hex Color", "#87AAF5FF"); @@ -85,8 +91,10 @@ namespace TheOtherRoles [HarmonyPatch(typeof(ChatController), nameof(ChatController.Awake))] public static class ChatControllerAwakePatch { private static void Prefix() { - SaveManager.chatModeType = 1; - SaveManager.isGuest = false; + if (!EOSManager.Instance.IsMinor()) { + SaveManager.chatModeType = 1; + SaveManager.isGuest = false; + } } } diff --git a/Source Code/MapOptions.cs b/Source Code/MapOptions.cs index e324c96..7a20b66 100644 --- a/Source Code/MapOptions.cs +++ b/Source Code/MapOptions.cs @@ -11,19 +11,25 @@ namespace TheOtherRoles{ public static bool blockSkippingInEmergencyMeetings = false; public static bool noVoteIsSelfVote = false; public static bool hidePlayerNames = false; - public static bool showGhostInfo = true; + public static bool ghostsSeeRoles = true; + public static bool ghostsSeeTasks = true; // Updating values public static int meetingsCount = 0; + public static List camerasToAdd = new List(); + public static List ventsToSeal = new List(); public static void clearAndReloadMapOptions() { meetingsCount = 0; + camerasToAdd = new List(); + ventsToSeal = new List(); maxNumberOfMeetings = Mathf.RoundToInt(CustomOptionHolder.maxNumberOfMeetings.getSelection()); blockSkippingInEmergencyMeetings = CustomOptionHolder.blockSkippingInEmergencyMeetings.getBool(); noVoteIsSelfVote = CustomOptionHolder.noVoteIsSelfVote.getBool(); hidePlayerNames = CustomOptionHolder.hidePlayerNames.getBool(); - showGhostInfo = CustomOptionHolder.showGhostInfo.getBool(); + ghostsSeeRoles = TheOtherRolesPlugin.GhostsSeeRoles.Value; + ghostsSeeTasks = TheOtherRolesPlugin.GhostsSeeTasks.Value; } } } \ No newline at end of file diff --git a/Source Code/MeetingPatch.cs b/Source Code/MeetingPatch.cs index d6dbfbb..a794666 100644 --- a/Source Code/MeetingPatch.cs +++ b/Source Code/MeetingPatch.cs @@ -23,7 +23,7 @@ namespace TheOtherRoles [HarmonyPatch(typeof(MeetingHud), nameof(MeetingHud.CheckForEndVoting))] class MeetingCalculateVotesPatch { private static byte[] calculateVotes(MeetingHud __instance) { - byte[] array = new byte[__instance.playerStates.Length + 1]; + byte[] array = new byte[16]; for (int i = 0; i < __instance.playerStates.Length; i++) { PlayerVoteArea playerVoteArea = __instance.playerStates[i]; @@ -82,10 +82,8 @@ namespace TheOtherRoles return result; } - static bool Prefix(MeetingHud __instance) - { - if (__instance.playerStates.All((PlayerVoteArea ps) => ps.isDead || ps.didVote)) - { + static bool Prefix(MeetingHud __instance) { + if (__instance.playerStates.All((PlayerVoteArea ps) => ps.isDead || ps.didVote)) { // If skipping is disabled, replace skipps/no-votes with self vote if (target == null && blockSkippingInEmergencyMeetings && noVoteIsSelfVote) { foreach (PlayerVoteArea playerVoteArea in __instance.playerStates) { @@ -103,12 +101,12 @@ namespace TheOtherRoles break; } } - byte[] array = new byte[__instance.playerStates.Length]; - for (int i = 0; i < __instance.playerStates.Length; i++) - { + byte[] array = new byte[15]; + for (int i = 0; i < __instance.playerStates.Length; i++) { PlayerVoteArea playerVoteArea = __instance.playerStates[i]; array[(int)playerVoteArea.TargetPlayerId] = playerVoteArea.GetState(); } + // RPCVotingComplete if (AmongUsClient.Instance.AmClient) __instance.VotingComplete(array, exiled, tie); @@ -375,6 +373,26 @@ namespace TheOtherRoles __instance.SkipVoteButton.gameObject.SetActive(false); } } + + [HarmonyPatch(typeof(MeetingHud), nameof(MeetingHud.CastVote))] + class MeetingHudCastVotePatch { + static void Postfix([HarmonyArgument(0)]byte srcPlayerId, [HarmonyArgument(1)]sbyte suspectPlayerId) { + var source = Helpers.playerById(srcPlayerId); + if (source != null && source.Data != null && AmongUsClient.Instance.AmHost && TheOtherRolesPlugin.HostSeesVotesLog.Value) { + string target = null; + if (suspectPlayerId == -2) target = "didn't vote"; + else if (suspectPlayerId == -1) target = "skipped"; + else if (suspectPlayerId >= 0) { + System.Console.WriteLine(suspectPlayerId); + System.Console.WriteLine((byte)suspectPlayerId); + var targetPlayer = Helpers.playerById((byte)suspectPlayerId); + if (targetPlayer != null && targetPlayer.Data != null) target = $"voted {targetPlayer.Data.PlayerName}"; + } + + if (target != null) System.Console.WriteLine($"{source.Data.PlayerName} {target}"); + } + } + } } [HarmonyPatch(typeof(ExileController), "Begin")] @@ -406,6 +424,21 @@ namespace TheOtherRoles if (Trickster.trickster != null && JackInTheBox.hasJackInTheBoxLimitReached()) { JackInTheBox.convertToVents(); } + + // SecurityGuard vents and cameras + MapOptions.camerasToAdd.ForEach(x => x.gameObject.SetActive(true)); + var allCameras = ShipStatus.Instance.AllCameras.ToList(); + allCameras.AddRange(MapOptions.camerasToAdd); + ShipStatus.Instance.AllCameras = allCameras.ToArray(); + MapOptions.camerasToAdd = new List(); + + foreach (Vent vent in MapOptions.ventsToSeal) { + PowerTools.SpriteAnim animator = vent.GetComponent(); + animator?.Stop(); + vent.myRend.sprite = animator == null ? SecurityGuard.getStaticVentSealedSprite() : SecurityGuard.getAnimatedVentSealedSprite(); + vent.name = "SealedVent_" + vent.name; + } + MapOptions.ventsToSeal = new List(); } } @@ -501,6 +534,8 @@ namespace TheOtherRoles __result = ExileController.Instance.exiled.PlayerName + " was The Sidekick."; else if(Spy.spy != null && ExileController.Instance.exiled.Object.PlayerId == Spy.spy.PlayerId) __result = ExileController.Instance.exiled.PlayerName + " was The Spy."; + else if(SecurityGuard.securityGuard != null && ExileController.Instance.exiled.Object.PlayerId == SecurityGuard.securityGuard.PlayerId) + __result = ExileController.Instance.exiled.PlayerName + " was The SecurityGuard."; else __result = ExileController.Instance.exiled.PlayerName + " was not The Impostor."; } diff --git a/Source Code/PlayerControlPatch.cs b/Source Code/PlayerControlPatch.cs index 841a72a..9d18c56 100644 --- a/Source Code/PlayerControlPatch.cs +++ b/Source Code/PlayerControlPatch.cs @@ -20,7 +20,8 @@ namespace TheOtherRoles { float num = GameOptionsData.KillDistances[Mathf.Clamp(PlayerControl.GameOptions.KillDistance, 0, 2)]; if (!ShipStatus.Instance) return result; if (targetingPlayer == null) targetingPlayer = PlayerControl.LocalPlayer; - + if (targetingPlayer.Data.IsDead) return result; + Vector2 truePosition = targetingPlayer.GetTruePosition(); Il2CppSystem.Collections.Generic.List allPlayers = GameData.Instance.AllPlayers; for (int i = 0; i < allPlayers.Count; i++) @@ -338,8 +339,6 @@ namespace TheOtherRoles { } public static void updateGhostInfo() { - if (!MapOptions.showGhostInfo) return; - foreach (PlayerControl p in PlayerControl.AllPlayerControls) { if (p != PlayerControl.LocalPlayer && !PlayerControl.LocalPlayer.Data.IsDead) continue; @@ -365,11 +364,39 @@ namespace TheOtherRoles { var (tasksCompleted, tasksTotal) = TasksHandler.taskInfo(p.Data); string roleNames = String.Join(", ", RoleInfo.getRoleInfoForPlayer(p).Select(x => Helpers.cs(x.color, x.name)).ToArray()); string taskInfo = tasksTotal > 0 ? $"({tasksCompleted}/{tasksTotal})" : ""; - playerGhostInfo.text = $"{roleNames} {taskInfo}".Trim(); - if (meetingGhostInfo != null) meetingGhostInfo.text = MeetingHud.Instance.state == MeetingHud.VoteStates.Results ? "" : $"{roleNames} {taskInfo}".Trim(); + + string info = ""; + if (p == PlayerControl.LocalPlayer || (MapOptions.ghostsSeeRoles && MapOptions.ghostsSeeTasks)) + info = $"{roleNames} {taskInfo}".Trim(); + else if (MapOptions.ghostsSeeTasks) + info = $"{taskInfo}".Trim(); + else if (MapOptions.ghostsSeeRoles) + info = $"{roleNames}"; + + playerGhostInfo.text = info; + playerGhostInfo.gameObject.SetActive(p.Visible); + if (meetingGhostInfo != null) meetingGhostInfo.text = MeetingHud.Instance.state == MeetingHud.VoteStates.Results ? "" : info; } } + public static void securityGuardSetTarget() { + if (SecurityGuard.securityGuard == null || SecurityGuard.securityGuard != PlayerControl.LocalPlayer || ShipStatus.Instance == null || ShipStatus.Instance.AllVents == null) return; + + Vent target = null; + Vector2 truePosition = PlayerControl.LocalPlayer.GetTruePosition(); + float closestDistance = float.MaxValue; + for (int i = 0; i < ShipStatus.Instance.AllVents.Length; i++) { + Vent vent = ShipStatus.Instance.AllVents[i]; + if (vent.gameObject.name.StartsWith("JackInTheBoxVent_") || vent.gameObject.name.StartsWith("SealedVent_")) continue; + float distance = Vector2.Distance(vent.transform.position, truePosition); + if (distance <= vent.UsableDistance && distance < closestDistance) { + closestDistance = distance; + target = vent; + } + } + SecurityGuard.ventTarget = target; + } + public static void Postfix(PlayerControl __instance) { if (AmongUsClient.Instance.GameState != InnerNet.InnerNetClient.GameStates.Started) return; @@ -419,6 +446,8 @@ namespace TheOtherRoles { warlockSetTarget(); // Check for sidekick promotion on Jackal disconnect sidekickCheckPromotion(); + // SecurityGuard + securityGuardSetTarget(); } } } @@ -452,23 +481,20 @@ namespace TheOtherRoles { } } } - [HarmonyPatch(typeof(KillButtonManager), nameof(KillButtonManager.PerformKill))] - class PerformKillPatch { - public static bool Prefix(KillButtonManager __instance) { - if (__instance.isActiveAndEnabled && __instance.CurrentTarget && !__instance.isCoolingDown && !PlayerControl.LocalPlayer.Data.IsDead && PlayerControl.LocalPlayer.CanMove) { // Among Us default checks - if (Helpers.handleMurderAttempt(__instance.CurrentTarget)) { // Custom checks - if (Child.child != null && PlayerControl.LocalPlayer == Child.child) { // Not checked by official servers - MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.UncheckedMurderPlayer, Hazel.SendOption.Reliable, -1); - writer.Write(PlayerControl.LocalPlayer.PlayerId); - writer.Write(__instance.CurrentTarget.PlayerId); - AmongUsClient.Instance.FinishRpcImmediately(writer); - RPCProcedure.uncheckedMurderPlayer(PlayerControl.LocalPlayer.PlayerId, __instance.CurrentTarget.PlayerId); - } else { // Checked by official servers - PlayerControl.LocalPlayer.RpcMurderPlayer(__instance.CurrentTarget); - } - __instance.SetTarget(null); + [HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.RpcMurderPlayer))] + class RpcMurderPlayer { + public static bool Prefix([HarmonyArgument(0)]PlayerControl target) { + if (Helpers.handleMurderAttempt(target)) { // Custom checks + if (Child.child != null && PlayerControl.LocalPlayer == Child.child) { // Not checked by official servers + MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.UncheckedMurderPlayer, Hazel.SendOption.Reliable, -1); + writer.Write(PlayerControl.LocalPlayer.PlayerId); + writer.Write(target.PlayerId); + AmongUsClient.Instance.FinishRpcImmediately(writer); + RPCProcedure.uncheckedMurderPlayer(PlayerControl.LocalPlayer.PlayerId, target.PlayerId); + } else { // Checked by official servers + return true; } - } + } return false; } } diff --git a/Source Code/RPC.cs b/Source Code/RPC.cs index 87f4b34..3d62221 100644 --- a/Source Code/RPC.cs +++ b/Source Code/RPC.cs @@ -41,7 +41,8 @@ namespace TheOtherRoles Spy, Trickster, Cleaner, - Warlock + Warlock, + SecurityGuard } enum CustomRPC @@ -85,7 +86,9 @@ namespace TheOtherRoles SetFutureShifted, PlaceJackInTheBox, LightsOut, - WarlockCurseKill + WarlockCurseKill, + PlaceCamera, + SealVent } public static class RPCProcedure { @@ -212,6 +215,9 @@ namespace TheOtherRoles case RoleId.Warlock: Warlock.warlock = player; break; + case RoleId.SecurityGuard: + SecurityGuard.securityGuard = player; + break; } } } @@ -386,6 +392,8 @@ namespace TheOtherRoles Snitch.snitch = oldShifter; } else if (Spy.spy != null && Spy.spy == player) { Spy.spy = oldShifter; + } else if (SecurityGuard.securityGuard != null && SecurityGuard.securityGuard == player) { + SecurityGuard.securityGuard = oldShifter; } else { // Crewmate } @@ -529,6 +537,7 @@ namespace TheOtherRoles if (player == Snitch.snitch) Snitch.clearAndReload(); if (player == Swapper.swapper) Swapper.clearAndReload(); if (player == Spy.spy) Spy.clearAndReload(); + if (player == SecurityGuard.securityGuard) SecurityGuard.clearAndReload(); // Impostor roles if (player == Morphling.morphling) Morphling.clearAndReload(); @@ -591,6 +600,33 @@ namespace TheOtherRoles } } } + + public static void placeCamera(byte[] buff) { + var referenceCamera = UnityEngine.Object.FindObjectOfType(); + if (referenceCamera == null) return; // Mira HQ + + SecurityGuard.remainingScrews -= SecurityGuard.camPrice; + SecurityGuard.placedCameras++; + + Vector3 position = Vector3.zero; + position.x = BitConverter.ToSingle(buff, 0*sizeof(float)); + position.y = BitConverter.ToSingle(buff, 1*sizeof(float)); + + var camera = UnityEngine.Object.Instantiate(referenceCamera); + camera.transform.position = new Vector3(position.x, position.y, referenceCamera.transform.position.z - 1f); + camera.CamName = $"Security Guard Camera {SecurityGuard.placedCameras}"; + if (PlayerControl.GameOptions.MapId == 2 || PlayerControl.GameOptions.MapId == 4) camera.transform.localRotation = new Quaternion(0, 0, 1, 1); // Polus and Airship + camera.gameObject.SetActive(false); + MapOptions.camerasToAdd.Add(camera); + } + + public static void sealVent(int ventId) { + Vent vent = ShipStatus.Instance.AllVents.FirstOrDefault((x) => x != null && x.Id == ventId); + if (vent == null) return; + + SecurityGuard.remainingScrews -= SecurityGuard.ventPrice; + MapOptions.ventsToSeal.Add(vent); + } } [HarmonyPatch(typeof(PlayerControl), nameof(PlayerControl.HandleRpc))] @@ -730,6 +766,12 @@ namespace TheOtherRoles case (byte)CustomRPC.WarlockCurseKill: RPCProcedure.warlockCurseKill(reader.ReadByte()); break; + case (byte)CustomRPC.PlaceCamera: + RPCProcedure.placeCamera(reader.ReadBytesAndSize()); + break; + case (byte)CustomRPC.SealVent: + RPCProcedure.sealVent(reader.ReadPackedInt32()); + break; } } } diff --git a/Source Code/Resources/AnimatedVentSealed.png b/Source Code/Resources/AnimatedVentSealed.png new file mode 100644 index 0000000000000000000000000000000000000000..68a0d2d3b3a77ecb3bc9e2e52109c4a6b3e21c2a GIT binary patch literal 5553 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ⅈ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�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 3 && maxImpostorRoles >= 3 && (rnd.Next(1, 101) <= CustomOptionHolder.mafiaSpawnRate.getSelection() * 10)) { diff --git a/Source Code/RoleInfo.cs b/Source Code/RoleInfo.cs index e56172c..fec354d 100644 --- a/Source Code/RoleInfo.cs +++ b/Source Code/RoleInfo.cs @@ -173,7 +173,7 @@ namespace TheOtherRoles "Finish your tasks to find the Impostors", "Finish your tasks")); } - if (Jackal.jackal != null && p == Jackal.jackal) { + if ((Jackal.jackal != null && p == Jackal.jackal) || (Jackal.formerJackals != null && Jackal.formerJackals.Contains(p))) { infos.Add(new RoleInfo("Jackal", Jackal.color, "Kill all Crewmates and Impostors to win", @@ -197,6 +197,13 @@ namespace TheOtherRoles "Confuse the Impostors", "Confuse the Impostors")); } + if (SecurityGuard.securityGuard != null && p == SecurityGuard.securityGuard) { + infos.Add(new RoleInfo("Security Guard", + SecurityGuard.color, + "Seal vents and place cameras", + "Seal vents and place cameras")); + } + if (infos.Count == 0 && p.Data.IsImpostor) { // Just Impostor infos.Add(new RoleInfo("Impostor", Palette.ImpostorRed, diff --git a/Source Code/StreamerModePatch.cs b/Source Code/StreamerModePatch.cs deleted file mode 100644 index 6c2c994..0000000 --- a/Source Code/StreamerModePatch.cs +++ /dev/null @@ -1,52 +0,0 @@ - -using HarmonyLib; -using UnityEngine; -using System.Collections.Generic; -using Hazel; -using System; -using UnityEngine.UI; -using UnityEngine.Events; - -namespace TheOtherRoles { - [HarmonyPatch(typeof(OptionsMenuBehaviour), nameof(OptionsMenuBehaviour.Start))] - public class OptionsMenuBehaviourStartPatch { - public static ToggleButtonBehaviour streamerModeButton; - - private static void updateStreamerModeButton() { - if (streamerModeButton == null || streamerModeButton.gameObject == null) return; - - bool on = TheOtherRolesPlugin.StreamerMode.Value; - Color color = on ? new Color(0f, 1f, 0.16470589f, 1f) : Color.white; - streamerModeButton.Background.color = color; - streamerModeButton.Text.text = $"Streamer Mode: {(on ? "On" : "Off")}"; - if (streamerModeButton.Rollover) streamerModeButton.Rollover.ChangeOutColor(color); - } - - public static void Postfix(OptionsMenuBehaviour __instance) { - if ((streamerModeButton == null || streamerModeButton.gameObject == null) && __instance.CensorChatButton != null) { - streamerModeButton = UnityEngine.Object.Instantiate(__instance.CensorChatButton, __instance.CensorChatButton.transform.parent); - streamerModeButton.transform.localPosition += Vector3.down * 0.25f; - __instance.CensorChatButton.transform.localPosition += Vector3.up * 0.25f; - PassiveButton button = streamerModeButton.GetComponent(); - button.OnClick = new Button.ButtonClickedEvent(); - button.OnClick.AddListener((UnityEngine.Events.UnityAction)onClick); - updateStreamerModeButton(); - } - - void onClick() { - TheOtherRolesPlugin.StreamerMode.Value = !TheOtherRolesPlugin.StreamerMode.Value; - updateStreamerModeButton(); - } - } - } - - [HarmonyPatch(typeof(TextBoxTMP), nameof(TextBoxTMP.SetText))] - public static class HiddenTextPatch - { - private static void Postfix(TextBoxTMP __instance) - { - bool flag = TheOtherRolesPlugin.StreamerMode.Value && (__instance.name == "GameIdText" || __instance.name == "IpTextBox" || __instance.name == "PortTextBox"); - if (flag) __instance.outputText.text = new string('*', __instance.text.Length); - } - } -} \ No newline at end of file diff --git a/Source Code/TheOtherRoles.cs b/Source Code/TheOtherRoles.cs index 727e0ab..8c43366 100644 --- a/Source Code/TheOtherRoles.cs +++ b/Source Code/TheOtherRoles.cs @@ -48,6 +48,7 @@ namespace TheOtherRoles Trickster.clearAndReload(); Cleaner.clearAndReload(); Warlock.clearAndReload(); + SecurityGuard.clearAndReload(); } public static class Jester { @@ -620,7 +621,7 @@ namespace TheOtherRoles } public static void removeCurrentJackal() { - if (jackal != null && !formerJackals.Contains(jackal)) formerJackals.Add(jackal); + if (!formerJackals.Contains(jackal)) formerJackals.Add(jackal); jackal = null; currentTarget = null; fakeSidekick = null; @@ -808,7 +809,56 @@ namespace TheOtherRoles curseVictimTarget = null; curseKillTarget = null; } - } + public static class SecurityGuard { + public static PlayerControl securityGuard; + public static Color color = new Color(171/255f, 159f/255f, 55f/255f, 1f); + + public static float cooldown = 30f; + public static int remainingScrews = 7; + public static int totalScrews = 7; + public static int ventPrice = 1; + public static int camPrice = 2; + public static int placedCameras = 0; + public static Vent ventTarget = null; + + private static Sprite closeVentButtonSprite; + public static Sprite getCloseVentButtonSprite() { + if (closeVentButtonSprite) return closeVentButtonSprite; + closeVentButtonSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.CloseVentButton.png", 115f); + return closeVentButtonSprite; + } + + private static Sprite placeCameraButtonSprite; + public static Sprite getPlaceCameraButtonSprite() { + if (placeCameraButtonSprite) return placeCameraButtonSprite; + placeCameraButtonSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.PlaceCameraButton.png", 115f); + return placeCameraButtonSprite; + } + + private static Sprite animatedVentSealedSprite; + public static Sprite getAnimatedVentSealedSprite() { + if (animatedVentSealedSprite) return animatedVentSealedSprite; + animatedVentSealedSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.AnimatedVentSealed.png", 160f); // Change sprite and pixelPerUnit + return animatedVentSealedSprite; + } + + private static Sprite staticVentSealedSprite; + public static Sprite getStaticVentSealedSprite() { + if (staticVentSealedSprite) return staticVentSealedSprite; + staticVentSealedSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.StaticVentSealed.png", 160f); // Change sprite and pixelPerUnit + return staticVentSealedSprite; + } + + public static void clearAndReload() { + securityGuard = null; + ventTarget = null; + placedCameras = 0; + cooldown = CustomOptionHolder.securityGuardCooldown.getFloat(); + totalScrews = remainingScrews = Mathf.RoundToInt(CustomOptionHolder.securityGuardTotalScrews.getFloat()); + camPrice = Mathf.RoundToInt(CustomOptionHolder.securityGuardCamPrice.getFloat()); + ventPrice = Mathf.RoundToInt(CustomOptionHolder.securityGuardVentPrice.getFloat()); + } + } } \ No newline at end of file diff --git a/Source Code/TheOtherRoles.csproj b/Source Code/TheOtherRoles.csproj index 203c8d4..88a74b4 100644 --- a/Source Code/TheOtherRoles.csproj +++ b/Source Code/TheOtherRoles.csproj @@ -1,7 +1,7 @@ netstandard2.1 - 2.4.0 + 2.5.0 TheOtherRoles Eisbison diff --git a/Source Code/UpdatePatch.cs b/Source Code/UpdatePatch.cs index 37ddf20..739b187 100644 --- a/Source Code/UpdatePatch.cs +++ b/Source Code/UpdatePatch.cs @@ -114,6 +114,8 @@ namespace TheOtherRoles } else if (Spy.spy != null && Spy.spy == PlayerControl.LocalPlayer) { setPlayerNameColor(Spy.spy, Spy.color); + } else if (SecurityGuard.securityGuard != null && SecurityGuard.securityGuard == PlayerControl.LocalPlayer) { + setPlayerNameColor(SecurityGuard.securityGuard, SecurityGuard.color); } // No else if here, as a Lover of team Jackal needs the colors @@ -131,7 +133,7 @@ namespace TheOtherRoles } // Crewmate roles with no changes: Child - // Impostor roles with no changes: Morphling, Camouflager, Vampire, Godfather, Eraser, Janitor and Mafioso + // Impostor roles with no changes: Morphling, Camouflager, Vampire, Godfather, Eraser, Janitor, Cleaner, Warlock and Mafioso } static void setMafiaNameTags() { diff --git a/Source Code/UsablesPatch.cs b/Source Code/UsablesPatch.cs index 3f19dae..207f7c3 100644 --- a/Source Code/UsablesPatch.cs +++ b/Source Code/UsablesPatch.cs @@ -49,9 +49,13 @@ namespace TheOtherRoles // Reduce the usable distance to reduce the risk of gettings stuck while trying to jump into the box if it's placed near objects usableDistance = 0.4f; } + } else if (__instance.name.StartsWith("SealedVent_")) { + canUse = couldUse = false; + __result = num; + return false; } - couldUse = ((@object.inVent || roleCouldUse) && !pc.IsDead && (@object.CanMove || @object.inVent)); + couldUse = (@object.inVent || roleCouldUse) && !pc.IsDead && (@object.CanMove || @object.inVent); canUse = couldUse; if (canUse) { @@ -179,7 +183,6 @@ namespace TheOtherRoles } } - [HarmonyPatch(typeof(TuneRadioMinigame), nameof(TuneRadioMinigame.Begin))] class CommsMinigameBeginPatch { static void Postfix(TuneRadioMinigame __instance) { @@ -372,4 +375,72 @@ namespace TheOtherRoles } } } + + [HarmonyPatch] + class SurveillanceMinigamePatch { + private static int page = 0; + private static float timer = 0f; + [HarmonyPatch(typeof(SurveillanceMinigame), nameof(SurveillanceMinigame.Begin))] + class SurveillanceMinigameBeginPatch { + public static void Postfix(SurveillanceMinigame __instance) { + // Add securityGuard cameras + page = 0; + timer = 0; + if (ShipStatus.Instance.AllCameras.Length > 4 && __instance.FilteredRooms.Length > 0) { + __instance.textures = __instance.textures.ToList().Concat(new RenderTexture[ShipStatus.Instance.AllCameras.Length - 4]).ToArray(); + for (int i = 4; i < ShipStatus.Instance.AllCameras.Length; i++) { + SurvCamera surv = ShipStatus.Instance.AllCameras[i]; + Camera camera = UnityEngine.Object.Instantiate(__instance.CameraPrefab); + camera.transform.SetParent(__instance.transform); + camera.transform.position = new Vector3(surv.transform.position.x, surv.transform.position.y, 8f); + camera.orthographicSize = 2.35f; + RenderTexture temporary = RenderTexture.GetTemporary(256, 256, 16, 0); + __instance.textures[i] = temporary; + camera.targetTexture = temporary; + } + } + } + } + + [HarmonyPatch(typeof(SurveillanceMinigame), nameof(SurveillanceMinigame.Update))] + class SurveillanceMinigameUpdatePatch { + + public static bool Prefix(SurveillanceMinigame __instance) { + // Update normal and securityGuard cameras + timer += Time.deltaTime; + int numberOfPages = Mathf.CeilToInt(ShipStatus.Instance.AllCameras.Length / 4f); + + bool update = false; + + if (timer > 3f || Input.GetKeyDown(KeyCode.RightArrow)) { + update = true; + timer = 0f; + page = (page + 1) % numberOfPages; + } else if (Input.GetKeyDown(KeyCode.LeftArrow)) { + page = (page + numberOfPages - 1) % numberOfPages; + update = true; + timer = 0f; + } + + if ((__instance.isStatic || update) && !PlayerTask.PlayerHasTaskOfType(PlayerControl.LocalPlayer)) { + __instance.isStatic = false; + for (int i = 0; i < __instance.ViewPorts.Length; i++) { + __instance.ViewPorts[i].sharedMaterial = __instance.DefaultMaterial; + __instance.SabText[i].gameObject.SetActive(false); + if (page * 4 + i < __instance.textures.Length) + __instance.ViewPorts[i].material.SetTexture("_MainTex", __instance.textures[page * 4 + i]); + else + __instance.ViewPorts[i].sharedMaterial = __instance.StaticMaterial; + } + } else if (!__instance.isStatic && PlayerTask.PlayerHasTaskOfType(PlayerControl.LocalPlayer)) { + __instance.isStatic = true; + for (int j = 0; j < __instance.ViewPorts.Length; j++) { + __instance.ViewPorts[j].sharedMaterial = __instance.StaticMaterial; + __instance.SabText[j].gameObject.SetActive(true); + } + } + return false; + } + } + } } \ No newline at end of file -- 2.39.5