Description:
Warn user if they create a large nature preserve. Adds undo functionilty, too.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r681:5ef32ef1dc53 -

@@ -0,0 +1,10
1 using Microsoft.Xna.Framework;
2
3 using Encompass;
4
5 namespace isometricparkfna.Messages {
6
7 public struct DebugAlterTreesMessage : IMessage {
8 public int DeltaTrees;
9 }
10 }
@@ -0,0 +1,7
1 using Encompass;
2
3 namespace isometricparkfna.Messages
4 {
5
6 public struct UndoPreserveMessage : IMessage { }
7 }
This diff has been collapsed as it changes many lines, (590 lines changed) Show them Hide them
@@ -2,57 +2,8
2 2 "version": 3,
3 3 "targets": {
4 4 ".NETFramework,Version=v4.5": {
5 "Microsoft.NETFramework.ReferenceAssemblies/1.0.2": {
6 "type": "package",
7 "dependencies": {
8 "Microsoft.NETFramework.ReferenceAssemblies.net45": "1.0.2"
9 }
10 },
11 "Microsoft.NETFramework.ReferenceAssemblies.net45/1.0.2": {
12 "type": "package",
13 "build": {
14 "build/Microsoft.NETFramework.ReferenceAssemblies.net45.targets": {}
15 }
16 },
17 5 "FNA/1.0.0": {
18 6 "type": "project",
19 "framework": ".NETFramework,Version=v4.0",
20 "compile": {
21 "bin/placeholder/FNA.dll": {}
22 },
23 "runtime": {
24 "bin/placeholder/FNA.dll": {}
25 }
26 }
27 },
28 ".NETStandard,Version=v2.0": {
29 "Microsoft.NETCore.Platforms/1.1.0": {
30 "type": "package",
31 "compile": {
32 "lib/netstandard1.0/_._": {}
33 },
34 "runtime": {
35 "lib/netstandard1.0/_._": {}
36 }
37 },
38 "NETStandard.Library/2.0.3": {
39 "type": "package",
40 "dependencies": {
41 "Microsoft.NETCore.Platforms": "1.1.0"
42 },
43 "compile": {
44 "lib/netstandard1.0/_._": {}
45 },
46 "runtime": {
47 "lib/netstandard1.0/_._": {}
48 },
49 "build": {
50 "build/netstandard2.0/NETStandard.Library.targets": {}
51 }
52 },
53 "FNA/1.0.0": {
54 "type": "project",
55 "framework": ".NETStandard,Version=v2.0",
56 7 "compile": {
57 8 "bin/placeholder/FNA.dll": {}
58 9 },
@@ -63,493 +14,15
63 14 }
64 15 },
65 16 "libraries": {
66 "Microsoft.NETCore.Platforms/1.1.0": {
67 "sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
68 "type": "package",
69 "path": "microsoft.netcore.platforms/1.1.0",
70 "files": [
71 ".nupkg.metadata",
72 ".signature.p7s",
73 "ThirdPartyNotices.txt",
74 "dotnet_library_license.txt",
75 "lib/netstandard1.0/_._",
76 "microsoft.netcore.platforms.1.1.0.nupkg.sha512",
77 "microsoft.netcore.platforms.nuspec",
78 "runtime.json"
79 ]
80 },
81 "Microsoft.NETFramework.ReferenceAssemblies/1.0.2": {
82 "sha512": "5/cSEVld+px/CuRrbohO/djfg6++eR6zGpy88MgqloXvkj//WXWpFZyu/OpkXPN0u5m+dN/EVwLNYFUxD4h2+A==",
83 "type": "package",
84 "path": "microsoft.netframework.referenceassemblies/1.0.2",
85 "files": [
86 ".nupkg.metadata",
87 ".signature.p7s",
88 "microsoft.netframework.referenceassemblies.1.0.2.nupkg.sha512",
89 "microsoft.netframework.referenceassemblies.nuspec"
90 ]
91 },
92 "Microsoft.NETFramework.ReferenceAssemblies.net45/1.0.2": {
93 "sha512": "Nm14pRmqB+4u2JEMdtngnbDcJidTmswMxOJ992TpTwiwcUTERxLlHwwSh0HiUoRjS0TO0sozsiB0h6FHjCUdEA==",
94 "type": "package",
95 "path": "microsoft.netframework.referenceassemblies.net45/1.0.2",
96 "files": [
97 ".nupkg.metadata",
98 ".signature.p7s",
99 "build/.NETFramework/v4.5/Accessibility.dll",
100 "build/.NETFramework/v4.5/Accessibility.xml",
101 "build/.NETFramework/v4.5/CustomMarshalers.dll",
102 "build/.NETFramework/v4.5/CustomMarshalers.xml",
103 "build/.NETFramework/v4.5/Facades/System.Collections.Concurrent.dll",
104 "build/.NETFramework/v4.5/Facades/System.Collections.dll",
105 "build/.NETFramework/v4.5/Facades/System.ComponentModel.Annotations.dll",
106 "build/.NETFramework/v4.5/Facades/System.ComponentModel.EventBasedAsync.dll",
107 "build/.NETFramework/v4.5/Facades/System.ComponentModel.dll",
108 "build/.NETFramework/v4.5/Facades/System.Diagnostics.Contracts.dll",
109 "build/.NETFramework/v4.5/Facades/System.Diagnostics.Debug.dll",
110 "build/.NETFramework/v4.5/Facades/System.Diagnostics.Tools.dll",
111 "build/.NETFramework/v4.5/Facades/System.Diagnostics.Tracing.dll",
112 "build/.NETFramework/v4.5/Facades/System.Dynamic.Runtime.dll",
113 "build/.NETFramework/v4.5/Facades/System.Globalization.dll",
114 "build/.NETFramework/v4.5/Facades/System.IO.dll",
115 "build/.NETFramework/v4.5/Facades/System.Linq.Expressions.dll",
116 "build/.NETFramework/v4.5/Facades/System.Linq.Parallel.dll",
117 "build/.NETFramework/v4.5/Facades/System.Linq.Queryable.dll",
118 "build/.NETFramework/v4.5/Facades/System.Linq.dll",
119 "build/.NETFramework/v4.5/Facades/System.Net.NetworkInformation.dll",
120 "build/.NETFramework/v4.5/Facades/System.Net.Primitives.dll",
121 "build/.NETFramework/v4.5/Facades/System.Net.Requests.dll",
122 "build/.NETFramework/v4.5/Facades/System.ObjectModel.dll",
123 "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.ILGeneration.dll",
124 "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.Lightweight.dll",
125 "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.dll",
126 "build/.NETFramework/v4.5/Facades/System.Reflection.Extensions.dll",
127 "build/.NETFramework/v4.5/Facades/System.Reflection.Primitives.dll",
128 "build/.NETFramework/v4.5/Facades/System.Reflection.dll",
129 "build/.NETFramework/v4.5/Facades/System.Resources.ResourceManager.dll",
130 "build/.NETFramework/v4.5/Facades/System.Runtime.Extensions.dll",
131 "build/.NETFramework/v4.5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll",
132 "build/.NETFramework/v4.5/Facades/System.Runtime.InteropServices.dll",
133 "build/.NETFramework/v4.5/Facades/System.Runtime.Numerics.dll",
134 "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Json.dll",
135 "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Primitives.dll",
136 "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Xml.dll",
137 "build/.NETFramework/v4.5/Facades/System.Runtime.dll",
138 "build/.NETFramework/v4.5/Facades/System.Security.Principal.dll",
139 "build/.NETFramework/v4.5/Facades/System.ServiceModel.Duplex.dll",
140 "build/.NETFramework/v4.5/Facades/System.ServiceModel.Http.dll",
141 "build/.NETFramework/v4.5/Facades/System.ServiceModel.NetTcp.dll",
142 "build/.NETFramework/v4.5/Facades/System.ServiceModel.Primitives.dll",
143 "build/.NETFramework/v4.5/Facades/System.ServiceModel.Security.dll",
144 "build/.NETFramework/v4.5/Facades/System.Text.Encoding.Extensions.dll",
145 "build/.NETFramework/v4.5/Facades/System.Text.Encoding.dll",
146 "build/.NETFramework/v4.5/Facades/System.Text.RegularExpressions.dll",
147 "build/.NETFramework/v4.5/Facades/System.Threading.Tasks.Parallel.dll",
148 "build/.NETFramework/v4.5/Facades/System.Threading.Tasks.dll",
149 "build/.NETFramework/v4.5/Facades/System.Threading.dll",
150 "build/.NETFramework/v4.5/Facades/System.Xml.ReaderWriter.dll",
151 "build/.NETFramework/v4.5/Facades/System.Xml.XDocument.dll",
152 "build/.NETFramework/v4.5/Facades/System.Xml.XmlSerializer.dll",
153 "build/.NETFramework/v4.5/ISymWrapper.dll",
154 "build/.NETFramework/v4.5/ISymWrapper.xml",
155 "build/.NETFramework/v4.5/Microsoft.Activities.Build.dll",
156 "build/.NETFramework/v4.5/Microsoft.Activities.Build.xml",
157 "build/.NETFramework/v4.5/Microsoft.Build.Conversion.v4.0.dll",
158 "build/.NETFramework/v4.5/Microsoft.Build.Conversion.v4.0.xml",
159 "build/.NETFramework/v4.5/Microsoft.Build.Engine.dll",
160 "build/.NETFramework/v4.5/Microsoft.Build.Engine.xml",
161 "build/.NETFramework/v4.5/Microsoft.Build.Framework.dll",
162 "build/.NETFramework/v4.5/Microsoft.Build.Framework.xml",
163 "build/.NETFramework/v4.5/Microsoft.Build.Tasks.v4.0.dll",
164 "build/.NETFramework/v4.5/Microsoft.Build.Tasks.v4.0.xml",
165 "build/.NETFramework/v4.5/Microsoft.Build.Utilities.v4.0.dll",
166 "build/.NETFramework/v4.5/Microsoft.Build.Utilities.v4.0.xml",
167 "build/.NETFramework/v4.5/Microsoft.Build.dll",
168 "build/.NETFramework/v4.5/Microsoft.Build.xml",
169 "build/.NETFramework/v4.5/Microsoft.CSharp.dll",
170 "build/.NETFramework/v4.5/Microsoft.CSharp.xml",
171 "build/.NETFramework/v4.5/Microsoft.JScript.dll",
172 "build/.NETFramework/v4.5/Microsoft.JScript.xml",
173 "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.Data.dll",
174 "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.Data.xml",
175 "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.dll",
176 "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.xml",
177 "build/.NETFramework/v4.5/Microsoft.VisualBasic.dll",
178 "build/.NETFramework/v4.5/Microsoft.VisualBasic.xml",
179 "build/.NETFramework/v4.5/Microsoft.VisualC.STLCLR.dll",
180 "build/.NETFramework/v4.5/Microsoft.VisualC.STLCLR.xml",
181 "build/.NETFramework/v4.5/Microsoft.VisualC.dll",
182 "build/.NETFramework/v4.5/Microsoft.VisualC.xml",
183 "build/.NETFramework/v4.5/PermissionSets/FullTrust.xml",
184 "build/.NETFramework/v4.5/PermissionSets/Internet.xml",
185 "build/.NETFramework/v4.5/PermissionSets/LocalIntranet.xml",
186 "build/.NETFramework/v4.5/PresentationBuildTasks.dll",
187 "build/.NETFramework/v4.5/PresentationBuildTasks.xml",
188 "build/.NETFramework/v4.5/PresentationCore.dll",
189 "build/.NETFramework/v4.5/PresentationCore.xml",
190 "build/.NETFramework/v4.5/PresentationFramework.Aero.dll",
191 "build/.NETFramework/v4.5/PresentationFramework.Aero.xml",
192 "build/.NETFramework/v4.5/PresentationFramework.Aero2.dll",
193 "build/.NETFramework/v4.5/PresentationFramework.AeroLite.dll",
194 "build/.NETFramework/v4.5/PresentationFramework.Classic.dll",
195 "build/.NETFramework/v4.5/PresentationFramework.Classic.xml",
196 "build/.NETFramework/v4.5/PresentationFramework.Luna.dll",
197 "build/.NETFramework/v4.5/PresentationFramework.Luna.xml",
198 "build/.NETFramework/v4.5/PresentationFramework.Royale.dll",
199 "build/.NETFramework/v4.5/PresentationFramework.Royale.xml",
200 "build/.NETFramework/v4.5/PresentationFramework.dll",
201 "build/.NETFramework/v4.5/PresentationFramework.xml",
202 "build/.NETFramework/v4.5/ReachFramework.dll",
203 "build/.NETFramework/v4.5/ReachFramework.xml",
204 "build/.NETFramework/v4.5/RedistList/FrameworkList.xml",
205 "build/.NETFramework/v4.5/System.Activities.Core.Presentation.dll",
206 "build/.NETFramework/v4.5/System.Activities.Core.Presentation.xml",
207 "build/.NETFramework/v4.5/System.Activities.DurableInstancing.dll",
208 "build/.NETFramework/v4.5/System.Activities.DurableInstancing.xml",
209 "build/.NETFramework/v4.5/System.Activities.Presentation.dll",
210 "build/.NETFramework/v4.5/System.Activities.Presentation.xml",
211 "build/.NETFramework/v4.5/System.Activities.dll",
212 "build/.NETFramework/v4.5/System.Activities.xml",
213 "build/.NETFramework/v4.5/System.AddIn.Contract.dll",
214 "build/.NETFramework/v4.5/System.AddIn.Contract.xml",
215 "build/.NETFramework/v4.5/System.AddIn.dll",
216 "build/.NETFramework/v4.5/System.AddIn.xml",
217 "build/.NETFramework/v4.5/System.ComponentModel.Composition.Registration.dll",
218 "build/.NETFramework/v4.5/System.ComponentModel.Composition.dll",
219 "build/.NETFramework/v4.5/System.ComponentModel.Composition.xml",
220 "build/.NETFramework/v4.5/System.ComponentModel.DataAnnotations.dll",
221 "build/.NETFramework/v4.5/System.ComponentModel.DataAnnotations.xml",
222 "build/.NETFramework/v4.5/System.Configuration.Install.dll",
223 "build/.NETFramework/v4.5/System.Configuration.Install.xml",
224 "build/.NETFramework/v4.5/System.Configuration.dll",
225 "build/.NETFramework/v4.5/System.Configuration.xml",
226 "build/.NETFramework/v4.5/System.Core.dll",
227 "build/.NETFramework/v4.5/System.Core.xml",
228 "build/.NETFramework/v4.5/System.Data.DataSetExtensions.dll",
229 "build/.NETFramework/v4.5/System.Data.DataSetExtensions.xml",
230 "build/.NETFramework/v4.5/System.Data.Entity.Design.dll",
231 "build/.NETFramework/v4.5/System.Data.Entity.Design.xml",
232 "build/.NETFramework/v4.5/System.Data.Entity.dll",
233 "build/.NETFramework/v4.5/System.Data.Entity.xml",
234 "build/.NETFramework/v4.5/System.Data.Linq.dll",
235 "build/.NETFramework/v4.5/System.Data.Linq.xml",
236 "build/.NETFramework/v4.5/System.Data.OracleClient.dll",
237 "build/.NETFramework/v4.5/System.Data.OracleClient.xml",
238 "build/.NETFramework/v4.5/System.Data.Services.Client.dll",
239 "build/.NETFramework/v4.5/System.Data.Services.Client.xml",
240 "build/.NETFramework/v4.5/System.Data.Services.Design.dll",
241 "build/.NETFramework/v4.5/System.Data.Services.Design.xml",
242 "build/.NETFramework/v4.5/System.Data.Services.dll",
243 "build/.NETFramework/v4.5/System.Data.Services.xml",
244 "build/.NETFramework/v4.5/System.Data.SqlXml.dll",
245 "build/.NETFramework/v4.5/System.Data.SqlXml.xml",
246 "build/.NETFramework/v4.5/System.Data.dll",
247 "build/.NETFramework/v4.5/System.Data.xml",
248 "build/.NETFramework/v4.5/System.Deployment.dll",
249 "build/.NETFramework/v4.5/System.Deployment.xml",
250 "build/.NETFramework/v4.5/System.Design.dll",
251 "build/.NETFramework/v4.5/System.Design.xml",
252 "build/.NETFramework/v4.5/System.Device.dll",
253 "build/.NETFramework/v4.5/System.Device.xml",
254 "build/.NETFramework/v4.5/System.DirectoryServices.AccountManagement.dll",
255 "build/.NETFramework/v4.5/System.DirectoryServices.AccountManagement.xml",
256 "build/.NETFramework/v4.5/System.DirectoryServices.Protocols.dll",
257 "build/.NETFramework/v4.5/System.DirectoryServices.Protocols.xml",
258 "build/.NETFramework/v4.5/System.DirectoryServices.dll",
259 "build/.NETFramework/v4.5/System.DirectoryServices.xml",
260 "build/.NETFramework/v4.5/System.Drawing.Design.dll",
261 "build/.NETFramework/v4.5/System.Drawing.Design.xml",
262 "build/.NETFramework/v4.5/System.Drawing.dll",
263 "build/.NETFramework/v4.5/System.Drawing.xml",
264 "build/.NETFramework/v4.5/System.EnterpriseServices.Thunk.dll",
265 "build/.NETFramework/v4.5/System.EnterpriseServices.Wrapper.dll",
266 "build/.NETFramework/v4.5/System.EnterpriseServices.dll",
267 "build/.NETFramework/v4.5/System.EnterpriseServices.xml",
268 "build/.NETFramework/v4.5/System.IO.Compression.FileSystem.dll",
269 "build/.NETFramework/v4.5/System.IO.Compression.FileSystem.xml",
270 "build/.NETFramework/v4.5/System.IO.Compression.dll",
271 "build/.NETFramework/v4.5/System.IO.Compression.xml",
272 "build/.NETFramework/v4.5/System.IO.Log.dll",
273 "build/.NETFramework/v4.5/System.IO.Log.xml",
274 "build/.NETFramework/v4.5/System.IdentityModel.Selectors.dll",
275 "build/.NETFramework/v4.5/System.IdentityModel.Selectors.xml",
276 "build/.NETFramework/v4.5/System.IdentityModel.Services.dll",
277 "build/.NETFramework/v4.5/System.IdentityModel.Services.xml",
278 "build/.NETFramework/v4.5/System.IdentityModel.dll",
279 "build/.NETFramework/v4.5/System.IdentityModel.xml",
280 "build/.NETFramework/v4.5/System.Management.Instrumentation.dll",
281 "build/.NETFramework/v4.5/System.Management.Instrumentation.xml",
282 "build/.NETFramework/v4.5/System.Management.dll",
283 "build/.NETFramework/v4.5/System.Management.xml",
284 "build/.NETFramework/v4.5/System.Messaging.dll",
285 "build/.NETFramework/v4.5/System.Messaging.xml",
286 "build/.NETFramework/v4.5/System.Net.Http.WebRequest.dll",
287 "build/.NETFramework/v4.5/System.Net.Http.WebRequest.xml",
288 "build/.NETFramework/v4.5/System.Net.Http.dll",
289 "build/.NETFramework/v4.5/System.Net.Http.xml",
290 "build/.NETFramework/v4.5/System.Net.dll",
291 "build/.NETFramework/v4.5/System.Net.xml",
292 "build/.NETFramework/v4.5/System.Numerics.dll",
293 "build/.NETFramework/v4.5/System.Numerics.xml",
294 "build/.NETFramework/v4.5/System.Printing.dll",
295 "build/.NETFramework/v4.5/System.Printing.xml",
296 "build/.NETFramework/v4.5/System.Reflection.Context.dll",
297 "build/.NETFramework/v4.5/System.Reflection.Context.xml",
298 "build/.NETFramework/v4.5/System.Runtime.Caching.dll",
299 "build/.NETFramework/v4.5/System.Runtime.Caching.xml",
300 "build/.NETFramework/v4.5/System.Runtime.DurableInstancing.dll",
301 "build/.NETFramework/v4.5/System.Runtime.DurableInstancing.xml",
302 "build/.NETFramework/v4.5/System.Runtime.Remoting.dll",
303 "build/.NETFramework/v4.5/System.Runtime.Remoting.xml",
304 "build/.NETFramework/v4.5/System.Runtime.Serialization.Formatters.Soap.dll",
305 "build/.NETFramework/v4.5/System.Runtime.Serialization.Formatters.Soap.xml",
306 "build/.NETFramework/v4.5/System.Runtime.Serialization.dll",
307 "build/.NETFramework/v4.5/System.Runtime.Serialization.xml",
308 "build/.NETFramework/v4.5/System.Security.dll",
309 "build/.NETFramework/v4.5/System.Security.xml",
310 "build/.NETFramework/v4.5/System.ServiceModel.Activation.dll",
311 "build/.NETFramework/v4.5/System.ServiceModel.Activation.xml",
312 "build/.NETFramework/v4.5/System.ServiceModel.Activities.dll",
313 "build/.NETFramework/v4.5/System.ServiceModel.Activities.xml",
314 "build/.NETFramework/v4.5/System.ServiceModel.Channels.dll",
315 "build/.NETFramework/v4.5/System.ServiceModel.Channels.xml",
316 "build/.NETFramework/v4.5/System.ServiceModel.Discovery.dll",
317 "build/.NETFramework/v4.5/System.ServiceModel.Discovery.xml",
318 "build/.NETFramework/v4.5/System.ServiceModel.Routing.dll",
319 "build/.NETFramework/v4.5/System.ServiceModel.Routing.xml",
320 "build/.NETFramework/v4.5/System.ServiceModel.Web.dll",
321 "build/.NETFramework/v4.5/System.ServiceModel.Web.xml",
322 "build/.NETFramework/v4.5/System.ServiceModel.dll",
323 "build/.NETFramework/v4.5/System.ServiceModel.xml",
324 "build/.NETFramework/v4.5/System.ServiceProcess.dll",
325 "build/.NETFramework/v4.5/System.ServiceProcess.xml",
326 "build/.NETFramework/v4.5/System.Speech.dll",
327 "build/.NETFramework/v4.5/System.Speech.xml",
328 "build/.NETFramework/v4.5/System.Threading.Tasks.Dataflow.xml",
329 "build/.NETFramework/v4.5/System.Transactions.dll",
330 "build/.NETFramework/v4.5/System.Transactions.xml",
331 "build/.NETFramework/v4.5/System.Web.Abstractions.dll",
332 "build/.NETFramework/v4.5/System.Web.ApplicationServices.dll",
333 "build/.NETFramework/v4.5/System.Web.ApplicationServices.xml",
334 "build/.NETFramework/v4.5/System.Web.DataVisualization.Design.dll",
335 "build/.NETFramework/v4.5/System.Web.DataVisualization.dll",
336 "build/.NETFramework/v4.5/System.Web.DataVisualization.xml",
337 "build/.NETFramework/v4.5/System.Web.DynamicData.Design.dll",
338 "build/.NETFramework/v4.5/System.Web.DynamicData.Design.xml",
339 "build/.NETFramework/v4.5/System.Web.DynamicData.dll",
340 "build/.NETFramework/v4.5/System.Web.DynamicData.xml",
341 "build/.NETFramework/v4.5/System.Web.Entity.Design.dll",
342 "build/.NETFramework/v4.5/System.Web.Entity.Design.xml",
343 "build/.NETFramework/v4.5/System.Web.Entity.dll",
344 "build/.NETFramework/v4.5/System.Web.Entity.xml",
345 "build/.NETFramework/v4.5/System.Web.Extensions.Design.dll",
346 "build/.NETFramework/v4.5/System.Web.Extensions.Design.xml",
347 "build/.NETFramework/v4.5/System.Web.Extensions.dll",
348 "build/.NETFramework/v4.5/System.Web.Extensions.xml",
349 "build/.NETFramework/v4.5/System.Web.Mobile.dll",
350 "build/.NETFramework/v4.5/System.Web.Mobile.xml",
351 "build/.NETFramework/v4.5/System.Web.RegularExpressions.dll",
352 "build/.NETFramework/v4.5/System.Web.RegularExpressions.xml",
353 "build/.NETFramework/v4.5/System.Web.Routing.dll",
354 "build/.NETFramework/v4.5/System.Web.Services.dll",
355 "build/.NETFramework/v4.5/System.Web.Services.xml",
356 "build/.NETFramework/v4.5/System.Web.dll",
357 "build/.NETFramework/v4.5/System.Web.xml",
358 "build/.NETFramework/v4.5/System.Windows.Controls.Ribbon.dll",
359 "build/.NETFramework/v4.5/System.Windows.Controls.Ribbon.xml",
360 "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.Design.dll",
361 "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.dll",
362 "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.xml",
363 "build/.NETFramework/v4.5/System.Windows.Forms.dll",
364 "build/.NETFramework/v4.5/System.Windows.Forms.xml",
365 "build/.NETFramework/v4.5/System.Windows.Input.Manipulations.dll",
366 "build/.NETFramework/v4.5/System.Windows.Input.Manipulations.xml",
367 "build/.NETFramework/v4.5/System.Windows.Presentation.dll",
368 "build/.NETFramework/v4.5/System.Windows.Presentation.xml",
369 "build/.NETFramework/v4.5/System.Windows.dll",
370 "build/.NETFramework/v4.5/System.Workflow.Activities.dll",
371 "build/.NETFramework/v4.5/System.Workflow.Activities.xml",
372 "build/.NETFramework/v4.5/System.Workflow.ComponentModel.dll",
373 "build/.NETFramework/v4.5/System.Workflow.ComponentModel.xml",
374 "build/.NETFramework/v4.5/System.Workflow.Runtime.dll",
375 "build/.NETFramework/v4.5/System.Workflow.Runtime.xml",
376 "build/.NETFramework/v4.5/System.WorkflowServices.dll",
377 "build/.NETFramework/v4.5/System.WorkflowServices.xml",
378 "build/.NETFramework/v4.5/System.Xaml.dll",
379 "build/.NETFramework/v4.5/System.Xaml.xml",
380 "build/.NETFramework/v4.5/System.Xml.Linq.dll",
381 "build/.NETFramework/v4.5/System.Xml.Linq.xml",
382 "build/.NETFramework/v4.5/System.Xml.Serialization.dll",
383 "build/.NETFramework/v4.5/System.Xml.dll",
384 "build/.NETFramework/v4.5/System.Xml.xml",
385 "build/.NETFramework/v4.5/System.dll",
386 "build/.NETFramework/v4.5/System.xml",
387 "build/.NETFramework/v4.5/UIAutomationClient.dll",
388 "build/.NETFramework/v4.5/UIAutomationClient.xml",
389 "build/.NETFramework/v4.5/UIAutomationClientsideProviders.dll",
390 "build/.NETFramework/v4.5/UIAutomationClientsideProviders.xml",
391 "build/.NETFramework/v4.5/UIAutomationProvider.dll",
392 "build/.NETFramework/v4.5/UIAutomationProvider.xml",
393 "build/.NETFramework/v4.5/UIAutomationTypes.dll",
394 "build/.NETFramework/v4.5/UIAutomationTypes.xml",
395 "build/.NETFramework/v4.5/WindowsBase.dll",
396 "build/.NETFramework/v4.5/WindowsBase.xml",
397 "build/.NETFramework/v4.5/WindowsFormsIntegration.dll",
398 "build/.NETFramework/v4.5/WindowsFormsIntegration.xml",
399 "build/.NETFramework/v4.5/XamlBuildTask.dll",
400 "build/.NETFramework/v4.5/XamlBuildTask.xml",
401 "build/.NETFramework/v4.5/mscorlib.dll",
402 "build/.NETFramework/v4.5/mscorlib.xml",
403 "build/.NETFramework/v4.5/sysglobl.dll",
404 "build/.NETFramework/v4.5/sysglobl.xml",
405 "build/Microsoft.NETFramework.ReferenceAssemblies.net45.targets",
406 "microsoft.netframework.referenceassemblies.net45.1.0.2.nupkg.sha512",
407 "microsoft.netframework.referenceassemblies.net45.nuspec"
408 ]
409 },
410 "NETStandard.Library/2.0.3": {
411 "sha512": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
412 "type": "package",
413 "path": "netstandard.library/2.0.3",
414 "files": [
415 ".nupkg.metadata",
416 ".signature.p7s",
417 "LICENSE.TXT",
418 "THIRD-PARTY-NOTICES.TXT",
419 "build/netstandard2.0/NETStandard.Library.targets",
420 "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll",
421 "build/netstandard2.0/ref/System.AppContext.dll",
422 "build/netstandard2.0/ref/System.Collections.Concurrent.dll",
423 "build/netstandard2.0/ref/System.Collections.NonGeneric.dll",
424 "build/netstandard2.0/ref/System.Collections.Specialized.dll",
425 "build/netstandard2.0/ref/System.Collections.dll",
426 "build/netstandard2.0/ref/System.ComponentModel.Composition.dll",
427 "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll",
428 "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll",
429 "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll",
430 "build/netstandard2.0/ref/System.ComponentModel.dll",
431 "build/netstandard2.0/ref/System.Console.dll",
432 "build/netstandard2.0/ref/System.Core.dll",
433 "build/netstandard2.0/ref/System.Data.Common.dll",
434 "build/netstandard2.0/ref/System.Data.dll",
435 "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll",
436 "build/netstandard2.0/ref/System.Diagnostics.Debug.dll",
437 "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll",
438 "build/netstandard2.0/ref/System.Diagnostics.Process.dll",
439 "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll",
440 "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll",
441 "build/netstandard2.0/ref/System.Diagnostics.Tools.dll",
442 "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll",
443 "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll",
444 "build/netstandard2.0/ref/System.Drawing.Primitives.dll",
445 "build/netstandard2.0/ref/System.Drawing.dll",
446 "build/netstandard2.0/ref/System.Dynamic.Runtime.dll",
447 "build/netstandard2.0/ref/System.Globalization.Calendars.dll",
448 "build/netstandard2.0/ref/System.Globalization.Extensions.dll",
449 "build/netstandard2.0/ref/System.Globalization.dll",
450 "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll",
451 "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll",
452 "build/netstandard2.0/ref/System.IO.Compression.dll",
453 "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll",
454 "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll",
455 "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll",
456 "build/netstandard2.0/ref/System.IO.FileSystem.dll",
457 "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll",
458 "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll",
459 "build/netstandard2.0/ref/System.IO.Pipes.dll",
460 "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll",
461 "build/netstandard2.0/ref/System.IO.dll",
462 "build/netstandard2.0/ref/System.Linq.Expressions.dll",
463 "build/netstandard2.0/ref/System.Linq.Parallel.dll",
464 "build/netstandard2.0/ref/System.Linq.Queryable.dll",
465 "build/netstandard2.0/ref/System.Linq.dll",
466 "build/netstandard2.0/ref/System.Net.Http.dll",
467 "build/netstandard2.0/ref/System.Net.NameResolution.dll",
468 "build/netstandard2.0/ref/System.Net.NetworkInformation.dll",
469 "build/netstandard2.0/ref/System.Net.Ping.dll",
470 "build/netstandard2.0/ref/System.Net.Primitives.dll",
471 "build/netstandard2.0/ref/System.Net.Requests.dll",
472 "build/netstandard2.0/ref/System.Net.Security.dll",
473 "build/netstandard2.0/ref/System.Net.Sockets.dll",
474 "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll",
475 "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll",
476 "build/netstandard2.0/ref/System.Net.WebSockets.dll",
477 "build/netstandard2.0/ref/System.Net.dll",
478 "build/netstandard2.0/ref/System.Numerics.dll",
479 "build/netstandard2.0/ref/System.ObjectModel.dll",
480 "build/netstandard2.0/ref/System.Reflection.Extensions.dll",
481 "build/netstandard2.0/ref/System.Reflection.Primitives.dll",
482 "build/netstandard2.0/ref/System.Reflection.dll",
483 "build/netstandard2.0/ref/System.Resources.Reader.dll",
484 "build/netstandard2.0/ref/System.Resources.ResourceManager.dll",
485 "build/netstandard2.0/ref/System.Resources.Writer.dll",
486 "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll",
487 "build/netstandard2.0/ref/System.Runtime.Extensions.dll",
488 "build/netstandard2.0/ref/System.Runtime.Handles.dll",
489 "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll",
490 "build/netstandard2.0/ref/System.Runtime.InteropServices.dll",
491 "build/netstandard2.0/ref/System.Runtime.Numerics.dll",
492 "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll",
493 "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll",
494 "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll",
495 "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll",
496 "build/netstandard2.0/ref/System.Runtime.Serialization.dll",
497 "build/netstandard2.0/ref/System.Runtime.dll",
498 "build/netstandard2.0/ref/System.Security.Claims.dll",
499 "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll",
500 "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll",
501 "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll",
502 "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll",
503 "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll",
504 "build/netstandard2.0/ref/System.Security.Principal.dll",
505 "build/netstandard2.0/ref/System.Security.SecureString.dll",
506 "build/netstandard2.0/ref/System.ServiceModel.Web.dll",
507 "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll",
508 "build/netstandard2.0/ref/System.Text.Encoding.dll",
509 "build/netstandard2.0/ref/System.Text.RegularExpressions.dll",
510 "build/netstandard2.0/ref/System.Threading.Overlapped.dll",
511 "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll",
512 "build/netstandard2.0/ref/System.Threading.Tasks.dll",
513 "build/netstandard2.0/ref/System.Threading.Thread.dll",
514 "build/netstandard2.0/ref/System.Threading.ThreadPool.dll",
515 "build/netstandard2.0/ref/System.Threading.Timer.dll",
516 "build/netstandard2.0/ref/System.Threading.dll",
517 "build/netstandard2.0/ref/System.Transactions.dll",
518 "build/netstandard2.0/ref/System.ValueTuple.dll",
519 "build/netstandard2.0/ref/System.Web.dll",
520 "build/netstandard2.0/ref/System.Windows.dll",
521 "build/netstandard2.0/ref/System.Xml.Linq.dll",
522 "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll",
523 "build/netstandard2.0/ref/System.Xml.Serialization.dll",
524 "build/netstandard2.0/ref/System.Xml.XDocument.dll",
525 "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll",
526 "build/netstandard2.0/ref/System.Xml.XPath.dll",
527 "build/netstandard2.0/ref/System.Xml.XmlDocument.dll",
528 "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll",
529 "build/netstandard2.0/ref/System.Xml.dll",
530 "build/netstandard2.0/ref/System.dll",
531 "build/netstandard2.0/ref/mscorlib.dll",
532 "build/netstandard2.0/ref/netstandard.dll",
533 "build/netstandard2.0/ref/netstandard.xml",
534 "lib/netstandard1.0/_._",
535 "netstandard.library.2.0.3.nupkg.sha512",
536 "netstandard.library.nuspec"
537 ]
538 },
539 17 "FNA/1.0.0": {
540 18 "type": "project",
541 "path": "../../FNA/FNA.Core.csproj",
542 "msbuildProject": "../../FNA/FNA.Core.csproj"
19 "path": "../../FNA/FNA.csproj",
20 "msbuildProject": "../../FNA/FNA.csproj"
543 21 }
544 22 },
545 23 "projectFileDependencyGroups": {
546 24 ".NETFramework,Version=v4.5": [
547 "FNA >= 1.0.0",
548 "Microsoft.NETFramework.ReferenceAssemblies >= 1.0.2"
549 ],
550 ".NETStandard,Version=v2.0": [
551 "FNA >= 1.0.0",
552 "NETStandard.Library >= 2.0.3"
25 "FNA >= 1.0.0"
553 26 ]
554 27 },
555 28 "packageFolders": {
@@ -558,37 +31,26
558 31 "project": {
559 32 "version": "1.0.0",
560 33 "restore": {
561 "projectUniqueName": "/home/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj",
34 "projectUniqueName": "/home/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj",
562 35 "projectName": "SpriteFontPlus",
563 "projectPath": "/home/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj",
36 "projectPath": "/home/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj",
564 37 "packagesPath": "/home/alys/.nuget/packages/",
565 38 "outputPath": "/home/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/",
566 39 "projectStyle": "PackageReference",
567 "crossTargeting": true,
568 40 "configFilePaths": [
569 "/home/alys/.nuget/NuGet/NuGet.Config"
41 "/home/alys/.config/NuGet/NuGet.Config"
570 42 ],
571 43 "originalTargetFrameworks": [
572 "net45",
573 "netstandard2.0"
44 "net45"
574 45 ],
575 46 "sources": {
576 47 "https://api.nuget.org/v3/index.json": {}
577 48 },
578 49 "frameworks": {
579 50 "net45": {
580 "targetAlias": "net45",
581 51 "projectReferences": {
582 "/home/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj": {
583 "projectPath": "/home/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj"
584 }
585 }
586 },
587 "netstandard2.0": {
588 "targetAlias": "netstandard2.0",
589 "projectReferences": {
590 "/home/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj": {
591 "projectPath": "/home/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj"
52 "/home/alys/repos/isometric-park-fna/FNA/FNA.csproj": {
53 "projectPath": "/home/alys/repos/isometric-park-fna/FNA/FNA.csproj"
592 54 }
593 55 }
594 56 }
@@ -601,39 +63,7
601 63 },
602 64 "frameworks": {
603 65 "net45": {
604 "targetAlias": "net45",
605 "dependencies": {
606 "Microsoft.NETFramework.ReferenceAssemblies": {
607 "suppressParent": "All",
608 "target": "Package",
609 "version": "[1.0.2, )",
610 "autoReferenced": true
611 }
612 },
613 "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/6.0.403/RuntimeIdentifierGraph.json"
614 },
615 "netstandard2.0": {
616 "targetAlias": "netstandard2.0",
617 "dependencies": {
618 "NETStandard.Library": {
619 "suppressParent": "All",
620 "target": "Package",
621 "version": "[2.0.3, )",
622 "autoReferenced": true
623 }
624 },
625 "imports": [
626 "net461",
627 "net462",
628 "net47",
629 "net471",
630 "net472",
631 "net48",
632 "net481"
633 ],
634 "assetTargetFallback": true,
635 "warn": true,
636 "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/6.0.403/RuntimeIdentifierGraph.json"
66 "runtimeIdentifierGraphPath": "/usr/lib/mono/msbuild/Current/bin/RuntimeIdentifierGraph.json"
637 67 }
638 68 }
639 69 }
@@ -1,13 +1,8
1 1 {
2 2 "version": 2,
3 "dgSpecHash": "LQ9xdN3ITVT6cpXZmPALpr/8NCMQcSv8J/6U+zaH75HrvHwzIW8ICaLALl9j83UlVW22b95E7BgXUuP7F/fNSg==",
3 "dgSpecHash": "tOnJ1OKHA9fVe0r0rF8SXkY/g6Dsae+u1nunMHJtIiHm2UrxMmZk6x6accdLrAYlwIjYkj7fcv/RHNfOBL/3Kg==",
4 4 "success": true,
5 "projectFilePath": "/home/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj",
6 "expectedPackageFiles": [
7 "/home/alys/.nuget/packages/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg.sha512",
8 "/home/alys/.nuget/packages/microsoft.netframework.referenceassemblies/1.0.2/microsoft.netframework.referenceassemblies.1.0.2.nupkg.sha512",
9 "/home/alys/.nuget/packages/microsoft.netframework.referenceassemblies.net45/1.0.2/microsoft.netframework.referenceassemblies.net45.1.0.2.nupkg.sha512",
10 "/home/alys/.nuget/packages/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg.sha512"
11 ],
5 "projectFilePath": "/home/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj",
6 "expectedPackageFiles": [],
12 7 "logs": []
13 8 } No newline at end of file
@@ -11,7 +11,7
11 11
12 12 EXTERNAL endGame()
13 13
14
14 EXTERNAL undoPreserve()
15 15
16 16
17 17 //This is needed to make both including and for jumping to dialog sections work:
@@ -383,4 +383,19
383 383
384 384 === HeadofParkSideRant ===
385 385 Head of Parks: Are you fucking with me? Really fucking with me? Listen, you motherfucking piss-eared shit-for-brains backroad bureaucrat, I didn't come hear from the fucking capitol building holding up the whole natural resources administrative state like MiracleGrow Atlas to get scoffed at by a tinpot administrator who think 100 acres and a desk makes you some sort of important person. Aplogize!
386 + [Sorry] ->-> No newline at end of file
386 + [Sorry] ->->
387
388
389 === LargePreserve ===
390 \#assistantName\#: I noticed you reserved quite a bit of space for a nature preserve. Remember that these are unavailable for leisure use or development.
391 + [Isn't it great!]
392 \#assistantName\#: Ummm. Yeah! It is.
393 -> END
394 + [It's fine.]
395 -> END
396 + [Thanks for checking in.]
397 -> END
398 + [I know what I'm doing! Never question me again!] {inc(playerRude)}
399 -> END
400 + [Maybe I've overreached. (Undoes Preserve)] { undoPreserve() }
401 -> END
@@ -1,1 +1,1
1 {"inkVersion":20,"root":[[["done",{"#n":"g-0"}],null],"done",{"placeholder":["end",null],"alter":[{"temp=":"k"},{"temp=":"x"},"ev",{"VAR?":"x"},{"VAR?":"k"},"+","/ev",{"temp=":"x","re":true},null],"inc":[{"temp=":"x"},"ev",{"VAR?":"x"},1,"+","/ev",{"temp=":"x","re":true},null],"dec":[{"temp=":"x"},"ev",{"VAR?":"x"},1,"-","/ev",{"temp=":"x","re":true},null],"endGame":["ev","void","/ev","~ret",null],"Once":[["^Once upon a time...","\n",["ev",{"^->":"Once.0.2.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","/ev",{"*":".^.^.c-0","flg":2},{"s":["^There were two choices.",{"->":"$r","var":true},null]}],["ev",{"^->":"Once.0.3.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","/ev",{"*":".^.^.c-1","flg":2},{"s":["^There were four lines of content.",{"->":"$r","var":true},null]}],{"c-0":["ev",{"^->":"Once.0.c-0.$r2"},"/ev",{"temp=":"$r"},{"->":".^.^.2.s"},[{"#n":"$r2"}],"\n",{"->":".^.^.g-0"},null],"c-1":["ev",{"^->":"Once.0.c-1.$r2"},"/ev",{"temp=":"$r"},{"->":".^.^.3.s"},[{"#n":"$r2"}],"\n",{"->":".^.^.g-0"},null],"g-0":["^They lived happily ever after.","\n","end",null]}],null],"IntroGovernor":[["^Governor: Welcome to your new park, director!","\n","ev","str","^Okay","/str","/ev",{"*":".^.c-0","flg":20},{"c-0":["\n","^Governor: Make sure that you keep visitors happy and the budget in the black! You're currently getting an annual grant out of my budget—it'd sure be nice if you park were self-sufficient so we could drop that expense!","\n",["ev","str","^And I need to keep the forest healthy, too, right?","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Sounds good!","/str","/ev",{"*":".^.c-1","flg":20},{"c-0":["^ ","\n","ev",{"VAR?":"GovernorOpinion"},1,"-","/ev",{"VAR=":"GovernorOpinion","re":true},"^Governor: Ummm, yeah","\n",["ev","str","^...","/str","/ev",{"*":".^.c-0","flg":20},{"c-0":["\n","end",{"#f":5}]}],{"#f":5}],"c-1":["\n","ev",{"VAR?":"GovernorOpinion"},1,"+","/ev",{"VAR=":"GovernorOpinion","re":true},"^Governor: I'll check in soon.","\n","end",{"#f":5}]}],{"#f":5}]}],null],"IntroAssistant":[["^#assistantName#: Hello. I'm #assistantName#.","\n","ev","str","^Nice to meet you.","/str","/ev",{"*":".^.c-0","flg":20},{"c-0":["\n","^#assistantName#: You can use the mouse or arrow keys to move around, and the plus and minus keys to zoom in and out. B opens the budget and F lets you adjust Forest Policy.","\n",["ev","str","^Got it, thanks.","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^How are you?","/str","/ev",{"*":".^.c-1","flg":20},{"c-0":["\n","^#assistantName#: Bye","\n","end",{"#f":5}],"c-1":["\n","^#assistantName#: #howdoing#","\n","end",{"#f":5}]}],{"#f":5}]}],null],"BadNewsReact":[["ev","str","^Damn.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Fuck.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Shoot.","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^*Sigh.* Fine.","/str","/ev",{"*":".^.c-3","flg":4},"ev","str","^Who cares?","/str","/ev",{"*":".^.c-4","flg":4},{"c-0":["^ ","ev",{"^var":"playerSwears","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","void","/ev","->->",null],"c-1":["^ ","ev",{"^var":"playerSwears","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","void","/ev","->->",null],"c-2":["^ ","ev",{"^var":"playerSwears","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","void","/ev","->->",null],"c-3":["\n","ev","void","/ev","->->",null],"c-4":["\n","ev","void","/ev","->->",null]}],null],"AssistantAcknowlege":[["ev","str","^Thanks.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Mmmm hmm.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Get to it.","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^I really appreciate it, #assistantName#","/str","/ev",{"*":".^.c-3","flg":4},{"c-0":["\n","ev","void","/ev","->->",null],"c-1":["\n","ev","void","/ev","->->",null],"c-2":["^ ","ev",{"^var":"playerRude","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","void","/ev","->->",null],"c-3":["\n",{"->":".^.^.^.Appreciate"},null]}],{"Appreciate":["^#assistantName#: ","ev",{"VAR?":"assistantTraits"},{"VAR?":"shy"},"?","/ev",[{"->":".^.b","c":true},{"b":["^...",{"->":".^.^.^.8"},null]}],[{"->":".^.b"},{"b":[["ev","visit",3,"seq","/ev","ev","du",0,"==","/ev",{"->":".^.s0","c":true},"ev","du",1,"==","/ev",{"->":".^.s1","c":true},"ev","du",2,"==","/ev",{"->":".^.s2","c":true},"nop",{"s0":["pop","^No problem.",{"->":".^.^.23"},null],"s1":["pop","^Oh, you're welcome.",{"->":".^.^.23"},null],"s2":["pop","^My pleasure.",{"->":".^.^.23"},null],"#f":5}],{"->":".^.^.^.8"},null]}],"nop","\n","ev","void","/ev","->->",null]}],"MassVandalism":[["^#assistantName#: Bad news, director.","\n","ev","str","^Oh?","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^#assistantName#: A number of trees have been seriously damaged overnight.","\n",["ev","str","^How bad are they?","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^#assistantName#: I'm no botanist, but they're not great. The gouges are pretty deep.","\n",{"->t->":"BadNewsReact"},"^#assistantName#: Yeah, it's ","ev",{"VAR?":"assistantTraits"},{"VAR?":"sweary"},"?","/ev",[{"->":".^.b","c":true},{"b":["^fucking",{"->":".^.^.^.11"},null]}],"nop","^ awful.","\n","^I'll see who's around and get to cleaning.","\n",{"->t->":"AssistantAcknowlege"},"end",null]}],null]}],null],"LowFunds":[["^#assistantName#: Director, our funds are getting dangerously low!","\n","ev","str","^Don't worry about it. I have a plan.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^I know.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Stop bothering me with things I already know!","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^Have any ideas?","/str","/ev",{"*":".^.c-3","flg":4},"ev","str","^What?","/str","/ev",{"*":".^.c-4","flg":4},{"c-0":["\n","end",null],"c-1":["\n","end",null],"c-2":["^ ","ev",{"^var":"playerRude","ci":-1},{"f()":"inc"},"out","/ev","\n","end",null],"c-3":["\n","^#assistantName#: Consider accepting some contracts. Even if they're not the best terms, they'll keep us from running out of money.","\n","end",null],"c-4":["\n","^#assistantName#: Yes, we have less than $25,000. We're running the risk of a default.","\n",{"->t->":"BadNewsReact"},"^#assistantName#: I know! consider accepting some contracts. Even if they're not the best terms, they'll keep us from running out of money.","\n","end",null]}],null],"VeryLowFunds":[["^Governor: Director, you have almost no reserve funds. This isn't acceptable.","\n","ev",{"CNT?":".^.^"},1,">","/ev",[{"->":".^.b","c":true},{"b":["^ I can't believe I'm having this conversation with you again. ",{"->":".^.^.^.8"},null]}],"nop","\n","ev","str","^I know. I'm working on it.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Have any ideas?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^What happens if I run out of money?","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^What?","/str","/ev",{"*":".^.c-3","flg":4},{"c-0":["\n","^Governor: For your sake, I hope so.","\n","end",null],"c-1":["\n","^Governor: Accept some contracts. Now's not the time to worry about sustainability, or whatever you natural resources types care about. Just take the deal. They'll keep you from running out of money.","\n","end",null],"c-2":["\n",{"->":".^.^.^.WhatHappens"},null],"c-3":["\n",{"->":".^.^.^.Surprise"},null]}],{"Surprise":[["^Governor: Is this a *surprise* to you?","\n","ev","str","^Uh, um, no.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Honestly, yes.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^What happens if I run out of money?","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["\n","^Governor: Well, I hope you have a plan...","\n","^For your sake.","\n","end",null],"c-1":["\n","^Governor: Well! I appreciate your directness. But I hope you have a plan...","\n","^For your sake.","\n","end",null],"c-2":["\n",{"->":".^.^.^.^.WhatHappens"},null]}],null],"WhatHappens":[["^Governor: If you run out of money entirely...","\n","^The park will be fine, in the long run. The state department of natural resources will use its funds to bail the park out. Someone from my office will come in and trim the budget.","\n","^You, however, will be asked to resign.","\n","ev","str","^And if I don't resign?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^I understand.","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n","^Governor: I'll fire you.","\n",["ev","str","^Oh.","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","end",null]}],null],"c-1":["\n","end",null]}],null],"#f":1}],"EndLowFunds":[["^Governor: I've warned you.","\n","ev","str","^I understand. I resign. (Game Over)","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ","ev",{"x()":"endGame"},"out","/ev","\n","end",null]}],null],"MeetFriendOfThePark":[["^#friendOfThePark#: Hi, I'm the president of the Friends of the Park. Nice to meet you!","\n","ev","str","^Nice to meet you!","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Ahh.","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^I've been expecting you.","/str","/ev",{"*":".^.c-2","flg":20},{"c-0":["\n","ev","void","/ev","->->",{"#f":5}],"c-1":["\n","ev","void","/ev","->->",{"#f":5}],"c-2":["\n","^#friendOfThePark#: Huh!","\n","ev","void","/ev","->->",{"#f":5}]}],{"#f":1}],"Fundraiser":[["ev",{"CNT?":"MeetFriendOfThePark"},"!","_","/ev",[{"->":".^.b","c":true},{"b":["\n",{"->t->":"MeetFriendOfThePark"},{"->":".^.^.^.6"},null]}],"nop","\n","^#friendOfThePark#: I'm happy to announce the completion of our fundraiser! You won't guess how much we made!","\n","ev","str","^Please don't make me guess.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Okay...","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n","^#friendOfThePark#: It's more fun if you guess.","\n",["ev","str","^ Fine.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Well, I don't enjoy it.","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n",{"->":"Fundraiser.Guess"},null],"c-1":["\n",{"->":"Fundraiser.Amount"},null]}],null],"c-1":["\n",{"->":".^.^.^.Guess"},null]}],{"Guess":[["^#friendOfThePark#:","\n","ev","str","^$1,000?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^$5,000?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^$10,000?","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^$25,000?","/str","/ev",{"*":".^.c-3","flg":4},"ev","str","^$1 million?","/str","/ev",{"*":".^.c-4","flg":4},"ev","str","^$1 billion?","/str","/ev",{"*":".^.c-5","flg":4},"ev","str","^I give up.","/str","/ev",{"*":".^.c-6","flg":4},{"c-0":["\n","^#friendOfThePark#: Higher","\n",{"->":".^.^.^"},null],"c-1":["\n","^#friendOfThePark#: Higher","\n",{"->":".^.^.^"},null],"c-2":["\n","^#friendOfThePark#: You're right!","\n",{"->":".^.^.^.^.Amount"},null],"c-3":["\n","^#friendOfThePark#: Higher","\n",{"->":".^.^.^"},null],"c-4":["\n","^#friendOfThePark#: No, haha. I wish!","\n",{"->":".^.^.^"},null],"c-5":["\n","^#friendOfThePark#: Not quite that high, heh","\n",{"->":".^.^.^"},null],"c-6":["\n",{"->":".^.^.^.^.Amount"},null]}],null],"Amount":["^#friendOfThePark#: Anyway. we made $10,000!","\n","end",null]}],"GovernmentGrant":[["^Governor: Good news, director. You've been awarded a federal grant.","\n","ev","str","^Awesome","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Sounds good","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n",{"->":".^.^.^.Money"},null],"c-1":["\n",{"->":".^.^.^.Money"},null]}],{"Money":["^Governor: Well, it won't last forever. Don't get dependent on it.","\n","end",null]}],"MeetHeadofPark":["^Head of Parks: I'm the fucking head of parks, that's who I am, you absolute motherfucker. ","ev","void","/ev","->->","\n",{"#f":1}],"PoorTreeHealth":[["^Head of Parks: What the hell do you think you're doing, you absolute piece of shit?!?","\n","ev","str","^Sorry, who are you?","/str",{"CNT?":"MeetHeadofPark"},"!","_","/ev",{"*":".^.c-0","flg":21},"ev","str","^Uhh, what the fuck?","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["^ ",{"->t->":"MeetHeadofPark"},"\n",{"->":".^.^.^.Screwed"},{"#f":5}],"c-1":["\n",{"->":".^.^.^.Screwed"},null]}],{"Screwed":[["^Head of Parks: We're all fucking screwed and it's your fault, you colossal shitheel.","\n","ev","str","^...","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^Head of Parks: Look at this park, it has anxiety! You did that you megadick.","\n",["ev","str","^...","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^Head of Parks: Yeah, you'd better stay quiet. I don't want to hear a single word out of your fucking useless knifewound of a mouth.","\n","end",null]}],null]}],null]}],"PreserveProgress":[["^Head of Parks: Hey, you goddam dunderhead. A quarter of this park is now a preserve! ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","str","^Sorry, who are you?","/str",{"CNT?":"MeetHeadofPark"},"!","_","/ev",{"*":".^.c-0","flg":21},"ev","str","^And you're mad?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Right!","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["^ ",{"->":"MeetHeadofPark"},"\n",{"->":".^.^.^.WhatPreserves"},{"#f":5}],"c-1":["\n","^Head of Parks: No, you vainglorious buffoon! I'm pretty goddamn pleased. ",{"->":".^.^.^.WhatPreserves"},"\n",null],"c-2":["\n",{"->":".^.^.^.WhatPreserves"},null]}],{"WhatPreserves":[["^Head of Parks: I goddamn love preserves. The peach kind. The strawberry kind. But especially the park kind. The trees are left alone. They fucking flourish! Do you think you could fucking photosynthese with people traipsing all over?","\n","ev","str","^No?","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^Head of Parks: You're goddamn right! You couldn't! Do you know how many preserves have been added since our cuntforsaken governor took office in 2014???","\n",["ev","str","^Uh one?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^None?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^HellifIknow","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^One dozen","/str","/ev",{"*":".^.c-3","flg":4},"ev","str","^One Hundred","/str","/ev",{"*":".^.c-4","flg":4},"ev","str","^One billion","/str","/ev",{"*":".^.c-5","flg":4},{"c-0":["\n","^Head of Parks: Not even one! ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-1":["\n","^Head of Parks: Bingo, my motherfucker ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-2":["^ ","ev",{"^var":"playerSwears","ci":-1},{"f()":"inc"},"out","/ev","\n","^Head of Parks: Least your honest. ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-3":["\n","^Head of Parks: What? Not even close. ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-4":["\n","^Head of Parks: What? Not even close. ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-5":["\n","^Head of Parks: Fuck off. ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"dec"},"out","/ev","^ ",{"->":"HeadofParkSideRant"},"\n","^Anyway, it's not a billion!! ",{"->":".^.^.^.^.^.^.Zero"},"\n",null]}],null]}],null],"Zero":["^Head of Parks: It's zero! Zero new preserves on God's green earth. Or brown earth. I swear to god...","\n","end",null]}],"PreserveHalf":[["^Head of Parks: Hey, you goddam wunderkind. A whole half of this park is now a preserve! ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"inc"},"out","/ev","\n","^In fact, I want to shake your bloody hand!","\n","ev","str","^Sure!","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Umm..okay","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^No thanks","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^No, you have germs","/str","/ev",{"*":".^.c-3","flg":4},{"c-0":["^ ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"inc"},"out","/ev","\n",{"->":".^.^.^.PostShake"},null],"c-1":["\n",{"->":".^.^.^.PostShake"},null],"c-2":["\n",{"->":".^.^.^.PostShake"},null],"c-3":["^ ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"dec"},"out","/ev","\n","^Head of Parks: Bloody hell, I wash! ",{"->":".^.^.^.PostShake"},"\n",null]}],{"PostShake":[["^Head of Parks: Anywyay, you're doing great. If that bloody governor gives you any shit, send him my way. And I think I can scrounge up some money to help you keep the park running.","\n","ev","str","^Thanks","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","end",null]}],null]}],"HeadofParkSideRant":[["^Head of Parks: Are you fucking with me? Really fucking with me? Listen, you motherfucking piss-eared shit-for-brains backroad bureaucrat, I didn't come hear from the fucking capitol building holding up the whole natural resources administrative state like MiracleGrow Atlas to get scoffed at by a tinpot administrator who think 100 acres and a desk makes you some sort of important person. Aplogize!","\n","ev","str","^Sorry","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ","ev","void","/ev","->->","\n",null]}],null],"global decl":["ev",0,{"VAR=":"playerSwears"},0,{"VAR=":"playerRude"},0,{"VAR=":"GovernorOpinion"},0,{"VAR=":"HeadOfParksOpinion"},{"list":{},"origins":["assistantTraits"]},{"VAR=":"assistantTraits"},"/ev","end",null]}],"listDefs":{"assistantTraits":{"shy":1,"esoteric":2,"sweary":3}}} No newline at end of file
1 {"inkVersion":20,"root":[[["done",{"#n":"g-0"}],null],"done",{"placeholder":["end",null],"alter":[{"temp=":"k"},{"temp=":"x"},"ev",{"VAR?":"x"},{"VAR?":"k"},"+","/ev",{"temp=":"x","re":true},null],"inc":[{"temp=":"x"},"ev",{"VAR?":"x"},1,"+","/ev",{"temp=":"x","re":true},null],"dec":[{"temp=":"x"},"ev",{"VAR?":"x"},1,"-","/ev",{"temp=":"x","re":true},null],"endGame":["ev","void","/ev","~ret",null],"Once":[["^Once upon a time...","\n",["ev",{"^->":"Once.0.2.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","/ev",{"*":".^.^.c-0","flg":2},{"s":["^There were two choices.",{"->":"$r","var":true},null]}],["ev",{"^->":"Once.0.3.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","/ev",{"*":".^.^.c-1","flg":2},{"s":["^There were four lines of content.",{"->":"$r","var":true},null]}],{"c-0":["ev",{"^->":"Once.0.c-0.$r2"},"/ev",{"temp=":"$r"},{"->":".^.^.2.s"},[{"#n":"$r2"}],"\n",{"->":".^.^.g-0"},null],"c-1":["ev",{"^->":"Once.0.c-1.$r2"},"/ev",{"temp=":"$r"},{"->":".^.^.3.s"},[{"#n":"$r2"}],"\n",{"->":".^.^.g-0"},null],"g-0":["^They lived happily ever after.","\n","end",null]}],null],"IntroGovernor":[["^Governor: Welcome to your new park, director!","\n","ev","str","^Okay","/str","/ev",{"*":".^.c-0","flg":20},{"c-0":["\n","^Governor: Make sure that you keep visitors happy and the budget in the black! You're currently getting an annual grant out of my budget—it'd sure be nice if you park were self-sufficient so we could drop that expense!","\n",["ev","str","^And I need to keep the forest healthy, too, right?","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Sounds good!","/str","/ev",{"*":".^.c-1","flg":20},{"c-0":["^ ","\n","ev",{"VAR?":"GovernorOpinion"},1,"-","/ev",{"VAR=":"GovernorOpinion","re":true},"^Governor: Ummm, yeah","\n",["ev","str","^...","/str","/ev",{"*":".^.c-0","flg":20},{"c-0":["\n","end",{"#f":5}]}],{"#f":5}],"c-1":["\n","ev",{"VAR?":"GovernorOpinion"},1,"+","/ev",{"VAR=":"GovernorOpinion","re":true},"^Governor: I'll check in soon.","\n","end",{"#f":5}]}],{"#f":5}]}],null],"IntroAssistant":[["^#assistantName#: Hello. I'm #assistantName#.","\n","ev","str","^Nice to meet you.","/str","/ev",{"*":".^.c-0","flg":20},{"c-0":["\n","^#assistantName#: You can use the mouse or arrow keys to move around, and the plus and minus keys to zoom in and out. B opens the budget and F lets you adjust Forest Policy.","\n",["ev","str","^Got it, thanks.","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^How are you?","/str","/ev",{"*":".^.c-1","flg":20},{"c-0":["\n","^#assistantName#: Bye","\n","end",{"#f":5}],"c-1":["\n","^#assistantName#: #howdoing#","\n","end",{"#f":5}]}],{"#f":5}]}],null],"BadNewsReact":[["ev","str","^Damn.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Fuck.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Shoot.","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^*Sigh.* Fine.","/str","/ev",{"*":".^.c-3","flg":4},"ev","str","^Who cares?","/str","/ev",{"*":".^.c-4","flg":4},{"c-0":["^ ","ev",{"^var":"playerSwears","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","void","/ev","->->",null],"c-1":["^ ","ev",{"^var":"playerSwears","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","void","/ev","->->",null],"c-2":["^ ","ev",{"^var":"playerSwears","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","void","/ev","->->",null],"c-3":["\n","ev","void","/ev","->->",null],"c-4":["\n","ev","void","/ev","->->",null]}],null],"AssistantAcknowlege":[["ev","str","^Thanks.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Mmmm hmm.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Get to it.","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^I really appreciate it, #assistantName#","/str","/ev",{"*":".^.c-3","flg":4},{"c-0":["\n","ev","void","/ev","->->",null],"c-1":["\n","ev","void","/ev","->->",null],"c-2":["^ ","ev",{"^var":"playerRude","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","void","/ev","->->",null],"c-3":["\n",{"->":".^.^.^.Appreciate"},null]}],{"Appreciate":["^#assistantName#: ","ev",{"VAR?":"assistantTraits"},{"VAR?":"shy"},"?","/ev",[{"->":".^.b","c":true},{"b":["^...",{"->":".^.^.^.8"},null]}],[{"->":".^.b"},{"b":[["ev","visit",3,"seq","/ev","ev","du",0,"==","/ev",{"->":".^.s0","c":true},"ev","du",1,"==","/ev",{"->":".^.s1","c":true},"ev","du",2,"==","/ev",{"->":".^.s2","c":true},"nop",{"s0":["pop","^No problem.",{"->":".^.^.23"},null],"s1":["pop","^Oh, you're welcome.",{"->":".^.^.23"},null],"s2":["pop","^My pleasure.",{"->":".^.^.23"},null],"#f":5}],{"->":".^.^.^.8"},null]}],"nop","\n","ev","void","/ev","->->",null]}],"MassVandalism":[["^#assistantName#: Bad news, director.","\n","ev","str","^Oh?","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^#assistantName#: A number of trees have been seriously damaged overnight.","\n",["ev","str","^How bad are they?","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^#assistantName#: I'm no botanist, but they're not great. The gouges are pretty deep.","\n",{"->t->":"BadNewsReact"},"^#assistantName#: Yeah, it's ","ev",{"VAR?":"assistantTraits"},{"VAR?":"sweary"},"?","/ev",[{"->":".^.b","c":true},{"b":["^fucking",{"->":".^.^.^.11"},null]}],"nop","^ awful.","\n","^I'll see who's around and get to cleaning.","\n",{"->t->":"AssistantAcknowlege"},"end",null]}],null]}],null],"LowFunds":[["^#assistantName#: Director, our funds are getting dangerously low!","\n","ev","str","^Don't worry about it. I have a plan.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^I know.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Stop bothering me with things I already know!","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^Have any ideas?","/str","/ev",{"*":".^.c-3","flg":4},"ev","str","^What?","/str","/ev",{"*":".^.c-4","flg":4},{"c-0":["\n","end",null],"c-1":["\n","end",null],"c-2":["^ ","ev",{"^var":"playerRude","ci":-1},{"f()":"inc"},"out","/ev","\n","end",null],"c-3":["\n","^#assistantName#: Consider accepting some contracts. Even if they're not the best terms, they'll keep us from running out of money.","\n","end",null],"c-4":["\n","^#assistantName#: Yes, we have less than $25,000. We're running the risk of a default.","\n",{"->t->":"BadNewsReact"},"^#assistantName#: I know! consider accepting some contracts. Even if they're not the best terms, they'll keep us from running out of money.","\n","end",null]}],null],"VeryLowFunds":[["^Governor: Director, you have almost no reserve funds. This isn't acceptable.","\n","ev",{"CNT?":".^.^"},1,">","/ev",[{"->":".^.b","c":true},{"b":["^ I can't believe I'm having this conversation with you again. ",{"->":".^.^.^.8"},null]}],"nop","\n","ev","str","^I know. I'm working on it.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Have any ideas?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^What happens if I run out of money?","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^What?","/str","/ev",{"*":".^.c-3","flg":4},{"c-0":["\n","^Governor: For your sake, I hope so.","\n","end",null],"c-1":["\n","^Governor: Accept some contracts. Now's not the time to worry about sustainability, or whatever you natural resources types care about. Just take the deal. They'll keep you from running out of money.","\n","end",null],"c-2":["\n",{"->":".^.^.^.WhatHappens"},null],"c-3":["\n",{"->":".^.^.^.Surprise"},null]}],{"Surprise":[["^Governor: Is this a *surprise* to you?","\n","ev","str","^Uh, um, no.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Honestly, yes.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^What happens if I run out of money?","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["\n","^Governor: Well, I hope you have a plan...","\n","^For your sake.","\n","end",null],"c-1":["\n","^Governor: Well! I appreciate your directness. But I hope you have a plan...","\n","^For your sake.","\n","end",null],"c-2":["\n",{"->":".^.^.^.^.WhatHappens"},null]}],null],"WhatHappens":[["^Governor: If you run out of money entirely...","\n","^The park will be fine, in the long run. The state department of natural resources will use its funds to bail the park out. Someone from my office will come in and trim the budget.","\n","^You, however, will be asked to resign.","\n","ev","str","^And if I don't resign?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^I understand.","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n","^Governor: I'll fire you.","\n",["ev","str","^Oh.","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","end",null]}],null],"c-1":["\n","end",null]}],null],"#f":1}],"EndLowFunds":[["^Governor: I've warned you.","\n","ev","str","^I understand. I resign. (Game Over)","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ","ev",{"x()":"endGame"},"out","/ev","\n","end",null]}],null],"MeetFriendOfThePark":[["^#friendOfThePark#: Hi, I'm the president of the Friends of the Park. Nice to meet you!","\n","ev","str","^Nice to meet you!","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Ahh.","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^I've been expecting you.","/str","/ev",{"*":".^.c-2","flg":20},{"c-0":["\n","ev","void","/ev","->->",{"#f":5}],"c-1":["\n","ev","void","/ev","->->",{"#f":5}],"c-2":["\n","^#friendOfThePark#: Huh!","\n","ev","void","/ev","->->",{"#f":5}]}],{"#f":1}],"Fundraiser":[["ev",{"CNT?":"MeetFriendOfThePark"},"!","_","/ev",[{"->":".^.b","c":true},{"b":["\n",{"->t->":"MeetFriendOfThePark"},{"->":".^.^.^.6"},null]}],"nop","\n","^#friendOfThePark#: I'm happy to announce the completion of our fundraiser! You won't guess how much we made!","\n","ev","str","^Please don't make me guess.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Okay...","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n","^#friendOfThePark#: It's more fun if you guess.","\n",["ev","str","^ Fine.","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Well, I don't enjoy it.","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n",{"->":"Fundraiser.Guess"},null],"c-1":["\n",{"->":"Fundraiser.Amount"},null]}],null],"c-1":["\n",{"->":".^.^.^.Guess"},null]}],{"Guess":[["^#friendOfThePark#:","\n","ev","str","^$1,000?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^$5,000?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^$10,000?","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^$25,000?","/str","/ev",{"*":".^.c-3","flg":4},"ev","str","^$1 million?","/str","/ev",{"*":".^.c-4","flg":4},"ev","str","^$1 billion?","/str","/ev",{"*":".^.c-5","flg":4},"ev","str","^I give up.","/str","/ev",{"*":".^.c-6","flg":4},{"c-0":["\n","^#friendOfThePark#: Higher","\n",{"->":".^.^.^"},null],"c-1":["\n","^#friendOfThePark#: Higher","\n",{"->":".^.^.^"},null],"c-2":["\n","^#friendOfThePark#: You're right!","\n",{"->":".^.^.^.^.Amount"},null],"c-3":["\n","^#friendOfThePark#: Higher","\n",{"->":".^.^.^"},null],"c-4":["\n","^#friendOfThePark#: No, haha. I wish!","\n",{"->":".^.^.^"},null],"c-5":["\n","^#friendOfThePark#: Not quite that high, heh","\n",{"->":".^.^.^"},null],"c-6":["\n",{"->":".^.^.^.^.Amount"},null]}],null],"Amount":["^#friendOfThePark#: Anyway. we made $10,000!","\n","end",null]}],"GovernmentGrant":[["^Governor: Good news, director. You've been awarded a federal grant.","\n","ev","str","^Awesome","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Sounds good","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n",{"->":".^.^.^.Money"},null],"c-1":["\n",{"->":".^.^.^.Money"},null]}],{"Money":["^Governor: Well, it won't last forever. Don't get dependent on it.","\n","end",null]}],"MeetHeadofPark":["^Head of Parks: I'm the fucking head of parks, that's who I am, you absolute motherfucker. ","ev","void","/ev","->->","\n",{"#f":1}],"PoorTreeHealth":[["^Head of Parks: What the hell do you think you're doing, you absolute piece of shit?!?","\n","ev","str","^Sorry, who are you?","/str",{"CNT?":"MeetHeadofPark"},"!","_","/ev",{"*":".^.c-0","flg":21},"ev","str","^Uhh, what the fuck?","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["^ ",{"->t->":"MeetHeadofPark"},"\n",{"->":".^.^.^.Screwed"},{"#f":5}],"c-1":["\n",{"->":".^.^.^.Screwed"},null]}],{"Screwed":[["^Head of Parks: We're all fucking screwed and it's your fault, you colossal shitheel.","\n","ev","str","^...","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^Head of Parks: Look at this park, it has anxiety! You did that you megadick.","\n",["ev","str","^...","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^Head of Parks: Yeah, you'd better stay quiet. I don't want to hear a single word out of your fucking useless knifewound of a mouth.","\n","end",null]}],null]}],null]}],"PreserveProgress":[["^Head of Parks: Hey, you goddam dunderhead. A quarter of this park is now a preserve! ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"inc"},"out","/ev","\n","ev","str","^Sorry, who are you?","/str",{"CNT?":"MeetHeadofPark"},"!","_","/ev",{"*":".^.c-0","flg":21},"ev","str","^And you're mad?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Right!","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["^ ",{"->":"MeetHeadofPark"},"\n",{"->":".^.^.^.WhatPreserves"},{"#f":5}],"c-1":["\n","^Head of Parks: No, you vainglorious buffoon! I'm pretty goddamn pleased. ",{"->":".^.^.^.WhatPreserves"},"\n",null],"c-2":["\n",{"->":".^.^.^.WhatPreserves"},null]}],{"WhatPreserves":[["^Head of Parks: I goddamn love preserves. The peach kind. The strawberry kind. But especially the park kind. The trees are left alone. They fucking flourish! Do you think you could fucking photosynthese with people traipsing all over?","\n","ev","str","^No?","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","^Head of Parks: You're goddamn right! You couldn't! Do you know how many preserves have been added since our cuntforsaken governor took office in 2014???","\n",["ev","str","^Uh one?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^None?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^HellifIknow","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^One dozen","/str","/ev",{"*":".^.c-3","flg":4},"ev","str","^One Hundred","/str","/ev",{"*":".^.c-4","flg":4},"ev","str","^One billion","/str","/ev",{"*":".^.c-5","flg":4},{"c-0":["\n","^Head of Parks: Not even one! ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-1":["\n","^Head of Parks: Bingo, my motherfucker ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-2":["^ ","ev",{"^var":"playerSwears","ci":-1},{"f()":"inc"},"out","/ev","\n","^Head of Parks: Least your honest. ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-3":["\n","^Head of Parks: What? Not even close. ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-4":["\n","^Head of Parks: What? Not even close. ",{"->":".^.^.^.^.^.^.Zero"},"\n",null],"c-5":["\n","^Head of Parks: Fuck off. ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"dec"},"out","/ev","^ ",{"->":"HeadofParkSideRant"},"\n","^Anyway, it's not a billion!! ",{"->":".^.^.^.^.^.^.Zero"},"\n",null]}],null]}],null],"Zero":["^Head of Parks: It's zero! Zero new preserves on God's green earth. Or brown earth. I swear to god...","\n","end",null]}],"PreserveHalf":[["^Head of Parks: Hey, you goddam wunderkind. A whole half of this park is now a preserve! ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"inc"},"out","/ev","\n","^In fact, I want to shake your bloody hand!","\n","ev","str","^Sure!","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Umm..okay","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^No thanks","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^No, you have germs","/str","/ev",{"*":".^.c-3","flg":4},{"c-0":["^ ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"inc"},"out","/ev","\n",{"->":".^.^.^.PostShake"},null],"c-1":["\n",{"->":".^.^.^.PostShake"},null],"c-2":["\n",{"->":".^.^.^.PostShake"},null],"c-3":["^ ","ev",{"^var":"HeadOfParksOpinion","ci":-1},{"f()":"dec"},"out","/ev","\n","^Head of Parks: Bloody hell, I wash! ",{"->":".^.^.^.PostShake"},"\n",null]}],{"PostShake":[["^Head of Parks: Anywyay, you're doing great. If that bloody governor gives you any shit, send him my way. And I think I can scrounge up some money to help you keep the park running.","\n","ev","str","^Thanks","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["\n","end",null]}],null]}],"HeadofParkSideRant":[["^Head of Parks: Are you fucking with me? Really fucking with me? Listen, you motherfucking piss-eared shit-for-brains backroad bureaucrat, I didn't come hear from the fucking capitol building holding up the whole natural resources administrative state like MiracleGrow Atlas to get scoffed at by a tinpot administrator who think 100 acres and a desk makes you some sort of important person. Aplogize!","\n","ev","str","^Sorry","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ","ev","void","/ev","->->","\n",null]}],null],"LargePreserve":[["^#assistantName#: I noticed you reserved quite a bit of space for a nature preserve. Remember that these are unavailable for leisure use or development.","\n","ev","str","^Isn't it great!","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Thanks for checking in.","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^I know what I'm doing!","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^Maybe I've overreached. (Undoes Preserve)","/str","/ev",{"*":".^.c-3","flg":4},{"c-0":["\n","^#assistantName#: Ummm. Yeah! It is.","\n","end",null],"c-1":["\n","end",null],"c-2":["^ ","ev",{"^var":"playerRude","ci":-1},{"f()":"inc"},"out","/ev","\n","end",null],"c-3":["^ ","ev",{"x()":"undoPreserve"},"out","/ev","\n","end",null]}],null],"global decl":["ev",0,{"VAR=":"playerSwears"},0,{"VAR=":"playerRude"},0,{"VAR=":"GovernorOpinion"},0,{"VAR=":"HeadOfParksOpinion"},{"list":{},"origins":["assistantTraits"]},{"VAR=":"assistantTraits"},"/ev","end",null]}],"listDefs":{"assistantTraits":{"shy":1,"esoteric":2,"sweary":3}}} No newline at end of file
@@ -14,7 +14,8
14 14 namespace isometricparkfna.Engines {
15 15
16 16 [Receives(typeof(SpawnSelection),
17 typeof(AdjustSelection))]
17 typeof(AdjustSelection),
18 typeof(UndoPreserveMessage))]
18 19 [Writes(typeof(AreaComponent),
19 20 typeof(PointComponent),
20 21 typeof(PreserveComponent))]
@@ -28,18 +29,21
28 29 typeof(StructureComponent))]
29 30 [Sends(typeof(ChangeContractStatusMessage),
30 31 typeof(PlaySoundMessage),
31 typeof(SingleExpenseMessage))]
32 typeof(SingleExpenseMessage),
33 typeof(SpawnDialogMessage))]
32 34 public class BuildToolEngine : Engine {
33 35
34 36 private CellMap Map;
37 private Simulation Simulation;
35 38
36 private static Dictionary<Tool, bool> ToolArea = new Dictionary<Tool, bool> {{Tool.Preserve, true},
37 {Tool.Dezone, true},
38 {Tool.Tower, false},
39 private static Dictionary<Tool, bool> ToolArea = new Dictionary<Tool, bool> {{Tool.Preserve, true},
40 {Tool.Dezone, true},
41 {Tool.Tower, false},
39 42 {Tool.Bulldozer, true}};
40 43
41 public BuildToolEngine(CellMap map) {
42 this.Map = map;
44 public BuildToolEngine(Simulation simulation) {
45 this.Map = simulation.map;
46 this.Simulation = simulation;
43 47 }
44 48
45 49 private System.Collections.Generic.IEnumerable<float> step_until(float start, float stop) {
@@ -170,8 +174,13
170 174 Destroy(entity);
171 175 }
172 176 else if(message.Type == AdjustmentType.Complete) {
173 SetComponent(entity, new PreserveComponent {});
177 SetComponent(entity, new PreserveComponent {date = this.Simulation.DateTime});
174 178 // SetComponent(entity, new SelectedComponent {selected = false });
179 var area = GetComponent<AreaComponent>(entity);
180 if (area.squares.Length > 400) {
181 SendMessage<SpawnDialogMessage>(new SpawnDialogMessage {
182 Path = "LargePreserve" });
183 }
175 184 }
176 185 else {
177 186 var area = GetComponent<AreaComponent>(entity);
@@ -319,6 +328,23
319 328 }
320 329 }
321 330 }
331
332 DateTime min = DateTime.MinValue;
333 Entity newestEntity = default;
334
335 foreach (ref readonly var message in ReadMessages<UndoPreserveMessage>()) {
336 foreach (var entity in ReadEntities<PreserveComponent>()) {
337 var preserveComponent = GetComponent<PreserveComponent>(entity);
338 if (min < preserveComponent.date) {
339 min = preserveComponent.date;
340 newestEntity = entity;
341 }
342 Logging.Debug(String.Format("Checking preserve entity for {0}.", min));
343 }
344 }
345 if (min != DateTime.MinValue) {
346 Destroy(newestEntity);
347 }
322 348 }
323 349 }
324 350 }
@@ -1,4 +1,5
1 1
2 using System.Collections.Generic;
2 3 using System.IO;
3 4
4 5 using Microsoft.Xna.Framework.Input;
@@ -23,14 +24,19
23 24 typeof(ContractStatusComponent),
24 25 typeof(OptionsComponent),
25 26 typeof(PreserveComponent))]
27 [Sends(typeof(UndoPreserveMessage))]
26 28 class GameBridgeEngine : Engine
27 29 {
28 30
29 31 public FNAGame game;
30 32
33 public List<UndoPreserveMessage> undoPreserveMessages;
34
31 35 public GameBridgeEngine(FNAGame game)
32 36 {
33 37 this.game = game;
38
39 this.undoPreserveMessages = new List<UndoPreserveMessage>();
34 40 }
35 41
36 42 public override void Update(double dt)
@@ -40,6 +46,13
40 46 float sound_effect_volume = 1.0f; //full volume
41 47 bool sound_effect_muted = false;
42 48
49 foreach (var message in undoPreserveMessages)
50 {
51 SendMessage<UndoPreserveMessage>(message);
52 }
53
54 this.undoPreserveMessages.Clear();
55
43 56 foreach (ref readonly var windowMessage in ReadMessages<ToggleWindowTypeMessage>())
44 57 {
45 58 switch (windowMessage.Window)
@@ -84,13 +97,14
84 97 sound_effect_volume = component.SoundEffectVolume;
85 98 sound_effect_muted = component.SoundEffectMuted;
86 99 }
100
87 101 foreach (ref readonly var fontMessage in ReadMessages<SetFontMessage>())
88 102 {
89 103 game.setFont(fontMessage.fontName, fontMessage.fontSize);
90 104 Options.writeOptions(fontMessage.fontName, fontMessage.fontSize,
91 105 profanity_setting, sound_effect_volume, sound_effect_muted);
106 }
92 107
93 }
94 108
95 109 game.in_zone = false;
96 110 game.in_active_zone = false;
@@ -135,14 +149,12
135 149 {
136 150 game.has_tower = true;
137 151 }
138
139 152 }
140 153
141 154 foreach (ref readonly var message in ReadMessages<QuitGameMessage>())
142 155 {
143 156 this.game.quit = true;
144 157 }
145
146 158 }
147 159 }
148 160 }
@@ -290,6 +290,11
290 290 this.imGuiWindowBridgeEngine.typeMessages.Add(new ToggleWindowTypeMessage {Window = isometricparkfna.Messages.Window.MainMenu});
291 291 });
292 292
293 var gameBridgeEngine = new GameBridgeEngine(this);
294 Story.BindExternalFunction("undoPreserve", () => {
295 gameBridgeEngine.undoPreserveMessages.Add(new UndoPreserveMessage {});
296 });
297
293 298 Logging.Debug("Continuing Maximally: " + this.Story.ContinueMaximally().ToString());
294 299
295 300 WorldBuilder.AddEngine(new InputEngine(Menu.MENU_BAR_HEIGHT, this.camera, gdm,
@@ -299,7 +304,6
299 304
300 305 WorldBuilder.AddEngine(new EventEngine());
301 306
302 var gameBridgeEngine = new GameBridgeEngine(this);
303 307
304 308 WorldBuilder.AddEngine(gameBridgeEngine);
305 309 WorldBuilder.AddEngine(new GameStateEngine());
@@ -316,7 +320,7
316 320 WorldBuilder.AddEngine(new PolicyEngine());
317 321 WorldBuilder.AddEngine(new TraceryBridgeEngine(this.grammar));
318 322 WorldBuilder.AddEngine(new SimulationGameRateBridgeEngine(this.simulation));
319 WorldBuilder.AddEngine(new BuildToolEngine(this.simulation.map));
323 WorldBuilder.AddEngine(new BuildToolEngine(this.simulation));
320 324 WorldBuilder.AddEngine(new SoundEffectEngine());
321 325
322 326 WorldBuilder.AddGeneralRenderer(new AreaRenderer(this.tileBatch, this.monoFont), 1);
You need to be logged in to leave comments. Login now