Description:
Adding events.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r421:d4905f4fdfdb -

@@ -4,8 +4,11
4 4
5 5 VAR GovernorOpinion = 0
6 6
7 LIST assistantTraits = shy, esoteric, sweary
7 8
8 //This is needed to make both including and for jumpting to dialog sections work:
9
10
11 //This is needed to make both including and for jumping to dialog sections work:
9 12 === placeholder ===
10 13
11 14 -> END
@@ -76,7 +79,6
76 79 === BadNewsReact ===
77 80
78 81
79
80 82 + [Damn.] {inc(playerSwears)}
81 83 ->->
82 84 + [Fuck.] {inc(playerSwears)}
@@ -85,6 +87,8
85 87 ->->
86 88 + [*Sigh.* Fine.]
87 89 ->->
90 + [Who cares?]
91 ->->
88 92
89 93 === AssistantAcknowlege ===
90 94 + [Thanks.]
@@ -97,7 +101,7
97 101 -> Appreciate
98 102
99 103 = Appreciate
100 \#assistantName\#: Oh, you're welcome.
104 \#assistantName\#: {assistantTraits ? shy:...|{~No problem.|Oh, you're welcome.|My pleasure.}}
101 105 ->->
102 106
103 107 === MassVandalism ===
@@ -110,7 +114,7
110 114
111 115 -> BadNewsReact ->
112 116
113 \#assistantName\#: Yeah, it's awful.
117 \#assistantName\#: Yeah, it's {assistantTraits ? sweary:fucking|} awful.
114 118
115 119 I'll see who's around and get to cleaning.
116 120
@@ -3,6 +3,8
3 3
4 4 INCLUDE dialog.ink
5 5
6 ~ assistantTraits = (shy, sweary)
7
6 8
7 9 -> MassVandalism
8 10
@@ -52,11 +52,11
52 52
53 53 var campaignEntity = CreateEntity();
54 54
55 AddComponent(campaignEntity, new TreeDeltaComponent{deltaTrees = new Fact<int>(4)});
55 AddComponent(campaignEntity, new TreeDeltaComponent{deltaTrees = new Fact<int>(40)});
56 56
57 57 // AddComponent(campaignEntity, new AreaComponent{squares=final_squares});
58 58 }
59 if (this.Random.Next(0, 10) == 3)
59 if (this.Random.Next(0, 100) == 3)
60 60 {
61 61 Logging.Debug("Mass vandalism 😿");
62 62
@@ -128,40 +128,44
128 128 {
129 129 var delta = GetComponent<TreeDeltaComponent>(entity);
130 130
131 if (delta.deltaTrees.Value < 0)
132 {
133 var squares = HasComponent<AreaComponent>(entity) ? GetComponent<AreaComponent>(entity).squares : this.all_squares;
134 var removed = 0;
135 var tree_squares = squares.Where((square) => simulation.map.cells[(int)square.X][(int)square.Y].hasTree);
136 var to_remove = -delta.deltaTrees.Value;
131 var squares = HasComponent<AreaComponent>(entity) ? GetComponent<AreaComponent>(entity).squares : this.all_squares;
132 var removed = 0;
133 var added = 0;
134 var tree_squares = squares.Where((square) => simulation.map.cells[(int)square.X][(int)square.Y].hasTree);
135 var to_remove = Math.Abs(delta.deltaTrees.Value);
137 136
138 //calculate the probability in order to get the expected number of removed trees
139 var expected = to_remove;
140 var trials = tree_squares.Count();
141 double probability = ((double)expected / (double)trials) / 12;
137 //calculate the probability in order to get the expected number of removed trees
138 var expected = to_remove;
139 var trials = tree_squares.Count();
140 double probability = ((double)expected / (double)trials) / 12;
142 141
143 foreach (var square in tree_squares)
142 foreach (var square in tree_squares)
143 {
144 var cell = simulation.map.cells[(int)square.X][(int)square.Y];
145 if (cell.hasTree
146 && random_generator.NextDouble() < probability)
144 147 {
145 var cell = simulation.map.cells[(int)square.X][(int)square.Y];
146 if (cell.hasTree
147 && random_generator.NextDouble() < probability)
148 if (delta.deltaTrees.Value < 0)
148 149 {
149 150 cell.removeTree();
150 151 removed++;
151 152 }
152 if (removed >= to_remove)
153 else if (delta.deltaTrees.Value > 0)
153 154 {
154 // break;
155 cell.addTree(this.simulation.DateTime);
156 added++;
155 157 }
156 158 }
157 Logging.Info(String.Format("Destroyed {0} trees, expected {1}, P(destroy)= {2}", removed, (expected / 12), probability));
159 if (removed >= to_remove)
160 {
161 // break;
162 }
158 163 }
159 else
160 {
161 }
164 Logging.Info(String.Format("Destroyed {0} trees, expected {1}, P(plant)= {2}", removed, (expected / 12.0), probability));
165 Logging.Info(String.Format("Planted {0} trees, expected {1}, P(destroy)= {2}", added, (expected / 12.0), probability));
162 166 }
167 }
163 168
164 }
165 169 }
166 170 this.ticksToSend = 0;
167 171
You need to be logged in to leave comments. Login now