mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2025-12-26 16:07:57 +01:00
simple calculations with factionScores
This commit is contained in:
@@ -48,6 +48,7 @@ public final class Constants {
|
||||
public static final String FILENAME_WORLDMAP_HTMLFILE_SUFFIX = ".html";
|
||||
public static final String FILENAME_SAVEGAME_FILENAME_PREFIX = "savegame";
|
||||
public static final String PLACEHOLDER_PLAYERNAME = "$playername";
|
||||
public static final String PLACEHOLDER_AKKU = "$akku";
|
||||
public static final String CHEAT_DETECTION_FOLDER = "dEAGyGE3YojqXjI3x4x7";
|
||||
public static final String PASSIVE_ACHIEVEMENT_CHECK_PHRASE = "passive_achievement_check";
|
||||
|
||||
|
||||
@@ -100,6 +100,24 @@ public final class ConversationController {
|
||||
case alignmentSet:
|
||||
setAlignmentReward(player, effect.effectID, effect.value);
|
||||
break;
|
||||
case alignmentToAkku:
|
||||
toAkkuAlignmentReward(player, effect.effectID);
|
||||
break;
|
||||
case alignmentFromAkku:
|
||||
fromAkkuAlignmentReward(player, effect.effectID);
|
||||
break;
|
||||
case alignmentAdd:
|
||||
addAlignmentReward(player, effect.effectID);
|
||||
break;
|
||||
case alignmentSub:
|
||||
subAlignmentReward(player, effect.effectID);
|
||||
break;
|
||||
case alignmentDiv:
|
||||
divAlignmentReward(player, effect.effectID, effect.value);
|
||||
break;
|
||||
case alignmentMult:
|
||||
multAlignmentReward(player, effect.effectID, effect.value);
|
||||
break;
|
||||
case giveItem:
|
||||
addItemReward(effect.effectID, effect.value, result);
|
||||
break;
|
||||
@@ -195,6 +213,42 @@ public final class ConversationController {
|
||||
MovementController.refreshMonsterAggressiveness(world.model.currentMaps.map, world.model.player);
|
||||
}
|
||||
|
||||
private void toAkkuAlignmentReward(Player player, String faction) {
|
||||
Integer i = player.getAlignment(faction);
|
||||
player.setAlignment("Akku", i);
|
||||
}
|
||||
|
||||
private void fromAkkuAlignmentReward(Player player, String faction) {
|
||||
Integer i = player.getAlignment("Akku");
|
||||
player.setAlignment(faction, i);
|
||||
MovementController.refreshMonsterAggressiveness(world.model.currentMaps.map, world.model.player);
|
||||
}
|
||||
|
||||
private void addAlignmentReward(Player player, String faction) {
|
||||
Integer i = player.getAlignment(faction);
|
||||
player.addAlignment("Akku", i);
|
||||
}
|
||||
|
||||
private void subAlignmentReward(Player player, String faction) {
|
||||
Integer i = -1 * player.getAlignment(faction);
|
||||
player.addAlignment("Akku", i);
|
||||
}
|
||||
|
||||
private void divAlignmentReward(Player player, String faction, int delta ) {
|
||||
Integer m, i1, i2;
|
||||
if (delta == 0) { m = 1; } else { m = delta; }
|
||||
i1 = player.getAlignment(faction) * m;
|
||||
i2 = player.getAlignment("Akku");
|
||||
player.setAlignment("Akku", i1 % i2 );
|
||||
}
|
||||
|
||||
private void multAlignmentReward(Player player, String faction, int delta ) {
|
||||
Integer m, i;
|
||||
if (delta == 0) { m = player.getAlignment("Akku"); } else { m = delta; }
|
||||
i = player.getAlignment(faction) * m;
|
||||
player.setAlignment("Akku", i );
|
||||
}
|
||||
|
||||
private void addQuestProgressReward(Player player, String questID, int questProgress, ScriptEffectResult result) {
|
||||
QuestProgress progress = new QuestProgress(questID, questProgress);
|
||||
boolean added = player.addQuestProgress(progress);
|
||||
@@ -372,7 +426,8 @@ public final class ConversationController {
|
||||
private static String getDisplayMessage(Phrase phrase, Player player) { return replacePlayerName(phrase.message, player); }
|
||||
private static String getDisplayMessage(Reply reply, Player player) { return replacePlayerName(reply.text, player); }
|
||||
private static String replacePlayerName(String s, Player player) {
|
||||
return s.replace(Constants.PLACEHOLDER_PLAYERNAME, player.getName());
|
||||
return s.replace(Constants.PLACEHOLDER_PLAYERNAME, player.getName())
|
||||
.replace(Constants.PLACEHOLDER_AKKU, String.valueOf(player.getAlignment("akku")));
|
||||
}
|
||||
|
||||
public static final class ConversationStatemachine {
|
||||
|
||||
@@ -9,6 +9,12 @@ public final class ScriptEffect {
|
||||
, actorConditionImmunity
|
||||
, alignmentChange
|
||||
, alignmentSet
|
||||
, alignmentToAkku
|
||||
, alignmentFromAkku
|
||||
, alignmentAdd
|
||||
, alignmentSub
|
||||
, alignmentMult
|
||||
, alignmentDiv
|
||||
, giveItem
|
||||
, createTimer
|
||||
, spawnAll
|
||||
|
||||
Reference in New Issue
Block a user