Kami Client

Forum for alternative clients, mods & discussions on the same.
solisalias
Posts: 64
Joined: Sun Oct 22, 2023 11:45 pm

Re: Kami Client

Post by solisalias »

Image

Code: Select all

haven.Resource$LoadFailedException: Failed to load resource gfx/invobjs/hpatch-moose (v1)
	at haven.Resource$Pool$Queued.get(Resource.java:526)
	at haven.Resource$Pool$Queued.get(Resource.java:493)
	at haven.Session$CachedRes$Ref.get(Session.java:139)
	at haven.Session$CachedRes$Ref.get(Session.java:130)
	at haven.GItem.spr(GItem.java:169)
	at haven.GItem.tick(GItem.java:186)
	at haven.Widget.tick(Widget.java:744)
	at haven.Widget.tick(Widget.java:744)
	at haven.ExtInventory.tick(ExtInventory.java:299)
	at haven.Widget.tick(Widget.java:744)
	at haven.Widget.tick(Widget.java:744)
	at haven.GameUI.tick(GameUI.java:1445)
	at haven.Widget.tick(Widget.java:744)
	at haven.UI.tick(UI.java:236)
	at haven.GLPanel$Loop.run(GLPanel.java:371)
	at haven.JOGLPanel.run(JOGLPanel.java:246)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from forking source backed by HTTP res source (https://game.havenandhearth.com/res/)
	at haven.Resource$Pool.handle(Resource.java:586)
	at haven.Resource$Pool.access$1200(Resource.java:470)
	at haven.Resource$Pool$Loader.run(Resource.java:716)
	... 1 more
	Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from cache source backed by HashDirCache(http://game.havenandhearth.com/render/)
		... 4 more
		Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from local res source (res)
			... 4 more
			Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from local res source (res-preload)
				... 4 more
				Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from filesystem res source (C:\Users\shenw\Desktop\haven\res)
					... 4 more
				Caused by: java.io.FileNotFoundException: gfx/invobjs/hpatch-moose
					at haven.Resource$FileSource.get(Resource.java:287)
					at haven.Resource$Pool.handle(Resource.java:571)
					... 3 more
				Caused by: java.nio.file.NoSuchFileException: C:\Users\shenw\Desktop\haven\res\gfx\invobjs\hpatch-moose.res
					at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
					at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
					at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
					at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235)
					at java.base/java.nio.file.Files.newByteChannel(Files.java:371)
					at java.base/java.nio.file.Files.newByteChannel(Files.java:422)
					at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:420)
					at java.base/java.nio.file.Files.newInputStream(Files.java:156)
					at haven.Resource$FileSource.get(Resource.java:285)
					... 4 more
			Caused by: java.io.FileNotFoundException: Could not find resource locally: /res-preload/gfx/invobjs/hpatch-moose.res
				at haven.Resource$JarSource.get(Resource.java:307)
				at haven.Resource$Pool.handle(Resource.java:571)
				... 3 more
		Caused by: java.io.FileNotFoundException: Could not find resource locally: /res/gfx/invobjs/hpatch-moose.res
			at haven.Resource$JarSource.get(Resource.java:307)
			at haven.Resource$Pool.handle(Resource.java:571)
			... 3 more
	Caused by: java.io.FileNotFoundException: res/gfx/invobjs/hpatch-moose
		at haven.HashDirCache.fetch(HashDirCache.java:331)
		at haven.Resource$CacheSource.get(Resource.java:237)
		at haven.Resource$Pool.handle(Resource.java:571)
		... 3 more
Caused by: java.io.IOException: already retried 7 times
	at haven.RetryingInputStream.retry(RetryingInputStream.java:54)
	at haven.RetryingInputStream.get(RetryingInputStream.java:70)
	at haven.RetryingInputStream.check(RetryingInputStream.java:96)
	at haven.Resource$HttpSource.get(Resource.java:375)
	at haven.Resource$TeeSource.get(Resource.java:214)
	at haven.Resource$Pool.handle(Resource.java:571)
	... 3 more
Caused by: java.net.UnknownHostException: game.havenandhearth.com
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:229)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.base/java.net.Socket.connect(Socket.java:608)
	at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:302)
	at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:510)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:605)
	at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265)
	at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:207)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:193)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
	at haven.Resource$HttpSource$1.create(Resource.java:372)
	at haven.RetryingInputStream.create(RetryingInputStream.java:44)
	at haven.RetryingInputStream.get(RetryingInputStream.java:76)
	... 7 more
client seems to crash when i discover something new in game showing question mark ;-;
any idea why and how to fix it kami?
User avatar
derkami
Posts: 198
Joined: Thu Jun 02, 2016 11:28 pm

Re: Kami Client

Post by derkami »

solisalias wrote:Image

Code: Select all

haven.Resource$LoadFailedException: Failed to load resource gfx/invobjs/hpatch-moose (v1)
	at haven.Resource$Pool$Queued.get(Resource.java:526)
	at haven.Resource$Pool$Queued.get(Resource.java:493)
	at haven.Session$CachedRes$Ref.get(Session.java:139)
	at haven.Session$CachedRes$Ref.get(Session.java:130)
	at haven.GItem.spr(GItem.java:169)
	at haven.GItem.tick(GItem.java:186)
	at haven.Widget.tick(Widget.java:744)
	at haven.Widget.tick(Widget.java:744)
	at haven.ExtInventory.tick(ExtInventory.java:299)
	at haven.Widget.tick(Widget.java:744)
	at haven.Widget.tick(Widget.java:744)
	at haven.GameUI.tick(GameUI.java:1445)
	at haven.Widget.tick(Widget.java:744)
	at haven.UI.tick(UI.java:236)
	at haven.GLPanel$Loop.run(GLPanel.java:371)
	at haven.JOGLPanel.run(JOGLPanel.java:246)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from forking source backed by HTTP res source (https://game.havenandhearth.com/res/)
	at haven.Resource$Pool.handle(Resource.java:586)
	at haven.Resource$Pool.access$1200(Resource.java:470)
	at haven.Resource$Pool$Loader.run(Resource.java:716)
	... 1 more
	Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from cache source backed by HashDirCache(http://game.havenandhearth.com/render/)
		... 4 more
		Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from local res source (res)
			... 4 more
			Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from local res source (res-preload)
				... 4 more
				Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from filesystem res source (C:\Users\shenw\Desktop\haven\res)
					... 4 more
				Caused by: java.io.FileNotFoundException: gfx/invobjs/hpatch-moose
					at haven.Resource$FileSource.get(Resource.java:287)
					at haven.Resource$Pool.handle(Resource.java:571)
					... 3 more
				Caused by: java.nio.file.NoSuchFileException: C:\Users\shenw\Desktop\haven\res\gfx\invobjs\hpatch-moose.res
					at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
					at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
					at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
					at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235)
					at java.base/java.nio.file.Files.newByteChannel(Files.java:371)
					at java.base/java.nio.file.Files.newByteChannel(Files.java:422)
					at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:420)
					at java.base/java.nio.file.Files.newInputStream(Files.java:156)
					at haven.Resource$FileSource.get(Resource.java:285)
					... 4 more
			Caused by: java.io.FileNotFoundException: Could not find resource locally: /res-preload/gfx/invobjs/hpatch-moose.res
				at haven.Resource$JarSource.get(Resource.java:307)
				at haven.Resource$Pool.handle(Resource.java:571)
				... 3 more
		Caused by: java.io.FileNotFoundException: Could not find resource locally: /res/gfx/invobjs/hpatch-moose.res
			at haven.Resource$JarSource.get(Resource.java:307)
			at haven.Resource$Pool.handle(Resource.java:571)
			... 3 more
	Caused by: java.io.FileNotFoundException: res/gfx/invobjs/hpatch-moose
		at haven.HashDirCache.fetch(HashDirCache.java:331)
		at haven.Resource$CacheSource.get(Resource.java:237)
		at haven.Resource$Pool.handle(Resource.java:571)
		... 3 more
Caused by: java.io.IOException: already retried 7 times
	at haven.RetryingInputStream.retry(RetryingInputStream.java:54)
	at haven.RetryingInputStream.get(RetryingInputStream.java:70)
	at haven.RetryingInputStream.check(RetryingInputStream.java:96)
	at haven.Resource$HttpSource.get(Resource.java:375)
	at haven.Resource$TeeSource.get(Resource.java:214)
	at haven.Resource$Pool.handle(Resource.java:571)
	... 3 more
Caused by: java.net.UnknownHostException: game.havenandhearth.com
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:229)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.base/java.net.Socket.connect(Socket.java:608)
	at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:302)
	at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:510)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:605)
	at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265)
	at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:207)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:193)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
	at haven.Resource$HttpSource$1.create(Resource.java:372)
	at haven.RetryingInputStream.create(RetryingInputStream.java:44)
	at haven.RetryingInputStream.get(RetryingInputStream.java:76)
	... 7 more
client seems to crash when i discover something new in game showing question mark ;-;
any idea why and how to fix it kami?
Wherever you are, you have connection issues.
"Caused by: java.net.UnknownHostException: game.havenandhearth.com" basically means, that it can't find the IP to this hostname.
I know some people are fixing the IP and name resolution in their hosts file directly.
Image
Image
Image
solisalias
Posts: 64
Joined: Sun Oct 22, 2023 11:45 pm

Re: Kami Client

Post by solisalias »

derkami wrote:
solisalias wrote:Image

Code: Select all

haven.Resource$LoadFailedException: Failed to load resource gfx/invobjs/hpatch-moose (v1)
	at haven.Resource$Pool$Queued.get(Resource.java:526)
	at haven.Resource$Pool$Queued.get(Resource.java:493)
	at haven.Session$CachedRes$Ref.get(Session.java:139)
	at haven.Session$CachedRes$Ref.get(Session.java:130)
	at haven.GItem.spr(GItem.java:169)
	at haven.GItem.tick(GItem.java:186)
	at haven.Widget.tick(Widget.java:744)
	at haven.Widget.tick(Widget.java:744)
	at haven.ExtInventory.tick(ExtInventory.java:299)
	at haven.Widget.tick(Widget.java:744)
	at haven.Widget.tick(Widget.java:744)
	at haven.GameUI.tick(GameUI.java:1445)
	at haven.Widget.tick(Widget.java:744)
	at haven.UI.tick(UI.java:236)
	at haven.GLPanel$Loop.run(GLPanel.java:371)
	at haven.JOGLPanel.run(JOGLPanel.java:246)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from forking source backed by HTTP res source (https://game.havenandhearth.com/res/)
	at haven.Resource$Pool.handle(Resource.java:586)
	at haven.Resource$Pool.access$1200(Resource.java:470)
	at haven.Resource$Pool$Loader.run(Resource.java:716)
	... 1 more
	Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from cache source backed by HashDirCache(http://game.havenandhearth.com/render/)
		... 4 more
		Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from local res source (res)
			... 4 more
			Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from local res source (res-preload)
				... 4 more
				Suppressed: haven.Resource$LoadException: Load error in resource gfx/invobjs/hpatch-moose(v1), from filesystem res source (C:\Users\shenw\Desktop\haven\res)
					... 4 more
				Caused by: java.io.FileNotFoundException: gfx/invobjs/hpatch-moose
					at haven.Resource$FileSource.get(Resource.java:287)
					at haven.Resource$Pool.handle(Resource.java:571)
					... 3 more
				Caused by: java.nio.file.NoSuchFileException: C:\Users\shenw\Desktop\haven\res\gfx\invobjs\hpatch-moose.res
					at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
					at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
					at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
					at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235)
					at java.base/java.nio.file.Files.newByteChannel(Files.java:371)
					at java.base/java.nio.file.Files.newByteChannel(Files.java:422)
					at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:420)
					at java.base/java.nio.file.Files.newInputStream(Files.java:156)
					at haven.Resource$FileSource.get(Resource.java:285)
					... 4 more
			Caused by: java.io.FileNotFoundException: Could not find resource locally: /res-preload/gfx/invobjs/hpatch-moose.res
				at haven.Resource$JarSource.get(Resource.java:307)
				at haven.Resource$Pool.handle(Resource.java:571)
				... 3 more
		Caused by: java.io.FileNotFoundException: Could not find resource locally: /res/gfx/invobjs/hpatch-moose.res
			at haven.Resource$JarSource.get(Resource.java:307)
			at haven.Resource$Pool.handle(Resource.java:571)
			... 3 more
	Caused by: java.io.FileNotFoundException: res/gfx/invobjs/hpatch-moose
		at haven.HashDirCache.fetch(HashDirCache.java:331)
		at haven.Resource$CacheSource.get(Resource.java:237)
		at haven.Resource$Pool.handle(Resource.java:571)
		... 3 more
Caused by: java.io.IOException: already retried 7 times
	at haven.RetryingInputStream.retry(RetryingInputStream.java:54)
	at haven.RetryingInputStream.get(RetryingInputStream.java:70)
	at haven.RetryingInputStream.check(RetryingInputStream.java:96)
	at haven.Resource$HttpSource.get(Resource.java:375)
	at haven.Resource$TeeSource.get(Resource.java:214)
	at haven.Resource$Pool.handle(Resource.java:571)
	... 3 more
Caused by: java.net.UnknownHostException: game.havenandhearth.com
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:229)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.base/java.net.Socket.connect(Socket.java:608)
	at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:302)
	at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:510)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:605)
	at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265)
	at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:207)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:193)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
	at haven.Resource$HttpSource$1.create(Resource.java:372)
	at haven.RetryingInputStream.create(RetryingInputStream.java:44)
	at haven.RetryingInputStream.get(RetryingInputStream.java:76)
	... 7 more
client seems to crash when i discover something new in game showing question mark ;-;
any idea why and how to fix it kami?
Wherever you are, you have connection issues.
"Caused by: java.net.UnknownHostException: game.havenandhearth.com" basically means, that it can't find the IP to this hostname.
I know some people are fixing the IP and name resolution in their hosts file directly.
oof thank you for the info ill try that hosts fix ;-;
GnomoMaconheiro
Posts: 6
Joined: Thu Oct 26, 2023 6:10 pm

Re: Kami Client

Post by GnomoMaconheiro »

Is it possible put Parchment on top of cupboard? When scale is 5%
User avatar
derkami
Posts: 198
Joined: Thu Jun 02, 2016 11:28 pm

Re: Kami Client

Post by derkami »

It's the decal option. Might rename it.
Image
Image
Image
User avatar
LaserSaysPew
Posts: 397
Joined: Mon Dec 03, 2012 6:25 pm

Re: Kami Client

Post by LaserSaysPew »

Sound notifications for moving gobs seem to play 2-3 times in quick succession on first encounter for some reason. Any chance to make sounds not play on gobs that were already seen(and notified once)? I think Ardenness client had a checkbox for that.
User avatar
Mortis123
Posts: 37
Joined: Sun Jan 30, 2011 3:07 pm

Re: Kami Client

Post by Mortis123 »

Hey! I'm returning after very long time to the game and it's good to see that still somebody is developing a custom client for us, cheers! One question: is there any possibility to enable history of crafts and builds? I remember that before there was a special bar so you could on it and build/craft the same thing multiple times very quickly (like drying frames etc). I can see that we have "extended craft" tab with history inside but I'm not sure if it can be used in the same way.
User avatar
derkami
Posts: 198
Joined: Thu Jun 02, 2016 11:28 pm

Re: Kami Client

Post by derkami »

Mortis123 wrote:Hey! I'm returning after very long time to the game and it's good to see that still somebody is developing a custom client for us, cheers! One question: is there any possibility to enable history of crafts and builds? I remember that before there was a special bar so you could on it and build/craft the same thing multiple times very quickly (like drying frames etc). I can see that we have "extended craft" tab with history inside but I'm not sure if it can be used in the same way.
That's not a feature that I do have currently.
If I remember correctly, Ard client has that.
LaserSaysPew wrote:Sound notifications for moving gobs seem to play 2-3 times in quick succession on first encounter for some reason. Any chance to make sounds not play on gobs that were already seen(and notified once)? I think Ardenness client had a checkbox for that.
Yeah good Idea, it's WIP anyway to test some stuff out. I'll work on that.
Image
Image
Image
User avatar
Uriel
Posts: 751
Joined: Fri May 28, 2010 5:00 pm

Re: Kami Client

Post by Uriel »

Great client, thx mate.

Can we have options for "Show object info"? I would like to personalize it a little (cupboard fullnes, dryings racks - yes, crop progression - no, etc.).
marten
Posts: 2
Joined: Mon Sep 16, 2013 8:23 am

Re: Kami Client

Post by marten »

I've got an issue with the minimap. for some reason is above the chat and the quest log is right in my map.
I cant seem to get the minimap next to the chat again. Does anyone know how to fix this?

If its possible to move the quest stuff that would be fine aswell.

Image

Return to “The Wizards' Tower”