andorstrailrelease / andors-trail Goto Github PK
View Code? Open in Web Editor NEWThis project forked from zukero/andors-trail
Andor's Trail
This project forked from zukero/andors-trail
Andor's Trail
android 6.0.1, CM13, russian and english languages, version 0.8.1
java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:309) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) at java.util.concurrent.FutureTask.setException(FutureTask.java:223) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) Caused by: java.lang.NoSuchMethodError: No virtual method getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Ljava/util/HashMap; or its super classes (declaration of 'java.util.HashMap' appears in /system/framework/core-libart.jar) at com.gpl.rpg.AndorsTrail.model.GameStatistics.<init>(GameStatistics.java:189) at com.gpl.rpg.AndorsTrail.model.ModelContainer.<init>(ModelContainer.java:36) at com.gpl.rpg.AndorsTrail.savegames.Savegames.loadWorld(Savegames.java:216) at com.gpl.rpg.AndorsTrail.savegames.Savegames.loadWorld(Savegames.java:107) at com.gpl.rpg.AndorsTrail.WorldSetup.continueWorld(WorldSetup.java:149) at com.gpl.rpg.AndorsTrail.WorldSetup.access$700(WorldSetup.java:15) at com.gpl.rpg.AndorsTrail.WorldSetup$2.doInBackground(WorldSetup.java:118) at com.gpl.rpg.AndorsTrail.WorldSetup$2.doInBackground(WorldSetup.java:109) at android.os.AsyncTask$2.call(AsyncTask.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:237) ... 4 more
Not found GetOrDefault
on class HashMap
We already have the ability to set the scale of the world as a percentage, but this does not affect the interface in any way. I think it would be very cool and convenient to have an interface size setting. The fact is that it is rather problematic to hit the necessary buttons on the phone with your finger, and it is not convenient to read the dialogues.
Hi there,
As I was once stuck with a lost save game and no way to restore my experience with the game I tried to have a look on a typical Andors Trail save game. Unfortunately it was a wild mix of UTF-8 and binary stuff, and it still is today.
Looking at the code I realized, that this seemed to be intentional. Also a type of obscurity-based anti-cheat feature is implemented into the saving mechanism. I want to propose a different approach to which end I will prepare a PR for this project and maybe get involved even more.
I propose changing the format into plain JSON, maybe even JSON5 to have some additional features. XML is also a possibility, but I would rather not. I would also implement tests for the feature and add a migration class too, to migrate old save game formats on runtime.
This will remove any "security" against tempering with the save game. Why one even bothered preventing players from tempering, goes beyond me. If players wanted to, they could have used the OS code here from this repo and implement a stable load and resave mechanism (or a separate app for it) using https://github.com/AndorsTrailRelease/andors-trail/blob/master/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/savegames/Savegames.java
Additionally, as an argument: I would like to be able to experience the game the way I want to. If I am stuck at Lodars house for example - as many have been before I am sure - I do not want to farm the first couple ghosts at the cave for hours and hours to get the abilities to get through them. Just open the save game, change the spawn to the bed in my fathers house and get on with it.
If people want to have infinite skill points and levels and the best equipment for their character build, let them. Skipping the grinding and all the quests, to achieve their desired char build is their loss of a beautifully authored game. I think it is no responsibility of the game to prevent them from doing that. (As Andors Trail is in no way multiplayer or competitive anyways)
Let me know what you think. I am eager to start :)
There are currently no screenshots on this app's page in the F-Droid catalog. Without a preview, only by a text description, it is difficult to decide whether to download and install the application or not. I propose to add a few screenshots that most fully describe the appearance and functionality of the application.
(I failed to register a forum account and hope someone will see this)
I noticed that "Vacor's Ring" is shown as "Category: Other" on the "Info" Page of the object but when you filter your Inventory for object types it's shown in "Quest Item" which is correct considering that you have to return the ring to Unzel.
AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java
private static int getRollBias(ConstRange chance, Player player, SkillID skill, int perSkillpointIncrease) {
int skillLevel = player.getSkillLevel(skill);
if (skillLevel <= 0) return 0;
return chance.current * skillLevel * perSkillpointIncrease / 100;
}
Here for magic finder, skillLevel is the level of the Magic Finder skill, perSkillpointIncrease is 50, and chance.current is (usually?) 1, from the item chance. Notably, these are all int
s, as is the return type. So if we have a skillLevel of 1, we get:
1 * 1 * 50 / 100 = 0
because integer division truncates. Even if these were float
s or double
s, it wouldn't matter, though.
AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Constants.java
public static boolean rollResult(final ConstRange r, int bias) { return rollResult(r.max, r.current + bias); }
...
private static boolean rollResult(final int probabilityMax, final int probabilityValue) { return rnd.nextInt(probabilityMax) < probabilityValue; }
The random number is always an integer, so even if probabilityValue were 1.5f
, that extra 0.5 isn't ever going to help.
Suggestions:
int
s for the calculations (make sure you get them all!)PER_SKILLPOINT_INCREASE_MAGICFINDER_CHANCE_PERCENT
to 100 (which ends up being a roundabout way of just setting the bias to the skill level)Hello,
It is not allowing the users to save games without SD card which I don't have access to. Will this bug be fixed?
https://monitor.f-droid.org/builds/log/com.gpl.rpg.AndorsTrail/64#site-footer
Could you please take a look? Thanks!
While v0.7.11 is officially released to Google according to news, it's not available on F-Droid. I've found some older posts concerning an earlier release saying it happened because of a missing release tag, which seems also to be causing the current problem.
I recently stumbled upon the game and it's quite curious. However, I drew attention to a very unpleasant feature - the tiles of the world flicker quite often, as if switching from displaying smooth pixels and clear pixels. alas, I could not record or take a screenshot, it is imperceptible on them, but it is very striking when you play. This seems to happen every time the player or some creature moves (probably when updating the world on the screen)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Second condition is always true if the first one is also true. Probably here should be less-or-equal.
I suppose this could be a reason of the following crash: https://andorstrail.com/viewtopic.php?t=7292
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.