use of com.lilithsthrone.game.dialogue.responses.Response in project liliths-throne-public by Innoxia.
the class Main method deleteGame.
public static void deleteGame(String name) {
File file = new File("data/saves/" + name + ".xml");
if (file.exists()) {
try {
file.delete();
Main.game.setContent(new Response("", "", Main.game.getCurrentDialogueNode()));
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
Main.game.flashMessage(Colour.GENERIC_BAD, "File not found...");
}
}
use of com.lilithsthrone.game.dialogue.responses.Response in project liliths-throne-public by Innoxia.
the class Main method deleteExportedGame.
public static void deleteExportedGame(String name) {
File file = new File("data/saves/" + name + ".xml");
if (file.exists()) {
try {
file.delete();
Main.game.setContent(new Response("", "", Main.game.getCurrentDialogueNode()));
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
Main.game.flashMessage(Colour.GENERIC_BAD, "File not found...");
}
}
use of com.lilithsthrone.game.dialogue.responses.Response in project liliths-throne-public by Innoxia.
the class RoomPlayer method getResponseRoom.
private static Response getResponseRoom(int index) {
int minutesPassed = (int) (Main.game.getMinutesPassed() % (24 * 60));
sleepTimer = (Main.game.isDayTime() ? (int) ((60 * 21) - minutesPassed) : (int) ((60 * (minutesPassed < (60 * 7) ? 7 : 31)) - minutesPassed));
if (index == 1) {
return new Response("Rest", "Rest for four hours. As well as replenishing your energy and aura, you will also get the 'Well Rested' status effect.", AUNT_HOME_PLAYERS_ROOM_SLEEP) {
@Override
public void effects() {
Main.game.getPlayer().setHealth(Main.game.getPlayer().getAttributeValue(Attribute.HEALTH_MAXIMUM));
Main.game.getPlayer().setMana(Main.game.getPlayer().getAttributeValue(Attribute.MANA_MAXIMUM));
Main.game.getPlayer().setLust(0);
if (Main.game.getPlayer().hasTrait(Perk.JOB_UNEMPLOYED, true)) {
Main.game.getPlayer().addStatusEffect(StatusEffect.WELL_RESTED_BOOSTED, (8 * 60) + 240);
} else {
Main.game.getPlayer().addStatusEffect(StatusEffect.WELL_RESTED, (6 * 60) + 240);
}
}
};
} else if (index == 2) {
return new Response("Rest until " + (Main.game.isDayTime() ? "Evening" : "Morning"), "Rest for " + (sleepTimer >= 60 ? sleepTimer / 60 + " hours " : " ") + (sleepTimer % 60 != 0 ? sleepTimer % 60 + " minutes" : "") + " until " + (Main.game.isDayTime() ? "evening (21:00)." : "morning (07:00).") + " As well as replenishing your energy and aura, you will also get the 'Well Rested' status effect.", AUNT_HOME_PLAYERS_ROOM_SLEEP_LONG) {
@Override
public void effects() {
Main.game.getPlayer().setHealth(Main.game.getPlayer().getAttributeValue(Attribute.HEALTH_MAXIMUM));
Main.game.getPlayer().setMana(Main.game.getPlayer().getAttributeValue(Attribute.MANA_MAXIMUM));
Main.game.getPlayer().setLust(0);
if (Main.game.getPlayer().hasTrait(Perk.JOB_UNEMPLOYED, true)) {
Main.game.getPlayer().addStatusEffect(StatusEffect.WELL_RESTED_BOOSTED, (8 * 60) + sleepTimer);
} else {
Main.game.getPlayer().addStatusEffect(StatusEffect.WELL_RESTED, (6 * 60) + sleepTimer);
}
}
};
} else if (index == 3) {
return new Response("Wash", "Use your room's en-suite to take a bath or shower. Rose will come and clean your clothes while you wash yourself.", AUNT_HOME_PLAYERS_ROOM_WASH) {
@Override
public void effects() {
Main.game.getPlayer().setHealth(Main.game.getPlayer().getAttributeValue(Attribute.HEALTH_MAXIMUM));
Main.game.getPlayer().setMana(Main.game.getPlayer().getAttributeValue(Attribute.MANA_MAXIMUM));
Set<OrificeType> dirtyOrifices = new HashSet<>();
for (Entry<OrificeType, Integer> entry : Main.game.getPlayer().getCummedInAreaMap().entrySet()) {
if (entry.getValue() > 0) {
dirtyOrifices.add(entry.getKey());
}
}
Main.game.getPlayer().washAllOrifices();
Main.game.getPlayer().calculateStatusEffects(0);
Main.game.getPlayer().cleanAllDirtySlots();
Main.game.getPlayer().cleanAllClothing();
for (OrificeType orifice : OrificeType.values()) {
if (dirtyOrifices.contains(orifice)) {
switch(orifice) {
case ANUS:
if (Main.game.getPlayer().getCummedInAreaMap().get(orifice) > 0) {
Main.game.getTextEndStringBuilder().append(formatWashingArea(false, "You wash as much of the cum out of your [pc.asshole] as you can, but there's so much in there that you're unable to fully clean it all out!"));
} else {
Main.game.getTextEndStringBuilder().append(formatWashingArea(true, "You wash all of the cum out of your [pc.asshole]."));
}
break;
case ASS:
if (Main.game.getPlayer().getCummedInAreaMap().get(orifice) > 0) {
Main.game.getTextEndStringBuilder().append(formatWashingArea(false, "You wash as much of the cum off of your [pc.ass] as you can, but there's so much that's covering it, that you're unable to fully clean yourself!"));
} else {
Main.game.getTextEndStringBuilder().append(formatWashingArea(true, "You wash all of the cum off of your [pc.ass]."));
}
break;
case BREAST:
if (Main.game.getPlayer().getCummedInAreaMap().get(orifice) > 0) {
Main.game.getTextEndStringBuilder().append(formatWashingArea(false, "You wash as much of the cum off of your [pc.breasts] as you can, but there's so much that's covering it, that you're unable to fully clean yourself!"));
} else {
Main.game.getTextEndStringBuilder().append(formatWashingArea(true, "You wash all of the cum off of your [pc.breasts]."));
}
break;
case MOUTH:
if (Main.game.getPlayer().getCummedInAreaMap().get(orifice) > 0) {
Main.game.getTextEndStringBuilder().append(formatWashingArea(false, "The shower does nothing to clean the cum out of your stomach!"));
}
break;
case NIPPLE:
if (Main.game.getPlayer().getCummedInAreaMap().get(orifice) > 0) {
Main.game.getTextEndStringBuilder().append(formatWashingArea(false, "You wash as much of the cum out of your [pc.nipples] as you can, but there's so much in there that you're unable to fully clean it all out!"));
} else {
Main.game.getTextEndStringBuilder().append(formatWashingArea(true, "You wash all of the cum out of your [pc.nipples]."));
}
break;
case THIGHS:
if (Main.game.getPlayer().getCummedInAreaMap().get(orifice) > 0) {
Main.game.getTextEndStringBuilder().append(formatWashingArea(false, "You wash as much of the cum off of your [pc.thighs] as you can, but there's so much that's covering it, that you're unable to fully clean yourself!"));
} else {
Main.game.getTextEndStringBuilder().append(formatWashingArea(true, "You wash all of the cum off of your [pc.thighs]."));
}
break;
case URETHRA:
if (Main.game.getPlayer().getCummedInAreaMap().get(orifice) > 0) {
Main.game.getTextEndStringBuilder().append(formatWashingArea(false, "You wash as much of the cum out of your urethra as you can, but there's so much in there that you're unable to fully clean it all out!"));
} else {
Main.game.getTextEndStringBuilder().append(formatWashingArea(true, "You wash all of the cum out of your urethra."));
}
break;
case VAGINA:
if (Main.game.getPlayer().getCummedInAreaMap().get(orifice) > 0) {
Main.game.getTextEndStringBuilder().append(formatWashingArea(false, "You wash as much of the cum out of your [pc.pussy] as you can, but there's so much in there that you're unable to fully clean it all out!"));
} else {
Main.game.getTextEndStringBuilder().append(formatWashingArea(true, "You wash all of the cum out of your [pc.pussy]."));
}
break;
}
}
}
Main.game.getTextEndStringBuilder().append("<p>" + "<b style='color:" + Colour.GENERIC_GOOD.toWebHexString() + ";'>Your clothes have been cleaned, and you feel refreshed!</b>" + "</p>");
}
};
} else if (index == 4) {
if (Main.game.getDialogueFlags().values.contains(DialogueFlagValue.knowsDate)) {
return new Response("Calendar", "Take another look at the enchanted calendar that's pinned up on one wall.", AUNT_HOME_PLAYERS_ROOM_CALENDAR);
} else {
return new Response("<span style='color:" + Colour.GENERIC_EXCELLENT.toWebHexString() + ";'>Calendar</span>", "There's a calendar pinned up on one wall. Take a closer look at it.", AUNT_HOME_PLAYERS_ROOM_CALENDAR);
}
} else if (index == 6) {
return new ResponseEffectsOnly("Entrance hall", "Fast travel down to the entrance hall.") {
@Override
public void effects() {
Main.game.setActiveWorld(Main.game.getWorlds().get(WorldType.LILAYAS_HOUSE_GROUND_FLOOR), PlaceType.LILAYA_HOME_ENTRANCE_HALL, true);
}
};
} else if (index == 7) {
return new ResponseEffectsOnly("Lilaya's Lab", "Fast travel down to Lilaya's laboratory.") {
@Override
public void effects() {
Main.game.setActiveWorld(Main.game.getWorlds().get(WorldType.LILAYAS_HOUSE_GROUND_FLOOR), PlaceType.LILAYA_HOME_LAB, true);
}
};
} else {
return null;
}
}
use of com.lilithsthrone.game.dialogue.responses.Response in project liliths-throne-public by Innoxia.
the class Main method deleteExportedCharacter.
public static void deleteExportedCharacter(String name) {
File file = new File("data/characters/" + name + ".xml");
if (file.exists()) {
try {
file.delete();
Main.game.setContent(new Response("", "", Main.game.getCurrentDialogueNode()));
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
Main.game.flashMessage(Colour.GENERIC_BAD, "File not found...");
}
}
use of com.lilithsthrone.game.dialogue.responses.Response in project liliths-throne-public by Innoxia.
the class Main method start.
@Override
public void start(Stage primaryStage) throws Exception {
credits.add(new CreditsSlot("Anonymous", "", 0, 6, 111 + 61, 37 + 18));
credits.add(new CreditsSlot("fun_bot", "", 0, 0, 0, 3));
credits.add(new CreditsSlot("Garth614", "", 0, 0, 0, 4));
credits.add(new CreditsSlot("Dan", "", 0, 1, 0, 4));
credits.add(new CreditsSlot("Ash", "", 0, 1, 0, 4));
credits.add(new CreditsSlot("masterpuppet", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("WodashGSJ", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("vasadariu", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("Casper "Cdaser" D.", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("Cryostorm", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("BLKCandy", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("Testostetyrone", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("Brandon Stach", "", 0, 0, 2, 0));
credits.add(new CreditsSlot("CMPirate9867", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("Zakarin", "", 0, 0, 0, 3));
credits.add(new CreditsSlot("Demonicgamer666", "", 0, 0, 0, 3));
credits.add(new CreditsSlot("Endness", "", 0, 0, 0, 2));
credits.add(new CreditsSlot("FidelPinochetov", "", 0, 0, 0, 3));
credits.add(new CreditsSlot("Aleskah", "", 0, 0, 0, 1));
credits.add(new CreditsSlot("The Void Prince", "", 0, 0, 3, 0));
credits.add(new CreditsSlot("Nnxx", "", 0, 1, 2, 0));
credits.add(new CreditsSlot("Eushully", "", 0, 0, 0, 2));
credits.add(new CreditsSlot("Avandemine", "", 0, 0, 1, 0));
credits.add(new CreditsSlot("ilderon", "", 0, 0, 3, 0));
credits.add(new CreditsSlot("Helyriel", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("F. Rowan", "", 0, 0, 1, 0));
credits.add(new CreditsSlot("Desgax", "", 0, 0, 2, 0));
credits.add(new CreditsSlot("Archan9el S117", "", 0, 0, 0, 1));
credits.add(new CreditsSlot("FreakyHydra", "", 0, 0, 0, 1));
credits.add(new CreditsSlot("Reila Oda", "", 0, 0, 0, 1));
credits.add(new CreditsSlot("Blue Kobold", "", 0, 0, 1, 0));
credits.add(new CreditsSlot("KazukiNero", "", 0, 0, 1, 0));
credits.add(new CreditsSlot("Adhana Konker", "", 0, 0, 3, 0));
credits.add(new CreditsSlot("Lexi <3", "", 0, 0, 0, 1));
credits.add(new CreditsSlot("48days", "", 0, 0, 2, 6));
credits.add(new CreditsSlot("Spaghetti Code", "", 0, 0, 2, 0));
credits.add(new CreditsSlot("SchALLieS", "", 0, 0, 0, 7));
credits.add(new CreditsSlot("Argmoe", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("HoneyNutQueerios", "", 0, 0, 5, 0));
credits.add(new CreditsSlot("Arkhan", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Avery", "", 0, 1, 6, 0));
credits.add(new CreditsSlot("b00marrows", "", 0, 1, 5, 0));
credits.add(new CreditsSlot("Baz GoldenClaw", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Runehood66", "", 0, 0, 0, 4));
credits.add(new CreditsSlot("Blackcanine", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Blacktouch", "", 0, 0, 2, 6));
credits.add(new CreditsSlot("Blue999", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("BreakerB", "", 0, 0, 5, 0));
credits.add(new CreditsSlot("BRobort", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("BloodsailXXII", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Burt", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Calrak", "", 0, 0, 0, 7));
credits.add(new CreditsSlot("CelestialNightmare", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Sxythe", "", 0, 0, 0, 2));
credits.add(new CreditsSlot("Lexi the slut", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Vmpireassassin (Chloe)", "", 0, 0, 0, 3));
credits.add(new CreditsSlot("crashtestdummy", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("Crimson", "", 0, 0, 0, 6));
credits.add(new CreditsSlot("Cursed Rena", "", 0, 0, 1, 6));
credits.add(new CreditsSlot("DeadMasterZero", "", 0, 0, 3, 0));
credits.add(new CreditsSlot("Destont", "", 0, 0, 5, 0));
credits.add(new CreditsSlot("Yllarius", "", 0, 0, 2, 0));
credits.add(new CreditsSlot("John Scarlet", "", 0, 0, 0, 1));
credits.add(new CreditsSlot("rinoskin", "", 0, 0, 0, 2));
credits.add(new CreditsSlot("Alatar", "", 0, 0, 0, 2));
credits.add(new CreditsSlot("Elmsdor", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Gr33n B3ans", "", 0, 0, 0, 2));
credits.add(new CreditsSlot("Farseeker", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("pupslut felix", "", 0, 0, 0, 6));
credits.add(new CreditsSlot("Fenrakk101", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("Fiona", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("ForeverFree2MeTaMax", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("Niki Parks", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("Georgio154", "", 0, 0, 1, 6));
credits.add(new CreditsSlot("glocknar", "", 0, 0, 5, 0));
credits.add(new CreditsSlot("Krissy2017", "", 0, 0, 0, 4));
credits.add(new CreditsSlot("Grakcnar", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Hedgehog", "", 0, 0, 0, 5));
credits.add(new CreditsSlot("Bocaj91", "", 0, 0, 0, 6));
credits.add(new CreditsSlot("Krejil", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("suka", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("EnigmaticYoshi", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("HerrKommissar11", "", 0, 0, 1, 4));
credits.add(new CreditsSlot("Kelly999", "", 0, 1, 5, 0));
credits.add(new CreditsSlot("kenshin5491", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("Kestrel", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("Kiroberos", "", 0, 0, 0, 6));
credits.add(new CreditsSlot("Kernog", "", 0, 0, 1, 0));
credits.add(new CreditsSlot("Knight-Lord Xander", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Chris Turpin", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Pallid", "", 0, 0, 0, 5));
credits.add(new CreditsSlot("Mr L", "", 0, 0, 4, 1));
credits.add(new CreditsSlot("loveless", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Vaddex", "", 0, 0, 0, 5));
credits.add(new CreditsSlot("KingofKings", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("waaaghkus", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("Nightmare", "", 0, 0, 0, 5));
credits.add(new CreditsSlot("AlphaOneBravo", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Max Nobody", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Muhaku", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Nick LaBlue", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("Kvernik", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Niko", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("Odd8Ball", "", 0, 0, 0, 7));
credits.add(new CreditsSlot("Party Commissar", "", 0, 0, 4, 2));
credits.add(new CreditsSlot("Rohsie", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("P.", "", 0, 0, 0, 4));
credits.add(new CreditsSlot("Pierre Mura", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Pokys", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("QQQ", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Rakesh", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("Master's dumb bitch", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("redwulfen", "", 0, 0, 0, 7));
credits.add(new CreditsSlot("RogueRandom", "", 0, 0, 5, 0));
credits.add(new CreditsSlot("Horagen81", "", 0, 0, 0, 7));
credits.add(new CreditsSlot("RyubosJ", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("Saladine the Legendary", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("S", "", 0, 0, 1, 7));
credits.add(new CreditsSlot("Shas'O Dal'yth Kauyon Kais Taku", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("Crow Invictus", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("Sheltem", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Sig", "", 0, 0, 4, 0));
credits.add(new CreditsSlot("Silentark", "", 0, 0, 5, 0));
credits.add(new CreditsSlot("Sorter", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Spookermen", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Swift Shot", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("TalonMort", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("Tanall", "", 0, 1, 6, 0));
credits.add(new CreditsSlot("Tanner D.", "", 0, 0, 0, 6));
credits.add(new CreditsSlot("Terrance", "", 0, 0, 3, 0));
credits.add(new CreditsSlot("Jordan Aitken", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("T. Garou", "", 0, 0, 0, 6));
credits.add(new CreditsSlot("Timmybond24", "", 0, 0, 0, 4));
credits.add(new CreditsSlot("Torinir", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("Torsten015", "", 0, 0, 0, 7));
credits.add(new CreditsSlot("TreenVall", "", 0, 0, 3, 0));
credits.add(new CreditsSlot("triangleman", "", 0, 0, 8, 0));
credits.add(new CreditsSlot("Antriad", "", 0, 0, 1, 4));
credits.add(new CreditsSlot("Isidoros", "", 0, 0, 7, 0));
credits.add(new CreditsSlot("Vaelin", "", 0, 0, 4, 3));
credits.add(new CreditsSlot("iloveyouMiaoNiNi", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Whatever", "", 0, 0, 6, 0));
credits.add(new CreditsSlot("William Brown", "", 0, 0, 5, 2));
credits.add(new CreditsSlot("Wolfregis", "", 0, 0, 0, 8));
credits.add(new CreditsSlot("Nelson Adams", "", 0, 0, 8, 0));
credits.sort(Comparator.comparing((CreditsSlot a) -> a.getName().toLowerCase()));
Main.primaryStage = primaryStage;
Main.primaryStage.getIcons().add(WINDOW_IMAGE);
Main.primaryStage.setTitle("Lilith's Throne " + VERSION_NUMBER + " " + VERSION_DESCRIPTION);
FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/lilithsthrone/res/fxml/main.fxml"));
Pane pane = loader.load();
mainScene = new Scene(pane);
if (properties.lightTheme) {
mainScene.getStylesheets().add("/com/lilithsthrone/res/css/stylesheet_light.css");
} else {
mainScene.getStylesheets().add("/com/lilithsthrone/res/css/stylesheet.css");
}
mainController = loader.getController();
Main.primaryStage.setScene(mainScene);
Main.primaryStage.show();
Main.game = new Game();
loader = new FXMLLoader(getClass().getResource("/com/lilithsthrone/res/fxml/main.fxml"));
try {
if (Main.mainScene == null) {
pane = loader.load();
Main.mainController = loader.getController();
Main.mainScene = new Scene(pane);
if (Main.getProperties().lightTheme)
Main.mainScene.getStylesheets().add("/com/lilithsthrone/res/css/stylesheet_light.css");
else
Main.mainScene.getStylesheets().add("/com/lilithsthrone/res/css/stylesheet.css");
}
Main.primaryStage.setScene(Main.mainScene);
} catch (Exception e) {
e.printStackTrace();
}
Main.game.setContent(new Response("", "", OptionsDialogue.MENU));
}
Aggregations