Compare commits

..

11 Commits

Author SHA1 Message Date
Zukero
4a4cf36c02 New game objects methods available in scripting language. 2013-12-15 23:17:27 +01:00
Zukero
5886e746b5 Added player.base.ac & player.base.bc variables in scripting language. 2013-12-01 15:59:59 +01:00
Zukero
fc97efdf75 Engine updates.
New in-game hooks : item.onEquip & item.onUnequip
Many new variables accessible in scripting language :
- player.base.[maxAP, maxHP, ad.min, ad.max, equipCost, moveCost,
useCost]
- actor.[hp.cur, hp.max, ap.cur, ap.max, ad.min, ad.max]
2013-12-01 15:56:44 +01:00
Zukero
0d7ab1a710 Forgot to include new package to index in last commit... 2013-11-20 23:21:15 +01:00
Zukero
43e374e5d3 Items usage effects can be impacted (AP, HP), need to add some kind of
array support in the scripting language to add impact on actor
conditions.
ActorConditions can have scripted effects.
New values in the debug data to test it all ! An actor condition makes
your potions give twice as much HP !
2013-11-19 23:54:28 +01:00
Zukero
05dae1bc74 New primitive operator : '%' used for string concatenation. Works using
.toString(), so it's rather type independant.
New in-game hook : item.onUse. Unfinished because it can't impact te
effects of the item, only add more effects (positive or negative)
New local variable scope awareness system. No-more "all-purpose"
Hashmap, but a dedicated object.
2013-11-18 23:26:13 +01:00
Zukero
f592207470 New in-game hook : player.statsUpdated to be used by Actor Conditions,
items (and skills in the future) to impact player's stats (AC, BC, AD,
HP...)
Enhanced local variables handling by script parser. Now scope-aware.
Implemented the public vs private scripts system : some game objects
have private scripts, that get executed only when the object itself is
the cause of the event. Included example is a special case :
player.statsUpdated runs the player's actor condtion and equiped items
private scripts that trigger on plyaer.statsUpdated.
Added scripts reference parsing in JSON parsers, hooked to items and
actor conditions.
2013-11-16 17:19:05 +01:00
Zukero
8a62fb847f Rebased on latest upstream master 2013-11-04 20:49:56 +01:00
Zukero
0028d361c6 Almost full engine rewrite. Only grammar & in-game hooking system kept.
* No script text interpreter anymore
* Scripts are statically compiled to an object AST
* Engine can evaluate the script's AST without reflection, and minimum
casting
* Script local variables are preallocated, but without scope awareness
yet (declare them all at top level scope for max efficiency)
* While loop added
* Boolean AND and OR added.
* Boolean constants true & false added.
* String constants can be used as local variables.
2013-11-04 20:47:50 +01:00
Zukero
57a88f437f Engine updates
* Slightly more efficient interpreter
* ScriptEngine now implements existing listener interface instead of
in-code hooks
Language updates :
* actor references now expose the addActorCondition &
clearActorCondition methods
2013-11-04 20:47:49 +01:00
Zukero
9a8e7d3cb7 First working version of my scripting engine.
* Only two trigger types : map.onEnter & map.onLeave
* Very limited field access : player.ac; player.bc & map.outdoor
However, it is integrated & tested.
2013-11-04 20:44:12 +01:00
1550 changed files with 218526 additions and 2081935 deletions

View File

@@ -18,7 +18,7 @@
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />

View File

@@ -1,66 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gpl.rpg.AndorsTrail"
android:versionCode="55"
android:versionName="0.7.12"
android:installLocation="auto"
>
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="28"
/>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:name=".AndorsTrailApplication"
android:label="@string/app_name"
android:icon="@drawable/icon"
android:description="@string/app_description"
android:allowBackup="true"
android:theme="@style/AndorsTrailTheme_Blue"
>
<activity
android:name=".activity.StartScreenActivity"
android:clearTaskOnLaunch="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.MainActivity"
android:label="@string/app_name"
android:theme="@style/AndorsTrailTheme_Blue.NoBackground"
/>
<activity android:name=".activity.HeroinfoActivity" />
<activity android:name=".activity.MonsterInfoActivity" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.ItemInfoActivity" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.LevelUpActivity" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.MonsterEncounterActivity" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.ConversationActivity" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.ShopActivity" />
<activity android:name=".activity.AboutActivity" />
<activity android:name=".activity.LoadingActivity" />
<activity android:name=".activity.Preferences" />
<activity android:name=".activity.LoadSaveActivity" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.ActorConditionInfoActivity" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.BulkSelectionInterface" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.SkillInfoActivity" android:theme="@style/AndorsTrailDialogTheme_Blue" />
<activity android:name=".activity.DisplayWorldMapActivity" />
</application>
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gpl.rpg.AndorsTrail"
android:versionCode="40"
android:versionName="0.7.1dev"
android:installLocation="auto"
>
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="17"
/>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"
/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
<application
android:name=".AndorsTrailApplication"
android:label="@string/app_name"
android:icon="@drawable/icon"
android:description="@string/app_description"
android:allowBackup="true"
>
<activity
android:name=".activity.StartScreenActivity"
android:clearTaskOnLaunch="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.NoBackground"
/>
<activity android:name=".activity.HeroinfoActivity" />
<activity android:name=".activity.MonsterInfoActivity" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.ItemInfoActivity" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.LevelUpActivity" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.MonsterEncounterActivity" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.ConversationActivity" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.ShopActivity" />
<activity android:name=".activity.AboutActivity" />
<activity android:name=".activity.LoadingActivity" />
<activity android:name=".activity.Preferences" />
<activity android:name=".activity.LoadSaveActivity" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.ActorConditionInfoActivity" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.BulkSelectionInterface" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.SkillInfoActivity" android:theme="@android:style/Theme.Dialog" />
<activity android:name=".activity.DisplayWorldMapActivity" />
</application>
</manifest>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
andor@andorstrail.com

View File

@@ -1 +0,0 @@
http://andorstrail.com

View File

@@ -1 +0,0 @@
en-US

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 435 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 430 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 650 KiB

View File

@@ -1 +0,0 @@
Explore a wide world in this open source, quest-driven offline role-playing game

View File

@@ -1 +0,0 @@
Andor's Trail - Free RPG

View File

@@ -1,90 +0,0 @@
Explore the world of Dhayavar looking for your brother Andor in this quest-driven fantasy RPG inspired by old-school classics.
Battle monsters in turn-based combat, become stronger through level ups and skills, choose from a wide range of equipment, interact with numerous NPCs, visit shops, inns and taverns, search for treasure, and solve quests to follow the trail of your brother and uncover the secrets of the powers at play in Dhayavar. With luck, you may even find a legendary item!
You can currently visit up to 555 maps and complete up to 78 quests.
The game is completely free. There is no payment to install, no ads, no in-app purchases, and no DLCs. There is no internet access required, and it can run on all versions of Android from 1.6 (Eclair), so it should run on any device, even low-end oldies.
Andor's Trail is open-source software, released under the GPL v2 license.
You can get the sources from https://github.com/AndorsTrailRelease/andors-trail
Game translation is crowd-sourced on https://hosted.weblate.org/translate/andors-trail
Andor's Trail is a work in progress, and while there is a lot of content to play, the game isn't completed. You can participate in the development or give ideas on our forums too!
If you wish to participate, we have released a content editor called ATCS, downloadable for free from www.andorstrail.com that makes it possible for anyone to create new material and expand the game, with no coding required! If you like the game, you can join others that have already created some of the content in the current release. You can see your own ideas come to life in a game that hundreds of thousands of people have played!
*This requires a PC (Windows or Linux) or a Mac. See the forums for details regarding content creation.
Visit our forums on www.andorstrail.com for help, hints, tips and general discussion. We love our community's feedback!
Changelog:
v0.7.11
A new city located east of Loneford
Seven new quests
37 new maps
One new extraordinary item by rare drop
Remember Bonemeal is illegal - And now there are consequences for its possession
Various bug fixes - Burhczyd fix
Translations actualized
v0.7.10
Weapon Rebalancing
Rebalancing of level 1 to 5 rewards
A new skill, "The way of the monk" and some equipment
Sorting of quest logs by time
Fixes for monster difficulty
Better explanation for permissions
Conversation will not close when you click outside of dialogues
Fix toast crashes (e.g. after fights)
Fix listener crashes
Fix Mapchange crashes
Fix minor bugs and typos
Translations actualized
v0.7.9
For a better overview you can now reduce the view to 75% or 50%
A certain person has found another, rather unfrequented tavern
Fixed the Arulir crashes
Fixed Ukrainian language crash and change language crash on older phones
Updated translations
v0.7.8
A few new quests and several new maps.
For new characters you can choose one of the new hardcore modes: No Saves, Limited Lives, or Permadeath.
Up to now, languages have been limited to English or your local language, as determined by your device settings. Now you can choose between different languages that are translated to a significant extent.
v0.7.7
Content:
Fixed typos
Translations:
Fixed issues with translations integration in 0.7.6
Fixed crashes for Greek players
v0.7.6
Content
Three quests with well known thieves.
Five new maps.
Translations:
100% Italian, Polish, Russian, Spanish
99% German
87% Portuguese
84% Portuguese Brazil
65% Basque
64% French
48% Hungarian
20% Czech
20% Turkish
v0.7.5
Content
- Fix for crash in guynmart after special exit
- Fix for loading pl, ar, and pt_BR content translations
Code
- Workaround for failure to save on first start
- Workaround for weird NPE in Taunt messages

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 435 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 430 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 650 KiB

View File

@@ -1 +0,0 @@
Explore the world of Dhayavar looking for your brother Andor in this quest-driven fantasy RPG

View File

@@ -1 +0,0 @@
Andor's Trail

View File

@@ -1,10 +0,0 @@
Changes in the start village Crossglen to make it even more fun and easier in the beginning
4 new quests and one enhanced quest
4 new maps
New weapon class "Pole arm weapons" and fighting style
When dpad is active (both visible and not minimized), normal touch-based movement is prevented
Various small changes and bug fixes
Translations actualized
Finally a warning:
For any PERMADEATH characters it would be a good idea to save before updating.

View File

@@ -8,4 +8,4 @@
# project structure.
# Project target.
target=android-28
target=android-17

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="0%"
android:toYDelta="-100%"
android:duration="300"
/>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXDelta="0%"
android:toXDelta="100%"
android:duration="300"
/>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:fromYDelta="-100%"
android:toYDelta="0%"
android:duration="300"
/>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="300"
/>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="true" android:color="@color/ui_blue_palette_text_gray_light"/>
<item android:state_enabled="true" android:state_checked="true" android:color="@color/ui_blue_palette_text_gray_light"/>
<item android:state_enabled="true" android:color="@color/ui_blue_palette_text_gray_mid"/>
<item android:state_enabled="false" android:color="@color/ui_blue_palette_text_gray_darker"/>
<item android:color="@color/ui_blue_palette_text_gray_mid"/>
</selector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 B

Some files were not shown because too many files have changed in this diff Show More