use of com.lilithsthrone.game.character.attributes.AffectionLevel in project liliths-throne-public by Innoxia.
the class SlaveryManagementDialogue method getSlaveInformationHeader.
private static String getSlaveInformationHeader(NPC character) {
headerSB.setLength(0);
AffectionLevel affection = AffectionLevel.getAffectionLevelFromValue(character.getAffection(Main.game.getPlayer()));
ObedienceLevel obedience = ObedienceLevel.getObedienceLevelFromValue(character.getObedienceValue());
float affectionChange = character.getDailyAffectionChange();
float obedienceChange = character.getDailyObedienceChange();
headerSB.append("<div class='container-full-width' style='text-align:center;'>" + // Core naming information:
"<div class='container-full-width' style='margin-bottom:0;'>" + "<div style='width:50%; float:left; font-weight:bold; margin:0; padding:0;'>" + "Slave's Name" + "</div>" + "<div style='width:50%; float:left; font-weight:bold; margin:0; padding:0;'>" + UtilText.parse(character, "What [npc.she] calls you") + "</div>" + "</div>" + "<div class='container-full-width inner' style='padding:8px;'>" + "<div style='width:49%; float:left; font-weight:bold; margin:0 1% 0 0; padding:0;'>" + "<form style='float:left; width:90%; margin:0; padding:0;'><input type='text' id='slaveNameInput' value='" + Util.formatForHTML(character.getName()) + "' style='width:100%; margin:0; padding:0;'></form>" + "<div class='SM-button' id='" + character.getId() + "_RENAME' style='float:left; width:9%; height:28px; line-height:28px; margin:0 0 0 1%; padding:0;'>" + "✓" + "</div>" + "</div>" + "<div style='width:49%; float:left; font-weight:bold; margin:0 0 0 1%; padding:0;'>" + "<form style='float:left; width:50%; margin:0; padding:0;'><input type='text' id='slaveToPlayerNameInput' value='" + Util.formatForHTML(character.getPlayerPetName()) + "' style='width:100%; margin:0; padding:0;'></form>" + "<div class='SM-button' id='" + character.getId() + "_CALLS_PLAYER' style='float:left; width:9%; height:28px; line-height:28px; margin:0 0 0 1%; padding:0;'>" + "✓" + "</div>" + " <div class='SM-button' id='GLOBAL_CALLS_PLAYER' style='float:left; width:39%; height:28px; line-height:28px; margin:0 0 0 1%; padding:0;'>" + "All Slaves" + "</div>" + "</div>" + // Extra core information:
"<div class='container-full-width' style='margin-bottom:0;'>" + "<div style='width:25%; float:left; font-weight:bold; margin:0; padding:0;'>" + "Location" + "</div>" + "<div style='float:left; width:15%; font-weight:bold; margin:0; padding:0;'>" + "<b style='color:" + Colour.AFFECTION.toWebHexString() + ";'>Affection</b>" + "</div>" + "<div style='float:left; width:15%; font-weight:bold; margin:0; padding:0;'>" + "<b style='color:" + Colour.OBEDIENCE.toWebHexString() + ";'>Obedience</b>" + "</div>" + "<div style='float:left; width:15%; font-weight:bold; margin:0; padding:0;'>" + "<b>Job</b>" + "</div>" + "<div style='float:left; width:15%; font-weight:bold; margin:0; padding:0;'>" + "<b style='color:" + Colour.CURRENCY_GOLD.toWebHexString() + ";'>Income</b>" + "</div>" + "<div style='width:15%; float:left; font-weight:bold; margin:0; padding:0;'>" + "Value" + "</div>" + "</div>" + "<div class='container-full-width inner'>" + "<div style='width:25%; float:left; margin:0; padding:0;'>" + "<b style='color:" + character.getLocationPlace().getColour().toWebHexString() + ";'>" + character.getLocationPlace().getName() + "</b>" + ",</br>" + "<span style='color:" + character.getWorldLocation().getColour().toWebHexString() + ";'>" + character.getWorldLocation().getName() + "</span>" + "</div>" + "<div style='float:left; width:15%; margin:0; padding:0;'>" + "<b style='color:" + affection.getColour().toWebHexString() + ";'>" + character.getAffection(Main.game.getPlayer()) + // TODO
"</b>" + "</br><span style='color:" + (affectionChange == 0 ? Colour.BASE_GREY : (affectionChange > 0 ? Colour.GENERIC_GOOD : Colour.GENERIC_BAD)).toWebHexString() + ";'>" + (affectionChange > 0 ? "+" : "") + decimalFormat.format(affectionChange) + "</span>/day" + "</br>" + "<span style='color:" + affection.getColour().toWebHexString() + ";'>" + Util.capitaliseSentence(affection.getName()) + "</span>" + "</div>" + "<div style='float:left; width:15%; margin:0; padding:0;'>" + "<b style='color:" + obedience.getColour().toWebHexString() + ";'>" + character.getObedienceValue() + "</b>" + "</br><span style='color:" + (obedienceChange == 0 ? Colour.BASE_GREY : (obedienceChange > 0 ? Colour.GENERIC_GOOD : Colour.GENERIC_BAD)).toWebHexString() + ";'>" + (obedienceChange > 0 ? "+" : "") + decimalFormat.format(obedienceChange) + "</span>/day" + "</br>" + "<span style='color:" + obedience.getColour().toWebHexString() + ";'>" + Util.capitaliseSentence(obedience.getName()) + "</span>" + "</div>" + "<div style='float:left; width:15%; margin:0; padding:0;'>" + Util.capitaliseSentence(character.getSlaveJob().getName(character)));
for (SlaveJobSetting setting : character.getSlaveJobSettings()) {
headerSB.append("</br><span style='color:" + setting.getColour().toWebHexString() + ";'>" + setting.getTag() + "</span>");
}
headerSB.append("</div>" + "<div style='float:left; width:15%; margin:0; padding:0;'>" + UtilText.formatAsMoney(character.getSlaveJob().getFinalDailyIncomeAfterModifiers(character)) + "/day" + "</div>" + "<div style='float:left; width:15%; margin:0; padding:0;'>" + UtilText.formatAsMoney(character.getValueAsSlave()) + "</div>" + "</div>" + "<div class='container-full-width inner'>" + "<b style='color:" + Colour.GENERIC_ARCANE.toWebHexString() + ";'>Permissions:</b></br>");
int permissionCount = 0;
for (SlavePermission permission : SlavePermission.values()) {
for (SlavePermissionSetting setting : permission.getSettings()) {
if (character.getSlavePermissionSettings().get(permission).contains(setting)) {
headerSB.append((permissionCount == 0 ? "" : ", ") + "<span style='color:" + permission.getColour().toWebHexString() + ";'>" + setting.getName() + "</span>");
permissionCount++;
}
}
}
headerSB.append(".</div>" + "</div>" + "</div>");
return headerSB.toString();
}
Aggregations