mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-02-23 15:38:29 +01:00
Stoutford's main quest done, but needs testing.
Some crash points exists (don't trade with the thief)
This commit is contained in:
File diff suppressed because it is too large
Load Diff
52
AndorsTrail/res/raw/droplists_stoutford.json
Normal file
52
AndorsTrail/res/raw/droplists_stoutford.json
Normal file
@@ -0,0 +1,52 @@
|
||||
[
|
||||
{
|
||||
"id":"eliszylae_droplist",
|
||||
"items":[
|
||||
{
|
||||
"itemID":"eliszylae_heart",
|
||||
"quantity":{
|
||||
"min":1,
|
||||
"max":1
|
||||
},
|
||||
"chance":"100"
|
||||
},
|
||||
{
|
||||
"itemID":"gold",
|
||||
"quantity":{
|
||||
"min":150,
|
||||
"max":200
|
||||
},
|
||||
"chance":"100"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"tahalendor_present",
|
||||
"items":[
|
||||
{
|
||||
"itemID":"apple_green",
|
||||
"quantity":{
|
||||
"min":2,
|
||||
"max":3
|
||||
},
|
||||
"chance":"100"
|
||||
},
|
||||
{
|
||||
"itemID":"bread",
|
||||
"quantity":{
|
||||
"min":2,
|
||||
"max":4
|
||||
},
|
||||
"chance":"100"
|
||||
},
|
||||
{
|
||||
"itemID":"apple_red",
|
||||
"quantity":{
|
||||
"min":2,
|
||||
"max":3
|
||||
},
|
||||
"chance":"100"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
33
AndorsTrail/res/raw/itemlist_stoutford.json
Normal file
33
AndorsTrail/res/raw/itemlist_stoutford.json
Normal file
@@ -0,0 +1,33 @@
|
||||
[
|
||||
{
|
||||
"id":"eliszylae_heart",
|
||||
"category":"other",
|
||||
"hasManualPrice":1,
|
||||
"baseMarketCost":0,
|
||||
"name":"Demon heart",
|
||||
"displaytype":"quest",
|
||||
"iconID":"items_misc:6"
|
||||
},
|
||||
{
|
||||
"id":"necklace_undead",
|
||||
"hitEffect":{
|
||||
"increaseCurrentHP":{
|
||||
"min":0,
|
||||
"max":1
|
||||
}
|
||||
},
|
||||
"category":"neck",
|
||||
"name":"Necklace of the Undead",
|
||||
"equipEffect":{
|
||||
|
||||
},
|
||||
"displaytype":"rare",
|
||||
"killEffect":{
|
||||
"increaseCurrentHP":{
|
||||
"min":0,
|
||||
"max":3
|
||||
}
|
||||
},
|
||||
"iconID":"items_necklaces_1:9"
|
||||
}
|
||||
]
|
||||
@@ -1,4 +1,38 @@
|
||||
[
|
||||
{
|
||||
"id":"stoutford_farmer_jan",
|
||||
"phraseID":"stoutford_farmer_jan_0",
|
||||
"name":"Jan",
|
||||
"iconID":"monsters_karvis2:1"
|
||||
},
|
||||
{
|
||||
"id":"stoutford_farmer_jen",
|
||||
"phraseID":"stoutford_farmer_jen_0",
|
||||
"name":"Jen",
|
||||
"iconID":"monsters_karvis2:1"
|
||||
},
|
||||
{
|
||||
"id":"kayla",
|
||||
"phraseID":"kayla_0",
|
||||
"droplistID":"kayla_shoplist",
|
||||
"unique":1,
|
||||
"monsterClass":"humanoid",
|
||||
"name":"Kayla",
|
||||
"spawnGroup":"kayla",
|
||||
"iconID":"monsters_rltiles4:29"
|
||||
},
|
||||
{
|
||||
"id":"tahalendor",
|
||||
"phraseID":"tahalendor_0",
|
||||
"name":"Tahalendor",
|
||||
"iconID":"monsters_ld1:3"
|
||||
},
|
||||
{
|
||||
"id":"yolgen",
|
||||
"phraseID":"yolgen_0",
|
||||
"name":"Yolgen",
|
||||
"iconID":"monsters_men:4"
|
||||
},
|
||||
{
|
||||
"id":"stoutford_gateguard",
|
||||
"phraseID":"stoutford_gateguard_0",
|
||||
@@ -7,7 +41,7 @@
|
||||
},
|
||||
{
|
||||
"id":"stoutford_guard1",
|
||||
"phraseID":"stoutford_gateguard_0",
|
||||
"phraseID":"stoutford_guard1_0",
|
||||
"name":"Stoutford Guard",
|
||||
"iconID":"monsters_tometik2:44"
|
||||
},
|
||||
@@ -29,12 +63,6 @@
|
||||
"name":"Commoner",
|
||||
"iconID":"monsters_karvis2:2"
|
||||
},
|
||||
{
|
||||
"id":"stoutford_farmer1",
|
||||
"phraseID":"stoutford_builder_0",
|
||||
"name":"Farmer",
|
||||
"iconID":"monsters_karvis2:1"
|
||||
},
|
||||
{
|
||||
"id":"stoutford_commoner2",
|
||||
"phraseID":"stoutford_commoner_0",
|
||||
@@ -77,14 +105,15 @@
|
||||
},
|
||||
{
|
||||
"id":"stoutford_innkeeper",
|
||||
"phraseID":"stoutford_builder_0",
|
||||
"name":"Inn Keeper",
|
||||
"phraseID":"glasforn_0",
|
||||
"name":"Glasforn",
|
||||
"iconID":"monsters_ld1:33"
|
||||
},
|
||||
{
|
||||
"id":"stoutford_thief",
|
||||
"phraseID":"stoutford_gateguard_0",
|
||||
"name":"Thief",
|
||||
"phraseID":"stoutford_thief_0",
|
||||
"droplistID":"stoutford_thief_shoplist",
|
||||
"name":"Quiet Thief",
|
||||
"iconID":"monsters_rogue1:0"
|
||||
},
|
||||
{
|
||||
@@ -107,22 +136,47 @@
|
||||
"name":"Blacksmith",
|
||||
"iconID":"monsters_ld1:29"
|
||||
},
|
||||
{
|
||||
"id":"stoutford_acolyte",
|
||||
"phraseID":"chapelgoer",
|
||||
"name":"Acolyte",
|
||||
"iconID":"monsters_men:4"
|
||||
},
|
||||
{
|
||||
"id":"stoutford_priest",
|
||||
"phraseID":"chapelgoer",
|
||||
"name":"Priest",
|
||||
"iconID":"monsters_ld1:3"
|
||||
},
|
||||
{
|
||||
"id":"stoutford_worshiper",
|
||||
"phraseID":"chapelgoer",
|
||||
"name":"Praying woman",
|
||||
"iconID":"monsters_men:6"
|
||||
},
|
||||
{
|
||||
"blockChance":90,
|
||||
"maxAP":10,
|
||||
"maxHP":135,
|
||||
"unique":1,
|
||||
"droplistID":"eliszylae_droplist",
|
||||
"criticalSkill":40,
|
||||
"attackCost":2,
|
||||
"damageResistance":2,
|
||||
"attackChance":80,
|
||||
"attackDamage":{
|
||||
"min":1,
|
||||
"max":6
|
||||
},
|
||||
"id":"stoutford_lich",
|
||||
"hitEffect":{
|
||||
"increaseCurrentHP":{
|
||||
"min":2,
|
||||
"max":4
|
||||
},
|
||||
"conditionsTarget":[
|
||||
{
|
||||
"duration":2,
|
||||
"condition":"feebleness_minor",
|
||||
"magnitude":2,
|
||||
"chance":"15"
|
||||
}
|
||||
]
|
||||
},
|
||||
"moveCost":5,
|
||||
"monsterClass":"undead",
|
||||
"name":"Eliszylae",
|
||||
"movementAggressionType":"wholeMap",
|
||||
"iconID":"monsters_liches:0",
|
||||
"spawnGroup":"stoutford_lich",
|
||||
"criticalMultiplier":2.0
|
||||
}
|
||||
]
|
||||
67
AndorsTrail/res/raw/questlist_stoutford.json
Normal file
67
AndorsTrail/res/raw/questlist_stoutford.json
Normal file
@@ -0,0 +1,67 @@
|
||||
[
|
||||
{
|
||||
"id":"rumblings",
|
||||
"name":"Rumblings",
|
||||
"showInLog":1,
|
||||
"stages":[
|
||||
{
|
||||
"progress":10,
|
||||
"logText":"The priest in Stoutford looks scared of me and of what I did, but we never met before. Can this have something to do with Andor ?"
|
||||
},
|
||||
{
|
||||
"progress":20,
|
||||
"logText":"The priest's acolyte, Yolgen, told me that Andor was here a while ago, and since then, scary noises resonate in the church, seemingly coming from the underground."
|
||||
},
|
||||
{
|
||||
"progress":25,
|
||||
"logText":"A member of the Thieve's Guild in the tavern of Stoutford told me that the tavern owner dealt with Andor."
|
||||
},
|
||||
{
|
||||
"progress":30,
|
||||
"logText":"Glasforn, the owner of the tavern of Stoutford, admits to knowing Andor, but evades all my questions by boasting about his beds' quality."
|
||||
},
|
||||
{
|
||||
"progress":50,
|
||||
"logText":"After sleeping in Glasforn's bed, I woke up in a cave, and was attacked by a monster. I killed it, but I should go see Glasforn again."
|
||||
},
|
||||
{
|
||||
"progress":60,
|
||||
"logText":"When Glasforn saw me, he was really scared. Hopefully I'll get some informations from him."
|
||||
},
|
||||
{
|
||||
"progress":70,
|
||||
"logText":"I confronted Glasforn. He admited everything, but blamed Andor for it. How can Andor be involved in this ?"
|
||||
},
|
||||
{
|
||||
"progress":80,
|
||||
"logText":"Yolgen told me the rumbles have stopped. I should talk to the priest."
|
||||
},
|
||||
{
|
||||
"progress":85,
|
||||
"logText":"The priest told me the monster was a lich. I should keep its heart safe."
|
||||
},
|
||||
{
|
||||
"progress":90,
|
||||
"logText":"The priest thanked me for saving his church and asked for the culprit."
|
||||
},
|
||||
{
|
||||
"progress":100,
|
||||
"rewardExperience":2000,
|
||||
"finishesQuest":1,
|
||||
"logText":"I told him I do not know who was responsible."
|
||||
},
|
||||
{
|
||||
"progress":103,
|
||||
"rewardExperience":2500,
|
||||
"finishesQuest":1,
|
||||
"logText":"I told him Glasforn was responsible."
|
||||
},
|
||||
{
|
||||
"progress":106,
|
||||
"rewardExperience":2500,
|
||||
"finishesQuest":1,
|
||||
"logText":"I told him Andor was responsible."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -37,6 +37,7 @@
|
||||
<item>@raw/itemlist_v070</item>
|
||||
<item>@raw/itemlist_v070_questitems</item>
|
||||
<item>@raw/itemlist_shortcut_lodar</item>
|
||||
<item>@raw/itemlist_stoutford</item>
|
||||
<item>@raw/itemlist_pathway_fallhaven</item>
|
||||
</array>
|
||||
|
||||
@@ -58,6 +59,7 @@
|
||||
<item>@raw/droplists_v070_shops</item>
|
||||
<item>@raw/droplists_v070_mobs</item>
|
||||
<item>@raw/droplists_shortcut_lodar</item>
|
||||
<item>@raw/droplists_stoutford</item>
|
||||
<item>@raw/droplists_pathway_fallhaven</item>
|
||||
</array>
|
||||
|
||||
@@ -75,6 +77,7 @@
|
||||
<item>@raw/questlist_v070_lowyna</item>
|
||||
<item>@raw/questlist_v070_misc</item>
|
||||
<item>@raw/questlist_shortcut_lodar</item>
|
||||
<item>@raw/questlist_stoutford</item>
|
||||
<item>@raw/questlist_pathway_fallhaven</item>
|
||||
<item>@raw/questlist_halvor_surprise</item>
|
||||
</array>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE map SYSTEM "http://mapeditor.org/dtd/1.0/map.dtd">
|
||||
<map version="1.0" orientation="orthogonal" width="15" height="17" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="map_bed_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_bed_1.png" width="512" height="256"/>
|
||||
@@ -197,7 +198,7 @@
|
||||
eJzbKMbAsHEQYhAgJI8MkPUg68VlDrJaXGahi6Hbjcu9uPThsw+f2cSGATb/E6OXkJvx+Y8YvxCjlhi/EasXW/ySmvbQ7SLGDeQAUuKUHL/gwwB2SHh+
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="15" height="17">
|
||||
<objectgroup name="Mapevents">
|
||||
<object name="north" type="mapchange" x="256" y="64" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="stoutford_cellar2"/>
|
||||
@@ -211,6 +212,12 @@
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="15" height="17"/>
|
||||
<objectgroup name="Keys" width="15" height="17"/>
|
||||
<objectgroup name="Spawn"/>
|
||||
<objectgroup name="Keys">
|
||||
<object name="rumblings:50" type="key" x="256" y="64" width="32" height="32">
|
||||
<properties>
|
||||
<property name="phrase" value="stoutford_cellar_locked_key"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE map SYSTEM "http://mapeditor.org/dtd/1.0/map.dtd">
|
||||
<map version="1.0" orientation="orthogonal" width="15" height="15" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="map_bed_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_bed_1.png" width="512" height="256"/>
|
||||
@@ -197,14 +198,32 @@
|
||||
eJzbKMbAsHEUY8UwgE8OHZCrD5dZhNxDjH5i7CFXLyX24tKHzd+UxOFA6CUFAwD6AHh+
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="15" height="15">
|
||||
<objectgroup name="Mapevents">
|
||||
<object name="south" type="mapchange" x="128" y="416" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="stoutford_cellar"/>
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="prison" type="mapchange" x="160" y="256" width="32" height="32"/>
|
||||
<object name="stoutford_lich_killed_0" type="script" x="32" y="128" width="416" height="224">
|
||||
<properties>
|
||||
<property name="when" value="step"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn">
|
||||
<object name="stoutford_lich" type="spawn" x="96" y="160" width="128" height="32">
|
||||
<properties>
|
||||
<property name="spawngroup" value="stoutford_lich"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys">
|
||||
<object name="rumblings:50" type="key" x="128" y="352" width="32" height="32">
|
||||
<properties>
|
||||
<property name="phrase" value="stoutford_cellar_locked_key"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="15" height="15"/>
|
||||
<objectgroup name="Keys" width="15" height="15"/>
|
||||
</map>
|
||||
|
||||
@@ -150,26 +150,10 @@
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn">
|
||||
<object name="tahalendor" type="spawn" x="352" y="128" width="64" height="64">
|
||||
<properties>
|
||||
<property name="spawngroup" value="tahalendor"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="stoutford_worshiper" type="spawn" x="224" y="224" width="160" height="192">
|
||||
<properties>
|
||||
<property name="spawngroup" value="stoutford_worshiper"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="stoutford_worshiper_1" type="spawn" x="384" y="224" width="160" height="192">
|
||||
<properties>
|
||||
<property name="spawngroup" value="stoutford_worshiper"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="yolgen" type="spawn" x="64" y="320" width="64" height="64">
|
||||
<properties>
|
||||
<property name="spawngroup" value="yolgen"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="tahalendor" type="spawn" x="352" y="128" width="64" height="64"/>
|
||||
<object name="stoutford_worshiper" type="spawn" x="224" y="224" width="160" height="192"/>
|
||||
<object name="stoutford_worshiper" type="spawn" x="384" y="224" width="160" height="192"/>
|
||||
<object name="yolgen" type="spawn" x="64" y="320" width="64" height="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE map SYSTEM "http://mapeditor.org/dtd/1.0/map.dtd">
|
||||
<map version="1.0" orientation="orthogonal" width="11" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="map_bed_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_bed_1.png" width="512" height="256"/>
|
||||
@@ -197,7 +198,7 @@
|
||||
eJzbKMbAsHEQYBggVT06IEY9Nj4+tcS6B5s4AK4cNms=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="11" height="8">
|
||||
<objectgroup name="Mapevents">
|
||||
<object name="entrance" type="mapchange" x="160" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="stoutford_nw"/>
|
||||
@@ -205,6 +206,8 @@
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="11" height="8"/>
|
||||
<objectgroup name="Keys" width="11" height="8"/>
|
||||
<objectgroup name="Spawn">
|
||||
<object name="kayla" type="spawn" x="32" y="96" width="288" height="96"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE map SYSTEM "http://mapeditor.org/dtd/1.0/map.dtd">
|
||||
<map version="1.0" orientation="orthogonal" width="8" height="8" tilewidth="32" tileheight="32">
|
||||
<tileset firstgid="1" name="map_bed_1" tilewidth="32" tileheight="32">
|
||||
<image source="../drawable/map_bed_1.png" width="512" height="256"/>
|
||||
@@ -140,7 +141,7 @@
|
||||
eJxzFWBgcKUTBgFc4ugAn15satDliXUHAGODEUU=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="8" height="8">
|
||||
<objectgroup name="Mapevents">
|
||||
<object name="entrance" type="mapchange" x="160" y="224" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="stoutford_ne"/>
|
||||
@@ -148,12 +149,8 @@
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="8" height="8">
|
||||
<object name="stoutford_farmer1" type="spawn" x="32" y="96" width="192" height="128">
|
||||
<properties>
|
||||
<property name="respawn" value="false"/>
|
||||
</properties>
|
||||
</object>
|
||||
<objectgroup name="Spawn">
|
||||
<object name="stoutford_farmer_jan" type="spawn" x="32" y="96" width="192" height="128"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="8" height="8"/>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE map SYSTEM "http://mapeditor.org/dtd/1.0/map.dtd">
|
||||
<map version="1.0" orientation="orthogonal" width="20" height="20" tilewidth="32" tileheight="32">
|
||||
<properties>
|
||||
<property name="outdoors" value="1"/>
|
||||
@@ -143,7 +144,7 @@
|
||||
eJxzFWBgcB2hGASwsUk1AxlgE0OWI9U8fIAYf5FiJ7HhRMh8dHl8fGLNIzYsSDGP3PilJO0gm0OMfyiNO3Ldh89dtDIP3Vxs9mDTS4x5uMKJWPcRUkMN8wZbfBCDAY7mVQE=
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" width="20" height="20">
|
||||
<objectgroup name="Mapevents">
|
||||
<object name="west" type="mapchange" x="0" y="128" width="32" height="64">
|
||||
<properties>
|
||||
<property name="map" value="stoutford_gate"/>
|
||||
@@ -187,9 +188,9 @@
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" width="20" height="20">
|
||||
<object name="stoutford_farmer1" type="spawn" x="64" y="416" width="160" height="160"/>
|
||||
<objectgroup name="Spawn">
|
||||
<object name="stoutford_farmer_jen" type="spawn" x="64" y="416" width="160" height="160"/>
|
||||
<object name="stoutford_commoner2" type="spawn" x="96" y="128" width="224" height="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" width="20" height="20"/>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
|
||||
@@ -148,23 +148,49 @@
|
||||
<property name="place" value="tavern"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="rest" type="rest" x="32" y="128" width="32" height="32"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn">
|
||||
<object name="stoutford_thief" type="spawn" x="192" y="96" width="32" height="32"/>
|
||||
<object name="stoutford_cook" type="spawn" x="480" y="128" width="64" height="160"/>
|
||||
<object name="stoutford_thief" type="spawn" x="192" y="96" width="32" height="32">
|
||||
<properties>
|
||||
<property name="spawngroup" value="stoutford_thief"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="stoutford_cook" type="spawn" x="480" y="128" width="64" height="160">
|
||||
<properties>
|
||||
<property name="spawngroup" value="stoutford_cook"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="stoutford_drinkers" type="spawn" x="192" y="128" width="224" height="192">
|
||||
<properties>
|
||||
<property name="quantity" value="4"/>
|
||||
<property name="spawngroup" value="stoutford_drinkers"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="stoutford_innkeeper" type="spawn" x="128" y="192" width="64" height="64">
|
||||
<properties>
|
||||
<property name="spawngroup" value="stoutford_innkeeper"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object name="stoutford_innkeeper" type="spawn" x="128" y="192" width="64" height="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys">
|
||||
<object name="nondisplay:22" type="key" x="0" y="96" width="64" height="64">
|
||||
<object name="rumblings:30" type="key" x="0" y="96" width="64" height="64">
|
||||
<properties>
|
||||
<property name="phrase" value="stoutford_bed_locked"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Inactive">
|
||||
<properties>
|
||||
<property name="active" value="false"/>
|
||||
</properties>
|
||||
<object name="rest" type="rest" x="32" y="128" width="32" height="32"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Active">
|
||||
<object name="send_to_lich" type="mapchange" x="32" y="128" width="32" height="32">
|
||||
<properties>
|
||||
<property name="map" value="stoutford_cellar2"/>
|
||||
<property name="place" value="prison"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
|
||||
@@ -18,9 +18,9 @@ public final class AndorsTrailApplication extends Application {
|
||||
public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false;
|
||||
public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false;
|
||||
public static final boolean DEVELOPMENT_DEBUGBUTTONS = true;
|
||||
public static final boolean DEVELOPMENT_FASTSPEED = false;
|
||||
public static final boolean DEVELOPMENT_FASTSPEED = true;
|
||||
public static final boolean DEVELOPMENT_VALIDATEDATA = true;
|
||||
public static final boolean DEVELOPMENT_DEBUGMESSAGES = false;
|
||||
public static final boolean DEVELOPMENT_DEBUGMESSAGES = true;
|
||||
public static final boolean DEVELOPMENT_INCOMPATIBLE_SAVEGAMES = DEVELOPMENT_DEBUGRESOURCES || DEVELOPMENT_DEBUGBUTTONS || DEVELOPMENT_FASTSPEED;
|
||||
public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? 999 : 43;
|
||||
public static final String CURRENT_VERSION_DISPLAY = "0.7.2dev";
|
||||
|
||||
@@ -146,10 +146,10 @@ public final class ConversationController {
|
||||
}
|
||||
}
|
||||
|
||||
private void deactivateSpawnArea(String mapName, String monsterTypeSpawnGroup, boolean removeAllMonsters) {
|
||||
private void deactivateSpawnArea(String mapName, String areaID, boolean removeAllMonsters) {
|
||||
PredefinedMap map = findMapForScriptEffect(mapName);
|
||||
for (MonsterSpawnArea area : map.spawnAreas) {
|
||||
if (!area.areaID.equals(monsterTypeSpawnGroup)) continue;
|
||||
if (!area.areaID.equals(areaID)) continue;
|
||||
controllers.monsterSpawnController.deactivateSpawnArea(area, removeAllMonsters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,9 @@ public final class MapController {
|
||||
continue;
|
||||
case whenEntering:
|
||||
// Do not trigger event if the player already was on the same MapObject before.
|
||||
if (mapObject.position.contains(lastPosition)) return;
|
||||
if (mapObject.position.contains(lastPosition)) continue;
|
||||
break;
|
||||
case onEveryStep:
|
||||
break;
|
||||
}
|
||||
handleMapEvent(mapObject, newPosition);
|
||||
|
||||
@@ -55,6 +55,7 @@ public final class PredefinedMap {
|
||||
this.spawnAreas = spawnAreas;
|
||||
this.initiallyActiveMapObjectGroups = initiallyActiveMapObjectGroups;
|
||||
this.activeMapObjectGroups = new LinkedList<String>();
|
||||
this.activeMapObjectGroups.addAll(this.initiallyActiveMapObjectGroups);
|
||||
assert(size.width > 0);
|
||||
assert(size.height > 0);
|
||||
this.isOutdoors = isOutdoors;
|
||||
@@ -91,7 +92,7 @@ public final class PredefinedMap {
|
||||
for (MapObject o : eventObjects) {
|
||||
if (!o.isActive) continue;
|
||||
if (!o.position.contains(p)) continue;
|
||||
if (!activeMapObjectGroups.contains(o.group)) continue;
|
||||
//if (!activeMapObjectGroups.contains(o.group)) continue;
|
||||
if (result == null) result = new ArrayList<MapObject>();
|
||||
result.add(o);
|
||||
}
|
||||
@@ -208,6 +209,9 @@ public final class PredefinedMap {
|
||||
private void activateMapObjects() {
|
||||
if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) {
|
||||
L.log("Applying active status to all map objects in map "+name);
|
||||
if (name.equalsIgnoreCase("home")) {
|
||||
L.log("Home active");
|
||||
}
|
||||
}
|
||||
for (MapObject o : eventObjects) {
|
||||
o.isActive = activeMapObjectGroups.contains(o.group);
|
||||
|
||||
@@ -160,6 +160,18 @@ public final class TMXMapTranslator {
|
||||
L.log("OPTIMIZE: Map " + m.name + ", key " + object.name + "@" + topLeft.toString() + " has unrecognized property \"" + p.name + "\".");
|
||||
}
|
||||
}
|
||||
if (requireId == null && object.name != null) {
|
||||
String[] fields = object.name.split(":");
|
||||
if (fields.length == 2) {
|
||||
requireType = Requirement.RequirementType.questProgress;
|
||||
requireValue = Integer.parseInt(fields[1]);
|
||||
requireId = fields[0];
|
||||
} else if (fields.length == 3) {
|
||||
requireValue = Integer.parseInt(fields[2]);
|
||||
requireType = Requirement.RequirementType.valueOf(fields[0]);
|
||||
requireId = fields[1];
|
||||
}
|
||||
}
|
||||
mapObjects.add(MapObject.createKeyArea(position, phraseID, new Requirement(requireType, requireId, requireValue, requireNegation), group.name));
|
||||
} else if (object.type.equals("rest")) {
|
||||
mapObjects.add(MapObject.createRestArea(position, object.name, group.name));
|
||||
|
||||
Reference in New Issue
Block a user