forked from Crumplecorn/ARK-Breeding-Calculator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbreeding.html
239 lines (238 loc) · 12.1 KB
/
breeding.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
<div class="wrapperbox">
<div class="box">
<form>
<h3>ARK Breeding Calculator</h3>
<h3>(Updated for ASA - Forked from Crumplecorn)</h3>
<p class="subheading">Hover over labels for tooltips <br> Updated to v56.7
</p>
<div class="tableheader slide" ng-class="{'dimmed': !tablevisibility['Creature']}" ng-click="showhidetable('Creature')">Creature Details</div>
<div class="tableslide" ng-show="tablevisibility['Creature']">
<table>
<tr>
<td style="width: 50%" class="label tooltip">Creature: <span class="tooltiptext">Creature type</span>
</td>
<td>
<select ng-show="displayconfig.showoldselects" ng-options="name as name for (name, details) in creatures" ng-model="creature.name" ng-change="switchcreature()"></select>
<input ng-hide="displayconfig.showoldselects" class="autocomplete" autocomplete data-source="creatures" ng-change="searchcreature()" data-default="creature.name" ng-model="creature.searchname">
</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Weight: <span class="tooltiptext">Weight stat of creature</span>
</td>
<td>
<input ng-model="creature.finalweight" ng-change="selectweight()" type="number">
</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Food Type: <span class="tooltiptext">Type of food used in all food stats below</span>
</td>
<td>
<select ng-options="food for food in foodlists[creatures[creature.name].type]" ng-model="foodunit" ng-change="selectweight()"></select>
</td>
</tr>
<tr>
<td style="width: 50%" class="label">Hatch Multiplier: </td>
<td>
<input ng-model="settings.hatchspeed" ng-change="selectsettings()" type="number" min="0">
</td>
</tr>
<tr>
<td style="width: 50%" class="label">Mature Multiplier: </td>
<td>
<input ng-model="settings.maturationspeed" ng-change="selectsettings()" type="number" min="0">
</td>
</tr>
<tr>
<td style="width: 50%" class="label">Consume Multiplier: </td>
<td>
<input ng-model="settings.consumptionspeed" ng-change="selectsettings()" type="number" min="0">
</td>
</tr>
</table>
</div>
<div class="tableheader slide" ng-class="{'dimmed': !tablevisibility['Maturation']}" ng-click="showhidetable('Maturation')">Maturation</div>
<div class="tableslide" ng-show="tablevisibility['Maturation']">
<table>
<tr>
<td style="width: 50%" class="label tooltip">{{creature.birthlabel}}: <span class="tooltiptext">Time taken for {{creature.birthlabel}}</span>
</td>
<td>{{creature.birthtime | secondsToDateTime}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Maturation: <span class="tooltiptext">Maturation progress of creature you want stats for</span>
</td>
<td>
<input ng-model="creature.maturationprogress" ng-change="selectmaturation()" percentage type="number" step="0.1" min="0" max="100">%
</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Elapsed Time: <span class="tooltiptext">Time elapsed since birth</span>
</td>
<td>{{creature.maturationtimecomplete | secondsToDateTime}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Time to Juvenile: <span class="tooltiptext">Time until creature hits juvenile</span>
</td>
<td>{{creature.babytimeremaining | secondsToDateTime}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Time to Adult: <span class="tooltiptext">Time until creature hits adult</span>
</td>
<td>{{creature.maturationtimeremaining | secondsToDateTime}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Food to Juvenile (E): <span class="tooltiptext">{{foodunit}} the creature will actually eat (i.e. no spoilage) between now and reaching juvenile</span>
</td>
<td>{{creature.tojuvfooditems | number:0}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Food to Adult (E): <span class="tooltiptext">{{foodunit}} the creature will actually eat (i.e. no spoilage) between now and reaching adult</span>
</td>
<td>{{creature.toadultfooditems | number:0}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Food Rate (E): <span class="tooltiptext">Food point the creature will currently eat every {{settings.foodrate_time_units}}</span>
</td>
<td>{{creature.nextminfood}} pt / <select ng-options="unit as unit for (unit, multi) in foodrate_time_units" ng-model="settings.foodrate_time_units" ng-change="totalfoodcalc()"></select>
</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Food per period (E): <span class="tooltiptext">{{foodunit}} the creature will actually eat (i.e. no spoilage) during the next {{settings.foodrate_time_units}}</span>
</td>
<td>{{creature.nextfoodpertimeunit}} per {{settings.foodrate_time_units}}</td>
</tr>
</table>
</div>
<div class="tableheader slide" ng-class="{'dimmed': !tablevisibility['Baby']}" ng-click="showhidetable('Baby')">Baby Phase</div>
<div class="tableslide" ng-show="tablevisibility['Baby']">
<table>
<tr>
<td style="width: 50%" class="label tooltip">Current Buffer: <span class="tooltiptext">How long the baby will last with a full inventory of {{foodunit}}</span>
</td>
<td>{{creature.currentbabybuffer | secondsToDateTime}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Food to Fill: <span class="tooltiptext">The amount of {{foodunit}} the baby's inventory can currently hold</span>
</td>
<td>{{creature.foodtofill | number:0}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Hand Feed For: <span class="tooltiptext">How long from now until the baby can survive to juvenile on a full inventory, and the maturation at which this occurs</span>
</td>
<td>{{creature.lasthandfeed | secondsToDateTime}} ({{creature.lasthandfeedmaturation | percentage}}%)</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Food to Finish: <span class="tooltiptext">Amount of food required in the baby's inventory to reach juvenile</span>
</td>
<td>{{creature.foodtofinishbaby}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Desired Buffer: <span class="tooltiptext">How long you would like between feedings</span>
</td>
<td>
<input ng-model="creature.desiredbabybuffer" ng-change="desiredbuffercalc()" type="number" min="1"> Minutes
</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Time Until Buffer: <span class="tooltiptext">How long until the baby's inventory is big enough to provide your desired buffer, and the maturation at which this occurs</span>
</td>
<td>{{creature.timeuntildesiredbabybuffer | secondsToDateTime}} ({{creature.timeuntildesiredbabybuffermaturation | percentage}}%)</td>
</tr>
</table>
</div>
<div class="tableheader slide" ng-class="{'dimmed': !tablevisibility['Food']}" ng-click="showhidetable('Food')">Food Per Day</div>
<div class="tableslide" ng-show="tablevisibility['Food']">
<table>
<tr>
<td style="width: 50%" class="label tooltip">Loss Factor: <span class="tooltiptext">Percentage of food you assume will be lost to spoilage</span>
</td>
<td>
<input ng-model="settings.lossfactor" ng-change="totalfoodcalc()" type="number">
</td>
</tr>
<tr ng-repeat="(day,food) in creature.fooditemsforday">
<td style="width: 50%" class="label tooltip">Day {{day}} Food <span class="tooltiptext">{{foodunit}} required on day {{day}} of maturation</span>
</td>
<td>{{food | number:0}}</td>
</tr>
</table>
</div>
<div class="tableheader slide" ng-class="{'dimmed': !tablevisibility['Trough']}" ng-click="showhidetable('Trough')">Trough Calculator - Food</div>
<div class="tableslide" ng-show="tablevisibility['Trough']">
<table>
<tr>
<td style="width: 50%" class="label tooltip">Trough Type: <span class="tooltiptext">Sets the spoil rate of the food based on the container you will use, Tek=100x, Normal=4x, Clicker=1x</span>
</td>
<td>
<select ng-options="type as type for (type, multi) in troughtypes" ng-model="settings.troughtype" ng-change="troughcalc()"></select>
</td>
</tr>
<tr ng-repeat="(food, stacks) in troughstacks">
<td style="width: 50%" class="label tooltip">{{food}}
<span class="tooltiptext">Stacks of {{foods[food].stack}} {{food}} in troughs</span>
</td>
<td>
<input ng-model="troughstacks[food]" ng-change="troughcalc()" type="number"> Stacks
</td>
</tr>
<tr ng-repeat="(type, time) in troughdata.times">
<td style="width: 50%" class="label tooltip">{{type}}: <span class="tooltiptext">How long {{type}}s will have food in the current configuration</span>
</td>
<td>{{time | secondsToDateTime}}</td>
</tr>
<tr>
<td style="width: 50%" class="label tooltip">Loss <span class="tooltiptext">Amount of food points to spoilage, cooking meat is automatic 50% loss</span>
</td>
<td>{{(troughdata.spoiledpoints+troughdata.wastedpoints)/troughdata.totalpoints*100}}%</td>
</tr>
</table>
</div>
<div class="tableheader slide" ng-class="{'dimmed': !tablevisibility['TroughCreatures']}" ng-click="showhidetable('TroughCreatures')">Trough Calculator - Creatures</div>
<div class="tableslide" ng-show="tablevisibility['TroughCreatures']">
<table>
<thead>
<td>Creature</td>
<td>Maturation</td>
<td>Quantity</td>
<td>Remove</td>
</thead>
<tr>
<td>
<input type="button" ng-click="troughaddcreature()" value="Add Creature">
</td>
</tr>
<tr ng-repeat="(index, troughcreature) in creaturelist">
<td>
<select ng-options="name as name for (name, details) in creatures" ng-model="troughcreature.name" ng-change="troughupdatefoodtypes();troughcalc()"></select>
</td>
<td>
<input ng-model="troughcreature.maturation" ng-change="troughcalc()" percentage type="number">
</td>
<td>
<input ng-model="troughcreature.quantity" ng-change="troughcalc()" type="number">
</td>
<td>
<input type="button" ng-click="troughremovecreature(index)" value="Remove">
</td>
</tr>
</table>
</div>
</form>
</div>
<!-- New Box for Changes/Additions -->
<div class="box changes-box">
<h3>Changelog / Additions</h3>
<ul class="changes-list" id="changelog-list">
<li>Fixed an issue with site cookie generation.</li>
<li>
Updated creature list.<br />
<ul>
<li ng-repeat="creature in creatureChanges">
{{creature.name}} has been {{creature.status}}.
</li>
</ul>
</li>
<!-- The list will be dynamically populated with ASA dinos -->
</ul>
</div>
</div>