Equipment: Round cake tin, size 23cm Baking time: 4¾hrs Serves: 17-20
- 400g currants
- 225g sultanas
Years ago, I gave some advice about the Lost Mine of Phandelver. I was wrong.
That's because they released this: it's a SEQUEL to that Starter Set called The Shattered Obelisk. The first half of this book is mostly the same as the original Lost Mines adventure, but the second half is a brand new story about Mind Flayers.
Here's the problem: This book invalidates the most popular video series on my channel, and the most popular PDFs on my Patreon, because the advice I have given previously was not made to accommodate the new direction this book takes the story. So today we are fixing that, so my old advice remains relevant to this adventure.
Now: I've found ten major changes I would make to my original Starter Set advice. I looked for things which feel out-of-place in the Shattered Obelisk portion of the adventure, and I'll point at places earlier in the Lost Mines portion of the adventure where we can add foreshadowing to that out-of-place content. We'll start at the end of the book and work our way backw
| require "commonmarker" | |
| class HeaderWithIdRender < CommonMarker::HtmlRenderer | |
| def header(node) | |
| block do | |
| old_stream = @stream | |
| @stream = StringIO.new(String.new.force_encoding("utf-8")) | |
| out(:children) | |
| content = @stream.string | |
| @stream = old_stream |
| var maxPage = 1; // calculate this using (activities/20 + 1) | |
| var activityType = "Run"; // change to the workout type you want, or blank for all | |
| var p = 1; | |
| var done = 0; | |
| var url; | |
| var nw = window.open("workouts.html"); | |
| nw.document.write("["); | |
| while (p <= maxPage) { | |
| url = "https://www.strava.com/athlete/training_activities" + | |
| "?keywords=&activity_type=" + activityType + "&workout_type=&commute=&private_activities=" + |
| func join(gs []grid) grid { | |
| n := int(math.Sqrt(float64(len(gs)))) // Number of subgrids across/down the new grid | |
| sgn := len(gs[0]) // Number of values on one side of a subgrid | |
| cg := newGridBySize(n * sgn) // The new, combined grid to populate | |
| // Add each subgrid to the new, combined grid. | |
| for i, g := range gs { | |
| // Calculate the position of the top-left of the subgrid once placed in | |
| // the new, combined grid. We use this plus the offset within the subgrid | |
| // to place the values in the combined grid. |
| { | |
| "project": "some-project", | |
| "url": "https://github.com/someorg/some-project", | |
| "description": "Some project or other for SomeOrg", | |
| "releases": [ | |
| { | |
| "version": "1.0.0", | |
| "date": "2014-12-05", | |
| "items": [ |
| require "gviz" | |
| require "optparse" | |
| # Usage: $0 PINFILE [OPTIONS] | |
| # | |
| # -i, --highlight APPS Highlight apps that depend on these | |
| # -x, --exclude APPS Exclude these apps | |
| # -o, --only APPS Only show dependencies and dependants of these | |
| # -s, --hide-solitary Hide apps with no dependecies or dependants | |
| # -f, --out-file FILE The filename to write output to (default: out.png) |
| .PHONY: build clean run | |
| V15 := 1.5.4 | |
| V16 := 1.6.3 | |
| B15 := http-test-1.5 | |
| B16 := http-test-1.6 | |
| all: clean build run |
| #!/bin/bash | |
| # Tim's Development Environment Setup | |
| # =================================== | |
| # Stop immediately if anything fails | |
| set -e | |
| ############################################ | |
| # Handy functions |