mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-02-23 15:38:29 +01:00
Added "alignmentSet" reward type for dialogues.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -8,6 +8,7 @@ public final class ScriptEffect {
|
||||
, actorCondition
|
||||
, actorConditionImmunity
|
||||
, alignmentChange
|
||||
, alignmentSet
|
||||
, giveItem
|
||||
, createTimer
|
||||
, spawnAll
|
||||
|
||||
Reference in New Issue
Block a user