From fd769a00c411d2bf132bb8cf501576852f947e58 Mon Sep 17 00:00:00 2001 From: klorpa <30924131+klorpa@users.noreply.github.com> Date: Fri, 15 Mar 2019 15:25:27 -0500 Subject: [PATCH] Spaces --- res/txt/places/submission/lyssiethsPalace.xml | 4 +- .../controller/MainController.java | 8 +- .../controller/MainControllerInitMethod.java | 10 +- .../character/body/types/AbstractLegType.java | 2 +- .../submission/TunnelImpsDialogue.java | 2 +- .../dominion/shoppingArcade/RalphsSnacks.java | 2 +- .../impFortress/ImpCitadelDialogue.java | 2 +- .../impFortress/ImpFortressDialogue.java | 4 +- .../game/dialogue/utils/BodyChanging.java | 12 +- .../game/inventory/CharacterInventory.java | 20 +- .../clothing/AbstractClothingType.java | 2 +- .../game/inventory/clothing/ClothingType.java | 2 +- .../inventory/enchanting/ItemEffectType.java | 10 +- src/com/lilithsthrone/res/doc/suggestions.txt | 12 +- src/com/lilithsthrone/res/doc/todo_list.txt | 56 +-- src/com/lilithsthrone/utils/BaseColour.java | 74 +--- src/com/lilithsthrone/utils/Builder.java | 2 +- src/com/lilithsthrone/utils/Color.java | 144 +++---- .../lilithsthrone/utils/ColorListPresets.java | 50 +-- .../utils/InventoryClothingComparator.java | 8 +- .../ReverseClothingZLayerComparator.java | 2 +- src/com/lilithsthrone/utils/SvgUtil.java | 105 +---- src/com/lilithsthrone/utils/Util.java | 28 +- src/com/lilithsthrone/world/Cell.java | 7 +- src/com/lilithsthrone/world/Generation.java | 5 - src/com/lilithsthrone/world/World.java | 38 +- src/com/lilithsthrone/world/WorldType.java | 154 ++++---- .../lilithsthrone/world/places/PlaceType.java | 358 +++++++++--------- .../world/places/PlaceUpgrade.java | 170 ++++----- .../world/places/PopulationDensity.java | 12 +- .../world/places/PopulationType.java | 14 +- 31 files changed, 569 insertions(+), 750 deletions(-) diff --git a/res/txt/places/submission/lyssiethsPalace.xml b/res/txt/places/submission/lyssiethsPalace.xml index 69fd47992..aa7a77ba4 100644 --- a/res/txt/places/submission/lyssiethsPalace.xml +++ b/res/txt/places/submission/lyssiethsPalace.xml @@ -1821,7 +1821,7 @@ </p> <p> At that moment, yet another purple flash shines out from Lyssieth's office, and, realizing that your mother has returned from sending Lilaya back to her lab, Meraxis hurries over to her desk and quickly sits down. Seconds later, the now-human voice of Lyssieth calls out over the arcane intercom, [lyssieth.speech(I hope that you're not causing any trouble in there, my dear.)] - </p> + </p> <p> [siren.speech(No, mommy!)] Meraxis replies, [siren.speech(I'm being good!)] </p> @@ -1876,7 +1876,7 @@ </p> <p> At that moment, yet another purple flash shines out from Lyssieth's office, and, realizing that your mother has returned from sending Lilaya back to her lab, Meraxis quickly sits back down. Seconds later, the familiar voice of Lyssieth calls out over the arcane intercom, [lyssieth.speech(I hope that you're not causing any trouble in there, my dear.)] - </p> + </p> <p> [siren.speech(No, mommy!)] Meraxis replies, [siren.speech(I'm being good!)] </p> diff --git a/src/com/lilithsthrone/controller/MainController.java b/src/com/lilithsthrone/controller/MainController.java index 948f90d64..2e20da9db 100644 --- a/src/com/lilithsthrone/controller/MainController.java +++ b/src/com/lilithsthrone/controller/MainController.java @@ -616,7 +616,7 @@ public class MainController implements Initializable { if (event.getCode() == KeyCode.ENTER) { enterConsumed = true; boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveToPlayerNameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveToPlayerNameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('slaveToPlayerNameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { @@ -643,7 +643,7 @@ public class MainController implements Initializable { if (event.getCode() == KeyCode.ENTER) { enterConsumed = true; boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveNameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveNameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('slaveNameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { @@ -669,7 +669,7 @@ public class MainController implements Initializable { if (event.getCode() == KeyCode.ENTER) { enterConsumed = true; boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveSurnameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveSurnameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('slaveSurnameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { @@ -697,7 +697,7 @@ public class MainController implements Initializable { if (event.getCode() == KeyCode.ENTER) { enterConsumed = true; boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('offspringPetNameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('offspringPetNameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('offspringPetNameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { diff --git a/src/com/lilithsthrone/controller/MainControllerInitMethod.java b/src/com/lilithsthrone/controller/MainControllerInitMethod.java index fc5e10dd4..46040b782 100644 --- a/src/com/lilithsthrone/controller/MainControllerInitMethod.java +++ b/src/com/lilithsthrone/controller/MainControllerInitMethod.java @@ -1229,7 +1229,7 @@ public class MainControllerInitMethod { ((EventTarget) MainController.document.getElementById(id)).addEventListener("click", e -> { boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveNameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveNameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('slaveNameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { @@ -1262,7 +1262,7 @@ public class MainControllerInitMethod { ((EventTarget) MainController.document.getElementById(id)).addEventListener("click", e -> { boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveSurnameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveSurnameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('slaveSurnameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { @@ -1295,7 +1295,7 @@ public class MainControllerInitMethod { ((EventTarget) MainController.document.getElementById(id)).addEventListener("click", e -> { boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveToPlayerNameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveToPlayerNameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('slaveToPlayerNameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { @@ -1322,7 +1322,7 @@ public class MainControllerInitMethod { ((EventTarget) MainController.document.getElementById(id)).addEventListener("click", e -> { boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveToPlayerNameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('slaveToPlayerNameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('slaveToPlayerNameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { @@ -1913,7 +1913,7 @@ public class MainControllerInitMethod { ((EventTarget) MainController.document.getElementById(id)).addEventListener("click", e -> { boolean unsuitableName = false; - if(Main.mainController.getWebEngine().executeScript("document.getElementById('offspringPetNameInput')")!=null) { + if(Main.mainController.getWebEngine().executeScript("document.getElementById('offspringPetNameInput')")!=null) { Main.mainController.getWebEngine().executeScript("document.getElementById('hiddenFieldName').innerHTML=document.getElementById('offspringPetNameInput').value;"); if(Main.mainController.getWebEngine().getDocument()!=null) { diff --git a/src/com/lilithsthrone/game/character/body/types/AbstractLegType.java b/src/com/lilithsthrone/game/character/body/types/AbstractLegType.java index bbb90b416..0f62d8a13 100644 --- a/src/com/lilithsthrone/game/character/body/types/AbstractLegType.java +++ b/src/com/lilithsthrone/game/character/body/types/AbstractLegType.java @@ -528,7 +528,7 @@ public abstract class AbstractLegType implements BodyPartTypeInterface { : new Vagina(VaginaType.NONE, 0, 0, 0, 0, 3, 3, true)); body.getVagina().getGirlcum().addFluidModifier(null, FluidModifier.MUSKY); } - } + } /** * @param legConfiguration The configuration to check transformation availability of. diff --git a/src/com/lilithsthrone/game/dialogue/npcDialogue/submission/TunnelImpsDialogue.java b/src/com/lilithsthrone/game/dialogue/npcDialogue/submission/TunnelImpsDialogue.java index 3d49ddcce..7c49c7c7f 100644 --- a/src/com/lilithsthrone/game/dialogue/npcDialogue/submission/TunnelImpsDialogue.java +++ b/src/com/lilithsthrone/game/dialogue/npcDialogue/submission/TunnelImpsDialogue.java @@ -779,7 +779,7 @@ public class TunnelImpsDialogue { return "Transformations"; } - return null; + return null; } @Override diff --git a/src/com/lilithsthrone/game/dialogue/places/dominion/shoppingArcade/RalphsSnacks.java b/src/com/lilithsthrone/game/dialogue/places/dominion/shoppingArcade/RalphsSnacks.java index 85fd91202..67859339b 100644 --- a/src/com/lilithsthrone/game/dialogue/places/dominion/shoppingArcade/RalphsSnacks.java +++ b/src/com/lilithsthrone/game/dialogue/places/dominion/shoppingArcade/RalphsSnacks.java @@ -169,7 +169,7 @@ public class RalphsSnacks { + "[ralph.speech(Hey, are you alright?)]" + "</p>" + "<p>" - + "You were so engrossed in your fantasy that you didn't notice Ralph walking up to you, and you're taken completely off-guard as you blurt out a reply, " + + "You were so engrossed in your fantasy that you didn't notice Ralph walking up to you, and you're taken completely off-guard as you blurt out a reply, " + "[pc.speech(Oh! Yeah... Thanks! I was just thinking... Erm...)]" + "</p>" + "<p>" diff --git a/src/com/lilithsthrone/game/dialogue/places/submission/impFortress/ImpCitadelDialogue.java b/src/com/lilithsthrone/game/dialogue/places/submission/impFortress/ImpCitadelDialogue.java index 3b33008e1..4e16e5361 100644 --- a/src/com/lilithsthrone/game/dialogue/places/submission/impFortress/ImpCitadelDialogue.java +++ b/src/com/lilithsthrone/game/dialogue/places/submission/impFortress/ImpCitadelDialogue.java @@ -519,7 +519,7 @@ public class ImpCitadelDialogue { return "Transformations"; } - return null; + return null; } @Override diff --git a/src/com/lilithsthrone/game/dialogue/places/submission/impFortress/ImpFortressDialogue.java b/src/com/lilithsthrone/game/dialogue/places/submission/impFortress/ImpFortressDialogue.java index 805578bb4..9ca114a57 100644 --- a/src/com/lilithsthrone/game/dialogue/places/submission/impFortress/ImpFortressDialogue.java +++ b/src/com/lilithsthrone/game/dialogue/places/submission/impFortress/ImpFortressDialogue.java @@ -1337,7 +1337,7 @@ public class ImpFortressDialogue { return "Transformations"; } - return null; + return null; } @Override @@ -3100,7 +3100,7 @@ public class ImpFortressDialogue { return "Transformations"; } - return null; + return null; } @Override diff --git a/src/com/lilithsthrone/game/dialogue/utils/BodyChanging.java b/src/com/lilithsthrone/game/dialogue/utils/BodyChanging.java index a24eba14c..7657ed2cd 100644 --- a/src/com/lilithsthrone/game/dialogue/utils/BodyChanging.java +++ b/src/com/lilithsthrone/game/dialogue/utils/BodyChanging.java @@ -977,7 +977,7 @@ public class BodyChanging { + "</div>" // Breasts: - // * TODO milk-related changes + // * TODO milk-related changes + CharacterModificationUtils.getSelfTransformBreastChoiceDiv(slimeRaces) @@ -1022,7 +1022,7 @@ public class BodyChanging { + "</div>" // Breasts: - // * TODO milk-related changes + // * TODO milk-related changes + CharacterModificationUtils.getSelfTransformBreastChoiceDiv(getMinorPartsDemonRaces(false)) + CharacterModificationUtils.getSelfTransformBreastSizeDiv() @@ -1067,7 +1067,7 @@ public class BodyChanging { + "</div>" // Breasts: - // * TODO milk-related changes + // * TODO milk-related changes + CharacterModificationUtils.getSelfTransformBreastChoiceDiv(slimeRaces) @@ -1471,7 +1471,7 @@ public class BodyChanging { + "</div>" // Breasts: - // * TODO milk-related changes + // * TODO milk-related changes + CharacterModificationUtils.getSelfTransformBreastCrotchChoiceDiv(slimeRaces) @@ -1516,7 +1516,7 @@ public class BodyChanging { + "</div>" // Breasts: - // * TODO milk-related changes + // * TODO milk-related changes + CharacterModificationUtils.getSelfTransformBreastCrotchChoiceDiv(getMinorPartsDemonRaces(false)) + CharacterModificationUtils.getSelfTransformBreastCrotchSizeDiv() @@ -1561,7 +1561,7 @@ public class BodyChanging { + "</div>" // Breasts: - // * TODO milk-related changes + // * TODO milk-related changes + CharacterModificationUtils.getSelfTransformBreastCrotchChoiceDiv(slimeRaces) diff --git a/src/com/lilithsthrone/game/inventory/CharacterInventory.java b/src/com/lilithsthrone/game/inventory/CharacterInventory.java index c68b93ac2..252f57f84 100644 --- a/src/com/lilithsthrone/game/inventory/CharacterInventory.java +++ b/src/com/lilithsthrone/game/inventory/CharacterInventory.java @@ -1803,14 +1803,14 @@ public class CharacterInventory implements XMLSaving { public AbstractClothing getClothingBlockingCoverableAreaAccess(GameCharacter character, CoverableArea area, boolean byRemovingClothing) { List<AbstractClothing> blockingClothingList = getBlockingCoverableAreaClothingList(character, area, byRemovingClothing); - if(!blockingClothingList.isEmpty()) { - for(AbstractClothing c : blockingClothingList) { - if(c.isSealed()) { - return c; - } - } - return blockingClothingList.get(0); - } + if(!blockingClothingList.isEmpty()) { + for(AbstractClothing c : blockingClothingList) { + if(c.isSealed()) { + return c; + } + } + return blockingClothingList.get(0); + } return null; } @@ -1820,7 +1820,7 @@ public class CharacterInventory implements XMLSaving { // For every piece of equipped clothing, if it's blocking the coverable area, see if it can be displaced or removed. // If it can't, continue searching to see if another displacement type has revealed that area. - for (AbstractClothing clothing : clothingCurrentlyEquipped) { + for (AbstractClothing clothing : clothingCurrentlyEquipped) { for (BlockedParts bp : clothing.getClothingType().getBlockedPartsList(character)) { if (bp.blockedBodyParts.contains(area)) {// If this clothing is blocking the area you are trying to access: if (!clothing.getDisplacedList().contains(bp.displacementType)) { // If the clothing hasn't been displaced: @@ -1851,7 +1851,7 @@ public class CharacterInventory implements XMLSaving { } } - return blockingClothingList; + return blockingClothingList; } private boolean isCoverableAreaExposedFromElsewhere(GameCharacter character, AbstractClothing clothing, CoverableArea area) { diff --git a/src/com/lilithsthrone/game/inventory/clothing/AbstractClothingType.java b/src/com/lilithsthrone/game/inventory/clothing/AbstractClothingType.java index 70224e0f2..45097128c 100644 --- a/src/com/lilithsthrone/game/inventory/clothing/AbstractClothingType.java +++ b/src/com/lilithsthrone/game/inventory/clothing/AbstractClothingType.java @@ -375,7 +375,7 @@ public abstract class AbstractClothingType extends AbstractCoreType { this.plural = Boolean.valueOf(coreAttributes.getMandatoryFirstOf("namePlural").getAttribute("pluralByDefault")); this.baseValue = Integer.valueOf(coreAttributes.getMandatoryFirstOf("value").getTextContent()); this.physicalResistance = Integer.valueOf(coreAttributes.getMandatoryFirstOf("physicalResistance").getTextContent()); - this.slot = InventorySlot.valueOf(coreAttributes.getMandatoryFirstOf("slot").getTextContent()); + this.slot = InventorySlot.valueOf(coreAttributes.getMandatoryFirstOf("slot").getTextContent()); this.rarity = Rarity.valueOf(coreAttributes.getMandatoryFirstOf("rarity").getTextContent()); this.femininityRestriction = Femininity.valueOf(coreAttributes.getMandatoryFirstOf("femininity").getTextContent()); diff --git a/src/com/lilithsthrone/game/inventory/clothing/ClothingType.java b/src/com/lilithsthrone/game/inventory/clothing/ClothingType.java index cf482a8b9..a77aeca68 100644 --- a/src/com/lilithsthrone/game/inventory/clothing/ClothingType.java +++ b/src/com/lilithsthrone/game/inventory/clothing/ClothingType.java @@ -11804,7 +11804,7 @@ public class ClothingType { } } -// System.out.println(allClothing.size()); +// System.out.println(allClothing.size()); } public static List<AbstractClothingType> getAllClothing() { diff --git a/src/com/lilithsthrone/game/inventory/enchanting/ItemEffectType.java b/src/com/lilithsthrone/game/inventory/enchanting/ItemEffectType.java index 8ae510223..32bfbd53f 100644 --- a/src/com/lilithsthrone/game/inventory/enchanting/ItemEffectType.java +++ b/src/com/lilithsthrone/game/inventory/enchanting/ItemEffectType.java @@ -1510,7 +1510,7 @@ public class ItemEffectType { } }; - public static AbstractItemEffectType BOTTLED_ESSENCE_SQUIRREL_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( + public static AbstractItemEffectType BOTTLED_ESSENCE_SQUIRREL_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( "[style.boldGood(+1)] [style.boldArcane(Arcane)] essence", "[style.boldGood(+25%)] [style.bold(damage vs)] [style.boldSquirrel(squirrel-morphs)]", "[style.boldGood(+25%)] [style.bold(resistance vs)] [style.boldSquirrel(squirrel-morphs)]"), @@ -1524,7 +1524,7 @@ public class ItemEffectType { } }; - public static AbstractItemEffectType BOTTLED_ESSENCE_RAT_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( + public static AbstractItemEffectType BOTTLED_ESSENCE_RAT_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( "[style.boldGood(+1)] [style.boldArcane(Arcane)] essence", "[style.boldGood(+25%)] [style.bold(damage vs)] [style.boldRat(rat-morphs)]", "[style.boldGood(+25%)] [style.bold(resistance vs)] [style.boldRat(rat-morphs)]"), @@ -1538,7 +1538,7 @@ public class ItemEffectType { } }; - public static AbstractItemEffectType BOTTLED_ESSENCE_RABBIT_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( + public static AbstractItemEffectType BOTTLED_ESSENCE_RABBIT_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( "[style.boldGood(+1)] [style.boldArcane(Arcane)] essence", "[style.boldGood(+25%)] [style.bold(damage vs)] [style.boldRabbit(rabbit-morphs)]", "[style.boldGood(+25%)] [style.bold(resistance vs)] [style.boldRabbit(rabbit-morphs)]"), @@ -1552,7 +1552,7 @@ public class ItemEffectType { } }; - public static AbstractItemEffectType BOTTLED_ESSENCE_BAT_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( + public static AbstractItemEffectType BOTTLED_ESSENCE_BAT_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( "[style.boldGood(+1)] [style.boldArcane(Arcane)] essence", "[style.boldGood(+25%)] [style.bold(damage vs)] [style.boldBat(bat-morphs)]", "[style.boldGood(+25%)] [style.bold(resistance vs)] [style.boldBat(bat-morphs)]"), @@ -1566,7 +1566,7 @@ public class ItemEffectType { } }; - public static AbstractItemEffectType BOTTLED_ESSENCE_ALLIGATOR_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( + public static AbstractItemEffectType BOTTLED_ESSENCE_ALLIGATOR_MORPH = new AbstractItemEffectType(Util.newArrayListOfValues( "[style.boldGood(+1)] [style.boldArcane(Arcane)] essence", "[style.boldGood(+25%)] [style.bold(damage vs)] [style.boldAlligator(alligator-morphs)]", "[style.boldGood(+25%)] [style.bold(resistance vs)] [style.boldAlligator(alligator-morphs)]"), diff --git a/src/com/lilithsthrone/res/doc/suggestions.txt b/src/com/lilithsthrone/res/doc/suggestions.txt index 2a3d4d488..938cc6247 100644 --- a/src/com/lilithsthrone/res/doc/suggestions.txt +++ b/src/com/lilithsthrone/res/doc/suggestions.txt @@ -149,7 +149,7 @@ Before the sex system is frozen, you should probably implement a system for rest "but you know that's not safe right now" Or even "I know I said it was a safe day but I lied" - some winter-y items? i know i suggested earmuffs, but perhaps coats, boots, hats and such? + some winter-y items? i know i suggested earmuffs, but perhaps coats, boots, hats and such? enemies with crossdress fetish to force clothes onto you in sex scenes. @@ -537,7 +537,7 @@ more for the proof of concept of the current clothing system: I'll also add 'jockstrap' to the list of clothing to add in the future! A "buy all" button when buying from shop - For the selected article, not clearing out the shop + For the selected article, not clearing out the shop impregnation fetish allow vaginal sex without corruption @@ -1033,10 +1033,10 @@ Forced fetishes: This would function identically to existing forced TF system. NPCs would have a configurable chance of being interested in forcing fetishes on the player upon combat defeat -- feeding them a bottle of Mystery Kink, essentially. This would also include the current Mystery Kink chance of removing an existing fetish, making it a potentially dangerous risk even for players who are intentionally collecting fetishes. Forced fetish NPC tastes tendency: - A configurable chance that preference would be given towards adding fetishes that pair with the NPCs own, and removing those that conflict with their own; ie, an NPC with the dominant fetish would have a higher chance of forcing the submissive fetish or removing the dominant fetish. Since this is roughly the equivalent of feeding the player a Fetish Endowment potion, chances of this happening could also potentially be tied to the NPCs power in addition to the configurable chance. + A configurable chance that preference would be given towards adding fetishes that pair with the NPCs own, and removing those that conflict with their own; i.e., an NPC with the dominant fetish would have a higher chance of forcing the submissive fetish or removing the dominant fetish. Since this is roughly the equivalent of feeding the player a Fetish Endowment potion, chances of this happening could also potentially be tied to the NPCs power in addition to the configurable chance. Forced fetish power exchange tendency: - A configurable value that affects the chances of forced fetishes being related to topping or bottoming. When neutral, nothing changes with respect to the randomness of fetish application. My feeling is that at the extremes this should override NPC taste tendencies; ie, if the power exchange tendency is 100% bottoming, a submissive NPC will never force the dominant fetish on the player. However, I'm not certain what the correct choice is there; ie, should player preferences ultimately matter vs NPC preferences? Perhaps that should be a configurable toggle. + A configurable value that affects the chances of forced fetishes being related to topping or bottoming. When neutral, nothing changes with respect to the randomness of fetish application. My feeling is that at the extremes this should override NPC taste tendencies; i.e., if the power exchange tendency is 100% bottoming, a submissive NPC will never force the dominant fetish on the player. However, I'm not certain what the correct choice is there; i.e., should player preferences ultimately matter vs NPC preferences? Perhaps that should be a configurable toggle. Forced TF gender tendency: A configurable value that affects the chances of forced TFs towards masculinity or femininity. I see in a recent development update that NPC sexual orientation has just recently become a factor here, and not in a configurable way. The idea here would be to at the very least have a player preference that controls the chances of what gender TFs ambiphilic NPCs would apply. Potentially extreme values of this setting could override the preferences of gynephilic and androphilic NPCs, but as with the forced fetish player vs NPC preference question, I'm not certain what the right choice is. @@ -1087,13 +1087,13 @@ If she likes you enough she will hand you a pass that allows you to get into a d 2) This one would probably work better for a single specific individual but its also in relation to the idea of people coming to your house. It would concern pregnancy fetishists (or races that are really into breeding like the bunnies and rats) specifically: Basically if you have a certain amount of virility, Penis+Testicle size and cum production and have sex with a pregnancy fetishist or one female member of that race but don't cum inside them they might find you again either out in the open world or at the house/camp. They would basically try to get you to have sex with them again but they make it clear they want you to finish inside. The way they try to convince you could vary depending on the personality of the NPC, some might try to provoke you by saying you couldn't do it even if you tried all day, some might try to fan your ego, some would ask up front what they are lacking for you to be interested. - You would then have choices on how to answer to them, either you can choose to "take the bait" of their provocations etc, tell them you didn't feel like it but they could try to "convince you", make the "work" for it or even don't say anything and just breed them right then and there. + You would then have choices on how to answer to them, either you can choose to "take the bait" of their provocations etc., tell them you didn't feel like it but they could try to "convince you", make the "work" for it or even don't say anything and just breed them right then and there. suggestion time: - Runaway Slave (if you don't equip your disobedience slave with low affection, they can run away (but you can capture them later if you met them) - make the slave revolt (if you have ten or more slave that have minus affection and obedience, they'll revolt and attack you in the same time one after another, and if you lose you, Lilaya, Rose, Arthur, and any other loyal slave will be raped in the orgy after that they can either free themselves or enslave you) - make your PC enslave able (to free yourself you either have to work in the slave pen to buy yourself or revolt against your master if you are strong enough (and you gonna be handicapped) -- enlarge Lilaya palace (ask her permission to do that and go to contractor in the Shopping Mall... (from there you can buy a weapon like hammer etc)) +- enlarge Lilaya palace (ask her permission to do that and go to contractor in the Shopping Mall... (from there you can buy a weapon like hammer etc.)) - Group Battle (since you make a Group Sex...) - Countable Wings (since 8 set of wings is much more cooler than 1 set of wing) - Angelic Tongue... diff --git a/src/com/lilithsthrone/res/doc/todo_list.txt b/src/com/lilithsthrone/res/doc/todo_list.txt index 44b4fa0ee..d83e100e8 100644 --- a/src/com/lilithsthrone/res/doc/todo_list.txt +++ b/src/com/lilithsthrone/res/doc/todo_list.txt @@ -6770,7 +6770,7 @@ Also noticed the Stop partner self action option disappears. Far too keen on self-actions - Only the male human I fought and lost to had me doggy and just quite literally sat there and did nothing (his turns actually boiled down to him taking no action at all) until just before he came. + Only the male human I fought and lost to had me doggy and just quite literally sat there and did nothing (his turns actually boiled down to him taking no action at all) until just before he came. So far the option to be bottom for either male or female PC's is no where to be seen and even NPC's seem content to sticking to foreplay only. Go through and make sure resist is before normal->eager @@ -8104,7 +8104,7 @@ I would also suggest the following addition : Gay clubs -> opposite BDSM update - Masochist expansion + Masochist expansion Add some rough SexActions Mouth & eye CoverableArea @@ -8118,7 +8118,7 @@ I would also suggest the following addition : * When get harpy wings, you shrink to harpy size. Bones hollow allowing you to fly (all maps revealed - 50% opacity where haven't been. don't show places) * * - * Lilith's Demonic creatures: + * Lilith's Demonic creatures: * demonic-goat (Lilith's tower inner guard, punish intruders by fucking them into constantly horny goat sluts) * demonic-dragon (Lilith's personal guard, take any intruder to Lilith) * Menagerie: @@ -8154,31 +8154,31 @@ I would also suggest the following addition : * Have to pay for ingredients * * For the scene with fucking plants: - * If have vagina and bee-morph, it makes honey-milk - * - * Living suit in plant lab - - Lilin lamia boss: - On loss, vore scene... (maybe, not too sure if this fetish is too much for some people) - While inside her, she transforms you into a lamia slut - Births you then gets you fucked by loads of horny lamia guys - - Frog-morphs: - Slimy - Have hallucinogenic saliva - On loss, they kiss you. You have a fantasy where you're making out with a hot guy/girl - You get fucked by them and they plant eggs in your stomach (anal pregnancy?) - You wake up and realize what happened - - Imps: - Look like short demons (~3-4 feet tall). - Unlike demons, a lot of them like to stay in male form (although there are plenty of female imps as well) - They are totally obsessed with sex (to a far greater extent than demons) - Due to the fact that they can't function in Dominion society, they are banished to Submission - They like to grow their cocks/breasts to the same size as a normal demon, making it a bit extreme on their smaller frames. - Because they are smaller, their wings actually work. - Their society is based around an alpha imp. - Too weak to fight as an individual, but when enough of them get extremely horny, they form groups to attack people and gang-fuck them. + * If have vagina and bee-morph, it makes honey-milk + * + * Living suit in plant lab + + Lilin lamia boss: + On loss, vore scene... (maybe, not too sure if this fetish is too much for some people) + While inside her, she transforms you into a lamia slut + Births you then gets you fucked by loads of horny lamia guys + + Frog-morphs: + Slimy + Have hallucinogenic saliva + On loss, they kiss you. You have a fantasy where you're making out with a hot guy/girl + You get fucked by them and they plant eggs in your stomach (anal pregnancy?) + You wake up and realize what happened + + Imps: + Look like short demons (~3-4 feet tall). + Unlike demons, a lot of them like to stay in male form (although there are plenty of female imps as well) + They are totally obsessed with sex (to a far greater extent than demons) + Due to the fact that they can't function in Dominion society, they are banished to Submission + They like to grow their cocks/breasts to the same size as a normal demon, making it a bit extreme on their smaller frames. + Because they are smaller, their wings actually work. + Their society is based around an alpha imp. + Too weak to fight as an individual, but when enough of them get extremely horny, they form groups to attack people and gang-fuck them. /*---------------------------------------------------------------------------------------- diff --git a/src/com/lilithsthrone/utils/BaseColour.java b/src/com/lilithsthrone/utils/BaseColour.java index 0958a8fc0..4f6e6d404 100644 --- a/src/com/lilithsthrone/utils/BaseColour.java +++ b/src/com/lilithsthrone/utils/BaseColour.java @@ -9,86 +9,29 @@ import javafx.scene.paint.Color; */ public enum BaseColor { -<<<<<<< HEAD - WHITE(Util.newColour(0xFFFFFF), Util.newColour(0x636363)), - SILVER(Util.newColour(0xF3F3F3), Util.newColour(0x636363)), - PLATINUM(Util.newColour(0xE4E5E2), Util.newColour(0xE4E5E2)), - - ROSE(Util.newColour(0xEBC2FF), Util.newColour(0xB800E6)), - LILAC(Util.newColour(0x978AFF), Util.newColour(0x8170FF)), - LILAC_LIGHT(Util.newColour(0xC2BDFF), Util.newColour(0x8E3DFF)), - PURPLE_DARK(Util.newColour(0x740AFF), Util.newColour(0x6000D6)), - PURPLE(Util.newColour(0xB980FF), Util.newColour(0x943DFF)), - PURPLE_LIGHT(Util.newColour(0xDA8FFF), Util.newColour(0xC552FF)), - - VIOLET(Util.newColour(0xFF99C9), Util.newColour(0xFF57A5)), - PINK(Util.newColour(0xFF6BDA), Util.newColour(0xFF0FC3)), - PINK_LIGHT(Util.newColour(0xF5A8FF), Util.newColour(0xCF26BE)), - PINK_DEEP(Util.newColour(0xFF33CC), Util.newColour(0xFF33CC)), - - MAGENTA(Util.newColour(0xFF1472), Util.newColour(0xFF1472)), - CRIMSON(Util.newColour(0xFF385D), Util.newColour(0xFF385D)), - RED(Util.newColour(0xEA5D76), Util.newColour(0xDD1D40)), - RED_DARK(Util.newColour(0xA61641), Util.newColour(0x960012)), - RED_LIGHT(Util.newColour(0xEE95A6), Util.newColour(0xE9536F)), - ROSE_GOLD(Util.newColour(0xE7C1BB), Util.newColour(0xE7C1BB)), - - TAN(Util.newColour(0xEDC491), Util.newColour(0xDC8D2E)), - BROWN(Util.newColour(0xD0A38B), Util.newColour(0xB5714A)), - BROWN_DARK(Util.newColour(0x9F775B), Util.newColour(0x785945)), - AUBURN(Util.newColour(0xCF6654), Util.newColour(0xBB4935)), - ORANGE(Util.newColour(0xFF9970), Util.newColour(0xFA4700)), - AMBER(Util.newColour(0xFFC552), Util.newColour(0xBD7E00)), - GINGER(Util.newColour(0xFF9147), Util.newColour(0xF06000)), - COPPER(Util.newColour(0xD46F2B), Util.newColour(0xB96227)), - - GOLD(Util.newColour(0xFFCC00), Util.newColour(0xCCA300)), - YELLOW(Util.newColour(0xECEC5B), Util.newColour(0xC4C700)), - YELLOW_LIGHT(Util.newColour(0xF8F8B9), Util.newColour(0xC1A42F)), - - GREEN_LIME(Util.newColour(0xB4D987), Util.newColour(0x83BE3C)), - GREEN_LIGHT(Util.newColour(0x8fefbf), Util.newColour(0x1DB96B)), - GREEN(Util.newColour(0x57DB7E), Util.newColour(0x0D683B)), - GREEN_DARK(Util.newColour(0x209746), Util.newColour(0x209746)), - - AQUA(Util.newColour(0x61FFFF), Util.newColour(0x009999)), // Ne, Kazuma... - TEAL(Util.newColour(0x6CBCB1), Util.newColour(0x439389)), - PERIWINKLE(Util.newColour(0xCCCCFF), Util.newColour(0xCCCCFF)), - BLUE_LIGHT(Util.newColour(0x99EBFF), Util.newColour(0x00A7D1)), - BLUE(Util.newColour(0x05CDFF), Util.newColour(0x00627A)), - BLUE_DARK(Util.newColour(0x0090BF), Util.newColour(0x002E43)), - BLUE_STEEL(Util.newColour(0xA7B7D2), Util.newColour(0x5671A4)), - - GREY(Util.newColour(0xB3B3B3), Util.newColour(0x777777)), - GREY_DARK(Util.newColour(0x999999), Util.newColour(0x515151)), - PITCH_BLACK(Util.newColour(0x222222), Util.newColour(0x222222)), - BLACK(Util.newColour(0x777777), Util.newColour(0x1F1F1F)); - - private Color colour, lightColour; -======= WHITE(Util.newColor(0xFFFFFF), Util.newColor(0x636363)), SILVER(Util.newColor(0xF3F3F3), Util.newColor(0x636363)), PLATINUM(Util.newColor(0xE4E5E2), Util.newColor(0xE4E5E2)), - + ROSE(Util.newColor(0xEBC2FF), Util.newColor(0xB800E6)), LILAC(Util.newColor(0x978AFF), Util.newColor(0x8170FF)), LILAC_LIGHT(Util.newColor(0xC2BDFF), Util.newColor(0x8E3DFF)), PURPLE_DARK(Util.newColor(0x740AFF), Util.newColor(0x6000D6)), PURPLE(Util.newColor(0xB980FF), Util.newColor(0x943DFF)), PURPLE_LIGHT(Util.newColor(0xDA8FFF), Util.newColor(0xC552FF)), - + VIOLET(Util.newColor(0xFF99C9), Util.newColor(0xFF57A5)), PINK(Util.newColor(0xFF6BDA), Util.newColor(0xFF0FC3)), PINK_LIGHT(Util.newColor(0xF5A8FF), Util.newColor(0xCF26BE)), PINK_DEEP(Util.newColor(0xFF33CC), Util.newColor(0xFF33CC)), - + MAGENTA(Util.newColor(0xFF1472), Util.newColor(0xFF1472)), CRIMSON(Util.newColor(0xFF385D), Util.newColor(0xFF385D)), RED(Util.newColor(0xEA5D76), Util.newColor(0xDD1D40)), RED_DARK(Util.newColor(0xA61641), Util.newColor(0x960012)), RED_LIGHT(Util.newColor(0xEE95A6), Util.newColor(0xE9536F)), ROSE_GOLD(Util.newColor(0xE7C1BB), Util.newColor(0xE7C1BB)), - + TAN(Util.newColor(0xEDC491), Util.newColor(0xDC8D2E)), BROWN(Util.newColor(0xD0A38B), Util.newColor(0xB5714A)), BROWN_DARK(Util.newColor(0x9F775B), Util.newColor(0x785945)), @@ -97,16 +40,16 @@ public enum BaseColor { AMBER(Util.newColor(0xFFC552), Util.newColor(0xBD7E00)), GINGER(Util.newColor(0xFF9147), Util.newColor(0xF06000)), COPPER(Util.newColor(0xD46F2B), Util.newColor(0xB96227)), - + GOLD(Util.newColor(0xFFCC00), Util.newColor(0xCCA300)), YELLOW(Util.newColor(0xECEC5B), Util.newColor(0xC4C700)), YELLOW_LIGHT(Util.newColor(0xF8F8B9), Util.newColor(0xC1A42F)), - + GREEN_LIME(Util.newColor(0xB4D987), Util.newColor(0x83BE3C)), GREEN_LIGHT(Util.newColor(0x8fefbf), Util.newColor(0x1DB96B)), GREEN(Util.newColor(0x57DB7E), Util.newColor(0x0D683B)), GREEN_DARK(Util.newColor(0x209746), Util.newColor(0x209746)), - + AQUA(Util.newColor(0x61FFFF), Util.newColor(0x009999)), // Ne, Kazuma... TEAL(Util.newColor(0x6CBCB1), Util.newColor(0x439389)), PERIWINKLE(Util.newColor(0xCCCCFF), Util.newColor(0xCCCCFF)), @@ -119,9 +62,8 @@ public enum BaseColor { GREY_DARK(Util.newColor(0x999999), Util.newColor(0x515151)), PITCH_BLACK(Util.newColor(0x222222), Util.newColor(0x222222)), BLACK(Util.newColor(0x777777), Util.newColor(0x1F1F1F)); - + private Color color, lightColor; ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b private BaseColor(Color color, Color lightColor) { this.color = color; diff --git a/src/com/lilithsthrone/utils/Builder.java b/src/com/lilithsthrone/utils/Builder.java index f0867cc3f..8ffcfab51 100644 --- a/src/com/lilithsthrone/utils/Builder.java +++ b/src/com/lilithsthrone/utils/Builder.java @@ -2,7 +2,7 @@ package com.lilithsthrone.utils; /** * Designing and implementing this <strike>class</strike> interface took well over 50% of total development time. - * + * * @since 0.1.0 * @version 0.1.0 * @author Innoxia diff --git a/src/com/lilithsthrone/utils/Color.java b/src/com/lilithsthrone/utils/Color.java index f795b8f6b..e0a1a8381 100644 --- a/src/com/lilithsthrone/utils/Color.java +++ b/src/com/lilithsthrone/utils/Color.java @@ -13,45 +13,45 @@ import javafx.scene.paint.Color; * @author Innoxia */ public enum Color { - + // This class and BaseColor are beyond saving x_x - + BASE_WHITE(false, BaseColor.WHITE, "white", Util.newArrayListOfValues("white")), BASE_GREY(false, BaseColor.GREY, "grey", Util.newArrayListOfValues("grey")), BASE_GREY_DARK(false, BaseColor.GREY_DARK, "dark grey", Util.newArrayListOfValues("darkGrey")), - + BASE_ROSE(false, BaseColor.ROSE, "rose", Util.newArrayListOfValues("rose")), BASE_LILAC(false, BaseColor.LILAC, "lilac", Util.newArrayListOfValues("lilac")), BASE_LILAC_LIGHT(false, BaseColor.LILAC_LIGHT, "light lilac", Util.newArrayListOfValues("lightLilac")), BASE_PURPLE_DARK(false, BaseColor.PURPLE_DARK, "dark purple", Util.newArrayListOfValues("darkPurple")), BASE_PURPLE(false, BaseColor.PURPLE, "purple", Util.newArrayListOfValues("purple")), BASE_PURPLE_LIGHT(false, BaseColor.PURPLE_LIGHT, "light purple", Util.newArrayListOfValues("lightPurple")), - + BASE_PINK_DEEP(false, BaseColor.PINK_DEEP, "deep pink", Util.newArrayListOfValues("deepPink", "darkPink")), BASE_VIOLET(false, BaseColor.VIOLET, "violet", Util.newArrayListOfValues("violet")), BASE_PINK(false, BaseColor.PINK, "pink", Util.newArrayListOfValues("pink")), BASE_PINK_LIGHT(false, BaseColor.PINK_LIGHT, "light pink", Util.newArrayListOfValues("lightPink")), - + BASE_MAGENTA(false, BaseColor.MAGENTA, "magenta", Util.newArrayListOfValues("magenta")), BASE_CRIMSON(false, BaseColor.CRIMSON, "crimson", Util.newArrayListOfValues("crimson")), BASE_RED(false, BaseColor.RED, "red", Util.newArrayListOfValues("red")), BASE_RED_LIGHT(false, BaseColor.RED_LIGHT, "light red", Util.newArrayListOfValues("lightRed")), - + BASE_TAN(false, BaseColor.TAN, "tan", Util.newArrayListOfValues("tan")), BASE_BROWN(false, BaseColor.BROWN, "brown", Util.newArrayListOfValues("brown")), BASE_BROWN_DARK(false, BaseColor.BROWN_DARK, "dark brown", Util.newArrayListOfValues("darkBrown")), BASE_ORANGE(false, BaseColor.ORANGE, "orange", Util.newArrayListOfValues("orange")), BASE_GINGER(false, BaseColor.GINGER, "ginger", Util.newArrayListOfValues("ginger")), - + BASE_GOLD(false, BaseColor.GOLD, "gold", Util.newArrayListOfValues("gold")), BASE_YELLOW(false, BaseColor.YELLOW, "yellow", Util.newArrayListOfValues("yellow")), BASE_YELLOW_LIGHT(false, BaseColor.YELLOW_LIGHT, "light yellow", Util.newArrayListOfValues("lightYellow")), - + BASE_GREEN_LIME(false, BaseColor.GREEN_LIME, "lime green", Util.newArrayListOfValues("limeGreen")), BASE_GREEN_LIGHT(false, BaseColor.GREEN_LIGHT, "light green", Util.newArrayListOfValues("lightGreen")), BASE_GREEN(false, BaseColor.GREEN, "green", Util.newArrayListOfValues("green")), BASE_GREEN_DARK(false, BaseColor.GREEN_DARK, "dark green", Util.newArrayListOfValues("darkGreen")), - + BASE_AQUA(false, BaseColor.AQUA, "aqua", Util.newArrayListOfValues("aqua")), BASE_TEAL(false, BaseColor.TEAL, "teal", Util.newArrayListOfValues("teal")), BASE_PERIWINKLE(false, BaseColor.PERIWINKLE, "periwinkle", Util.newArrayListOfValues("periwinkle")), @@ -59,20 +59,20 @@ public enum Color { BASE_BLUE_LIGHT(false, BaseColor.BLUE_LIGHT, "light blue", Util.newArrayListOfValues("lightBlue")), BASE_BLUE(false, BaseColor.BLUE, "blue", Util.newArrayListOfValues("blue")), BASE_BLUE_STEEL(false, BaseColor.BLUE_STEEL, "steely blue", Util.newArrayListOfValues("steelyBlue")), - + BASE_BLACK(false, BaseColor.BLACK, "black", Util.newArrayListOfValues("black")), BASE_PITCH_BLACK(false, BaseColor.PITCH_BLACK, "black", Util.newArrayListOfValues("black")), - + // Game colors: BACKGROUND(false, Util.newColor(0x222222), Util.newColor(0xcccccc), "grey"), BACKGROUND_ALT(false, Util.newColor(0x292929), Util.newColor(0xbbbbbb), "grey"), - + MAP_BACKGROUND_UNEXPLORED(false, Util.newColor(0x111), Util.newColor(0x111), "black"), MAP_BACKGROUND_PINK(false, Util.newColor(0xb2a4bb), Util.newColor(0xb2a4bb), "pink"), MAP_BACKGROUND(false, Util.newColor(0xbbbbbb), Util.newColor(0xbbbbbb), "grey"), MAP_BACKGROUND_DARK(false, Util.newColor(0x888888), Util.newColor(0x8f8f8f), "dark grey"), MAP_BACKGROUND_BLUE(false, BaseColor.BLUE_LIGHT, "light blue", Util.newArrayListOfValues("lightBlue")), - + GENERIC_SEX(false, BaseColor.PINK_LIGHT, "pink", Util.newArrayListOfValues("sex")), GENERIC_COMBAT(false, BaseColor.CRIMSON, "crimson"), GENERIC_ARCANE(false, BaseColor.PINK, "pink", Util.newArrayListOfValues("arcane")), @@ -88,7 +88,7 @@ public enum Color { SCAR(false, BaseColor.TAN, "tan"), TATTOO(false, BaseColor.GREY, "grey"), - + PERK(false, BaseColor.AQUA, "aqua", Util.newArrayListOfValues("perk")), TRAIT(false, BaseColor.GREEN_LIGHT, "green", Util.newArrayListOfValues("trait")), FETISH(false, BaseColor.PINK_LIGHT, "light pink", Util.newArrayListOfValues("fetish")), @@ -132,7 +132,7 @@ public enum Color { RACE_RABBIT_MORPH(false, BaseColor.BROWN_DARK, "dark brown", Util.newArrayListOfValues("rabbitMorph", "rabbit")), RACE_BAT_MORPH(false, BaseColor.BLACK, "black", Util.newArrayListOfValues("batMorph", "bat")), RACE_ALLIGATOR_MORPH(false, BaseColor.GREEN_DARK, "dark green", Util.newArrayListOfValues("alligatorMorph", "alligator", "gatorMorph", "gator")), - + QUEST_MAIN(false, BaseColor.PINK, "pink"), QUEST_SIDE(false, BaseColor.BLUE, "blue"), QUEST_RELATIONSHIP(false, BaseColor.PINK_LIGHT, "pink"), @@ -158,7 +158,7 @@ public enum Color { PHYSIQUE_STAGE_THREE(false, BaseColor.MAGENTA, "magenta"), PHYSIQUE_STAGE_FOUR(false, BaseColor.MAGENTA, "magenta"), PHYSIQUE_STAGE_FIVE(false, BaseColor.GOLD, "gold"), - + //TODO INTELLIGENCE_STAGE_ZERO(false, BaseColor.PURPLE, "purple"), INTELLIGENCE_STAGE_ONE(false, BaseColor.PURPLE, "purple"), @@ -166,7 +166,7 @@ public enum Color { INTELLIGENCE_STAGE_THREE(false, BaseColor.PURPLE, "purple"), INTELLIGENCE_STAGE_FOUR(false, BaseColor.PURPLE, "purple"), INTELLIGENCE_STAGE_FIVE(false, BaseColor.GOLD, "gold"), - + //TODO FITNESS_STAGE_ZERO(false, BaseColor.LILAC, "light purple"), FITNESS_STAGE_ONE(false, BaseColor.LILAC, "light purple"), @@ -174,21 +174,21 @@ public enum Color { FITNESS_STAGE_THREE(false, BaseColor.LILAC, "light purple"), FITNESS_STAGE_FOUR(false, BaseColor.LILAC, "light purple"), FITNESS_STAGE_FIVE(false, BaseColor.GOLD, "gold"), - + CORRUPTION_STAGE_ZERO(false, Util.newColor(0xffdf80), Util.newColor(0xffdf80), "gold"), CORRUPTION_STAGE_ONE(false, Util.newColor(0xff80bf), Util.newColor(0xff80bf), "pink"), CORRUPTION_STAGE_TWO(false, Util.newColor(0xff1a8c), Util.newColor(0xff1a8c), "pink"), CORRUPTION_STAGE_THREE(false, Util.newColor(0xe600ac), Util.newColor(0xe600ac), "pink"), CORRUPTION_STAGE_FOUR(false, Util.newColor(0xd411d4), Util.newColor(0xd411d4), "pink"), CORRUPTION_STAGE_FIVE(false, Util.newColor(0xbf00ff), Util.newColor(0xbf00ff), "pink"), - + AROUSAL_STAGE_ZERO(false, Util.newColor(0xfee6ff), Util.newColor(0xfee6ff), "pink"), AROUSAL_STAGE_ONE(false, Util.newColor(0xfcb3ff), Util.newColor(0xfcb3ff), "pink"), AROUSAL_STAGE_TWO(false, Util.newColor(0xfb80ff), Util.newColor(0xfb80ff), "pink"), AROUSAL_STAGE_THREE(false, Util.newColor(0xf94dff), Util.newColor(0xf94dff), "pink"), AROUSAL_STAGE_FOUR(false, Util.newColor(0xf824ff), Util.newColor(0xf824ff), "pink"), AROUSAL_STAGE_FIVE(false, Util.newColor(0xf700ff), Util.newColor(0xf700ff), "pink"), - + LUST_STAGE_ZERO(false, Util.newColor(0x80CAFF), Util.newColor(0xfee6ff), "blue"), LUST_STAGE_ONE(false, Util.newColor(0xB699FF), Util.newColor(0xfcb3ff), "purple"), LUST_STAGE_TWO(false, Util.newColor(0xFF99D1), Util.newColor(0xfb80ff), "pink"), @@ -204,10 +204,10 @@ public enum Color { COMPANION(false, BaseColor.GREEN_LIGHT, "light green", Util.newArrayListOfValues("companion", "companions")), - + AFFECTION(false, BaseColor.PINK_LIGHT, "light pink", Util.newArrayListOfValues("affection")), OBEDIENCE(false, BaseColor.PURPLE_LIGHT, "light purple", Util.newArrayListOfValues("obedience")), - + AFFECTION_NEGATIVE_FIVE(false, Util.newColor(0xff0066), Util.newColor(0x8e011e), "magenta"), AFFECTION_NEGATIVE_FOUR(false, Util.newColor(0xff2a7f), Util.newColor(0xa40123), "magenta"), AFFECTION_NEGATIVE_THREE(false, Util.newColor(0xff5599), Util.newColor(0xb21e44), "pink"), @@ -225,7 +225,7 @@ public enum Color { ANDROGYNOUS(false, Util.newColor(0xB39EFF), Util.newColor(0xB39EFF), "purple", Util.newArrayListOfValues("androgynous", "andro")), FEMININE(false, Util.newColor(0xFFBDFF), Util.newColor(0xFFFBDFF), "pink", Util.newArrayListOfValues("feminine", "fem")), FEMININE_PLUS(false, Util.newColor(0xFF85FF), Util.newColor(0xFF85FF), "pink", Util.newArrayListOfValues("feminineStrong", "femStr", "femininePlus")), - + BODY_SIZE_ZERO(false, Util.newColor(0xFFEBD6), Util.newColor(0x241D00), "tan", Util.newArrayListOfValues("bodySizeZero")), BODY_SIZE_ONE(false, Util.newColor(0xFFE0BD), Util.newColor(0x3D3100), "tan", Util.newArrayListOfValues("bodySizeOne")), BODY_SIZE_TWO(false, Util.newColor(0xFFC88A), Util.newColor(0x5C4900), "tan", Util.newArrayListOfValues("bodySizeTwo")), @@ -239,7 +239,7 @@ public enum Color { MUSCLE_FOUR(false, Util.newColor(0x24FFC5), Util.newColor(0x008566), "teal", Util.newArrayListOfValues("muscleFour")), AGE_LOLI(false, Util.newColor(0xAFE9B3), Util.newColor(0xc44670), "green", Util.newArrayListOfValues("ageLoli")), //I wanted to use my own color here originally, but it doesn't work Util.newColor(0xE6EFED), Util.newColor(0x009E27) - + AGE_CHILD(false, Util.newColor(0xE1F0C1), Util.newColor(0x73A112), "green", Util.newArrayListOfValues("ageChild")), AGE_PRETEENS(false, Util.newColor(0xE1F0C1), Util.newColor(0x73A112), "green", Util.newArrayListOfValues("agePreTeens")), AGE_EARLYTEENS(false, Util.newColor(0xE1F0C1), Util.newColor(0x73A112), "green", Util.newArrayListOfValues("ageEarlyTeens")), @@ -249,7 +249,7 @@ public enum Color { AGE_FORTIES(false, Util.newColor(0xA4D246), Util.newColor(0x41590D), "green", Util.newArrayListOfValues("ageForties")), AGE_FIFTIES(false, Util.newColor(0x8AB92D), Util.newColor(0x334408), "green", Util.newArrayListOfValues("ageFifties")), AGE_SIXTIES(false, Util.newColor(0x6B9023), Util.newColor(0x232E05), "green", Util.newArrayListOfValues("ageSixties")), - + ALCOHOL(false, BaseColor.YELLOW_LIGHT, "light yellow", Util.newArrayListOfValues("alcohol")), ALCOHOL_LEVEL_ZERO(false, Util.newColor(0xF2E8C0), Util.newColor(0x967F22), "light yellow"), ALCOHOL_LEVEL_ONE(false, Util.newColor(0xEDDFAB), Util.newColor(0x967F22), "light yellow"), @@ -257,7 +257,7 @@ public enum Color { ALCOHOL_LEVEL_THREE(false, Util.newColor(0xE3CE82), Util.newColor(0x967F22), "yellow"), ALCOHOL_LEVEL_FOUR(false, Util.newColor(0xDEC66E), Util.newColor(0x967F22), "yellow"), ALCOHOL_LEVEL_FIVE(false, Util.newColor(0xD9BD59), Util.newColor(0x967F22), "gold"), - + PSYCHOACTIVE(false, BaseColor.MAGENTA, "magenta", Util.newArrayListOfValues("psychoactive")), TRANSFORMATION_SHRINK(false, BaseColor.RED, "red", Util.newArrayListOfValues("tfShrink", "shrink", "tfShrunk", "shrunk", "tfShrinking", "shrinking")), @@ -271,7 +271,7 @@ public enum Color { GENERIC_SIZE_SIX(false, Util.newColor(0x57D161), Util.newColor(0x8e011e), "green"), GENERIC_SIZE_SEVEN(false, Util.newColor(0x47CD52), Util.newColor(0x8e011e), "green"), GENERIC_SIZE_EIGHT(false, Util.newColor(0x37C843), Util.newColor(0x8e011e), "green"), - + WETNESS(false, BaseColor.BLUE_LIGHT, "light blue", Util.newArrayListOfValues("wetness", "wet", "tfWetness", "tfWet")), PLASTICITY(false, BaseColor.LILAC, "lilac", Util.newArrayListOfValues("plasticity", "tfPlasticity")), ELASTICITY(false, BaseColor.PURPLE_LIGHT, "light purple", Util.newArrayListOfValues("elasticity", "tfElasticity")), @@ -305,7 +305,7 @@ public enum Color { SPELL_SCHOOL_EARTH(false, BaseColor.BROWN, "brown", Util.newArrayListOfValues("earth", "spellEarth", "schoolEarth")), SPELL_SCHOOL_AIR(false, BaseColor.BLUE_LIGHT, "light blue", Util.newArrayListOfValues("air", "spellAir", "schoolAir")), SPELL_SCHOOL_ARCANE(false, BaseColor.PINK, "pink", Util.newArrayListOfValues("spellArcane", "schoolArcane")), - + // Rarity colors: RARITY_UNKNOWN(false, BaseColor.BLACK, "grey"), RARITY_JINXED(false, BaseColor.RED, "red", Util.newArrayListOfValues("jinx", "jinxed")), @@ -324,7 +324,7 @@ public enum Color { MILK(false, BaseColor.YELLOW_LIGHT, "light yellow", Util.newArrayListOfValues("milk", "lactation")), CUM(false, BaseColor.BLUE_LIGHT, "light blue", Util.newArrayListOfValues("cum", "cummed", "dirty")), GIRLCUM(false, BaseColor.PINK_LIGHT, "light pink", Util.newArrayListOfValues("girlcum", "gcum")), - + SEALED(false, BaseColor.PINK_DEEP, "pink"), DISPLACED(false, BaseColor.CRIMSON, "crimson"), @@ -338,7 +338,7 @@ public enum Color { CLOTHING_WHITE(false, Util.newColor(0xdddddd), Util.newColor(0xdddddd), "white"), CLOTHING_GREY(false, Util.newColor(0x777777), Util.newColor(0x777777), "grey"), CLOTHING_BLACK(false, Util.newColor(0x333333), Util.newColor(0x333333), "black"), - + CLOTHING_RED_VERY_DARK(false, Util.newColor(0x660016), Util.newColor(0x660016), "midnight red"), CLOTHING_RED_DARK(false, Util.newColor(0x900020), Util.newColor(0x900020), "burgundy"), CLOTHING_RED_BRIGHT(false, Util.newColor(0xFA2424), Util.newColor(0xFA2424), "bright red"), @@ -372,7 +372,7 @@ public enum Color { CLOTHING_PINK(false, Util.newColor(0xD75086), Util.newColor(0xD75086), "pink"), CLOTHING_PINK_DARK(false, Util.newColor(0xFF1493), Util.newColor(0xFF1493), "deep pink"), CLOTHING_PINK_HOT(false, Util.newColor(0xff69b4), Util.newColor(0xff69b4), "hot pink"), - + CLOTHING_BLACK_STEEL(true, Util.newColor(0x333333), Util.newColor(0x333333), "black steel"), CLOTHING_STEEL(true, Util.newColor(0x969696), Util.newColor(0x969696), "steel"), CLOTHING_BRASS(true, Util.newColor(0xab8317), Util.newColor(0xab8317), "brass"), @@ -381,7 +381,7 @@ public enum Color { CLOTHING_GOLD(true, Util.newColor(0xEBC633), Util.newColor(0xEBC633), "gold"), CLOTHING_ROSE_GOLD(true, BaseColor.ROSE_GOLD, "rose gold"), CLOTHING_PLATINUM(true, BaseColor.PLATINUM, "platinum"), - + // For special use with rainbow clothing: CLOTHING_MULTICOLORED(false, Util.newColor(0xff3030), Util.newColor(0xccffff), "multicolored"), @@ -397,7 +397,7 @@ public enum Color { SKIN_DARK(false, BaseColor.BROWN_DARK, "dark"), SKIN_CHOCOLATE(false, Util.newColor(0x59372D), Util.newColor(0x59372D), "chocolate"), SKIN_EBONY(false, BaseColor.BLACK, "ebony"), - + SKIN_RED(false, BaseColor.CRIMSON, "scarlet"), SKIN_RED_DARK(false, BaseColor.RED_DARK, "dark red"), SKIN_BROWN(false, BaseColor.BROWN, "brown"), @@ -485,7 +485,7 @@ public enum Color { HORN_GREY(false, BaseColor.GREY, "grey"), HORN_DARK_GREY(false, BaseColor.GREY_DARK, "dark-grey"), HORN_BLACK(false, BaseColor.BLACK, "black"), - + HORN_RED(false, BaseColor.RED, "red"), HORN_SCARLET(false, BaseColor.CRIMSON, "scarlet"), HORN_BROWN(false, BaseColor.BROWN, "brown"), @@ -505,7 +505,7 @@ public enum Color { ANTLER_GREY(false, BaseColor.GREY, "grey"), ANTLER_DARK_GREY(false, BaseColor.GREY_DARK, "dark-grey"), ANTLER_BLACK(false, BaseColor.BLACK, "black"), - + ANTLER_RED(false, BaseColor.RED, "red"), ANTLER_SCARLET(false, BaseColor.CRIMSON, "scarlet"), ANTLER_AMBER(false, BaseColor.AMBER, "amber"), @@ -558,7 +558,7 @@ public enum Color { COVERING_PINK_DARK(false, BaseColor.PINK_DEEP, "dark pink"), COVERING_GREEN(false, BaseColor.GREEN, "green"), COVERING_GREEN_DARK(false, BaseColor.GREEN_DARK, "dark green"), - + // Specials: COVERING_CLEAR(false, BaseColor.WHITE, "clear"), // For nail-polish COVERING_RAINBOW(false, BaseColor.BLUE, @@ -577,7 +577,7 @@ public enum Color { // Eye colors: EYE_WHITE(false, BaseColor.WHITE, "white"), - + EYE_BROWN(false, BaseColor.BROWN, "brown"), EYE_BLUE(false, BaseColor.BLUE_LIGHT, "blue"), EYE_HAZEL(false, BaseColor.TAN, "hazel"), @@ -592,16 +592,16 @@ public enum Color { EYE_CRIMSON(false, BaseColor.CRIMSON, "crimson"), EYE_GOLD(false, BaseColor.GOLD, "golden"), EYE_SILVER(false, BaseColor.SILVER, "silver"), - + EYE_YELLOW(false, BaseColor.YELLOW, "yellow"), EYE_AMBER(false, BaseColor.AMBER, "amber"), EYE_RED(false, BaseColor.RED, "red"), EYE_PINK(false, BaseColor.PINK, "pink"), EYE_ORANGE(false, BaseColor.ORANGE, "orange"), EYE_BLACK(false, BaseColor.BLACK, "black"); - + // Skin/fur/body part groups: - + public static List<Color> humanSkinColors = Util.newArrayListOfValues( Color.SKIN_PALE, Color.SKIN_LIGHT, @@ -615,7 +615,7 @@ public enum Color { public static List<Color> ratSkinColors = Util.newArrayListOfValues( Color.SKIN_PINK_LIGHT); - + public static List<Color> demonSkinColors = Util.newArrayListOfValues( Color.SKIN_PALE, Color.SKIN_LIGHT, @@ -701,11 +701,11 @@ public enum Color { Color.SLIME_PINK, Color.SLIME_PINK_LIGHT ); - + public static List<Color> dyeSlimeColors = Util.newArrayListOfValues( Color.SLIME_RAINBOW ); - + public static List<Color> naturalFeatherColors = Util.newArrayListOfValues( Color.COVERING_WHITE, Color.COVERING_GREY, @@ -734,7 +734,7 @@ public enum Color { Color.COVERING_PINK, Color.COVERING_PINK_LIGHT ); - + public static List<Color> dyeFeatherColors = Util.newArrayListOfValues( Color.COVERING_PLATINUM, Color.COVERING_GOLD, @@ -744,7 +744,7 @@ public enum Color { Color.COVERING_ROSE_GOLD, Color.COVERING_RAINBOW ); - + public static List<Color> naturalFurColors = Util.newArrayListOfValues( Color.COVERING_WHITE, Color.COVERING_SILVER, @@ -763,7 +763,7 @@ public enum Color { Color.COVERING_COPPER, Color.COVERING_STEEL, Color.COVERING_ROSE_GOLD, - + Color.COVERING_WHITE, Color.COVERING_GREY, Color.COVERING_BLACK, @@ -793,7 +793,7 @@ public enum Color { Color.COVERING_PINK_LIGHT, Color.COVERING_RAINBOW ); - + public static List<Color> allMakeupColors = Util.mergeLists(Util.newArrayListOfValues(Color.COVERING_CLEAR), allCoveringColors); public static List<Color> naturalScaleColors = Util.newArrayListOfValues( @@ -808,7 +808,7 @@ public enum Color { Color.HORN_GREY, Color.HORN_DARK_GREY, Color.HORN_BLACK); - + public static List<Color> dyeHornColors = Util.newArrayListOfValues( Color.HORN_RED, Color.HORN_SCARLET, @@ -831,7 +831,7 @@ public enum Color { Color.ANTLER_GREY, Color.ANTLER_DARK_GREY, Color.ANTLER_BLACK); - + public static List<Color> dyeAntlerColors = Util.newArrayListOfValues( Color.ANTLER_RED, @@ -843,9 +843,9 @@ public enum Color { Color.ANTLER_LILAC, Color.ANTLER_PURPLE, Color.COVERING_RAINBOW); - + // Hair: - + public static List<Color> naturalHairColors = Util.newArrayListOfValues( Color.COVERING_WHITE, Color.COVERING_BLONDE, @@ -856,9 +856,9 @@ public enum Color { Color.COVERING_AUBURN, Color.COVERING_GREY, Color.COVERING_BLACK); - + // Eyes: - + public static List<Color> naturalIrisColors = Util.newArrayListOfValues( Color.EYE_BROWN, Color.EYE_AMBER, @@ -867,7 +867,7 @@ public enum Color { Color.EYE_AQUA, Color.EYE_GREEN, Color.EYE_GREY); - + public static List<Color> dyeIrisColors = Util.newArrayListOfValues( Color.EYE_SILVER, Color.EYE_YELLOW, @@ -901,12 +901,12 @@ public enum Color { Color.EYE_LILAC, Color.EYE_PURPLE, Color.EYE_BLACK); - + public static List<Color> dyeDemonIrisColors = Util.newArrayListOfValues( Color.EYE_SILVER, Color.EYE_GOLD, Color.COVERING_RAINBOW); - + public static List<Color> naturalPredatorIrisColors = Util.newArrayListOfValues( Color.EYE_BROWN, Color.EYE_AMBER, @@ -915,7 +915,7 @@ public enum Color { Color.EYE_AQUA, Color.EYE_GREEN, Color.EYE_GREY); - + public static List<Color> dyePredatorIrisColors = Util.newArrayListOfValues( Color.EYE_SILVER, Color.EYE_GOLD, @@ -928,10 +928,10 @@ public enum Color { Color.EYE_PURPLE, Color.EYE_BLACK, Color.COVERING_RAINBOW); - + public static List<Color> naturalPupilColors = Util.newArrayListOfValues( Color.EYE_BLACK); - + public static List<Color> dyePupilColors = Util.newArrayListOfValues( Color.EYE_WHITE, Color.EYE_SILVER, @@ -952,10 +952,10 @@ public enum Color { Color.EYE_LILAC, Color.EYE_PURPLE, Color.COVERING_RAINBOW); - + public static List<Color> naturalScleraColors = Util.newArrayListOfValues( Color.EYE_WHITE); - + public static List<Color> dyeScleraColors = Util.newArrayListOfValues( Color.EYE_BLACK, Color.EYE_SILVER, @@ -976,27 +976,27 @@ public enum Color { Color.EYE_LILAC, Color.EYE_PURPLE, Color.COVERING_RAINBOW); - + private Color color; private Color lightColor; private boolean metallic; private String name; private List<String> formattingNames; - + private Color(boolean metallic, Color color, Color lightColor, String name) { this.metallic = metallic; this.color = color; this.lightColor = lightColor; this.name = name; } - + private Color(boolean metallic, BaseColor color, String name) { this.metallic = metallic; this.color = color.getColor(); this.lightColor = color.getLightColor(); this.name = name; } - + // Constructors with formatting names: private Color(boolean metallic, Color color, Color lightColor, String name, List<String> formattingNames) { this.metallic = metallic; @@ -1005,7 +1005,7 @@ public enum Color { this.name = name; this.formattingNames=formattingNames; } - + private Color(boolean metallic, BaseColor color, String name, List<String> formattingNames) { this.metallic = metallic; this.color = color.getColor(); @@ -1016,7 +1016,7 @@ public enum Color { /** * Returns a String in the format RRGGBB - * + * * @return */ public String toWebHexString() { @@ -1029,7 +1029,7 @@ public enum Color { return lightColor; else return color; - + } else { return color; } @@ -1053,7 +1053,7 @@ public enum Color { public String[] getShades() { return getShades(5); } - + public String[] getShades(int shadesCount) { return getShades(shadesCount, false, 1); } @@ -1061,7 +1061,7 @@ public enum Color { public String[] getShadesRgbaFormat(float opacity) { return getShades(5, true, opacity); } - + /** * @param shadesCount Number of shades to calculate. * @return Array of Strings, with each one being in the format:<br/> @@ -1070,7 +1070,7 @@ public enum Color { public String[] getShadesRgbaFormat(int shadesCount, float opacity) { return getShades(shadesCount, true, opacity); } - + private String[] getShades(int shadesCount, boolean rgba, float opacity) { String[] shadesString = new String[shadesCount]; float luminosity = -0.5f; @@ -1089,7 +1089,7 @@ public enum Color { b = blu + (int)(blu * (i * increment + luminosity)); b = Math.max(Math.min(b, 255), 0); - + if(rgba) { shadesString[i] = "rgba("+r+","+g+","+b+", "+opacity+")"; } else { diff --git a/src/com/lilithsthrone/utils/ColorListPresets.java b/src/com/lilithsthrone/utils/ColorListPresets.java index 734df8c61..7a7708e94 100644 --- a/src/com/lilithsthrone/utils/ColorListPresets.java +++ b/src/com/lilithsthrone/utils/ColorListPresets.java @@ -11,46 +11,46 @@ import java.util.List; public enum ColorListPresets { NONE(new ArrayList<>()), - + JUST_WHITE(Util.newArrayListOfValues( Color.CLOTHING_WHITE)), - + JUST_BLACK(Util.newArrayListOfValues( Color.CLOTHING_BLACK)), JUST_DARK_RED(Util.newArrayListOfValues( Color.CLOTHING_RED_DARK)), - + JUST_RED(Util.newArrayListOfValues( Color.CLOTHING_RED)), - + JUST_TAN(Util.newArrayListOfValues( Color.CLOTHING_TAN)), - + JUST_BROWN(Util.newArrayListOfValues( Color.CLOTHING_BROWN)), JUST_DARK_BROWN(Util.newArrayListOfValues( Color.CLOTHING_BROWN_DARK)), - + JUST_ORANGE(Util.newArrayListOfValues( Color.CLOTHING_ORANGE)), - + JUST_YELLOW(Util.newArrayListOfValues( Color.CLOTHING_YELLOW)), - + JUST_PINK(Util.newArrayListOfValues( Color.CLOTHING_PINK)), - + JUST_GREY(Util.newArrayListOfValues( Color.CLOTHING_GREY)), - + JUST_GOLD(Util.newArrayListOfValues( Color.CLOTHING_GOLD)), - + JUST_ROSE_GOLD(Util.newArrayListOfValues( Color.CLOTHING_ROSE_GOLD)), - + JUST_STEEL(Util.newArrayListOfValues( Color.CLOTHING_STEEL)), @@ -59,11 +59,11 @@ public enum ColorListPresets { JUST_COPPER(Util.newArrayListOfValues( Color.CLOTHING_COPPER)), - + BLACK_OR_WHITE(Util.newArrayListOfValues( Color.CLOTHING_BLACK, Color.CLOTHING_WHITE)), - + DENIM(Util.newArrayListOfValues( Color.CLOTHING_BLUE_LIGHT, Color.CLOTHING_BLUE, @@ -72,7 +72,7 @@ public enum ColorListPresets { Color.CLOTHING_WHITE, Color.CLOTHING_GREY, Color.CLOTHING_BLACK)), - + KIMONO(Util.newArrayListOfValues( Color.CLOTHING_BLUE_LIGHT, Color.CLOTHING_PINK_LIGHT, @@ -83,12 +83,12 @@ public enum ColorListPresets { Color.CLOTHING_TURQUOISE, Color.CLOTHING_WHITE, Color.CLOTHING_YELLOW)), - + MAID(Util.newArrayListOfValues( Color.CLOTHING_PINK_LIGHT, Color.CLOTHING_PINK, Color.CLOTHING_BLACK)), - + MILK_MAID(Util.newArrayListOfValues( Color.CLOTHING_PINK_LIGHT, Color.CLOTHING_BLUE_LIGHT, @@ -97,7 +97,7 @@ public enum ColorListPresets { Color.CLOTHING_TAN, Color.CLOTHING_BROWN, Color.CLOTHING_BLACK)), - + LEATHER(Util.newArrayListOfValues( Color.CLOTHING_WHITE, Color.CLOTHING_BLACK, @@ -106,7 +106,7 @@ public enum ColorListPresets { Color.CLOTHING_BROWN_DARK, Color.CLOTHING_BROWN_VERY_DARK, Color.CLOTHING_TAN)), - + LINGERIE(Util.newArrayListOfValues( Color.CLOTHING_WHITE, Color.CLOTHING_BLACK, @@ -144,7 +144,7 @@ public enum ColorListPresets { Color.CLOTHING_PINK, Color.CLOTHING_PINK_HOT, Color.CLOTHING_PINK_DARK)), - + ALL_METAL(Util.newArrayListOfValues( Color.CLOTHING_BLACK_STEEL, Color.CLOTHING_STEEL, @@ -154,7 +154,7 @@ public enum ColorListPresets { Color.CLOTHING_ROSE_GOLD, Color.CLOTHING_GOLD, Color.CLOTHING_PLATINUM)), - + NOT_WHITE(Util.newArrayListOfValues( Color.CLOTHING_BLACK, Color.CLOTHING_GREY, @@ -191,7 +191,7 @@ public enum ColorListPresets { Color.CLOTHING_PINK, Color.CLOTHING_PINK_HOT, Color.CLOTHING_PINK_DARK)), - + ALL(Util.newArrayListOfValues( Color.CLOTHING_WHITE, Color.CLOTHING_BLACK, @@ -229,7 +229,7 @@ public enum ColorListPresets { Color.CLOTHING_PINK, Color.CLOTHING_PINK_HOT, Color.CLOTHING_PINK_DARK)), - + ALL_WITH_METALS(Util.newArrayListOfValues( Color.CLOTHING_WHITE, Color.CLOTHING_BLACK, @@ -275,9 +275,9 @@ public enum ColorListPresets { Color.CLOTHING_ROSE_GOLD, Color.CLOTHING_GOLD, Color.CLOTHING_PLATINUM)); - + private List<Color> presetColorList; - + public List<Color> getPresetColorList() { return presetColorList; } diff --git a/src/com/lilithsthrone/utils/InventoryClothingComparator.java b/src/com/lilithsthrone/utils/InventoryClothingComparator.java index c40591537..2d55da93a 100644 --- a/src/com/lilithsthrone/utils/InventoryClothingComparator.java +++ b/src/com/lilithsthrone/utils/InventoryClothingComparator.java @@ -20,15 +20,15 @@ public class InventoryClothingComparator implements Comparator<AbstractClothing> } else if(!first.isEnchantmentKnown() && second.isEnchantmentKnown()) { return 1; } - + int result = first.getRarity().compareTo(second.getRarity()); - + if (result != 0) { return result; - + } else { result = first.getClothingType().toString().compareTo(second.getClothingType().toString()); - + if(result!=0) { return result; } else { diff --git a/src/com/lilithsthrone/utils/ReverseClothingZLayerComparator.java b/src/com/lilithsthrone/utils/ReverseClothingZLayerComparator.java index d886443a1..c16c79584 100644 --- a/src/com/lilithsthrone/utils/ReverseClothingZLayerComparator.java +++ b/src/com/lilithsthrone/utils/ReverseClothingZLayerComparator.java @@ -6,7 +6,7 @@ import com.lilithsthrone.game.inventory.clothing.AbstractClothing; /** * Compares by zLayer. - * + * * @since 0.1.0 * @version 0.1.0 * @author Innoxia diff --git a/src/com/lilithsthrone/utils/SvgUtil.java b/src/com/lilithsthrone/utils/SvgUtil.java index 61d316d17..4f73f9cca 100644 --- a/src/com/lilithsthrone/utils/SvgUtil.java +++ b/src/com/lilithsthrone/utils/SvgUtil.java @@ -13,34 +13,8 @@ public class SvgUtil { String s = inputString; s = s.replaceAll("linearGradient\\d|innoGrad\\d|radialGradient\\d", -<<<<<<< HEAD - gradientReplacementID + colour.toString() + (colourSecondary!=null?colourSecondary.toString():"") + (colourTertiary!=null?colourTertiary.toString():"") + "$0"); - - if(colour!=null) { - s = s.replaceAll("#f4d7d7", colour.getShades()[0]); - s = s.replaceAll("#e9afaf", colour.getShades()[1]); - s = s.replaceAll("#de8787", colour.getShades()[2]); - s = s.replaceAll("#d35f5f", colour.getShades()[3]); - s = s.replaceAll("#c83737", colour.getShades()[4]); - } - - if(colourSecondary!=null) { - s = s.replaceAll("#f4e3d7", colourSecondary.getShades()[0]); - s = s.replaceAll("#e9c6af", colourSecondary.getShades()[1]); - s = s.replaceAll("#deaa87", colourSecondary.getShades()[2]); - s = s.replaceAll("#d38d5f", colourSecondary.getShades()[3]); - s = s.replaceAll("#c87137", colourSecondary.getShades()[4]); - } - - if(colourTertiary!=null) { - s = s.replaceAll("#f4eed7", colourTertiary.getShades()[0]); - s = s.replaceAll("#e9ddaf", colourTertiary.getShades()[1]); - s = s.replaceAll("#decd87", colourTertiary.getShades()[2]); - s = s.replaceAll("#d3bc5f", colourTertiary.getShades()[3]); - s = s.replaceAll("#c8ab37", colourTertiary.getShades()[4]); -======= gradientReplacementID + color.toString() + (colorSecondary!=null?colorSecondary.toString():"") + (colorTertiary!=null?colorTertiary.toString():"") + "$0"); - + if(color!=null) { s = s.replaceAll("#f4d7d7", color.getShades()[0]); s = s.replaceAll("#e9afaf", color.getShades()[1]); @@ -48,7 +22,7 @@ public class SvgUtil { s = s.replaceAll("#d35f5f", color.getShades()[3]); s = s.replaceAll("#c83737", color.getShades()[4]); } - + if(colorSecondary!=null) { s = s.replaceAll("#f4e3d7", colorSecondary.getShades()[0]); s = s.replaceAll("#e9c6af", colorSecondary.getShades()[1]); @@ -56,27 +30,20 @@ public class SvgUtil { s = s.replaceAll("#d38d5f", colorSecondary.getShades()[3]); s = s.replaceAll("#c87137", colorSecondary.getShades()[4]); } - + if(colorTertiary!=null) { s = s.replaceAll("#f4eed7", colorTertiary.getShades()[0]); s = s.replaceAll("#e9ddaf", colorTertiary.getShades()[1]); s = s.replaceAll("#decd87", colorTertiary.getShades()[2]); s = s.replaceAll("#d3bc5f", colorTertiary.getShades()[3]); s = s.replaceAll("#c8ab37", colorTertiary.getShades()[4]); ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b } return s; } -<<<<<<< HEAD - public static String colourReplacement(String gradientReplacementID, Colour colour, String inputString) { - return colourReplacement(gradientReplacementID, colour, null, null, inputString); -======= - public static String colorReplacement(String gradientReplacementID, Color color, String inputString) { return colorReplacement(gradientReplacementID, color, null, null, inputString); ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b } public static String colorReplacement(String gradientReplacementID, Color color, Color colorSecondary, Color colorTertiary, String inputString) { @@ -89,32 +56,7 @@ public class SvgUtil { // Fixes issue of SVG icons overflowing: s = s.replaceFirst("width=\"100%\"\\R height=\"100%\"", ""); -<<<<<<< HEAD - - if(colour!=null) { - s = s.replaceAll("#ff2a2a", colour.getShades()[0]); - s = s.replaceAll("#ff5555|#f55(?!\\d)", colour.getShades()[1]); - s = s.replaceAll("#ff8080", colour.getShades()[2]); - s = s.replaceAll("#ffaaaa|#faa(?!\\d)", colour.getShades()[3]); - s = s.replaceAll("#ffd5d5", colour.getShades()[4]); - } - if(colourSecondary!=null) { - s = s.replaceAll("#ff7f2a", colourSecondary.getShades()[0]); - s = s.replaceAll("#ff9955|#f95(?!\\d)", colourSecondary.getShades()[1]); - s = s.replaceAll("#ffb380", colourSecondary.getShades()[2]); - s = s.replaceAll("#ffccaa|#fca(?!\\d)", colourSecondary.getShades()[3]); - s = s.replaceAll("#ffe6d5", colourSecondary.getShades()[4]); - } - - if(colourTertiary!=null) { - s = s.replaceAll("#ffd42a", colourTertiary.getShades()[0]); - s = s.replaceAll("#ffdd55|#fd5(?!\\d)", colourTertiary.getShades()[1]); - s = s.replaceAll("#ffe680", colourTertiary.getShades()[2]); - s = s.replaceAll("#ffeeaa|#fea(?!\\d)", colourTertiary.getShades()[3]); - s = s.replaceAll("#fff6d5", colourTertiary.getShades()[4]); -======= - if(color!=null) { s = s.replaceAll("#ff2a2a", color.getShades()[0]); s = s.replaceAll("#ff5555|#f55(?!\\d)", color.getShades()[1]); @@ -122,7 +64,7 @@ public class SvgUtil { s = s.replaceAll("#ffaaaa|#faa(?!\\d)", color.getShades()[3]); s = s.replaceAll("#ffd5d5", color.getShades()[4]); } - + if(colorSecondary!=null) { s = s.replaceAll("#ff7f2a", colorSecondary.getShades()[0]); s = s.replaceAll("#ff9955|#f95(?!\\d)", colorSecondary.getShades()[1]); @@ -130,27 +72,20 @@ public class SvgUtil { s = s.replaceAll("#ffccaa|#fca(?!\\d)", colorSecondary.getShades()[3]); s = s.replaceAll("#ffe6d5", colorSecondary.getShades()[4]); } - + if(colorTertiary!=null) { s = s.replaceAll("#ffd42a", colorTertiary.getShades()[0]); s = s.replaceAll("#ffdd55|#fd5(?!\\d)", colorTertiary.getShades()[1]); s = s.replaceAll("#ffe680", colorTertiary.getShades()[2]); s = s.replaceAll("#ffeeaa|#fea(?!\\d)", colorTertiary.getShades()[3]); s = s.replaceAll("#fff6d5", colorTertiary.getShades()[4]); ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b } return s; } -<<<<<<< HEAD - public static String colourReplacement(String gradientReplacementID, BaseColour colour, String inputString) { - return colourReplacement(gradientReplacementID, colour, null, null, inputString); -======= - public static String colorReplacement(String gradientReplacementID, BaseColor color, String inputString) { return colorReplacement(gradientReplacementID, color, null, null, inputString); ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b } public static String colorReplacement(String gradientReplacementID, BaseColor color, BaseColor colorSecondary, BaseColor colorTertiary, String inputString) { @@ -163,32 +98,7 @@ public class SvgUtil { // Fixes issue of SVG icons overflowing: s = s.replaceFirst("width=\"100%\"\\R height=\"100%\"", ""); -<<<<<<< HEAD - - if(colour!=null) { - s = s.replaceAll("#ff2a2a", colour.getShades()[0]); - s = s.replaceAll("#ff5555|#f55(?!\\d)", colour.getShades()[1]); - s = s.replaceAll("#ff8080", colour.getShades()[2]); - s = s.replaceAll("#ffaaaa|#faa(?!\\d)", colour.getShades()[3]); - s = s.replaceAll("#ffd5d5", colour.getShades()[4]); - } - if(colourSecondary!=null) { - s = s.replaceAll("#ff7f2a", colourSecondary.getShades()[0]); - s = s.replaceAll("#ff9955|#f95(?!\\d)", colourSecondary.getShades()[1]); - s = s.replaceAll("#ffb380", colourSecondary.getShades()[2]); - s = s.replaceAll("#ffccaa|#fca(?!\\d)", colourSecondary.getShades()[3]); - s = s.replaceAll("#ffe6d5", colourSecondary.getShades()[4]); - } - - if(colourTertiary!=null) { - s = s.replaceAll("#ffd42a", colourTertiary.getShades()[0]); - s = s.replaceAll("#ffdd55|#fd5(?!\\d)", colourTertiary.getShades()[1]); - s = s.replaceAll("#ffe680", colourTertiary.getShades()[2]); - s = s.replaceAll("#ffeeaa|#fea(?!\\d)", colourTertiary.getShades()[3]); - s = s.replaceAll("#fff6d5", colourTertiary.getShades()[4]); -======= - if(color!=null) { s = s.replaceAll("#ff2a2a", color.getShades()[0]); s = s.replaceAll("#ff5555|#f55(?!\\d)", color.getShades()[1]); @@ -196,7 +106,7 @@ public class SvgUtil { s = s.replaceAll("#ffaaaa|#faa(?!\\d)", color.getShades()[3]); s = s.replaceAll("#ffd5d5", color.getShades()[4]); } - + if(colorSecondary!=null) { s = s.replaceAll("#ff7f2a", colorSecondary.getShades()[0]); s = s.replaceAll("#ff9955|#f95(?!\\d)", colorSecondary.getShades()[1]); @@ -204,14 +114,13 @@ public class SvgUtil { s = s.replaceAll("#ffccaa|#fca(?!\\d)", colorSecondary.getShades()[3]); s = s.replaceAll("#ffe6d5", colorSecondary.getShades()[4]); } - + if(colorTertiary!=null) { s = s.replaceAll("#ffd42a", colorTertiary.getShades()[0]); s = s.replaceAll("#ffdd55|#fd5(?!\\d)", colorTertiary.getShades()[1]); s = s.replaceAll("#ffe680", colorTertiary.getShades()[2]); s = s.replaceAll("#ffeeaa|#fea(?!\\d)", colorTertiary.getShades()[3]); s = s.replaceAll("#fff6d5", colorTertiary.getShades()[4]); ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b } return s; diff --git a/src/com/lilithsthrone/utils/Util.java b/src/com/lilithsthrone/utils/Util.java index d50314189..c340d17d4 100644 --- a/src/com/lilithsthrone/utils/Util.java +++ b/src/com/lilithsthrone/utils/Util.java @@ -127,27 +127,15 @@ public class Util { double r = (first.getRed() + second.getRed())/2, g = (first.getGreen() + second.getGreen())/2, b = (first.getBlue() + second.getBlue())/2; -<<<<<<< HEAD - return newColour(r*255, g*255, b*255); - } - - public static String toWebHexString(Color colour) { - return colour.toString().substring(2, 8); - } - - public static Color newColour(double r, double g, double b) { -======= - return newColor(r*255, g*255, b*255); } - + public static String toWebHexString(Color color) { return color.toString().substring(2, 8); } - + public static Color newColor(double r, double g, double b) { ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b return Color.color(r / 255, g / 255, b / 255); } @@ -910,23 +898,13 @@ public class Util { public static String SplitR(String choices, String splitter) { return choices.split(splitter)[random.nextInt(choices.length() - choices.replace(splitter, "").length() + 1)]; }; -<<<<<<< HEAD - public static String subspeciesToStringList(Collection<Subspecies> subspecies, boolean capitalise) { - return Util.toStringList(subspecies, - (Subspecies o) -> - "<span style='color:"+o.getColour(null).toWebHexString()+";'>" - +(capitalise - ?Util.capitaliseSentence(o.getNamePlural(null)) -======= - public static String subspeciesToStringList(Collection<Subspecies> subspecies, boolean capitalize) { return Util.toStringList(subspecies, - (Subspecies o) -> + (Subspecies o) -> "<span style='color:"+o.getColor(null).toWebHexString()+";'>" +(capitalize ?Util.capitalizeSentence(o.getNamePlural(null)) ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b :o.getNamePlural(null)) +"</span>", "and"); diff --git a/src/com/lilithsthrone/world/Cell.java b/src/com/lilithsthrone/world/Cell.java index 59dba21ae..00cac49b3 100644 --- a/src/com/lilithsthrone/world/Cell.java +++ b/src/com/lilithsthrone/world/Cell.java @@ -113,13 +113,8 @@ public class Cell implements XMLSaving { cell.setDiscovered(Boolean.valueOf(parentElement.getAttribute("discovered"))); if(Main.isVersionOlderThan(Game.loadingVersion, "0.2.11.5")) { -<<<<<<< HEAD - cell.setTravelledTo(Boolean.valueOf(parentElement.getAttribute("discovered"))); - -======= cell.setTraveledTo(Boolean.valueOf(parentElement.getAttribute("discovered"))); - ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b + } else { try { if(type.isRevealedOnStart()) { diff --git a/src/com/lilithsthrone/world/Generation.java b/src/com/lilithsthrone/world/Generation.java index 377bafd5b..6dd28bee0 100644 --- a/src/com/lilithsthrone/world/Generation.java +++ b/src/com/lilithsthrone/world/Generation.java @@ -114,13 +114,8 @@ public class Generation extends Task<Boolean> { if(debug) System.out.println(worldType.getName()+" Start 3"); -<<<<<<< HEAD - // Initialise grid: -======= - // Initialize grid: ->>>>>>> 0948c6a18224b62e752f69a45f26096c86bc585b Cell[][] grid = new Cell[width][height]; if(debug) diff --git a/src/com/lilithsthrone/world/World.java b/src/com/lilithsthrone/world/World.java index 32e8f97ac..ae64d5a88 100644 --- a/src/com/lilithsthrone/world/World.java +++ b/src/com/lilithsthrone/world/World.java @@ -23,7 +23,7 @@ public class World implements XMLSaving { public final int WORLD_WIDTH, WORLD_HEIGHT; public static final int CELL_SIZE = 64; - + private Cell[][] grid; private WorldType worldType; @@ -34,16 +34,16 @@ public class World implements XMLSaving { this.grid = grid; this.worldType = worldType; } - + @Override public Element saveAsXML(Element parentElement, Document doc) { Element element = doc.createElement("world"); parentElement.appendChild(element); - + CharacterUtils.addAttribute(doc, element, "worldType", this.getWorldType().toString()); CharacterUtils.addAttribute(doc, element, "width", String.valueOf(this.WORLD_WIDTH)); CharacterUtils.addAttribute(doc, element, "height", String.valueOf(this.WORLD_HEIGHT)); - + Element innerElement = doc.createElement("grid"); element.appendChild(innerElement); for(int i=0; i<grid.length; i++) { @@ -53,10 +53,10 @@ public class World implements XMLSaving { } } } - + return element; } - + public static World loadFromXML(Element parentElement, Document doc) { WorldType type = WorldType.EMPTY; String worldType = parentElement.getAttribute("worldType"); @@ -65,7 +65,7 @@ public class World implements XMLSaving { } else { type = WorldType.valueOf(worldType); } - + int width = Integer.valueOf(parentElement.getAttribute("width")); int height = Integer.valueOf(parentElement.getAttribute("height")); Cell[][] newGrid = new Cell[width][height]; @@ -75,15 +75,15 @@ public class World implements XMLSaving { newGrid[i][j].getPlace().setPlaceType(PlaceType.GENERIC_IMPASSABLE); } } - + NodeList cells = ((Element) parentElement.getElementsByTagName("grid").item(0)).getElementsByTagName("cell"); for(int i = 0; i < cells.getLength(); i++){ Element e = (Element) cells.item(i); - + Cell c = Cell.loadFromXML(e, doc); newGrid[c.getLocation().getX()][c.getLocation().getY()] = c; } - + return new World(width, height, newGrid, type); } @@ -102,7 +102,7 @@ public class World implements XMLSaving { throw ex; } } - + /** * @param place The PlaceType to find a Cell of. * @return A Cell of the PlaceType defined by the argument 'place'. If there are multiple Cells with the same PlaceType, the first one that is found is returned. @@ -117,7 +117,7 @@ public class World implements XMLSaving { } return null; } - + public Cell getClosestCell(Vector2i location, PlaceType place) { float distance = 10000f; Cell closestCell = null; @@ -134,7 +134,7 @@ public class World implements XMLSaving { } return closestCell; } - + /** * @param place The PlaceType to find a Cell of. * @return A random, unoccupied Cell of the PlaceType defined by the argument 'place'. If there are no unoccupied Cells with this PlaceType, a random occupied one is returned instead. @@ -154,7 +154,7 @@ public class World implements XMLSaving { } return cells.get(Util.random.nextInt(cells.size())); } - + /** * @param place The PlaceType to find a Cell of. * @return A Cell of the PlaceType defined by the argument 'place'. If there are multiple Cells with the same PlaceType, a random one is returned. @@ -171,14 +171,14 @@ public class World implements XMLSaving { if(corridorCells.isEmpty()) { return null; } - + return corridorCells.get(Util.random.nextInt(corridorCells.size())); } - + public Cell getNearestCell(PlaceType place, Vector2i startLocation) { Cell nearestCell = null; float closestDistance = 10000f; - + for(int i=0; i<grid.length; i++) { for(int j=0; j<grid[0].length; j++) { if(grid[i][j].getPlace().getPlaceType().equals(place)) { @@ -190,10 +190,10 @@ public class World implements XMLSaving { } } } - + return nearestCell; } - + public Cell[][] getCellGrid() { return grid; diff --git a/src/com/lilithsthrone/world/WorldType.java b/src/com/lilithsthrone/world/WorldType.java index 0a32be764..90b4b5a62 100644 --- a/src/com/lilithsthrone/world/WorldType.java +++ b/src/com/lilithsthrone/world/WorldType.java @@ -15,9 +15,9 @@ import com.lilithsthrone.world.places.PlaceType; * @author Innoxia */ public enum WorldType { - + // Dominion: - + WORLD_MAP("Lilith's Realm", Color.BASE_TAN, 1, @@ -27,40 +27,40 @@ public enum WorldType { new Value<>(new Color(0x61997e), PlaceType.WORLD_MAP_THICK_JUNGLE), // thick jungle new Value<>(new Color(0x81cca8), PlaceType.WORLD_MAP_JUNGLE), // jungle new Value<>(new Color(0xb377b0), PlaceType.WORLD_MAP_JUNGLE_CITY), // jungle city - + new Value<>(new Color(0x696969), PlaceType.WORLD_MAP_FOOTHILLS), // foothills new Value<>(new Color(0xc1c1c1), PlaceType.WORLD_MAP_MOUNTAINS), // low mountains new Value<>(new Color(0xe0e0e0), PlaceType.WORLD_MAP_SNOWY_MOUNTAINS), // snowy mountains - + new Value<>(new Color(0xffffff), PlaceType.WORLD_MAP_SNOWY_VALLEY), // snowy valley new Value<>(new Color(0xadffff), PlaceType.WORLD_MAP_GLACIAL_LAKE), // glacial lake - + new Value<>(new Color(0x8500ff), PlaceType.WORLD_MAP_DOMINION), // dominion new Value<>(new Color(0xcbf1d5), PlaceType.WORLD_MAP_GRASSLANDS), // wild grasslands new Value<>(new Color(0xe2ffd7), PlaceType.WORLD_MAP_FIELDS), // foloi fields new Value<>(new Color(0xb4c490), PlaceType.WORLD_MAP_FOREST), // forest new Value<>(new Color(0xd544ae), PlaceType.WORLD_MAP_FIELDS_CITY), // Elis - + new Value<>(new Color(0x98c488), PlaceType.WORLD_MAP_YOUKO_FOREST), // shinrin highland - + new Value<>(new Color(0x62e6d3), PlaceType.WORLD_MAP_WILD_RIVER), // dangrous river new Value<>(new Color(0xa7fce8), PlaceType.WORLD_MAP_RIVER), // river - + new Value<>(new Color(0xc4fcff), PlaceType.WORLD_MAP_SEA), // endless sea new Value<>(new Color(0x8264b0), PlaceType.WORLD_MAP_SEA_CITY), // sea city - + new Value<>(new Color(0xebffc4), PlaceType.WORLD_MAP_ARID_GRASSLAND), // arid grassland new Value<>(new Color(0xd3e6b0), PlaceType.WORLD_MAP_ARID_SAVANNAH), // savannah - + new Value<>(new Color(0xffefc4), PlaceType.WORLD_MAP_DESERT), // desert new Value<>(new Color(0xffce4a), PlaceType.WORLD_MAP_SAND_DUNES), // sand dunes new Value<>(new Color(0xd5445e), PlaceType.WORLD_MAP_DESERT_CITY), // desert city - + new Value<>(new Color(0xff8100), PlaceType.WORLD_MAP_VOLCANO), // volcano new Value<>(new Color(0x3b3b3b), PlaceType.WORLD_MAP_LAVA_FLOWS) // lava flows )), - + DOMINION("Dominion", Color.BASE_PURPLE, 1, @@ -68,18 +68,18 @@ public enum WorldType { PlaceType.WORLD_MAP_DOMINION, Util.newHashMapOfValues( new Value<>(new Color(0xFFFFFF), PlaceType.GENERIC_IMPASSABLE), - + new Value<>(new Color(0x808080), PlaceType.DOMINION_STREET), new Value<>(new Color(0x404040), PlaceType.DOMINION_BOULEVARD), new Value<>(new Color(0x808000), PlaceType.DOMINION_EXIT_TO_SUBMISSION), - + new Value<>(new Color(0xc10000), PlaceType.DOMINION_BACK_ALLEYS), new Value<>(new Color(0x5b0000), PlaceType.DOMINION_DARK_ALLEYS), new Value<>(new Color(0x40b4ff), PlaceType.DOMINION_ALLEYS_CANAL_CROSSING), - + new Value<>(new Color(0x0080ff), PlaceType.DOMINION_CANAL), new Value<>(new Color(0x004080), PlaceType.DOMINION_CANAL_END), - + new Value<>(new Color(0x000000), PlaceType.DOMINION_DEMON_HOME_GATE), new Value<>(new Color(0xff80ff), PlaceType.DOMINION_DEMON_HOME), new Value<>(new Color(0xff9100), PlaceType.DOMINION_DEMON_HOME_ARTHUR), @@ -90,7 +90,7 @@ public enum WorldType { new Value<>(new Color(0xff4a00), PlaceType.DOMINION_EXIT_TO_FIELDS), new Value<>(new Color(0x008040), PlaceType.DOMINION_EXIT_TO_JUNGLE), new Value<>(new Color(0xffff80), PlaceType.DOMINION_EXIT_TO_DESERT), - + new Value<>(new Color(0x008080), PlaceType.DOMINION_STREET_HARPY_NESTS), new Value<>(new Color(0x00ff80), PlaceType.DOMINION_HARPY_NESTS_ENTRANCE), @@ -102,9 +102,9 @@ public enum WorldType { new Value<>(new Color(0xff0000), PlaceType.DOMINION_SLAVER_ALLEY), new Value<>(new Color(0x4bff00), PlaceType.DOMINION_PARK), new Value<>(new Color(0xff4000), PlaceType.DOMINION_RED_LIGHT_DISTRICT) - + )), - + // Empty: EMPTY("City", @@ -153,7 +153,7 @@ public enum WorldType { return true; } }, - + LILAYAS_HOUSE_GROUND_FLOOR("Lilaya's Home", Color.BASE_BLUE_LIGHT, 1, @@ -177,7 +177,7 @@ public enum WorldType { return true; } }, - + LILAYAS_HOUSE_FIRST_FLOOR("Lilaya's Home", Color.BASE_BLUE_LIGHT, 1, @@ -197,7 +197,7 @@ public enum WorldType { return true; } }, - + ZARANIX_HOUSE_FIRST_FLOOR("Zaranix's Home", Color.BASE_CRIMSON, 1, @@ -210,7 +210,7 @@ public enum WorldType { new Value<>(new Color(0xff80ff), PlaceType.ZARANIX_FF_OFFICE), new Value<>(new Color(0xff00ff), PlaceType.ZARANIX_FF_ROOM), new Value<>(new Color(0x8000ff), PlaceType.ZARANIX_FF_MAID))), - + ZARANIX_HOUSE_GROUND_FLOOR("Zaranix's Home", Color.BASE_CRIMSON, 1, @@ -235,16 +235,16 @@ public enum WorldType { PlaceType.WORLD_MAP_DOMINION, Util.newHashMapOfValues( new Value<>(new Color(0xFFFFFF), PlaceType.GENERIC_IMPASSABLE), - + new Value<>(new Color(0x808080), PlaceType.HARPY_NESTS_WALKWAYS), new Value<>(new Color(0x404040), PlaceType.HARPY_NESTS_WALKWAYS_BRIDGE), - + new Value<>(new Color(0x00ff80), PlaceType.HARPY_NESTS_ENTRANCE_ENFORCER_POST), new Value<>(new Color(0xff0000), PlaceType.HARPY_NESTS_HARPY_NEST_RED), new Value<>(new Color(0xff00ff), PlaceType.HARPY_NESTS_HARPY_NEST_PINK), new Value<>(new Color(0xffff00), PlaceType.HARPY_NESTS_HARPY_NEST_YELLOW), new Value<>(new Color(0xff9100), PlaceType.HARPY_NESTS_ALEXAS_NEST))), - + SLAVER_ALLEY("Slaver Alley", Color.BASE_RED, 1, @@ -257,22 +257,22 @@ public enum WorldType { new Value<>(new Color(0xff80ff), PlaceType.SLAVER_ALLEY_STALL_FEMALES), new Value<>(new Color(0x0080ff), PlaceType.SLAVER_ALLEY_STALL_MALES), - + new Value<>(new Color(0xff8000), PlaceType.SLAVER_ALLEY_STALL_ANAL), new Value<>(new Color(0xff00ff), PlaceType.SLAVER_ALLEY_STALL_VAGINAL), new Value<>(new Color(0xff8080), PlaceType.SLAVER_ALLEY_STALL_ORAL), new Value<>(new Color(0x404040), PlaceType.SLAVER_ALLEY_STATUE), - + new Value<>(new Color(0x21bfc5), PlaceType.SLAVER_ALLEY_MARKET_STALL_EXCLUSIVE), new Value<>(new Color(0x004080), PlaceType.SLAVER_ALLEY_MARKET_STALL_BULK), new Value<>(new Color(0x008080), PlaceType.SLAVER_ALLEY_CAFE), - + new Value<>(new Color(0x0000ff), PlaceType.SLAVER_ALLEY_SLAVERY_ADMINISTRATION), new Value<>(new Color(0xff0080), PlaceType.SLAVER_ALLEY_SCARLETTS_SHOP), - + new Value<>(new Color(0xffff00), PlaceType.SLAVER_ALLEY_AUCTIONING_BLOCK), new Value<>(new Color(0x00ff00), PlaceType.SLAVER_ALLEY_PUBLIC_STOCKS))), - + SHOPPING_ARCADE("Shopping Arcade", Color.BASE_YELLOW, 1, @@ -296,7 +296,7 @@ public enum WorldType { return true; } }, - + SUPPLIER_DEN("Supplier Depot", Color.BASE_CRIMSON, 1, @@ -308,7 +308,7 @@ public enum WorldType { new Value<>(new Color(0xff0000), PlaceType.SUPPLIER_DEPOT_ENTRANCE), new Value<>(new Color(0xff00ff), PlaceType.SUPPLIER_DEPOT_STORAGE_ROOM), new Value<>(new Color(0x00ff00), PlaceType.SUPPLIER_DEPOT_OFFICE))), - + ENFORCER_HQ("Enforcer HQ", Color.BASE_BLUE, 1, @@ -335,7 +335,7 @@ public enum WorldType { new Value<>(new Color(0xff0000), PlaceType.ANGELS_KISS_STAIRCASE_UP), new Value<>(new Color(0x00ffff), PlaceType.ANGELS_KISS_OFFICE), new Value<>(new Color(0xff00ff), PlaceType.ANGELS_KISS_BEDROOM))), - + ANGELS_KISS_FIRST_FLOOR("Angel's Kiss", Color.BASE_MAGENTA, 1, @@ -348,7 +348,7 @@ public enum WorldType { new Value<>(new Color(0xff00ff), PlaceType.ANGELS_KISS_BEDROOM), new Value<>(new Color(0xffff00), PlaceType.ANGELS_KISS_BEDROOM_BUNNY), new Value<>(new Color(0xff8000), PlaceType.ANGELS_KISS_BEDROOM_LOPPY))), - + NIGHTLIFE_CLUB("The Watering Hole", Color.BASE_BLUE, @@ -357,11 +357,11 @@ public enum WorldType { PlaceType.WORLD_MAP_DOMINION, Util.newHashMapOfValues( new Value<>(new Color(0xFFFFFF), PlaceType.GENERIC_IMPASSABLE), - + new Value<>(new Color(0x00ff00), PlaceType.WATERING_HOLE_ENTRANCE), - + new Value<>(new Color(0x808080), PlaceType.WATERING_HOLE_MAIN_AREA), - + new Value<>(new Color(0x0080ff), PlaceType.WATERING_HOLE_SEATING_AREA), new Value<>(new Color(0xff00ff), PlaceType.WATERING_HOLE_VIP_AREA), new Value<>(new Color(0xff8000), PlaceType.WATERING_HOLE_BAR), @@ -373,7 +373,7 @@ public enum WorldType { return true; } }, - + // Other: SUBMISSION("Submission", @@ -385,27 +385,27 @@ public enum WorldType { new Value<>(new Color(0xFFFFFF), PlaceType.GENERIC_IMPASSABLE), new Value<>(new Color(0x808000), PlaceType.SUBMISSION_ENTRANCE), - + new Value<>(new Color(0x808080), PlaceType.SUBMISSION_WALKWAYS), new Value<>(new Color(0xc10000), PlaceType.SUBMISSION_TUNNELS), - + new Value<>(new Color(0x008080), PlaceType.SUBMISSION_BAT_CAVERNS), new Value<>(new Color(0xff9100), PlaceType.SUBMISSION_RAT_WARREN), new Value<>(new Color(0xffff00), PlaceType.SUBMISSION_GAMBLING_DEN), - + new Value<>(new Color(0xff00ff), PlaceType.SUBMISSION_LILIN_PALACE), new Value<>(new Color(0x000000), PlaceType.SUBMISSION_LILIN_PALACE_GATE), new Value<>(new Color(0x404040), PlaceType.SUBMISSION_LILIN_PALACE_CAVERN), - + new Value<>(new Color(0x004fc9), PlaceType.SUBMISSION_IMP_FORTRESS_ALPHA), new Value<>(new Color(0x658cc9), PlaceType.SUBMISSION_IMP_TUNNELS_ALPHA), - + new Value<>(new Color(0x6928c9), PlaceType.SUBMISSION_IMP_FORTRESS_DEMON), new Value<>(new Color(0x8d65c9), PlaceType.SUBMISSION_IMP_TUNNELS_DEMON), - + new Value<>(new Color(0xa228c9), PlaceType.SUBMISSION_IMP_FORTRESS_FEMALES), new Value<>(new Color(0xb065c9), PlaceType.SUBMISSION_IMP_TUNNELS_FEMALES), - + new Value<>(new Color(0x0096c9), PlaceType.SUBMISSION_IMP_FORTRESS_MALES), new Value<>(new Color(0x65b0c9), PlaceType.SUBMISSION_IMP_TUNNELS_MALES) )), @@ -426,12 +426,12 @@ public enum WorldType { new Value<>(new Color(0xff8000), PlaceType.LYSSIETH_PALACE_HALL), new Value<>(new Color(0x8000ff), PlaceType.LYSSIETH_PALACE_OFFICE), new Value<>(new Color(0xff0080), PlaceType.LYSSIETH_PALACE_SIREN_OFFICE), - + new Value<>(new Color(0xff0000), PlaceType.LYSSIETH_PALACE_STAIRS_1), new Value<>(new Color(0x0000ff), PlaceType.LYSSIETH_PALACE_STAIRS_2) - + )), - + IMP_FORTRESS_ALPHA("Imp Fortress", Color.BASE_CRIMSON, 1, @@ -460,9 +460,9 @@ public enum WorldType { new Value<>(new Color(0x65b0c9), PlaceType.FORTRESS_DEMON_WELL), new Value<>(new Color(0xff8000), PlaceType.FORTRESS_DEMON_KEEP), new Value<>(new Color(0x8000ff), PlaceType.FORTRESS_DEMON_CELLS), - + new Value<>(new Color(0x80ff00), PlaceType.FORTRESS_LAB), - + new Value<>(new Color(0xff00ff), PlaceType.FORTRESS_DEMON_TREASURY))){ @Override public boolean isRevealedOnStart() { @@ -511,14 +511,14 @@ public enum WorldType { new Value<>(new Color(0xFFFFFF), PlaceType.GENERIC_IMPASSABLE), new Value<>(new Color(0x00ff00), PlaceType.BAT_CAVERN_ENTRANCE), - + new Value<>(new Color(0x008080), PlaceType.BAT_CAVERN_DARK), new Value<>(new Color(0x808080), PlaceType.BAT_CAVERN_LIGHT), - + new Value<>(new Color(0x0080ff), PlaceType.BAT_CAVERN_RIVER), new Value<>(new Color(0x40b4ff), PlaceType.BAT_CAVERN_RIVER_CROSSING), new Value<>(new Color(0x004080), PlaceType.BAT_CAVERN_RIVER_END), - + new Value<>(new Color(0xff80ff), PlaceType.BAT_CAVERN_SLIME_QUEEN_LAIR))), SLIME_QUEENS_LAIR_GROUND_FLOOR("Slime Queen's Tower", @@ -530,15 +530,15 @@ public enum WorldType { new Value<>(new Color(0xFFFFFF), PlaceType.GENERIC_IMPASSABLE), new Value<>(new Color(0x808080), PlaceType.SLIME_QUEENS_LAIR_CORRIDOR), - + new Value<>(new Color(0x00ff00), PlaceType.SLIME_QUEENS_LAIR_ENTRANCE), new Value<>(new Color(0xff0000), PlaceType.SLIME_QUEENS_LAIR_STAIRS_UP), - + new Value<>(new Color(0xff8000), PlaceType.SLIME_QUEENS_LAIR_STORAGE_VATS), new Value<>(new Color(0x40b4ff), PlaceType.SLIME_QUEENS_LAIR_ROOM), - + new Value<>(new Color(0xff80ff), PlaceType.SLIME_QUEENS_LAIR_ENTRANCE_GUARDS), - + new Value<>(new Color(0xffff00), PlaceType.SLIME_QUEENS_LAIR_SLIME_QUEEN))), SLIME_QUEENS_LAIR_FIRST_FLOOR("Slime Queen's Tower", @@ -550,11 +550,11 @@ public enum WorldType { new Value<>(new Color(0xFFFFFF), PlaceType.GENERIC_IMPASSABLE), new Value<>(new Color(0x808080), PlaceType.SLIME_QUEENS_LAIR_CORRIDOR), - + new Value<>(new Color(0x00ff00), PlaceType.SLIME_QUEENS_LAIR_STAIRS_DOWN), - + new Value<>(new Color(0x40b4ff), PlaceType.SLIME_QUEENS_LAIR_ROOM), - + new Value<>(new Color(0xff00ff), PlaceType.SLIME_QUEENS_LAIR_ROYAL_GUARD), new Value<>(new Color(0xffff00), PlaceType.SLIME_QUEENS_LAIR_SLIME_QUEEN))), @@ -566,13 +566,13 @@ public enum WorldType { Util.newHashMapOfValues( new Value<>(new Color(0xFFFFFF), PlaceType.GENERIC_IMPASSABLE), new Value<>(new Color(0x808080), PlaceType.GAMBLING_DEN_CORRIDOR), - + new Value<>(new Color(0x00ff00), PlaceType.GAMBLING_DEN_ENTRANCE), - + new Value<>(new Color(0xffff00), PlaceType.GAMBLING_DEN_TRADER), - + new Value<>(new Color(0x0080ff), PlaceType.GAMBLING_DEN_GAMBLING), - + new Value<>(new Color(0xff80ff), PlaceType.GAMBLING_DEN_PREGNANCY), new Value<>(new Color(0xff00ff), PlaceType.GAMBLING_DEN_FUTA_PREGNANCY), new Value<>(new Color(0xff8000), PlaceType.GAMBLING_DEN_PREGNANCY_ROULETTE) @@ -582,7 +582,7 @@ public enum WorldType { return true; } }, - + JUNGLE(6, "jungle", Color.BASE_GREEN_LIME, @@ -602,16 +602,16 @@ public enum WorldType { private Color color; private int worldSize; private int timeToTransition; - + private int tileSetRowNumber; private int moveCost; private PlaceType standardPlace, cutOffZone; private List<PlaceType> places, dangerousPlaces; - + private boolean usesFile; private PlaceType globalMapLocation; private Map<Color, PlaceType> placesMap; - + WorldType(int worldSize, String name, @@ -623,7 +623,7 @@ public enum WorldType { List<PlaceType> places, List<PlaceType> dangerousPlaces) { this.worldSize=worldSize; - + this.name = name; this.color = color; this.timeToTransition=timeToTransition; @@ -633,15 +633,15 @@ public enum WorldType { this.cutOffZone = cutOffZone; this.globalMapLocation = globalMapLocation; - + this.places = places; this.dangerousPlaces = dangerousPlaces; - + fileLocation = null; usesFile = false; - + } - + WorldType(String name, Color color, int timeToTransition, @@ -658,13 +658,13 @@ public enum WorldType { places = null; dangerousPlaces = null; - + this.fileLocation = fileLocation; usesFile = true; this.globalMapLocation = globalMapLocation; this.placesMap=placesMap; } - + public int getTileSetRowNumber() { return tileSetRowNumber; } @@ -684,7 +684,7 @@ public enum WorldType { public int getMoveCost() { return moveCost; } - + public boolean isRevealedOnStart() { return false; } diff --git a/src/com/lilithsthrone/world/places/PlaceType.java b/src/com/lilithsthrone/world/places/PlaceType.java index 1ac4c3a82..df60d3666 100644 --- a/src/com/lilithsthrone/world/places/PlaceType.java +++ b/src/com/lilithsthrone/world/places/PlaceType.java @@ -75,17 +75,17 @@ import com.lilithsthrone.world.WorldType; * @author Innoxia */ public enum PlaceType { - + // Generic holding map: - + GENERIC_IMPASSABLE("Impassable Tile", null, BaseColor.GREY, Color.MAP_BACKGROUND, null, null, false, false, true, ""), - + GENERIC_EMPTY_TILE("Empty", "dominion/slaverAlleyIcon", BaseColor.CRIMSON, Color.MAP_BACKGROUND, null, null, false, false, true, ""), GENERIC_HOLDING_CELL("Unknown", "dominion/slaverAlleyIcon", BaseColor.GREY, Color.MAP_BACKGROUND, null, null, false, false, true, ""), - + GENERIC_MUSEUM("Museum", "dominion/slaverAlleyIcon", BaseColor.TAN, Color.MAP_BACKGROUND, null, null, false, true, false, "in Lily's Museum"), - + // World map: WORLD_MAP_THICK_JUNGLE("thick jungle", "The further into the jungle one travels, the thicker the vegetation becomes, which allows particularly wild and dangerous predators to conceal themselves...", "#6b8f7e", null, true, true, true, ""), @@ -123,9 +123,9 @@ public enum PlaceType { WORLD_MAP_VOLCANO("dragon's breath volcano", "A huge volcano, perpetually oozing red-hot lava. Despite its name, dragons are no more common here than they are elsewhere in Dominion.", Color.BASE_ORANGE.getShades()[1], null, true, true, true, ""), WORLD_MAP_LAVA_FLOWS("lava flows", "The lava which pours forth from the volcano slowly runs off in a southern direction.", Color.BASE_GREY_DARK.getShades()[0], null, true, true, true, ""), - + // Museum: - + MUSEUM_ENTRANCE("Entrance", "prologue/exit", BaseColor.RED, Color.MAP_BACKGROUND, null, null, false, true, false, "in Lily's Museum") { @Override public Population getPopulation() { @@ -155,9 +155,9 @@ public enum PlaceType { }, MUSEUM_CORRIDOR("Corridor", null, BaseColor.TAN, Color.MAP_BACKGROUND, null, null, false, true, false, "in Lily's Museum"), MUSEUM_MIRROR("Mirror Room", "prologue/mirror", BaseColor.PINK, Color.MAP_BACKGROUND, null, null, false, true, false, "in Lily's Museum"), - + // Dominion: - + DOMINION_PLAZA("Lilith's Plaza", "dominion/statue", BaseColor.PINK_DEEP, Color.MAP_BACKGROUND_PINK, CityPlaces.DOMINION_PLAZA, null, false, false, true, "in Dominion's central plaza") { @Override public Population getPopulation() { @@ -168,7 +168,7 @@ public enum PlaceType { } } }, - + DOMINION_STREET("Dominion Streets", null, BaseColor.GREY, Color.MAP_BACKGROUND, CityPlaces.STREET, Encounter.DOMINION_STREET, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -183,7 +183,7 @@ public enum PlaceType { } } }, - + DOMINION_BOULEVARD("Dominion Boulevard", null, BaseColor.PINK_LIGHT, Color.MAP_BACKGROUND_PINK, CityPlaces.BOULEVARD, Encounter.DOMINION_BOULEVARD, false, false, true, "in the streets of Dominion") { @Override @@ -191,7 +191,7 @@ public enum PlaceType { return DOMINION_PLAZA.getPopulation(); } }, - + DOMINION_LILITHS_TOWER("Lilith's Tower", "dominion/lilithsTowerIcon", BaseColor.PURPLE, Color.MAP_BACKGROUND_PINK, LilithsTower.OUTSIDE, null, false, false, true, "in the streets of Dominion") { @Override @@ -199,7 +199,7 @@ public enum PlaceType { return DOMINION_PLAZA.getPopulation(); } }, - + DOMINION_ENFORCER_HQ("Enforcer HQ", "dominion/enforcerHQIcon", BaseColor.BLUE, Color.MAP_BACKGROUND, EnforcerHQDialogue.EXTERIOR, Encounter.DOMINION_STREET, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -210,28 +210,28 @@ public enum PlaceType { return DOMINION_STREET.getPopulation(); } }, - + DOMINION_DEMON_HOME_GATE("Demon Home Gates", "dominion/gate", BaseColor.PINK_LIGHT, Color.MAP_BACKGROUND_PINK, DemonHome.DEMON_HOME_GATE, null, false, false, true, "in the streets of Demon Home") { @Override public Population getPopulation() { return DOMINION_PLAZA.getPopulation(); } }, - + DOMINION_DEMON_HOME("Demon Home", null, BaseColor.PINK, Color.MAP_BACKGROUND_PINK, DemonHome.DEMON_HOME_STREET, null, false, false, true, "in the streets of Demon Home") { @Override public Population getPopulation() { return DOMINION_PLAZA.getPopulation(); } }, - + DOMINION_DEMON_HOME_ARTHUR("Demon Home", "dominion/demonHomeIcon", BaseColor.PINK, Color.MAP_BACKGROUND_PINK, DemonHome.DEMON_HOME_STREET_ARTHUR, null, false, false, true, "in the streets of Demon Home") { @Override public Population getPopulation() { return DOMINION_PLAZA.getPopulation(); } }, - + DOMINION_SHOPPING_ARCADE("Shopping Arcade", "dominion/shoppingArcadeIcon", BaseColor.GOLD, Color.MAP_BACKGROUND, ShoppingArcadeDialogue.OUTSIDE, Encounter.DOMINION_STREET, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -242,7 +242,7 @@ public enum PlaceType { return DOMINION_STREET.getPopulation(); } }, - + DOMINION_STREET_HARPY_NESTS("Dominion Streets", null, BaseColor.GREY, Color.MAP_BACKGROUND_DARK, CityPlaces.STREET_SHADED, Encounter.DOMINION_STREET, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -253,7 +253,7 @@ public enum PlaceType { return DOMINION_STREET.getPopulation(); } }, - + DOMINION_HARPY_NESTS_ENTRANCE("Harpy Nests Entrance", "dominion/harpyNestIcon", BaseColor.MAGENTA, Color.MAP_BACKGROUND_DARK, HarpyNestsDialogue.OUTSIDE, Encounter.DOMINION_STREET, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -264,7 +264,7 @@ public enum PlaceType { return DOMINION_STREET.getPopulation(); } }, - + DOMINION_NIGHTLIFE_DISTRICT("Nightlife District", "dominion/nightlifeIcon", BaseColor.PINK_LIGHT, Color.MAP_BACKGROUND, NightlifeDistrict.OUTSIDE, Encounter.DOMINION_STREET, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -275,7 +275,7 @@ public enum PlaceType { return DOMINION_STREET.getPopulation(); } }, - + DOMINION_CITY_HALL("City Hall", "dominion/townHallIcon", BaseColor.LILAC, Color.MAP_BACKGROUND, CityHall.OUTSIDE, Encounter.DOMINION_STREET, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -286,7 +286,7 @@ public enum PlaceType { return DOMINION_STREET.getPopulation(); } }, - + DOMINION_AUNTS_HOME("Lilaya's Home", "dominion/homeIcon", BaseColor.BLUE_LIGHT, Color.MAP_BACKGROUND, LilayaHomeGeneric.OUTSIDE, Encounter.DOMINION_STREET, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -297,7 +297,7 @@ public enum PlaceType { return DOMINION_STREET.getPopulation(); } }, - + DOMINION_SLAVER_ALLEY("Slaver Alley", "dominion/slaverAlleyIcon", BaseColor.CRIMSON, Color.MAP_BACKGROUND, SlaverAlleyDialogue.OUTSIDE, null, false, false, true, "in the alleyways near Slaver's Alley") { @Override public boolean isDangerous() { @@ -330,23 +330,23 @@ public enum PlaceType { return DOMINION_STREET.getPopulation(); } }, - + // Alleyways: - + DOMINION_BACK_ALLEYS("Dominion Alleyways", "dominion/alleysIcon", BaseColor.BLACK, Color.MAP_BACKGROUND, CityPlaces.BACK_ALLEYS, Encounter.DOMINION_ALLEY, true, false, true, "in one of Dominion's backalleys"), DOMINION_DARK_ALLEYS("Dark Alleyways", "dominion/alleysDarkIcon", BaseColor.PURPLE, Color.MAP_BACKGROUND, CityPlaces.DARK_ALLEYS, Encounter.DOMINION_DARK_ALLEY, true, false, true, "in one of Dominion's dark alleyways"), - + DOMINION_ALLEYS_CANAL_CROSSING("Canal Crossing", "dominion/bridge", BaseColor.BLUE_LIGHT, Color.MAP_BACKGROUND, CityPlaces.BACK_ALLEYS_CANAL, Encounter.DOMINION_ALLEY, true, false, true, "in one of Dominion's backalleys"), - + // Canals: - + DOMINION_CANAL("Dominion Canal", "dominion/canalIcon", BaseColor.BLUE_LIGHT, Color.MAP_BACKGROUND, CityPlaces.CANAL, Encounter.DOMINION_CANAL, true, false, true, "beside one of Dominion's canals"), - + DOMINION_CANAL_END("Dominion Canal", "dominion/canalEndIcon", BaseColor.BLUE, Color.MAP_BACKGROUND, CityPlaces.CANAL_END, Encounter.DOMINION_CANAL, true, false, true, "beside one of Dominion's canals"), - + // Exits & entrances: - + DOMINION_EXIT_TO_SUBMISSION("Submission Entrance", "dominion/submissionExit", BaseColor.TEAL, Color.MAP_BACKGROUND, CityPlaces.CITY_EXIT_SEWERS, null, false, false, true, "in the streets of Dominion") { @Override public boolean isDangerous() { @@ -361,7 +361,7 @@ public enum PlaceType { return Bearing.RANDOM; } }, - + DOMINION_EXIT_TO_JUNGLE("Dominion Exit", "dominion/JungleExit", BaseColor.RED, Color.MAP_BACKGROUND_PINK, CityPlaces.CITY_EXIT, null, false, false, true, "in the streets of Dominion") { @Override public Population getPopulation() { @@ -372,7 +372,7 @@ public enum PlaceType { return Bearing.NORTH; } }, - + DOMINION_EXIT_TO_FIELDS("Dominion Exit", "dominion/fieldsExit", BaseColor.RED, Color.MAP_BACKGROUND_PINK, CityPlaces.CITY_EXIT, null, false, false, true, "in the streets of Dominion") { @Override public Population getPopulation() { @@ -383,7 +383,7 @@ public enum PlaceType { return Bearing.WEST; } }, - + DOMINION_EXIT_TO_SEA("Dominion Exit", "dominion/endlessSeaExit", BaseColor.RED, Color.MAP_BACKGROUND_PINK, CityPlaces.CITY_EXIT, null, false, false, true, "in the streets of Dominion") { @Override public Population getPopulation() { @@ -394,7 +394,7 @@ public enum PlaceType { return Bearing.EAST; } }, - + DOMINION_EXIT_TO_DESERT("Dominion Exit", "dominion/desertExit", BaseColor.RED, Color.MAP_BACKGROUND_PINK, CityPlaces.CITY_EXIT, null, false, false, true, "in the streets of Dominion") { @Override public Population getPopulation() { @@ -405,21 +405,21 @@ public enum PlaceType { return Bearing.SOUTH; } }, - + ENFORCER_HQ_CORRIDOR("Corridor", null, BaseColor.BLACK, Color.MAP_BACKGROUND, EnforcerHQDialogue.CORRIDOR, null, false, true, true, "in the Enforcer HQ"), ENFORCER_HQ_WAITING_AREA("Waiting area", "dominion/enforcerHQ/waitingRoom", BaseColor.BROWN, Color.MAP_BACKGROUND, EnforcerHQDialogue.WAITING_AREA, null, false, true, true, "in the Enforcer HQ"), - + ENFORCER_HQ_RECEPTION_DESK("Reception desk", "dominion/enforcerHQ/receptionDesk", BaseColor.BLUE_LIGHT, Color.MAP_BACKGROUND, EnforcerHQDialogue.RECEPTION_DESK, null, false, true, true, "in Candi's office"), - + ENFORCER_HQ_GUARDED_DOOR("Guarded door", "dominion/enforcerHQ/guardedDoor", BaseColor.CRIMSON, Color.MAP_BACKGROUND, EnforcerHQDialogue.GUARDED_DOOR, null, false, true, true, "in the Enforcer HQ"), - + ENFORCER_HQ_BRAXS_OFFICE("Brax's Office", "dominion/enforcerHQ/braxsOffice", BaseColor.BLUE_STEEL, Color.MAP_BACKGROUND, EnforcerHQDialogue.INTERIOR_BRAX, null, false, true, true, "in his office") { @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getDialogueFlags().hasFlag(DialogueFlagValue.braxEncountered)) { return EnforcerHQDialogue.INTERIOR_BRAX_REPEAT; - + } else { return EnforcerHQDialogue.INTERIOR_BRAX; } @@ -427,7 +427,7 @@ public enum PlaceType { }, ENFORCER_HQ_ENTRANCE("Entranceway", "dominion/enforcerHQ/exit", BaseColor.RED, Color.MAP_BACKGROUND, EnforcerHQDialogue.ENTRANCE, null, false, true, true, ""), - + // Standard tiles: HARPY_NESTS_WALKWAYS("Walkway", null, BaseColor.BLACK, Color.MAP_BACKGROUND, HarpyNestsDialogue.WALKWAY, Encounter.HARPY_NEST_WALKWAYS, true, false, true, "in the Harpy Nests") { @Override @@ -443,7 +443,7 @@ public enum PlaceType { } } }, - + HARPY_NESTS_WALKWAYS_BRIDGE("Walkway Bridge", "dominion/harpyNests/bridge", BaseColor.GREY, Color.MAP_BACKGROUND, HarpyNestsDialogue.WALKWAY_BRIDGE, Encounter.HARPY_NEST_WALKWAYS, true, false, true, "in the Harpy Nests") { @Override public boolean isDangerous() { @@ -462,43 +462,43 @@ public enum PlaceType { return new Population(PopulationType.ENFORCERS, PopulationDensity.NUMEROUS, Subspecies.getWorldSpecies().get(WorldType.DOMINION)); } }, - + HARPY_NESTS_ALEXAS_NEST("Alexa's nest", "dominion/harpyNests/nestAlexa", BaseColor.GOLD, Color.MAP_BACKGROUND, HarpyNestAlexa.ALEXAS_NEST_EXTERIOR, null, false, false, true, "in Alexa's nest"){ @Override public Population getPopulation() { return HARPY_NESTS_WALKWAYS.getPopulation(); } }, - + HARPY_NESTS_HARPY_NEST_RED("Harpy nest", "dominion/harpyNests/nestRed", BaseColor.CRIMSON, Color.MAP_BACKGROUND, HarpyNestDominant.HARPY_NEST_DOMINANT, null, false, false, true, "in Diana's nest"){ @Override public Population getPopulation() { return HARPY_NESTS_WALKWAYS.getPopulation(); } }, - + HARPY_NESTS_HARPY_NEST_PINK("Harpy nest", "dominion/harpyNests/nestPink", BaseColor.PINK_LIGHT, Color.MAP_BACKGROUND, HarpyNestNympho.HARPY_NEST_NYMPHO, null, false, false, true, "in Lexi's nest"){ @Override public Population getPopulation() { return HARPY_NESTS_WALKWAYS.getPopulation(); } }, - + HARPY_NESTS_HARPY_NEST_YELLOW("Harpy nest", "dominion/harpyNests/nestYellow", BaseColor.YELLOW_LIGHT, Color.MAP_BACKGROUND, HarpyNestBimbo.HARPY_NEST_BIMBO, null, false, false, true, "in Brittany's nest"){ @Override public Population getPopulation() { return HARPY_NESTS_WALKWAYS.getPopulation(); } }, - + // Standard tiles: JUNGLE_PATH("Jungle Path", null, BaseColor.GREEN, Color.MAP_BACKGROUND, JunglePlaces.PATH, null, false, false, true, "in the jungle"), - + JUNGLE_DENSE_JUNGLE("Dense Jungle", null, BaseColor.GREEN, Color.MAP_BACKGROUND, JunglePlaces.DENSE_JUNGLE, null, true, false, true, "in the jungle"), // Safe places: JUNGLE_CLUB("Club", null, BaseColor.GREEN, Color.MAP_BACKGROUND, JunglePlaces.CLUB, null, false, false, true, "in the jungle"), - + JUNGLE_BROTHEL("Brothel", null, BaseColor.GREEN, Color.MAP_BACKGROUND, JunglePlaces.BROTHEL, null, false, false, true, "in the jungle"), // Dangerous places: @@ -519,11 +519,11 @@ public enum PlaceType { // return EntranceType.ALIGNED_FLIP_VERTICAL; // } }, - + // Ground floor: - + LILAYA_HOME_CORRIDOR("Corridor", null, BaseColor.GREY, Color.MAP_BACKGROUND, LilayaHomeGeneric.CORRIDOR, Encounter.LILAYAS_HOME_CORRIDOR, false, true, false, "in Lilaya's Home"), - + LILAYA_HOME_ROOM_WINDOW_GROUND_FLOOR("Room", "dominion/lilayasHome/room", BaseColor.GREY, Color.MAP_BACKGROUND, LilayaHomeGeneric.ROOM_WINDOW, null, false, true, false, "in Lilaya's Home") { @Override public ArrayList<PlaceUpgrade> getStartingPlaceUpgrades() { @@ -546,7 +546,7 @@ public enum PlaceType { return " G-"+String.format("%02d", count); } }, - + LILAYA_HOME_ROOM_GARDEN_GROUND_FLOOR("Garden Room", "dominion/lilayasHome/room", BaseColor.GREY, Color.MAP_BACKGROUND, LilayaHomeGeneric.ROOM_GARDEN_GROUND_FLOOR, null, false, true, false, "in Lilaya's Home") { @Override public ArrayList<PlaceUpgrade> getStartingPlaceUpgrades() { @@ -569,7 +569,7 @@ public enum PlaceType { return " GG-"+String.format("%02d", count); } }, - + LILAYA_HOME_ROOM_WINDOW_FIRST_FLOOR("Room", "dominion/lilayasHome/room", BaseColor.GREY, Color.MAP_BACKGROUND, LilayaHomeGeneric.ROOM_WINDOW, null, false, true, false, "in Lilaya's Home") { @Override public ArrayList<PlaceUpgrade> getStartingPlaceUpgrades() { @@ -592,7 +592,7 @@ public enum PlaceType { return " F-"+String.format("%02d", count); } }, - + LILAYA_HOME_ROOM_GARDEN_FIRST_FLOOR("Garden Room", "dominion/lilayasHome/room", BaseColor.GREY, Color.MAP_BACKGROUND, LilayaHomeGeneric.ROOM_GARDEN, null, false, true, false, "in Lilaya's Home") { @Override public ArrayList<PlaceUpgrade> getStartingPlaceUpgrades() { @@ -615,115 +615,115 @@ public enum PlaceType { return " FG-"+String.format("%02d", count); } }, - + LILAYA_HOME_ARTHUR_ROOM("Arthur's Room", "dominion/lilayasHome/roomArthur", BaseColor.BLUE_STEEL, Color.MAP_BACKGROUND, LilayaHomeGeneric.ROOM_ARTHUR, null, false, true, false, "in Arthur's Room"), - + LILAYA_HOME_BIRTHING_ROOM("Room", "dominion/lilayasHome/roomBirthing", BaseColor.PINK, Color.MAP_BACKGROUND, LilayaHomeGeneric.BIRTHING_ROOM, null, false, true, false, "in Lilaya's Home"), - + LILAYA_HOME_KITCHEN("Kitchen", "dominion/lilayasHome/kitchen", BaseColor.TAN, Color.MAP_BACKGROUND, LilayaHomeGeneric.KITCHEN, null, false, true, false, "in Lilaya's kitchen"), - + LILAYA_HOME_LIBRARY("Library", "dominion/lilayasHome/library", BaseColor.TEAL, Color.MAP_BACKGROUND, Library.LIBRARY, null, false, true, false, "in Lilaya's library") { @Override public void applyInventoryInit(CharacterInventory inventory) { inventory.addItem(AbstractItemType.generateItem(ItemType.getLoreBook(Subspecies.HALF_DEMON))); } }, - + LILAYA_HOME_STAIR_UP("Staircase", "dominion/lilayasHome/stairsUp", BaseColor.GREEN_LIGHT, Color.MAP_BACKGROUND, LilayaHomeGeneric.STAIRCASE_UP, null, false, true, false, "in Lilaya's Home"), - + LILAYA_HOME_ENTRANCE_HALL("Entrance Hall", "dominion/lilayasHome/entranceHall", BaseColor.RED, Color.MAP_BACKGROUND, LilayaHomeGeneric.ENTRANCE_HALL, null, false, true, false, "in Lilaya's Home"), - + LILAYA_HOME_LAB("Lilaya's Lab", "dominion/lilayasHome/lab", BaseColor.ORANGE, Color.MAP_BACKGROUND, Lab.LAB, null, false, true, false, "in Lilaya's lab") { @Override public void applyInventoryInit(CharacterInventory inventory) { inventory.addClothing(AbstractClothingType.generateClothing(ClothingType.SCIENTIST_EYES_SAFETY_GOGGLES, Color.CLOTHING_BLACK, false)); } }, - + LILAYA_HOME_GARDEN("Garden", "dominion/lilayasHome/garden", BaseColor.GREEN, Color.MAP_BACKGROUND, LilayaHomeGeneric.GARDEN, null, false, false, false, "in Lilaya's garden"), - + LILAYA_HOME_FOUNTAIN("Fountain", "dominion/lilayasHome/fountain", BaseColor.BLUE_LIGHT, Color.MAP_BACKGROUND, LilayaHomeGeneric.FOUNTAIN, null, false, false, false, "in Lilaya's garden"), - + // First floor: LILAYA_HOME_ROOM_LILAYA("Lilaya's Room", "dominion/lilayasHome/roomLilaya", BaseColor.CRIMSON, Color.MAP_BACKGROUND, LilayasRoom.ROOM_LILAYA, null, false, true, false, "in Lilaya's Home"), - + LILAYA_HOME_ROOM_ROSE("Rose's Room", "dominion/lilayasHome/roomRose", BaseColor.PINK, Color.MAP_BACKGROUND, LilayaHomeGeneric.ROOM_ROSE, null, false, true, false, "in Lilaya's Home"), - + LILAYA_HOME_ROOM_PLAYER("Your Room", "dominion/lilayasHome/roomPlayer", BaseColor.AQUA, Color.MAP_BACKGROUND, RoomPlayer.ROOM, null, false, true, false, "in your room"), - + LILAYA_HOME_STAIR_DOWN("Staircase", "dominion/lilayasHome/stairsDown", BaseColor.RED, Color.MAP_BACKGROUND, LilayaHomeGeneric.STAIRCASE_DOWN, null, false, true, false, "in Lilaya's Home"), - + // Zaranix: // Ground floor: - + ZARANIX_GF_CORRIDOR("Corridor", null, BaseColor.GREY, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.CORRIDOR, null, false, true, false, "in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.CORRIDOR; - + } else { return ZaranixHomeGroundFloor.CORRIDOR; } } }, - + ZARANIX_GF_STAIRS("Staircase", "dominion/zaranixHome/stairsDown", BaseColor.GREEN_LIGHT, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.STAIRS, null, false, true, false, "in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.STAIRS; - + } else { return ZaranixHomeGroundFloor.STAIRS; } } }, - + ZARANIX_GF_ENTRANCE("Entrance", "dominion/zaranixHome/entranceHall", BaseColor.RED, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.ENTRANCE, null, false, true, false, "in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.ENTRANCE; - + } else { return ZaranixHomeGroundFloor.ENTRANCE; } } }, - + ZARANIX_GF_LOUNGE("Lounge", "dominion/zaranixHome/lounge", BaseColor.ORANGE, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.LOUNGE, null, false, true, false, "in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.LOUNGE; - + } else { return ZaranixHomeGroundFloor.LOUNGE; } } }, - + ZARANIX_GF_ROOM("Room", "dominion/zaranixHome/room", BaseColor.GREY, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.ROOM, null, false, true, false, "in a room in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.ROOM; - + } else { return ZaranixHomeGroundFloor.ROOM; } } }, - + ZARANIX_GF_MAID("Corridor", null, BaseColor.GREY, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.CORRIDOR_MAID, null, true, true, false, "in Zaranix's Home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.CORRIDOR; - + } else { return ZaranixHomeGroundFloor.CORRIDOR_MAID; } @@ -733,75 +733,75 @@ public enum PlaceType { return !Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE); } }, - + ZARANIX_GF_GARDEN_ROOM("Room", "dominion/zaranixHome/room", BaseColor.GREY, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.GARDEN_ROOM, null, false, true, false, "in a room in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.GARDEN_ROOM; - + } else { return ZaranixHomeGroundFloor.GARDEN_ROOM; } } }, - + ZARANIX_GF_GARDEN("Garden", "dominion/zaranixHome/garden", BaseColor.GREEN, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.GARDEN, null, false, true, false, "in Zaranix's garden"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.GARDEN; - + } else { return ZaranixHomeGroundFloor.GARDEN; } } }, - + ZARANIX_GF_GARDEN_ENTRY("Garden", "dominion/zaranixHome/entranceHall", BaseColor.GREEN, Color.MAP_BACKGROUND, ZaranixHomeGroundFloor.GARDEN_ENTRY, null, false, true, false, "in Zaranix's garden"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeGroundFloorRepeat.GARDEN_ENTRY; - + } else { return ZaranixHomeGroundFloor.GARDEN_ENTRY; } } }, - + // First floor: - + ZARANIX_FF_CORRIDOR("Corridor", null, BaseColor.GREY, Color.MAP_BACKGROUND, ZaranixHomeFirstFloor.CORRIDOR, null, false, true, false, "in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeFirstFloorRepeat.CORRIDOR; - + } else { return ZaranixHomeFirstFloor.CORRIDOR; } } }, - + ZARANIX_FF_STAIRS("Staircase", "dominion/zaranixHome/stairsDown", BaseColor.RED, Color.MAP_BACKGROUND, ZaranixHomeFirstFloor.STAIRS, null, false, true, false, "in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeFirstFloorRepeat.STAIRS; - + } else { return ZaranixHomeFirstFloor.STAIRS; } } }, - + ZARANIX_FF_OFFICE("Zaranix's Room", "dominion/zaranixHome/roomZaranix", BaseColor.PINK_DEEP, Color.MAP_BACKGROUND, ZaranixHomeFirstFloor.ZARANIX_ROOM, null, true, true, false, "in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeFirstFloorRepeat.ZARANIX_ROOM; - + } else { return ZaranixHomeFirstFloor.ZARANIX_ROOM; } @@ -811,25 +811,25 @@ public enum PlaceType { return !Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE); } }, - + ZARANIX_FF_ROOM("Room", "dominion/zaranixHome/room", BaseColor.GREY, Color.MAP_BACKGROUND, ZaranixHomeFirstFloor.ROOM, null, false, true, false, "in a room in Zaranix's home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeFirstFloorRepeat.ROOM; - + } else { return ZaranixHomeFirstFloor.ROOM; } } }, - + ZARANIX_FF_MAID("Corridor", null, BaseColor.RED, Color.MAP_BACKGROUND, ZaranixHomeFirstFloor.CORRIDOR_MAID, null, true, true, false, "in Zaranix's Home"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE)) { return ZaranixHomeFirstFloorRepeat.CORRIDOR; - + } else { return ZaranixHomeFirstFloor.CORRIDOR_MAID; } @@ -839,7 +839,7 @@ public enum PlaceType { return !Main.game.getPlayer().isQuestProgressGreaterThan(QuestLine.MAIN, Quest.MAIN_1_H_THE_GREAT_ESCAPE); } }, - + // Angel's Kiss: ANGELS_KISS_CORRIDOR("Corridor", null, BaseColor.GREY, Color.MAP_BACKGROUND, RedLightDistrict.ANGELS_KISS_CORRIDOR, null, false, true, false, "in Angel's Kiss"), @@ -850,9 +850,9 @@ public enum PlaceType { ANGELS_KISS_BEDROOM_BUNNY("Bunny's Bedroom", "dominion/angelsKiss/bedroomBunny", BaseColor.PINK_LIGHT, Color.MAP_BACKGROUND, RedLightDistrict.ANGELS_KISS_BEDROOM_BUNNY, null, false, true, false, "in Bunny's Bedroom"), ANGELS_KISS_BEDROOM_LOPPY("Loppy's Bedroom", "dominion/angelsKiss/bedroomLoppy", BaseColor.PURPLE, Color.MAP_BACKGROUND, RedLightDistrict.ANGELS_KISS_BEDROOM_LOPPY, null, false, true, false, "in Loppy's Bedroom"), ANGELS_KISS_OFFICE("Angel's Office", "dominion/angelsKiss/office", BaseColor.BLUE_LIGHT, Color.MAP_BACKGROUND, RedLightDistrict.ANGELS_KISS_OFFICE, null, false, true, false, "in Angel's Office"), - + // Shopping arcade: - + SHOPPING_ARCADE_PATH("Arcade", null, BaseColor.BLACK, Color.MAP_BACKGROUND, ShoppingArcadeDialogue.ARCADE, null, false, true, true, "in the Shopping Arcade") { @Override public Population getPopulation() { @@ -866,17 +866,17 @@ public enum PlaceType { return new Population(PopulationType.SHOPPERS, PopulationDensity.NUMEROUS, Subspecies.getWorldSpecies().get(WorldType.DOMINION)); } }, - + SHOPPING_ARCADE_RALPHS_SHOP("Ralph's Snacks", "dominion/shoppingArcade/ralphShop", BaseColor.TEAL, Color.MAP_BACKGROUND, RalphsSnacks.EXTERIOR, null, false, true, true, "in his store"), - + SHOPPING_ARCADE_NYANS_SHOP("Nyan's Clothing Emporium", "dominion/shoppingArcade/nyanShop", BaseColor.ROSE, Color.MAP_BACKGROUND, ClothingEmporium.EXTERIOR, null, false, true, true, "in her store"), - + SHOPPING_ARCADE_VICKYS_SHOP("Arcane Arts", "dominion/shoppingArcade/vickyShop", BaseColor.MAGENTA, Color.MAP_BACKGROUND, ArcaneArts.EXTERIOR, null, false, true, true, "in her store"), SHOPPING_ARCADE_KATES_SHOP("Succubi's Secrets", "dominion/shoppingArcade/kateShop", BaseColor.PINK, Color.MAP_BACKGROUND, SuccubisSecrets.EXTERIOR, null, false, true, true, "in her beauty salon"), SHOPPING_ARCADE_ASHLEYS_SHOP("Dream Lover", "dominion/shoppingArcade/ashleyShop", BaseColor.LILAC_LIGHT, Color.MAP_BACKGROUND, DreamLover.EXTERIOR, null, false, true, true, "in their store"), - + SHOPPING_ARCADE_SUPPLIER_DEPOT("Supplier Depot", "dominion/shoppingArcade/supplierDepot", BaseColor.CRIMSON, Color.MAP_BACKGROUND, SupplierDepot.EXTERIOR, null, false, true, true, "in the supplier depot") { @Override public BaseColor getColor() { @@ -895,16 +895,16 @@ public enum PlaceType { } } }, - + SHOPPING_ARCADE_PIXS_GYM("Pix's Playground", "dominion/shoppingArcade/gym", BaseColor.GOLD, Color.MAP_BACKGROUND, PixsPlayground.GYM_EXTERIOR, null, false, true, true, "in her gym"), // Exits & entrances: SHOPPING_ARCADE_ENTRANCE("Exit", "dominion/shoppingArcade/exit", BaseColor.RED, Color.MAP_BACKGROUND, ShoppingArcadeDialogue.ENTRY, null, false, true, true, "in the Shopping Arcade"), - + // Supplier Depot: - + SUPPLIER_DEPOT_CORRIDOR("Corridor", null, BaseColor.BLACK, Color.MAP_BACKGROUND, SupplierDepot.SUPPLIER_DEPOT_CORRIDOR, null, false, true, false, "in the supplier depot"), - + SUPPLIER_DEPOT_ENTRANCE("Reception Area", "dominion/shoppingArcade/exit", BaseColor.GREY, Color.MAP_BACKGROUND, SupplierDepot.SUPPLIER_DEPOT_RECEPTION, null, false, true, false, "in the supplier depot") { @Override public boolean isPopulated() { @@ -919,9 +919,9 @@ public enum PlaceType { } } }, - + SUPPLIER_DEPOT_STORAGE_ROOM("Storage Room", "dominion/shoppingArcade/supplierStorageRoom", BaseColor.ORANGE, Color.MAP_BACKGROUND, SupplierDepot.SUPPLIER_DEPOT_STORAGE_ROOM, null, false, true, false, "in the supplier depot"), - + SUPPLIER_DEPOT_OFFICE("Office", "dominion/shoppingArcade/supplierOffice", BaseColor.CRIMSON, Color.MAP_BACKGROUND, SupplierDepot.SUPPLIER_DEPOT_OFFICE, null, true, true, false, "in the supplier depot") { @Override public boolean isDangerous() { @@ -931,15 +931,15 @@ public enum PlaceType { public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getDialogueFlags().hasFlag(DialogueFlagValue.suppliersEncountered)) { return SupplierDepot.SUPPLIER_DEPOT_OFFICE_REPEAT; - + } else { return SupplierDepot.SUPPLIER_DEPOT_OFFICE; } } }, - + // Slaver Alley: - + SLAVER_ALLEY_PATH("Alleyway", null, BaseColor.BLACK, Color.MAP_BACKGROUND, SlaverAlleyDialogue.ALLEYWAY, null, false, true, true, "in Slaver's Alley") { @Override public Population getPopulation() { @@ -1002,14 +1002,14 @@ public enum PlaceType { return SLAVER_ALLEY_PATH.getPopulation(); } }, - + SLAVER_ALLEY_CAFE("Cafe", "dominion/slaverAlley/marketStallCafe", BaseColor.BROWN, Color.MAP_BACKGROUND, SlaverAlleyDialogue.MARKET_STALL_CAFE, null, false, true, true, "in Slaver's Alley") { @Override public Population getPopulation() { return SLAVER_ALLEY_PATH.getPopulation(); } }, - + SLAVER_ALLEY_AUCTIONING_BLOCK("Auctioning Block", "dominion/slaverAlley/auctionBlock", BaseColor.GOLD, Color.MAP_BACKGROUND, SlaverAlleyDialogue.AUCTION_BLOCK, null, false, true, true, "in Slaver's Alley") { @Override public Population getPopulation() { @@ -1030,26 +1030,26 @@ public enum PlaceType { return Util.newArrayListOfValues(PlaceUpgrade.SLAVERY_ADMINISTRATION_CELLS); } }, - + SLAVER_ALLEY_SCARLETTS_SHOP("Scarlett's Shop", "dominion/slaverAlley/scarlettsStall", BaseColor.CRIMSON, Color.MAP_BACKGROUND, ScarlettsShop.SCARLETTS_SHOP_EXTERIOR, null, false, true, true, "in Slaver's Alley"){ @Override public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if(Main.game.getPlayer().isQuestProgressLessThan(QuestLine.MAIN, Quest.MAIN_1_F_SCARLETTS_FATE)) { // Scarlett owns the shop: return ScarlettsShop.SCARLETTS_SHOP_EXTERIOR; - + } else { // Alexa owns the shop: return ScarlettsShop.ALEXAS_SHOP_EXTERIOR; } - } + } }, - + SLAVER_ALLEY_ENTRANCE("Gateway", "dominion/slaverAlley/exit", BaseColor.RED, Color.MAP_BACKGROUND, SlaverAlleyDialogue.GATEWAY, null, false, true, true, "in Slaver's Alley") { @Override public Population getPopulation() { return new Population(PopulationType.CROWD, PopulationDensity.SPARSE, Subspecies.getWorldSpecies().get(WorldType.DOMINION)); } }, - + // Nightlife: WATERING_HOLE_ENTRANCE("Entrance", "dominion/nightLife/exit", BaseColor.RED, Color.MAP_BACKGROUND, NightlifeDistrict.WATERING_HOLE_ENTRANCE, null, false, true, true, "in 'The Watering Hole'") { @@ -1103,9 +1103,9 @@ public enum PlaceType { return new Population(PopulationType.PEOPLE, PopulationDensity.SEVERAL, Subspecies.getWorldSpecies().get(WorldType.NIGHTLIFE_CLUB)); } }, - + // Submission: - + SUBMISSION_WALKWAYS("Walkways", null, BaseColor.BLACK, Color.MAP_BACKGROUND, SubmissionGenericPlaces.WALKWAYS, null, false, true, true, "in Submission") { @Override public Population getPopulation() { @@ -1116,11 +1116,11 @@ public enum PlaceType { SUBMISSION_TUNNELS("Tunnels", "submission/tunnelsIcon", BaseColor.BLACK, Color.MAP_BACKGROUND, SubmissionGenericPlaces.TUNNEL, Encounter.SUBMISSION_TUNNELS, true, true, true, "in Submission"), SUBMISSION_BAT_CAVERNS("Bat Caverns", "submission/batCaverns", BaseColor.BLUE, Color.MAP_BACKGROUND, SubmissionGenericPlaces.BAT_CAVERNS, null, false, true, true, "in Submission"), // Insert batman reference here. - + SUBMISSION_RAT_WARREN("Rat Warren", "submission/ratWarren", BaseColor.BROWN_DARK, Color.MAP_BACKGROUND, SubmissionGenericPlaces.RAT_WARREN, null, false, true, true, "in Submission"), - + SUBMISSION_GAMBLING_DEN("Gambling Den", "submission/gamblingDen", BaseColor.GOLD, Color.MAP_BACKGROUND, SubmissionGenericPlaces.GAMBLING_DEN, null, false, true, true, "in Submission"), - + SUBMISSION_LILIN_PALACE("Lyssieth's Palace", "submission/lilinPalace", BaseColor.PURPLE, Color.MAP_BACKGROUND_DARK, SubmissionGenericPlaces.LILIN_PALACE, null, false, true, true, "in Submission"), SUBMISSION_LILIN_PALACE_GATE("Lyssieth's Palace Gate", "submission/gate", BaseColor.PURPLE_LIGHT, Color.MAP_BACKGROUND_DARK, SubmissionGenericPlaces.LILIN_PALACE_GATE, null, false, true, true, "in Submission") { @Override @@ -1174,7 +1174,7 @@ public enum PlaceType { return PlaceType.getSVGOverride(this.toString(), "submission/impTunnels2Icon", Color.BASE_PURPLE); } }, - + FORTRESS_DEMON_ENTRANCE("Gateway", "submission/impFortress/entrance", BaseColor.RED, Color.MAP_BACKGROUND, ImpCitadelDialogue.ENTRANCE, null, false, true, false, "in the Dark Siren's citadel") { @Override public Population getPopulation() { @@ -1229,7 +1229,7 @@ public enum PlaceType { return FORTRESS_DEMON_CELLS.getPopulation(); } }, - + /**This fortress is <b>Female Imp Seducers</b>.*/ SUBMISSION_IMP_FORTRESS_FEMALES("Imp Fortress", "submission/impFortress3", BaseColor.PINK, Color.MAP_BACKGROUND, SubmissionGenericPlaces.IMP_FORTRESS_FEMALES, null, true, true, true, "in Submission") { @Override @@ -1279,7 +1279,7 @@ public enum PlaceType { FORTRESS_MALES_ENTRANCE("Gateway", "submission/impFortress/entrance", BaseColor.RED, Color.MAP_BACKGROUND, ImpFortressDialogue.ENTRANCE, null, false, true, false, "in the Male Imp Fortress"), FORTRESS_MALES_COURTYARD("Courtyard", null, BaseColor.BLACK, Color.MAP_BACKGROUND, ImpFortressDialogue.COURTYARD, null, false, true, false, "in the Male Imp Fortress"), FORTRESS_MALES_KEEP("Keep", "submission/impFortress/keep", BaseColor.BLUE, Color.MAP_BACKGROUND, ImpFortressDialogue.KEEP, null, true, true, true, "in the Male Imp Fortress"), - + SUBMISSION_ENTRANCE("Enforcer Checkpoint", "submission/submissionExit", BaseColor.BROWN, Color.MAP_BACKGROUND, SubmissionGenericPlaces.SEWER_ENTRANCE, null, false, true, true, "in Submission") { @Override @@ -1287,9 +1287,9 @@ public enum PlaceType { return new Population(PopulationType.ENFORCERS, PopulationDensity.NUMEROUS, Subspecies.getWorldSpecies().get(WorldType.SUBMISSION)); } }, - + // Lyssieth palace: - + LYSSIETH_PALACE_CORRIDOR("Corridor", null, BaseColor.GREY, Color.MAP_BACKGROUND, LyssiethPalaceDialogue.CORRIDOR, null, false, true, false, "in Lyssieth's Palace") { @Override public Population getPopulation() { @@ -1315,7 +1315,7 @@ public enum PlaceType { LYSSIETH_PALACE_HALL("Hall", "submission/lyssiethsPalace/throneRoom", BaseColor.ORANGE, Color.MAP_BACKGROUND, LyssiethPalaceDialogue.HALL, null, false, true, false, "in Lyssieth's Palace"), LYSSIETH_PALACE_OFFICE("Lyssieth's Office", "submission/lyssiethsPalace/office", BaseColor.GOLD, Color.MAP_BACKGROUND, LyssiethPalaceDialogue.LYSSIETH_OFFICE_ENTER, null, false, true, false, "in Lyssieth's Palace"), LYSSIETH_PALACE_SIREN_OFFICE("Meraxis's Office", "submission/lyssiethsPalace/officeSiren", BaseColor.CRIMSON, Color.MAP_BACKGROUND, LyssiethPalaceDialogue.SIREN_OFFICE, null, false, true, false, "in Lyssieth's Palace"), - + LYSSIETH_PALACE_STAIRS_1("Staircase", "submission/lyssiethsPalace/staircase", BaseColor.GREEN, Color.MAP_BACKGROUND, LyssiethPalaceDialogue.STAIRCASE, null, false, true, false, "in Lyssieth's Palace") { @Override public Population getPopulation() { @@ -1328,7 +1328,7 @@ public enum PlaceType { return LYSSIETH_PALACE_CORRIDOR.getPopulation(); } }, - + // Bat caverns: BAT_CAVERN_ENTRANCE("Winding Staircase", "submission/batCaverns/cavernStaircase", BaseColor.GREEN, Color.MAP_BACKGROUND, BatCaverns.STAIRCASE, null, false, true, true, "in the Bat Caverns"), @@ -1338,7 +1338,7 @@ public enum PlaceType { BAT_CAVERN_RIVER_CROSSING("Mushroom Bridge", "submission/batCaverns/cavernBridge", BaseColor.TEAL, Color.MAP_BACKGROUND, BatCaverns.RIVER_BRIDGE, Encounter.BAT_CAVERN, true, true, true, "in the Bat Caverns"), BAT_CAVERN_RIVER_END("Underground River End", "submission/batCaverns/cavernRiverEnd", BaseColor.BLUE_DARK, Color.MAP_BACKGROUND, BatCaverns.RIVER_END, Encounter.BAT_CAVERN, true, true, true, "in the Bat Caverns"), BAT_CAVERN_SLIME_QUEEN_LAIR("Slime Lake", "submission/batCaverns/cavernLake", BaseColor.PINK_LIGHT, Color.MAP_BACKGROUND, BatCaverns.SLIME_LAKE, Encounter.BAT_CAVERN, true, true, true, "beside Slime Lake"), - + SLIME_QUEENS_LAIR_CORRIDOR("Corridor", null, BaseColor.GREY, Color.MAP_BACKGROUND, SlimeQueensLair.CORRIDOR, null, false, true, true, "in the Slime Queen's tower"), SLIME_QUEENS_LAIR_ENTRANCE("Entrance Hall", "submission/slimeQueensLair/entranceHall", BaseColor.RED, Color.MAP_BACKGROUND, SlimeQueensLair.ENTRANCE, null, false, true, true, "in the Slime Queen's tower"), @@ -1359,9 +1359,9 @@ public enum PlaceType { SLIME_QUEENS_LAIR_ENTRANCE_GUARDS("Guard Post", "submission/slimeQueensLair/guards", BaseColor.RED, Color.MAP_BACKGROUND, SlimeQueensLair.GUARD_POST, null, true, true, true, "in the Slime Queen's tower"), SLIME_QUEENS_LAIR_ROYAL_GUARD("Royal Guard Post", "submission/slimeQueensLair/royalGuards", BaseColor.PURPLE, Color.MAP_BACKGROUND, SlimeQueensLair.ROYAL_GUARD_POST, null, true, true, true, "in the Slime Queen's tower"), SLIME_QUEENS_LAIR_SLIME_QUEEN("Bed Chamber", "submission/slimeQueensLair/bedChamber", BaseColor.PINK, Color.MAP_BACKGROUND, SlimeQueensLair.BED_CHAMBER, null, false, true, true, "in the Slime Queen's tower"), - + // Gambling Den: - + GAMBLING_DEN_CORRIDOR("Gambling Den", null, BaseColor.BLACK, Color.MAP_BACKGROUND, GamblingDenDialogue.CORRIDOR, null, false, true, true, "in the Gambling Den") { @Override public Population getPopulation() { @@ -1375,7 +1375,7 @@ public enum PlaceType { return new Population(PopulationType.CROWD, PopulationDensity.SPARSE, Subspecies.getWorldSpecies().get(WorldType.SUBMISSION)); } }, - + GAMBLING_DEN_TRADER("Trader", "submission/gamblingDen/trader", BaseColor.TEAL, Color.MAP_BACKGROUND, GamblingDenDialogue.TRADER, null, false, true, true, "in the Gambling Den"), GAMBLING_DEN_GAMBLING("Dice Poker Tables", "submission/gamblingDen/gambling", BaseColor.GOLD, Color.MAP_BACKGROUND, GamblingDenDialogue.GAMBLING, null, false, true, true, "in the Gambling Den") { @Override @@ -1391,7 +1391,7 @@ public enum PlaceType { }, GAMBLING_DEN_PREGNANCY("Breeding Stalls", "submission/gamblingDen/normalPregnancy", BaseColor.BLUE_LIGHT, Color.MAP_BACKGROUND, GamblingDenDialogue.PREGNANCY_ROULETTE_MALE_STALLS, null, false, true, true, "in the Gambling Den"), GAMBLING_DEN_FUTA_PREGNANCY("Futa Breeding Stalls", "submission/gamblingDen/futaPregnancy", BaseColor.PINK_LIGHT, Color.MAP_BACKGROUND, GamblingDenDialogue.PREGNANCY_ROULETTE_FUTA_STALLS, null, false, true, true, "in the Gambling Den"), - + ; private String name; @@ -1405,8 +1405,8 @@ public enum PlaceType { private boolean dangerous, stormImmune, itemsDisappear; private String virginityLossDescription; - private static Map<String, String> SVGOverrides = new HashMap<>(); - + private static Map<String, String> SVGOverrides = new HashMap<>(); + /** * Only to be used for world map places. */ @@ -1418,7 +1418,7 @@ public enum PlaceType { boolean stormImmune, boolean itemsDisappear, String virginityLossDescription) { - + this.name = name; this.colorString = color; this.worldPlaceDescription = worldPlaceDescription; @@ -1429,7 +1429,7 @@ public enum PlaceType { this.virginityLossDescription = virginityLossDescription; SVGString = null; } - + private PlaceType(String name, String SVGPath, BaseColor color, @@ -1440,7 +1440,7 @@ public enum PlaceType { boolean stormImmune, boolean itemsDisappear, String virginityLossDescription) { - + this.name = name; this.color = color; this.backgroundColor = backgroundColor; @@ -1450,7 +1450,7 @@ public enum PlaceType { this.stormImmune = stormImmune; this.itemsDisappear = itemsDisappear; this.virginityLossDescription = virginityLossDescription; - + if(SVGPath!=null) { try { InputStream is = this.getClass().getResourceAsStream("/com/lilithsthrone/res/map/" + SVGPath + ".svg"); @@ -1458,13 +1458,13 @@ public enum PlaceType { System.err.println("Error! PlaceType icon file does not exist (Trying to read from '"+SVGPath+"')! (Code 1)"); } String s = Util.inputStreamToString(is); - + s = SvgUtil.colorReplacement(this.toString(), color, s); - + SVGString = s; - + is.close(); - + } catch (IOException e1) { e1.printStackTrace(); } @@ -1500,7 +1500,7 @@ public enum PlaceType { public DialogueNode getDialogue(boolean withRandomEncounter) { return getDialogue(withRandomEncounter, false); } - + public DialogueNode getDialogue(boolean withRandomEncounter, boolean forceEncounter) { if (getEncounterType() != null && withRandomEncounter) { DialogueNode dn = getEncounterType().getRandomEncounter(forceEncounter); @@ -1511,11 +1511,11 @@ public enum PlaceType { return dialogue; } - + public Population getPopulation() { return null; } - + public boolean isPopulated() { return getPopulation()!=null && !getPopulation().getSpecies().isEmpty(); } @@ -1523,7 +1523,7 @@ public enum PlaceType { public boolean isLand() { return true; } - + public boolean isDangerous() { return dangerous; } @@ -1531,11 +1531,11 @@ public enum PlaceType { public boolean isStormImmune() { return stormImmune; } - + public boolean isItemsDisappear() { return itemsDisappear; } - + private static String getSVGOverride(String id, String pathName, Color color) { if(!SVGOverrides.keySet().contains(pathName+color)) { try { @@ -1546,59 +1546,59 @@ public enum PlaceType { String s = Util.inputStreamToString(is); s = SvgUtil.colorReplacement(id, color, s); - + SVGOverrides.put(pathName+color, s); - + is.close(); - + } catch (Exception e1) { System.err.println("Eeeeeek! PlaceType.getSVGOverride()"); e1.printStackTrace(); return ""; } } - + return SVGOverrides.get(pathName+color); } - + public String getSVGString(Set<PlaceUpgrade> upgrades) { return SVGString; } - + public void applyInventoryInit(CharacterInventory inventory) { - + } - + // For determining where this place should be placed: - + public Bearing getBearing() { return null; } - + public WorldType getParentWorldType() { return null; } - + public PlaceType getParentPlaceType() { return null; } - + public EntranceType getParentAlignment() { return null; } - + public String getPlaceNameAppendFormat(int count) { return ""; } - + public boolean isAbleToBeUpgraded() { return false; } - + public ArrayList<PlaceUpgrade> getStartingPlaceUpgrades() { return new ArrayList<>(); } - + public ArrayList<PlaceUpgrade> getAvailablePlaceUpgrades(Set<PlaceUpgrade> upgrades) { return new ArrayList<>(); } @@ -1606,33 +1606,33 @@ public enum PlaceType { public static ArrayList<PlaceUpgrade> getAvailableLilayaRoomPlaceUpgrades(Set<PlaceUpgrade> upgrades) { if(upgrades.contains(PlaceUpgrade.LILAYA_GUEST_ROOM)) { return PlaceUpgrade.getGuestRoomUpgrades(); - + } else if(upgrades.contains(PlaceUpgrade.LILAYA_SLAVE_ROOM)) { return PlaceUpgrade.getSlaveQuartersUpgradesSingle(); - + } else if(upgrades.contains(PlaceUpgrade.LILAYA_SLAVE_ROOM_DOUBLE)) { return PlaceUpgrade.getSlaveQuartersUpgradesDouble(); - + } else if(upgrades.contains(PlaceUpgrade.LILAYA_MILKING_ROOM)) { return PlaceUpgrade.getMilkingUpgrades(); } - + return PlaceUpgrade.getCoreRoomUpgrades(); } - + public String getLilayaRoomSVGString(Set<PlaceUpgrade> upgrades) { if(upgrades.contains(PlaceUpgrade.LILAYA_GUEST_ROOM)) { return PlaceType.getSVGOverride(this.toString(), "dominion/lilayasHome/roomGuest", Color.BASE_GREEN_LIGHT); - + } else if(upgrades.contains(PlaceUpgrade.LILAYA_SLAVE_ROOM)) { return PlaceType.getSVGOverride(this.toString(), "dominion/lilayasHome/roomSlave", Color.BASE_CRIMSON); - + } else if(upgrades.contains(PlaceUpgrade.LILAYA_MILKING_ROOM)) { return PlaceType.getSVGOverride(this.toString(), "dominion/lilayasHome/roomMilking", Color.BASE_ORANGE); - + } else if(upgrades.contains(PlaceUpgrade.LILAYA_SLAVE_ROOM_DOUBLE)) { return PlaceType.getSVGOverride(this.toString(), "dominion/lilayasHome/roomSlaveDouble", Color.BASE_MAGENTA); - + } else { return SVGString; } diff --git a/src/com/lilithsthrone/world/places/PlaceUpgrade.java b/src/com/lilithsthrone/world/places/PlaceUpgrade.java index d35af3f28..2b2939cfc 100644 --- a/src/com/lilithsthrone/world/places/PlaceUpgrade.java +++ b/src/com/lilithsthrone/world/places/PlaceUpgrade.java @@ -18,7 +18,7 @@ import com.lilithsthrone.world.Cell; * @author Innoxia */ public enum PlaceUpgrade { - + SLAVERY_ADMINISTRATION_CELLS(true, Color.GENERIC_ARCANE, "Dingy Cells", @@ -32,7 +32,7 @@ public enum PlaceUpgrade { -0.5f, -0.5f, null), - + LILAYA_EMPTY_ROOM(true, Color.GENERIC_ARCANE, "Empty Room", @@ -46,12 +46,12 @@ public enum PlaceUpgrade { 0, 0, null) { - + @Override public boolean isSlaverUpgrade() { return false; } - + @Override public void applyInstallationEffects(Cell c) { GenericPlace place = c.getPlace(); @@ -61,7 +61,7 @@ public enum PlaceUpgrade { } } } - + @Override protected boolean isExtraConditionsMet(Cell cell) { return Main.game.getCharactersTreatingCellAsHome(cell).isEmpty() && !cell.getPlace().getPlaceUpgrades().contains(LILAYA_ARTHUR_ROOM); @@ -76,7 +76,7 @@ public enum PlaceUpgrade { } } }, - + LILAYA_ARTHUR_ROOM(true, Color.RACE_HUMAN, "Arthur's Room", @@ -94,14 +94,14 @@ public enum PlaceUpgrade { public void applyInstallationEffects(Cell c) { GenericPlace place = c.getPlace(); place.setPlaceType(PlaceType.LILAYA_HOME_ARTHUR_ROOM); - + for(PlaceUpgrade upgrade : PlaceUpgrade.values()) { if(upgrade != LILAYA_ARTHUR_ROOM) { place.removePlaceUpgrade(c, upgrade); } } } - + @Override protected boolean isExtraConditionsMet(Cell cell) { return Main.game.getCharactersTreatingCellAsHome(cell).isEmpty(); @@ -116,7 +116,7 @@ public enum PlaceUpgrade { } } }, - + LILAYA_GUEST_ROOM(true, Color.GENERIC_ARCANE, "Guest Room", @@ -134,19 +134,19 @@ public enum PlaceUpgrade { 0, 0, null) { - + @Override public boolean isSlaverUpgrade() { return false; } - + @Override protected boolean isExtraConditionsMet(Cell cell) { return Main.game.getPlayer().isQuestCompleted(QuestLine.SIDE_ACCOMMODATION) && Main.game.getCharactersTreatingCellAsHome(cell).isEmpty() && !cell.getPlace().getPlaceUpgrades().contains(LILAYA_ARTHUR_ROOM); } - + @Override protected String getExtraConditionalAvailabilityDescription(Cell cell) { if(!Main.game.getPlayer().isQuestCompleted(QuestLine.SIDE_ACCOMMODATION)) { @@ -155,7 +155,7 @@ public enum PlaceUpgrade { return super.getExtraConditionalAvailabilityDescription(cell); } } - + @Override public void applyInstallationEffects(Cell c) { GenericPlace place = c.getPlace(); @@ -166,7 +166,7 @@ public enum PlaceUpgrade { } } }, - + LILAYA_SLAVE_ROOM(true, Color.GENERIC_ARCANE, "Slave's Room", @@ -184,23 +184,23 @@ public enum PlaceUpgrade { 0, 0, null) { - + @Override public String getRoomDescription(Cell c) { GenericPlace place = c.getPlace(); - + if(place.getPlaceUpgrades().contains(PlaceUpgrade.LILAYA_SLAVE_ROOM_UPGRADE_BED)) { return "You've paid to have this room converted into basic slave's quarters." + " A comfortable double size bed, covered in a warm, fluffy duvet, sits against one wall." + " Beside it, there's a simple bedside cabinet, complete with arcane-powered lamp." + " Other than that, the only other pieces of furniture in here are a wooden wardrobe and chest of drawers."; - + } else if(place.getPlaceUpgrades().contains(PlaceUpgrade.LILAYA_SLAVE_ROOM_DOWNGRADE_BED)) { return "You've paid to have this room converted into basic slave's quarters." + " An uncomfortable single-size bed, covered in a thin blanket, sits against one wall." + " Beside it, there's a simple bedside cabinet, complete with arcane-powered lamp." + " Other than that, the only other pieces of furniture in here are a wooden wardrobe and chest of drawers."; - + }else { return "You've paid to have this room converted into basic slave's quarters." + " A single-size bed, covered in a plain white duvet, sits against one wall." @@ -208,12 +208,12 @@ public enum PlaceUpgrade { + " Other than that, the only other pieces of furniture in here are a wooden wardrobe and chest of drawers."; } } - + @Override protected boolean isExtraConditionsMet(Cell cell) { return Main.game.getCharactersTreatingCellAsHome(cell).isEmpty() && !cell.getPlace().getPlaceUpgrades().contains(LILAYA_ARTHUR_ROOM); } - + @Override public void applyInstallationEffects(Cell c) { GenericPlace place = c.getPlace(); @@ -224,7 +224,7 @@ public enum PlaceUpgrade { } } }, - + LILAYA_MILKING_ROOM(true, Color.BASE_ORANGE, "Milking Room", @@ -239,14 +239,14 @@ public enum PlaceUpgrade { 0, 0, null) { - + @Override public String getRoomDescription(Cell c) { MilkingRoom room = Main.game.getOccupancyUtil().getMilkingRoom(c.getType(), c.getLocation()); - + return room.getRoomDescription(); } - + @Override public void applyInstallationEffects(Cell c) { GenericPlace place = c.getPlace(); @@ -259,7 +259,7 @@ public enum PlaceUpgrade { Main.game.getOccupancyUtil().addMilkingRoom(new MilkingRoom(c.getType(), c.getLocation())); } } - + @Override protected boolean isExtraConditionsMet(Cell cell) { return Main.game.getCharactersTreatingCellAsHome(cell).isEmpty() && !cell.getPlace().getPlaceUpgrades().contains(LILAYA_ARTHUR_ROOM); @@ -274,7 +274,7 @@ public enum PlaceUpgrade { } } }, - + LILAYA_SLAVE_ROOM_DOUBLE(true, Color.BASE_MAGENTA, "Double Slave Room", @@ -292,23 +292,23 @@ public enum PlaceUpgrade { -0.05f, 0, null) { - + @Override public String getRoomDescription(Cell c) { GenericPlace place = c.getPlace(); - + if(place.getPlaceUpgrades().contains(PlaceUpgrade.LILAYA_SLAVE_ROOM_UPGRADE_BED)) { return "You've paid to have this room converted so that it's suitable for housing two of your slaves." + " A single double size bed, covered in a warm, fluffy duvet, sits against one of the room's walls." + " On either side of it, there's a simple bedside cabinet, each complete with its own arcane-powered lamp." + " Other than those, the only other pieces of furniture in here are a single wooden wardrobe and a solitary chest of drawers."; - + } else if(place.getPlaceUpgrades().contains(PlaceUpgrade.LILAYA_SLAVE_ROOM_DOWNGRADE_BED)) { return "You've paid to have this room converted so that it's suitable for housing two of your slaves." + " A pair of uncomfortable single-size beds, covered in thin blankets, sit against opposite walls." + " Beside each one, there's a simple bedside cabinet, complete with arcane-powered lamp." + " Other than that, the only other pieces of furniture in here are a single wooden wardrobe and solitary chest of drawers."; - + }else { return "You've paid to have this room converted so that it's suitable for housing two of your slaves." + " A pair of single-size beds, covered in a plain white duvets, sit against opposite walls." @@ -316,20 +316,20 @@ public enum PlaceUpgrade { + " Other than that, the only other pieces of furniture in here are a single wooden wardrobe and solitary chest of drawers."; } } - + @Override protected boolean isExtraConditionsMet(Cell cell) { return (Main.game.getCharactersTreatingCellAsHome(cell).isEmpty() && !cell.getPlace().getPlaceUpgrades().contains(LILAYA_ARTHUR_ROOM)) || cell.getPlace().getPlaceUpgrades().contains(LILAYA_SLAVE_ROOM); } - + @Override public void applyInstallationEffects(Cell c) { GenericPlace place = c.getPlace(); if(place.getPlaceUpgrades().contains(LILAYA_SLAVE_ROOM)) { place.removePlaceUpgrade(c, LILAYA_SLAVE_ROOM); - + } else { for(PlaceUpgrade upgrade : PlaceUpgrade.values()) { if(upgrade != LILAYA_SLAVE_ROOM_DOUBLE) { @@ -339,7 +339,7 @@ public enum PlaceUpgrade { } } }, - + LILAYA_SLAVE_ROOM_DOWNGRADE_BED(false, Color.GENERIC_BAD, "Small Steel Bed", @@ -355,7 +355,7 @@ public enum PlaceUpgrade { -0.1f, 0.2f, null) { - + @Override protected boolean isExtraConditionsMet(Cell cell) { return !cell.getPlace().getPlaceUpgrades().contains(LILAYA_SLAVE_ROOM_UPGRADE_BED); @@ -369,7 +369,7 @@ public enum PlaceUpgrade { return ""; } }, - + LILAYA_SLAVE_ROOM_UPGRADE_BED(false, Color.GENERIC_GOOD, "Double Size Bed", @@ -385,11 +385,11 @@ public enum PlaceUpgrade { 0.2f, -0.1f, null) { - + @Override public String getRoomDescription(Cell c) { GenericPlace place = c.getPlace(); - + if(place.getPlaceUpgrades().contains(LILAYA_SLAVE_ROOM_DOUBLE)) { return "This room's pair of single-sized beds have been replaced with a solitary double-sized one, complete with a comfortable mattress, fluffy pillows, and a warm duvet." + " The pair of slaves assigned to be this room's occupants will have to learn to live with the fact that they now sleep in the same bed..."; @@ -398,7 +398,7 @@ public enum PlaceUpgrade { + " Providing this room's occupant with such a delightful place to sleep will definitely get them to like you more, although such luxury might make them forget their place..."; } } - + @Override protected boolean isExtraConditionsMet(Cell cell) { return !cell.getPlace().getPlaceUpgrades().contains(LILAYA_SLAVE_ROOM_DOWNGRADE_BED); @@ -412,7 +412,7 @@ public enum PlaceUpgrade { return ""; } }, - + LILAYA_SLAVE_ROOM_OBEDIENCE_TRAINER(false, Color.GENERIC_ARCANE, "Obedience Trainer", @@ -432,7 +432,7 @@ public enum PlaceUpgrade { -0.2f, 0.4f, null), - + LILAYA_SLAVE_ROOM_ROOM_SERVICE(false, Color.GENERIC_ARCANE, "Room service", @@ -449,7 +449,7 @@ public enum PlaceUpgrade { 0.4f, -0.2f, null), - + LILAYA_SLAVE_ROOM_ARCANE_INSTRUMENTS(false, Color.GENERIC_ARCANE, "Arcane Instruments", @@ -466,7 +466,7 @@ public enum PlaceUpgrade { -0.1f, 0f, null), - + LILAYA_MILKING_ROOM_ARTISAN_MILKERS(false, Color.GENERIC_ARCANE, "Artisan Milkers", @@ -489,7 +489,7 @@ public enum PlaceUpgrade { 1f, 0.5f, null) { - + @Override protected boolean isExtraConditionsMet(Cell cell) { return !cell.getPlace().getPlaceUpgrades().contains(LILAYA_MILKING_ROOM_INDUSTRIAL_MILKERS); @@ -503,7 +503,7 @@ public enum PlaceUpgrade { return ""; } }, - + LILAYA_MILKING_ROOM_INDUSTRIAL_MILKERS(false, Color.GENERIC_ARCANE, "Industrial Milkers", @@ -526,7 +526,7 @@ public enum PlaceUpgrade { -1f, 0.5f, null) { - + @Override protected boolean isExtraConditionsMet(Cell cell) { return !cell.getPlace().getPlaceUpgrades().contains(LILAYA_MILKING_ROOM_ARTISAN_MILKERS); @@ -540,7 +540,7 @@ public enum PlaceUpgrade { return ""; } }, - + LILAYA_MILKING_ROOM_MILK_EFFICIENCY(false, Color.MILK, "Lact-o-Cups", @@ -554,7 +554,7 @@ public enum PlaceUpgrade { 0, 0, null), - + LILAYA_MILKING_ROOM_CUM_EFFICIENCY(false, Color.CUM, "Succ-u-Buses", @@ -582,11 +582,11 @@ public enum PlaceUpgrade { 0, 0, null), - + ; - + private static ArrayList<PlaceUpgrade> coreRoomUpgrades, guestRoomUpgrades, slaveQuartersUpgradesSingle, slaveQuartersUpgradesDouble, getMilkingUpgrades; - + public static ArrayList<PlaceUpgrade> getCoreRoomUpgrades() { if(Main.game.getDialogueFlags().hasFlag(DialogueFlagValue.arthursRoomInstalled) || Main.game.getPlayer().isQuestProgressLessThan(QuestLine.MAIN, Quest.MAIN_1_J_ARTHURS_ROOM)) { ArrayList<PlaceUpgrade> listArthurRemoved = new ArrayList<>(coreRoomUpgrades); @@ -613,7 +613,7 @@ public enum PlaceUpgrade { } return slaveQuartersUpgradesSingle; } - + public static ArrayList<PlaceUpgrade> getSlaveQuartersUpgradesDouble() { if(Main.game.getDialogueFlags().hasFlag(DialogueFlagValue.arthursRoomInstalled) || Main.game.getPlayer().isQuestProgressLessThan(QuestLine.MAIN, Quest.MAIN_1_J_ARTHURS_ROOM)) { ArrayList<PlaceUpgrade> listArthurRemoved = new ArrayList<>(slaveQuartersUpgradesDouble); @@ -622,7 +622,7 @@ public enum PlaceUpgrade { } return slaveQuartersUpgradesDouble; } - + public static ArrayList<PlaceUpgrade> getMilkingUpgrades() { return getMilkingUpgrades; } @@ -630,42 +630,42 @@ public enum PlaceUpgrade { static { coreRoomUpgrades = Util.newArrayListOfValues( PlaceUpgrade.LILAYA_GUEST_ROOM, - + PlaceUpgrade.LILAYA_SLAVE_ROOM, PlaceUpgrade.LILAYA_SLAVE_ROOM_DOUBLE, - + PlaceUpgrade.LILAYA_MILKING_ROOM, - + PlaceUpgrade.LILAYA_ARTHUR_ROOM); guestRoomUpgrades = Util.newArrayListOfValues( PlaceUpgrade.LILAYA_EMPTY_ROOM); - + slaveQuartersUpgradesSingle = Util.newArrayListOfValues( PlaceUpgrade.LILAYA_SLAVE_ROOM_ROOM_SERVICE, - + PlaceUpgrade.LILAYA_SLAVE_ROOM_UPGRADE_BED, PlaceUpgrade.LILAYA_SLAVE_ROOM_DOWNGRADE_BED, - + PlaceUpgrade.LILAYA_SLAVE_ROOM_ARCANE_INSTRUMENTS, PlaceUpgrade.LILAYA_SLAVE_ROOM_OBEDIENCE_TRAINER, PlaceUpgrade.LILAYA_SLAVE_ROOM_DOUBLE, PlaceUpgrade.LILAYA_EMPTY_ROOM, PlaceUpgrade.LILAYA_ARTHUR_ROOM); - + slaveQuartersUpgradesDouble = Util.newArrayListOfValues( PlaceUpgrade.LILAYA_SLAVE_ROOM_ROOM_SERVICE, - + PlaceUpgrade.LILAYA_SLAVE_ROOM_UPGRADE_BED, PlaceUpgrade.LILAYA_SLAVE_ROOM_DOWNGRADE_BED, - + PlaceUpgrade.LILAYA_SLAVE_ROOM_ARCANE_INSTRUMENTS, PlaceUpgrade.LILAYA_SLAVE_ROOM_OBEDIENCE_TRAINER, - + PlaceUpgrade.LILAYA_EMPTY_ROOM, PlaceUpgrade.LILAYA_ARTHUR_ROOM); - + getMilkingUpgrades = Util.newArrayListOfValues( PlaceUpgrade.LILAYA_MILKING_ROOM_ARTISAN_MILKERS, PlaceUpgrade.LILAYA_MILKING_ROOM_INDUSTRIAL_MILKERS, @@ -673,27 +673,27 @@ public enum PlaceUpgrade { PlaceUpgrade.LILAYA_MILKING_ROOM_MILK_EFFICIENCY, PlaceUpgrade.LILAYA_MILKING_ROOM_CUM_EFFICIENCY, PlaceUpgrade.LILAYA_MILKING_ROOM_GIRLCUM_EFFICIENCY, - + PlaceUpgrade.LILAYA_EMPTY_ROOM); } - + private boolean isCoreRoomUpgrade; - + protected String name; protected String descriptionForPurchase; protected String descriptionAfterPurchase; protected String roomDescription; - + private int installCost; private int removalCost; private int upkeep; private int capacity; - + private Color color; - + private float affectionGain; private float obedienceGain; - + private List<PlaceUpgrade> prerequisites; private PlaceUpgrade(boolean isCoreRoomUpgrade, @@ -709,31 +709,31 @@ public enum PlaceUpgrade { float affectionGain, float obedienceGain, List<PlaceUpgrade> prerequisites) { - + this.isCoreRoomUpgrade = isCoreRoomUpgrade; this.color = color; this.name = name; this.descriptionForPurchase = descriptionForPurchase; this.descriptionAfterPurchase = descriptionAfterPurchase; this.roomDescription = roomDescription; - + this.installCost = installCost; this.removalCost = removalCost; this.upkeep = upkeep; this.capacity = capacity; - + this.affectionGain = affectionGain; - + this.obedienceGain = obedienceGain; - + if(prerequisites==null) { this.prerequisites = new ArrayList<>(); - + } else { this.prerequisites = prerequisites; } } - + protected boolean isExtraConditionsMet(Cell cell) { return true; } @@ -741,24 +741,24 @@ public enum PlaceUpgrade { protected String getExtraConditionalAvailabilityDescription(Cell cell) { return ""; } - + public boolean isAvailable(Cell cell) { return (Main.game.getPlayer().isHasSlaverLicense() || (Main.game.getPlayer().isQuestCompleted(QuestLine.SIDE_ACCOMMODATION) && !this.isSlaverUpgrade())) && isExtraConditionsMet(cell); } - + public String getAvailabilityDescription(Cell cell) { if(!(Main.game.getPlayer().isHasSlaverLicense() || (Main.game.getPlayer().isQuestCompleted(QuestLine.SIDE_ACCOMMODATION) && !this.isSlaverUpgrade()))) { return "You are unable to purchase this upgrade without a slaver license!"; } - + return getExtraConditionalAvailabilityDescription(cell); } - + public boolean isSlaverUpgrade() { return true; } - + public boolean isCoreRoomUpgrade() { return isCoreRoomUpgrade; } @@ -810,11 +810,11 @@ public enum PlaceUpgrade { public List<PlaceUpgrade> getPrerequisites() { return prerequisites; } - + public boolean isPrerequisitesMet(GenericPlace place) { return place.getPlaceUpgrades().containsAll(prerequisites); } - + public void applyInstallationEffects(Cell c) { } diff --git a/src/com/lilithsthrone/world/places/PopulationDensity.java b/src/com/lilithsthrone/world/places/PopulationDensity.java index 76887b156..3a53c3c95 100644 --- a/src/com/lilithsthrone/world/places/PopulationDensity.java +++ b/src/com/lilithsthrone/world/places/PopulationDensity.java @@ -8,19 +8,19 @@ package com.lilithsthrone.world.places; public enum PopulationDensity { COUPLE("one or two"), - + FEW("few"), - + SPARSE("sparse"), - + SEVERAL("several"), - + NUMEROUS("numerous"), - + DENSE("dense"); String name; - + private PopulationDensity(String name) { this.name = name; } diff --git a/src/com/lilithsthrone/world/places/PopulationType.java b/src/com/lilithsthrone/world/places/PopulationType.java index 07c95bdce..2367d3318 100644 --- a/src/com/lilithsthrone/world/places/PopulationType.java +++ b/src/com/lilithsthrone/world/places/PopulationType.java @@ -8,26 +8,26 @@ package com.lilithsthrone.world.places; public enum PopulationType { PEOPLE("people", true), - + HARPIES("harpies", true), - + CROWD("crowd", false), - + CROWDS("crowds", true), - + ENFORCERS("enforcers", true), - + SHOPPERS("shoppers", true), VIPS("VIPs", true), - + GUARDS("guards", true), MAIDS("maids", true); private String name; private boolean plural; - + private PopulationType(String name, boolean plural) { this.name = name; this.plural = plural; -- GitLab