From 1bd937f39fd0cbe651ae74ba8ebebaf810b3ab78 Mon Sep 17 00:00:00 2001 From: Matt Atlas Date: Tue, 27 Oct 2020 13:09:38 +0100 Subject: [PATCH] New poll highlighting, can't open crew manifest before game start. (#10368) Also converts New to use Initialize(). --- code/modules/mob/abstract/new_player/menu.dm | 46 +++++++++++++------ html/changelogs/mattatlas-newpolls.yml | 42 +++++++++++++++++ icons/misc/hudmenu.dmi | Bin 3999 -> 4237 bytes 3 files changed, 74 insertions(+), 14 deletions(-) create mode 100644 html/changelogs/mattatlas-newpolls.yml diff --git a/code/modules/mob/abstract/new_player/menu.dm b/code/modules/mob/abstract/new_player/menu.dm index 6690bc6e1d9..aace3fcea5c 100644 --- a/code/modules/mob/abstract/new_player/menu.dm +++ b/code/modules/mob/abstract/new_player/menu.dm @@ -12,35 +12,35 @@ adding = list() var/obj/screen/using - using = new /obj/screen/new_player/title() + using = new /obj/screen/new_player/title(FALSE, src) using.name = "Title" adding += using - using = new /obj/screen/new_player/selection/join_game(src) + using = new /obj/screen/new_player/selection/join_game(FALSE, src) using.name = "Join Game" adding += using - using = new /obj/screen/new_player/selection/settings() + using = new /obj/screen/new_player/selection/settings(FALSE, src) using.name = "Setup Character" adding += using - using = new /obj/screen/new_player/selection/manifest() + using = new /obj/screen/new_player/selection/manifest(FALSE, src) using.name = "Crew Manifest" adding += using - using = new /obj/screen/new_player/selection/observe() + using = new /obj/screen/new_player/selection/observe(FALSE, src) using.name = "Observe" adding += using - using = new /obj/screen/new_player/selection/changelog() + using = new /obj/screen/new_player/selection/changelog(FALSE, src) using.name = "Changelog" adding += using - using = new /obj/screen/new_player/selection/polls() + using = new /obj/screen/new_player/selection/polls(FALSE, src) using.name = "Polls" adding += using - using = new /obj/screen/new_player/selection/lore_summary() + using = new /obj/screen/new_player/selection/lore_summary(FALSE, src) using.name = "Current Lore Summary" adding += using @@ -57,7 +57,7 @@ screen_loc = "WEST,SOUTH" var/lobby_index = 1 -/obj/screen/new_player/title/Initialize() +/obj/screen/new_player/title/Initialize(mapload, var/datum/hud/H) if(!current_map.lobby_icon) current_map.lobby_icon = pick(current_map.lobby_icons) if(!length(current_map.lobby_screens)) @@ -131,9 +131,10 @@ //SELECTION -/obj/screen/new_player/selection/New(var/desired_loc) +/obj/screen/new_player/selection/Initialize(mapload, var/datum/hud/H) + . = ..() color = null - return ..() + hud = H /obj/screen/new_player/selection/MouseEntered(location,control,params) //Yellow color for the font color = "#ffb200" @@ -147,8 +148,8 @@ animate(src, transform = null, time = 1, easing = CUBIC_EASING) return ..() -/obj/screen/new_player/selection/join_game/New(var/datum/hud/H) - hud = H +/obj/screen/new_player/selection/join_game/Initialize(mapload, var/datum/hud/H) + . = ..() var/mob/abstract/new_player/player = hud.mymob update_icon(player) @@ -178,6 +179,9 @@ /obj/screen/new_player/selection/manifest/Click() var/mob/abstract/new_player/player = usr sound_to(player, 'sound/effects/menu_click.ogg') + if(SSticker.current_state < GAME_STATE_PLAYING) + to_chat(player, SPAN_WARNING("The game hasn't started yet!")) + return player.ViewManifest() /obj/screen/new_player/selection/observe/Click() @@ -195,6 +199,20 @@ sound_to(player, 'sound/effects/menu_click.ogg') player.client.changes() +/obj/screen/new_player/selection/polls/Initialize() + . = ..() + var/mob/M = hud.mymob + if(!M) + return + if(dbcon.IsConnected()) + var/isadmin = M.client && M.client.holder + var/DBQuery/query = dbcon.NewQuery("SELECT id FROM ss13_poll_question WHERE [(isadmin ? "" : "adminonly = false AND")] Now() BETWEEN starttime AND endtime AND id NOT IN (SELECT pollid FROM ss13_poll_vote WHERE ckey = \"[M.ckey]\") AND id NOT IN (SELECT pollid FROM ss13_poll_textreply WHERE ckey = \"[M.ckey]\")") + query.Execute() + var/newpoll = query.NextRow() + + if(newpoll) + icon_state = "polls_new" + /obj/screen/new_player/selection/polls/Click() var/mob/abstract/new_player/player = usr sound_to(player, 'sound/effects/menu_click.ogg') @@ -275,4 +293,4 @@ if(config.lore_summary) var/output = "
Welcome to the [station_name()]!
" output += "[config.lore_summary]
" - to_chat(src, output) \ No newline at end of file + to_chat(src, output) diff --git a/html/changelogs/mattatlas-newpolls.yml b/html/changelogs/mattatlas-newpolls.yml new file mode 100644 index 00000000000..58d0b8fe8e1 --- /dev/null +++ b/html/changelogs/mattatlas-newpolls.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: MattAtlas + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "If there are new polls, the poll button will now be highlighted." + - tweak: "You can no longer open the crew manifest before the game starts." diff --git a/icons/misc/hudmenu.dmi b/icons/misc/hudmenu.dmi index 6851486967fb0c4833bccbede7e961558ab8482f..c7fd9ded513ab65633a450f9ff453dc71eb255d1 100644 GIT binary patch delta 4005 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 LNkvXXu0mjf9djL@ delta 3752 zcmV;Z4p;GwA)g89vV8)NpPu-2k%h z_=<^a3?SgJ*>d)@V>Te5IUPAOXtl{8V87#(RYnj{B~;_9;%u~uKtRLUl$6I${;GH* zOe+?hSHVt5xda^TV*Qcjk3X9Twru?VF!;YJm$8f7=` zVP~=)kNx=Zo=l15z@VxVq! zU4Vfh&$~gM2SkzsK#z>(%a)|nV%dr?CcAA>On$v-o$qC<Tpgw)z z2a;x87b0Ue8jq$IZ(Y=9`b-f{{4UN7LOCkEEy-$m-k=R=lWb<|MP2I`OOtw|J!v*+U~k=SkZc(U%h%& zlE(Y{`)Bs|_t!rC^wTS`l&ztdufsuV^BZ(KNfISVA`Pb^TdmB0yHuHPbX-1k>#C$( zxm_EvUr(`@Z!ns4QMhzn%RhfEq^Ey;y6CPyKSjF{I+uK0 z8%<+e%jWYvA+Xl^?^Ilo`8ZBn{e4H3bE0%K9+kZZb7lU~h4l1KjFmZw9$x5Ns=79c z@*{@p$@z0ADIWq`Iax(ik${Gn(qyR-YuaaJOwBTGC8H#L>f%#}!wttP!wm~7{~9fG z61^L(<&u9Ku8juAsdYV7m91)@9?FM+_`p|9AN$o~`u2O@>JxpUSN31gXgr##cu3kz z()7~pOZ1roh(cexT#SF!X4v1Br1acN=hE|kI-fqDKA*mtzM3YZm6rNypLumR3oV!K zgzj>2$-fw`C%RmYvFzkr2Z!fLi#ydzLy}6?nPPv+_&$#BGD!25_qmtO>E!oM>d9X` zsYmpPUQ1q+j_%-3FQu2th9=sy%$c+(thVypXa2=-J^3ylc^;V0mdi>@SM~buT#jSY zLdv%ss#+*VE%g@fRsTtFzCY)#GcAOVVRH$X}Bu*&j$NyqsY z>Ut_$Uv*u$l#e_Q$n>ZGwJc6%+lr2pYfXPx#niANNniZ_i|M%+&*`f_eUu{#-dgC!gLrJATkL;jUp2~RGLtmD???A3nIt|c zb6PH8t>n3h&pZzm)1Ygy_I5SON1g{}a}%d*opETEMU1cG6y1z;DO=TIDtp}pVfh`( z*_dN&uP4{Mb}1hM%C^uE7A=>s$n$QH=K+!Ali?2+e{^c-bGb0j1c2V~HXk|=xjr^r zXpmq@Hp$hsK7A$-UlmJ%*#s+}k6+VQy=om?oC{5GFgPEsw-zbK~rXTvU zj{5R0TgJHbhr1kyK6Kcqdd90uzEz}CDUK{u5FB@pZh8k01OHJZ~)K~ z-YWEpJM)FD?vhahg{^r2fSK>PT$XMaIm7?}9ND(eL(PT4oGSp(KwD$VL&Y$T7dDFK zP07xW;xk`;Z$tjVifJ7B5|3kaeH^DM&UU|y;~kEwzqeo= zf35k&cD=aiie*jyZlcW0u+8Fi=463)-ey~LX`$CR&dNSZwlDosV79u!Tjcpn^Z8Kn zxsv&Hw=HR7{_mi(Ez&|qQ$_Qrn3l^WG1=Em>s*dw6MNZWeSUu!j?#W<+x}~lT&(l< zRb|Mn2Ub)~TGZzS!;wGtMGuuIdWb~m76)8Zl_9$xSi(c1F%*5wbMhBUCL$@5K?@as zj;Epj>Hm-n{V#&a^L7nAzoI~r13-`XnpG}8OI+Eywq~#EBCgJic|}Xe&tm98eCBP( z)R~E~&Mc0$`D%(mBo-&6(Y(*O*G=mh9Ve!^8lOek67oF_UF)BD+c7H6E7N+@x-CiR z|1MunC!>*VrG6)7zQ38suc&Y$faAq~*W>G^dz+iu|M+A5_x0Cx*JLuS*zYV!k~=Xs z-grZjekSRxhqAzCHN27Fab2GiMv5{Uobt-*peSNXdvm(Eu;$LNBe+f(^Q8IT1{JbR zWahK*@GpiggC;Ru#MS*QLVbRw^+VU@XWr$t(KIKwB;DyR|K`-G^o0{AQb}ndr7xT~ zk$zJ=0){S^NZFkHn1^P6g^mj~)Y12Q8oIVV^RBNA(|j#exl&k}CrA6*l6|F)NW@e* z`>w>=h>JOf3cXxR=c((M(#m|iT3Opx>WDrX$uSa(qCplDTLg$^KEV-NfIk0ky2 zz4s)ksxn{Lm~T7%?r0>1UP2;`0F)K4NU+T;JDmjmgIiov-{0b!}Ab zze(9flD3j0G3~b?Y}t~O&SS~1$Ry%q48_o&`AD9(Yv}nE1(F;?ak}dQli?2*e?YNB z(gTvNcU_RkFfT>_FwMmg^1G*)oU0fK-#_H}5%Rmo9?RCQ+*{6w_<`RHrA$}X20W#lJm|EzSm)W`?l zF=c$mklzDS)#Y+k(ylVCYT37%U19+E^I_&1{IKi7pnX*>^eQefuKS>ce~u=G*g`Ku ze)p8Ag?>=7%xc7#w(Ux`d_dpwq3pVSzso`)j8=y&TDBO1wa`syq4%DbVT&=h&`rqi zVPM!I0Q5w*LSGq9=wUclR5wE_-d|K@Mf)o9;kevH{IJP&i+-`4oXh9WO51(c-Ogtj z`AOP8HaA7f#N6fLvOn^>f2Xo7^qKtL%=EoKpfBE6{hO6#F)sT;PuUJz^f{a>j}|&Y zh^d9%bqx94Qxn5FmtkBXhko^Cm>G_rP}fH6*B~NOSfSg_hS)U5RmfujS)s0t*snpv ziD8QX&?BKAaAEsk3e$G3Wi;(SyP$tUKSUzt81xj6pex2rqy8b!3XhQAJvEYay6Zxd z;SU#oFkFeubE5kca{dVBssJ!JrpkQ3BGz^0wz@G?&H!L(GGD&b@^qV3Mv|_`ZtBi$ z9en}V#$1_~%VnBg02rKXm&>i(^9PfP*pV{NEHoaZ5+(q1QbQt$F~1Lu(cQ zdcxZc(Ru55NmZ*lR15$Nf$tG6YngxFsu6R4X8zxQS;mYr|K=&@0HAofT&_ymb&TCk zl4Q|x-}YA|061Q}-4rc|NptH~Zi;4Zd@kh6uyRv0x34nX6a_FiF|^QcWfofpxn9mDjSfJ&bo>s#a3tH{8&;bli3@vm3fCr)GaVcaPf>^Z9@H#g`0SsQJ75bci z%TULvo1y?PIHoR_NoL8uQ(@i~04T<=MF8lLvIkt0EnjA0>O8EX>;V^9 zJm3NV9Ch(b(R_uQebil1S(@D7