Version 0.6.6 . Merged from local r48 .
git-svn-id: https://andors-trail.googlecode.com/svn/trunk@20 08aca716-68be-ccc6-4d58-36f5abd142ac
@@ -3,8 +3,8 @@
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.gpl.rpg.AndorsTrail"
|
||||
android:versionCode="10"
|
||||
android:versionName="0.6.4"
|
||||
android:versionCode="13"
|
||||
android:versionName="0.6.6"
|
||||
android:installLocation="auto"
|
||||
>
|
||||
<uses-sdk
|
||||
@@ -34,6 +34,7 @@
|
||||
<activity android:name=".activity.ShopActivity" />
|
||||
<activity android:name=".activity.AboutActivity" />
|
||||
<activity android:name=".activity.LoadingActivity" />
|
||||
<activity android:name=".activity.Preferences" />
|
||||
</application>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 282 KiB |
|
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 208 KiB |
|
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
BIN
AndorsTrail/res/drawable/monsters_ghost1.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
AndorsTrail/res/drawable/monsters_ghost2.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
BIN
AndorsTrail/res/drawable/monsters_liches.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
AndorsTrail/res/drawable/monsters_men2.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
AndorsTrail/res/drawable/monsters_misc.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
BIN
AndorsTrail/res/drawable/monsters_skeleton1.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
AndorsTrail/res/drawable/monsters_skeleton2.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
@@ -34,32 +34,39 @@
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/conversation_text"
|
||||
<ScrollView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<TextView
|
||||
android:id="@+id/conversation_text"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
||||
/>
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
style="@android:style/ButtonBar"
|
||||
>
|
||||
<Button
|
||||
android:id="@+id/conversation_reply1"
|
||||
android:layout_width="0dip"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Reply 1"
|
||||
android:text="Reply with very long text that does not fit on the button"
|
||||
/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/conversation_reply2"
|
||||
android:layout_width="0dip"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Reply 2"
|
||||
/>
|
||||
|
||||
@@ -67,7 +74,7 @@
|
||||
android:id="@+id/conversation_reply3"
|
||||
android:layout_width="0dip"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Reply 3"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:gravity="right|center_vertical"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -39,6 +39,15 @@
|
||||
android:maxLines="1"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/startscreen_version"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:text="v0.0.1"
|
||||
/>
|
||||
</RelativeLayout>
|
||||
|
||||
<Button
|
||||
@@ -52,6 +61,7 @@
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
>
|
||||
<Button
|
||||
android:id="@+id/startscreen_newgame"
|
||||
|
||||
@@ -2,18 +2,16 @@
|
||||
|
||||
<resources>
|
||||
<string name="conversationlist_debug">
|
||||
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{debug||||||debug2|dialog2||||debug1|||||||||};
|
||||
{debug1|Welcome adventurer!|dialog2|||Trade|S||||Bye|X||||Debug|debug3||||};
|
||||
{debug2|Welcome back!||||Trade|S||||Bye|X||||Debug|debug3||||};
|
||||
{debug3|Debug 3\nTest||5|5|Iron sword*2|debug||sword1|2|Iron sword*1|debug||sword1|1|Iron longsword*1|debug||sword2|1|};
|
||||
{debug1|Welcome adventurer!|dialog2|||Trade items long text|S||||Bye|X||||Debug|debug3||||};
|
||||
{debug2|Welcome back!||||Trade items very very long text|S||||Bye|X||||Debug|debug3||||};
|
||||
{debug3|Debug 3\nTest||5|5|Iron sword*2|debug||sword1|2|Iron sword*1|debug||sword1|1|Fight|F||||};
|
||||
|
||||
{test1|Hello, test message||||Bye|X||||Shop|S||||Keytest|testmain||||};
|
||||
{testmain|Keytest main||||Back|test1||||Add key|test2||||I have it!|test3|testkey|||};
|
||||
{test2|Key added!|testkey|||Ok|testmain||||||||||||||};
|
||||
{test3|This is only reachable if you have testkey||||Back|testmain||||||||||||||};
|
||||
|
||||
</string>
|
||||
|
||||
|
||||
@@ -23,21 +21,24 @@
|
||||
{mikhail_gamestart|Oh good, you are awake.||||Next|mikhail_visited||||||||||||||};
|
||||
{mikhail_visited|I can\'t seem to find your brother anywhere. He hasn\'t been back since he left yesterday.|mikhail_visited|||Next|mikhail3||||||||||||||};
|
||||
{mikhail3|Nevermind, he will probably be back soon.||||Next|mikhail_default||||||||||||||};
|
||||
{mikhail_default|Anything else I can help you with?||||Bread|mikhail_bread_select||||Rats|mikhail_rats_select||||Bye|X||||};
|
||||
{mikhail_default|Anything else I can help you with?||||Tasks|mikhail_tasks||||Brother|mikhail_andor1||||Bye|X||||};
|
||||
{mikhail_tasks|Oh yes, there were some things I need help with.||||Bread|mikhail_bread_select||||Rats|mikhail_rats_select||||Back|mikhail_default||||};
|
||||
{mikhail_andor1|As I said, Andor went out yesterday and hasn\'t been back since. I\'m starting to worry about him. Please go look for your brother, he said he would only be out a short while.||||Next|mikhail_andor2||||||||||||||};
|
||||
{mikhail_andor2|Maybe he went into that supply cave again and got stuck. Or maybe he\'s in Leta\'s basement training with that wooden sword again. Please go look for him in town.||||Back|mikhail_default||||||||||||||};
|
||||
|
||||
{mikhail_bread_select||||||mikhail_bread_complete2|qmikhail_bread_complete||||mikhail_bread_continue|qmikhail_bread||||mikhail_bread_start||||};
|
||||
{mikhail_bread_start|Oh, I almost forgot. If you have time, please stop by Mara at the town hall and buy me some more bread.|qmikhail_bread|||I already have some bread|mikhail_bread_complete||bread|1|Sure|mikhail_default|||||||||};
|
||||
{mikhail_bread_continue|Did you get the bread from Mara at the town hall that I asked for?||||Yes, I got it|mikhail_bread_complete||bread|1|No, not yet|mikhail_default|||||||||};
|
||||
{mikhail_bread_complete|Thanks a lot, now I can get my breakfast. Here, take these coins for your help.|qmikhail_bread_complete||20|Back|mikhail_default||||Bye|X|||||||||};
|
||||
{mikhail_bread_complete2|Thanks for the bread earlier.||||You\'re welcome|mikhail_default||||Bye|X|||||||||};
|
||||
{mikhail_bread_start|Oh, I almost forgot. If you have time, please stop by Mara at the town hall and buy me some more bread.|qmikhail_bread|||Ok|mikhail_default||||||||||||||};
|
||||
{mikhail_bread_continue|Did you get the bread from Mara at the town hall that I asked for?||||Done|mikhail_bread_complete||bread|1|Not yet|mikhail_default|||||||||};
|
||||
{mikhail_bread_complete|Thanks a lot, now I can get my breakfast. Here, take these coins for your help.|qmikhail_bread_complete||20|Back|mikhail_default||||||||||||||};
|
||||
{mikhail_bread_complete2|Thanks for the bread earlier.||||You\'re welcome|mikhail_default||||||||||||||};
|
||||
|
||||
{mikhail_rats_select||||||mikhail_rats_complete2|qmikhail_rats_complete||||mikhail_rats_continue|qmikhail_rats||||mikhail_rats_start||||};
|
||||
{mikhail_rats_start|I saw some rats out back in our garden earlier. Could you please go check our garden if they are still there? Please kill any rats that you see.|qmikhail_rats|||I already killed them|mikhail_rats_complete||tail_trainingrat|2|Sure|mikhail_rats_start2|||||||||};
|
||||
{mikhail_rats_start|I saw some rats out back in our garden earlier. Could you please go check our garden if they are still there? Please kill any rats that you see.|qmikhail_rats|||Done|mikhail_rats_complete||tail_trainingrat|2|Sure|mikhail_rats_start2|||||||||};
|
||||
{mikhail_rats_start2|If you get hurt by the rats, come back here and rest in your bed. That way you can regain your strength.||||Next|mikhail_rats_start3||||||||||||||};
|
||||
{mikhail_rats_start3|Also, don\'t forget to check your inventory. You probably still have that old ring i gave you. Make sure you wear it.||||Ok|mikhail_default||||||||||||||};
|
||||
{mikhail_rats_continue|Did you kill those rats in our garden?||||Yes|mikhail_rats_complete||tail_trainingrat|2|No, not yet|mikhail_default|||||||||};
|
||||
{mikhail_rats_complete|Oh you did? Wow, thanks a lot for your help!\n\nIf you got hurt, use your bed over there to rest. That way you can regain your strength.|qmikhail_rats_complete|20||Back|mikhail_default||||Bye|X|||||||||};
|
||||
{mikhail_rats_complete2|Thanks for your help with the rats earlier.\n\nIf you got hurt, use your bed over there to rest. That way you can regain your strength.||||You\'re welcome|mikhail_default||||Bye|X|||||||||};
|
||||
{mikhail_rats_start3|Also, don\'t forget to check your inventory. You probably still have that old ring I gave you. Make sure you wear it.||||Ok|mikhail_default||||||||||||||};
|
||||
{mikhail_rats_continue|Did you kill those two rats in our garden?||||Yes|mikhail_rats_complete||tail_trainingrat|2|Not yet|mikhail_default|||||||||};
|
||||
{mikhail_rats_complete|Oh you did? Wow, thanks a lot for your help!\n\nIf you got hurt, use your bed over there to rest. That way you can regain your strength.|qmikhail_rats_complete|20||Back|mikhail_default||||||||||||||};
|
||||
{mikhail_rats_complete2|Thanks for your help with the rats earlier.\n\nIf you got hurt, use your bed over there to rest. That way you can regain your strength.||||You\'re welcome|mikhail_default||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_crossglen_leta">
|
||||
@@ -50,25 +51,74 @@
|
||||
{leta_oromir_complete|Hiding is he? That\'s not really the way forward. I\'ll go let him know who\'s the boss around here.\nThanks for letting me know though.|qleta_complete|30||Bye|X||||||||||||||};
|
||||
{leta_oromir_complete2|Thanks for telling me about Oromir earlier. I will go get him in just a minute.||||Bye|X||||||||||||||};
|
||||
{oromir1|Oh you startled me.\nHello.||||Hello|oromir2||||||||||||||};
|
||||
{oromir2|I\'m hiding here from my wife Leta. She is always getting angry at me for not helping out on the farm. Please don\'t tell her that i\'m here.|oromir|||Sure|X||||||||||||||};
|
||||
{oromir2|I\'m hiding here from my wife Leta. She is always getting angry at me for not helping out on the farm. Please don\'t tell her that I\'m here.|oromir|||Sure|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_crossglen">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{audir1|Welcome to my shop!\n\nPlease browse my selection of fine wares.||||Shop|S||||Bye|X|||||||||};
|
||||
{arambold1|Oh my, will I ever get any sleep with those drunkards singing like that?\n\nSomeone should do something about them.||||Can I rest here?|arambold2||||Trade|S||||Bye|X||||};
|
||||
{arambold1|Oh my, will I ever get any sleep with those drunkards singing like that?\n\nSomeone should do something about them.||||Rest|arambold2||||Trade|S||||Bye|X||||};
|
||||
{arambold2|Sure kid, you may rest here.\n\nPick any bed you want.||||Thanks, bye|X||||||||||||||};
|
||||
{tharal1|Embrace the one true god||||Trade|S||||Bye|X|||||||||};
|
||||
|
||||
{drunk1|Drink drink drink, drink some more.\nDrink drink drink \'til you\'re on the floor.\n\nHey kid, wanna join us in our drinking game?||||No thanks|X||||||||||||||};
|
||||
{mara1|Never mind those drunken fellas, they\'re always causing trouble.\n\nWant something to eat?||||Trade|S||||Bye|X|||||||||};
|
||||
{gruil1|Psst, hey.\n\nWanna trade?||||Trade|S||||Bye|X|||||||||};
|
||||
{leonid1|Begone, peasant.||||Bye|X||||||||||||||};
|
||||
{farm1|Please do not disturb me, I have work to do.||||Bye|X||||||||||||||};
|
||||
{farm2|What?! Can\'t you see i\'m busy? Go bother someone else.||||Bye|X||||||||||||||};
|
||||
{mara_default|Never mind those drunken fellas, they\'re always causing trouble.\n\nWant something to eat?||||Trade|S||||Bye|X|||||||||};
|
||||
{mara1||||||mara_thanks|qodair_complete||||mara_default|||||||||};
|
||||
{mara_thanks|I heard you helped Odair clean out that old supply cave. Thanks a lot, we\'ll start using it soon.||||My pleasure|mara_default||||||||||||||};
|
||||
|
||||
{farm1|Please do not disturb me, I have work to do.||||Brother|farm_andor||||Bye|X|||||||||};
|
||||
{farm2|What?! Can\'t you see I\'m busy? Go bother someone else.||||Brother|farm_andor||||Bye|X|||||||||};
|
||||
{farm_andor|Andor? No, I haven\'t seen him around lately.||||Bye|X||||||||||||||};
|
||||
|
||||
{snakemaster|Well well, what have we here? A visitor, how nice. I\'m impressed you got this far through all my minions.\n\nNow prepare to die, puny creature.||||Fight!|F||||||||||||||};
|
||||
{haunt|Oh mortal, free me from this cursed world!||||Leave|F||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_crossglen_tharal">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{tharal1|Walk in the glow of the shadow, my child.||||Trade|S||||Bonemeal|tharal_bonemeal_select|qleonid_bonemeal|||Bye|X||||};
|
||||
{tharal_bonemeal_select||||||tharal_bonemeal4|qtharal_complete||||tharal_bonemeal1|||||||||};
|
||||
{tharal_bonemeal1|Bonemeal? We shouldn\'t talk about that. It\'s not allowed anymore. Issued by Lord Geomyr.||||Please?|tharal_bonemeal2_1||||Bye|X|||||||||};
|
||||
{tharal_bonemeal2_1|No, we really shouldn\'t talk about that.||||Oh come on|tharal_bonemeal2||||Bye|X|||||||||};
|
||||
{tharal_bonemeal2|Well if you really are that persistent. Bring me 5 insect wings that I can use for making potions and maybe we can talk more.||||I have it|tharal_bonemeal3||insectwing|5|Ok|X|||||||||};
|
||||
{tharal_bonemeal3|Thanks kid. I knew I could count on you.|qtharal_complete|||Next|tharal_bonemeal4||||||||||||||};
|
||||
{tharal_bonemeal4|Oh yes, bonemeal. Mixed with the right components it can be one of the most effective healing agents around.||||Next|tharal_bonemeal5||||||||||||||};
|
||||
{tharal_bonemeal5|We used to use it extensively before. But now that bastard Lord Geomyr has banned all use of it.||||Next|tharal_bonemeal6||||||||||||||};
|
||||
{tharal_bonemeal6|How am I supposed to heal people now? Using regular healing potions? Bah, they\'re so ineffective.||||Next|tharal_bonemeal7||||||||||||||};
|
||||
{tharal_bonemeal7|I know someone that still has a supply of Bonemeal if you are interested. Go talk to Thoronir, a fellow priest in Fallhaven. Tell him my password \'Glow of the shadow\'.||||Thanks, bye|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_crossglen_gruil">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{gruil1|Psst, hey.\n\nWanna trade?||||Trade|S||||Brother|gruil_select|qleonid_andor|||Bye|X||||};
|
||||
{gruil_select||||||gruil_return|qgruil_andor_complete||||gruil2|||||||||};
|
||||
{gruil2|Your brother? Oh you mean Andor? I might know something, but that information will cost you. Bring me a poison gland from one of those poisonous snakes and maybe I\'ll tell you.|qgruil_andor|||I have it|gruil_complete||gland|1|Ok, bye|X|||||||||};
|
||||
{gruil_complete|Thanks a lot kid. This will do just fine. |qgruil_andor_complete|||Next|gruil_andor1||||||||||||||};
|
||||
{gruil_return|Look kid, I already told you.||||Next|gruil_andor1||||||||||||||};
|
||||
{gruil_andor1|I talked to him yesterday. He asked if I knew someone called Umar or something like that. I have no idea who he was talking about.||||Next|gruil_andor2||||||||||||||};
|
||||
{gruil_andor2|He seemed really upset about something and left in a hurry. Something about the Thieves Guild in Fallhaven.||||Next|gruil_andor3||||||||||||||};
|
||||
{gruil_andor3|That\'s all I know. Maybe you should ask around in Fallhaven. Look for my friend Gaela, he probably knows more.||||Bye|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_crossglen_leonid">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{leonid1|Hello kid. You\'re Mikhail\'s son aren\'t you? With that brother of yours.\n\nI\'m Leonid, steward of Crossglen village.||||Brother|leonid_andor||||Crossglen|leonid_crossglen||||Bye|leonid_bye||||};
|
||||
{leonid_andor|Your brother? No, I haven\'t seen him here today. I think I saw him in here yesterday talking to Gruil. Maybe he knows more?|qleonid_andor|||Thanks|leonid_continue||||Bye|leonid_bye|||||||||};
|
||||
{leonid_continue|Anything else I can help you with?||||Brother|leonid_andor||||Crossglen|leonid_crossglen||||Bye|leonid_bye||||};
|
||||
{leonid_crossglen|As you know, this is Crossglen village. Mostly a farming community. ||||Next|leonid_crossglen1||||||||||||||};
|
||||
{leonid_crossglen1|We have Audir with his smithy to the southwest, Leta and her husband\'s cabin to the west, this town hall here and your father\'s cabin to the northwest.||||Next|leonid_crossglen2||||||||||||||};
|
||||
{leonid_crossglen2|That\'s pretty much it. We try to live a peaceful life.||||Recent activity|leonid_crossglen3||||Back|leonid_continue|||||||||};
|
||||
{leonid_crossglen3|There were some recent disturbances some weeks ago that you may have noticed. Some villagers got into a fight over the new decree from Lord Geomyr.||||Next|leonid_crossglen4||||||||||||||};
|
||||
{leonid_crossglen4|Lord Geomyr issued a statement regarding the unlawful use of Bonemeal as healing substance. Some villagers argued that we should oppose Lord Geomyr\'s word and still use it ourselves.|qleonid_bonemeal|||Next|leonid_crossglen4_1||||||||||||||};
|
||||
{leonid_crossglen4_1|Tharal, our priest, was particularly upset and suggested we do something about Lord Geomyr.||||Next|leonid_crossglen5||||||||||||||};
|
||||
{leonid_crossglen5|Other villagers argued that we should follow Lord Geomyr\'s wish.\n\nPersonally, I haven\'t decided what my thoughts are.||||Next|leonid_crossglen6||||||||||||||};
|
||||
{leonid_crossglen6|On one hand, Lord Geomyr supports Crossglen with a lot of protection. *points to the soldiers in the hall*||||Next|leonid_crossglen7||||||||||||||};
|
||||
{leonid_crossglen7|But on the other hand, the tax and the recent changes of what\'s allowed and not are really hitting hard on Crossglen.||||Next|leonid_crossglen8||||||||||||||};
|
||||
{leonid_crossglen8|Someone should go to castle Geomyr and talk to the steward about our situation here in Crossglen.|qleonid_crossglen|||Next|leonid_crossglen9||||||||||||||};
|
||||
{leonid_crossglen9|In the meantime, we\'ve banned all use of Bonemeal as healing substance.||||Back|leonid_continue||||Bye|leonid_bye|||||||||};
|
||||
{leonid_bye|Shadow be with you.||||Exit|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_crossglen_odair">
|
||||
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{odair1|Oh, it\'s you. You with that brother of yours. Always causing trouble.||||Next|odair_select||||||||||||||};
|
||||
{odair_select||||||odair_complete2|qodair_complete||||odair_continue|qodair||||odair2||||};
|
||||
@@ -80,11 +130,249 @@
|
||||
{odair_continue|Did you kill that large rat in the cave west of here?||||Yes|odair_complete||tail_caverat|1|What?|odair5||||Not yet|odair_cowards||||};
|
||||
{odair_complete|Thanks a lot for you help kid! Maybe you and that brother of yours aren\'t as cowardly as I thought. Here, take these coins for your help.|qodair_complete|30|20|Thanks|X||||||||||||||};
|
||||
{odair_complete2|Thanks a lot for your help earlier. Now we might start using that cave as our old supply cave again.||||Bye|X||||||||||||||};
|
||||
|
||||
</string>
|
||||
|
||||
|
||||
<string name="conversationlist_jan">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{jan1|TODO||||Bye|X||||||||||||||};
|
||||
{jan_start_select||||||jan_complete2|qjan_complete||||jan_return|qjan||||jan_default||||};
|
||||
{jan_default|Hello kid. Please leave me to my mourning.||||Mourning|jan_default2||||Ok, bye|X|||||||||};
|
||||
{jan_default2|Oh, it\'s so sad. I really don\'t want to talk about it.||||Please do|jan_default3||||Ok, bye|X|||||||||};
|
||||
{jan_default3|Well, I guess it\'s ok to tell you. You seem to be a nice enough kid.||||Next|jan_default4||||||||||||||};
|
||||
{jan_default4|Me, my friend Gandir and his friend Irogotu were down here digging this hole. We had heard there was a hidden treasure down here.||||Next|jan_default5||||||||||||||};
|
||||
{jan_default5|We started digging and finally broke through to the cave system below. That\'s when we discovered them. The critters and bugs.||||Next|jan_default6||||||||||||||};
|
||||
{jan_default6|Oh those critters. Damn bastards. Nearly killed me they did.\n\nMe and Gandir told Irogotu that we should abort the digging and leave while we still could.||||Next|jan_default7||||||||||||||};
|
||||
{jan_default7|But Irogotu wanted to continue deeper into the dungeon. He and Gandir got into an argument and started fighting.||||Next|jan_default8||||||||||||||};
|
||||
{jan_default8|That\'s when it happened.\n\n*sob*\n\nOh what have we done?||||Next|jan_default9||||||||||||||};
|
||||
{jan_default9|Irogotu killed Gandir with his bare hands. You could see the fire in his eyes. He almost seemed to enjoy it.||||Next|jan_default10||||||||||||||};
|
||||
{jan_default10|I fled and haven\'t dared go back down there because of the critters and Irogotu himself.||||Next|jan_default11||||||||||||||};
|
||||
{jan_default11|Oh that damn Irogotu. If only I could get to him. I\'d show him one thing and another.||||Next|jan_default11_1|!qjan|||Next|jan_default13|qjan||||||||};
|
||||
{jan_default11_1|Do you think you could help me?||||I could help|jan_default12||||Bye|X|||||||||};
|
||||
{jan_default12|Really? You think you could help? Hm, maybe you could. Beware of those bugs though, they\'re really tough bastards.|qjan|||Next|jan_default13||||||||||||||};
|
||||
{jan_default13|If you really want to help, go find Irogotu down in the cave, and get me back Gandir\'s ring.||||Sure|jan_default14||||Background|jan_background||||Bye|X||||};
|
||||
{jan_default14|Return to me when you are done. Bring me Gandir\'s ring from Irogotu down in the cave.||||Ok, bye|X||||||||||||||};
|
||||
{jan_return|Hello again kid. Did you find Irogotu down in the cave?||||Not yet|jan_default14||||Background|jan_background||||Yes|jan_complete||ring_gandir|1|};
|
||||
{jan_background|Didn\'t you listen the first time I told you the story? Do I really have to tell you the story one more time?||||Yes|jan_default3||||No|jan_default14|||||||||};
|
||||
{jan_complete2|Thanks for dealing with Irogotu earlier! I am forever in debt to you.||||Bye|X||||||||||||||};
|
||||
{jan_complete|Wait, what? You actually went down there and returned alive? How did you manage that? Wow, I almost died going into that cave.\n\nOh thank you so much for bringing me back Gandir\'s ring! Now I can have something to remember him by.|qjan_complete|150||Bye|X||||||||||||||};
|
||||
|
||||
{irogotu|Well hello there. Another adventurer. This is MY CAVE. The treasure will be MINE!||||Gandir|irogotu1|qjan|||Bye|X|||||||||};
|
||||
{irogotu1|That whelp Gandir? He was in my way. I merely used him as a tool to dig deeper into the cave.||||Next|irogotu2||||||||||||||};
|
||||
{irogotu2|Besides, I never really liked him anyway.||||Ring|irogotu3||||||||||||||};
|
||||
{irogotu3|NO! You cannot have it. It\'s mine! And what are you anyway kid, coming down here to disturb me?!||||Ring|irogotu4||||||||||||||};
|
||||
{irogotu4|No. If you want it you would have to take if from me by force, and I should tell you that my powers are great. Besides, you probably wouldn\'t dare fight me anyway.||||Fight!|F||||Leave|X|||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
|
||||
{fallhaven_citizen1|Hello there. Nice weather ain\'t it?||||Brother|fallhaven_andor_1||||Bye|X|||||||||};
|
||||
{fallhaven_citizen2|Hello. Anything you want from me?||||Brother|fallhaven_andor_2||||Bye|X|||||||||};
|
||||
{fallhaven_citizen3|Hi. Can I help you?||||Brother|fallhaven_andor_3||||Bye|X|||||||||};
|
||||
{fallhaven_citizen4|You\'re that kid from Crossglen village right?||||Brother|fallhaven_andor_4||||Bye|X|||||||||};
|
||||
{fallhaven_citizen5|Out of the way, peasant.||||Bye|X||||||||||||||};
|
||||
{fallhaven_citizen6|Good day to you.||||Brother|fallhaven_andor_6||||Bye|X|||||||||};
|
||||
{fallhaven_andor_1|No, sorry. I haven\'t seen anyone by that description.||||Bye|X||||||||||||||};
|
||||
{fallhaven_andor_2|Some other kid you say? Hm, let me think.||||Next|fallhaven_andor_1||||||||||||||};
|
||||
{fallhaven_andor_3|Hm, I might have seen someone matching that description a few days ago. Can\'t remember where though.||||Bye|X||||||||||||||};
|
||||
{fallhaven_andor_4|Oh yes, there was another kid from Crossglen village here a few days ago. Not sure he matched your description though.||||Next|fallhaven_andor_4_1||||Bye|X|||||||||};
|
||||
{fallhaven_andor_4_1|There were some shady looking people following him around. Didn\'t see any more than that.||||Bye|X||||||||||||||};
|
||||
{fallhaven_andor_6|Nope. Haven\'t seen him.||||Bye|X||||||||||||||};
|
||||
|
||||
{fallhaven_guard|Keep out of trouble.||||Bye|X||||||||||||||};
|
||||
{fallhaven_priest|Shadow be with you.||||Shadow|priest_shadow_1||||Bye|X|||||||||};
|
||||
{priest_shadow_1|The shadow protects us. It keeps us safe and comforts us when we sleep.||||Next|priest_shadow_2||||||||||||||};
|
||||
{priest_shadow_2|It follows us wherever we go. Go with the shadow my child.||||Bye|X||||||||||||||};
|
||||
{fallhaven_warden|State your business.||||Prisoner|warden_prisoner_1||||Bye|X|||||||||};
|
||||
{warden_prisoner_1|That thief? He was caught in the act. Trespassing he was. Trying to get down into the catacombs of Fallhaven church.||||Next|warden_prisoner_2||||||||||||||};
|
||||
{warden_prisoner_2|Luckily, we caught him before he could get down there. Now he\'ll serve as an example to all other thieves.||||Next|warden_prisoner_3||||||||||||||};
|
||||
{warden_prisoner_3|Damn thieves. There must be a nest of them around here somewhere. If only I could find where they hide.||||Bye|X||||||||||||||};
|
||||
|
||||
{rigmor|Well hello there! Aren\'t you a cute little fellow.||||Brother|rigmor_1||||Bye|rigmor_leave_select|||||||||};
|
||||
{rigmor_1|Your brother you say? His name is Andor? No. I can\'t recall meeting anyone like that.||||Bye|rigmor_leave_select||||||||||||||};
|
||||
{rigmor_leave_select||||||rigmor_thanks|qfallhaven_oldman_complete||||X|||||||||};
|
||||
{rigmor_thanks|I heard you helped my old man find his book, thank you. He had been talking about that book for weeks. Poor thing, he tends to forget things.||||Bye|X||||||||||||||};
|
||||
{fallhaven_clothes|Welcome to my shop. Please browse my selection of fine clothing and jewelry.||||Trade|S||||Bye|X|||||||||};
|
||||
{fallhaven_potions|Welcome to my shop. Please browse my fine selection of everyday potions.||||Trade|S||||Bye|X|||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_bucus">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{bucus_welcome|Hi again, welcome to the .. Oh wait, I thought you were someone else.||||Brother|bucus_andor_select||||Thieves Guild|bucus_thieves_select|!qbucus_complete|||Bye|X||||};
|
||||
{bucus_andor_select||||||bucus_umar_1|qbucus_complete||||bucus_andor_no_1|||||||||};
|
||||
{bucus_andor_no_1|How interesting that you should ask. What if I had seen him? Why would I tell you?||||Next|bucus_andor_no_2||||||||||||||};
|
||||
{bucus_andor_no_2|No, I can\'t tell you. Now please leave.||||Bye|X||||||||||||||};
|
||||
{bucus_thieves_select||||||bucus_thieves_continue|qbucus||||bucus_thieves_1|qbucus_thieves||||bucus_thieves_no||||};
|
||||
{bucus_thieves_no|Wh, what? No, I don\'t know anything about that.||||Bye|X||||||||||||||};
|
||||
{bucus_umar_1|Ok kid. You\'ve proven yourself to me. Yes, I saw some other kid by that description running around here a few days ago.||||Next|bucus_umar_2||||||||||||||};
|
||||
{bucus_umar_2|I don\'t know what he was up to though. Kept asking lots of questions. Kind of like you do. *snicker*||||Next|bucus_umar_3||||||||||||||};
|
||||
{bucus_umar_3|Anyway, that\'s all I know. You should go talk to Umar, he probably knows more. Down that hatch over there.|qfallhaven_derelict|||Ok, bye|X||||||||||||||};
|
||||
{bucus_thieves_1|Who told you that? Argh.\n\nOk so you found us. Now what?||||Join|bucus_thieves_2||||Bye|X|||||||||};
|
||||
{bucus_thieves_2|Hah! Join the thieves guild?! You?!\n\nYou\'re one funny kid.||||I\'m serious|bucus_thieves_3||||Bye|X|||||||||};
|
||||
{bucus_thieves_3|Ok, tell you what kid. Do a task for me and maybe I\'ll consider giving you more info.||||Task|bucus_thieves_4||||Bye|X|||||||||};
|
||||
{bucus_thieves_4|Bring me the key of Luthor and we can talk more. I don\'t know anything about the key itself, but rumor has it that it is located somewhere in the catacombs beneath Fallhaven Church.|qbucus|||Ok|X||||||||||||||};
|
||||
{bucus_thieves_continue|How is the search for the key of Luthor going?||||Background|bucus_thieves_4||||I have it|bucus_thieves_complete_1||key_luthor|1|Bye|X||||};
|
||||
{bucus_thieves_complete_1|Wow, you actually got the key of Luthor? I didn\'t think you would make it out of there.|qbucus_complete|215||Next|bucus_thieves_complete_2||||||||||||||};
|
||||
{bucus_thieves_complete_2|Well done kid.||||Next|bucus_thieves_complete_3||||||||||||||};
|
||||
{bucus_thieves_complete_3|So, let\'s talk. What do you want to know?||||Brother|bucus_umar_1||||Bye|X|||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_drunk">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{fallhaven_drunk|No problem. No sireee! Not causing any more trouble now. I sits here outside now.||||Next|fallhaven_drunk_2||||Bye|X|||||||||};
|
||||
{fallhaven_drunk_2|Wait, who are you again? Are you that guard?||||Yes|fallhaven_drunk_3_1||||No|fallhaven_drunk_3_2|||||||||};
|
||||
{fallhaven_drunk_3_1|Oh, sir. I\'m not causing any trouble anymore, see? Sits outside now as you says, ok?||||Next|fallhaven_drunk_4||||||||||||||};
|
||||
{fallhaven_drunk_3_2|Oh good. That guard threw me out of the tavern. If I see him again I\'ll show him one thing or another.||||Next|fallhaven_drunk_4||||||||||||||};
|
||||
{fallhaven_drunk_4|Drink drink drink, drink some more. Drink, drink .. Uh how did it go again?||||Next|fallhaven_drunk_5||||||||||||||};
|
||||
{fallhaven_drunk_5|Were you saying something? Where was I? Yes, so we were in this dungeon.||||Next|fallhaven_drunk_6||||||||||||||};
|
||||
{fallhaven_drunk_6|Or was it a house? I can\'t remember.||||Next|fallhaven_drunk_7||||||||||||||};
|
||||
{fallhaven_drunk_7|No no, it was outside! Now I remember.||||Next|fallhaven_drunk_8|!qfallhaven_drunk|||Next|fallhaven_drunk_11|qfallhaven_drunk||||||||};
|
||||
{fallhaven_drunk_8|That\'s where we..\n\nHey, where did my mead go? Did you take it from me? ||||Yes|fallhaven_drunk_9_1||||No|fallhaven_drunk_9_2|||||||||};
|
||||
{fallhaven_drunk_9_1|Well then give it back! Or go buy me another mead.||||Here, have it|fallhaven_drunk_10||mead|1|Bye|X|||||||||};
|
||||
{fallhaven_drunk_9_2|I must have drunk it then. Could you get me a new mead do you think? ||||Here, have it|fallhaven_drunk_10||mead|1|Bye|X|||||||||};
|
||||
{fallhaven_drunk_10|Oh sweet drinks of joy. May the sssshadow be with you kid. *makes big eyes*|qfallhaven_drunk|||Next|fallhaven_drunk_11||||||||||||||};
|
||||
{fallhaven_drunk_11|*takes a gulp of the mead*\n\nThat\'s good stuff!||||Next|fallhaven_drunk_12||||||||||||||};
|
||||
{fallhaven_drunk_12|Yeah, me and Unnmir had good times. Go ask him yourself, he is usually in the barn to the east of here. I wonder where that treasure went.|qfallhaven_drunk_complete|||Bye|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_oldman">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{fallhaven_oldman||||||fallhaven_oldman_complete_2|qfallhaven_oldman_complete||||fallhaven_oldman_continue|qfallhaven_oldman||||fallhaven_oldman_1||||};
|
||||
{fallhaven_oldman_1|Would you help an old man please?||||Sure|fallhaven_oldman_2||||Bye|X|||||||||};
|
||||
{fallhaven_oldman_2|I recently lost a very valuable book ok mine.||||Next|fallhaven_oldman_3||||||||||||||};
|
||||
{fallhaven_oldman_3|I know I had it with me yesterday. Now I can\'t seem to find it.||||Next|fallhaven_oldman_4||||||||||||||};
|
||||
{fallhaven_oldman_4|I never lose things! Someone must have stolen it, that\'s my guess.||||Next|fallhaven_oldman_5||||||||||||||};
|
||||
{fallhaven_oldman_5|Would you please go look for my book? It\'s called \'Calomyran secrets\'.|qfallhaven_oldman|||Next|fallhaven_oldman_6||||||||||||||};
|
||||
{fallhaven_oldman_6|I have no idea where it might be. You could go ask Arcir, he seems very fond of his books. *points at the house to the south*||||Bye|X||||||||||||||};
|
||||
{fallhaven_oldman_continue|How is the search for my book going? It\'s called \'Calomyran secrets\'. Have you found my book?||||Yes|fallhaven_oldman_complete||calomyran_secrets|1|No|fallhaven_oldman_6||||Background|fallhaven_oldman_2||||};
|
||||
{fallhaven_oldman_complete|My book! Thank you, thank you! Where was it? No, don\'t tell me. Here, have these coins as help for your trouble.|qfallhaven_oldman_complete|60|51|Bye|X||||||||||||||};
|
||||
{fallhaven_oldman_complete_2|Thank you so much for finding my book!||||Bye|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_nocmar">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{nocmar|Hello. I\'m Nocmar.||||Trade|nocmar_trade_select||||Unnmir|nocmar_quest_select|qnocmar_unnmir|||Bye|X||||};
|
||||
{nocmar_quest_select||||||nocmar_complete_5|qnocmar_complete||||nocmar_continue|qnocmar||||nocmar_quest||||};
|
||||
{nocmar_trade_select||||||S|qnocmar_complete||||nocmar_trade_1|||||||||};
|
||||
{nocmar_trade_1|I don\'t have any items for sale. I used to have a lot of things for sale, but nowadays I\'m not allowed to sell anything.||||Next|nocmar_trade_2||||||||||||||};
|
||||
{nocmar_trade_2|I was once one of the greatest smiths in Fallhaven. Then that bastard Lord Geomyr banned my use of heartsteel.||||Next|nocmar_trade_3||||||||||||||};
|
||||
{nocmar_trade_3|By decree of Lord Geomyr, noone in Fallhaven is allowed to even use heartsteel weapons. Much less sell any.||||Next|nocmar_trade_4||||||||||||||};
|
||||
{nocmar_trade_4|So now I have to hide the few weapons I have left. And I won\'t dare sell any of them anymore.||||Next|nocmar_trade_4_1||||||||||||||};
|
||||
{nocmar_trade_4_1|I haven\'t seen the heartsteel glow in several years now that Lord Geomyr has banned them.||||Next|nocmar_trade_5||||||||||||||};
|
||||
{nocmar_trade_5|So, unfortunately I can\'t sell you any of my weapons.||||Bye|X||||||||||||||};
|
||||
{nocmar_quest|Unnmir sent you huh? I guess it must be important then.|qnocmar|||Next|nocmar_quest_1||||||||||||||};
|
||||
{nocmar_quest_1|Ok, these old weapons have lost their inner glow now that they haven\'t been used in a while.||||Next|nocmar_quest_2||||||||||||||};
|
||||
{nocmar_quest_2|To make the heartsteel glow again, we will need a heartstone. ||||Next|nocmar_quest_3||||||||||||||};
|
||||
{nocmar_quest_3|Years ago, we used to fight the liches of Undertell. I have no idea if they still haunt that place.||||Undertell|nocmar_quest_4||||||||||||||};
|
||||
{nocmar_quest_4|Undertell; the pits of the lost souls. Travel south and enter the caverns of the Dwarves. Follow the horrid smell from there.||||Next|nocmar_quest_5||||||||||||||};
|
||||
{nocmar_continue|Have you found a heartstone yet?||||Yes|nocmar_complete||heartstone|1|Background|nocmar_quest_1||||Not yet|nocmar_continue_2||||};
|
||||
{nocmar_continue_2|Please keep looking. Unnmir must have something important planned for you.||||Bye|X||||||||||||||};
|
||||
{nocmar_quest_5|Beware the liches of Undertell, if they still are around. Those things can kill you by their gaze alone.||||Bye|X||||||||||||||};
|
||||
{nocmar_complete|By the shadow. You actually found a heartstone. I thought I wouldn\'t live to see the day.|qnocmar_complete|120||Next|nocmar_complete_2||||||||||||||};
|
||||
{nocmar_complete_2|Can you see the glow? It\'s literally pulsating.||||Next|nocmar_complete_3||||||||||||||};
|
||||
{nocmar_complete_3|Quick. Let\'s get these old heartsteel weapons glow again.||||Next|nocmar_complete_4||||||||||||||};
|
||||
{nocmar_complete_4|*Nocmar places the heartstone among the heartsteel weapons*||||Next|nocmar_complete_5||||||||||||||};
|
||||
{nocmar_complete_5|Can you feel it? The heartsteel is glowing again.||||Trade|S||||Bye|X|||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_tavern">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{bela|Welcome to Fallhaven Tavern. Have a seat anywhere.||||Trade|S||||Room|bela_room_select||||Bye|X||||};
|
||||
{bela_room_1|A room for the night will cost you 10 gold.||||Buy [10 gold]|bela_room_2||||Back|bela|||||||||};
|
||||
{bela_room_2|Thanks. Take the last room down at the end of the hall.|qfallhaven_tavern_room2||-10|Back|bela||||Bye|X|||||||||};
|
||||
{bela_room_3|I hope the room suits your needs. It\'s the last room down at the end of the hall.||||Back|bela||||Bye|X|||||||||};
|
||||
{bela_room_select||||||bela_room_3|qfallhaven_tavern_room2||||bela_room_1|||||||||};
|
||||
{ganos|You seem familiar somehow.||||Trade|S||||Thieves guild|ganos_1|qgruil_andor_complete|||Bye|X||||};
|
||||
{ganos_1|Thieves guild? How would I know? Do I look like a thief to you?! Hrmpf.||||Leave|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_arcir">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{arcir_start|Hello. I\'m Arcir.||||Elythara|arcir_elythara_1|qarcir|||Books|arcir_books_1||||Bye|X||||};
|
||||
{arcir_anythingelse|Anything else you wanted to ask?||||Elythara|arcir_elythara_1|qarcir|||Books|arcir_books_1||||Bye|X||||};
|
||||
{arcir_elythara_1|You found my statue in the basement I guess?\n\nYes, Elythara is my protector.||||Back|arcir_anythingelse||||||||||||||};
|
||||
{arcir_books_1|I find great pleasure in my books. They contain past generations\' accumulated knowledge.||||Calomyran secrets|arcir_calomyran_select|qfallhaven_oldman|||Back|arcir_anythingelse|||||||||};
|
||||
{arcir_calomyran_1|\'Calomyran Secrets\'? Hm, yes I think I have one of those in my basement.||||Next|arcir_calomyran_2||||||||||||||};
|
||||
{arcir_calomyran_2|Old man Benradas came by last week, wanting to sell me that book. Since it\'s not really my kind of book, I declined.||||Next|arcir_calomyran_3||||||||||||||};
|
||||
{arcir_calomyran_3|He seemed upset that I didn\'t like his book, and threw it at me while storming out of the house.||||Next|arcir_calomyran_4||||||||||||||};
|
||||
{arcir_calomyran_4|Poor old man Benradas, he probably forgot that he left it here. He tends to forget things.||||Back|arcir_anythingelse||||||||||||||};
|
||||
{arcir_calomyran_5|You looked downstairs but didn\'t find it? And a note you say? I guess there must have been someone in my house.||||Next|arcir_calomyran_6||||||||||||||};
|
||||
{arcir_calomyran_select||||||arcir_calomyran_complete|qfallhaven_oldman_complete||||arcir_calomyran_5|qcalomyran_tornpage||||arcir_calomyran_1||||};
|
||||
{arcir_calomyran_complete|I heard you found it and gave it back to old man Benradas. Thank you. He tends to forget things.||||Back|arcir_anythingelse||||Bye|X|||||||||};
|
||||
{arcir_calomyran_6|What did the note say?\n\nLarcal.. I know of him. Always causing trouble. He is usually in the barn to the east of here.||||Thanks, bye|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_church">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{chapelgoer|Shadow, embrace me.||||Bye|X||||||||||||||};
|
||||
{thoronir_default|Bask in the shadow, my child.||||Shadow|thoronir_shadow_1||||Church|thoronir_church_1||||Trade|thoronir_trade_bonemeal|qthoronir_complete|||};
|
||||
{thoronir_shadow_1|Shadows protect us from the dangers of the night. It keeps us safe and comforts us when we sleep.||||Glow of the shadow|thoronir_tharal_select|qtharal_complete|||Back|thoronir_default||||Bye|X||||};
|
||||
{thoronir_church_1|This is our chapel of worship in Fallhaven. Our community turns to us for support.||||Next|thoronir_church_2||||||||||||||};
|
||||
{thoronir_church_2|This church has withstood hundreds of years, and has been kept safe from graverobbers.||||Next|thoronir_church_3||||||||||||||};
|
||||
{thoronir_tharal_select||||||thoronir_trade_bonemeal|qthoronir_complete||||thoronir_tharal_1|||||||||};
|
||||
{thoronir_tharal_1|Glow of the shadow indeed my child. So my old friend Tharal in Crossglen village sent you?||||Next|thoronir_tharal_2||||||||||||||};
|
||||
{thoronir_church_3|The catacombs beneath the church houses great leaders of the past. Our great Luthor is rumored to be buried there.||||Enter|thoronir_church_4|qbucus|||Back|thoronir_default||||Bye|X||||};
|
||||
{thoronir_church_4|Noone is allowed down in the catacombs, except for Athamyr, my apprentice. He is the only one that has been down there for years.|qthoronir_catacombs|||Back|thoronir_default||||||||||||||};
|
||||
{thoronir_tharal_2|Shhh, we shouldn\'t talk so loud about using Bonemeal. As you know, Lord Geomyr issued a ban on all use of Bonemeal.||||Next|thoronir_tharal_3||||||||||||||};
|
||||
{thoronir_tharal_3|When the ban came, I did not dare keep any, so I threw away my whole supply. Quite foolish now that I look back at it.||||Next|thoronir_tharal_4||||||||||||||};
|
||||
{thoronir_tharal_4|Do you think you could find me 5 skeletal bones that I can use for mixing a bonemeal potion? The bonemeal is very potent in healing old wounds.||||Sure|thoronir_tharal_5||||Done|thoronir_tharal_complete||bone|5|Bye|X||||};
|
||||
{thoronir_tharal_5|Thank you, please be back soon. I heard there were some undead near an old abandoned house just north of Fallhaven. Maybe you can check for bones there?||||Back|thoronir_default||||Bye|X|||||||||};
|
||||
{thoronir_tharal_complete|Thank you, these bones will do fine. Now I can start creating a bonemeal healing potion for you.|qthoronir_complete|90||Next|thoronir_complete_2||||||||||||||};
|
||||
{thoronir_complete_2|Give me some time to mix the bonemeal potion. It is a very potent healing potion.||||Bye|X||||||||||||||};
|
||||
{thoronir_trade_bonemeal|The bonemeal potions are ready. Please use them with care, and don\'t let the guards see you. We are not actually allowed to use them anymore.||||Trade|S||||Back|thoronir_default||||Bye|X||||};
|
||||
{catacombguard|Turn back while you still can, mortal. This is no place for you. Only death awaits you here.||||Turn back|X||||Proceed|catacombguard1|||||||||};
|
||||
{catacombguard1|Nooo, you shall not pass!||||Fight|F||||||||||||||};
|
||||
{luthor|*hissss* What mortal distubs my sleep?||||Fight|F||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_athamyr">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{athamyr|Walk with the shadow.||||Catacombs|athamyr_select|qthoronir_catacombs|||Bye|X|||||||||};
|
||||
{athamyr_1|Yes, I have been down in the catacombs beneath Fallhaven Church. ||||Next|athamyr_2||||||||||||||};
|
||||
{athamyr_2|But I\'m the only one that both has the permission and the bravery to go down there.||||Permission|athamyr_3||||||||||||||};
|
||||
{athamyr_3|You want to go down in the catacombs? Hm, maybe we can make a deal.||||Next|athamyr_4||||||||||||||};
|
||||
{athamyr_4|Bring me some of that fine cooked meat from the tavern and you can have my permission to go down in the catacombs beneath Fallhaven Church.||||Done|athamyr_complete||meat_cooked|1|Bye|X|||||||||};
|
||||
{athamyr_complete_2|Thanks for helping me. You have my permission to go down in the catacombs beneath Fallhaven Church.|qfallhaven_church|||Bye|X||||||||||||||};
|
||||
{athamyr_select||||||athamyr_complete_2|qathamyr_complete||||athamyr_1|||||||||};
|
||||
{athamyr_complete|Thanks, this will do nicely.|qathamyr_complete|70||Next|athamyr_complete_2||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_larcal">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{larcal|I don\'t have time for you kid. Get lost.||||Calomyran Secrets|larcal_1|qcalomyran_tornpage|||Bye|X|||||||||};
|
||||
{larcal_1|Now now, what have we here? Are you implying that I have been down in Arcir\'s basement?||||Next|larcal_2||||||||||||||};
|
||||
{larcal_2|So, maybe I was. The book is mine anyway.||||Next|larcal_3||||||||||||||};
|
||||
{larcal_3|Look, let\'s solve this peacefully. You walk away and forget about that book, and you might still live.||||Leave|larcal_4||||No|larcal_5|||||||||};
|
||||
{larcal_4|Good boy. Now run away.||||Bye|X||||||||||||||};
|
||||
{larcal_5|Ok, now you\'re starting to annoy me kid. Get lost while you still can.||||Leave|X||||No|larcal_6|||||||||};
|
||||
{larcal_6|Still here? Ok then, if you want the book that bad you will have to take it from me!||||Fight|F||||Leave|X|||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_unnmir">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{unnmir|Hi there.||||Drunken story|unnmir_1|qfallhaven_drunk_complete|||Bye|X|||||||||};
|
||||
{unnmir_1|That old drunk over at the tavern told you his story did he?||||Next|unnmir_2||||||||||||||};
|
||||
{unnmir_2|Same old story. We used to travel together a few years back.||||Next|unnmir_3||||||||||||||};
|
||||
{unnmir_3|Real adventuring you know, swords and spells.||||Next|unnmir_4||||||||||||||};
|
||||
{unnmir_4|But then we stopped. Can\'t really say why, I guess we got tired of life on the road. We settled down here in Fallhaven.||||Next|unnmir_5||||||||||||||};
|
||||
{unnmir_5|Nice little town here. Many thieves around though, but they don\'t bother me.||||Next|unnmir_6||||||||||||||};
|
||||
{unnmir_6|So what\'s your story kid? How did you end up here in Fallhaven?||||Brother|unnmir_7||||Bye|X|||||||||};
|
||||
{unnmir_7|Yeah yeah, I get it. Your brother has probably run off to some dungeon wanting to do adventuring. *rolls eyes*||||Next|unnmir_8||||||||||||||};
|
||||
{unnmir_8|Or maybe he has gone to the one of the bigger cities to the north.||||Next|unnmir_9||||||||||||||};
|
||||
{unnmir_9|Can\'t say I blame him for wanting to see the world.||||Next|unnmir_10||||||||||||||};
|
||||
{unnmir_10|Hey by the way, are you also looking to be an adventurer?||||Yes|unnmir_11||||Not really|unnmir_12|||||||||};
|
||||
{unnmir_11|Nice. I\'ll give you a hint kid. *snickering*. Go see Nocmar over by the west side of town. Tell him I sent you.|qnocmar_unnmir|||Next|unnmir_13||||||||||||||};
|
||||
{unnmir_12|Smart move. Adventuring leads to a lot of scars. If you know what I mean.||||Bye|X||||||||||||||};
|
||||
{unnmir_13|His house is just southwest of the tavern.||||Thanks|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
<string name="conversationlist_fallhaven_gaela">
|
||||
[ID|Text|EnableKey|RwdExp|RwdGold|Rep_text0|Rep_id0|Rep_reqKey0|Rep_itemTag0|Rep_itemQty0|Rep_text1|Rep_id1|Rep_reqKey1|Rep_itemTag1|Rep_itemQty1|Rep_text2|Rep_id2|Rep_reqKey2|Rep_itemTag2|Rep_itemQty2|];
|
||||
{gaela|Swift is my blade. Poisoned is my tongue. Or was it the other way around?||||Thieves|gaela_1||||Bye|X|||||||||};
|
||||
{gaela_1|Yes, we thieves have a strong presence here in Fallhaven.||||Next|gaela_2|qgruil_andor_complete|||Bye|X|||||||||};
|
||||
{gaela_2|I heard that you helped Gruil, a fellow thief in Crossglen village.||||Next|gaela_3||||||||||||||};
|
||||
{gaela_3|Word has also reached me that you are looking for someone. I might be able to help you.||||Next|gaela_4||||||||||||||};
|
||||
{gaela_4|You should go talk to Bucus in the derelict house a bit southwest of here. Tell him you want to know more about the Thieves guild.|qbucus_thieves|||Thanks|gaela_5||||||||||||||};
|
||||
{gaela_5|Consider it a favor done in return for you helping Gruil.||||Bye|X||||||||||||||};
|
||||
</string>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -15,12 +15,13 @@
|
||||
<string name="itemlist_weapons">
|
||||
[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|];
|
||||
{club1|items_tiles:126|Wooden club|0|7||5|10|||0-1|||};
|
||||
{club3|items_tiles:128|Iron club|0|253||5|5|||2-7|||};
|
||||
{club3|items_tiles:128|Iron club|0|253||6|5|||2-7|||};
|
||||
{ironsword0|items_tiles:70|Iron sword|0|12||5|10|||0-1|||};
|
||||
{hammer0|items_tiles:129|Iron hammer|0|12||5|10|||0-1|||};
|
||||
{hammer1|items_tiles:129|Giant hammer|0|121||10|5|||4-7|||};
|
||||
{dagger0|items_tiles:84|Iron dagger|0|12||5|10|||0-1|||};
|
||||
{dagger1|items_tiles:84|Sharp iron dagger|0|53||3|20|||1-2|||};
|
||||
{dagger2|items_tiles:84|Superior iron dagger|0|70||3|20|||2-3|||};
|
||||
{dagger1|items_tiles:84|Sharp iron dagger|0|53||4|20|||1-2|||};
|
||||
{dagger2|items_tiles:84|Superior iron dagger|0|70||4|25|||1-2|||};
|
||||
{shortsword1|items_tiles:85|Iron shortsword|0|78||4|15|||1-2|||};
|
||||
{ironsword1|items_tiles:70|Iron sword|0|78||5|10|||1-3|||};
|
||||
{ironsword2|items_tiles:71|Iron longsword|0|121||5|10|||1-4|||};
|
||||
@@ -29,6 +30,7 @@
|
||||
{steelsword1|items_tiles:77|Steel sword|0|874||4|25|||3-8|||};
|
||||
{axe1|items_tiles:140|Woodcutter axe|0|24||5|5|||1-3|||};
|
||||
{axe2|items_tiles:140|Iron axe|0|312||6|5|||2-5|||};
|
||||
{quickdagger1|items_tiles:84|Quickstrike dagger|0|512||3|20|||0|-20||};
|
||||
</string>
|
||||
|
||||
|
||||
@@ -42,13 +44,22 @@
|
||||
{ring_block1|items_tiles:266|Ring of block|7|1239|||||||10||};
|
||||
{ring_block2|items_tiles:266|Ring of block|7|3866|||||||15||};
|
||||
{ring_atkch1|items_tiles:266|Ring of surehit|7|215|||15||||||};
|
||||
{ring1|items_tiles:266|Mundane ring|7|13|||||||||};
|
||||
{ring2|items_tiles:266|Polished ring|7|21|||||||||};
|
||||
</string>
|
||||
|
||||
<string name="itemlist_necklaces">
|
||||
[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|];
|
||||
{jewel_fallhaven|items_tiles:272|Jewel of Fallhaven|6|3125||-1|||||||};
|
||||
{necklace_shield1|items_tiles:273|Shielding necklace|6|935|||||||9||};
|
||||
{necklace_shield2|items_tiles:273|Shielding necklace|6|1255|||||||12||};
|
||||
</string>
|
||||
|
||||
<string name="itemlist_armour">
|
||||
[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|];
|
||||
{shirt1|items_tiles:182|Cloth shirt|3|16|||||||2||};
|
||||
{shirt2|items_tiles:182|Fine shirt|3|72|||||||5||};
|
||||
{shirt_dmgresist|items_tiles:183|Hardened shirt|3|1633|||||||5|1|};
|
||||
{armor1|items_tiles:183|Leather armour|3|464|||||||8||};
|
||||
{armor2|items_tiles:183|Superior leather armour|3|624|||||||9||};
|
||||
{armor3|items_tiles:184|Hard leather armour|3|2407|||||||13||};
|
||||
@@ -69,17 +80,16 @@
|
||||
{boots2|items_tiles:196|Superior leather boots|5|38|||||||4||};
|
||||
{boots3|items_tiles:197|Snakeskin boots|5|146|||||||6||};
|
||||
{boots5|items_tiles:198|Reinforced boots|5|226|||||||7||};
|
||||
{gloves_attack1|items_tiles:203|Gloves of swift attack|4|150|||15||||-9||};
|
||||
{gloves_attack2|items_tiles:203|Fine gloves of swift attack|4|221|||17||||-9||};
|
||||
</string>
|
||||
|
||||
<string name="itemlist_food">
|
||||
[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|];
|
||||
{health_minor|items_tiles:35|Minor potion of health|20|5|5||||||||};
|
||||
{health|items_tiles:49|Regular potion of health|20|40|10||||||||};
|
||||
{health_major|items_tiles:28|Major potion of health|20|210|40||||||||};
|
||||
{apple_green|items_tiles:2|Green apple|21|9|4||||||||};
|
||||
{apple_red|items_tiles:3|Red apple|21|15|6||||||||};
|
||||
{meat|items_tiles:25|Meat|21|45|12||||||||};
|
||||
{meat_cooked|items_tiles:27|Cooked meat|21|105|21||||||||};
|
||||
{meat_cooked|items_tiles:27|Cooked meat|21|78|21||||||||};
|
||||
{|items_tiles:8|Strawberry|21|1|1||||||||};
|
||||
{|items_tiles:15|Carrot|21|9|4||||||||};
|
||||
{|items_tiles:21|Bread|21|6|5||||||||};
|
||||
@@ -88,15 +98,29 @@
|
||||
{|items_tiles:20|Eggs|21|8|3||||||||};
|
||||
{|items_tiles:14|Radish|21|5|2||||||||};
|
||||
</string>
|
||||
|
||||
<string name="itemlist_potions">
|
||||
[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|];
|
||||
{vial_empty1|items_tiles:56|Small empty vial|31|2|||||||||};
|
||||
{vial_empty2|items_tiles:57|Empty vial|31|4|||||||||};
|
||||
{vial_empty3|items_tiles:59|Empty flask|31|6|||||||||};
|
||||
{vial_empty4|items_tiles:58|Empty potion|31|11|||||||||};
|
||||
{health_minor|items_tiles:35|Minor potion of health|20|5|5||||||||};
|
||||
{health|items_tiles:49|Regular potion of health|20|40|10||||||||};
|
||||
{health_major|items_tiles:28|Major potion of health|20|210|40||||||||};
|
||||
{mead|items_tiles:51|Mead|20|15|1||||||||};
|
||||
{milk|items_tiles:55|Milk|20|21|2||||||||};
|
||||
{bonemeal_potion|items_tiles:34|Bonemeal potion|20|45|40||||||||};
|
||||
</string>
|
||||
|
||||
<string name="itemlist_animal">
|
||||
[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|];
|
||||
{hair|items_tiles:258|Animal hair|31|2|||||||||};
|
||||
{|items_tiles:262|Insect wing|31|3|||||||||};
|
||||
{|items_tiles:254|Bone|31|2|||||||||};
|
||||
{insectwing|items_tiles:262|Insect wing|31|3|||||||||};
|
||||
{bone|items_tiles:254|Bone|31|2|||||||||};
|
||||
{|items_tiles:255|Eye|31|6|||||||||};
|
||||
{|items_tiles:256|Bat wing|31|2|||||||||};
|
||||
{|items_tiles:257|Claws|31|2|||||||||};
|
||||
{claws|items_tiles:257|Claws|31|2|||||||||};
|
||||
{shell|items_tiles:264|Insect shell|31|2|||||||||};
|
||||
{|items_tiles:226|Feather|31|6|||||||||};
|
||||
{|items_tiles:225|Red feather|31|11|||||||||};
|
||||
@@ -108,17 +132,12 @@
|
||||
[Tag|Icon|Name|Category|Cost|HP|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|];
|
||||
{clay|items_tiles:289|Lump of clay|31|1|||||||||};
|
||||
{rock|items_tiles:238|Small rock|31|1|||||||||};
|
||||
{vial_empty1|items_tiles:56|Small empty vial|31|2|||||||||};
|
||||
{vial_empty2|items_tiles:57|Empty vial|31|4|||||||||};
|
||||
{vial_empty3|items_tiles:59|Empty flask|31|6|||||||||};
|
||||
{vial_empty4|items_tiles:58|Empty potion|31|11|||||||||};
|
||||
{gem1|items_tiles:210|Glass gem|31|2|||||||||};
|
||||
{gem2|items_tiles:211|Ruby gem|31|6|||||||||};
|
||||
{gem3|items_tiles:212|Polished gem|31|8|||||||||};
|
||||
{gem4|items_tiles:213|Sharpened gem|31|13|||||||||};
|
||||
{gem5|items_tiles:215|Polished sparkling gem|31|15|||||||||};
|
||||
{gem6|items_tiles:214|Shimmering gem|31|26|||||||||};
|
||||
{gem7|items_tiles:216|Heartstone|31|40|||||||||};
|
||||
{gem8|items_tiles:330|Brilliant gem|31|68|||||||||};
|
||||
</string>
|
||||
|
||||
@@ -128,5 +147,11 @@
|
||||
{tail_trainingrat|items_tiles:103|Small rat tail|31|0|||||||||};
|
||||
{rest|items_tiles:33|Potion of restoration|20|0|99||||||||};
|
||||
{ring_mikhail|items_tiles:266|Mikhail\'s ring|7|15|||10||||||};
|
||||
{neck_irogotu|items_tiles:273|Irogotu\'s necklace|6|30|||||||5|1|};
|
||||
{ring_gandir|items_tiles:266|Gandir\'s ring|31|0|||||||||};
|
||||
{dagger_venom|items_tiles:87|Venomous Dagger|0|15||4|20|20|3|1-2|||};
|
||||
{key_luthor|items_tiles:231|Key of Luthor|31|0|||||||||};
|
||||
{calomyran_secrets|items_tiles:406|Calomyran secrets|31|0|||||||||};
|
||||
{heartstone|items_tiles:216|Heartstone|31|40|||||||||};
|
||||
</string>
|
||||
</resources>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
{monsters_rogue1:0|Rogue|Human|1x1|11|10|10|10|10|50|||1-2|||list1||};
|
||||
{monsters_warrior1:0|Warrior|Human|1x1|11|10|10|10|10|50|||1-2|||list1||};
|
||||
{monsters_misc:4|Dwarf miner|Dwarf|1x1|11|10|10|10|10|50|||1-2|||list1||};
|
||||
{monsters_misc:5|Troll|Dwarf|1x1|11|10|10|10|10|50|||1-2|||list1||};
|
||||
{monsters_misc:5|Troll|Dwarf|1x1|11|10|10|10|2|50|||1-2|||list1||};
|
||||
{monsters_misc:6|Dwarf warrior|Dwarf|1x1|11|10|10|10|10|50|||1-2|||list1||};
|
||||
{monsters_misc:7|Dwarf knight|Dwarf|1x1|11|10|10|10|10|50|||1-2|||list1||};
|
||||
{monsters_dogs:0|Puppy dog|Animal|1x1|3|1|10|10|10|50|||0-1|||list1||};
|
||||
@@ -90,23 +90,54 @@
|
||||
|
||||
<string name="monsterlist_crossglen_animals">
|
||||
[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|];
|
||||
{monsters_rats:0|Tiny rat|trainingrat||4|2|||10|50|||1|||trainingrat||};
|
||||
{monsters_rats:1|Cave rat|crossglen_caverat||11|5|||10|90|||2|||rat||};
|
||||
{monsters_rats:1|Tough cave rat|crossglen_caverat2||14|5|||5|90|||3|||rat||};
|
||||
{monsters_rats:3|Strong cave rat|crossglen_caveboss||25|20|||5|100|||2-4|10||caveratboss||};
|
||||
{monsters_insects:0|Black ant|crossglen_ant||5|3|||10|70|||1-2|||insect||};
|
||||
{monsters_insects:1|Small wasp|crossglen_wasp||5|4|||10|70|||1-2|||wasp||};
|
||||
{monsters_insects:4|Beetle|crossglen_beetle||8|4|||10|70|||3|||insect||};
|
||||
{monsters_insects:1|Forest wasp|forestwasp||11|6|||10|70|||1-2|||wasp||};
|
||||
{monsters_insects:0|Forest ant|forestant||9|4|||10|90|||1-2|10||insect||};
|
||||
{monsters_insects:2|Yellow forest ant|forestant||12|5|||10|100|||2|15||insect||};
|
||||
{monsters_dogs:1|Small rabid dog|forestdog||11|6|||10|90|||2|||canine||};
|
||||
{monsters_snakes:1|Forest Snake|forestsnake||15|7|||10|110|||1-2|10||snake||};
|
||||
{monsters_dogs:6|Rabid Boar|forestboar||25|20|||5|110|||3|30||canineboss||};
|
||||
{monsters_dogs:3|Rabid Fox|fox1||15|25|||5|100|||3|50||canine||};
|
||||
{monsters_insects:2|Yellow cave ant|pitcave1||15|20|||3|30|||1|80||insect||};
|
||||
{monsters_rats:0|Tiny rat|trainingrat||2|2|||10|50|||1|||trainingrat||};
|
||||
{monsters_rats:1|Cave rat|crossglen_caverat||6|5|||10|90|||2|||rat||};
|
||||
{monsters_rats:1|Tough cave rat|crossglen_caverat2||11|5|||5|90|||3|||rat||};
|
||||
{monsters_rats:3|Strong cave rat|crossglen_caveboss||20|20|||5|100|||2-4|10||caveratboss||};
|
||||
{monsters_insects:0|Black ant|crossglen_ant||4|3|||10|70|||1-2|||insect||};
|
||||
{monsters_insects:1|Small wasp|crossglen_wasp||4|4|||10|70|||1-2|||wasp||};
|
||||
{monsters_insects:4|Beetle|crossglen_beetle||6|4|||10|70|||3|||insect||};
|
||||
{monsters_insects:1|Forest wasp|forestwasp||5|6|||10|70|||1-2|||wasp||};
|
||||
{monsters_insects:0|Forest ant|forestant||5|4|||10|90|||1-2|10||insect||};
|
||||
{monsters_insects:2|Yellow forest ant|forestant||6|5|||10|100|||2|15||insect||};
|
||||
{monsters_dogs:1|Small rabid dog|forestdog||6|6|||10|90|||2|||canine||};
|
||||
{monsters_snakes:1|Forest Snake|forestsnake||7|7|||10|110|||1-2|10||snake||};
|
||||
{monsters_snakes:3|Young Cave Snake|cavesnake1||13|8|||5|110|10|2|2|10||snake||};
|
||||
{monsters_snakes:3|Cave Snake|cavesnake1||17|12|||5|110|20|2|2|15||snake||};
|
||||
{monsters_snakes:3|Venomous Cave Snake|cavesnake2||21|15|||5|110|40|2|2|10||snake||};
|
||||
{monsters_snakes:3|Tough Cave Snake|cavesnake2||22|21|||5|110|20|2|2|15||snake||};
|
||||
{monsters_rats:4|Basilisk|cavesnake2_boss||43|40|||7|40|||3-9|50|2|cavecritter||};
|
||||
{monsters_liches:0|Snake servant|cavesnake3||37|35|||5|80|40|3|2-3|10|1|lich1||};
|
||||
{monsters_liches:1|Snake master|cavesnake3_boss||67|55|||5|60|100|3|1-4|10|4|snakemaster|snakemaster|};
|
||||
{monsters_dogs:6|Rabid Boar|forestboar||23|20|||5|110|||3|30||canineboss||};
|
||||
{monsters_dogs:3|Rabid Fox|fox1||28|25|||5|100|||3|50||canine||};
|
||||
{monsters_insects:2|Yellow cave ant|pitcave1||20|20|||3|30|||1|80||insect||};
|
||||
{monsters_misc:0|Young teeth critter|pitcave2||17|15|||2|50|||1|70||cavecritter||};
|
||||
{monsters_misc:0|Teeth critter|pitcave2||28|25|||2|60|10|3|1|70||cavecritter||};
|
||||
{monsters_misc:5|Young minotaur|pitcave2||46|45|||6|20|40|3|4|50|2|cavemonster||};
|
||||
{monsters_misc:5|Strong minotaur|pitcave2_boss||57|53|||6|40|50|3|5|50|2|cavemonster||};
|
||||
{monsters_liches:0|Irogotu|pitcave_boss||88|61|||3|50|40|3|2-5|70|4|irogotu|irogotu|};
|
||||
</string>
|
||||
|
||||
<string name="monsterlist_fallhaven_animals">
|
||||
[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|];
|
||||
{monsters_ghost2:0|Lost spirit|minorhaunt1||23|15|||10|50|||1-2|10|3|haunt|haunt|};
|
||||
{monsters_ghost2:0|Lost soul|minorhaunt2||28|15|||10|50|||1-2|10|4|haunt||};
|
||||
{monsters_ghost1:0|Haunting|haunt3|1x1|40|31|10|10|5|120|20|2|1-5|30|1|haunt||};
|
||||
{monsters_skeleton1:0|Skeletal warrior|skeleton1|1x1|45|52|10|10|5|60|||1-3|40|1|skeleton||};
|
||||
{monsters_skeleton2:0|Skeletal master|skeletonmaster|1x1|47|52|10|10|5|70|||1-3|30|2|skeleton||};
|
||||
{monsters_skeleton1:0|Skeleton|skeleton1|1x1|27|35|10|10|10|60|||1-4|40||skeleton||};
|
||||
|
||||
{monsters_ghost2:0|Guardian of the catacombs|catacombguard1|1x1|18|6|10|10|10|10|||1-6|10|3|catacombguard|catacombguard|};
|
||||
{monsters_rats:0|Catacomb rat|catacombrat1|1x1|14|15|10|10|3|60|||1|40||catacombrat||};
|
||||
{monsters_rats:3|Large catacomb rat|catacombrat1|1x1|20|21|10|10|3|60|10|2|1-2|40||catacombrat||};
|
||||
{monsters_ghost1:0|Ghostly visage|catacombguard2|1x1|21|16|10|10|5|20|||1-4|20|2|catacombguard||};
|
||||
{monsters_ghost2:0|Spectre|catacombguard2|1x1|28|15|10|10|3|50|||1-5|60|2|catacombguard||};
|
||||
{monsters_ghost2:0|Apparition|catacombguard3|1x1|24|17|10|10|3||||1-5|70|2|catacombguard||};
|
||||
{monsters_ghost1:0|Shade|catacombguard3|1x1|25|16|10|10|5|20|||1-4|20|3|catacombguard||};
|
||||
{monsters_misc:2|Young gargoyle|catacombguard3|1x1|42|35|10|10|10|110|10|2|2-5|70|1|catacombguard||};
|
||||
{monsters_liches:2|Ghost of Luthor|luthor|1x1|95|86|10|10|5|120|15|2|2-5|50|3|luthor|luthor|};
|
||||
</string>
|
||||
|
||||
<string name="monsterlist_crossglen_npcs">
|
||||
[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|];
|
||||
@@ -123,6 +154,37 @@
|
||||
{monsters_man1:0|Tired farmer|crossglen_farmer2|1x1|0|1|1|1|1|0|||0||||farm2|};
|
||||
{monsters_man1:0|Oromir|oromir|1x1|0|1|1|1|1|0|||0||||oromir1|};
|
||||
{monsters_men:8|Odair|odair|1x1|0|1|1|1|1|0|||0||||odair1|};
|
||||
{monsters_warrior1:0|Jan|jan|1x1|0|1|1|1|1|0|||0||||jan1|};
|
||||
{monsters_warrior1:0|Jan|jan|1x1|0|1|1|1|1|0|||0||||jan_start_select|};
|
||||
</string>
|
||||
|
||||
<string name="monsterlist_fallhaven_npcs">
|
||||
[Icon|Name|Tags|Size|Exp|HP_max|AP_max|AP_move|AtkCost|AtkPct|CritPct|CritMult|DMG|BlkPct|DMG_res|Drop|Phrase|];
|
||||
{monsters_men:3|Warden|fallhaven_warden|1x1|0|1|1|1|1|0|||0||||fallhaven_warden|};
|
||||
{monsters_warrior1:0|Guard|fallhaven_guard|1x1|0|1|1|1|1|0|||0||||fallhaven_guard|};
|
||||
{monsters_men:4|Acolyte|fallhaven_priest|1x1|0|1|1|1|1|0|||0||||fallhaven_priest|};
|
||||
{monsters_man1:0|Bearded Citizen|fallhaven_citizen1|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen1|};
|
||||
{monsters_men:2|Old Citizen|fallhaven_citizen2|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen2|};
|
||||
{monsters_men:7|Tired Citizen|fallhaven_citizen4|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen4|};
|
||||
{monsters_man1:0|Citizen|fallhaven_citizen3|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen3|};
|
||||
{monsters_men:2|Grumpy Citizen|fallhaven_citizen5|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen5|};
|
||||
{monsters_men:7|Blond Citizen|fallhaven_citizen6|1x1|0|1|1|1|1|0|||0||||fallhaven_citizen6|};
|
||||
{monsters_rogue1:0|Bucus|bucus|1x1|0|1|1|1|1|0|||0||||bucus_welcome|};
|
||||
{monsters_men:0|Drunkard|fallhaven_drunk|1x1|0|1|1|1|1|0|||0||||fallhaven_drunk|};
|
||||
{monsters_men:5|Old man|fallhaven_oldman|1x1|0|1|1|1|1|0|||0||||fallhaven_oldman|};
|
||||
{monsters_men:8|Nocmar|nocmar|1x1|0|1|1|1|1|0|||0|||nocmar|nocmar|};
|
||||
{monsters_rogue1:0|Prisoner|fallhaven_prisoner|1x1|0|1|1|1|1|0|||0|||||};
|
||||
{monsters_rogue1:0|Ganos|ganos|1x1|0|1|1|1|1|0|||0|||ganos|ganos|};
|
||||
{monsters_mage2:0|Arcir|arcir|1x1|0|1|1|1|1|0|||0||||arcir_start|};
|
||||
{monsters_men:4|Athamyr|athamyr|1x1|0|1|1|1|1|0|||0||||athamyr|};
|
||||
{monsters_men2:8|Thoronir|thoronir|1x1|0|1|1|1|1|0|||0|||thoronir|thoronir_default|};
|
||||
{monsters_men:6|Chapelgoer|chapelgoer|1x1|0|1|1|1|1|0|||0||||chapelgoer|};
|
||||
{monsters_mage2:0|Potion merchant|fallhaven_potions|1x1|0|1|1|1|1|0|||0|||fallhaven_potions|fallhaven_potions|};
|
||||
{monsters_men2:0|Tailor|fallhaven_clothes|1x1|0|1|1|1|1|0|||0|||fallhaven_clothes|fallhaven_clothes|};
|
||||
{monsters_men:7|Bela|bela|1x1|0|1|1|1|1|0|||0|||shop_food|bela|};
|
||||
{monsters_men2:2|Larcal|larcal|1x1|1|51|10|10|10|25|||1-2|50||larcal|larcal|};
|
||||
{monsters_men2:9|Gaela|gaela|1x1|0|1|1|1|1|0|||0||||gaela|};
|
||||
{monsters_mage2:0|Unnmir|unnmir|1x1|0|1|1|1|1|0|||0||||unnmir|};
|
||||
{monsters_men:1|Rigmor|rigmor|1x1|0|1|1|1|1|0|||0||||rigmor|};
|
||||
</string>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -6,6 +6,18 @@
|
||||
<string name="exit">Exit</string>
|
||||
<string name="exit_to_menu">Exit to menu</string>
|
||||
<string name="menu_pause">Pause</string>
|
||||
<string name="menu_settings">Preferences</string>
|
||||
|
||||
<string-array name="display_loot">
|
||||
<item>Show loot dialog box</item>
|
||||
<item>Show short notification</item>
|
||||
<item>Do not display</item>
|
||||
</string-array>
|
||||
<string-array name="display_loot_values">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</string-array>
|
||||
|
||||
<string name="dialog_loading_message">Loading resources...</string>
|
||||
|
||||
@@ -49,7 +61,7 @@
|
||||
<string name="combat_status_ap">AP: %d</string>
|
||||
<string name="combat_monsterhealth">HP:</string>
|
||||
<string name="combat_monsteraction">%s is attacking.</string>
|
||||
<string name="combat_cannotexitcombat">You cannot exit combat since there are adjacent monsters.</string>
|
||||
<string name="combat_cannotexitcombat">You cannot exit combat since there are adjacent monsters. You first have to move by longclicking a place with no adjacent monster, before you may end the combat.</string>
|
||||
<string name="combat_result_monstermiss">%s misses!</string>
|
||||
<string name="combat_result_monsterhit">%s hits you for %d hp!</string>
|
||||
<string name="combat_result_monsterhitcritical">%s gets a critical hit for %d hp!</string>
|
||||
@@ -71,6 +83,7 @@
|
||||
|
||||
<string name="dialog_loot_pickall">Pick up all</string>
|
||||
<string name="dialog_loot_foundgold">You found %d gold. </string>
|
||||
<string name="dialog_loot_pickedupitems">You picked up %d items.</string>
|
||||
<string name="dialog_groundloot_title">Items</string>
|
||||
<string name="dialog_groundloot_message">You found some items. </string>
|
||||
<string name="dialog_monsterloot_title">Victory</string>
|
||||
@@ -82,6 +95,7 @@
|
||||
<string name="monster_difficulty_normal">Normal</string>
|
||||
<string name="monster_difficulty_hard">Hard</string>
|
||||
<string name="monster_difficulty_veryhard">Very hard</string>
|
||||
<string name="monster_difficulty_impossible">Impossible</string>
|
||||
|
||||
<string name="actorinfo_class">Class:</string>
|
||||
<string name="actorinfo_difficulty">Difficulty:</string>
|
||||
@@ -128,7 +142,7 @@
|
||||
|
||||
<string name="startscreen_continue">Continue current game</string>
|
||||
<string name="startscreen_newgame">New game</string>
|
||||
<string name="startscreen_newgame_confirm">This will destroy the current game and your current character, are you sure you want to start a new game?</string>
|
||||
<string name="startscreen_newgame_confirm">You will lose your current game and your current character, are you sure you want to start a new game?</string>
|
||||
<string name="startscreen_about">About/help</string>
|
||||
<string name="startscreen_currenthero">%s, level %d</string>
|
||||
<string name="startscreen_enterheroname">Enter hero name</string>
|
||||
@@ -136,6 +150,7 @@
|
||||
<string name="conversation_title">%s says</string>
|
||||
<string name="conversation_rewardexp"> [You gained %d experience]</string>
|
||||
<string name="conversation_rewardgold"> [You gained %d gold]</string>
|
||||
<string name="conversation_lostgold"> [You lost %d gold]</string>
|
||||
|
||||
<string name="shop_buy">Buy</string>
|
||||
<string name="shop_sell">Sell</string>
|
||||
@@ -149,13 +164,13 @@
|
||||
<string name="levelup_title">Level up</string>
|
||||
<string name="levelup_description">Welcome to level %d!</string>
|
||||
<string name="levelup_buttontext">Level up</string>
|
||||
<string name="levelup_add_health">Increase health</string>
|
||||
<string name="levelup_add_health">Increase health (+%d HP)</string>
|
||||
<string name="levelup_add_health_description">Adds %d to your maximum health.</string>
|
||||
<string name="levelup_add_attackchance">Increase attack chance</string>
|
||||
<string name="levelup_add_attackchance">Increase attack chance (+%d \%)</string>
|
||||
<string name="levelup_add_attackchance_description">Adds %d\% to your base attack chance.</string>
|
||||
<string name="levelup_add_attackdamage">Increase attack damage</string>
|
||||
<string name="levelup_add_attackdamage">Increase attack damage (+%d)</string>
|
||||
<string name="levelup_add_attackdamage_description">Adds %d\% to your base attack damage.</string>
|
||||
<string name="levelup_add_blockchance">Increase block chance</string>
|
||||
<string name="levelup_add_blockchance">Increase block chance (+%d \%)</string>
|
||||
<string name="levelup_add_blockchance_description">Adds %d\% to your base block chance.</string>
|
||||
|
||||
<string name="dialog_rest_title">Rest</string>
|
||||
@@ -198,12 +213,12 @@
|
||||
<string name="dialog_newversion_title">Welcome</string>
|
||||
<string name="dialog_newversion_message">
|
||||
Thank you for downloading Andor\'s Trail!\n\n
|
||||
Please note that this version is the INITIAL RELEASE of Andor\'s Trail, which means that the maps are not yet complete.\n
|
||||
Please note that this version of Andor\'s Trail is a WORK IN PROGRESS, which means that all maps are not yet complete.\n
|
||||
You are however of course free to explore Crossglen village as much as you like.\n
|
||||
This inital release is intended as a bug-hunt before we start adding content.\n
|
||||
Please visit the homepage to get more info or to contribute to the project (see "about").\n
|
||||
Since this is a work in progress, it may contain bugs and gameplay that is not balanced well. This release is intended as a bug-hunt before we start adding even more content.\n
|
||||
Please visit the project page to get more info or to contribute to the project (see "about").\n
|
||||
\n
|
||||
Thanks for all the feedback! This version should hopefully solve the FCs, fix the health issue when leveling up and have better support for landscape devices.\n
|
||||
Thanks for all the feedback!
|
||||
</string>
|
||||
|
||||
</resources>
|
||||
|
||||
100
AndorsTrail/res/xml/catacombs1.tmx
Normal file
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="19" height="10" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="19" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA8tiYGDIoiJOYWJgSGaijIaZVQJkFzNRRsPMMqACRjbrLQsDwzsWhBw6n5AaZLP+AsX+IalD5xNSk8xEPT8WQ+MggZk65oHigBrmgLAhFTEAsQVNvvgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="19" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoD7IYGdg2MyO4KOzjVhQxdHVEwM4WMlzWwULgr2XHZUPk+djR+X3A/mRzITN5ofqWwmkk1nwq8UF7NHCoY7EcFmCxd5+HGZgU0tN4I8WZvOA7lgPxQuA+AkbJKyR3QESQ1dHbljiAwDtX1vq+AIAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="19" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoC74zzw0zZrJTj2zSAEjwaz3eMxKZqGePaQAAO+fA1f4AgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="19" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHAEYBtDZyHxsYrjMwqWOgQQ1tDALG8Anh00tKeqJMQ/dbFxxg0sNIf3kYAC3Wh01+AIAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="19" height="10">
|
||||
<object name="up" type="mapchange" x="576" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_church"/>
|
||||
<property name="place" value="down"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="down" type="mapchange" x="32" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="catacombs2"/>
|
||||
<property name="place" value="up"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="19" height="10"/>
|
||||
<objectgroup name="Spawn" width="19" height="10">
|
||||
<object name="catacombguard1" type="spawn" x="224" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="respawn" value="false"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn_rats" width="19" height="10" visible="0">
|
||||
<object name="catacombrat1" type="spawn" x="64" y="128" width="512" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="4"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
103
AndorsTrail/res/xml/catacombs2.tmx
Normal file
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="20" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA62U0Q2AIAxEL4TEZfjAqRzBSRzB8XQDjfLRpMEKBfpxH9TwyB0nEUA01uJsRLzV2Yh42wQEjIt4uzFPmtXE9xweOL38TZs733O9rPuHp81d61ebU4lH/qVMpHWNR/6lTKR1y330+M3vo7UfNb+ajrTwNB0p8Xh++dmj+fGzSx3R+tV2JP8n81l6o3q8BnzzTEpvVJrPsNUDygDSZEAGAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoC3YzE4cn4MVuzwyYGNFVQsCIkhsCSj7I5SeyQ6RZ0NSAwNybJhi84Dq10PxAiR3CAHVPgHilUCxZBaI2BIWVL3JSPwdaHLoarGBCiLUUAoimRFsbPGQgSfssQE+aPjORNMHix9QfIhgCXt0gO53UDj3s2OKg/gwP6CHMTYAC3d7PP7iwyKHzW5SwW521DSBDJDjgV6AmPBCBrD0gZwm8OVNZMCHJ/wk0PIwLH3AwgQWZ+hpChsA2QGLP1D+xBdnsLwLUoceL4TCpp+EfBGAJW6Jyf/IQJuI9IEvTYPAPKRyjNS4JwUAANVrQNNABgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoD74zzxq3lA3D58eepiXzEJd8wiBoWweOYBS96GrodS891QwD1+awWceut3EgMGQR/EBZD8RykuUAACnuhvrQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="20" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA+VSsQ0AMAjyBf9/trsRBNNONXHBFtCQEZGfdi02Z1jH5dak6+yCZtvb3OZzdlbwyWc0mLOvw6douXnZZoJ5Rzo3+Db+0C07vu6dkgvkTdGtfEgH6TKPCNtkpf593QdUgJXEQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="20">
|
||||
<object name="down" type="mapchange" x="544" y="544" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="catacombs3"/>
|
||||
<property name="place" value="up"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="up" type="mapchange" x="0" y="544" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="catacombs1"/>
|
||||
<property name="place" value="down"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn rats" width="20" height="20" visible="0">
|
||||
<object name="catacombrat1" type="spawn" x="64" y="96" width="480" height="512">
|
||||
<properties>
|
||||
<property name="quantity" value="4"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn guards" width="20" height="20" visible="0">
|
||||
<object name="catacombguard2" type="spawn" x="224" y="128" width="128" height="32"/>
|
||||
<object name="catacombguard2" type="spawn" x="32" y="96" width="160" height="288"/>
|
||||
<object name="catacombguard2" type="spawn" x="416" y="96" width="192" height="448">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="catacombguard2" type="spawn" x="256" y="256" width="160" height="352"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="20"/>
|
||||
</map>
|
||||
113
AndorsTrail/res/xml/catacombs3.tmx
Normal file
@@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="20" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA62U0Q0CIRBEl5MO7sqwbDqADrADS/BbO9AIISTDZNlwxo+Jl2PvLQOzBicSQLciv4ncXdNlG9e5tktb65yj/D5c016es1KPPbkvc64yinmJemLfpHCeXuTlRx56q/25Z69Lyn7ehfUhHvo7TvJY7G9Wt8LLhr8zvOiaKmvmjxUUXqRMrLDwG+RhhpJx7n3vUck08jC7s3PAueBMa+eXwSvviRmcaY1XPfO59XfMWLnfXbmD/s7KHnpbyQKK55F5KzOC4nnEu/qFZ3n9F4//H63crs4GC3Nvrc1qqr5s47HDQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA71TuxHCMAxVEgd3uSOXInvAAExAQUdDASPQUFFnBUbIBgzEAlwyANY5ughHCuaO4zWJ9Xl6tiSA/6DKAZ55XOxuMbVtM/+tHcc6BbgYgNLFrVKd52Z9zaPAd8g8TywwtrW+JoLX/YaHUDiuuxnPG/vu5z6OLhn/qzyu/sNpPgl8BaupcTRm5NDANRH2Q7+WSp6UI9nmtM3lFFa2I1fD3kLLD9EI7xfqiuUiSLOLff/EgzNdRe6ShHrIJ/2l0KOwb1oPaBc5wtnt2X3wzpjDZ5JsWs8wtlV8Z+N9fL6lXoWQ3ph0X+10X7Q51uyxkPZc0tYnekzom+P5NV6yAhC+QAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgGLogmWXg7DRgp7/do2AUDBUwE0/+wCeHCwxEXh8FhAEAUT0kW0AGAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA92SwQ4AIAhC+QX//2e7OwlwnXLzwuJFaQGozxsXDU2bzrq87le8ydP1Xg7LZboMxUoy3bKpP3fewObDeNv9UTPc3J1y3D1KvRveVMrLtOQ+lnnKwbIpv1PJ7qesNL/ivOwD/7qeRUAGAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="20">
|
||||
<object name="north" type="mapchange" x="544" y="64" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="catacombs4"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="up" type="mapchange" x="64" y="96" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="catacombs2"/>
|
||||
<property name="place" value="down"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn rats" width="20" height="20" visible="0">
|
||||
<object name="catacombrat1" type="spawn" x="64" y="128" width="544" height="480">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn guards" width="20" height="20" visible="0">
|
||||
<object name="Young gargoyle" type="spawn" x="288" y="320" width="32" height="32"/>
|
||||
<object name="catacombguard2" type="spawn" x="32" y="288" width="32" height="64"/>
|
||||
<object name="catacombguard2" type="spawn" x="64" y="128" width="224" height="128"/>
|
||||
<object name="catacombguard3" type="spawn" x="64" y="384" width="224" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="catacombguard3" type="spawn" x="320" y="96" width="288" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="catacombguard2" type="spawn" x="320" y="384" width="288" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="20"/>
|
||||
</map>
|
||||
92
AndorsTrail/res/xml/catacombs4.tmx
Normal file
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="15" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA7WU2w2AIAxFi5I4gI7hum6AE+AGuIEj+K0baITEJlivrwQ/zk+5nrYkYhSR2ekF5oannM6IBnUkz849epANudjVeSpfG9WREvQYQDbknJitJozsEUA5J2bjelNcuyVxlnfuRL8W+CZNNOtzPc7yztKHWLxrBT608xvfW/7wmR98qWZM7Yv/kZQuxn702v2bu3eDvVbchQNniA11rr40sAQAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgGDrgIysDgwgQl7EjxDZD2RnsqHyQGpBaXMCEiYFBiA3CboPqMWZCyIP0fmRFqG1DshNZHQwUs+C2qwIqB7MPHfCxo/JN0MxPhupfyY5gwwC6GLo8NvNB4AnQLXVo4jtYIGIgOXRzsPl5Bx4/EwLY3EQMiGTGrrccKa7/M2PqQfZPKQXuRrYfn/8pCRtiwGdGVD7Iz9jiDQQI+RfdLGTwhRFVHYyPzAbZi88MagIA3LtMb7AEAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoB34z0w9tSD59ySYR6l9pJqFzW0z2YkTw2YeNQEu85JZqGseuYBU8wi5+wsj+W6hhv3EgA9UDkNa+3mwAAAvQOAZsAQAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHKEYBgSRaGLV45JHVoduPi5xYtyGTT0ueWxmYrMbl3n41OPyC6mAXPOIcR+6PLluxhf31DKPXEAojVLDLHx+x8amJB8SqxYAcKEtzrAEAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="15">
|
||||
<object name="south" type="mapchange" x="288" y="448" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="catacombs3"/>
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="15">
|
||||
<object name="catacombguard3" type="spawn" x="96" y="256" width="480" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Luthor" type="spawn" x="288" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="respawn" value="false"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="15"/>
|
||||
</map>
|
||||
@@ -50,7 +50,7 @@
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA6WUOw7DIBBEF+wbOMdwmxu7SgtV2uQGyQ18EWcVo0xGwGJcPMmSl7d8BhYnshBPA66vjR+9yMvVGXzZHan28qldXZ3J/7vZh7WztIFudMYDjhLqfMAcA9HjRF8O7mH14n20zp17WWtmB+cGM5Kw1owOzs2UyaX2KPnUhY5aRrAH5iP54j6fnnPN+cZOl3Kj9Z6Zm3LP+KwxobHO8gU6f8uXq0v34Oi9Sf81R+/dab17Lazgs969Fq7yZZbf9xk28EKKkUAGAAA=
|
||||
H4sIAAAAAAAAA6WUTQ7CIBCFB+wN6jG69cZduYWVW3sDj+BFdKITny/AULr4kiYdvuHnwRpEVmJz4PrW+CmKPEKbU6y7M9We37XP0GaO/272Ye0ifaAbnXmHo4Y67zDHRIw40VeCe3i9eB+9c+de3prZwbnBjBjemtHBuZkLudQeNZ+60NHKCPbAfJgvf+czcq4l3zToUq603iNzU24FnzcmddZ5vkTn7/lKdXYP9t4b+29ZUpf37vWAefPevR4u8mGR3/cRXkPRUeNABgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="20">
|
||||
|
||||
@@ -50,22 +50,22 @@
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA1NjYGCwZMSP1Rgg2JMRP4ap0yaASVEHsp8YdZ5EqCPGLG2oWaYMxGEAt0rhZEABAAA=
|
||||
H4sIAAAAAAAAC1NjYGCwZMSP1Rgg2JMRP4ap0yaASVEHsp8YdZ5EqCPGLG2oWaYMxGEAt0rhZEABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB64M0MwCHhA6VQgzcrKwMDGilAXzgzBkUAcAcRLWBgYSoF0GRAnsyDUwcxAB0tYUPkRWPRiAx2s+OVBwIAZ1fxyIL8CyWx0uwkBAPxAghxAAQAA
|
||||
H4sIAAAAAAAAC2NgIB64M0MwCHhA6VQgzcrKwMDGilAXzgzBkUAcAcRLWBgYSoF0GRAnsyDUwcxAB0tYUPkRWPSCgD07Kr+DlYEgMGBGNb8cyK9AMhvdbkIAAG5QCwhAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgYGD4z8xAFEBX9wGHPpA6EVYE/z0edeTYiwsg25MOZGcQqQ8E/rARrxYZAACKLL/NQAEAAA==
|
||||
H4sIAAAAAAAAC2NgYGD4z8xAFEBX9wGHPpA6EVYE/z0edeTYiwsg25MOZGcQqQ8E/rARrxYZAACKLL/NQAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="8" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQpDFmwMGG8XEBbOYQUkfIPGL0kuI3APcR0NJAAQAA
|
||||
H4sIAAAAAAAACxNkYGAQpDFmwMGG8XEBbOYQUkfIPGL0kuI3APcR0NJAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="10" height="8">
|
||||
@@ -75,8 +75,13 @@
|
||||
<property name="place" value="stairs_down"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Note" type="sign" x="224" y="128" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="On the ground, you find a piece of paper with a lot of strange symbols. You can barely make out the words "meet me at Lodars hideaway", but you are not sure what it means."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="8">
|
||||
<objectgroup name="Spawn" width="10" height="8" visible="0">
|
||||
<object name="crossglen_beetle" type="spawn" x="64" y="64" width="224" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
|
||||
@@ -5,25 +5,25 @@
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA9NkYGDQHOTYg4pm6SDhwagOANz3PuSQAQAA
|
||||
H4sIAAAAAAAAC9NkYGDQHOTYg4pm6SBhWqpTI9M8AEESfViQAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgGFwghopmJVPRLHoBAJdDj86QAQAA
|
||||
H4sIAAAAAAAAC2NgGFwghopmJVPRLHoBAJdDj86QAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgGAWDCQAADA0iRpABAAA=
|
||||
H4sIAAAAAAAAC2NgGAWDCQAADA0iRpABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgGL5AcKAdQAYAAGnI7B6QAQAA
|
||||
H4sIAAAAAAAAC2NgGL5AcKAdQAYAAGnI7B6QAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Object Layer 1" width="10" height="10" visible="0">
|
||||
<objectgroup name="Object Layer 1" width="10" height="10">
|
||||
<object name="Sign 1" type="sign" x="192" y="96" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="Item text"/>
|
||||
@@ -31,6 +31,26 @@
|
||||
</properties>
|
||||
</object>
|
||||
<object name="start" type="mapchange" x="96" y="64" width="32" height="32"/>
|
||||
<object name="key1" type="key" x="32" y="128" width="32" height="32"/>
|
||||
<object name="key2" type="key" x="0" y="128" width="32" height="32">
|
||||
<properties>
|
||||
<property name="message" value="A strange force prevents you from entering."/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="place2" type="mapchange" x="192" y="256" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="debugmap"/>
|
||||
<property name="place" value="place1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="place1" type="mapchange" x="0" y="0" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="debugmap"/>
|
||||
<property name="place" value="place2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="10" visible="0">
|
||||
<object name="ant" type="spawn" x="96" y="128" width="192" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
@@ -48,11 +68,5 @@
|
||||
<property name="type" value="traveller"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="key1" type="key" x="32" y="128" width="32" height="32"/>
|
||||
<object name="key2" type="key" x="0" y="128" width="32" height="32">
|
||||
<properties>
|
||||
<property name="message" value="A strange force prevents you from entering."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="30" height="30" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1009" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1137" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1265" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1393" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1521" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA81WyRHAIAi0pDRiCfTfRl75MCzKsZoHnwxH9hCdY4z5w3g2A9VLw1wvh4G3I6d7boTzLNfef4nxrSsE4GPh7dQl6u9dHFW8up7F4dcXaajzTumq+2r/MjyMdPOwZvfjStsTZ+bGTMTpid2IZq28X9WSzTHqJ8WZnreRdzL8Rc6QtZN0PctHlfwsP4y53W+zqH47b6VMD3TOq/9mcWb5zvPeDkfozo3UZXyP7lZvP6MZt955WeyseAE+3Ya4EA4AAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects nonwalk" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA82WvU7DMBDHQ/PhB4C3YeuWRwCeANgLdGQA2hFFBSRgCROwhZmlvEF3qBTeoDwAZ7WnXk93tpMWib90Suyc/bNzd06KJIoKwZ7Ammovi6L9zO9XKkzkThdz7MI1Z/OdmCg6BTszy75D8DnycCeZn4vKGbcHrEuwK7CBmbdDVTfgcl0Yd9snFxftu0Wca884yx07rGyZX5UyzsYW4ztx2Ka5NrYY325HHnvekbnvSixpP3IPlNwu2ZyvZOw14WrjNSEX65lfkfsMvHvgPIA9gr2Y5brs+GPwnW2FMa0fcrGe+ZXvl0vLd56rdUBdcNPUJe+Z53mSrvrGqbsuqNXC2gcsx5DL83yHcbdTd11QQ66rTqR8vlHyn+rW4SNx75T9ovrx8n4Yy/32ftTRfdru16eR53205Wpnr+9M1ri9ePV5nsncGbR/hPl5v6+2tP1qXJu7PJ+l/qoll663zbfQct+EOqo83DJgbSFcqb9QYmU1I1wet5C88nH5mYeiZx/1Cc0rzp2YVa6UI1b07KM+oXll1/0hrG+cuL8L6wrX8Qn7/FrY1Mz7Je4wdrf7DZ9L+sv9/icu/mdLXP6e1m1Lavpvskn7BYOuLN8QDgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects walk" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIA6EMhGpkAZgIO0mF/izkadPZQj6FQQmMdPXPmF22phLbPjz08h+XAAUvv/JTFO4zBssgBy3DKT71wxAHoXZOZB2UwsQE3fk+BefuaSkF5CdEwcofQ3V8p9U8JVx1F5C4BMj5elhKPl3MNubT8BcdHtp3WZ1YMNuLzqgdj0Jsg+GyQW43DRQaQYZPKFiG4tUMBjKfgC4RonZEA4AAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgwA3qGfFI0hCM2jv0QQERfkJWM4+dgWE+FryAnTSz0cOykBm/mnVYzMclji+ekOXm4DCT3HgmZO8soH09TAwMvUDcB8Sz2THV0MJeSvTT0l5aAGLsxZYuLYFxMR0oboUjTVADILsNlt49ofZ5EbAXW/6AAUJ5GGZvFg4zkMWJUYNuLiF7qQ1G7SUsjytNEFPeU2JvPg49uMTJsZcSAPI/rrxEbtlBDBjoMvoKifUkLjXEpit8ZuNLC7C4QVdDbLo6B/TneSi+QEFZjqscJFZ+JIEyPOGMHk6U8kcBBAAArZCpHxAOAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="walkable" width="30" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA82UXQ7AIAiDvYL3v6zvpsVWRCUxmRv48VPXW2udLNfUOMab2eg8lJ/CVZnovExvHC6KjfYn2BVzvs1VedXcKFadJdPdyjeKrdAN89tln5idGufqJaP1LHee6a16lZrndytT+8j8o+/Rcw98dutdmaNVh8ti1BzRXVXyUrm7uvqB6874B250rsN1+/yaq97f6nqrzNUUujeZPcvphd3msn8jelfV51drAIev7x4QDgAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="mapevent" width="30" height="30" visible="0">
|
||||
<object name="exit" type="mapchange" x="832" y="64" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="startmap"/>
|
||||
<property name="place" value="well"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Sign1" type="sign" x="480" y="640" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="North: To the great hall."/>
|
||||
<property name="Title" value="The sign says"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Sign2" type="sign" x="480" y="384" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="You feel a cold breeze sweeping over you."/>
|
||||
<property name="Title" value="Chilling wind"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="entrance" type="mapchange" x="0" y="800" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="wilderness"/>
|
||||
<property name="place" value="cave_entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="spawn" width="30" height="30" visible="0">
|
||||
<object name="boss" type="spawn" x="224" y="0" width="448" height="320">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
<property name="type" value="magic"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="prison" type="spawn" x="768" y="640" width="128" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="type" value="Abomination"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="" type="spawn" x="288" y="416" width="480" height="512">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="type" value="undead"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
89
AndorsTrail/res/xml/fallhaven_arcir.tmx
Normal file
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="15" height="10" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIogDnM+HGuORheuuZcGNc8jC9jgwMDFlI2BEJg+xwZMDEyHpx4XoK9OLCxOhFl9/NwsCwhwURhvj04pLPh4aZKjN2eXtmiHwpkC5DUwMSD2QgHjui8QGUgaGmWAIAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgQAAldgayQA5QnxFULycLA0Mukjnm7BAxZShtgSQ3kQ1CO0HFJIHymqwMDFqsEH4yMwNDCjNCzgNJ70Kg3g5WBP8vkG/FCsEgUAzUVwLEySwQ/iM2hNoeJDYtgQ4rKv8u0N4LbAg3KTFDsDIzpr7vaG58i8QH+cWIGYKNoXpTkcw4DTT/DAuq/mQ0PjZAjBpiAQBdYTIIWAIAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoAz8ZyZfnlS9l9hQ5ZJZaGPvewr04gPIepH9QqpeUuXx+YcYeXIAAL3It9VYAgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHMIYBkiVxwVwyRHShw+Q4yZq+pWQf4m1n1A8IPMB6O0ElFgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="15" height="10">
|
||||
<object name="down" type="mapchange" x="224" y="256" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_arcir_basement"/>
|
||||
<property name="place" value="up"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="entrance" type="mapchange" x="352" y="288" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="arcir"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="15" height="10">
|
||||
<object name="Arcir" type="spawn" x="64" y="96" width="384" height="128"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="15" height="10"/>
|
||||
</map>
|
||||
93
AndorsTrail/res/xml/fallhaven_arcir_basement.tmx
Normal file
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="12" height="9" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="12" height="9">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA1NlYGBQJRFbMhKHYeo9GYnDMPW+RGJaq4f5g1j1MH8Qqx6ETUnEAJXb3aOwAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="12" height="9">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB2Es5Om/gpUfTIzA0MKECcxo/JhNAxchqovBoqVAHEREIuyI/gwGhuwJ8JtTlC9SWh243JPEEiMBeIOmN0gPjHuUURzD7L79HHowQcAKoLzT7ABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="12" height="9">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB38Z6a/+mSWweUefOA9iepJAQBdhNW7sAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="12" height="9">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHISYgUS1xAB85hOyjxT1pABSwwUAMSyoI7ABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="12" height="9">
|
||||
<object name="up" type="mapchange" x="352" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_arcir"/>
|
||||
<property name="place" value="down"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Statue" type="sign" x="32" y="96" width="64" height="64">
|
||||
<properties>
|
||||
<property name="enablekey" value="qarcir"/>
|
||||
<property name="text" value="Elythara, mother of the light. Protect us from the curse of the shadow."/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Torn page" type="sign" x="128" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="enablekey" value="qcalomyran_tornpage"/>
|
||||
<property name="text" value="You see a torn page from a book titled 'Calomyran secrets'. Blood stains its edges, and someone has scribbled the words 'Larcal' with the blood."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="12" height="9"/>
|
||||
<objectgroup name="Keys" width="12" height="9"/>
|
||||
</map>
|
||||
83
AndorsTrail/res/xml/fallhaven_athamyr.tmx
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="10" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIIhLnM+HHMHX1TPgxTJ0uA35MijqQ/TD+VHbs6vKh9sP4S3GoA6kJZIBgXQYEGxsGAArJQMRAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIA2osyDYmeyYYiCgwszAYA4Um8CGKm6Ops4EqC4ZKLYAqO43EPcCsSQrA8MjIP0QTS8yWIsk143E3o9Hz0ZWBPs8krpkqJtEoH65iKSOGAAAgGHpuUABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB78Z6ZM3SU2BoaLbNjVJbPQzl508J5IdcQAAFOlOl5AAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHEDMgIONrgYXwGUetdXhwgBRRV8oQAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="10" height="8">
|
||||
<object name="entrance" type="mapchange" x="64" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="athamyr"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="8">
|
||||
<object name="Athamyr" type="spawn" x="160" y="160" width="96" height="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="10" height="8"/>
|
||||
</map>
|
||||
89
AndorsTrail/res/xml/fallhaven_barn.tmx
Normal file
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="17" height="10" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="17" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIogLOZyIfw8zwYEbgeibSMLIZEVAcDsXmQGwBxN4MEKwGZJsi8WEYZkYEmhyyuzyw6MNmBro4TC/MbeSYAdOL7h9cZoDCllh3Y8P50LCNQHK3KhZzVKHhiS6nBo3HQAbSMEw/shgAAqtc5agCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="17" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoB5wY8HOX8mGXx4bcGeG4DA0NSA+Kysqn1iQzILJ7wWatQaI17JiV7uEBPOJAepAP2kwo7oFlx2CbPjNQvcPNn/QAiDbG8aMXQ5dnFIAAJPbwWSoAgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="17" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoA74z0wbM9SBYhp4zJ7DysAwl5X27qC1Gej+GCh3YAPvqWAGpQAAZgSVd6gCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="17" height="10" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHCEYBpD5hNRiU4MP4FJDDzMI+YtUQEnYUDOeQBgAbOFrk6gCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="17" height="10">
|
||||
<object name="entrance" type="mapchange" x="384" y="288" width="64" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_ne"/>
|
||||
<property name="place" value="barn"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="17" height="10">
|
||||
<object name="Gaela" type="spawn" x="32" y="160" width="32" height="32"/>
|
||||
<object name="Larcal" type="spawn" x="288" y="160" width="96" height="64">
|
||||
<properties>
|
||||
<property name="respawn" value="false"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Unnmir" type="spawn" x="384" y="96" width="32" height="32"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="17" height="10"/>
|
||||
</map>
|
||||
106
AndorsTrail/res/xml/fallhaven_church.tmx
Normal file
@@ -0,0 +1,106 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="15" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA+NkYGDgBGJVIE5mYmBIYSKdVoWagYxBYsVAuRIm0mlVNHNgWA0HlmWFYFzyqmgY5m5c6glhZH8j+5Nc85D9jc+fpOAEZuqahxyOg9k8SuIVWzxTEq/Y4jmQAYHV0Nj4MDY9IIyc55D5hMzDpgcfJtY8YnEgAYxLHwAX3FJ5sAQAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgwAQuLKSx8YGZ7AwMIVC1BkhsEACxQWIw9kx2wuatBKrZyAphOwDZMqwIOTlWiFgyC0TNSigbHYDcvhnJroOsmGrQAboaFzR/4FNLjHnIZsizorr7IpB/kpmB4RQQXwXio1B8DCp2mhmiBhfoYibsHlLALGbsmFrqkcE8YDyth+IFOOITHSCH3zwi9aGrk0cKz2Ic6RLZbYTciMsMWgJS3DdUAADi1JZHsAQAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgQID/zAxUBcjmrYSyeVgZGHihmI8VIraaSHth5iWzIMwDsdEByDx8foHJYXMfNkCsee+R1OwEsncB8W0ksW1Qsd1EmocO9rDiFntPwLwuLBgXwKYWWT0t08lgNA9f2I4C+gIA1uw8t7AEAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHCKYAQebEnUMaGxcAF09rc1DV4vLHlx60OWpAYiJH2rqw6aXWLXoYoQAqWGLTQ2pasl1H6l5hRQ5cuKIHPPIxQBVn97EsAQAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="15">
|
||||
<object name="southeast" type="mapchange" x="512" y="352" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_ne"/>
|
||||
<property name="place" value="church"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="southwest" type="mapchange" x="96" y="352" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="church"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="down" type="mapchange" x="576" y="160" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="catacombs1"/>
|
||||
<property name="place" value="up"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="15">
|
||||
<object name="thoronir" type="spawn" x="288" y="96" width="32" height="32"/>
|
||||
<object name="chapelgoer" type="spawn" x="64" y="256" width="512" height="96">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="15">
|
||||
<object name="qfallhaven_church" type="key" x="416" y="192" width="32" height="32">
|
||||
<properties>
|
||||
<property name="message" value="You are not allowed to enter these parts of Fallhaven Church without permission."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
83
AndorsTrail/res/xml/fallhaven_clothes.tmx
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="12" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="12">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA5WQzQ3CMAxGTRJZ6kycemABJNagbJATCwATAMvBBnDCVmTlh7hJDk9Kvziv8jcBwKSw34yjucS3mJxalt61fN7kcHbB+M3nK3HDPt8MkZ0N2R1jxucH8cS+PlIfw3uVmSBvtD4Y2UXe+A5f2VGK7LK1uqf01WbPqL9p+Vr/XfO9HPVCvF3sbsRXzh/J421gMev91ijnP+Q7EV8X7g6QM8N/NsIPFURebcADAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="12">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgGBiwjhk/n1igxQrBe9H0o/OJBZZAs6xYITQymMLOwBDARrp5PayE1ehgUQMKj1x2BJsUsJuFgWEPC6oYcnjgCptkFkwxkNtOA8XPoMm9h4bFFHb8+nEBZD9vJCKMkEE3WjzkMUMwDBzEYh7MjgQk98Lc0MKOqR4ZXISqY2ZH+BEkBnJHAZJeH6g65DAB6aljg2BaAAD4BnpfwAMAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="12">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoC/4z0ycGCnmebEyMGixooq1sJNvHjaxZBbqmkeqHhh4j0UOmxgu88gNl2Vo4UtueGAD+PwbgMW95ISfAB5/EzKPUPhSqp4SAADY4MOGwAMAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="12" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHMU0xcgAnY8uR6qZ2MyjhjuJMY8BC41NLzHmEgtwhSkhv+ByJynmoYc7trjAJ4bPXHIxALHjO9TAAwAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="12">
|
||||
<object name="entrance" type="mapchange" x="128" y="352" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_ne"/>
|
||||
<property name="place" value="clothes"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="12">
|
||||
<object name="fallhaven_clothes" type="spawn" x="160" y="96" width="384" height="224"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="12"/>
|
||||
</map>
|
||||
94
AndorsTrail/res/xml/fallhaven_derelict.tmx
Normal file
@@ -0,0 +1,94 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="12" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="12" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAACwtiZGAIIhHnMxGHYerrmYjDMPVRDAwMXkRgmHoQ24MZgpHlsKkHuQubepg4Ms6HugvEjmCGYDWonnos6kFigQy4sRcWMQBgdd8/gAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="12" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC2NgIA9EsCPY/cwMDBOAeCUbgm3Fjl2fBCsDw3yg/AJmCB/G9sKhHh0IAu3gZMWvJpIZlS+CZrYtmrwwFrs78NjxhA3Btofq7SbgJlwAAOZBWceAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="12" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC2NgIB38Z0awRVmJVy+CRS02MWTzSXUPqepxsZHBe2bCbHIBAGJabQyAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="12" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAACxNkYGAQHGSYEBBEogmx0fURq55UdxKrHl0MALHe5aOAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="12" height="8">
|
||||
<object name="entrance" type="mapchange" x="224" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="derelict"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Map not complete" type="sign" x="32" y="160" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="This map is not yet done. Please come back in a later version of the game."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="12" height="8">
|
||||
<object name="Bucus" type="spawn" x="256" y="96" width="96" height="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="12" height="8">
|
||||
<object name="qfallhaven_derelict" type="key" x="96" y="96" width="32" height="32">
|
||||
<properties>
|
||||
<property name="message" value="Bucus shouts: Hey you, get away from there!"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
81
AndorsTrail/res/xml/fallhaven_gravedigger.tmx
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="10" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIIhLnMuHHMHXFbAwMhUBcAsS1TJgYpq4ZKN8CxV4MmBimDl38JQsDQz4Qv2JBqAPZj6xmN1BuDxAXAPEvIJ7KDlFTi6buNFDuDAuCv5QdoiaQAYK9GBBsbBgAva2AkEABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIA84sqCyc9mxqwsEyomwIti4QDJQbhlQnSjQHGYgvstGnDveIqnbCLVHBKifDYi5WSFsEPBDUncRqk4WSayHlTj70AEARNZMWEABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB78Z6ZMnQgrdc0jV917ItURAwD9BtUCQAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHAQYBvDJYQOEzMGnjlwxZAwAxlfuAUABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="10" height="8">
|
||||
<object name="entrance" type="mapchange" x="64" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_ne"/>
|
||||
<property name="place" value="gravedigger"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="8"/>
|
||||
<objectgroup name="Keys" width="10" height="8"/>
|
||||
</map>
|
||||
129
AndorsTrail/res/xml/fallhaven_ne.tmx
Normal file
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="30" height="30" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC+2XsQ6CMBCGm4M+jCNPUY0zEeOojsZBV+PiyENLUy+U2uvRFkw0Dl+uQOnP/9N4shBCLCLYyOFYyeE5zRpocM4K4gg9j3rp74AG528hjjGZnIAm1a/rW8l33RvQpPp1fbvvdiy5flPJ9ZsK52vfcfDUuf1eOq5aqzQVj3N1KT9YK2FoRT+uMjU1+PxUxXntBFo2FcOUWn++C67Xpdw7Zj2u14UI9UpuvTP4mdvvHfxw6+b6Tc0xlFVMfjGZoV8qK43uBcdymF/uHkG/dceyMBXHyEMY8BqlG5OZnVtT9GPUbCxd7l2GMqP2nY3tNWYP1Ratc+zDvb8pelJ/w7h+qaT/P+ic4LfFp3Wp75pf9Gtr6voE80F1EhAOAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC7VXO0oEQRCdZXv0AnsBE91URJ3ATBERsxExU1DETAMXzHSzDcT/CcxM/GSbiHoE8QQmZrKRsXYxVcybsno/oz4ouvr7uqqrp3qiKMN0HEVJHBWg26ZZr8e5LqC2sTgr/wO4F9FxD3rvGr/ZG84VXftmeSgrZ12xtPw6CBL2q+gtV+zf9Lw1355yu5SdanlOgT7jfsb/xtbQWouVYl+D21eAS/ulDHb8eussC17mPe8qtIVkdwCbt3mfc7DfNZ6/z23zlbwufpC+psv1tRK+XjZ4XxUv4hXGXyjeOcMW1GtqfxTHFJc0vwnjZjzvVBfZqxR5xQa0RfSG4RPxYTc/Cyxd5ml7dJ2gYxXnXwAv2X8JXFegnwHviZdTL8fAJfW2y+u05jH4ldoOAvEs8doM3Bni7XYeKDMBHSVR5yd+vR7OdCo3XNYvtqEdlu1Yx7iVeW0jzpd43LnL9HPws/X9cMDTNvqt+4LodT/L3N9+ePHcLTkckLdlfB8o3737u3zr5U7lGn0HXUk7BcQra2xynn30nE/M+xe5LsQraLAPJnw56vkmq3ZMWBh3P/UPP3/LZTIB/Wmc36O9Huf8VyB76P6hvW8l8mkvf3ypc2pCXKV8vvdc3vixn9X8XSVxhvGG+obLSx1vHYiTOp9dqr4bzzzngcfqOMN4E93KNYIjfDf7sQnYjrwvRm4hP8k7M5RDk2pucwhOvVPRzwS51+IvWle/4UbUG9v6TnY7d+3nMqgPkI9CuSn0phCE/il0nrVyEeZRzMWhcVb+xje+BYq1kUAfQfycxvZ5WHMtzm89NfzLEA4AAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC9VWUQrCMAytaPEo3ffwBE68iAfat6f0CJMihTiavjZJiz4Y6xaat/cWkjpni8uhHJ9BXLrvBuJXIa90X8J21O2X+BW8c5PX8VLdKNddyUUhrQ8t0H/Wesrp0tYHAqerNy/NT9faumzhfXXWSDGCa/Wfi3vm3iE8z9/3XwDSKtHZA6V5Z93LaL7SvNPOLGk+655S65/1mSPqXSpqy/rMkfMPacuhVS/lTbqRthxa6yT2zBqfa/OhWCDrx8mGd2K499+0Pz9odJdmKDeHNHxhYJ9NPo3kRKidRfFKPi/+f2YYxRvJS7o3EA4AAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="30" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC+2TUQ7AIAhDewXvf9n9GlJRKMN9jMTMbIxHsQ4A41/phUtMoI9/Gl3sYZ5vsrt95M2T6Ve1ZOLrXO8/kBw223mf9SmrGcmp9ipQ128m7Pyr7top1/uuaFZ8oejMzkud8Q0mpnfdXNbHW9yOc2Z1O3TaupalMOcaK23eOa/qRbwS0atyT8+R5bL9rtedV1YRza9gqqwKn1ffnS7uA22xU3oQDgAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="30" height="30">
|
||||
<object name="west1" type="mapchange" x="0" y="416" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="east1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="west2" type="mapchange" x="0" y="864" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="east2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="clothes" type="mapchange" x="640" y="736" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_clothes"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="barn" type="mapchange" x="224" y="672" width="64" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_barn"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="potions" type="mapchange" x="512" y="576" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_potions"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="church" type="mapchange" x="320" y="256" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_church"/>
|
||||
<property name="place" value="southeast"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="gravedigger" type="mapchange" x="704" y="96" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_gravedigger"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Map not complete" type="sign" x="416" y="928" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="This map is not yet done. Please come back in a later version of the game."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Citizens" width="30" height="30">
|
||||
<object name="fallhaven_citizen3" type="spawn" x="672" y="224" width="256" height="288"/>
|
||||
<object name="fallhaven_citizen6" type="spawn" x="32" y="736" width="608" height="160"/>
|
||||
<object name="fallhaven_citizen5" type="spawn" x="352" y="448" width="160" height="448"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="30" height="30"/>
|
||||
<objectgroup name="NPCs" width="30" height="30">
|
||||
<object name="fallhaven_priest" type="spawn" x="352" y="320" width="128" height="64"/>
|
||||
</objectgroup>
|
||||
</map>
|
||||
83
AndorsTrail/res/xml/fallhaven_nocmar.tmx
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="12" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="12" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIIhHnMxGHYerrmYjDMPXeDKjYkxlCZyFhb2bc6nFhmNs9mIlTnw91VwSR6kFqAxlwY28sYgBy9P+2gAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="12" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgwA+U2LGLc7Ig2PzsEP5KNgYGIyDbFoseSST1E9gQfCcsanuB8n1AzAmUWwJUtwDIToaqFwKyO1hR1a9lg9AHkNTBQB3QjHp2THF0YI/DnzBQBtRfDDVDBIvaJQTMxwUAmDmytIABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="12" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB38Zx5Z6t8D1SezkKaHWAAAEkkyeoABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="12" height="8" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHIQYGWDjY1OPro4Bizw283EBQu4iRj02NyJjAJ5xdIeAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="12" height="8">
|
||||
<object name="entrance" type="mapchange" x="224" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="nocmar"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="12" height="8">
|
||||
<object name="Nocmar" type="spawn" x="64" y="96" width="288" height="96"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="12" height="8"/>
|
||||
</map>
|
||||
161
AndorsTrail/res/xml/fallhaven_nw.tmx
Normal file
@@ -0,0 +1,161 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="30" height="30" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC+2WTQrCMBCFw0APk6WLnkHEtYi41L0L3XuBXkRvoKczQgtDOr9NAi5cfIxJ04Y3My8xhhDiyL4LYd3xMYZ21NxzAzzS3nhuCzzcvgfgodZPOvHcEXg8Or16L8Dj0SnppbgDTy29pdTU6+GUvnuGeWyt95q+e4N5bK13hRjQb6yfek/yqse/cdyXykPu0y+SVy3+teSBOgMlr3r1epC8WqK3BE1vq3xoelvlQzuftedLc6Cdz9rzPAdLvFnSH5N/S73p7Q+pLtTdWqs/pLrg2tS6T7k7m8N6n2rn+G7E2lOPNH4CH/P6WXrFsu6Vxm/go9YnVK9Y1vWIIRv3RP0s/8Os6yYGZv7P7/EBww+lixAOAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC6VWvU7DMBAmisMT9AW68QQ0AwMSVVV1pYrITAfECGok2LpApUqFiacozB1gZ2HkATIiITEisUCO3MmXy9lN1E+yktiX+3y/dhrt/KOHTx9iJgPysfIPn3fJAFKhS0NTXW0AvFIvIY78PKtwu73cb/hn6lh/DutzTeIF2A/sGAZ1eznGu+XzMaw+XfvyITfW3kFg9wycr6YqO0Hel4KvE5VPgGG8puEeeF4Rb+r4d4TrXVxfKHJ7LXkvjOVd4hz4Ad5n6BNYXzK9tE7vPL/66Ksz4TMNB0E13nL41iE3uJ/GyDfx8HZFfAFzIS9jLTFA3hzlOmwP/L2v6OG8TbBidTQQ9rr2OXbwzhrEg0D1Ozd1XsLIY0us+JlqE2r2J7TfGjJTzzkAz0XKTZIBTqPwUm3ymj13cEM9uXLONc9BvBn6GnKE/HRVcF57bPblRhLV60/7l9ck15d5Yg9ygwY9Y23KfIBB9X7o8BOgy3TK/pxjfBOUoT7+jfKyJglaf7qLrL2JsEP2Z7KXQDlx64mLC1SbpE+rR15znHdq6vLaeaH1cqrNTb2TRtyy5/Bezmv2g9nrOl/J/7kjfpknz96N9ZesWeJtg3WLfgeAnLvEf6aOuPkg++tKyalhWA6A7z40w/ogG55YHD7x/Y3p5/Wi3b2A86Rhjvt6pwuyvqmegfNU+OXIVGUAC9Gv+Dn6G+rzfH9yn+C3XjEX4/xN8X1srAzXo91tAF/sDJR9R8pOhY0Uj4fimdDeWtxtthkEbc++u1ymyK/FGSvP3Cyy37Le+HcaVe8R2l1E63+uPsJ1/AEQQaAnEA4AAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC8WWzQ3CMAyFg9JuwA7puWKCCrEIJxbhVIlRO0LBhwjLcvKcn8InVWrkJLWf7TTOlRFG56axcFHnvVafXn85tfuF9piZPfpwBWtews/AxjEGtMfC7D3itLL77zvyMSLjrWFj3/1lvJFgyCuC6yA1oXHOrvEPHYhWHTirx3OIXZnXo99nsGZL+Me/XaPHcnDuUlrweGPNabWovSMePq0FivfWeEageJFd6qD9TzQtULy1eqRAOml9YrXLvFt7k0j1Sc5O+uZ6FvVmC7mezeWmtU5zoNwdBeXGcnbKfMT6SGliudNZzk7KR8k9rFdN7ZnzjPtG3If6mtK+a5kTPs/U0O8SrUfPI56D9tL+MRx57vS4Lx5N6V2uZcx5DvU+l/IGyDNzbxAOAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="30" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC+WTUQ6AMAhDe4Xd/7J+mRgdoyV0xkjih5PxoNQBYPz0wUvMM+5nbt6M4WRn8+Ly7p6ZCbfWDt91xqy3qNesxk5uVbOs1+p+M7bKjf6jClfx4qovto+OULVn8xRfMTXZ71EeExUum7PyKaPzPS/r2+WXr3FX/uvkAs95u3RR77NcVkd2BnYfTu6M0TlvVE/lYnFP8VSkA+uXqic7Yqdf1P066h64+UhYEA4AAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="30" height="30">
|
||||
<object name="east2" type="mapchange" x="928" y="864" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_ne"/>
|
||||
<property name="place" value="west2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="east1" type="mapchange" x="928" y="416" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_ne"/>
|
||||
<property name="place" value="west1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="west" type="mapchange" x="0" y="128" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="wild3"/>
|
||||
<property name="place" value="east"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Signpost" type="sign" x="64" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="Welcome to Fallhaven. Watch out for pickpockets!"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="rigmor" type="mapchange" x="352" y="160" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_rigmor"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="church" type="mapchange" x="768" y="256" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_church"/>
|
||||
<property name="place" value="southwest"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="tavern" type="mapchange" x="256" y="416" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_tavern"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="prison" type="mapchange" x="416" y="768" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_prison"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="derelict" type="mapchange" x="128" y="832" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_derelict"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="arcir" type="mapchange" x="800" y="800" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_arcir"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="athamyr" type="mapchange" x="672" y="544" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_athamyr"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="nocmar" type="mapchange" x="160" y="672" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nocmar"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Map not completed" type="sign" x="256" y="928" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="This map is not yet done. Please come back in a later version of the game."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="30" height="30"/>
|
||||
<objectgroup name="Citizens" width="30" height="30" visible="0">
|
||||
<object name="fallhaven_citizen1" type="spawn" x="32" y="256" width="737" height="317"/>
|
||||
<object name="fallhaven_citizen2" type="spawn" x="160" y="256" width="480" height="448"/>
|
||||
<object name="fallhaven_citizen4" type="spawn" x="544" y="320" width="352" height="384"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="NPCs" width="30" height="30">
|
||||
<object name="fallhaven_oldman" type="spawn" x="864" y="608" width="32" height="32"/>
|
||||
<object name="fallhaven_guard" type="spawn" x="448" y="832" width="32" height="32"/>
|
||||
<object name="fallhaven_drunk" type="spawn" x="320" y="480" width="32" height="32"/>
|
||||
<object name="fallhaven_priest" type="spawn" x="672" y="320" width="96" height="64"/>
|
||||
</objectgroup>
|
||||
</map>
|
||||
83
AndorsTrail/res/xml/fallhaven_potions.tmx
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="10" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIIhLnM+HHMHX1TPgxTJ0jA3b8koWB4RULYXV5QDW5LAi3EVKXD7Ufl7qfQDW/WCBqAhkg2JEBwcaGAX/psXRAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB14sWDSuewI+URmCI6CyoPoFqC8DysDgy8rQl0hMwQnA+XVoPQUqDlhzMS55Tcbgh0GNQMGEoBmabEiMAyYIakTAaopAGIrVgQmBQAAQKioOUABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB78Z6ZMXRQLdcwLYCfNXhBgR9Lznkh7iQEAIW5BEkABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="8" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHGDMgINGlscFsJmFSw6bOmLdhgsDAKh5qvpAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="10" height="8">
|
||||
<object name="entrance" type="mapchange" x="64" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_ne"/>
|
||||
<property name="place" value="potions"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="8">
|
||||
<object name="fallhaven_potions" type="spawn" x="64" y="96" width="192" height="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="10" height="8"/>
|
||||
</map>
|
||||
86
AndorsTrail/res/xml/fallhaven_prison.tmx
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="15" height="10" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA1NjYGBQowCnM+HGuORhesuZcGNc8jC9AUjYkhmCYXx0eWRxXHLU0AvyG7l6y/HoxWUuIZzOhNtcfNiTGaLPlAETB2ARw4YB0qlcUFgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoA5Yx8zAcIQdwV7JhpDzZkGl0cFeZuxsEIgG6mFlhdDIQAcoJsWK4K8G6hME2r+fDVXdVaC+HqC6XjRxVXYEuwyo5j9Q/3kkNUJI7LlI7F1o7gOZ/R9J7D+aPDI4BZS7CsRHofg0EL9HUg9i32dH4AfsuM0iBcwDmrMeiBcAcTKOOAABVSrZBwIAe8d6l1gCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoAz8ZyZfHl1uNTN+eUJyyGK0tPc2kvxuNLXn2BkYziPhC+zEmQsC99hxyxHSiw+8p0AvuQAACG4FRVgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHMKYAY84A5I8NnW45LEBQnrx6SdFLz5/kgpINQdfeBIKb3QMANMM0CxYAgAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="15" height="10">
|
||||
<object name="entrance" type="mapchange" x="160" y="288" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="prison"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="15" height="10">
|
||||
<object name="fallhaven_prisoner" type="spawn" x="288" y="96" width="160" height="96"/>
|
||||
<object name="fallhaven_guard" type="spawn" x="416" y="224" width="32" height="32"/>
|
||||
<object name="fallhaven_guard" type="spawn" x="32" y="224" width="32" height="32"/>
|
||||
<object name="fallhaven_warden" type="spawn" x="96" y="128" width="32" height="32"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="15" height="10"/>
|
||||
</map>
|
||||
83
AndorsTrail/res/xml/fallhaven_rigmor.tmx
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="15" height="10" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIogDnM2HHhORAuJ4JFZewMTAUs0HUoMvBMEyvIwMqbgHqa2aDqMliQGBkNTC9b9kw9RPCML2TgXqnYNEPkpsIFJ+EJmfGjNC7GCi3BIfehUDxRUD8kgXofyh+xYIIR1zuQpbLA6rfDcR7gDiXBRGOIDcg61GD8uuR9P4Eqi+A4l8sELlABgh2ZECwicUAeNJCPVgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIAyU2PHLc7IwMMSyQ2h0YAQUz2VHqEMHkiyoNDJwgurTZoXIe7Ei5O6yMTBcAOJkoPhDNlR9HVB1PUDaGoitgNiSlWHQgClI4bkRzV3J0HAQIRDmIHARTS9Mzw82TP3JaOH7Gy3MQOA0UM0ZLPFADgAAe3X9BVgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoAz8ZyZPDl3+Iht+vVqsxJv9ngR7SQUwvS3s5OtNZiHdTZSEM7bwgLkBXW4ZK6ZacgAAUTneEVgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHMKYgURxZHlSACH9uOQI2U+sufjchEuMGDcRq5fUeAEAwdhY6VgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="15" height="10">
|
||||
<object name="entrance" type="mapchange" x="64" y="288" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="rigmor"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="15" height="10">
|
||||
<object name="Rigmor" type="spawn" x="64" y="96" width="384" height="160"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="15" height="10"/>
|
||||
</map>
|
||||
102
AndorsTrail/res/xml/fallhaven_tavern.tmx
Normal file
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="19" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="19">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA62SzQ2DMAyFX/mTOhCHXqgYAcbg0hEyQ0dgDroSO1RWahGZhNqBw1N+7HxS3vN4A8aL9SquEfPejZcr8kXvmTc3Xj30aktgwqY54Fk4R9Ly2A/Z29XAs/arhcd+hL1H+VJ9qYBPtfXLMzN4n8qXVos/vI9lTHWn5FGe/7yh+oC9+sjdgL1/IWv9+XuHXpo8cnmpPHJ5qTxyeak8zvh3No9wVuXcPkp/Z+GRR/SO/ZP/dUZebCalvkJVcnfwBQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="19">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoAwoseOX52RhYNgMVBPAimDnsCPYyGpAwIiAeZJAtS3sCHYmMwNDFjOEjawGBpzwmCcKlZsCpKuZIexKIF0FZWczo6pPhprbwYoq/o0Nv5sHAvxGc5MoO34+qUAIql8ESguD4hTJzD84wgQU95vR7AaZcRoYtmdYMPkiZLgT5BZVLPpgYmHMmHLI4ALQ7XepEKdTKAxjGNjISlgNKeAgknmguMil0J0Xqew+dEBJfLRQKQ5gADlOH7JBcDILbvXEAGz6qZV20AEAnGJDhPAFAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="19">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoD74z4xd3IeVuuaRC2DmJbNQ1zxqAWqYh+w3UswjRu1gN+89mea1sBOvjxjzqAFA5rFRwV3I5lETDCXzLrJBMLXMo0baQU6rpKRbcgEA5Xi8NfAFAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="19">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHMGYgQCbAQcbmzmUAmLNwmUvPj+Sah4pYUYKn1zzGHDIk+NnQupISTO47CUlfsi1a7iahw6o5UZqmYuul1I3YnMfNcMUGQMAKrZNJfAFAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="19">
|
||||
<object name="entrance" type="mapchange" x="160" y="320" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="tavern"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="rest" type="rest" x="576" y="320" width="32" height="32"/>
|
||||
<object name="rest" type="rest" x="576" y="480" width="32" height="32"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="19">
|
||||
<object name="drunk" type="spawn" x="64" y="128" width="224" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Bela" type="spawn" x="416" y="128" width="64" height="64"/>
|
||||
<object name="Ganos" type="spawn" x="32" y="224" width="32" height="32"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="19">
|
||||
<object name="qfallhaven_tavern_room1" type="key" x="448" y="288" width="32" height="32">
|
||||
<properties>
|
||||
<property name="message" value="You are not allowed into the room unless you have rented it."/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="qfallhaven_tavern_room2" type="key" x="448" y="448" width="32" height="32">
|
||||
<properties>
|
||||
<property name="message" value="You are not allowed into the room unless you have rented it."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
93
AndorsTrail/res/xml/hauntedhouse1.tmx
Normal file
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="10" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIIhI3EsAwdRMJYJi6CGYEdmTAxMjqsMkjqwPZj0+NPTNEzUQc6pDtAKkJZIBgRwYEGxsGADh+4J1AAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB/0MzMwTGBG0DDgwYzAIqwMDPOB9AJmBI2sDgaSWVDNfsKGYF9mQ5UXYWdguIKmHgQeQ9VthKrhZEW1AxksQTMPBDaiiRMDAKswOiNAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB58YIbQYqwIMSZWTHX/mTHFhKDqRFjxq8MG6KUumYU4/cgAAENYDURAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="8" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHAQYHRAjj00tNjNw8Yk1D5+7AVilDm5AAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="10" height="8">
|
||||
<object name="entrance" type="mapchange" x="64" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="wild4"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="down" type="mapchange" x="256" y="160" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="hauntedhouse2"/>
|
||||
<property name="place" value="up"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="8">
|
||||
<object name="minorhaunt1" type="spawn" x="32" y="96" width="256" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="10" height="8"/>
|
||||
</map>
|
||||
103
AndorsTrail/res/xml/hauntedhouse2.tmx
Normal file
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="15" height="10" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtiZGAIogBbkoFhej2YEdiTETdGVoesNwKKtRlw4wgkdTC7selBtgObOZ5QvYTswOUOXHoJYVMGiLuJVY/sD06ou4nVi+wPTqjd5GCQXgCYw64vWAIAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoB4QY2Vg2MwOYTOxQmgYX4wVv14RqDwrkBZiRRXDB0Dqi1mwyz1hwzQfBpKBegTZGPCCJTjMhYHLQP0qzBAMY0cyQ8xGBvrMmGY+Bqo3YYZgGBtdHzpIYMYvTwzwZIaEC7JdIDfxsRMX3sQCAOlgEFhYAgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="15" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoAz8Zx54vcksA2PvUNH7ngK95AIAHF9zMVgCAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="15" height="10" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHAYYGyBFPbFmEWM+Lv2E9BJrLz5AyFxi/E8NDADjdHOrWAIAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="15" height="10">
|
||||
<object name="up" type="mapchange" x="448" y="160" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="hauntedhouse1"/>
|
||||
<property name="place" value="down"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="down" type="mapchange" x="64" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="hauntedhouse3"/>
|
||||
<property name="place" value="up"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="15" height="10" visible="0">
|
||||
<object name="minorhaunt1" type="spawn" x="288" y="96" width="160" height="192">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="crossglen_beetle" type="spawn" x="96" y="96" width="256" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="minorhaunt2" type="spawn" x="32" y="96" width="192" height="192">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="15" height="10"/>
|
||||
</map>
|
||||
115
AndorsTrail/res/xml/hauntedhouse3.tmx
Normal file
@@ -0,0 +1,115 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="25" height="20" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="25" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA51V0RWCQAw7DjeAMRzEERyQDXADbgNGcBG9B33G2rR9fuTxQXK5phHbUEo7sSTQDESaHTBWX3up33zBFng8T9zGUqb66ym8xxtz/fARlkcD/bUcuI/HE7XdU/R9BuFqaA+cdxu4DvUyA+N484r/CkBtz088vHvgvJrLdoX5ZTzwrKwHZm95WGdJXpFHO8+fHQ92X8yLeUgX9G61B7sv80cP6QLrlb6v56GzjrpvvbcyYT2Pur+Q92wnbOfWzCtkmM3E6xXrIPYsk0nfU9dauaKHfBeFa/XMm3+qcS/luyhcq2eeh7fTDPcfHf42smdjFzI6/Y1aA7D/uAz/BReuG8vQBwAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="25" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA81Uuw3CMBB1nF9HEbFJ0rMCoksLI1CwAoMwRAZgg4xAFkDQB5/QKZfjzg4BJJ5kybKfn+3n5zPmv2HT32kvnfbVtcK1Ngvz1/HQL60xWTpocFR26BdOu3PtouyxcePn/NnvY5kDGqUdj9WOu0vC5wZsM/mcgHskj9M7nAL7ILfw+Kjtg7hFYw6/737iXX36U9Hm/nnu/VE420LRwDdeefaorD6ngfulAbKO+vxdNY+RVwv55BqgDVmn/kje0/PS3Gu+UXQT9CU0yStf8pqOSdp0/jCzRoXyjBlrPsz9HND70XdqlBxgBigXaiP3lr4t/zOwNuQ750reSOtC9Qug1d6Qtm/dOzXnG3gAsSZcXtAHAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="25" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA82UsRKAIAxD8Rz8/3/zP3Rg12Nw4Zo2KeLZEZI8WjhKmV/XOlevepr2+ICR0daF97A9/K3fUca++bqzy7QYvUY5jzVPy4eyvDt+PNZ9KYxWVo/RW1AZSK8y0EzQrKN8tI9mwqyx+2xeloH6UxjeO/N8LNfLjnyj2qyP/Xvf8s2oGypTPXHQBwAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="25" height="20" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA+2QOw4AIQhEuYL3v6zVNhuZ4RHsJKHR+bIiYr0t7TcUTzh/ntMguE63Thbn42404eH0si4VfdWF3vVWj4qHusGEh9InWu6d/BEP1a2r1fWo8E5Yok88JjqQzFnO0yiewnbwjpfhb+0GbgA/XtAHAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="25" height="20">
|
||||
<object name="north" type="mapchange" x="704" y="128" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="hauntedhouse4"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="up" type="mapchange" x="0" y="96" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="hauntedhouse2"/>
|
||||
<property name="place" value="down"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="25" height="20" visible="0">
|
||||
<object name="catacombguard3" type="spawn" x="352" y="256" width="32" height="32"/>
|
||||
<object name="catacombguard2" type="spawn" x="288" y="352" width="128" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="minorhaunt2" type="spawn" x="224" y="256" width="32" height="32"/>
|
||||
<object name="minorhaunt2" type="spawn" x="32" y="352" width="224" height="256">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="haunt3" type="spawn" x="352" y="96" width="192" height="96">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="haunt3" type="spawn" x="512" y="256" width="64" height="256">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="skeleton1" type="spawn" x="672" y="192" width="96" height="352">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="25" height="20"/>
|
||||
</map>
|
||||
84
AndorsTrail/res/xml/hauntedhouse4.tmx
Normal file
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="10" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC1vCyMCwBYgvQzEzEwPDEkYIPgLFMD4LUO4xIwQLM0HUgsRgeg9DzRIBiukwIDBIrQiSXpg6ZDXYMDHqprITp24pVN0SNHWbseiD+Rdm5mGkMNgMxTA+AA+VUetAAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC2NgIA2IsDIwfGQlTq0QGwODMROqXmRgApTbwQJht7EzMFxmg4g9AdIr2RHqQPxkFgT/MRofH9iBRd1/Zgj9mRFCf2FEyH1mxFSPDwAAeLjQdEABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="8">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC2NggID/zAxEAWzq0MVA/PdQsTJ2hDhIbCY7bn3IIJmFOHWE3IYNfGEkTh0xAACc2nRdQAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="8" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAACxNkYGAQpAGGAWqrY8CjDx/AZh4x7iDkNgAS/qKtQAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="10" height="8">
|
||||
<object name="south" type="mapchange" x="64" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="hauntedhouse3"/>
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="8" visible="0">
|
||||
<object name="skeletonmaster" type="spawn" x="192" y="96" width="96" height="128"/>
|
||||
<object name="skeleton1" type="spawn" x="32" y="64" width="160" height="128"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="10" height="8"/>
|
||||
</map>
|
||||
@@ -50,22 +50,22 @@
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA32OwQ2AQAgEgQ60DbumA+0AO7AEO5HNSUSCPuaxexNulYnU2QsiRAcP7HZyF8zenTyAt5UuWOghvNx1aONp2Rs5e5P/z/Leixxuvgc370W25maHcX/zzwPrB3i7AMA2ea2QAQAA
|
||||
H4sIAAAAAAAAC32OwQ2AQAgEgQ60DbumA+0AO7AEO5HNSUSCPuaxexNulYnU2QsiRAcP7HZyF8zenTyAt5UuWOghvNx1aONp2Rs5e5P/z/Leixxuvgc370W25maHcX/zzwPrB3i7AMA2ea2QAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIA34MGMXf8iKyo8BqmNDEjNigtCCbJhiS1gwzfvIiMovBaq5SZpTcYL/UD8YMqGKs7Fiqt3BglALci8fOwODDTOm3v9o4QLzE7J/iQEAxGswVZABAAA=
|
||||
H4sIAAAAAAAAC2NgIA34MGMXf8iKyo8BqmNDEjNigtCCbJhiS1gwzfvIiMovBaq5SZpTcYL/UD8YMqGKs7Fiqt3BglALci8fOwODDTOm3v9o4QLzE7J/iQEAxGswVZABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgwA3+MxMn9h5N7AMzphix5lNbHTaxT4yYYrjc+4FIu7GZSQ4AAD4LQA+QAQAA
|
||||
H4sIAAAAAAAAC2NgwA3+MxMn9h5N7AMzphix5lNbHTaxT4yYYrjc+4FIu7GZSQ4AAD4LQA+QAQAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="10" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQpAFmwCGGLo4LENKHy05i1OFyH7Fm4tJLjF8IYQAWouACkAEAAA==
|
||||
H4sIAAAAAAAACxNkYGAQpAFmwCGGLo4LENKHy05i1OFyH7Fm4tJLjF8IYQAWouACkAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="10" height="10">
|
||||
@@ -83,12 +83,8 @@
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="10">
|
||||
<object name="pitcave1" type="spawn" x="128" y="224" width="160" height="64">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="pitcave1" type="spawn" x="128" y="64" width="160" height="64"/>
|
||||
<object name="pitcave1" type="spawn" x="128" y="256" width="96" height="32"/>
|
||||
<object name="pitcave1" type="spawn" x="128" y="96" width="160" height="32"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="10" height="10"/>
|
||||
</map>
|
||||
|
||||
124
AndorsTrail/res/xml/jan_pitcave2.tmx
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="30" height="30" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC92WyxGDMAxEjTsgbaRrOiAdQAfpKPFBE2WzEmvMKQcdGBk9fby2l6mUxVmtpTynj03126/aHhiuM94NuPP7e+uIu5Pcozoejncvv4bcLC7LPaqjxWE8xm1rs7hR7hjPas3WWV+NeRRX5WZr2jz87EeZKneu+ewtt9aTFWyEq1jLrbGZXhTulqxV2KiXPYi3BFzWM6V/qBfPt3+9dhk3Ohuy/rE8kL8TrvdFZ4PvX1Z7xG+G8/W+6Gzw+WPeCp9xvU/Jf+us+yod4X7o/e8qrlJDtKdHuF5/yFrJWtTrGS7T2+p8yhtB7b1pimkOfV5/OJtsnzOba6w59Nl39obo2W+Z5tCHXLz71XfI6F7Entpdf3TP9+5D5GJds8DEOan8LeixapEmergjM2K6+DdudvYcxTtzj0RnrDJj5XxmpvCieMz/AoOJDxAQDgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC7VXwU0DQQzcy5HLB53EA4kvJZAfUhpAooFI/KgBUQt15JN2KAEaCGflLCwzttfkdr7n9Xhtj71XCsbt2vjQEJ8Lcn4M5zs897bNMH3frkq5mWyfJrvXq1IeVrZ9lBMZ/4vBuzX8UwweBsDNvuTZt+kO48a/B6Gbz3x12C/5uN78/Ub+ESdjFGfkXaUNAsoLxfYN4svCyi2Kr3PqoGOx/KK4qR5W7Qn3Qf0zeSDbY5BvCe4Vq7+Zm3yifsnEZXFLtJg9Xv6Oge4ziHJoIeKP9IPmA0P3FvLF/MiPjI16mHuL/B6CebOEfmuA+C1uS7enPrZZAhkNca0e5/1UC757hgvla9//7saW8PqkZS3+g+id4s0vqa+amXC3xnue+5316M0P0ukIdnktotmDgHad9x6QfYryUtsDBxCrt3cRLp1ZaNfLd4WnSc0t8/Su+kpzaJ220s0+MQ8y7xDGbp7DupaSN+rJmrmnY6P3LulEnz05/xAZPu2PdXnJm2pp/ABwvxFtEA4AAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC+2WSw6AIBBDMd7/rBovoHHhSmRabIFEuySkbzIfhpTu2ufMoVEXbxFw0djPewwv8kW9WGbLnCiZKFdZe4ar5DFch35uX647nid/tIfXyvhGy7Nb26TzYnNeW6OvqtQjUf+86a/SzEXz6Ng5kUaa4Rax5BjuvCv/TCxXKfQNUnOZP3sPrnIvOPyUOgCuKRBmEA4AAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="30" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC+WUXQrAMAiDvULvf9k9DUbxJ4nSMSaUgVU/28YtM1s/X7Z9J2tGe56pHKSOF4MwWeucNYph2Z3+Oved9THx9iiXfTeGXfnUMyg1Jmalewcn+F0uogeG+/QjfaGmaDfqkamlzk3Gnoy/c5A6e82uTjx/R4fTGv0yl9FJtTd9ZtYyBsJV+8vyFK6qCW9v91VMVhMZA8md4lb2BleZgZP/CCXnxLoANjM6KhAOAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="30" height="30">
|
||||
<object name="up" type="mapchange" x="832" y="64" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="jan_pitcave1"/>
|
||||
<property name="place" value="down"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="down" type="mapchange" x="800" y="832" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="jan_pitcave3"/>
|
||||
<property name="place" value="up"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Grave cross" type="sign" x="864" y="768" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="Gandir lies here, slain by the hand of his former friend Irogotu."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="30" height="30">
|
||||
<object name="pitcave1" type="spawn" x="544" y="96" width="256" height="96">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="pitcave2" type="spawn" x="288" y="256" width="32" height="32"/>
|
||||
<object name="pitcave2" type="spawn" x="544" y="320" width="384" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="pitcave2" type="spawn" x="32" y="256" width="128" height="288"/>
|
||||
<object name="pitcave2" type="spawn" x="480" y="672" width="96" height="32"/>
|
||||
<object name="pitcave2" type="spawn" x="224" y="416" width="224" height="512">
|
||||
<properties>
|
||||
<property name="quantity" value="5"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="pitcave2_boss" type="spawn" x="736" y="736" width="128" height="64"/>
|
||||
<object name="pitcave1" type="spawn" x="64" y="736" width="128" height="128"/>
|
||||
<object name="pitcave2" type="spawn" x="64" y="96" width="192" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="pitcave2" type="spawn" x="384" y="192" width="160" height="96"/>
|
||||
<object name="pitcave2" type="spawn" x="672" y="672" width="128" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="30" height="30"/>
|
||||
</map>
|
||||
87
AndorsTrail/res/xml/jan_pitcave3.tmx
Normal file
@@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="10" height="10" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC1vEyMBwCA9eBMWbgPgiHnyQSHWMTAh12gy4sSATwkx86kAY2W5qqiNkN7I6bGZuZITgRWh4IyNuOQDcrH/okAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC2NgIA34MBOnLgZJ3UNWBgY2Vkw1kUA1ySwMDKUsEL4gG4TmY0dV94kRlf8eySxDJlS5HVCzQGb+Z4WYj81MmH1LWDD1IoP/RPoX2UwQ+MiIXx0uAACdmNbckAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC2NgIB78Zx4YdaSAD1S2+xMj9e3GBwDCZbrgkAEAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="10" height="10">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAACxNkYGAQpAFmIEEdOiCkThCPWnLUEbKfHHXkhhsAXyTZFJABAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="10" height="10">
|
||||
<object name="up" type="mapchange" x="64" y="64" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="jan_pitcave2"/>
|
||||
<property name="place" value="down"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="10" height="10" visible="0">
|
||||
<object name="pitcave_boss" type="spawn" x="128" y="128" width="160" height="160">
|
||||
<properties>
|
||||
<property name="respawn" value="false"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="10" height="10"/>
|
||||
</map>
|
||||
31
AndorsTrail/res/xml/preferences.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<PreferenceCategory
|
||||
android:title="Display">
|
||||
<CheckBoxPreference
|
||||
android:title="Fullscreen"
|
||||
android:defaultValue="true"
|
||||
android:summary="Displays the game in fullscreen mode. (Requires restart)"
|
||||
android:key="fullscreen" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory
|
||||
android:title="Dialog confirmation">
|
||||
<CheckBoxPreference
|
||||
android:title="Confirm rest"
|
||||
android:defaultValue="true"
|
||||
android:summary="Gives a question about whether you want to rest when entering a bed. Otherwise, you will always automatically rest."
|
||||
android:key="confirm_rest" />
|
||||
<CheckBoxPreference
|
||||
android:title="Confirm attack"
|
||||
android:defaultValue="true"
|
||||
android:summary="Enables the 'Do you want to attack..?' dialog box when attacking a monster."
|
||||
android:key="confirm_attack" />
|
||||
<ListPreference
|
||||
android:title="Display monster loot"
|
||||
android:summary="Choose how you want to show the results of a fight to be shown (gold, experience, items)."
|
||||
android:key="display_lootdialog"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/display_loot"
|
||||
android:entryValues="@array/display_loot_values" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
113
AndorsTrail/res/xml/snakecave1.tmx
Normal file
@@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="20" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA82UwQ3DMAhFwfUGzRi5dmNv4GyQbNARskhrqajkB2wi9dDDuyD4seAphYnKgA0Y9fdmciJ68pF1kLWwPdPq0ztv5yO31M/Lzkyrz3Tmnvw3yhusGasu9PK8mR7/mCe7juZV/qJvUY1d95yp4F5O57kNvuHlSZ92b4K5xag3nyz/pU+7h3sXP9En/QZxHPsQz8+GfoM4PnLiyv3Xzy1+mSd79Hy76id6IxTnW5Vt9H0jtKxIH/6nPPCeHg+KMQf7XlShBGhABgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA+VTMQ6AIAwsKBgT42D4iXzNhxOdXNQOJgSLUHTSG9ve9dJcAb4Fo/JnnbrOWwnQNWW7Bw3QHtw+wR/lfd8SfeRgfar5vnI5swBYBF8fsRJaHMTmuTpcULd+ysu9N2ZPK1rLROoxL5i5cK9/uzCTmKdzv/N+IMd7yhf+gZ/x0kz5CH2Fmm/ljcJWle34A3bTLF7KQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoD/4wEw9PSDx92SY9x+HHlzi+AA+N1DTbeSCgTaPUHzjMg+bPnLjG5c+Yv2C7hZ0s2DyxLqNkDpqxhm5YYYLDHR6ord5Xxipa95wAgCYCJZ9QAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQHMUYGBmQoh6fOeSYh64HFyDFLEJmkGMevjAjxjxqiBMTprQ2D5v/qZF+KEkzpKRpfICUNEVKPiAWEOsfcswiN+2Qi4eLeQCPBCx/QAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="20">
|
||||
<object name="south" type="mapchange" x="320" y="608" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="wild2"/>
|
||||
<property name="place" value="cave"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="west" type="mapchange" x="0" y="416" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="snakecave2"/>
|
||||
<property name="place" value="east"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="20">
|
||||
<object name="cavesnake1" type="spawn" x="288" y="384" width="288" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake1" type="spawn" x="32" y="128" width="160" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake1" type="spawn" x="416" y="192" width="32" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake1" type="spawn" x="224" y="256" width="32" height="96">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake1" type="spawn" x="64" y="384" width="160" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="20"/>
|
||||
</map>
|
||||
114
AndorsTrail/res/xml/snakecave2.tmx
Normal file
@@ -0,0 +1,114 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="20" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA62UwQ3DMAhFIc0G7Ri9dmNvYG+QbJARvEiDKtQvGgyWeniKlDgPhL/dmOixED2J6H4+byc75ymGxh+XIs6D82h9zyd0zqP1xev5ZlHvlvBV/hJ5I98Gc5EZrUvsKwPfDp4DcpCpb7+tsM/i6RdrcBbV5GaH9w0cVx5B//EyiHnKzAn716ygD/MUzcn2j+eqJPYN8frXXGutrG/Uf3fyl8muh83KKEMRlX/PsN37qFebPc1QDe45m11v/cxdl2Hmrsvwov/yBqlRU2lABgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgoD4wYSJOHSsr8WaWsqDyRZD0foSyRVlR5dkImL+EBb88OuBjxy4eyczAkEyiWfjAZjLNQg4jkJuGOgDFH3I8l5GQXtABKE2SG64ggJ6eiInzj2juRwa40hIIYEuXsDyFrA9b/kHPJ6QAWP7Bln+/MJJuHswt/3GkRVLM/EyCWlzmkmLGKCAOAABoShJkQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA+2T0QqAIAxFp31S/v8vJdS7FSSs26YT99gFH4R5tl2uRERlIdqu46XysNboy/Niloldpf4abw/v+xHkOuSOzJcNtVJfnK1yrDngzMris9ycFL81VmWWyQSeW1joi8XTlpf4XvOJe9Hykv8R3K/XHzPY6yUJ67X89by2zN/K/YxGM/XLXyd8k/mDQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="20" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQZIAAQSpiapqHDKhtHimAVDNJsZtUNaSqJcYsQmGDSy0x4TIY0gCx/qLEPFL1k5ouKE3TxKYHXPYTax4ueUrdTUxYUCNuRjFxGACBG6M8QAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="20">
|
||||
<object name="east" type="mapchange" x="608" y="416" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="snakecave1"/>
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="north" type="mapchange" x="64" y="0" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="snakecave3"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="20" visible="0">
|
||||
<object name="cavesnake2" type="spawn" x="32" y="96" width="192" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake2" type="spawn" x="224" y="96" width="160" height="32">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake2" type="spawn" x="384" y="96" width="224" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake1" type="spawn" x="416" y="352" width="160" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake2" type="spawn" x="192" y="288" width="192" height="192">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake2_boss" type="spawn" x="320" y="192" width="128" height="128"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="20"/>
|
||||
</map>
|
||||
117
AndorsTrail/res/xml/snakecave3.tmx
Normal file
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="15" height="30" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="15" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA5VVwRHDIAwzbTdIx8i3G7NBsgHZoCNkkcIdXHyqbJyHLsFGRBYO5CTyeoh804VnHR8krvO5PveKd30/04WlczCu86VzV/nHacQHPO4MjZuD3C1x7ozf5h0dW0dWaJ5a3J14PDC89jxBjyPfZHncX/RlU+ti3trfcrMW1BipBblR/5CrtWaiB33TXNw31FtAi+bqfWN6sT42tvQW0HKHi1pwXpnUyvrK8sPqS9ZXbb2Zv9a/v5DeRY8i3lgeRbneeTY7c7x1vf71+hp7PxvnGGrSeXZnMDQextidwdC4GPtIDCuJ/QDrte8oCAcAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="15" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA8VT2w3CMAxMHwl//UBMwAp0Gb6ZoWIF1kXlH4isCGOdk7hB4qQqShz77LvUuXYcPK3B49jdf99LmHvnpt1nf+rpLH7LSGf7QOvVU3wrOM9zyN9dO1ofHY7z8/O71mXc1tON5a0KlwVRf6lxwgy0Q5xSY55X6pFrrHHm4shfxFmqq+UlpLcV70iPF8VLiw4SUpdWoPlzvnFo82mQs/L9MdTVqPErgvtiQak+10b++8ibmnot7wGhxCn7znFaY9Y3IXv6xfz/xgsnOPpeCAcAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="15" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA+VUywrAIAzr8P+/dTt4d4chiDRpJgqCOTZNH0Fr9uFJ5gLFW/4GOSheUQJ+lTZf49oZYJ5GHPOUeRL5hfioJ+NZzx13YVpWc0Tbz6LkoFxPq86iar1ZVK0SU3f1Yn+86/++2rOty7hVb5rdrFPv6Ey8ywoblAgHAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="15" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA82TQQoAMQgD/UL//9k99VLUSdotu4KHRoZEoSMixsc9K9OyWTancnjKtuqdD+3rcFXuXVbZU8n4BuvkoTu4fi67ajfZLO8JS2/Vs9JUtvO9qblZuj2Io5nDKn+l4ugWxHa9w/yRfQBPnoPCCAcAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="15" height="30">
|
||||
<object name="south" type="mapchange" x="320" y="928" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="snakecave2"/>
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="15" height="30">
|
||||
<object name="cavesnake2" type="spawn" x="288" y="640" width="160" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake2_boss" type="spawn" x="352" y="416" width="96" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake3" type="spawn" x="288" y="256" width="160" height="128">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake3" type="spawn" x="160" y="416" width="160" height="320">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake3" type="spawn" x="32" y="384" width="128" height="448">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake3_boss" type="spawn" x="32" y="64" width="416" height="128">
|
||||
<properties>
|
||||
<property name="respawn" value="false"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cavesnake3" type="spawn" x="96" y="96" width="192" height="192">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="15" height="30"/>
|
||||
</map>
|
||||
@@ -1,105 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="20" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA9NkYGDQBGJFKE0tPBLNIwarDQF/jJo3vM3DhweD+0bNGzrmAQCC4maaQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects nonwalk" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA7vOxMCwA4hBYDuQPo6Er5NJI5sHYpNLw8ykBtiOxX2UAkrd9xSo9xlSWA0m97EzQTAMYHMfBxMEEwPEmCCYHUpjcx/IrC5mBgZRLGZmMeM2dwsTaeH3hZGBoQqLeeJQfVtxuI8SQMh93xiJNwuWbrbjcd9nEsxDBoTC7zJS/sQHYG6DuU8LGN5hWMIcn1liaOLHkcLPCkd6IAQc0fIbteIX3X2UAlq4D1a+k1OOY1MDEgcA0rZTYUAGAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects walk" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgGHqAhYmBgYkJv5oWAvLIZjESqZbeYBMd3EVsOOEDFjR253dG6pizcJDFswqR7tlIpDpjoDqTQeZHYgF63BDK39j0EALkhg2l6YbYPMY6BOMOAF0hIu9ABgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgYGBYwcQABsuh9GAAyG5ZMYjcBQODzX1sTBAMA9RyH7q51AKDLfzQwWB3HzLA577DTBC/EPIDMWoIqcOVTigJP0M6lE3UiF9auw8W7oRomFtwqaG2uwDwHF/KQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="walkable" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAxNkYGAQZIAAQSpiappHDUBLM6mhf7C5D10vvvglxTx8+vH5H5c95KQZQnaQ4z9CgJD7SLGHGL9SK97x2U2MOYTCkhQ/UCOPYMtv1ALUNJPW7qNWOQ4AVynfhkAGAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="mapevents" width="20" height="20">
|
||||
<object name="Sign1" type="sign" x="94" y="160" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="Beware of bugs!"/>
|
||||
<property name="Title" value="The sign says"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Sign2" type="sign" x="288" y="256" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="Here lies the last explorer."/>
|
||||
<property name="Title" value="An inscription on the cross reads"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Sign3" type="sign" x="416" y="352" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="North: old map.\nEast: New map.\nSouth: current map."/>
|
||||
<property name="Title" value="Crossroad"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="well" type="mapchange" x="256" y="288" width="32" height="32"/>
|
||||
<object name="east" type="mapchange" x="608" y="384" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="wilderness"/>
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="south" type="mapchange" x="384" y="608" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="wilderness"/>
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="north" type="mapchange" x="64" y="0" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="wilderness"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="start" type="mapchange" x="192" y="128" width="32" height="32"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="spawn" width="20" height="20">
|
||||
<object name="ants" type="spawn" x="448" y="64" width="160" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
<property name="type" value="insect"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="shop1" type="spawn" x="160" y="448" width="32" height="32">
|
||||
<properties>
|
||||
<property name="type" value="traveller"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
@@ -55,12 +55,12 @@
|
||||
</layer>
|
||||
<layer name="Objects" width="21" height="21">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC4VU2w3CMBBrpXSWdoIGMUAr8U9ZgBHoAO0HYh9+WIQB2ISc1FMOx1csRZWS2Ofco2NTVZe0RvM9pBWd/aGuqta5jzy7H9ISRNgXiCbyFNd01tc5XmfOEBJj2s6PibOGrGvRbjosHoPemUPmWx7Lh2INpV6Etyyh3MN8LESH6drY6JPFRnhx9O2M/yR5xnePTVkH9M7OPZ7Xn9Yrvl85lvdPl/nB+kbwwfisv+dQ1kzROXpMV/gfyLfMwdmJ78078zEb3Rk0bT5wrtEPainuIc+s9fkwd7WXfryA1mpqLnovc67z1dd53erSC8O0kxsPJ6Pt9ak3ZyOJI3cH8Iu63jx7dRegpt7f6wfNs9dHqmn75L3z7xLf+P/Ed6nmtNVW/9/sy3S+rZJQreQGAAA=
|
||||
H4sIAAAAAAAAC4VU2w3CMBBrpXSWdgKCGKCV+KcswAJIdID2A7EPPyzCAGxCTuoph+MrlqJKSexz7tGhqapzWoP57tOKzn5fV1Xr3Eee3Q9pCSLsC0QTeYpLOtvVOV5nzhASY1zPD4mzhKxr0a46LB6D3plC5lsey4diCaVehLfModzDfMxEh+na2OiTxUZ4cfTtjP8kecZ3D01ZB/TOzj2e15/WK75fOZb3T5f5wfpG8MH4rL+nUNZM0Tl6TFf4H8i3zMHJie/NO/MxGd0JNG0+cK7RD2op7iHPrPX5MHe1l368gNZiai56L3Ou87Wr87rVpReGcSM3DNcU62i0vT715mwgceRuD35R15tnr+4C1NT7W/2gefb6SDVtn7w3/l3iG/+f+C7VHNfa6v+bfZnOF8CeSGTkBgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="21" height="21">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAC2NgGDjgxkp9M9WBZmpgMRebGLHmjTSAKwyJAdj0IYchSB6f+TBxdDXkuocQINY9MDeRYz4hAMoHbiTaQ6vwIAVQI29QswyAmUVJXkdOD4TyAbXLBnW0tE9JPiQEkM0lNQ6w+RubOwmZS2r4kRseAGIKVj3kBgAA
|
||||
H4sIAAAAAAAAC2NgGDjgxkp9M9WBZmpgMRebGLHmjTSAKwyJAdj0IYchSB6f+TBxdDXkuocQINY9MDeRYz4hAMoHbiTaQ6vwIAVQI29QswyAmUVJXkdOD4TyAbXLBnW0tE9JPiQEkM0lNQ6I9Tchc0kNP3LDAwCSEKc95AYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="21" height="21">
|
||||
@@ -81,8 +81,22 @@
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="north" type="mapchange" x="384" y="0" width="32" height="32"/>
|
||||
<object name="east" type="mapchange" x="640" y="32" width="32" height="32"/>
|
||||
<object name="east" type="mapchange" x="640" y="32" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="wild4"/>
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Signpost" type="sign" x="128" y="512" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="West: Crossglen\nSouth: Fallhaven"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Map not complete" type="sign" x="384" y="0" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="This map is not yet done. Please come back in a later version of the game."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="21" height="21">
|
||||
<object name="forestdog" type="spawn" x="96" y="64" width="224" height="224">
|
||||
|
||||
@@ -75,14 +75,23 @@
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="south" type="mapchange" x="480" y="448" width="32" height="32"/>
|
||||
<object name="north" type="mapchange" x="128" y="0" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="crossglen"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="cave" type="mapchange" x="64" y="288" width="32" height="32"/>
|
||||
<object name="cave" type="mapchange" x="64" y="288" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="snakecave1"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Map not complete" type="sign" x="480" y="448" width="32" height="32">
|
||||
<properties>
|
||||
<property name="text" value="This map is not yet done. Please come back in a later version of the game."/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="15">
|
||||
<object name="forestant" type="spawn" x="32" y="320" width="320" height="128">
|
||||
@@ -91,7 +100,7 @@
|
||||
</properties>
|
||||
</object>
|
||||
<object name="forestant" type="spawn" x="576" y="288" width="64" height="160"/>
|
||||
<object name="forestsnake" type="spawn" x="416" y="0" width="192" height="96"/>
|
||||
<object name="forestsnake" type="spawn" x="416" y="32" width="192" height="96"/>
|
||||
<object name="forestsnake" type="spawn" x="384" y="224" width="160" height="160"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="15"/>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="20">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA51UOw7CMAxtaMo92GCEgVaIudwAxM4FkPjMMDF14CwdOAj34AiQkFh9MUna8qQocW2/PMdJV1mSbNRYeeZCjVIkX+T2+zhr1hq1NHZh7RAXxRPfKHPzcI0gHXlA30L85vgwAn2EnHH1xRZquEi3joey9/I3h8dzvrkw49ChrokdaBP/xPJx7ESzh2+E9q2s5n/OKbYnItaP0P3Q0L2trI/nxvIQoX5Qrs/PNXDgOyE+jqN049u0/ntXfXrwrlJ9+FbXmdG3juzXphn7eWX9vnV8uwhf/cOe/cYYjJ0NzPxKlTZV91TZpwCX70zoDjzsmb3TxrdU66c0vCHEzlmjVP67cDXp//EZOEMcFxajuWgmxP5NeL9r8H8AFk9r+UAGAAA=
|
||||
H4sIAAAAAAAAA51UOxLCIBANBryHnZZaGMexjjfQsfcCzviptbJK4VlSeBDv4REUhJ08ViDRN8PAht3HW3bJUmXZWo9lYJ7pUYrsg8J9H6pmbVBLa8+cHeMif+IbKD8O1wjSUUT0zcV3TAgD0EcoGNev2EAOZ+nncdf2Tn7HcH/ONxV27DvkNXIDbeIfOT6OrWjOCI3YuZXT/M89pc5EpOoR6w8DU9vK7fHYVBwiVg+KDe1zDRz4ToiP4yB9/zat//ZqSA/2KuWHb3WlrL5V4rw2zVjPC6v3tePbRYTy7/9Yb/RB30nPzs9ca9N5j7V9jHCF7oR64O7u7JU3ewu9fkjLG0Pqng1KvX8TvibzPz6BHePA/jU+hotmQurfhP1dw/4blUBDTkAGAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="20">
|
||||
@@ -63,7 +63,7 @@
|
||||
H4sIAAAAAAAAA2NgIB9osNJWPa0AKe5QZ6Wtu2ltPjXN7kczC+Z2bH4g1l/U9D+6+0gFpLqFWPXk+g/dfHUs5iCrcUOjKXEPrdLkf2YIhgFiwhCXGpA579HMwwUIhQlInhhzSDFzEiNx9pJiTxiB9EBvAABrtsfWQAYAAA==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="20">
|
||||
<layer name="Walkable" width="20" height="20" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA61UMRIAIAjyC/7/s00tXgKh3LWUoqKZEZHgXChvnV21R36djcrJgGpyuJAWyIfl5qJquoWJTk6MGkfV9bcfSj4uXrlM423Ww3RW5sjpy9afQztH4ej4lBzR/WSGGR/jVGvf2qkHOTGxsEAGAAA=
|
||||
</data>
|
||||
@@ -86,7 +86,12 @@
|
||||
<property name="place" value="east"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="east" type="mapchange" x="608" y="224" width="32" height="32"/>
|
||||
<object name="east" type="mapchange" x="608" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="fallhaven_nw"/>
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="jan_pitcave" type="mapchange" x="192" y="544" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="jan_pitcave1"/>
|
||||
@@ -94,7 +99,7 @@
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="20">
|
||||
<objectgroup name="Spawn" width="20" height="20" visible="0">
|
||||
<object name="Jan" type="spawn" x="192" y="416" width="32" height="32"/>
|
||||
<object name="forestwasp" type="spawn" x="352" y="512" width="288" height="128">
|
||||
<properties>
|
||||
@@ -106,7 +111,7 @@
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="forestant" type="spawn" x="480" y="0" width="160" height="96">
|
||||
<object name="forestant" type="spawn" x="448" y="64" width="160" height="96">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
|
||||
104
AndorsTrail/res/xml/wild4.tmx
Normal file
@@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="15" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1409" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1537" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1905" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAAwtnZWBwB+JwNFqTAYLR+egYm15Cekgxi1QzsGFqmkUu9mbCjrG5lRjzopmwY2xhSox5jYzYMbn+nciIHdMjrKkZ19RON9jil9g4x+Y2WF6hltuIze/Ucl84kX6AqQEAoJH8EbAEAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA5VT2w2CUAwtgcsEOoBLCBOY+G9I/PSxgcK/E+gGugM/jOAAuo+9gSa1OUU8CSn0cdrTeyHCKANREb6/I6KvDLjG49D5/9RbjjYjWoBa5JMaq2GZ9M85wfkRzQ+t4m9MrM6m69J4OroQbzXkBZWfq/cOzIDOQfcWbHKiOedcU6Jb2vu2bA9DjnB488qcJ7Yzjh+Zb8X2zhyPge+l+rXOvkSjaKmVjbE401rNheDdsR379yom+vVZVmZf0aK9opk9vJ36AsziYeyOWE6k/5KN32kNnTO171jvCPu/2J6Iw+7tA27a0P+wBAAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="20" height="15">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgIB+os1KgmUKzQOo1WAmLUQu44TCXkH0gfSaMuOWNsMiBzMTnFxc85jkhyVEjfv4zE1aDK2xggAkoLwJV8x6Lefj8GggUDyIijGFmEOtnQm7GBShJYzC3YdOPy0xc9qH7k1T9xMrjshNZD668SIz7iFGDbBYAg35cKbAEAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Walkable" width="20" height="15" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA7WSUQoAIAhDdwXvf9m++pGpm1QQRHNPSwNAiBvpDNPL/CDaxFCWy2B65flZz8TNfVB4zvu3vWOsiqv4lTqV/I7GcryouYvbzFL2Okx1Trb/V/W+i1Xm7N4dnwuNk7AEAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="15">
|
||||
<object name="west" type="mapchange" x="0" y="96" width="32" height="64">
|
||||
<properties>
|
||||
<property name="map" value="wild1"/>
|
||||
<property name="place" value="east"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="entrance" type="mapchange" x="352" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="hauntedhouse1"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="15">
|
||||
<object name="fox1" type="spawn" x="64" y="96" width="192" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="minorhaunt1" type="spawn" x="192" y="192" width="256" height="160"/>
|
||||
<object name="forestwasp" type="spawn" x="192" y="32" width="416" height="192">
|
||||
<properties>
|
||||
<property name="quantity" value="4"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="forestwasp" type="spawn" x="128" y="320" width="480" height="160">
|
||||
<properties>
|
||||
<property name="quantity" value="4"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="15"/>
|
||||
</map>
|
||||
@@ -1,131 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.0" orientation="orthogonal" width="30" height="30" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="tiles_1_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="129" name="tiles_1_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="257" name="tiles_1_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="385" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_1.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="513" name="tiles_2_2" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_2.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="641" name="tiles_2_3" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_3.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="769" name="tiles_1_4" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_4.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="897" name="tiles_1_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1025" name="tiles_1_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1153" name="tiles_1_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1281" name="tiles_2_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_1_8.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1393" name="tiles_2_5" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_5.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1521" name="tiles_2_6" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_6.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1649" name="tiles_2_7" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_7.png"/>
|
||||
</tileset>
|
||||
<tileset firstgid="1777" name="tiles_2_8" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_tiles_2_8.png"/>
|
||||
</tileset>
|
||||
<layer name="Ground" width="30" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA9NkYGDQHMU0wcFMA2Nv8gDZe2iAwnmg7B3Fo3gk4bdMmJge9v5lguAUVgSbnv5WHQRhP4qHPg4ZoHp5FI/iUTyKicEAXcLxeRAOAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects nonwalk" width="30" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA7VXO08DMQxOe0f5A8wMiBUViUplgRFGEFCYoeKxHyDWAyQY2MqzG7Aj0fIHKkb2LvwZbC5WTepL3Aef9Mlp75QvdmI7VykasxMbsxrr7SIQsQL2PTKmDXPUgZuMF8BZDyvAqp2LW0mL/ifUYNyJsjFpExsBbdSVUBX8o//pd83aOtgkzux53FtHw4nBxkRvTLpnkazNNV1sw7PUaqVMk9bhxuD3mR1zf0M6Gki+SyDda8FfLbp2/pRpJh5NjK20v6E1dD1zpo6/u8A94X08W8cen++HiEPIX9K9FHz2+aTR5Pt7CPaIzdexcb7NyaVBod1fBOp+KHU1MXf316fr4qvYTy1a0d9c1uhOTWb2u9hPLXDvWoq4kO4zrO/FrnGukHEL6loZ7HxBr4toKbRRdxrmv7GapyVjlkBn2WqtgV0HPg5wvrW6iHIp/52HgKabc5pY5/WjURHKJdR9G7EXIHiOafIY61XTZKR6+TSGdeT1JdoTfgfAenk3Ql8KaXJwXfT3VambV7vcGM8odKX+EKqN0nNNreT3H7c/DNoD23FGROg88/uPtj8QeN5ewfjTUtsb/gMhf5umP49GhXTHdKG5Sw979/DBvcePy2cfMLekbwjSxhqSCPUsUawztL953y+kJe3DQs67tDa3dtC53gceAE+AP2cbjbEQDgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Objects walk" width="30" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA8VW3Q2CQAwmAR3Fd6Mu5A7gAOIAxhUMC8CDb76yAAOwiWlyTZrS3vUOkC8xEu7a7/r158iyNJR5ouFMbMW7FbR4z4Vuc93ZfNfE99ugayvsGdy7YxHOzdPAkZJfsLkJdp+VawV4h5U4tPxCDnwa1coa1x59WHLCbf4N4NXimgOpnhF3pzPfY60p7CeumWTfu3drxBjjd4n8aj76jWpHQkV6qyPneu2nexs31xqhH3160bqhsXee/tV61MoZQszcKMk5uZ10V3wF7VJA+2NuPVaeOxLwMPrHvFh633KPAi/+KELxjoH1kL3ESWtO86/FdCL6Fh6ta4EX4Dtv5+G8BPLKweOaU1ej64uDOwPcE/d8uo480rMGLWYE2FvmqJRHsI25660I1TufIVQDacbgv+V7smW6S7x8nwVL31Wx/KG5JWGpb7MfouiuhRAOAAA=
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="Above" width="30" height="30" visible="0">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA2NgGDpAgwWVXwjkF7EgaHqAQiz2YLOfCcpnxKJenQXTL5S4A9luIShbkAbhgc3vAwFA/g0E4iAy3NPGTH330ALgil9ksJHKfqFV/JIa5uTkZR5G0vWAADlhyMLOwKANtU8HzV5NEtxBit0TgWEyCYhZoebboNkTQ6L/qZ12RgF2QK+6CTmPEVN20AoMhN20rJdwlV3UspNQ2YhNntIwpqQOHIg2wGBJzwNhJ739O9IAPfsOyHbCAL37L4QAAAXwtV0QDgAA
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="walkable" width="30" height="30">
|
||||
<data encoding="base64" compression="gzip">
|
||||
H4sIAAAAAAAAA8WVSw6AQAhDuYL3v6wrNxM+r8DEJpMYrS2fCTxm9jSONf+bnA/TGDxQr4ir1CzyjqDW//xGfQhILc3yfBUv1TOqL/HJNKsYSI9VkH51c670vLvkcTZA++vFUnG3vLOed+qh5Hs+b/gS3smf+FLvao7dypnMK3WOqP3dRHdWdnxOzUyb7sROHNHO877f9Mw409lF9ci+Uv2nvpN5Qe9zdy5FOtu7TonpVr4TTcrZxh/9qO4CfZ9pd7yVeNTzAia0ZC0QDgAA
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="mapevents" width="30" height="30" visible="0">
|
||||
<object name="cave_entrance" type="mapchange" x="864" y="96" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="dungeon"/>
|
||||
<property name="place" value="entrance"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="west" type="mapchange" x="0" y="768" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="startmap"/>
|
||||
<property name="place" value="east"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="north" type="mapchange" x="448" y="0" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="startmap"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="south" type="mapchange" x="384" y="928" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="startmap"/>
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Sign2" type="sign" x="224" y="448" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="Map not implemented yet."/>
|
||||
<property name="Title" value="Not implemented"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Do not enter" type="sign" x="832" y="128" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="Do not enter!"/>
|
||||
<property name="Title" value="Sign"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="Warning" type="sign" x="832" y="832" width="32" height="32">
|
||||
<properties>
|
||||
<property name="Text" value="Do not proceed north!"/>
|
||||
<property name="Title" value="Warning sign"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="spawn" width="30" height="30" visible="0">
|
||||
<object name="wildlife" type="spawn" x="32" y="64" width="672" height="864">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="type" value="animal"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="spawn2" type="spawn" x="736" y="128" width="224" height="224">
|
||||
<properties>
|
||||
<property name="quantity" value="1"/>
|
||||
<property name="type" value="insect"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
@@ -2,12 +2,15 @@ package com.gpl.rpg.AndorsTrail;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.activity.Preferences;
|
||||
import com.gpl.rpg.AndorsTrail.context.ViewContext;
|
||||
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
public final class AndorsTrailApplication extends Application {
|
||||
|
||||
@@ -16,7 +19,8 @@ public final class AndorsTrailApplication extends Application {
|
||||
public static final boolean DEVELOPMENT_DEBUGBUTTONS = false;
|
||||
public static final boolean DEVELOPMENT_VALIDATEDATA = false;
|
||||
public static final boolean DEVELOPMENT_DEBUGMESSAGES = false;
|
||||
public static final int CURRENT_VERSION = 10;
|
||||
public static final int CURRENT_VERSION = 13;
|
||||
public static final String CURRENT_VERSION_DISPLAY = "0.6.6";
|
||||
|
||||
public final WorldContext world = new WorldContext();
|
||||
public WorldSetup setup = new WorldSetup(world, this);
|
||||
@@ -31,4 +35,16 @@ public final class AndorsTrailApplication extends Application {
|
||||
public static Activity getActivityFromActivityContext(Context context) {
|
||||
return (Activity) context;
|
||||
}
|
||||
|
||||
public static void setWindowParameters(Activity activity, boolean fullscreen) {
|
||||
activity.requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
if (fullscreen) {
|
||||
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
} else {
|
||||
activity.getWindow().setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
}
|
||||
}
|
||||
public static void setWindowParameters(Activity activity) {
|
||||
setWindowParameters(activity, Preferences.shouldUseFullscreen(activity));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Toast;
|
||||
import android.widget.AdapterView.OnItemClickListener;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.R;
|
||||
@@ -23,14 +24,16 @@ import com.gpl.rpg.AndorsTrail.activity.ItemInfoActivity;
|
||||
import com.gpl.rpg.AndorsTrail.activity.LevelUpActivity;
|
||||
import com.gpl.rpg.AndorsTrail.activity.MonsterEncounterActivity;
|
||||
import com.gpl.rpg.AndorsTrail.activity.MonsterInfoActivity;
|
||||
import com.gpl.rpg.AndorsTrail.activity.Preferences;
|
||||
import com.gpl.rpg.AndorsTrail.context.ViewContext;
|
||||
import com.gpl.rpg.AndorsTrail.controller.Controller;
|
||||
import com.gpl.rpg.AndorsTrail.controller.ItemController;
|
||||
import com.gpl.rpg.AndorsTrail.model.InterfaceData;
|
||||
import com.gpl.rpg.AndorsTrail.model.actor.Monster;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.Loot;
|
||||
import com.gpl.rpg.AndorsTrail.resource.TileStore;
|
||||
import com.gpl.rpg.AndorsTrail.view.ItemContainerAdapter;
|
||||
import com.gpl.rpg.AndorsTrail.view.MainView;
|
||||
|
||||
public final class Dialogs {
|
||||
|
||||
@@ -95,7 +98,8 @@ public final class Dialogs {
|
||||
showDialogAndPause(d, context);
|
||||
}
|
||||
|
||||
public static void showConversation(final MainActivity currentActivity, final String phraseID, final Monster npc) {
|
||||
public static void showConversation(final MainActivity currentActivity, final ViewContext context, final String phraseID, final Monster npc) {
|
||||
context.controller.pause();
|
||||
Intent intent = new Intent(currentActivity, ConversationActivity.class);
|
||||
Uri.Builder b = Uri.parse("content://com.gpl.rpg.AndorsTrail/conversation/" + phraseID).buildUpon();
|
||||
b.appendQueryParameter("monsterTypeID", Integer.toString(npc.monsterType.id));
|
||||
@@ -103,7 +107,8 @@ public final class Dialogs {
|
||||
currentActivity.startActivityForResult(intent, MainActivity.INTENTREQUEST_CONVERSATION);
|
||||
}
|
||||
|
||||
public static void showMonsterEncounter(final MainActivity currentActivity, final Monster m) {
|
||||
public static void showMonsterEncounter(final MainActivity currentActivity, final ViewContext context, final Monster m) {
|
||||
context.controller.pause();
|
||||
Intent intent = new Intent(currentActivity, MonsterEncounterActivity.class);
|
||||
intent.setData(Uri.parse("content://com.gpl.rpg.AndorsTrail/monsterencounter/" + m.monsterType.id));
|
||||
currentActivity.startActivityForResult(intent, MainActivity.INTENTREQUEST_MONSTERENCOUNTER);
|
||||
@@ -124,8 +129,8 @@ public final class Dialogs {
|
||||
}
|
||||
|
||||
private static void showLoot(final Context androidContext, final ViewContext context, final Loot loot, final int title, final int message) {
|
||||
if (loot.isEmpty()) return;
|
||||
|
||||
if (ItemController.removeEmptyLoot(context, loot)) return;
|
||||
|
||||
String msg = androidContext.getString(message);
|
||||
if (loot.exp > 0) {
|
||||
msg += androidContext.getString(R.string.dialog_monsterloot_gainedexp, loot.exp);
|
||||
@@ -134,6 +139,19 @@ public final class Dialogs {
|
||||
msg += androidContext.getString(R.string.dialog_loot_foundgold, loot.gold);
|
||||
}
|
||||
|
||||
if (context.model.uiSelections.displayLoot != InterfaceData.DISPLAYLOOT_DIALOG) {
|
||||
if (context.model.uiSelections.displayLoot == InterfaceData.DISPLAYLOOT_TOAST) {
|
||||
if (!loot.items.items.isEmpty()) {
|
||||
msg += androidContext.getString(R.string.dialog_loot_pickedupitems, loot.items.items.size());
|
||||
}
|
||||
Toast.makeText(androidContext, msg, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
ItemController.pickupAll(loot, context.model);
|
||||
ItemController.removeEmptyLoot(context, loot);
|
||||
context.controller.resume();
|
||||
return;
|
||||
}
|
||||
|
||||
final ListView itemList = new ListView(androidContext);
|
||||
itemList.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
|
||||
itemList.setPadding(20, 0, 20, 20);
|
||||
@@ -149,29 +167,28 @@ public final class Dialogs {
|
||||
});
|
||||
itemList.setAdapter(new ItemContainerAdapter(androidContext, context.tileStore, loot.items));
|
||||
|
||||
Dialog d = new AlertDialog.Builder(androidContext)
|
||||
AlertDialog.Builder db = new AlertDialog.Builder(androidContext)
|
||||
.setTitle(title)
|
||||
.setMessage(msg)
|
||||
.setIcon(new BitmapDrawable(context.tileStore.bitmaps[TileStore.iconID_groundbag]))
|
||||
.setPositiveButton(R.string.dialog_loot_pickall, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
context.model.player.inventory.add(loot.items);
|
||||
loot.clear();
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.dialog_close, null)
|
||||
.setView(itemList)
|
||||
.create();
|
||||
.setView(itemList);
|
||||
|
||||
if (!loot.items.isEmpty()) {
|
||||
db.setPositiveButton(R.string.dialog_loot_pickall, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
ItemController.pickupAll(loot, context.model);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
final Dialog d = db.create();
|
||||
|
||||
showDialogAndPause(d, context, new OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(DialogInterface arg0) {
|
||||
if (loot.isEmpty()) {
|
||||
context.model.currentMap.removeGroundLoot(loot);
|
||||
context.mainActivity.redrawTile(loot.position, MainView.REDRAW_TILE_BAG_REMOVED);
|
||||
}
|
||||
context.mainActivity.statusview.update();
|
||||
ItemController.removeEmptyLoot(context, loot);
|
||||
context.controller.resume();
|
||||
}
|
||||
});
|
||||
@@ -192,16 +209,19 @@ public final class Dialogs {
|
||||
intent.setData(Uri.parse("content://com.gpl.rpg.AndorsTrail/levelup"));
|
||||
currentActivity.startActivityForResult(intent, MainActivity.INTENTREQUEST_LEVELUP);
|
||||
}
|
||||
|
||||
public static void showRest(final Activity currentActivity, final ViewContext viewContext) {
|
||||
if (!viewContext.model.uiSelections.confirmRest) {
|
||||
Controller.ui_playerRested(currentActivity, viewContext);
|
||||
return;
|
||||
}
|
||||
Dialog d = new AlertDialog.Builder(currentActivity)
|
||||
.setTitle(R.string.dialog_rest_title)
|
||||
.setMessage(R.string.dialog_rest_confirm_message)
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Controller.playerRested(viewContext, false);
|
||||
viewContext.mainActivity.statusview.update();
|
||||
Dialogs.showRested(currentActivity, viewContext);
|
||||
Controller.ui_playerRested(currentActivity, viewContext);
|
||||
}
|
||||
})
|
||||
.setNegativeButton(android.R.string.no, null)
|
||||
@@ -226,5 +246,9 @@ public final class Dialogs {
|
||||
.setNeutralButton(android.R.string.ok, null)
|
||||
.show();
|
||||
}
|
||||
|
||||
|
||||
public static void showPreferences(final Activity currentActivity) {
|
||||
Intent intent = new Intent(currentActivity, Preferences.class);
|
||||
currentActivity.startActivityForResult(intent, MainActivity.INTENTREQUEST_PREFERENCES);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.activity.Preferences;
|
||||
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
||||
import com.gpl.rpg.AndorsTrail.controller.Controller;
|
||||
import com.gpl.rpg.AndorsTrail.controller.MovementController;
|
||||
@@ -81,6 +82,7 @@ public final class WorldSetup {
|
||||
} else {
|
||||
continueWorld();
|
||||
}
|
||||
Preferences.read(androidContext.get(), world.model.uiSelections);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -105,7 +107,7 @@ public final class WorldSetup {
|
||||
if (world.model != null) world.reset();
|
||||
world.model = new ModelContainer();
|
||||
world.model.player.initializeNewPlayer(world.itemTypes, world.dropLists, newHeroName);
|
||||
Controller.playerRested(world, true);
|
||||
Controller.playerRested(world);
|
||||
MovementController.respawnPlayer(world);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@ import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||
import com.gpl.rpg.AndorsTrail.R;
|
||||
|
||||
public class AboutActivity extends Activity {
|
||||
@@ -20,7 +20,7 @@ public class AboutActivity extends Activity {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
AndorsTrailApplication.setWindowParameters(this);
|
||||
|
||||
setContentView(R.layout.about);
|
||||
final Resources res = getResources();
|
||||
|
||||
@@ -18,10 +18,13 @@ import com.gpl.rpg.AndorsTrail.controller.ConversationController;
|
||||
import com.gpl.rpg.AndorsTrail.conversation.ConversationCollection;
|
||||
import com.gpl.rpg.AndorsTrail.conversation.Phrase;
|
||||
import com.gpl.rpg.AndorsTrail.conversation.Phrase.Reply;
|
||||
import com.gpl.rpg.AndorsTrail.model.actor.Monster;
|
||||
import com.gpl.rpg.AndorsTrail.model.actor.MonsterType;
|
||||
import com.gpl.rpg.AndorsTrail.model.actor.Player;
|
||||
|
||||
public final class ConversationActivity extends Activity {
|
||||
public static final int RESULT_ATTACK = Activity.RESULT_FIRST_USER + 1;
|
||||
|
||||
private WorldContext world;
|
||||
private Player player;
|
||||
|
||||
@@ -42,6 +45,7 @@ public final class ConversationActivity extends Activity {
|
||||
|
||||
Uri uri = getIntent().getData();
|
||||
final int monsterTypeID = Integer.parseInt(uri.getQueryParameter("monsterTypeID"));
|
||||
final String phraseID = uri.getLastPathSegment().toString();
|
||||
|
||||
monsterType = world.monsterTypes.getMonsterType(monsterTypeID);
|
||||
|
||||
@@ -57,10 +61,17 @@ public final class ConversationActivity extends Activity {
|
||||
reply2 = (Button) findViewById(R.id.conversation_reply2);
|
||||
reply3 = (Button) findViewById(R.id.conversation_reply3);
|
||||
|
||||
setPhrase(uri.getLastPathSegment().toString());
|
||||
setPhrase(phraseID);
|
||||
}
|
||||
|
||||
private void markMonsterAsAgressive() {
|
||||
Monster m = world.model.currentMap.getMonsterAt(world.model.player.nextPosition);
|
||||
assert (m != null);
|
||||
assert (m.monsterType.id == monsterType.id);
|
||||
m.forceAggressive = true;
|
||||
}
|
||||
|
||||
public void setPhrase(String phraseID) {
|
||||
public void setPhrase(String phraseID) {
|
||||
if (phraseID.equalsIgnoreCase(ConversationCollection.PHRASE_CLOSE)) {
|
||||
ConversationActivity.this.finish();
|
||||
return;
|
||||
@@ -70,6 +81,11 @@ public final class ConversationActivity extends Activity {
|
||||
intent.setData(Uri.parse("content://com.gpl.rpg.AndorsTrail/shop/" + monsterType.id));
|
||||
startActivityForResult(intent, MainActivity.INTENTREQUEST_SHOP);
|
||||
return;
|
||||
} else if (phraseID.equalsIgnoreCase(ConversationCollection.PHRASE_ATTACK)) {
|
||||
markMonsterAsAgressive();
|
||||
ConversationActivity.this.setResult(RESULT_ATTACK);
|
||||
ConversationActivity.this.finish();
|
||||
return;
|
||||
}
|
||||
|
||||
final Phrase phrase = world.conversations.getPhrase(phraseID);
|
||||
@@ -84,7 +100,7 @@ public final class ConversationActivity extends Activity {
|
||||
}
|
||||
|
||||
String message = phrase.message;
|
||||
if (phrase.rewardGold > 0 || phrase.rewardExperience > 0) {
|
||||
if (phrase.rewardGold != 0 || phrase.rewardExperience > 0) {
|
||||
message += "\n";
|
||||
if (phrase.rewardExperience > 0) {
|
||||
message += "\n" + getResources().getString(R.string.conversation_rewardexp, phrase.rewardExperience);
|
||||
@@ -92,6 +108,9 @@ public final class ConversationActivity extends Activity {
|
||||
if (phrase.rewardGold > 0) {
|
||||
message += "\n" + getResources().getString(R.string.conversation_rewardgold, phrase.rewardGold);
|
||||
}
|
||||
if (phrase.rewardGold < 0) {
|
||||
message += "\n" + getResources().getString(R.string.conversation_lostgold, -phrase.rewardGold);
|
||||
}
|
||||
}
|
||||
|
||||
text.setText(message);
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.view.ContextMenu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.AdapterView;
|
||||
@@ -65,7 +64,7 @@ public class HeroinfoActivity extends TabActivity {
|
||||
this.world = app.world;
|
||||
this.view = app.currentView.get();
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
AndorsTrailApplication.setWindowParameters(this, world.model.uiSelections.fullscreen);
|
||||
|
||||
this.player = world.model.player;
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
@@ -34,7 +33,7 @@ public final class ItemInfoActivity extends Activity {
|
||||
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
|
||||
this.world = app.world;
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
AndorsTrailApplication.setWindowParameters(this, world.model.uiSelections.fullscreen);
|
||||
|
||||
final Intent intent = getIntent();
|
||||
Bundle params = intent.getExtras();
|
||||
|
||||
@@ -73,30 +73,43 @@ public final class LevelUpActivity extends Activity {
|
||||
lv.setAdapter(new LevelUpSelectionAdapter(this, items));
|
||||
*/
|
||||
|
||||
((Button) findViewById(R.id.levelup_add_health)).setOnClickListener(new OnClickListener() {
|
||||
Button b;
|
||||
|
||||
b = (Button) findViewById(R.id.levelup_add_health);
|
||||
b.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
levelup(SELECT_HEALTH);
|
||||
}
|
||||
});
|
||||
((Button) findViewById(R.id.levelup_add_attackchance)).setOnClickListener(new OnClickListener() {
|
||||
b.setText(getString(R.string.levelup_add_health, Controller.LEVELUP_EFFECT_HEALTH));
|
||||
|
||||
b = (Button) findViewById(R.id.levelup_add_attackchance);
|
||||
b.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
levelup(SELECT_ATK_CH);
|
||||
}
|
||||
});
|
||||
((Button) findViewById(R.id.levelup_add_attackdamage)).setOnClickListener(new OnClickListener() {
|
||||
b.setText(getString(R.string.levelup_add_attackchance, Controller.LEVELUP_EFFECT_ATK_CH));
|
||||
|
||||
b = (Button) findViewById(R.id.levelup_add_attackdamage);
|
||||
b.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
levelup(SELECT_ATK_DMG);
|
||||
}
|
||||
});
|
||||
((Button) findViewById(R.id.levelup_add_blockchance)).setOnClickListener(new OnClickListener() {
|
||||
b.setText(getString(R.string.levelup_add_attackdamage, Controller.LEVELUP_EFFECT_ATK_DMG));
|
||||
|
||||
b = (Button) findViewById(R.id.levelup_add_blockchance);
|
||||
b.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
levelup(SELECT_DEF_CH);
|
||||
}
|
||||
});
|
||||
b.setText(getString(R.string.levelup_add_blockchance, Controller.LEVELUP_EFFECT_DEF_CH));
|
||||
}
|
||||
|
||||
private static final int SELECT_HEALTH = 0;
|
||||
|
||||
@@ -5,7 +5,6 @@ import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.Window;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||
import com.gpl.rpg.AndorsTrail.R;
|
||||
@@ -19,7 +18,8 @@ public class LoadingActivity extends Activity implements OnSceneLoadedListener {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
AndorsTrailApplication.setWindowParameters(this, Preferences.shouldUseFullscreen(this));
|
||||
|
||||
L.log("LoadingActivity::onCreate");
|
||||
|
||||
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.gpl.rpg.AndorsTrail.WorldSetup;
|
||||
import com.gpl.rpg.AndorsTrail.context.ViewContext;
|
||||
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
||||
import com.gpl.rpg.AndorsTrail.model.ModelContainer;
|
||||
import com.gpl.rpg.AndorsTrail.model.actor.Monster;
|
||||
import com.gpl.rpg.AndorsTrail.model.actor.MonsterType;
|
||||
import com.gpl.rpg.AndorsTrail.util.Coord;
|
||||
import com.gpl.rpg.AndorsTrail.util.L;
|
||||
@@ -23,7 +24,6 @@ import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.MenuItem.OnMenuItemClickListener;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.Button;
|
||||
@@ -38,7 +38,8 @@ public class MainActivity extends Activity {
|
||||
public static final int INTENTREQUEST_ITEMINFO = 3;
|
||||
public static final int INTENTREQUEST_CONVERSATION = 4;
|
||||
public static final int INTENTREQUEST_SHOP = 5;
|
||||
public static final int INTENTREQUEST_LEVELUP = 6;
|
||||
public static final int INTENTREQUEST_LEVELUP = 6;
|
||||
public static final int INTENTREQUEST_PREFERENCES = 7;
|
||||
|
||||
private ViewContext view;
|
||||
private WorldContext world;
|
||||
@@ -57,13 +58,12 @@ public class MainActivity extends Activity {
|
||||
L.log("onCreate");
|
||||
//Debug.startMethodTracing(ICICLE_KEY);
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
|
||||
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
|
||||
this.world = app.world;
|
||||
this.view = new ViewContext(app, this);
|
||||
app.currentView = new WeakReference<ViewContext>(this.view);
|
||||
|
||||
AndorsTrailApplication.setWindowParameters(this, world.model.uiSelections.fullscreen);
|
||||
|
||||
setContentView(R.layout.main);
|
||||
mainview = (MainView) findViewById(R.id.main_mainview);
|
||||
statusview = (StatusView) findViewById(R.id.main_statusview);
|
||||
@@ -90,8 +90,13 @@ public class MainActivity extends Activity {
|
||||
new DebugButton("Add monster", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
MonsterType type = world.monsterTypes.getMonsterType("Winged demon");
|
||||
world.model.currentMap.TEST_spawnInArea(world.model.currentMap.spawnAreas[0], type);
|
||||
final String name = "Winged demon";
|
||||
MonsterType type = world.monsterTypes.getMonsterType(name);
|
||||
if (type == null) {
|
||||
Toast.makeText(MainActivity.this, "Cannot find monster type \"" + name + "\", unable to spawn.", Toast.LENGTH_LONG).show();
|
||||
} else {
|
||||
world.model.currentMap.TEST_spawnInArea(world.model.currentMap.spawnAreas[0], type);
|
||||
}
|
||||
}
|
||||
})
|
||||
,new DebugButton("dmg=99", new OnClickListener() {
|
||||
@@ -133,7 +138,6 @@ public class MainActivity extends Activity {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
switch (requestCode) {
|
||||
case INTENTREQUEST_HEROINFO:
|
||||
statusview.update();
|
||||
combatview.updatePlayerAP(world.model.player.ap);
|
||||
break;
|
||||
case INTENTREQUEST_MONSTERENCOUNTER:
|
||||
@@ -144,9 +148,22 @@ public class MainActivity extends Activity {
|
||||
}
|
||||
break;
|
||||
case INTENTREQUEST_CONVERSATION:
|
||||
statusview.update();
|
||||
if (resultCode == ConversationActivity.RESULT_ATTACK) {
|
||||
final Coord p = world.model.player.nextPosition;
|
||||
Monster m = world.model.currentMap.getMonsterAt(p);
|
||||
if (m != null) {
|
||||
view.combatController.setCombatSelection(m, p);
|
||||
view.combatController.enterCombat();
|
||||
} else {
|
||||
//Shouldn't happen.
|
||||
}
|
||||
}
|
||||
break;
|
||||
case INTENTREQUEST_PREFERENCES:
|
||||
Preferences.read(this, world.model.uiSelections);
|
||||
break;
|
||||
}
|
||||
mainview.inhibitClicks = false;
|
||||
}
|
||||
|
||||
private class DebugButton {
|
||||
@@ -239,6 +256,15 @@ public class MainActivity extends Activity {
|
||||
return true;
|
||||
}
|
||||
}).setEnabled(false);
|
||||
menu.add(R.string.menu_settings)
|
||||
.setIcon(android.R.drawable.ic_menu_preferences)
|
||||
.setOnMenuItemClickListener(new OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem arg0) {
|
||||
Dialogs.showPreferences(MainActivity.this);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ public final class MonsterInfoActivity extends Activity {
|
||||
else if (difficulty >= 60) return R.string.monster_difficulty_easy;
|
||||
else if (difficulty >= 40) return R.string.monster_difficulty_normal;
|
||||
else if (difficulty >= 20) return R.string.monster_difficulty_hard;
|
||||
else if (difficulty == 0) return R.string.monster_difficulty_impossible;
|
||||
else return R.string.monster_difficulty_veryhard;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.gpl.rpg.AndorsTrail.activity;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.R;
|
||||
import com.gpl.rpg.AndorsTrail.model.InterfaceData;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
public class Preferences extends PreferenceActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
addPreferencesFromResource(R.xml.preferences);
|
||||
}
|
||||
|
||||
public static void read(final Context androidContext, InterfaceData dest) {
|
||||
try {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(androidContext);
|
||||
dest.confirmRest = prefs.getBoolean("confirm_rest", true);
|
||||
dest.confirmAttack = prefs.getBoolean("confirm_attack", true);
|
||||
dest.displayLoot = Integer.parseInt(prefs.getString("display_lootdialog", Integer.toString(InterfaceData.DISPLAYLOOT_DIALOG)));
|
||||
dest.fullscreen = prefs.getBoolean("fullscreen", true);
|
||||
} catch (Exception e) {
|
||||
dest.confirmRest = true;
|
||||
dest.confirmAttack = true;
|
||||
dest.displayLoot = InterfaceData.DISPLAYLOOT_DIALOG;
|
||||
dest.fullscreen = true;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean shouldUseFullscreen(final Context androidContext) {
|
||||
try {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(androidContext);
|
||||
return prefs.getBoolean("fullscreen", true);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,6 @@ import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.Window;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TabHost;
|
||||
import android.widget.TextView;
|
||||
@@ -39,17 +38,17 @@ public class ShopActivity extends TabActivity implements OnContainerItemClickedL
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
|
||||
this.world = app.world;
|
||||
this.player = world.model.player;
|
||||
|
||||
AndorsTrailApplication.setWindowParameters(this, world.model.uiSelections.fullscreen);
|
||||
|
||||
Uri uri = getIntent().getData();
|
||||
String monsterTypeID = uri.getLastPathSegment().toString();
|
||||
final MonsterType npcType = world.monsterTypes.getMonsterType(Integer.parseInt(monsterTypeID));
|
||||
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
|
||||
final Player player = world.model.player;
|
||||
|
||||
setContentView(R.layout.shop);
|
||||
@@ -164,17 +163,33 @@ public class ShopActivity extends TabActivity implements OnContainerItemClickedL
|
||||
}
|
||||
}
|
||||
|
||||
private void sell(ItemType itemType) {
|
||||
private void sell(ItemType itemType) {
|
||||
ItemController.sell(player, itemType, container_buy);
|
||||
Toast.makeText(this, getResources().getString(R.string.shop_item_sold, itemType.name), Toast.LENGTH_SHORT).show();
|
||||
update();
|
||||
final String msg = getResources().getString(R.string.shop_item_sold, itemType.name);
|
||||
displayStoreAction(msg);
|
||||
}
|
||||
|
||||
private void buy(ItemType itemType) {
|
||||
ItemController.buy(player, itemType, container_buy);
|
||||
Toast.makeText(this, getResources().getString(R.string.shop_item_bought, itemType.name), Toast.LENGTH_SHORT).show();
|
||||
final String msg = getResources().getString(R.string.shop_item_bought, itemType.name);
|
||||
displayStoreAction(msg);
|
||||
}
|
||||
|
||||
private Toast lastToast = null;
|
||||
private void displayStoreAction(final String msg) {
|
||||
if (lastToast != null) {
|
||||
lastToast.setText(msg);
|
||||
} else {
|
||||
lastToast = Toast.makeText(this, msg, Toast.LENGTH_SHORT);
|
||||
}
|
||||
lastToast.show();
|
||||
update();
|
||||
}
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
lastToast = null;
|
||||
}
|
||||
|
||||
private void update() {
|
||||
updateBuyItemList();
|
||||
|
||||
@@ -15,7 +15,6 @@ import android.content.SharedPreferences;
|
||||
import android.content.SharedPreferences.Editor;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.Button;
|
||||
@@ -34,9 +33,12 @@ public class StartScreenActivity extends Activity {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
AndorsTrailApplication.setWindowParameters(this);
|
||||
setContentView(R.layout.startscreen);
|
||||
|
||||
TextView tv = (TextView) findViewById(R.id.startscreen_version);
|
||||
tv.setText("v" + AndorsTrailApplication.CURRENT_VERSION_DISPLAY);
|
||||
|
||||
startscreen_currenthero = (TextView) findViewById(R.id.startscreen_currenthero);
|
||||
startscreen_enterheroname = (EditText) findViewById(R.id.startscreen_enterheroname);
|
||||
startscreen_enterheroname.setImeOptions(EditorInfo.IME_ACTION_DONE);
|
||||
@@ -82,7 +84,8 @@ public class StartScreenActivity extends Activity {
|
||||
app.setup.startResourceLoader(getResources());
|
||||
|
||||
if (AndorsTrailApplication.DEVELOPMENT_QUICKSTART) {
|
||||
continueGame(true, "Debug player");
|
||||
final boolean startNewGame = false;
|
||||
continueGame(startNewGame, "Debug player");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.gpl.rpg.AndorsTrail.context;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||
import com.gpl.rpg.AndorsTrail.EffectCollection;
|
||||
import com.gpl.rpg.AndorsTrail.conversation.ConversationCollection;
|
||||
import com.gpl.rpg.AndorsTrail.model.ModelContainer;
|
||||
@@ -47,4 +48,19 @@ public class WorldContext {
|
||||
public void reset() {
|
||||
maps.reset();
|
||||
}
|
||||
|
||||
// Selftest method. Not part of the game logic.
|
||||
public void verifyData() {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
//Ensure that all phrases that require an item have some droplist that contains them
|
||||
conversations.verifyData(dropLists);
|
||||
|
||||
//Ensure that all phrases are requested at least once, either by NPCs or by other phrases.
|
||||
conversations.verifyData(monsterTypes);
|
||||
|
||||
//TODO: Ensure that all items have at least one corresponding droplist
|
||||
//TODO: Ensure that all droplists are used by monsters
|
||||
//TODO: Ensure that all monsters are used in spawnareas
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ public final class CombatController {
|
||||
}
|
||||
if (loot.isEmpty()) return;
|
||||
if (displayLootDialog) Dialogs.showMonsterLoot(context.mainActivity, context, loot);
|
||||
ItemController.consumeLoot(loot, model.player, model.currentMap);
|
||||
ItemController.consumeNonItemLoot(loot, model);
|
||||
context.mainActivity.statusview.update();
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public final class CombatController {
|
||||
|
||||
public void setCombatSelection(Monster selectedMonster, Coord selectedPosition) {
|
||||
if (selectedMonster != null) {
|
||||
if (!selectedMonster.monsterType.isAgressive()) return;
|
||||
if (!selectedMonster.isAgressive()) return;
|
||||
}
|
||||
Coord previousSelection = model.uiSelections.selectedPosition;
|
||||
if (model.uiSelections.selectedPosition != null) {
|
||||
@@ -119,7 +119,7 @@ public final class CombatController {
|
||||
private Monster getAdjacentMonster() {
|
||||
for (MonsterSpawnArea a : model.currentMap.spawnAreas) {
|
||||
for (Monster m : a.monsters) {
|
||||
if (!m.monsterType.isAgressive()) continue;
|
||||
if (!m.isAgressive()) continue;
|
||||
if (m.rectPosition.isAdjacentTo(model.player.position)) {
|
||||
return m;
|
||||
}
|
||||
@@ -129,7 +129,9 @@ public final class CombatController {
|
||||
}
|
||||
|
||||
public void executeMoveAttack() {
|
||||
if (world.model.uiSelections.selectedMonster != null) {
|
||||
if (isMonsterTurn()) {
|
||||
forceFinishMonsterAction();
|
||||
} else if (world.model.uiSelections.selectedMonster != null) {
|
||||
executeAttack();
|
||||
} else if (world.model.uiSelections.selectedPosition != null) {
|
||||
executeMove();
|
||||
@@ -172,6 +174,7 @@ public final class CombatController {
|
||||
Monster nextMonster = getAdjacentMonster();
|
||||
if (nextMonster == null) {
|
||||
exitCombat(true);
|
||||
return;
|
||||
} else {
|
||||
setCombatSelection(nextMonster, nextMonster.position);
|
||||
}
|
||||
@@ -180,9 +183,7 @@ public final class CombatController {
|
||||
message(r.getString(R.string.combat_result_heromiss));
|
||||
}
|
||||
|
||||
if (!attack.isHit || !attack.targetDied) {
|
||||
maybeAutoEndTurn();
|
||||
}
|
||||
maybeAutoEndTurn();
|
||||
}
|
||||
|
||||
private void maybeAutoEndTurn() {
|
||||
@@ -206,6 +207,7 @@ public final class CombatController {
|
||||
|
||||
private final Handler monsterTurnHandler = new Handler() {
|
||||
public void handleMessage(Message msg) {
|
||||
monsterTurnHandler.removeMessages(0);
|
||||
CombatController.this.handleNextMonsterAction();
|
||||
}
|
||||
};
|
||||
@@ -220,6 +222,13 @@ public final class CombatController {
|
||||
|
||||
handleNextMonsterAction();
|
||||
}
|
||||
private void forceFinishMonsterAction() {
|
||||
//TODO:
|
||||
return;
|
||||
//waitForEffect = false;
|
||||
//monsterTurnHandler.removeMessages(0);
|
||||
//monsterTurnHandler.sendEmptyMessage(0);
|
||||
}
|
||||
|
||||
private Monster determineNextMonster(Monster previousMonster) {
|
||||
if (previousMonster != null) {
|
||||
@@ -228,7 +237,7 @@ public final class CombatController {
|
||||
|
||||
for (MonsterSpawnArea a : model.currentMap.spawnAreas) {
|
||||
for (Monster m : a.monsters) {
|
||||
if (!m.monsterType.isAgressive()) continue;
|
||||
if (!m.isAgressive()) continue;
|
||||
|
||||
if (m.rectPosition.isAdjacentTo(model.player.position)) {
|
||||
if (m.useAPs(m.traits.attackCost)) return m;
|
||||
@@ -285,7 +294,7 @@ public final class CombatController {
|
||||
}
|
||||
|
||||
private static float getAverageDamagePerHit(ActorTraits attacker, ActorTraits target) {
|
||||
float result = (float) (attacker.attackChance - target.blockChance) * attacker.damagePotential.average() / 100;
|
||||
float result = (float) (getAttackHitChance(attacker, target)) * attacker.damagePotential.average() / 100;
|
||||
result += (float) attacker.criticalChance * result * attacker.criticalMultiplier / 100;
|
||||
result -= target.damageResistance;
|
||||
return result;
|
||||
@@ -294,6 +303,10 @@ public final class CombatController {
|
||||
return getAverageDamagePerHit(attacker, target) * attacker.getAttacksPerTurn();
|
||||
}
|
||||
private static int getTurnsToKillTarget(ActorTraits attacker, ActorTraits target) {
|
||||
if (attacker.damagePotential.max <= target.damageResistance) return 999;
|
||||
if (attacker.hasCriticalEffect()) {
|
||||
if (attacker.damagePotential.max * attacker.criticalMultiplier <= target.damageResistance) return 999;
|
||||
}
|
||||
float averageDamagePerTurn = getAverageDamagePerTurn(attacker, target);
|
||||
if (averageDamagePerTurn == 0) return 100;
|
||||
return (int) Math.ceil(target.maxHP / averageDamagePerTurn);
|
||||
@@ -301,10 +314,11 @@ public final class CombatController {
|
||||
public static int getMonsterDifficulty(WorldContext world, MonsterType monsterType) {
|
||||
// returns [0..100) . 100 == easy.
|
||||
int turnsToKillMonster = getTurnsToKillTarget(world.model.player.traits, monsterType);
|
||||
if (turnsToKillMonster >= 999) return 0;
|
||||
int turnsToKillPlayer = getTurnsToKillTarget(monsterType, world.model.player.traits);
|
||||
int result = 50 + (turnsToKillPlayer - turnsToKillMonster) * 2;
|
||||
if (result < 0) result = 0;
|
||||
else if (result > 100) result = 100;
|
||||
if (result <= 1) return 1;
|
||||
else if (result > 100) return 100;
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -323,8 +337,17 @@ public final class CombatController {
|
||||
}
|
||||
|
||||
|
||||
private static final int n = 50;
|
||||
private static final int F = 40;
|
||||
private static final float two_divided_by_PI = (float) (2f / Math.PI);
|
||||
private static int getAttackHitChance(final ActorTraits attacker, final ActorTraits target) {
|
||||
final int c = attacker.attackChance - target.blockChance;
|
||||
// (2/pi)*atan(..) will vary from -1 to +1 .
|
||||
return (int) (50 * (1 + two_divided_by_PI * (float)Math.atan((float)(c-n) / F)));
|
||||
}
|
||||
|
||||
private static AttackResult attack(final Actor attacker, final Actor target) {
|
||||
int hitChance = attacker.traits.attackChance - target.traits.blockChance;
|
||||
int hitChance = getAttackHitChance(attacker.traits, target.traits);
|
||||
if (!ModelContainer.roll100(hitChance)) return AttackResult.MISS;
|
||||
|
||||
int damage = ModelContainer.rollValue(attacker.traits.damagePotential);
|
||||
@@ -336,6 +359,7 @@ public final class CombatController {
|
||||
}
|
||||
}
|
||||
damage -= target.traits.damageResistance;
|
||||
if (damage < 0) damage = 0;
|
||||
target.health.subtract(damage, false);
|
||||
|
||||
return new AttackResult(true, isCriticalHit, damage, target.health.current <= 0);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.gpl.rpg.AndorsTrail.controller;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@@ -77,24 +78,30 @@ public final class Controller {
|
||||
|
||||
public void resume() {
|
||||
//L.log(id + " : Controller::resume()");
|
||||
model.uiSelections.isTicking = true;
|
||||
view.mainActivity.statusview.update();
|
||||
model.uiSelections.isTicking = true;
|
||||
view.mainActivity.mainview.inhibitClicks = false;
|
||||
queueAnotherTick();
|
||||
}
|
||||
public void pause() {
|
||||
//L.log(id + " : Controller::pause()");
|
||||
hasQueuedTick = false;
|
||||
model.uiSelections.isTicking = false;
|
||||
view.mainActivity.mainview.inhibitClicks = true;
|
||||
}
|
||||
|
||||
public void handleMapEvent(MapObject o) {
|
||||
switch (o.type) {
|
||||
case MapObject.MAPEVENT_SIGN:
|
||||
if (o.place_or_key != null && o.place_or_key.length() > 0) {
|
||||
model.player.addKey(o.place_or_key);
|
||||
}
|
||||
if (o.text == null) return;
|
||||
Dialogs.showMapSign(view.mainActivity, view, o.title, o.text);
|
||||
break;
|
||||
case MapObject.MAPEVENT_NEWMAP:
|
||||
if (o.map == null || o.place == null) return;
|
||||
view.movementController.placePlayerAt(o.map, o.place);
|
||||
if (o.map == null || o.place_or_key == null) return;
|
||||
view.movementController.placePlayerAt(o.map, o.place_or_key);
|
||||
break;
|
||||
case MapObject.MAPEVENT_REST:
|
||||
Dialogs.showRest(view.mainActivity, view);
|
||||
@@ -103,11 +110,15 @@ public final class Controller {
|
||||
}
|
||||
|
||||
public void steppedOnMonster(Monster m, Coord p) {
|
||||
if (m.monsterType.isAgressive()) {
|
||||
if (m.isAgressive()) {
|
||||
view.combatController.setCombatSelection(m, p);
|
||||
Dialogs.showMonsterEncounter(view.mainActivity, m);
|
||||
if (!model.uiSelections.confirmAttack) {
|
||||
view.combatController.enterCombat();
|
||||
} else {
|
||||
Dialogs.showMonsterEncounter(view.mainActivity, view, m);
|
||||
}
|
||||
} else {
|
||||
Dialogs.showConversation(view.mainActivity, m.monsterType.phraseID, m);
|
||||
Dialogs.showConversation(view.mainActivity, view, m.monsterType.phraseID, m);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,22 +128,28 @@ public final class Controller {
|
||||
int lostExp = player.levelExperience.current / (100 / PERCENT_EXP_LOST_WHEN_DIED);
|
||||
player.addExperience(-lostExp);
|
||||
model.statistics.addPlayerDeath(lostExp);
|
||||
playerRested(world, false);
|
||||
playerRested(world);
|
||||
MovementController.respawnPlayer(world);
|
||||
final MainActivity act = view.mainActivity;
|
||||
act.statusview.update();
|
||||
act.mainview.notifyMapChanged();
|
||||
act.message(act.getResources().getString(R.string.combat_hero_dies, lostExp));
|
||||
act.statusview.update();
|
||||
}
|
||||
|
||||
public static void playerRested(final WorldContext world, boolean respawnUniqueMonsters) {
|
||||
public static void playerRested(final WorldContext world) {
|
||||
final Player player = world.model.player;
|
||||
player.setMaxAP();
|
||||
player.setMaxHP();
|
||||
for (LayeredWorldMap m : world.maps.predefinedMaps) {
|
||||
m.spawnAll(world, respawnUniqueMonsters);
|
||||
if (m.visited) m.spawnAll(world);
|
||||
}
|
||||
}
|
||||
public static void ui_playerRested(final Activity currentActivity, final ViewContext viewContext) {
|
||||
playerRested(viewContext);
|
||||
viewContext.mainActivity.statusview.update();
|
||||
Dialogs.showRested(currentActivity, viewContext);
|
||||
}
|
||||
|
||||
|
||||
public boolean handleKeyArea(KeyArea area) {
|
||||
if (view.model.player.hasKey(area.requiredKey)) return true;
|
||||
|
||||
@@ -9,7 +9,7 @@ public class ConversationController {
|
||||
public static void applyPhraseEffect(final Player player, final Phrase phrase) {
|
||||
if (phrase.enablesKey != null) player.addKey(phrase.enablesKey);
|
||||
if (phrase.rewardExperience > 0) player.addExperience(phrase.rewardExperience);
|
||||
if (phrase.rewardGold > 0) player.inventory.gold += phrase.rewardGold;
|
||||
if (phrase.rewardGold != 0) player.inventory.gold += phrase.rewardGold;
|
||||
}
|
||||
|
||||
public static void applyReplyEffect(final Player player, final Reply reply) {
|
||||
|
||||
@@ -108,4 +108,10 @@ public final class EffectController {
|
||||
e.safejoin();
|
||||
}
|
||||
}
|
||||
public void killCurrentEffect() {
|
||||
EffectAnimation e = currentEffect;
|
||||
if (e != null) {
|
||||
e.killjoin();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.gpl.rpg.AndorsTrail.model.actor.Player;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.ItemContainer;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.Loot;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.LayeredWorldMap;
|
||||
import com.gpl.rpg.AndorsTrail.view.MainView;
|
||||
|
||||
public final class ItemController {
|
||||
private static final int MARKET_PRICEFACTOR_PERCENT = 15;
|
||||
@@ -88,7 +88,7 @@ public final class ItemController {
|
||||
|
||||
public void handleLootBag(Loot loot) {
|
||||
Dialogs.showGroundLoot(view.mainActivity, view, loot);
|
||||
consumeLoot(loot, model.player, model.currentMap);
|
||||
consumeNonItemLoot(loot, model);
|
||||
}
|
||||
|
||||
private void applyUseEffect(Actor actor, ItemType t) {
|
||||
@@ -112,15 +112,30 @@ public final class ItemController {
|
||||
}
|
||||
}
|
||||
|
||||
public static void consumeLoot(Loot loot, Player player, LayeredWorldMap currentMap) {
|
||||
player.addExperience(loot.exp);
|
||||
public static void consumeNonItemLoot(Loot loot, ModelContainer model) {
|
||||
model.player.addExperience(loot.exp);
|
||||
loot.exp = 0;
|
||||
player.inventory.gold += loot.gold;
|
||||
model.player.inventory.gold += loot.gold;
|
||||
loot.gold = 0;
|
||||
if (loot.isEmpty()) {
|
||||
currentMap.removeGroundLoot(loot);
|
||||
model.currentMap.removeGroundLoot(loot);
|
||||
}
|
||||
}
|
||||
|
||||
public static void pickupAll(Loot loot, ModelContainer model) {
|
||||
model.player.inventory.add(loot.items);
|
||||
consumeNonItemLoot(loot, model);
|
||||
loot.clear();
|
||||
}
|
||||
|
||||
public static boolean removeEmptyLoot(final ViewContext context, final Loot loot) {
|
||||
if (loot.isEmpty()) {
|
||||
context.model.currentMap.removeGroundLoot(loot);
|
||||
context.mainActivity.redrawTile(loot.position, MainView.REDRAW_TILE_BAG_REMOVED);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static int getBuyingPrice(Player player, ItemType itemType) {
|
||||
return itemType.baseMarketCost * (100 + MARKET_PRICEFACTOR_PERCENT) / 100;
|
||||
|
||||
@@ -57,12 +57,12 @@ public final class MonsterMovementController {
|
||||
,m.monsterType.tileSize
|
||||
);
|
||||
|
||||
if (!monsterCanMoveTo(p)) {
|
||||
if (!model.currentMap.monsterCanMoveTo(p)) {
|
||||
cancelCurrentMonsterMovement(m);
|
||||
return false;
|
||||
}
|
||||
if (p.contains(model.player.position)) {
|
||||
if (!m.monsterType.isAgressive()) {
|
||||
if (!m.isAgressive()) {
|
||||
cancelCurrentMonsterMovement(m);
|
||||
return false;
|
||||
}
|
||||
@@ -80,12 +80,6 @@ public final class MonsterMovementController {
|
||||
m.nextActionTime += m.millisecondsPerMove * ModelContainer.rollValue(ModelContainer.monsterWaitTurns);
|
||||
}
|
||||
|
||||
private boolean monsterCanMoveTo(final CoordRect p) {
|
||||
if (!model.currentMap.isWalkable(p)) return false;
|
||||
if (model.currentMap.getMonsterAt(p) != null) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
private static int sgn(int i) {
|
||||
if (i <= -1) return -1;
|
||||
else if (i >= 1) return 1;
|
||||
|
||||
@@ -25,6 +25,7 @@ public final class MovementController {
|
||||
|
||||
public void placePlayerAt(String mapName, String placeName) {
|
||||
placePlayerAt(world, mapName, placeName);
|
||||
view.mainActivity.clearMessages();
|
||||
view.mainActivity.mainview.notifyMapChanged();
|
||||
}
|
||||
public static void placePlayerAt(final WorldContext world, String mapName, String placeName) {
|
||||
@@ -43,6 +44,8 @@ public final class MovementController {
|
||||
model.currentMap = newMap;
|
||||
model.player.position.set(place.position.topLeft);
|
||||
model.player.lastPosition.set(model.player.position);
|
||||
if (!newMap.visited) newMap.spawnAll(world);
|
||||
newMap.visited = true;
|
||||
}
|
||||
|
||||
public boolean mayMovePlayer() {
|
||||
@@ -54,25 +57,44 @@ public final class MovementController {
|
||||
if (!mayMovePlayer()) return;
|
||||
//if (isInCombat) return;
|
||||
|
||||
final Player player = model.player;
|
||||
player.nextPosition.set(
|
||||
player.position.x + dx
|
||||
,player.position.y + dy
|
||||
);
|
||||
final Coord newPosition = player.nextPosition;
|
||||
if (!model.currentMap.isWalkable(newPosition)) {
|
||||
return;
|
||||
}
|
||||
if (!findWalkablePosition(dx, dy)) return;
|
||||
|
||||
Monster m = model.currentMap.getMonsterAt(newPosition);
|
||||
Monster m = model.currentMap.getMonsterAt(model.player.nextPosition);
|
||||
if (m != null) {
|
||||
view.controller.steppedOnMonster(m, newPosition);
|
||||
view.controller.steppedOnMonster(m, model.player.nextPosition);
|
||||
return;
|
||||
}
|
||||
|
||||
moveToNextIfPossible(true);
|
||||
}
|
||||
|
||||
private boolean findWalkablePosition(int dx, int dy) {
|
||||
if (tryWalkablePosition(sgn(dx), sgn(dy))) return true;
|
||||
if (dx == 0 || dy == 0) return false;
|
||||
if (abs(dx) > abs(dy)) return tryWalkablePosition(sgn(dx), 0);
|
||||
return tryWalkablePosition(0, sgn(dy));
|
||||
}
|
||||
private boolean tryWalkablePosition(int dx, int dy) {
|
||||
final Player player = model.player;
|
||||
player.nextPosition.set(
|
||||
player.position.x + dx
|
||||
,player.position.y + dy
|
||||
);
|
||||
if (model.currentMap.isWalkable(player.nextPosition)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
private static int sgn(final int v) {
|
||||
if (v == 0) return 0;
|
||||
else if (v > 0) return 1;
|
||||
else return -1;
|
||||
}
|
||||
private static int abs(final int v) {
|
||||
if (v == 0) return 0;
|
||||
else if (v > 0) return v;
|
||||
else return -v;
|
||||
}
|
||||
|
||||
public void moveToNextIfPossible(boolean handleEvents) {
|
||||
final Player player = model.player;
|
||||
final LayeredWorldMap currentMap = model.currentMap;
|
||||
@@ -90,16 +112,11 @@ public final class MovementController {
|
||||
view.mainActivity.mainview.notifyPlayerMoved();
|
||||
|
||||
if (handleEvents) {
|
||||
for (MapObject o : currentMap.eventObjects) {
|
||||
if (o.position.contains(newPosition)) {
|
||||
view.controller.handleMapEvent(o);
|
||||
}
|
||||
}
|
||||
MapObject o = currentMap.getEventObjectAt(newPosition);
|
||||
if (o != null) view.controller.handleMapEvent(o);
|
||||
|
||||
Loot loot = currentMap.getBagAt(newPosition);
|
||||
if (loot != null) {
|
||||
view.itemController.handleLootBag(loot);
|
||||
}
|
||||
if (loot != null) view.itemController.handleLootBag(loot);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,20 +2,41 @@ package com.gpl.rpg.AndorsTrail.conversation;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.regex.Matcher;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||
import com.gpl.rpg.AndorsTrail.conversation.Phrase.Reply;
|
||||
import com.gpl.rpg.AndorsTrail.model.actor.MonsterTypeCollection;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.DropListCollection;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
|
||||
import com.gpl.rpg.AndorsTrail.resource.ResourceLoader;
|
||||
import com.gpl.rpg.AndorsTrail.util.L;
|
||||
|
||||
public class ConversationCollection {
|
||||
public static final String PHRASE_CLOSE = "X";
|
||||
public static final String PHRASE_SHOP = "S";
|
||||
public static final String PHRASE_ATTACK = "F";
|
||||
|
||||
private final HashMap<String, Phrase> phrases = new HashMap<String, Phrase>();
|
||||
|
||||
public boolean isValidPhraseID(String id) {
|
||||
if (id.equals(PHRASE_CLOSE)) return true;
|
||||
else if (id.equals(PHRASE_SHOP)) return true;
|
||||
else if (id.equals(PHRASE_ATTACK)) return true;
|
||||
else if (phrases.containsKey(id)) return true;
|
||||
else return false;
|
||||
}
|
||||
|
||||
public Phrase getPhrase(String id) {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
if (!phrases.containsKey(id)) {
|
||||
L.log("WARNING: Cannot find requested conversation phrase id \"" + id + "\".");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return phrases.get(id);
|
||||
}
|
||||
|
||||
@@ -35,15 +56,25 @@ public class ConversationCollection {
|
||||
Reply[] _replies = new Reply[replies.size()];
|
||||
_replies = replies.toArray(_replies);
|
||||
|
||||
phrases.put(parts[0], new Phrase(
|
||||
final String phraseID = parts[0];
|
||||
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
if (phraseID.trim().length() <= 0) {
|
||||
L.log("WARNING: Adding phrase with empty id.");
|
||||
} else if (phrases.get(phraseID) != null) {
|
||||
L.log("WARNING: Phrase \"" + phraseID + "\" may be duplicated.");
|
||||
}
|
||||
}
|
||||
|
||||
phrases.put(phraseID, new Phrase(
|
||||
parts[1]
|
||||
, _replies
|
||||
, parts[2]
|
||||
, ResourceLoader.parseInt(parts[3], -1)
|
||||
, ResourceLoader.parseInt(parts[4], -1)
|
||||
, ResourceLoader.parseInt(parts[3], 0)
|
||||
, ResourceLoader.parseInt(parts[4], 0)
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static Reply parseReply(String[] parts, int startIndex, ItemTypeCollection itemTypes) {
|
||||
String requiresItemTypeTag = parts[startIndex+3];
|
||||
@@ -60,4 +91,78 @@ public class ConversationCollection {
|
||||
,ResourceLoader.parseInt(parts[startIndex+4], 0)
|
||||
);
|
||||
}
|
||||
|
||||
// Selftest method. Not part of the game logic.
|
||||
public void verifyData() {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
HashSet<String> requiredKeys = new HashSet<String>();
|
||||
HashSet<String> suppliedKeys = new HashSet<String>();
|
||||
for (Entry<String, Phrase> e : phrases.entrySet()) {
|
||||
Phrase p = e.getValue();
|
||||
if (p.enablesKey != null && p.enablesKey.length() > 0) {
|
||||
suppliedKeys.add(p.enablesKey);
|
||||
}
|
||||
if (e.getValue().replies.length <= 0) {
|
||||
L.log("WARNING: Phrase \"" + e.getKey() + "\" has no replies.");
|
||||
}
|
||||
for (Reply r : e.getValue().replies) {
|
||||
if (!isValidPhraseID(r.nextPhrase)) {
|
||||
L.log("WARNING: Phrase \"" + e.getKey() + "\" has reply to non-existing phrase \"" + r.nextPhrase + "\".");
|
||||
}
|
||||
if (r.requiresKey != null && r.requiresKey.length() > 0) {
|
||||
String s = r.requiresKey;
|
||||
if (s.startsWith("!")) s = s.substring(1);
|
||||
requiredKeys.add(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(String s : requiredKeys) {
|
||||
if (!suppliedKeys.contains(s)) {
|
||||
L.log("WARNING: Key \"" + s + "\" is required but never supplied by any phrases.");
|
||||
}
|
||||
}
|
||||
|
||||
for(String s : suppliedKeys) {
|
||||
if (!requiredKeys.contains(s)) {
|
||||
L.log("OPTIMIZE: Key \"" + s + "\" is supplied but never required by any phrases.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Selftest method. Not part of the game logic.
|
||||
public void verifyData(DropListCollection droplists) {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
for (Entry<String, Phrase> e : phrases.entrySet()) {
|
||||
for (Reply r : e.getValue().replies) {
|
||||
if (r.requiresItemTypeID > 0) {
|
||||
if (!droplists.verifyExistsDroplist(r.requiresItemTypeID)) {
|
||||
L.log("WARNING: Phrase \"" + e.getKey() + "\" has reply that requires an item that is not dropped by any droplist.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Selftest method. Not part of the game logic.
|
||||
public void verifyData(MonsterTypeCollection monsterTypes) {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
HashSet<String> requiredPhrases = monsterTypes.DEBUG_getRequiredPhrases();
|
||||
for (Entry<String, Phrase> e : phrases.entrySet()) {
|
||||
for (Reply r : e.getValue().replies) {
|
||||
requiredPhrases.add(r.nextPhrase);
|
||||
}
|
||||
}
|
||||
requiredPhrases.remove(PHRASE_ATTACK);
|
||||
requiredPhrases.remove(PHRASE_CLOSE);
|
||||
requiredPhrases.remove(PHRASE_SHOP);
|
||||
for (Entry<String, Phrase> e : phrases.entrySet()) {
|
||||
if (!requiredPhrases.contains(e.getKey())) {
|
||||
L.log("OPTIMIZE: Phrase \"" + e.getKey() + "\" cannot be reached by any monster or other phrase reply.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,10 @@ public class CombatTraits {
|
||||
public boolean hasAttackDamageEffect() { return damagePotential.max > 0; }
|
||||
public boolean hasBlockEffect() { return blockChance != 0; }
|
||||
public boolean hasCriticalEffect() { return criticalChance > 0 && criticalMultiplier > 1; }
|
||||
|
||||
|
||||
public int getAttacksPerTurn(final int maxAP) {
|
||||
return (int) Math.floor(maxAP / attackCost);
|
||||
}
|
||||
|
||||
// ====== PARCELABLE ===================================================================
|
||||
|
||||
|
||||
@@ -15,6 +15,16 @@ public final class InterfaceData {
|
||||
public Coord selectedPosition;
|
||||
public String selectedTabHeroInfo = "";
|
||||
|
||||
//Loaded from shared preferences, should not be parceled.
|
||||
public boolean confirmRest = true;
|
||||
public boolean confirmAttack = true;
|
||||
public int displayLoot = DISPLAYLOOT_DIALOG;
|
||||
public static final int DISPLAYLOOT_DIALOG = 0;
|
||||
public static final int DISPLAYLOOT_TOAST = 1;
|
||||
public static final int DISPLAYLOOT_NONE = 2;
|
||||
public boolean fullscreen = true;
|
||||
|
||||
|
||||
public InterfaceData() { }
|
||||
|
||||
|
||||
|
||||
@@ -30,9 +30,7 @@ public class ActorTraits extends CombatTraits {
|
||||
this.tileSize = tileSize;
|
||||
this.baseCombatTraits = baseCombatTraits;
|
||||
}
|
||||
public int getAttacksPerTurn() {
|
||||
return (int) Math.floor(maxAP / attackCost);
|
||||
}
|
||||
public int getAttacksPerTurn() { return getAttacksPerTurn(maxAP); }
|
||||
public int getMovesPerTurn() {
|
||||
return (int) Math.floor(maxAP / moveCost);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ public final class Monster extends Actor {
|
||||
public final int millisecondsPerMove;
|
||||
public Coord movementDestination = null;
|
||||
public long nextActionTime = 0;
|
||||
public boolean forceAggressive = false;
|
||||
|
||||
public Monster(MonsterType monsterType, Coord position) {
|
||||
super(monsterType);
|
||||
@@ -29,6 +30,10 @@ public final class Monster extends Actor {
|
||||
monsterType.dropList.createRandomLoot(container);
|
||||
}
|
||||
|
||||
public boolean isAgressive() {
|
||||
return monsterType.phraseID == null || forceAggressive;
|
||||
}
|
||||
|
||||
|
||||
// ====== PARCELABLE ===================================================================
|
||||
|
||||
@@ -38,6 +43,9 @@ public final class Monster extends Actor {
|
||||
Monster m = new Monster(monsterType, position);
|
||||
m.ap.current = src.readInt();
|
||||
m.health.current = src.readInt();
|
||||
if (fileversion >= 12) {
|
||||
m.forceAggressive = src.readBoolean();
|
||||
}
|
||||
return m;
|
||||
}
|
||||
|
||||
@@ -46,5 +54,6 @@ public final class Monster extends Actor {
|
||||
position.writeToParcel(dest, flags);
|
||||
dest.writeInt(ap.current);
|
||||
dest.writeInt(health.current);
|
||||
dest.writeBoolean(forceAggressive);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,8 +31,4 @@ public final class MonsterType extends ActorTraits {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isAgressive() {
|
||||
return phraseID == null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,12 @@ package com.gpl.rpg.AndorsTrail.model.actor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.regex.Matcher;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
||||
import com.gpl.rpg.AndorsTrail.model.CombatTraits;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.DropListCollection;
|
||||
import com.gpl.rpg.AndorsTrail.resource.DynamicTileLoader;
|
||||
import com.gpl.rpg.AndorsTrail.resource.ResourceLoader;
|
||||
@@ -47,25 +50,83 @@ public final class MonsterTypeCollection {
|
||||
|
||||
final String monsterTypeName = parts[1];
|
||||
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA && getMonsterTypesFromTags(monsterTypeName).size() > 0) {
|
||||
L.log("OPTIMIZE: Monster " + monsterTypeName + " may be duplicated.");
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
if (getMonsterTypesFromTags(monsterTypeName).size() > 0) {
|
||||
L.log("OPTIMIZE: Monster " + monsterTypeName + " may be duplicated.");
|
||||
}
|
||||
}
|
||||
|
||||
final int maxHP = ResourceLoader.parseInt(parts[5], 1);
|
||||
final int maxAP = ResourceLoader.parseInt(parts[6], 10);
|
||||
final CombatTraits combatTraits = ResourceLoader.parseCombatTraits(parts, 8);
|
||||
final int exp = getExpectedMonsterExperience(combatTraits, maxHP, maxAP);
|
||||
monsterTypes.add(new MonsterType(
|
||||
nextId
|
||||
, monsterTypeName
|
||||
, parts[2]
|
||||
, ResourceLoader.parseImage(tileLoader, parts[0])
|
||||
, ResourceLoader.parseSize(parts[3], size1x1)
|
||||
, ResourceLoader.parseInt(parts[5], 1) // HP
|
||||
, ResourceLoader.parseInt(parts[6], 10) // AP
|
||||
, ResourceLoader.parseInt(parts[7], 10) // MoveCost
|
||||
, ResourceLoader.parseCombatTraits(parts, 8)
|
||||
, ResourceLoader.parseInt(parts[4], 0) // Exp
|
||||
, droplists.getDropList(parts[15])
|
||||
, parts[16]
|
||||
));
|
||||
nextId
|
||||
, monsterTypeName
|
||||
, parts[2]
|
||||
, ResourceLoader.parseImage(tileLoader, parts[0])
|
||||
, ResourceLoader.parseSize(parts[3], size1x1)
|
||||
, maxHP // HP
|
||||
, maxAP // AP
|
||||
, ResourceLoader.parseInt(parts[7], 10) // MoveCost
|
||||
, combatTraits
|
||||
, exp //ResourceLoader.parseInt(parts[4], 0) // Exp
|
||||
, droplists.getDropList(parts[15])
|
||||
, parts[16]
|
||||
));
|
||||
|
||||
++nextId;
|
||||
}
|
||||
}
|
||||
|
||||
private static final int factor_damageresistance = 9;
|
||||
private static final float factor_expscaling = 0.7f;
|
||||
|
||||
private static float div100(int v) {
|
||||
return (float) v / 100f;
|
||||
}
|
||||
private static int getExpectedMonsterExperience(final MonsterType t) {
|
||||
return getExpectedMonsterExperience(t, t.maxHP, t.maxAP);
|
||||
}
|
||||
private static int getExpectedMonsterExperience(final CombatTraits t, final int maxHP, final int maxAP) {
|
||||
final float avgAttackHP = t.getAttacksPerTurn(maxAP) * div100(t.attackChance) * t.damagePotential.averagef() * (1 + div100(t.criticalChance) * t.criticalMultiplier);
|
||||
final float avgDefenseHP = maxHP * (1 + div100(t.blockChance)) + factor_damageresistance * t.damageResistance;
|
||||
return (int) Math.ceil((avgAttackHP * 3 + avgDefenseHP) * factor_expscaling);
|
||||
}
|
||||
|
||||
// Selftest method. Not part of the game logic.
|
||||
public void verifyData(WorldContext world) {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
for (MonsterType t : monsterTypes) {
|
||||
if (t.phraseID != null && t.phraseID.length() > 0) {
|
||||
if (!world.conversations.isValidPhraseID(t.phraseID)) {
|
||||
L.log("WARNING: Cannot find phrase \"" + t.phraseID + "\" for MonsterType \"" + t.name + "\".");
|
||||
}
|
||||
}
|
||||
|
||||
if (t.exp > 0) {
|
||||
int expected_exp = getExpectedMonsterExperience(t);
|
||||
|
||||
if (t.exp != expected_exp) {
|
||||
L.log("WARNING: MonsterType \"" + t.name + "\" has exp=" + t.exp + ", which is different from the suggested exp=" + expected_exp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Selftest method. Not part of the game logic.
|
||||
public HashSet<String> DEBUG_getRequiredPhrases() {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
HashSet<String> requiredPhrases = new HashSet<String>();
|
||||
for (MonsterType t : monsterTypes) {
|
||||
if (t.phraseID != null && t.phraseID.length() > 0) {
|
||||
requiredPhrases.add(t.phraseID);
|
||||
}
|
||||
}
|
||||
return requiredPhrases;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,11 +52,11 @@ public final class Player extends Actor {
|
||||
traits.baseCombatTraits.set(combat);
|
||||
|
||||
traits.maxAP = 10;
|
||||
traits.maxHP = 20;
|
||||
traits.maxHP = 25;
|
||||
|
||||
traits.name = name;
|
||||
traits.moveCost = 6;
|
||||
useItemCost = 2;
|
||||
useItemCost = 5;
|
||||
reequipCost = 5;
|
||||
|
||||
level = 1;
|
||||
@@ -140,6 +140,13 @@ public final class Player extends Actor {
|
||||
}
|
||||
this.spawnMap = src.readUTF();
|
||||
this.spawnPlace = src.readUTF();
|
||||
|
||||
if (fileversion <= 12) {
|
||||
this.useItemCost = 5;
|
||||
this.health.max += 5;
|
||||
this.health.current += 5;
|
||||
this.traits.maxHP += 5;
|
||||
}
|
||||
}
|
||||
|
||||
public void writeToParcel(DataOutputStream dest, int flags) throws IOException {
|
||||
|
||||
@@ -27,6 +27,15 @@ public final class DropList {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Selftest metohd. Not part of the game logic.
|
||||
public boolean contains(int itemTypeID) {
|
||||
for (DropItem item : items) {
|
||||
if (item.itemType.id == itemTypeID) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static class DropItem {
|
||||
public final ItemType itemType;
|
||||
public final ConstRange chance;
|
||||
|
||||
@@ -16,8 +16,10 @@ public final class DropListCollection {
|
||||
public DropList getDropList(String name) {
|
||||
if (name == null || name.length() <= 0) return null;
|
||||
|
||||
if (!droplists.containsKey(name)) {
|
||||
L.log("WARNING: Cannot find droplist \"" + name + "\".");
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
if (!droplists.containsKey(name)) {
|
||||
L.log("WARNING: Cannot find droplist \"" + name + "\".");
|
||||
}
|
||||
}
|
||||
return droplists.get(name);
|
||||
}
|
||||
@@ -70,7 +72,8 @@ public final class DropListCollection {
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("Bread"), always, five));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("Mushroom"), always, five));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("Eggs"), always, five));
|
||||
droplists.put("shop_food", new DropList(items));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("Mead"), always, five));
|
||||
droplists.put("shop_food", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("shirt1"), always, one));
|
||||
@@ -91,6 +94,7 @@ public final class DropListCollection {
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("club3"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ironsword0"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("hammer0"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("hammer1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("dagger0"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("dagger1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("dagger2"), always, one));
|
||||
@@ -149,7 +153,7 @@ public final class DropListCollection {
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(4, 2)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("Insect wing"), animalpart, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("insectwing"), animalpart, one));
|
||||
droplists.put("wasp", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
@@ -169,6 +173,19 @@ public final class DropListCollection {
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gland"), very_seldom, one));
|
||||
droplists.put("snake", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(15, 5)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem2"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health_minor"), seldom, one));
|
||||
droplists.put("lich1", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(9, 9)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("dagger_venom"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem3"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health"), always, one));
|
||||
droplists.put("snakemaster", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(10, 7)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("hair"), animalpart, one));
|
||||
@@ -176,6 +193,133 @@ public final class DropListCollection {
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("meat"), animalpart, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("boots1"), seldom, one));
|
||||
droplists.put("canineboss", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(8, 4)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem1"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("claws"), animalpart, one));
|
||||
droplists.put("cavecritter", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(12, 4)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem2"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("hammer0"), very_seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health_minor"), seldom, one));
|
||||
droplists.put("cavemonster", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("neck_irogotu"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring_gandir"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health"), always, one));
|
||||
droplists.put("irogotu", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("vial_empty1"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem1"), seldom, one));
|
||||
droplists.put("haunt", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
//TODO: Fill with heartsteel items.
|
||||
droplists.put("nocmar", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring2"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("shirt1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("shirt2"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem1"), always, five));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem2"), always, five));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem3"), always, five));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("quickdagger1"), always, one));
|
||||
droplists.put("ganos", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("shirt1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("shirt2"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("shirt_dmgresist"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring2"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("boots3"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gloves_attack1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gloves_attack2"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("jewel_fallhaven"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring_dmg1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring_dmg2"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring_block1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("ring_atkch1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("necklace_shield1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("necklace_shield2"), always, one));
|
||||
droplists.put("fallhaven_clothes", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("vial_empty1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("vial_empty2"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("vial_empty3"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("vial_empty4"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health_minor"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health_major"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("milk"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("rat_tail"), always, five));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("Radish"), always, five));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("Strawberry"), always, five));
|
||||
droplists.put("fallhaven_potions", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("bonemeal_potion"), always, ten));
|
||||
droplists.put("thoronir", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(12, 4)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("club1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("calomyran_secrets"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("milk"), always, one));
|
||||
droplists.put("larcal", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(12, 4)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem2"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("vial_empty2"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gloves1"), very_seldom, one));
|
||||
droplists.put("catacombguard", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(5, 1)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem1"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("vial_empty1"), seldom, one));
|
||||
droplists.put("catacombrat", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(5, 1)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem1"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("key_luthor"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health_major"), always, one));
|
||||
droplists.put("luthor", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(23, 16)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem2"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("bone"), animalpart, one));
|
||||
droplists.put("skeleton", new DropList(items));
|
||||
|
||||
items.clear();
|
||||
items.add(new DropItem(itemTypes.getItemType(ItemTypeCollection.ITEMTYPE_GOLD), often, new ConstRange(30, 16)));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("gem3"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("health"), seldom, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("bone"), always, one));
|
||||
items.add(new DropItem(itemTypes.getItemTypeByTag("shield1"), seldom, one));
|
||||
droplists.put("skeletonmaster", new DropList(items));
|
||||
}
|
||||
|
||||
// Selftest method. Not part of the game logic.
|
||||
public boolean verifyExistsDroplist(int itemTypeID) {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
for (DropList d : droplists.values()) {
|
||||
if (d.contains(itemTypeID)) return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public final class ItemTypeCollection {
|
||||
public ItemType getItemTypeByTag(String searchTag) {
|
||||
for(ItemType t : itemTypes) {
|
||||
if (t.searchTag.equalsIgnoreCase(searchTag)) return t;
|
||||
if (t.name.equalsIgnoreCase(searchTag)) return t;
|
||||
}
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
L.log("WARNING: Cannot find ItemType for searchtag \"" + searchTag + "\".");
|
||||
@@ -50,8 +51,10 @@ public final class ItemTypeCollection {
|
||||
, ResourceLoader.parseCombatTraits(parts, 6)
|
||||
));
|
||||
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA && getItemTypeByTag(searchTag).id != nextId) {
|
||||
L.log("OPTIMIZE: Item " + searchTag + " may be duplicated.");
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
if (getItemTypeByTag(searchTag).id != nextId) {
|
||||
L.log("OPTIMIZE: Item " + searchTag + " may be duplicated.");
|
||||
}
|
||||
}
|
||||
|
||||
++nextId;
|
||||
|
||||
@@ -32,6 +32,7 @@ public final class LayeredWorldMap {
|
||||
//public final boolean hasFOW;
|
||||
//public final boolean[][] isVisible;
|
||||
public final boolean[][] isWalkable;
|
||||
public boolean visited = false;
|
||||
|
||||
public LayeredWorldMap(String name, Size size, MapLayer[] layers, boolean[][] isWalkable, MapObject[] eventObjects, KeyArea[] keyAreas, MonsterSpawnArea[] spawnAreas, boolean hasFOW) {
|
||||
this.name = name;
|
||||
@@ -85,6 +86,14 @@ public final class LayeredWorldMap {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public MapObject getEventObjectAt(final Coord p) {
|
||||
for (MapObject o : eventObjects) {
|
||||
if (o.position.contains(p)) {
|
||||
return o;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Monster getMonsterAt(final CoordRect p) {
|
||||
for (MonsterSpawnArea a : spawnAreas) {
|
||||
@@ -119,14 +128,22 @@ public final class LayeredWorldMap {
|
||||
p.topLeft.set(
|
||||
area.topLeft.x + ModelContainer.rnd.nextInt(area.size.width)
|
||||
,area.topLeft.y + ModelContainer.rnd.nextInt(area.size.height));
|
||||
if (!isWalkable(p)) continue;
|
||||
if (getMonsterAt(p) != null) continue;
|
||||
if (!monsterCanMoveTo(p)) continue;
|
||||
return p.topLeft;
|
||||
}
|
||||
return null; // Couldn't find a free spot.
|
||||
}
|
||||
|
||||
public void spawnAll(WorldContext context, boolean respawnUniqueMonsters) {
|
||||
public boolean monsterCanMoveTo(final CoordRect p) {
|
||||
if (!isWalkable(p)) return false;
|
||||
if (getMonsterAt(p) != null) return false;
|
||||
if (getEventObjectAt(p.topLeft) != null) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public void spawnAll(WorldContext context) {
|
||||
boolean respawnUniqueMonsters = false;
|
||||
if (!visited) respawnUniqueMonsters = true;
|
||||
for (MonsterSpawnArea a : spawnAreas) {
|
||||
while (a.isSpawnable(respawnUniqueMonsters)) {
|
||||
spawnInArea(a, context);
|
||||
@@ -180,6 +197,7 @@ public final class LayeredWorldMap {
|
||||
for(MonsterSpawnArea a : spawnAreas) {
|
||||
a.reset();
|
||||
}
|
||||
visited = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -199,6 +217,9 @@ public final class LayeredWorldMap {
|
||||
for(int i = 0; i < size2; ++i) {
|
||||
groundBags.add(new Loot(src, world, fileversion));
|
||||
}
|
||||
|
||||
if (fileversion <= 11) return;
|
||||
visited = src.readBoolean();
|
||||
}
|
||||
|
||||
public void writeToParcel(DataOutputStream dest, int flags) throws IOException {
|
||||
@@ -206,10 +227,10 @@ public final class LayeredWorldMap {
|
||||
for(MonsterSpawnArea a : spawnAreas) {
|
||||
a.writeToParcel(dest, flags);
|
||||
}
|
||||
|
||||
dest.writeInt(groundBags.size());
|
||||
for(Loot l : groundBags) {
|
||||
l.writeToParcel(dest, flags);
|
||||
}
|
||||
dest.writeBoolean(visited);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,44 @@ public final class MapCollection {
|
||||
}
|
||||
}
|
||||
|
||||
// Selftest method. Not part of the game logic.
|
||||
public void verifyData(WorldContext world) {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
for (LayeredWorldMap m : predefinedMaps) {
|
||||
for (MapObject o : m.eventObjects) {
|
||||
if (o.type == MapObject.MAPEVENT_NEWMAP) {
|
||||
final String desc = "Map \"" + m.name + "\", place \"" + o.title + "\"";
|
||||
if (o.map == null || o.map.length() <= 0) {
|
||||
L.log("OPTIMIZE: " + desc + " has no destination map.");
|
||||
} else if (o.place_or_key == null || o.place_or_key.length() <= 0) {
|
||||
L.log("OPTIMIZE: " + desc + " has no destination place.");
|
||||
} else {
|
||||
LayeredWorldMap destination = findPredefinedMap(o.map);
|
||||
if (destination == null) {
|
||||
L.log("WARNING: " + desc + " references non-existing destination map \"" + o.map + "\".");
|
||||
continue;
|
||||
}
|
||||
MapObject place = destination.findEventObject(MapObject.MAPEVENT_NEWMAP, o.place_or_key);
|
||||
if (place == null) {
|
||||
L.log("WARNING: " + desc + " references non-existing destination place \"" + o.place_or_key + "\" on map \"" + o.map + "\".");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!m.name.equalsIgnoreCase(place.map)) {
|
||||
L.log("WARNING: " + desc + " references destination place \"" + o.place_or_key + "\" on map \"" + o.map + "\", but that place does not reference back to this map.");
|
||||
continue;
|
||||
}
|
||||
if (!o.title.equalsIgnoreCase(place.place_or_key)) {
|
||||
L.log("WARNING: " + desc + " references destination place \"" + o.place_or_key + "\" on map \"" + o.map + "\", but that place does not reference back to this place.");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ====== PARCELABLE ===================================================================
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ public final class MapObject {
|
||||
public final String text;
|
||||
public final String title;
|
||||
public final String map;
|
||||
public final String place;
|
||||
public final String place_or_key;
|
||||
|
||||
private MapObject(final CoordRect position, final int type, final String title, final String text, final String map, final String place) {
|
||||
this.position = new CoordRect(position);
|
||||
@@ -20,11 +20,11 @@ public final class MapObject {
|
||||
this.title = title;
|
||||
this.text = text;
|
||||
this.map = map;
|
||||
this.place = place;
|
||||
this.place_or_key = place;
|
||||
}
|
||||
|
||||
public static MapObject createMapSignEvent(final CoordRect position, final String title, final String text) {
|
||||
return new MapObject(position, MAPEVENT_SIGN, title, text, null, null);
|
||||
public static MapObject createMapSignEvent(final CoordRect position, final String title, final String text, final String enableKey) {
|
||||
return new MapObject(position, MAPEVENT_SIGN, title, text, null, enableKey);
|
||||
}
|
||||
public static MapObject createNewMapEvent(final CoordRect position, final String thisMapTitle, final String destinationMap, final String destinationPlace) {
|
||||
return new MapObject(position, MAPEVENT_NEWMAP, thisMapTitle, null, destinationMap, destinationPlace);
|
||||
|
||||