summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 087d604bad14b769d2c8a8b63c198bab8677644b (plain)
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
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
# Changelog
All notable changes to this project will be documented in this file.

## [Unreleased]

### General
- Timer will now continue to run even if you're on another browser tab or if the game is minimized. This was done
  using a technology called "web workers". I am new to this tech and it's possible that things are imperfect. Please
  let me know if anything seems weird to you.
  - It's possible that the use of web workers now means that your game will continue to run on mobile even if your
    display is off, or even if you're in another app. This may vary from device to device. Again, totally new to this
    technology. Please try it out on your phone and let me know. I am honestly _guessing_ that it's probably too good
    to be true that things will just keep working even with your display off, but it's possible that technology has
    gotten that far. If it doesn't work for you, you might be able to tweak some device/browser settings to get it
    to work. Again, no idea.
- You now receive an informative message when someone buys or sells items to you via one of your bazaar orders.

### Combat
- The following stats can now be negative: resistances, speed, accuracy, power, and evasion
- Combat stances now increase or decrease stats by a flat amount (instead of a percentage). The amount is
  equal to your beastslay level divided by 5, rounded up.
- Equipment break check now occurs immediately once a combatant has been reduced to zero HP or less. Previously
  the break check could be skipped under certain conditons where the combat loop ended early.
  
### Leviathans
- Leviathan starting HP is now set when the leviathan spawns. Before, it just checked the monster's max HP. This means
  that if max HP was increased by a patch, the leviathan could become alive again. This is what happened this morning.

### Monsters
- Stalk beast
  - Bash resistance 6 -> 4
  - Pierce resistance 6 -> 4
  - Physical resistance 2 -> 1
  - Bash base min damage 3 -> 2
  - Base base max damage 8 -> 7
- Grinpad
  - Physical resistance 8 -> 5
  - Slash base min damage 5 -> 4
  - Slash base max damage 12 -> 10
  
### Networking
- I may have improved the timer reconnect code, especially in situations where the client can't connect to the
  server (like if you're having internet problems). Or I may have introduced additonal problems. Or both.
  But one of the main ideas is that if the client can't reach the server, it should keep trying indefinitely, once a
  minute. We'll see. Let me know.

## [0.1.8.2] - 2021-06-07

### UI
- Title is now displayed next to character name at top of Character view.

### Fixed
- Aspirant title would not be awarded until gaining 101 TL due to a bug.
- Message received after leviathan death would say you earned the Sentinel title even if you already had it.

## [0.1.8.1] - 2021-06-06

### Combat
- If a combatant lacks any damage ranges (typically characters fighting without a weapon), the combatant will perform
  an unarmed attack that deals bash damage.
  
### Monsters
- Balgoloth HP increased from 250 to 500.

### UI
- Inventory: Consumables are now listed higher, below equipment and above tools.

## [0.1.8] - 2021-06-06

### General
- New feature: Messages! Currently you can't exchange messages with other characters, but you may receive
  messages from other sources...
  - A "new messages" indicator will be added in the future. For now, you'll have to go to the Messages view
    to see if you have any messages.
- Leviathans have been added. These intraplanar creatures appear in a location and can be attacked by any character.
  Damage dealt to a leviathan persists even if you lose the combat. Once the leviathan has been reduced to 0 HP, it
  is slain. Every character who dealt damage to the leviathan is awarded XP for each encounter they had with the
  leviathan in which they damaged it. These characters are also eligible for loot, and are awarded it randomly from
  the pool of items that are dropped by the leviathan. Whoever dealt the most damage to the leviathan earns a new
  title.
- Implemented monitoring (error tracking, uptime, server health, etc.) via Honeybadger. This means the server
  will automatically send errors to me, with context, for analysis. Please continue to report bugs in Discord,
  it will be useful to corroborate with Honeybadger.
  
### Titles
- New title: Sentinel, awarded upon the slaying of a leviathan to the character who dealt the most damage to it.

### Skills
- Otherforge
  - Level requirements changes
    - Iron shield 3 -> 4
    - Arcanite dagger 10 -> 11
  - XP award changes
    - Iron dagger 15 -> 20
    - Iron buckler 20 -> 40
    - Iron short sword 30 -> 50
    - Iron shield 40 -> 80
    - Iron longsword 53 -> 120
    - Arcanite short sword 60 -> 75
    - Arcanite longsword 100 -> 180
    - Arcanite buckler 40 -> 60
    - Arcanite shield 80 -> 120
    - Iron axe, pickaxe, and spade 15 -> 25
    - Arcanite axe, pickaxe, and spade 30 -> 38
    - Onus of vision 110 -> 200
  - Base timer changes
    - Iron dagger 110 -> 50
    - Iron buckler 110 -> 100
    - Iron short sword 125 -> 100
    - Iron lockpicks 110 -> 50
    - Iron longsword 155 -> 150
    - Iron shield 150 -> 200
    - Arcanite dagger 130 -> 90
    - Arcanite short sword 145 -> 140
    - Arcanite longsword 170 -> 215
    - Arcanite buckler 130 -> 140
    - Arcanite shield 170 -> 240
    - Iron axe, pickaxe, and spade 120 -> 75
    - Arcanite axe, pickaxe, and spade 140 -> 115
- Beastslay level requirements changes
  - Iron short sword 2 -> 3
  - Iron longsword 5 -> 7
  - Iron shield 3 -> 4
  - Arcanite dagger 10 -> 11
  - Arcanite short sword 12 -> 13
  - Arcanite longsword 15 -> 17
  - Arcanite buckler 10 -> 11
  - Arcanite shield 13 -> 14
- Wealdreap XP award changes
  - Woodrun bloom 12 -> 9
  - Last breath 18 -> 15

### Items
- New damage and resistance stats have been added to combat equipment.
- Granite ring now increases physical resistance by 2, since block has been removed.
- New items, both in iron and arcanite forms: cap, sallet, leggings, chainmail, platemail
- New items: balgoloth skull, balgoloth plate

### Combat
- A natural 20 on an accuracy roll now always results in a (critical) hit. Previously, if a 20 was rolled, it
  could still miss. Now it's always a hit and always a critical hit.
- The block and block value stats have been removed.
- Resistances now apply. The way resistance works is a bit complicated. In short, it reduces incoming damage
  of a particular type by some amount, but the effectiveness of a resistance varies from attack to attack. So
  while a combatant may have resisted some incoming fire damage from a previous attack, the effectiveness
  of the resistance may be greater or lesser on the next attack.
- Elusive and protective stances now modify all resistances instead of block, but the magnitude and nature of the
  modification remains the same.
- Each point of power now translates to one extra point of damage. Each point is assigned randomly to the damage
  types that are dealt by the attack. This occurs after any critical hit damage multiplier has been applied, and
  before resistances are applied.

### Monsters
- Accuracy changes
  - Pit leech 1 -> 2
  - Stalk beast 2 -> 4
  - Grinpad 3 -> 5
  - Lesser trodgeathomp 5 -> 6
  - Bollyrot 8 -> 9
  - Crypt writhe 12 -> 13

### UI
- New inventory view, with items sorted into categories, and a (hopefully) better section for equipped items.

### Networking
- Finish activity retries will now occur every second until 3 total failures have occurred. If no xhr comes back in the
  request (likely indicating a problem reaching the server), the retries will continue, once every minute. If an xhr
  is returned from the server, the retries will cease after 3 failures to avoid flooding our new error monitoring.
  I will monitor and potentially improve this system (and the finish activity code) as time goes forward, but this
  should be sufficient for now.
  
### Fixed
- Unlocking rusted lockbox failed to complete due to bug introduced by refactoring in 0.1.7.

## [0.1.7.2] - 2021-06-05

### UI
- Adjusted chat box so scrollbar lines up with main box scrollbar.
- Reduced footer (copyright) padding and made the rest of the content fill in that space.
- Increased min height and max height of chat.
- Buttons now use the display font.

## [0.1.7.1] - 2021-06-05

### Fixed
- Item gathering and crafting was not giving XP.

## [0.1.7] - 2021-06-05

### Activities
- Purifying ingots now only costs 5 ingots instead of 10.
- Planequarrying in the Deepshaft now has a 70% chance to yield iron ore, up from 40%. Consequently, crude iron ore
  chance has been reduced from 50% to 20%.
- Crafting iron longsword now requires Otherforge level 7 (up from 5).
- Crafting iron shield now requires Otherforge level 5 (up from 4).
- XP value changes to obtaining items:
  - Iron ore reduced from 15 to 10.
  - Pure iron ore reduced from 30 to 25.
  - Gaian ore reduced from 80 to 50.
  - Red beryl reduced from 30 to 15.
  - Tourmaline reduced from 30 to 15.
  - Yellow beryl reduced from 50 to 25.
  - Paraiba tourmaline reduced from 50 to 25.
  - Sea's tear reduced from 35 to 22.
  - Shrine hassock reduced from 40 to 30.
  - Discord pome reduced from 50 to 40.
  - Silver iris reduced from 70 to 40.
  - Claritas flower reduced from 85 to 45.
  - Shimmering essence reduced from 30 to 20.
  - Wisp of the current reduced from 50 to 35.
  
### Items
- Pig iron ingot renamed to crude iron ingot.

### Mechanics
- Any items equipped when combat completes now have a chance to be broken, damaged beyond repair. Broken items are
  effectively destroyed.
  - Ring and neck slot items have a 1/5000 chance to break.
  - Waist, back, and curio slot items have a 1/2500 chance to break.
  - Items equipped in all other slots have a 1/1000 chance to break.
  - Any item equipped during combat is at risk, even if it provides no combat benefit. This may be changed in the
    future.
  - Currently, non-combat activities do not put your items at risk. This will change in the future.
- Resistances have been added, but not implemented. You can see them on your character sheet, but they don't do
  anything yet.

### Bazaar
- Buy orders are now sorted highest price to lowest price, so the most desirable orders are at the top.
- Removed "Your Orders" section, instead adding your orders back to the "Sell Orders" and "Buy Orders" lists,
  including a "Cancel" button.
  
## UI
- Game now scales to screen size, and a bit more relative space is given to the main box. Additionally, the positioning
  of the UI boxes has been shuffled and tweaked.
  - These changes may have introduced undesirable consequences, especially on mobile. Please report these
    consequences with screenshots, and let's work together to get the game looking decent everywhere. 👍
- Costs and requirements are now shown below activity selectors in your hearth, so you no longer have to look them up.
  They automatically update when you change the selected activity (i.e. recipe) without a page load.
    
### Networking
- If a "finish activity" request from the client to the server fails 5 or more times, the client will switch from
  trying every second to trying every minute. This behavior replaces the error alert (popup) that used to occur. This
  means that the client will continue trying to get rolling again every minute, indefinitely. So hopefully this resolves
  frustrating issues with leaving the game to find that your activity was halted due to internet issues.

### Engine
- Refactored some activity and combat code.

## [0.1.6] - 2021-06-04

Note that from this point foward, I am not explicitly listing the addition of activities required to make the items,
hearth amenities, etc that are being added unless they warrant explicit mention for some reason.

### Added
- Current activity, timer, results, and conditions (boons & banes) are now always visible. Most are located in a new box
  above the chat, while the results output is now in a new box below the main box.
  - When performing a beastslay activity, current and max wounds will be displayed as well.
- A progress bar beneath the timer.
- Spicework has been implemented. You can now craft food and drugs in your hearth, once you build a spicebench.
  A character can only have one food condition and one drink condition at a time. If a second food or drink condition
  is gained, the old one is lost. There is no limit to the number of drug conditions a character can have at once.
- New hearth amenities: spicebench level 1, spicebench level 2
- New items: bluster powder, mudtub mash, midoras spice, midoras mudtub mash
- New title: Aspirant, gained by reaching 100 total level
- You can now see your resting status and toggle rest in the new timer box when you aren't performing an activity.

### Changed
- Improved accuracy and feel of timer. It now starts counting down immediately, whereas before there was an
  uncomfortable delay. There is also no impact on the timer when changing pages; it will continue correctly.
- Bazaar no longer displays your orders under "Buy Orders" or "Sell Orders". Now your own orders are only visible
  in the "Your Orders" section.
- Remaining duration of conditions and accumulated rested time are now expressed in "human" terms instead of seconds.
- Blank line is now added to beginning of combat results instead of end, since it means more of the most-recent combat
  results can be visible when the box has a scroll bar.
- Character view: Reduced text size of headings, and changed the "Titles" and "Rankings" links to use the display font
  (to better match other menu links).
- Bazaar view: Reduced size (width) of number fields.
- Hearth view: Amenities now have a lighter border color to differentiate them from the game container borders.
- Timer number is now smaller and uses the display font.
- Reduced size and vertical margin of "Stop" button, to make more room for other things that go in that box now.

### Removed
- The Look view
- Character view: Rest section

### Fixed
- No blank line was being added to combat activity results if the activity was stopped due to being too wounded.
- Beastslay activity in the Killing Fields was named "Slay in [the the](https://en.wikipedia.org/wiki/The_The)
  Killing Fields".

## [0.1.5] - 2021-06-03

### Added
- Magiculture has been implemented. You can now find seeds and plant them at your hearth after you construct
  a loamspire. After some time has passed, you can harvest the result. You can perform other activities whilst your
  crops are growing.
- New hearth amenities: loamspire level 1, loamspire level 2
- New items: mudtub seed, midoras seed, templis seed, enzon seed, mudtub, midoras, templis, enzon, stone spade,
  iron spade, arcanite spade
- New activities: construct loamspire level 1, construct loamspire level 2, craft iron spade, craft arcanite spade,
  and all plant and harvest activities for the seeds and crops listed above
- Stone spade can now be found while wildscouring crumbling ruins. Other drop chances have not changed, so the net
  result is that you come up empty less.
- Seeds can now be found while wealdreaping in Twil Woods and Twil Grove.
- Listern fonts now display the amount of time until they're usable again.
- A blank line is now added after combat results to make it easier to visually scan the logs.

### Changed
- Initiative rolls are now made with a d20 instead of a d10. Therefore, having a good speed stat is now more important.
  Previously, once a combatant had a decent speed stat advantage, the roll was fairly easy to call. So this is a buff,
  but also a nerf. A bnerf.
  
### Fixed
- Arcanite short sword was named "iron short sword".

## [0.1.4.1] - 2021-05-31

### Changed
- Max rested time reduced from 10 days to 12 hours
- Rested time is now used to cut your timer in half, rather than reduce it by a flat amount

## [0.1.4] - 2021-05-31

### Added
- Characters can now rest.
  - To make your character rest, click the button on the Character screen. To stop resting, click the button again.
  - Also, if you click "Logout", your character will automatically start resting.
  - While resting, you will be unable to perform activities, but you will accumulate rested time. This time is
    automatially spent to lower your timers on activities, down to a minimum timer of 10 seconds.
    - The normal minimum timer for an activity can be broken in this way, but other timer reductions are still held
      to the minimum timer. For example, if the minimum timer is 35 seconds and your base timer after level adjustments
      is 40 seconds, but you have a buff that reduces the timer by 10 seconds, the final timer before rested time will
      still be only 35 seconds, the minimum for that activity. Then, 25 seconds of your rested time will be spent
      lowering the absolute final timer to 10 seconds.
    - You get 1 second of rested time for each second of time you spend resting.
    - Only time that is actually reduced will be consumed from your rested time. If you lose any rested time that you
      do not see a timer reduction for, it's a bug.
    - Rested time is used at the end of the activity, when the timer runs out, like other calculations. If you stop
      your activity before it finishes, rested time will not be used.
    - You can accumulate up to 10 days of rested time.
- You can now choose how many items you'd like to craft at your forge or labratory. If you want to just keep crafting
  until you run out of materials, just enter a large number. Crafting will continue until materials are expended.
- New Beastslay activity: the Hopegraves
- New Fluxseethe activities: brew trawling draught, distill lusterlight tincture
- New Otherforge activity: craft onus of vision
- New monsters: bollyrot, crypt writhe
- New items: bollyrot acerbic, black gizzard, bollyrot trophy, crypt writhe trophy, trawling draught, lusterlight
  tincture, onus of vision
- Players can now update their email, change their password, or delete their account via a "Manage account" link,
  temporarily located on their Character page.
  
### Changed
- Beastslay activity names now start with "Slay in" instead of "Hunt".
- A successful block can no longer reduce resolved damage to 0. A successful hit will always do at least 1 damage.
- Lesser trodgeathomp XP award reduced from 24 to 20

### Fixed
- Distill manadross tincture recipe awarded mending salve instead of manadross tincture.
- Equip requirements were ignored.
- Characters could heal by blocking with a high enough block value

## [0.1.3.1] - 2021-05-31

### Changed
- Lowered level requirement of crafting arcanite dagger from 11 to 10
- Lowered level requirement of Quarry Deepshaft from 11 to 10
- Smelting or purifying to create a pure iron ingot now requires level 5 otherforge

### Fixed
- *Actually* remove drop table scaling from Quarry Floret Mine. Somehow I didn't actually commit that change
  last release, so Quarry Floret Mine was way better than it was supposed to be in 0.1.3.
- Missing level requirements on some new arcanite stuff

## [0.1.3] - 2021-05-30

### Added
- New items: woodrun bloom, last breath, silver iris, claritas flower, salt, sea's tear, gaian ore, pure iron ingot,
  arcanite ingot, arcanite dagger, arcanite short sword, arcanite longsword, arcanite buckler, arcanite shield,
  reaping draught, arcanite pickaxe, arcanite axe
- New activities: reap twil grove, quarry brine trench, quarry deepshaft, purify iron ingot, smelt pure iron ingot,
  smelt arcanite ingot, craft arcanite dagger, craft arcanite short sword, craft arcanite longsword, craft
  arcanite buckler, craft arcanite shield, brew reaping draught, craft arcanite pickaxe, craft arcanite axe

### Changed
- Increased XP value of iron ore to 15 and pure iron ore to 30
- Increased quarry Floret Mine iron ore drop table score from 0.98 to 0.95 (this is an increase in drop chance)
- Removed level-based drop scaling from quarry floret mine
- Sor Well Depths shimmering essence drop quantity increased from 1 to 1-2
- Labratory level 2 now additionally requires 1 yellow beryl and 1 paraiba tourmaline
- Adjusted description of disturbing doodad
- Reduced height of activity output area, to fit better on screens until I improve general responsiveness

### Fixed
- Crafting an iron shield gave an iron buckler instead

## [0.1.2] - 2021-05-29

### Added
- Boons & Banes: A character can now have buffs and debuffs.
- Items: quarrying draught, gem dust
- Activities: crush red beryl, crush tourmaline, brew quarrying draught

## [0.1.1] - 2021-05-29

### Added
- Activities and items indexes for designers and testers to see some game data.
- Leaderboard and rankings (quickly ported from old Esoterra, just to have something
  for now).

### Changed
- Bazaar orders are now sorted by item name, then price, then age.
- Give stone axes and stone pickaxes combat stats.
- Chat no longer can horizontally scroll, and overly-long words will be broken mid-word.

### Fixed
- Bug with trophies.
- Stone pickaxe drop in ruins giving manatrawl XP instead of wildscour XP.
- Bug with wounds.

## [0.1.0] - 2021-05-28

Initial release. Very untested. We'll patch it live.
The gates are opening after dinner.