Added "alignmentSet" reward type for dialogues.

This commit is contained in:
Zukero
2018-02-10 14:32:36 +01:00
parent 0a04b516dd
commit 193048cb8f
3 changed files with 12 additions and 0 deletions

View File

@@ -94,6 +94,9 @@ public final class ConversationController {
case alignmentChange:
addAlignmentReward(player, effect.effectID, effect.value);
break;
case alignmentSet:
setAlignmentReward(player, effect.effectID, effect.value);
break;
case giveItem:
addItemReward(effect.effectID, effect.value, result);
break;
@@ -172,6 +175,11 @@ public final class ConversationController {
MovementController.refreshMonsterAggressiveness(world.model.currentMap, world.model.player);
}
private void setAlignmentReward(Player player, String faction, int delta) {
player.setAlignment(faction, delta);
MovementController.refreshMonsterAggressiveness(world.model.currentMap, world.model.player);
}
private void addQuestProgressReward(Player player, String questID, int questProgress, ScriptEffectResult result) {
QuestProgress progress = new QuestProgress(questID, questProgress);
boolean added = player.addQuestProgress(progress);

View File

@@ -203,6 +203,9 @@ public final class Player extends Actor {
if (v == null) return 0;
return v;
}
public void setAlignment(String faction, int newValue) {
alignments.put(faction, newValue);
}
public void addAlignment(String faction, int delta) {
int newValue = getAlignment(faction) + delta;
alignments.put(faction, newValue);

View File

@@ -8,6 +8,7 @@ public final class ScriptEffect {
, actorCondition
, actorConditionImmunity
, alignmentChange
, alignmentSet
, giveItem
, createTimer
, spawnAll