mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-02-23 15:38:29 +01:00
Add requirement type: "hasActorCondition"
* Enables scripts and conversations to choose options based on whether the player has a certain actor condition or not.
This commit is contained in:
@@ -116,7 +116,7 @@ public final class ConversationController {
|
||||
}
|
||||
|
||||
private PredefinedMap findMapForScriptEffect(String mapName) {
|
||||
if (mapName == null || mapName.length() == 0) return world.model.currentMap;
|
||||
if (mapName == null) return world.model.currentMap;
|
||||
return world.maps.findPredefinedMap(mapName);
|
||||
}
|
||||
|
||||
@@ -247,6 +247,9 @@ public final class ConversationController {
|
||||
case consumedBonemeals:
|
||||
result = stats.getNumberOfUsedBonemealPotions() >= requirement.value;
|
||||
break;
|
||||
case hasActorCondition:
|
||||
result = player.hasCondition(requirement.requireID);
|
||||
break;
|
||||
default:
|
||||
result = true;
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ public final class Requirement {
|
||||
,usedItem
|
||||
,spentGold
|
||||
,consumedBonemeals
|
||||
,hasActorCondition
|
||||
}
|
||||
|
||||
public final RequirementType requireType;
|
||||
|
||||
@@ -46,27 +46,27 @@
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='spawnAll' || reward.rewardType=='removeSpawnArea' || reward.rewardType=='deactivateSpawnArea'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="mapName" >Map name:</label>
|
||||
<label for="mapName">Map name:</label>
|
||||
<input type="text" size="30" id="mapName" class="field at-input-id" ng-model="reward.mapName" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID" >Monster spawngroup:</label>
|
||||
<label for="rewardID">Monster spawngroup:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='activateMapChangeArea' || reward.rewardType=='deactivateMapChangeArea'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="mapName" >Map name:</label>
|
||||
<label for="mapName">Map name:</label>
|
||||
<input type="text" size="30" id="mapName" class="field at-input-id" ng-model="reward.mapName" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID" >Area name:</label>
|
||||
<label for="rewardID">Area name:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='questProgress'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID" >Quest ID:</label>
|
||||
<label for="rewardID">Quest ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -76,19 +76,19 @@
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='dropList'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID" >Droplist ID:</label>
|
||||
<label for="rewardID">Droplist ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='skillIncrease'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID" >Skill ID:</label>
|
||||
<label for="rewardID">Skill ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='actorCondition'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID" >Actor Condition ID:</label>
|
||||
<label for="rewardID">Actor Condition ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -98,7 +98,7 @@
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='alignmentChange'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID" >Faction ID:</label>
|
||||
<label for="rewardID">Faction ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -108,7 +108,7 @@
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='giveItem'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID" >Item ID:</label>
|
||||
<label for="rewardID">Item ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -221,14 +221,15 @@
|
||||
<option value="usedItem">Used items (greater or equals)</option>
|
||||
<option value="spentGold">Gold spent (greater or equals)/option>
|
||||
<option value="consumedBonemeals">Bonemeals consumed (greater or equals)</option>
|
||||
<option value="hasActorCondition">Has actor condition</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="filedWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="requirenegation" ng-model="require.negate" />Negate this requirement</label>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='questProgress'">
|
||||
<div ng-show="require.requireType=='questProgress' || require.requireType=='questLatestProgress'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID" >Quest ID:</label>
|
||||
<label for="requireID">Quest ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -236,29 +237,9 @@
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='questLatestProgress'">
|
||||
<div ng-show="require.requireType=='inventoryRemove' || require.requireType=='inventoryKeep' || require.requireType=='usedItem'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID" >Quest ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Stage:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='inventoryRemove'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID" >Item ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Quantity:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='inventoryKeep'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID" >Item ID:</label>
|
||||
<label for="requireID">Item ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -268,7 +249,7 @@
|
||||
</div>
|
||||
<div ng-show="require.requireType=='wear'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID" >Item ID:</label>
|
||||
<label for="requireID">Item ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -278,7 +259,7 @@
|
||||
</div>
|
||||
<div ng-show="require.requireType=='skillLevel'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID" >Skill ID:</label>
|
||||
<label for="requireID">Skill ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -288,7 +269,7 @@
|
||||
</div>
|
||||
<div ng-show="require.requireType=='killedMonster'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID" >Monster ID:</label>
|
||||
<label for="requireID">Monster ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
@@ -306,16 +287,6 @@
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='usedItem'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID" >Item ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Quantity:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='spentGold'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Quantity:</label>
|
||||
@@ -328,6 +299,12 @@
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='hasActorCondition'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID">Actor Condition ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
</div>
|
||||
<button ng-click="removeRequirement(reply, require)" class="btn pull-right" title="Remove requirement"><i class="icon-trash"></i> Remove requirement</button>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user