mirror of
https://github.com/tonytins/citylimits.git
synced 2025-04-30 10:21:40 -04:00
Slightly rewrote the news ticker architecture
- The news ticker is now a stealth button that opens a window. - News window now has brandings for FNN and Pawprint Press. - Ticker now provides extra lore by me if is_caseyverse.txt is present. - Moved the news ticker functions to the window source, for now. - Added .gdignore
This commit is contained in:
parent
aed8b266b8
commit
f8a0f97767
17 changed files with 670 additions and 157 deletions
2
.gdignore
Normal file
2
.gdignore
Normal file
|
@ -0,0 +1,2 @@
|
|||
**.md
|
||||
screenshot.png
|
35
assets/fnn.png.import
Normal file
35
assets/fnn.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/fnn.png-4b0621cc5794588bb47068090a8f4966.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/fnn.png"
|
||||
dest_files=[ "res://.import/fnn.png-4b0621cc5794588bb47068090a8f4966.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
assets/ticker/fnn.png
Normal file
BIN
assets/ticker/fnn.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 KiB |
35
assets/ticker/fnn.png.import
Normal file
35
assets/ticker/fnn.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/fnn.png-5c63f68777d5a929666ef2d1f774ecb5.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ticker/fnn.png"
|
||||
dest_files=[ "res://.import/fnn.png-5c63f68777d5a929666ef2d1f774ecb5.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
165
assets/ticker/pawprint-logo.svg
Normal file
165
assets/ticker/pawprint-logo.svg
Normal file
|
@ -0,0 +1,165 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="76.225838mm"
|
||||
height="10.530579mm"
|
||||
viewBox="0 0 76.22584 10.530579"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="1.0.2 (e86c8708, 2021-01-15)"
|
||||
sodipodi:docname="pawprint-logo.svg"
|
||||
inkscape:export-filename="tpaw-black.png"
|
||||
inkscape:export-xdpi="25.146"
|
||||
inkscape:export-ydpi="25.146">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.4881314"
|
||||
inkscape:cx="58.047217"
|
||||
inkscape:cy="38.038055"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="987"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:document-rotation="0" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-189.42537,318.35553)">
|
||||
<g
|
||||
id="g4705"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.46132;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(0.11890803,-7.945104e-4,0.00668622,0.11984867,162.3449,-378.03018)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.46132;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 592.49553,524.1496 c 0,7.61279 -4.71627,9.2516 -10.98875,11.23585 -6.59099,2.085 -15.47882,-5.24473 -15.47882,-12.85752 0,-7.6128 7.94255,-17.95418 14.53356,-17.95418 6.59097,0 11.93401,11.96306 11.93401,19.57585 z"
|
||||
id="path3950"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sssss" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.46132;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 568.86377,547.48385 c 0,7.61279 -4.71626,9.25159 -10.98876,11.23584 -6.59099,2.08499 -15.4788,-5.24473 -15.4788,-12.85752 0,-7.61279 7.94254,-17.95418 14.53353,-17.95418 6.59098,0 11.93403,11.96307 11.93403,19.57586 z"
|
||||
id="path3950-8"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sssss" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.46132;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 622.03523,521.53715 c 0,7.6128 -4.71628,9.25161 -10.98878,11.23584 -6.59098,2.085 -15.4788,-5.24472 -15.4788,-12.85751 0,-7.61279 7.94254,-17.95418 14.53354,-17.95418 6.59098,0 11.93404,11.96306 11.93404,19.57585 z"
|
||||
id="path3950-8-8"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sssss" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.46132;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 642.59487,546.09385 c 0,7.61278 -4.71627,9.25159 -10.98877,11.23584 -6.59099,2.085 -15.4788,-5.24472 -15.4788,-12.85752 0,-7.61278 7.94254,-17.95417 14.53354,-17.95417 6.59097,0 11.93403,11.96306 11.93403,19.57585 z"
|
||||
id="path3950-8-8-2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sssss" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.46132;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 591.14675,538.99253 c -10.43858,0.10692 -12.43121,1.47616 -20.44817,17.72107 -9.86692,19.99352 9.60144,26.9789 19.14105,27.0626 l 6.08291,0.0134 c 9.53076,-0.0767 30.15822,-7.07228 20.28625,-27.07603 -8.01696,-16.24492 -10.23952,-17.61416 -20.6781,-17.72107 -1.63517,-0.0421 -2.96692,-0.031 -4.38394,0 z"
|
||||
id="path3806"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csccsccc" />
|
||||
</g>
|
||||
<g
|
||||
id="g2049"
|
||||
transform="matrix(0.67677022,0,0,0.68248465,63.734792,-101.58923)">
|
||||
<path
|
||||
d="m 189.34585,-309.79459 v 2.72025 q 0,0.79582 0.094,1.00563 0.10128,0.20257 0.34726,0.32556 0.25322,0.12299 0.91881,0.12299 v 0.26768 h -4.98472 v -0.26768 q 0.68007,0 0.91881,-0.12299 0.24598,-0.13023 0.34003,-0.3328 0.10129,-0.20257 0.10129,-0.99839 v -6.36655 q 0,-0.79582 -0.10129,-0.99839 -0.094,-0.20981 -0.34003,-0.3328 -0.24598,-0.12299 -0.91881,-0.12299 v -0.26768 h 4.27572 q 2.11254,0 3.03135,0.75241 0.91881,0.75241 0.91881,1.88102 0,0.95499 -0.59325,1.63505 -0.59325,0.68006 -1.63505,0.92604 -0.70177,0.17364 -2.37298,0.17364 z m 0,-4.80386 v 4.23955 q 0.23874,0.0145 0.36173,0.0145 0.88264,0 1.36013,-0.5209 0.47749,-0.52814 0.47749,-1.62781 0,-1.09245 -0.47749,-1.59888 -0.47749,-0.50643 -1.42524,-0.50643 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2001" />
|
||||
<path
|
||||
d="m 198.63522,-306.35087 q -1.23714,1.09244 -2.22106,1.09244 -0.57877,0 -0.96221,-0.3762 -0.38344,-0.38344 -0.38344,-0.95498 0,-0.77412 0.66559,-1.38907 0.66559,-0.62219 2.90112,-1.64952 v -0.68006 q 0,-0.76688 -0.0868,-0.96222 -0.0796,-0.20257 -0.31109,-0.34726 -0.23151,-0.15193 -0.5209,-0.15193 -0.47025,0 -0.77411,0.2098 -0.1881,0.13023 -0.1881,0.30386 0,0.15193 0.20257,0.37621 0.27492,0.31109 0.27492,0.60048 0,0.3545 -0.26769,0.60772 -0.26045,0.24598 -0.6873,0.24598 -0.45578,0 -0.76688,-0.27492 -0.30385,-0.27492 -0.30385,-0.64389 0,-0.5209 0.41237,-0.99116 0.41238,-0.47749 1.15032,-0.73071 0.73795,-0.25321 1.53376,-0.25321 0.96222,0 1.5193,0.41238 0.5643,0.40514 0.7307,0.88263 0.10129,0.30386 0.10129,1.3963 v 2.62621 q 0,0.46302 0.0362,0.58601 0.0362,0.11575 0.10852,0.17363 0.0724,0.0579 0.1664,0.0579 0.1881,0 0.38344,-0.26768 l 0.21704,0.17363 q -0.36173,0.53537 -0.75241,0.78135 -0.38344,0.23874 -0.8754,0.23874 -0.57878,0 -0.90434,-0.26768 -0.32556,-0.27492 -0.39791,-0.82476 z m 0,-0.52813 v -2.26447 q -0.8754,0.51367 -1.30225,1.09968 -0.28215,0.39067 -0.28215,0.78858 0,0.3328 0.23874,0.58601 0.18087,0.19534 0.50643,0.19534 0.36174,0 0.83923,-0.40514 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2003" />
|
||||
<path
|
||||
d="m 209.01704,-305.14991 -1.85209,-4.96301 -1.81591,4.96301 h -0.37621 l -1.80144,-4.90513 q -0.40515,-1.12139 -0.6873,-1.46142 -0.18087,-0.23151 -0.54984,-0.33279 v -0.26769 h 3.41479 v 0.26769 q -0.34727,0 -0.47749,0.10128 -0.13023,0.10129 -0.13023,0.23151 0,0.12299 0.23151,0.73794 l 0.99116,2.64068 0.95498,-2.64068 -0.0723,-0.17363 q -0.21705,-0.5426 -0.38344,-0.6873 -0.15917,-0.15193 -0.4992,-0.2098 v -0.26769 h 3.46543 v 0.26769 q -0.40515,0.0217 -0.51367,0.11575 -0.10852,0.0868 -0.10852,0.25322 0,0.15916 0.20981,0.70176 l 0.95498,2.64068 0.86817,-2.43087 q 0.1881,-0.5209 0.1881,-0.709 0,-0.28216 -0.13746,-0.41238 -0.13746,-0.13022 -0.53537,-0.15916 v -0.26769 h 2.00402 v 0.26769 q -0.3328,0.0434 -0.52814,0.23874 -0.19533,0.1881 -0.50643,1.08521 l -1.89549,5.37539 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2005" />
|
||||
<path
|
||||
d="m 215.63681,-306.03978 v 2.51769 q 0,0.52089 0.0796,0.709 0.0868,0.1881 0.26045,0.27492 0.17363,0.0868 0.68006,0.0868 v 0.26769 h -3.8561 v -0.26769 q 0.44855,-0.0145 0.66559,-0.25321 0.14469,-0.1664 0.14469,-0.86093 v -7.14067 q 0,-0.71624 -0.16639,-0.91157 -0.1664,-0.20257 -0.64389,-0.23151 v -0.26769 h 2.83601 v 0.88987 q 0.3545,-0.5209 0.72347,-0.75241 0.52813,-0.34003 1.15032,-0.34003 0.74517,0 1.35289,0.47026 0.61495,0.47025 0.93328,1.30225 0.31833,0.82475 0.31833,1.77974 0,1.02733 -0.3328,1.88102 -0.32556,0.84646 -0.95498,1.29502 -0.62219,0.44131 -1.38907,0.44131 -0.55707,0 -1.0418,-0.24598 -0.36174,-0.1881 -0.75964,-0.64389 z m 0,-0.7307 q 0.62218,0.88263 1.33118,0.88263 0.39068,0 0.64389,-0.41238 0.37621,-0.60771 0.37621,-2.31511 0,-1.7508 -0.41238,-2.39469 -0.27492,-0.42684 -0.73794,-0.42684 -0.73071,0 -1.20096,1.05626 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2007" />
|
||||
<path
|
||||
d="m 224.07249,-312.11694 v 1.53376 q 0.67282,-1.04903 1.17925,-1.38906 0.50643,-0.34727 0.97669,-0.34727 0.40515,0 0.64389,0.25321 0.24598,0.24599 0.24598,0.70177 0,0.48473 -0.23874,0.75241 -0.23152,0.26769 -0.56431,0.26769 -0.38344,0 -0.6656,-0.24598 -0.28215,-0.24598 -0.33279,-0.27492 -0.0724,-0.0434 -0.1664,-0.0434 -0.20981,0 -0.39791,0.15916 -0.29662,0.24598 -0.44855,0.70177 -0.23151,0.70177 -0.23151,1.54823 v 1.55546 l 0.007,0.40515 q 0,0.41238 0.0506,0.52813 0.0868,0.19534 0.25322,0.28939 0.17363,0.0868 0.57878,0.10852 v 0.26045 h -3.65354 v -0.26045 q 0.44132,-0.0362 0.59325,-0.23874 0.15916,-0.20981 0.15916,-1.09245 v -3.74034 q 0,-0.57878 -0.0579,-0.73795 -0.0724,-0.20257 -0.20981,-0.29662 -0.13746,-0.0941 -0.48473,-0.13022 v -0.26769 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2009" />
|
||||
<path
|
||||
d="m 229.46235,-315.39426 q 0.47026,0 0.79582,0.33279 0.32556,0.32556 0.32556,0.78859 0,0.46302 -0.3328,0.78858 -0.32556,0.32556 -0.78858,0.32556 -0.46302,0 -0.78858,-0.32556 -0.32557,-0.32556 -0.32557,-0.78858 0,-0.46303 0.32557,-0.78859 0.32556,-0.33279 0.78858,-0.33279 z m 1.01286,3.27732 v 5.36093 q 0,0.71623 0.1664,0.91881 0.1664,0.19533 0.65112,0.22427 v 0.26045 h -3.65353 v -0.26045 q 0.44855,-0.0145 0.66559,-0.26045 0.1447,-0.1664 0.1447,-0.88263 v -3.95016 q 0,-0.71624 -0.1664,-0.91157 -0.1664,-0.20257 -0.64389,-0.23151 v -0.26769 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2011" />
|
||||
<path
|
||||
d="m 234.70752,-312.11694 v 0.8754 q 0.5209,-0.56431 0.99839,-0.81752 0.47749,-0.26045 1.02733,-0.26045 0.65836,0 1.09244,0.36897 0.43409,0.36174 0.57878,0.90434 0.11576,0.41238 0.11576,1.5844 v 2.63344 q 0,0.78135 0.13746,0.97669 0.14469,0.1881 0.59324,0.23874 v 0.26045 h -3.42202 v -0.26045 q 0.38344,-0.0506 0.54984,-0.31833 0.11576,-0.18086 0.11576,-0.8971 v -3.00964 q 0,-0.83199 -0.0651,-1.04904 -0.0651,-0.21704 -0.22427,-0.33279 -0.15193,-0.12299 -0.34003,-0.12299 -0.62219,0 -1.15756,0.88987 v 3.62459 q 0,0.75965 0.13746,0.96222 0.1447,0.20257 0.52814,0.25321 v 0.26045 h -3.42203 v -0.26045 q 0.42685,-0.0434 0.60772,-0.27492 0.12299,-0.15916 0.12299,-0.94051 v -3.81993 q 0,-0.76688 -0.14469,-0.95498 -0.13746,-0.18811 -0.58602,-0.24598 v -0.26769 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2013" />
|
||||
<path
|
||||
d="m 242.87551,-314.59121 v 2.47427 h 1.60611 v 0.71624 h -1.60611 v 4.17443 q 0,0.58601 0.0507,0.75965 0.0579,0.16639 0.19533,0.27491 0.13746,0.10129 0.25322,0.10129 0.47026,0 0.88987,-0.71624 l 0.21704,0.15917 q -0.58601,1.38906 -1.90273,1.38906 -0.64389,0 -1.09244,-0.3545 -0.44132,-0.36173 -0.56431,-0.80305 -0.0724,-0.24598 -0.0724,-1.33119 v -3.65353 h -0.88263 v -0.25322 q 0.91157,-0.64389 1.54823,-1.35289 0.64389,-0.709 1.12138,-1.5844 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2015" />
|
||||
</g>
|
||||
<g
|
||||
id="g2056"
|
||||
transform="matrix(0.67677022,0,0,0.68248465,55.236042,-101.58923)">
|
||||
<path
|
||||
d="m 281.97916,-309.79459 v 2.72025 q 0,0.79582 0.0941,1.00563 0.10129,0.20257 0.34727,0.32556 0.25321,0.12299 0.91881,0.12299 v 0.26768 h -4.98472 v -0.26768 q 0.68006,0 0.91881,-0.12299 0.24598,-0.13023 0.34003,-0.3328 0.10129,-0.20257 0.10129,-0.99839 v -6.36655 q 0,-0.79582 -0.10129,-0.99839 -0.094,-0.20981 -0.34003,-0.3328 -0.24598,-0.12299 -0.91881,-0.12299 v -0.26768 h 4.27572 q 2.11253,0 3.03134,0.75241 0.91881,0.75241 0.91881,1.88102 0,0.95499 -0.59325,1.63505 -0.59324,0.68006 -1.63504,0.92604 -0.70177,0.17364 -2.37299,0.17364 z m 0,-4.80386 v 4.23955 q 0.23875,0.0145 0.36174,0.0145 0.88263,0 1.36012,-0.5209 0.4775,-0.52814 0.4775,-1.62781 0,-1.09245 -0.4775,-1.59888 -0.47749,-0.50643 -1.42524,-0.50643 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2017" />
|
||||
<path
|
||||
d="m 290.34249,-312.11694 v 1.53376 q 0.67283,-1.04903 1.17926,-1.38906 0.50643,-0.34727 0.97669,-0.34727 0.40514,0 0.64389,0.25321 0.24598,0.24599 0.24598,0.70177 0,0.48473 -0.23875,0.75241 -0.23151,0.26769 -0.56431,0.26769 -0.38344,0 -0.66559,-0.24598 -0.28216,-0.24598 -0.3328,-0.27492 -0.0724,-0.0434 -0.1664,-0.0434 -0.2098,0 -0.39791,0.15916 -0.29662,0.24598 -0.44855,0.70177 -0.23151,0.70177 -0.23151,1.54823 v 1.55546 l 0.007,0.40515 q 0,0.41238 0.0507,0.52813 0.0868,0.19534 0.25321,0.28939 0.17364,0.0868 0.57878,0.10852 v 0.26045 h -3.65353 v -0.26045 q 0.44132,-0.0362 0.59324,-0.23874 0.15917,-0.20981 0.15917,-1.09245 v -3.74034 q 0,-0.57878 -0.0579,-0.73795 -0.0724,-0.20257 -0.20981,-0.29662 -0.13746,-0.0941 -0.48472,-0.13022 v -0.26769 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2019" />
|
||||
<path
|
||||
d="m 299.57399,-308.97707 h -3.71141 q 0.0651,1.34566 0.71623,2.12701 0.4992,0.60048 1.20097,0.60048 0.43408,0 0.78858,-0.23875 0.3545,-0.24598 0.75965,-0.8754 l 0.24598,0.15916 q -0.54984,1.12139 -1.21544,1.59164 -0.66559,0.46302 -1.54099,0.46302 -1.50482,0 -2.27894,-1.15755 -0.62218,-0.93328 -0.62218,-2.31511 0,-1.69292 0.91157,-2.69131 0.91881,-1.00563 2.14871,-1.00563 1.02733,0 1.77974,0.84646 0.75965,0.83923 0.81753,2.49598 z m -1.77974,-0.48473 q 0,-1.16479 -0.13023,-1.59887 -0.12299,-0.43408 -0.39067,-0.65836 -0.15193,-0.13022 -0.40515,-0.13022 -0.3762,0 -0.61495,0.36897 -0.42685,0.64389 -0.42685,1.76527 v 0.25321 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2021" />
|
||||
<path
|
||||
d="m 304.68894,-312.30504 0.10852,2.30787 h -0.24598 q -0.44132,-1.02733 -0.91881,-1.40353 -0.47026,-0.37621 -0.94051,-0.37621 -0.29663,0 -0.50643,0.20258 -0.20981,0.19533 -0.20981,0.45578 0,0.19534 0.14469,0.37621 0.23151,0.29662 1.29502,1.02009 1.0635,0.71624 1.3963,1.22267 0.34003,0.4992 0.34003,1.12138 0,0.56431 -0.28215,1.10691 -0.28216,0.54261 -0.79582,0.832 -0.51367,0.28938 -1.13585,0.28938 -0.48473,0 -1.29502,-0.30385 -0.21704,-0.0796 -0.29662,-0.0796 -0.23875,0 -0.39791,0.36174 h -0.23875 l -0.11575,-2.43086 h 0.24598 q 0.32556,0.95498 0.88987,1.43247 0.57154,0.47749 1.07797,0.47749 0.34727,0 0.56431,-0.20981 0.22428,-0.21704 0.22428,-0.5209 0,-0.34726 -0.21705,-0.60048 -0.21704,-0.25321 -0.96945,-0.76688 -1.10691,-0.76688 -1.43247,-1.17202 -0.47749,-0.59325 -0.47749,-1.30949 0,-0.78134 0.53537,-1.41077 0.5426,-0.63665 1.56269,-0.63665 0.54984,0 1.06351,0.26768 0.19534,0.10852 0.31833,0.10852 0.13022,0 0.2098,-0.0506 0.0796,-0.0579 0.25322,-0.31109 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2023" />
|
||||
<path
|
||||
d="m 310.44776,-312.30504 0.10853,2.30787 h -0.24598 q -0.44132,-1.02733 -0.91881,-1.40353 -0.47026,-0.37621 -0.94052,-0.37621 -0.29662,0 -0.50643,0.20258 -0.2098,0.19533 -0.2098,0.45578 0,0.19534 0.14469,0.37621 0.23151,0.29662 1.29501,1.02009 1.06351,0.71624 1.3963,1.22267 0.34004,0.4992 0.34004,1.12138 0,0.56431 -0.28216,1.10691 -0.28215,0.54261 -0.79582,0.832 -0.51366,0.28938 -1.13585,0.28938 -0.48472,0 -1.29501,-0.30385 -0.21704,-0.0796 -0.29662,-0.0796 -0.23875,0 -0.39791,0.36174 h -0.23875 l -0.11576,-2.43086 h 0.24599 q 0.32556,0.95498 0.88987,1.43247 0.57154,0.47749 1.07797,0.47749 0.34726,0 0.56431,-0.20981 0.22427,-0.21704 0.22427,-0.5209 0,-0.34726 -0.21704,-0.60048 -0.21704,-0.25321 -0.96945,-0.76688 -1.10691,-0.76688 -1.43248,-1.17202 -0.47749,-0.59325 -0.47749,-1.30949 0,-0.78134 0.53537,-1.41077 0.54261,-0.63665 1.5627,-0.63665 0.54984,0 1.0635,0.26768 0.19534,0.10852 0.31833,0.10852 0.13023,0 0.20981,-0.0506 0.0796,-0.0579 0.25321,-0.31109 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.8167px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, Bold';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
id="path2025" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2"
|
||||
transform="translate(-189.42537,318.35553)" />
|
||||
</svg>
|
After Width: | Height: | Size: 19 KiB |
35
assets/ticker/pawprint-logo.svg.import
Normal file
35
assets/ticker/pawprint-logo.svg.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/pawprint-logo.svg-f33569ddfdeabc9ffb0b78f564117520.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ticker/pawprint-logo.svg"
|
||||
dest_files=[ "res://.import/pawprint-logo.svg-f33569ddfdeabc9ffb0b78f564117520.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
4
assets/ticker_black.tres
Normal file
4
assets/ticker_black.tres
Normal file
|
@ -0,0 +1,4 @@
|
|||
[gd_resource type="StyleBoxFlat" format=2]
|
||||
|
||||
[resource]
|
||||
bg_color = Color( 0, 0, 0, 1 )
|
0
is_caseyverse.txt
Normal file
0
is_caseyverse.txt
Normal file
7
json/ticker/README.md
Normal file
7
json/ticker/README.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# News Ticker
|
||||
|
||||
With the exception of certain policies, the majority of the lore in City Limits comes from the news ticker. During regular gameplay (when there isn't any disasters or financial problems), the news ticker provides fictional turn of events that happen in the city, such as the Kitty Kibble shortage from SimCity 3000.
|
||||
|
||||
## Extra Lore
|
||||
|
||||
Additionally, I've added my own turn of events with the ``extra_lore.json`` file. Internally, this is known as "Caseyverse" and has a global node of the same name. That node is designed so the game can function without it through the use of the ``if_caseyverse()`` function (which checks for that json file, at the moment) and any future related functions that deal with events.
|
11
json/ticker/extra_lore.json
Normal file
11
json/ticker/extra_lore.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"competing_outlet": "Citizen Telegram",
|
||||
"ticker": [
|
||||
"Some cats look to [other_outlet] for answers behind Kitty Kibble shortage.",
|
||||
"Kit Welsh awarded for his medical breakthroughs in [city].",
|
||||
"Ishard has frozen another one of Big Boston's numbers racket.",
|
||||
"Can Ishard solve the Kitty Kibble shortage?",
|
||||
"Who is Ishard? And where did he come from?",
|
||||
"Big Boston gets frozen in his tracks again thanks to Ishard."
|
||||
]
|
||||
}
|
|
@ -23,6 +23,7 @@ SimEvents="*res://scripts/autoload/sim_events.gd"
|
|||
SimTime="*res://scripts/autoload/sim_time.gd"
|
||||
ZoneData="*res://scripts/autoload/zone_data.gd"
|
||||
VRBridge="*res://scripts/autoload/vr_bridge.gd"
|
||||
Caseyverse="*res://scripts/autoload/caseyverse.gd"
|
||||
|
||||
[display]
|
||||
|
||||
|
|
122
scenes/game.tscn
122
scenes/game.tscn
|
@ -1,7 +1,7 @@
|
|||
[gd_scene load_steps=45 format=2]
|
||||
|
||||
[ext_resource path="res://scenes/maps/MapOne.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://scripts/ticker.gd" type="Script" id=2]
|
||||
[ext_resource path="res://assets/ticker/pawprint-logo.svg" type="Texture" id=2]
|
||||
[ext_resource path="res://assets/symbols/fontawesome/population.svg" type="Texture" id=3]
|
||||
[ext_resource path="res://scenes/windows/Advisor.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://assets/ui/iccom.png" type="Texture" id=5]
|
||||
|
@ -56,7 +56,7 @@ __meta__ = {
|
|||
}
|
||||
|
||||
[node name="RotateNews" type="Timer" parent="."]
|
||||
wait_time = 6.0
|
||||
wait_time = 5.0
|
||||
autostart = true
|
||||
|
||||
[node name="MapOne" parent="." instance=ExtResource( 1 )]
|
||||
|
@ -263,19 +263,18 @@ __meta__ = {
|
|||
}
|
||||
|
||||
[node name="Status" type="Panel" parent="Controls/Windows"]
|
||||
anchor_top = 0.908333
|
||||
anchor_top = 0.863333
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
script = ExtResource( 2 )
|
||||
anchor_bottom = 1.00833
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[node name="SettingsBtn" type="Button" parent="Controls/Windows/Status"]
|
||||
anchor_left = 0.0115391
|
||||
anchor_top = 0.193259
|
||||
anchor_top = 0.0555202
|
||||
anchor_right = 0.0525548
|
||||
anchor_bottom = 0.670871
|
||||
anchor_bottom = 0.533132
|
||||
hint_tooltip = "Meet"
|
||||
size_flags_horizontal = 4
|
||||
icon = ExtResource( 35 )
|
||||
|
@ -285,9 +284,9 @@ __meta__ = {
|
|||
|
||||
[node name="StatCtr" type="HBoxContainer" parent="Controls/Windows/Status"]
|
||||
anchor_left = 0.0566406
|
||||
anchor_top = 0.208955
|
||||
anchor_right = 0.601562
|
||||
anchor_bottom = 0.746269
|
||||
anchor_top = 0.0750188
|
||||
anchor_right = 0.996094
|
||||
anchor_bottom = 0.516879
|
||||
custom_constants/separation = 50
|
||||
alignment = 1
|
||||
script = ExtResource( 38 )
|
||||
|
@ -296,9 +295,9 @@ __meta__ = {
|
|||
}
|
||||
|
||||
[node name="ButtonCtr" type="HBoxContainer" parent="Controls/Windows/Status/StatCtr"]
|
||||
margin_left = 30.0
|
||||
margin_right = 312.0
|
||||
margin_bottom = 36.0
|
||||
margin_left = 233.0
|
||||
margin_right = 515.0
|
||||
margin_bottom = 38.0
|
||||
custom_constants/separation = 10
|
||||
alignment = 1
|
||||
__meta__ = {
|
||||
|
@ -307,7 +306,7 @@ __meta__ = {
|
|||
|
||||
[node name="TaxBtn" type="Button" parent="Controls/Windows/Status/StatCtr/ButtonCtr"]
|
||||
margin_right = 42.0
|
||||
margin_bottom = 36.0
|
||||
margin_bottom = 38.0
|
||||
hint_tooltip = "RCI"
|
||||
size_flags_horizontal = 4
|
||||
icon = ExtResource( 40 )
|
||||
|
@ -315,7 +314,7 @@ icon = ExtResource( 40 )
|
|||
[node name="ToolsBtn" type="Button" parent="Controls/Windows/Status/StatCtr/ButtonCtr"]
|
||||
margin_left = 52.0
|
||||
margin_right = 94.0
|
||||
margin_bottom = 36.0
|
||||
margin_bottom = 38.0
|
||||
hint_tooltip = "Tools"
|
||||
size_flags_horizontal = 4
|
||||
icon = ExtResource( 42 )
|
||||
|
@ -323,7 +322,7 @@ icon = ExtResource( 42 )
|
|||
[node name="AdvsiorBtn" type="Button" parent="Controls/Windows/Status/StatCtr/ButtonCtr"]
|
||||
margin_left = 104.0
|
||||
margin_right = 146.0
|
||||
margin_bottom = 36.0
|
||||
margin_bottom = 38.0
|
||||
hint_tooltip = "Meet"
|
||||
size_flags_horizontal = 4
|
||||
icon = ExtResource( 43 )
|
||||
|
@ -331,12 +330,12 @@ icon = ExtResource( 43 )
|
|||
[node name="VSeparator" type="VSeparator" parent="Controls/Windows/Status/StatCtr/ButtonCtr"]
|
||||
margin_left = 156.0
|
||||
margin_right = 160.0
|
||||
margin_bottom = 36.0
|
||||
margin_bottom = 38.0
|
||||
|
||||
[node name="TurtleBtn" type="Button" parent="Controls/Windows/Status/StatCtr/ButtonCtr"]
|
||||
margin_left = 170.0
|
||||
margin_right = 211.0
|
||||
margin_bottom = 36.0
|
||||
margin_bottom = 38.0
|
||||
hint_tooltip = "Slow"
|
||||
toggle_mode = true
|
||||
icon = ExtResource( 8 )
|
||||
|
@ -344,7 +343,7 @@ icon = ExtResource( 8 )
|
|||
[node name="CheetaBtn" type="Button" parent="Controls/Windows/Status/StatCtr/ButtonCtr"]
|
||||
margin_left = 221.0
|
||||
margin_right = 268.0
|
||||
margin_bottom = 36.0
|
||||
margin_bottom = 38.0
|
||||
hint_tooltip = "Fast"
|
||||
toggle_mode = true
|
||||
icon = ExtResource( 7 )
|
||||
|
@ -352,25 +351,25 @@ icon = ExtResource( 7 )
|
|||
[node name="VSeparator2" type="VSeparator" parent="Controls/Windows/Status/StatCtr/ButtonCtr"]
|
||||
margin_left = 278.0
|
||||
margin_right = 282.0
|
||||
margin_bottom = 36.0
|
||||
margin_bottom = 38.0
|
||||
|
||||
[node name="NameDate" type="VBoxContainer" parent="Controls/Windows/Status/StatCtr"]
|
||||
margin_left = 362.0
|
||||
margin_right = 450.0
|
||||
margin_bottom = 36.0
|
||||
margin_left = 565.0
|
||||
margin_right = 653.0
|
||||
margin_bottom = 38.0
|
||||
alignment = 1
|
||||
|
||||
[node name="CityNameLbl" type="Label" parent="Controls/Windows/Status/StatCtr/NameDate"]
|
||||
margin_top = 2.0
|
||||
margin_top = 3.0
|
||||
margin_right = 88.0
|
||||
margin_bottom = 16.0
|
||||
margin_bottom = 17.0
|
||||
text = "City Name"
|
||||
align = 1
|
||||
|
||||
[node name="YearCtr" type="HBoxContainer" parent="Controls/Windows/Status/StatCtr/NameDate"]
|
||||
margin_top = 20.0
|
||||
margin_top = 21.0
|
||||
margin_right = 88.0
|
||||
margin_bottom = 34.0
|
||||
margin_bottom = 35.0
|
||||
|
||||
[node name="CalIcon" type="TextureRect" parent="Controls/Windows/Status/StatCtr/NameDate/YearCtr"]
|
||||
margin_right = 10.0
|
||||
|
@ -388,15 +387,15 @@ __meta__ = {
|
|||
}
|
||||
|
||||
[node name="PopBudget" type="VBoxContainer" parent="Controls/Windows/Status/StatCtr"]
|
||||
margin_left = 500.0
|
||||
margin_right = 526.0
|
||||
margin_bottom = 36.0
|
||||
margin_left = 703.0
|
||||
margin_right = 729.0
|
||||
margin_bottom = 38.0
|
||||
alignment = 1
|
||||
|
||||
[node name="BudgetCtr" type="HBoxContainer" parent="Controls/Windows/Status/StatCtr/PopBudget"]
|
||||
margin_top = 2.0
|
||||
margin_top = 3.0
|
||||
margin_right = 26.0
|
||||
margin_bottom = 16.0
|
||||
margin_bottom = 17.0
|
||||
|
||||
[node name="CoinsIcon" type="TextureRect" parent="Controls/Windows/Status/StatCtr/PopBudget/BudgetCtr"]
|
||||
margin_right = 14.0
|
||||
|
@ -411,9 +410,9 @@ margin_bottom = 14.0
|
|||
text = "0"
|
||||
|
||||
[node name="PopCtr" type="HBoxContainer" parent="Controls/Windows/Status/StatCtr/PopBudget"]
|
||||
margin_top = 20.0
|
||||
margin_top = 21.0
|
||||
margin_right = 26.0
|
||||
margin_bottom = 34.0
|
||||
margin_bottom = 35.0
|
||||
|
||||
[node name="PopIcon" type="TextureRect" parent="Controls/Windows/Status/StatCtr/PopBudget/PopCtr"]
|
||||
margin_right = 14.0
|
||||
|
@ -427,18 +426,63 @@ margin_right = 26.0
|
|||
margin_bottom = 14.0
|
||||
text = "0"
|
||||
|
||||
[node name="Ticker" type="ItemList" parent="Controls/Windows/Status"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
margin_left = 622.0
|
||||
[node name="NewsBtn" type="Button" parent="Controls/Windows/Status"]
|
||||
anchor_left = 0.0078125
|
||||
anchor_top = 0.633158
|
||||
anchor_right = 0.989258
|
||||
anchor_bottom = 0.888972
|
||||
text = "News"
|
||||
flat = true
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[node name="NewsWindow" type="WindowDialog" parent="Controls/Windows"]
|
||||
anchor_left = 0.0878906
|
||||
anchor_top = 0.235
|
||||
anchor_right = 0.699219
|
||||
anchor_bottom = 0.578333
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[node name="News" type="ItemList" parent="Controls/Windows/NewsWindow"]
|
||||
anchor_left = 0.0111821
|
||||
anchor_top = 0.23301
|
||||
anchor_right = 0.988818
|
||||
anchor_bottom = 0.961165
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[node name="Brand" type="HSplitContainer" parent="Controls/Windows/NewsWindow"]
|
||||
anchor_left = 0.0175719
|
||||
anchor_top = 0.0242718
|
||||
anchor_right = 0.982428
|
||||
anchor_bottom = 0.23301
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": true
|
||||
}
|
||||
|
||||
[node name="NewsBrand" type="TextureRect" parent="Controls/Windows/NewsWindow/Brand"]
|
||||
margin_right = 288.0
|
||||
margin_bottom = 43.0
|
||||
texture = ExtResource( 2 )
|
||||
|
||||
[node name="NewsMotto" type="Label" parent="Controls/Windows/NewsWindow/Brand"]
|
||||
margin_left = 300.0
|
||||
margin_top = 14.0
|
||||
margin_right = 604.0
|
||||
margin_bottom = 28.0
|
||||
align = 2
|
||||
valign = 1
|
||||
|
||||
[connection signal="timeout" from="DayCycle" to="." method="_on_DayCycle_timeout"]
|
||||
[connection signal="timeout" from="RotateNews" to="Controls/Windows" method="_on_RotateNews_timeout"]
|
||||
[connection signal="pressed" from="Controls/Windows/VRMode" to="." method="_on_VRMode_pressed"]
|
||||
[connection signal="pressed" from="Controls/Windows/Status/StatCtr/ButtonCtr/TaxBtn" to="Controls/Windows" method="_on_TaxBtn_pressed"]
|
||||
[connection signal="pressed" from="Controls/Windows/Status/StatCtr/ButtonCtr/ToolsBtn" to="Controls/Windows" method="_on_ToolsBtn_pressed"]
|
||||
[connection signal="pressed" from="Controls/Windows/Status/StatCtr/ButtonCtr/AdvsiorBtn" to="Controls/Windows" method="_on_AdvsiorBtn_pressed"]
|
||||
[connection signal="toggled" from="Controls/Windows/Status/StatCtr/ButtonCtr/TurtleBtn" to="." method="_on_TurtleBtn_toggled"]
|
||||
[connection signal="toggled" from="Controls/Windows/Status/StatCtr/ButtonCtr/CheetaBtn" to="." method="_on_CheetaBtn_toggled"]
|
||||
[connection signal="pressed" from="Controls/Windows/Status/NewsBtn" to="Controls/Windows" method="_on_NewsBtn_pressed"]
|
||||
|
|
16
scripts/autoload/caseyverse.gd
Normal file
16
scripts/autoload/caseyverse.gd
Normal file
|
@ -0,0 +1,16 @@
|
|||
extends Node
|
||||
|
||||
const caseyverse_path = "res://json/ticker/extra_lore.json"
|
||||
const is_caseyverse_path = "res://is_caseyverse.txt"
|
||||
|
||||
func is_caseyverse():
|
||||
var file = File.new()
|
||||
if file.file_exists(is_caseyverse_path):
|
||||
return true
|
||||
|
||||
func competing_outlet():
|
||||
var file = File.new()
|
||||
if is_caseyverse():
|
||||
file.open(caseyverse_path, File.READ)
|
||||
var result = parse_json(file.get_as_text())
|
||||
return result["competing_outlet"]
|
|
@ -11,7 +11,7 @@ signal advisor_message(advisor, message)
|
|||
|
||||
# News
|
||||
signal send_alert(message)
|
||||
signal resume_news
|
||||
signal rotate_news
|
||||
|
||||
# Policies
|
||||
signal clean_air_act
|
||||
|
|
|
@ -6,7 +6,7 @@ onready var turtle_btn = $Controls/Status/StatCtr/ButtonCtr/TurtleBtn
|
|||
onready var cheeta_btn = $Controls/Status/StatCtr/ButtonCtr/CheetaBtn
|
||||
|
||||
func _ready():
|
||||
SimEvents.connect("resume_news", self, "_resume_rotation")
|
||||
SimEvents.connect("rotate_news", self, "_rotate_news")
|
||||
SimEvents.connect("send_alert", self, "_stop_news")
|
||||
|
||||
func _stop_news():
|
||||
|
|
|
@ -1,116 +1,117 @@
|
|||
extends Panel
|
||||
|
||||
const ticker_path = "res://json/ticker/"
|
||||
|
||||
onready var ticker_text = $Ticker
|
||||
|
||||
var news_file: String = ""
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var all_news = []
|
||||
var speices = [
|
||||
"Cat",
|
||||
"Fennec",
|
||||
"Fox"
|
||||
]
|
||||
var json_files = [
|
||||
"adverts.json",
|
||||
# "sammy.json"
|
||||
]
|
||||
|
||||
func _index_news():
|
||||
var news = _load_json()
|
||||
all_news.clear()
|
||||
all_news = news["ticker"]
|
||||
|
||||
randomize()
|
||||
all_news.shuffle()
|
||||
|
||||
func _process(delta):
|
||||
var prev_json_Files = json_files
|
||||
|
||||
var city_life = [
|
||||
"citylife.json",
|
||||
"kittykibble.json"
|
||||
]
|
||||
|
||||
if _array_check(city_life, json_files):
|
||||
match SimData.has_power:
|
||||
true:
|
||||
prev_json_Files = json_files
|
||||
for files in city_life:
|
||||
json_files.append(files)
|
||||
|
||||
false:
|
||||
prev_json_Files = json_files
|
||||
for files in city_life:
|
||||
json_files.append(files)
|
||||
|
||||
func _array_check(list1, list2):
|
||||
for item in list1:
|
||||
if item in list2:
|
||||
return true
|
||||
|
||||
return false
|
||||
|
||||
func _load_json():
|
||||
var file = File.new()
|
||||
if file.file_exists(news_file):
|
||||
file.open(news_file, file.READ)
|
||||
var result = parse_json(file.get_as_text())
|
||||
return result
|
||||
|
||||
func _ready():
|
||||
SimData.city_name = SimData.city_name.capitalize()
|
||||
SimData.mayor_name = SimData.mayor_name.capitalize()
|
||||
SimEvents.connect("send_alert", self, "_start_alert")
|
||||
SimEvents.connect("resume_news", self, "_resume_ticker")
|
||||
_random_news(json_files)
|
||||
|
||||
func _start_alert(message):
|
||||
if ticker_text.items.size() > 3:
|
||||
ticker_text.clear()
|
||||
|
||||
SimData.on_alert = true
|
||||
news_file = str(ticker_path + "ticker_alerts.json")
|
||||
ticker_text.add_item(all_news)
|
||||
|
||||
func _random_news(files: Array):
|
||||
for file in files:
|
||||
news_file = str(ticker_path + file)
|
||||
_load_json()
|
||||
_index_news()
|
||||
|
||||
rng.randomize()
|
||||
randomize()
|
||||
all_news.shuffle()
|
||||
|
||||
var news_range = rng.randi_range(0, all_news.size() - 1)
|
||||
var news_text: String = all_news[news_range]
|
||||
|
||||
if SimData.city_name == "Furtropolis" or "Furville" and "[outlet]" in news_text:
|
||||
# FNN = Furtropolis/Furry News Network
|
||||
news_text = news_text.replace("[outlet]", "FNN")
|
||||
else:
|
||||
news_text = news_text.replace("[outlet]", "Pawprint Press")
|
||||
|
||||
if "[species]" in news_text:
|
||||
speices.shuffle()
|
||||
var speices_range = rng.randi_range(speices.size() - 1)
|
||||
news_text = news_text.replace("[species]", speices[speices_range])
|
||||
|
||||
if "[city]" in news_text:
|
||||
news_text = news_text.replace("[city]", SimData.city_name)
|
||||
|
||||
if "[mayor]" in news_text:
|
||||
news_text = news_text.replace("[mayor]", SimData.mayor_name)
|
||||
|
||||
if ticker_text.items.size() > 3:
|
||||
ticker_text.clear()
|
||||
|
||||
ticker_text.add_item(news_text)
|
||||
|
||||
func _resume_ticker():
|
||||
_random_news(json_files)
|
||||
|
||||
func _on_RotateNews_timeout():
|
||||
_random_news(json_files)
|
||||
#extends Panel
|
||||
#
|
||||
#const ticker_path = "res://json/ticker/"
|
||||
#
|
||||
#onready var ticker_text = $Ticker
|
||||
#
|
||||
#var news_file: String = ""
|
||||
#var rng = RandomNumberGenerator.new()
|
||||
#var all_news = []
|
||||
#var speices = [
|
||||
# "Cat",
|
||||
# "Fennec",
|
||||
# "Fox"
|
||||
#]
|
||||
#var json_files = [
|
||||
# "adverts.json",
|
||||
# "sammy.json",
|
||||
# "kittykibble.json"
|
||||
#]
|
||||
#
|
||||
#func _index_news():
|
||||
# var news = _load_json()
|
||||
# all_news.clear()
|
||||
# all_news = news["ticker"]
|
||||
#
|
||||
# randomize()
|
||||
# all_news.shuffle()
|
||||
#
|
||||
#func _process(delta):
|
||||
# var prev_json_Files = json_files
|
||||
#
|
||||
# var city_life = [
|
||||
# "citylife.json",
|
||||
# "kittykibble.json",
|
||||
# "international.json",
|
||||
# "citylife.json"
|
||||
# ]
|
||||
#
|
||||
# if _array_check(city_life, json_files):
|
||||
# match SimData.has_power:
|
||||
# true:
|
||||
# prev_json_Files = json_files
|
||||
# for files in city_life:
|
||||
# json_files.append(files)
|
||||
#
|
||||
# false:
|
||||
# prev_json_Files = json_files
|
||||
# for files in city_life:
|
||||
# json_files.append(files)
|
||||
#
|
||||
#func _array_check(list1, list2):
|
||||
# for item in list1:
|
||||
# if item in list2:
|
||||
# return true
|
||||
#
|
||||
# return false
|
||||
#
|
||||
#func _load_json():
|
||||
# var file = File.new()
|
||||
# if file.file_exists(news_file):
|
||||
# file.open(news_file, file.READ)
|
||||
# var result = parse_json(file.get_as_text())
|
||||
# return result
|
||||
#
|
||||
#func _ready():
|
||||
# SimData.city_name = SimData.city_name.capitalize()
|
||||
# SimData.mayor_name = SimData.mayor_name.capitalize()
|
||||
# SimEvents.connect("send_alert", self, "_start_alert")
|
||||
# SimEvents.connect("rotate_news", self, "_rotate_news")
|
||||
# _random_news(json_files)
|
||||
#
|
||||
#func _start_alert(message):
|
||||
# if ticker_text.items.size() > 1:
|
||||
# ticker_text.clear()
|
||||
#
|
||||
# SimData.on_alert = true
|
||||
# news_file = str(ticker_path + "ticker_alerts.json")
|
||||
# ticker_text.add_item(all_news)
|
||||
#
|
||||
#func _random_news(files: Array):
|
||||
# for file in files:
|
||||
# news_file = str(ticker_path + file)
|
||||
# _load_json()
|
||||
# _index_news()
|
||||
#
|
||||
# rng.randomize()
|
||||
# randomize()
|
||||
# all_news.shuffle()
|
||||
#
|
||||
# var news_range = rng.randi_range(0, all_news.size() - 1)
|
||||
# var news_text: String = all_news[news_range]
|
||||
#
|
||||
# if SimData.city_name == "Furtropolis" or "Furville" and "[outlet]" in news_text:
|
||||
# # FNN = Furtropolis/Furry News Network
|
||||
# news_text = news_text.replace("[outlet]", "FNN")
|
||||
# else:
|
||||
# news_text = news_text.replace("[outlet]", "Pawprint Press")
|
||||
#
|
||||
# if "[species]" in news_text:
|
||||
# speices.shuffle()
|
||||
# var speices_range = rng.randi_range(speices.size() - 1)
|
||||
# news_text = news_text.replace("[species]", speices[speices_range])
|
||||
#
|
||||
# if "[city]" in news_text:
|
||||
# news_text = news_text.replace("[city]", SimData.city_name)
|
||||
#
|
||||
# if "[mayor]" in news_text:
|
||||
# news_text = news_text.replace("[mayor]", SimData.mayor_name)
|
||||
#
|
||||
# if ticker_text.items.size() > 3:
|
||||
# ticker_text.clear()
|
||||
#
|
||||
# ticker_text.clear()
|
||||
# ticker_text.add_item(news_text)
|
||||
#
|
||||
#func _on_RotateNews_timeout():
|
||||
# _random_news(json_files)
|
||||
|
|
|
@ -5,12 +5,166 @@ onready var tax_window = $TaxWindow
|
|||
onready var advsior_meet_window = $AdvisorMeet
|
||||
onready var tools_window = $ToolsWindow
|
||||
|
||||
const ticker_path = "res://json/ticker/"
|
||||
const fnn_logo = "res://assets/ticker/fnn.png"
|
||||
|
||||
onready var ticker_text = $Status/NewsBtn
|
||||
onready var ticker_box = $NewsWindow/News
|
||||
onready var ticker_window = $NewsWindow
|
||||
onready var news_brand = $NewsWindow/Brand/NewsBrand
|
||||
onready var news_motto = $NewsWindow/Brand/NewsMotto
|
||||
|
||||
var other_outlet: String = ""
|
||||
var news_file: String = ""
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var all_news = []
|
||||
var speices = [
|
||||
"Cat",
|
||||
"Fennec",
|
||||
"Fox"
|
||||
]
|
||||
|
||||
var json_files = [
|
||||
"adverts.json",
|
||||
"sammy.json",
|
||||
"kittykibble.json",
|
||||
"citylife.json"
|
||||
]
|
||||
|
||||
func _competing_outlet():
|
||||
var file = File.new()
|
||||
var caseyverse_path = str(ticker_path + "caseyverse.json");
|
||||
if file.file_exists(caseyverse_path):
|
||||
file.open(caseyverse_path)
|
||||
var result = parse_json(file.get_as_text())
|
||||
result.clear()
|
||||
return result["competing_outlet"]
|
||||
|
||||
func _load_json():
|
||||
var file = File.new()
|
||||
if file.file_exists(news_file):
|
||||
file.open(news_file, file.READ)
|
||||
var result = parse_json(file.get_as_text())
|
||||
return result
|
||||
|
||||
func _index_news():
|
||||
var news = _load_json()
|
||||
all_news.clear()
|
||||
all_news = news["ticker"]
|
||||
randomize()
|
||||
all_news.shuffle()
|
||||
|
||||
func _ready():
|
||||
SimData.city_name = SimData.city_name.capitalize()
|
||||
SimData.mayor_name = SimData.mayor_name.capitalize()
|
||||
|
||||
if SimData.city_name == "Furtropolis" and Caseyverse.is_caseyverse():
|
||||
news_brand.texture = load(fnn_logo)
|
||||
|
||||
SimEvents.emit_signal("advisor_message", SimData.Advisors.CITY_PLANNER, 0)
|
||||
|
||||
SimEvents.connect("send_alert", self, "_start_alert")
|
||||
SimEvents.connect("rotate_news", self, "_rotate_news")
|
||||
|
||||
if Caseyverse.is_caseyverse():
|
||||
json_files.append("extra_lore.json")
|
||||
|
||||
_randomize_news(json_files)
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_pressed("ui_cheats"):
|
||||
debug_console.show()
|
||||
|
||||
var prev_json_Files = json_files
|
||||
|
||||
# var city_life = [
|
||||
# "citylife.json"
|
||||
# ]
|
||||
#
|
||||
# if _array_check(city_life, json_files):
|
||||
# match SimData.has_power:
|
||||
# true:
|
||||
# prev_json_Files = json_files
|
||||
# for files in city_life:
|
||||
# json_files.append(files)
|
||||
#
|
||||
# false:
|
||||
# prev_json_Files = json_files
|
||||
# for files in city_life:
|
||||
# json_files.remove(files)
|
||||
|
||||
|
||||
func _array_check(list1, list2):
|
||||
for item in list1:
|
||||
if item in list2:
|
||||
return true
|
||||
|
||||
return false
|
||||
|
||||
func _start_alert(message):
|
||||
# if ticker_text.items.size() > 1:
|
||||
# ticker_text.clear()
|
||||
#
|
||||
# SimData.on_alert = true
|
||||
# news_file = str(ticker_path + "ticker_alerts.json")
|
||||
# ticker_text.add_item(all_news)
|
||||
|
||||
pass
|
||||
|
||||
func _randomize_news(files: Array):
|
||||
for file in files:
|
||||
news_file = str(ticker_path + file)
|
||||
_load_json()
|
||||
_index_news()
|
||||
|
||||
rng.randomize()
|
||||
randomize()
|
||||
files.shuffle()
|
||||
|
||||
var news_range = rng.randi_range(0, all_news.size() - 1)
|
||||
var news_text: String = all_news[news_range]
|
||||
|
||||
if Caseyverse.is_caseyverse():
|
||||
news_text = news_text.replace("[other_outlet]", Caseyverse.competing_outlet())
|
||||
|
||||
if SimData.city_name == "Furtropolis" or "Furville" and Caseyverse.is_caseyverse():
|
||||
# FNN = Furtropolis/Furry News Network
|
||||
news_text = news_text.replace("[outlet]", "FNN")
|
||||
else:
|
||||
news_text = news_text.replace("[outlet]", "Pawprint Press")
|
||||
|
||||
if "[species]" in news_text:
|
||||
speices.shuffle()
|
||||
var speices_range = rng.randi_range(speices.size() - 1)
|
||||
news_text = news_text.replace("[species]", speices[speices_range])
|
||||
|
||||
if "[city]" in news_text:
|
||||
news_text = news_text.replace("[city]", SimData.city_name)
|
||||
|
||||
if "[mayor]" in news_text:
|
||||
news_text = news_text.replace("[mayor]", SimData.mayor_name)
|
||||
|
||||
if ticker_box.items.size() > 15:
|
||||
ticker_box.clear()
|
||||
|
||||
# Prevent duplicates
|
||||
var prev_news_text = ticker_text.text
|
||||
if news_text == prev_news_text:
|
||||
_randomize_news(json_files)
|
||||
else:
|
||||
json_files.shuffle()
|
||||
_add_news(news_text)
|
||||
|
||||
func _add_news(news_item):
|
||||
ticker_text.text = news_item
|
||||
ticker_box.add_item(news_item)
|
||||
|
||||
func _on_RotateNews_timeout():
|
||||
rng.randomize()
|
||||
randomize()
|
||||
all_news.shuffle()
|
||||
json_files.shuffle()
|
||||
_randomize_news(json_files)
|
||||
|
||||
func _on_TaxBtn_pressed():
|
||||
tax_window.show()
|
||||
|
@ -20,3 +174,6 @@ func _on_AdvsiorBtn_pressed():
|
|||
|
||||
func _on_ToolsBtn_pressed():
|
||||
tools_window.show()
|
||||
|
||||
func _on_NewsBtn_pressed():
|
||||
ticker_window.show()
|
||||
|
|
Loading…
Add table
Reference in a new issue