Search in sources :

Example 11 with Covering

use of com.lilithsthrone.game.character.body.Covering in project liliths-throne-public by Innoxia.

the class CharacterModificationUtils method getKatesDivCoveringsNew.

public static String getKatesDivCoveringsNew(boolean withCost, BodyCoveringType coveringType, String title, String description, boolean withSecondary, boolean withGlow, boolean withDyeAndExtraPatterns) {
    boolean disabledButton = !coveringsToBeApplied.containsKey(coveringType) || coveringsToBeApplied.get(coveringType).equals(BodyChanging.getTarget().getCovering(coveringType));
    contentSB = new StringBuilder("<div class='container-full-width' style='text-align:center;'>" + "<div class='container-quarter-width'>" + "<p>" + "<b>" + Util.capitaliseSentence(title) + "</b>" + "</p>" + "<p>" + "Currently:</br><i>" + BodyChanging.getTarget().getCovering(coveringType).getFullDescription(BodyChanging.getTarget(), true) + "</i>" + "</p>" + (disabledButton ? "<div class='normal-button disabled' style='width:90%; margin:2% auto; padding:0; text-align:center; bottom:0;'>" + "<span style='color:" + Colour.TEXT_GREY.toWebHexString() + ";'>Apply Changes" + (withCost ? "</br>(" + UtilText.formatAsMoneyUncoloured(SuccubisSecrets.getBodyCoveringTypeCost(coveringType), "b") + ")" : "") + "</span>" + "</div>" : "<div class='normal-button' style='width:90%; margin:2% auto; padding:0; text-align:center; bottom:0;' id='APPLY_COVERING_" + coveringType + "'>" + "Apply Changes" + (withCost ? "</br>(" + (Main.game.getPlayer().getMoney() >= SuccubisSecrets.getBodyCoveringTypeCost(coveringType) ? UtilText.formatAsMoney(SuccubisSecrets.getBodyCoveringTypeCost(coveringType), "b") : UtilText.formatAsMoney(SuccubisSecrets.getBodyCoveringTypeCost(coveringType), "b", Colour.GENERIC_BAD)) + ")" : "") + "</div>") + "</div>" + "<div class='container-quarter-width'>" + "Pattern:</br>");
    Covering activeCovering = !coveringsToBeApplied.containsKey(coveringType) ? BodyChanging.getTarget().getCovering(coveringType) : coveringsToBeApplied.get(coveringType);
    List<CoveringPattern> availablePatterns = withDyeAndExtraPatterns ? coveringType.getAllPatterns() : coveringType.getNaturalPatterns();
    for (CoveringPattern pattern : availablePatterns) {
        if (activeCovering.getPattern() == pattern) {
            contentSB.append("<div class='cosmetics-button active'>" + "<b style='color:" + Colour.GENERIC_GOOD.toWebHexString() + ";'>" + Util.capitaliseSentence(pattern.getName()) + "</b>" + "</div>");
        } else {
            contentSB.append("<div id='" + coveringType + "_PATTERN_" + pattern + "' class='cosmetics-button'>" + (Main.game.getPlayer().getMoney() >= SuccubisSecrets.getBodyCoveringTypeCost(coveringType) || !withCost ? "<span style='color:" + Colour.TRANSFORMATION_GENERIC.getShades()[0] + ";'>" + Util.capitaliseSentence(pattern.getName()) + "</span>" : "[style.colourDisabled(" + Util.capitaliseSentence(pattern.getName()) + ")]") + "</div>");
        }
    }
    contentSB.append("</div>");
    contentSB.append("<div class='container-half-width''>");
    contentSB.append("<div class='container-half-width'>" + "Primary Colour:</br>");
    List<Colour> availablePrimaryColours = withDyeAndExtraPatterns ? coveringType.getAllPrimaryColours() : coveringType.getNaturalColoursPrimary();
    for (Colour c : availablePrimaryColours) {
        contentSB.append("<div class='normal-button" + (activeCovering.getPrimaryColour() == c ? " selected" : "") + "' id='" + coveringType + "_PRIMARY_" + c + "'" + " style='width:auto; margin-right:4px;" + (activeCovering.getPrimaryColour() == c ? " background-color:" + Colour.BASE_GREEN.getShades()[4] + ";" : "") + "'>" + "<div class='phone-item-colour' style='background-color:" + c.toWebHexString() + ";" + (c == Colour.COVERING_NONE ? " color:" + Colour.BASE_RED.toWebHexString() + ";'>X" : "'>") + "</div>" + "</div>");
    }
    contentSB.append("</br>");
    if (activeCovering.getPrimaryColour() == Colour.COVERING_NONE || !withGlow) {
        // Disable glow:
        contentSB.append("<div class='normal-button disabled' style='width:50%; margin:2% auto; padding:0; text-align:center;'>" + "[style.colourDisabled(Glow)]" + "</div>");
    } else {
        if (activeCovering.isPrimaryGlowing()) {
            contentSB.append("<div class='normal-button active' id='" + coveringType + "_PRIMARY_GLOW_OFF' style='width:50%; margin:2% auto; padding:0; text-align:center;'>" + "[style.boldArcane(Glow)]" + "</div>");
        } else {
            contentSB.append("<div id='" + coveringType + "_PRIMARY_GLOW_ON' class='normal-button' style='width:50%; margin:2% auto; padding:0; text-align:center;'>" + (Main.game.getPlayer().getMoney() >= SuccubisSecrets.getBodyCoveringTypeCost(coveringType) || !withCost ? "<span style='color:" + Colour.GENERIC_ARCANE.getShades()[0] + ";'>Glow</span>" : "[style.colourDisabled(Glowing)]") + "</div>");
        }
    }
    contentSB.append("<p>" + "<b style='color:" + activeCovering.getPrimaryColour().toWebHexString() + ";" + (activeCovering.isPrimaryGlowing() ? "text-shadow: 0px 0px 4px " + activeCovering.getPrimaryColour().getShades()[4] + ";" : "") + "'>" + Util.capitaliseSentence(activeCovering.getPrimaryColour().getName()) + "</b>" + "</p>");
    contentSB.append("</div>" + "<div class='container-half-width'>" + "Secondary Colour:</br>");
    List<Colour> availableSecondaryColours = withDyeAndExtraPatterns ? coveringType.getAllSecondaryColours() : coveringType.getNaturalColoursSecondary();
    for (Colour c : availableSecondaryColours) {
        if (activeCovering.getPattern() == CoveringPattern.NONE || activeCovering.getPattern() == CoveringPattern.EYE_IRISES || activeCovering.getPattern() == CoveringPattern.EYE_PUPILS || !withSecondary) {
            contentSB.append("<div class='normal-button disabled' style='width:auto; margin-right:4px;'>" + "<div class='phone-item-colour' style='background-color:" + c.getShades()[0] + ";'></div>" + "</div>");
        } else {
            contentSB.append("<div class='normal-button" + (activeCovering.getSecondaryColour() == c ? " selected" : "") + "' id='" + coveringType + "_SECONDARY_" + c + "'" + " style='width:auto; margin-right:4px;" + (activeCovering.getSecondaryColour() == c ? " background-color:" + Colour.BASE_GREEN.getShades()[4] + ";" : "") + "'>" + "<div class='phone-item-colour' style='background-color:" + c.toWebHexString() + ";" + (c == Colour.COVERING_NONE ? " color:" + Colour.BASE_RED.toWebHexString() + ";'>X" : "'>") + "</div>" + "</div>");
        }
    }
    contentSB.append("</br>");
    if (activeCovering.getSecondaryColour() == Colour.COVERING_NONE || !withGlow || activeCovering.getPattern() == CoveringPattern.NONE || !withSecondary) {
        // Disable glow:
        contentSB.append("<div class='normal-button disabled' style='width:50%; margin:2% auto; padding:0; text-align:center;'>" + "[style.colourDisabled(Glow)]" + "</div>");
    } else {
        if (activeCovering.isSecondaryGlowing()) {
            contentSB.append("<div class='normal-button active' id='" + coveringType + "_SECONDARY_GLOW_OFF' style='width:50%; margin:2% auto; padding:0; text-align:center;'>" + "[style.boldArcane(Glow)]" + "</div>");
        } else {
            contentSB.append("<div id='" + coveringType + "_SECONDARY_GLOW_ON' class='normal-button' style='width:50%; margin:2% auto; padding:0; text-align:center;'>" + (Main.game.getPlayer().getMoney() >= SuccubisSecrets.getBodyCoveringTypeCost(coveringType) || !withCost ? "<span style='color:" + Colour.GENERIC_ARCANE.getShades()[0] + ";'>Glow</span>" : "[style.colourDisabled(Glowing)]") + "</div>");
        }
    }
    if (activeCovering.getPattern() == CoveringPattern.NONE || activeCovering.getPattern() == CoveringPattern.EYE_IRISES || activeCovering.getPattern() == CoveringPattern.EYE_PUPILS || !withSecondary) {
        contentSB.append("<p>" + "[style.boldDisabled(Disabled)]" + "</p>");
    } else {
        contentSB.append("<p>" + "<b style='color:" + activeCovering.getSecondaryColour().toWebHexString() + ";" + (activeCovering.isSecondaryGlowing() ? "text-shadow: 0px 0px 4px " + activeCovering.getSecondaryColour().getShades()[4] + ";" : "") + "'>" + Util.capitaliseSentence(activeCovering.getSecondaryColour().getName()) + "</b>" + "</p>");
    }
    contentSB.append("</div>");
    if (activeCovering.getType().getNaturalModifiers().size() + activeCovering.getType().getExtraModifiers().size() > 1) {
        contentSB.append("<div class='container-full-width'>");
        for (CoveringModifier mod : activeCovering.getType().getNaturalModifiers()) {
            if (activeCovering.getModifier() == mod) {
                contentSB.append("<div class='cosmetics-button active'>" + "<b style='color:" + Colour.GENERIC_GOOD.toWebHexString() + ";'>" + Util.capitaliseSentence(mod.getName()) + "</b>" + "</div>");
            } else {
                contentSB.append("<div id='" + coveringType + "_MODIFIER_" + mod + "' class='cosmetics-button'>" + (Main.game.getPlayer().getMoney() >= SuccubisSecrets.getBodyCoveringTypeCost(coveringType) || !withCost ? "<span style='color:" + Colour.TRANSFORMATION_GENERIC.getShades()[0] + ";'>" + Util.capitaliseSentence(mod.getName()) + "</span>" : "[style.colourDisabled(" + Util.capitaliseSentence(mod.getName()) + ")]") + "</div>");
            }
        }
        for (CoveringModifier mod : activeCovering.getType().getExtraModifiers()) {
            if (activeCovering.getModifier() == mod) {
                contentSB.append("<div class='cosmetics-button active'>" + "<b style='color:" + Colour.GENERIC_GOOD.toWebHexString() + ";'>" + Util.capitaliseSentence(mod.getName()) + "</b>" + "</div>");
            } else {
                contentSB.append("<div id='" + coveringType + "_MODIFIER_" + mod + "' class='cosmetics-button'>" + (Main.game.getPlayer().getMoney() >= SuccubisSecrets.getBodyCoveringTypeCost(coveringType) || !withCost ? "<span style='color:" + Colour.TRANSFORMATION_GENERIC.getShades()[0] + ";'>" + Util.capitaliseSentence(mod.getName()) + "</span>" : "[style.colourDisabled(" + Util.capitaliseSentence(mod.getName()) + ")]") + "</div>");
            }
        }
        contentSB.append("</div>");
    }
    contentSB.append("</div>");
    contentSB.append("</div>");
    return contentSB.toString();
}
Also used : CoveringModifier(com.lilithsthrone.game.character.body.valueEnums.CoveringModifier) Covering(com.lilithsthrone.game.character.body.Covering) CoveringPattern(com.lilithsthrone.game.character.body.valueEnums.CoveringPattern) Colour(com.lilithsthrone.utils.Colour)

Example 12 with Covering

use of com.lilithsthrone.game.character.body.Covering in project liliths-throne-public by Innoxia.

the class Kate method loadFromXML.

@Override
public void loadFromXML(Element parentElement, Document doc, CharacterImportSetting... settings) {
    loadNPCVariablesFromXML(this, null, parentElement, doc, settings);
    this.setWingSize(WingSize.ONE_SMALL.getValue());
    this.setHairCovering(new Covering(BodyCoveringType.HAIR_DEMON, Colour.COVERING_RED), true);
    this.setHairLength(HairLength.THREE_SHOULDER_LENGTH.getMedianValue());
    this.setHairStyle(HairStyle.SIDECUT);
    this.setHornType(HornType.CURLED);
    this.setSkinCovering(new Covering(BodyCoveringType.HORN, Colour.HORN_DARK_GREY), true);
    this.deleteAllEquippedClothing();
    this.setPiercedEar(true);
    this.equipClothingFromNowhere(AbstractClothingType.generateClothing(ClothingType.GROIN_VSTRING, Colour.CLOTHING_PINK, false), true, this);
    this.equipClothingFromNowhere(AbstractClothingType.generateClothing(ClothingType.LEG_MICRO_SKIRT_BELTED, Colour.CLOTHING_BLACK, false), true, this);
    this.equipClothingFromNowhere(AbstractClothingType.generateClothing(ClothingType.TORSO_CAMITOP_STRAPS, Colour.CLOTHING_PINK, false), true, this);
    this.equipClothingFromNowhere(AbstractClothingType.generateClothing(ClothingType.TORSO_OVER_WOMENS_LEATHER_JACKET, Colour.CLOTHING_BLACK, false), true, this);
    this.equipClothingFromNowhere(AbstractClothingType.generateClothing(ClothingType.SOCK_FISHNET_STOCKINGS, Colour.CLOTHING_BLACK, false), true, this);
    this.equipClothingFromNowhere(AbstractClothingType.generateClothing(ClothingType.FOOT_HEELS, Colour.CLOTHING_BLACK, false), true, this);
    this.equipClothingFromNowhere(AbstractClothingType.generateClothing(ClothingType.PIERCING_EAR_BASIC_RING, Colour.CLOTHING_GOLD, false), true, this);
    dailyReset();
}
Also used : Covering(com.lilithsthrone.game.character.body.Covering)

Example 13 with Covering

use of com.lilithsthrone.game.character.body.Covering in project liliths-throne-public by Innoxia.

the class Scarlett method loadFromXML.

@Override
public void loadFromXML(Element parentElement, Document doc, CharacterImportSetting... settings) {
    loadNPCVariablesFromXML(this, null, parentElement, doc, settings);
    if (!this.isSlave()) {
        this.addFetish(Fetish.FETISH_ANAL_GIVING);
        this.addFetish(Fetish.FETISH_DOMINANT);
        this.addFetish(Fetish.FETISH_SADIST);
        this.resetInventory();
        getDressed();
        this.setEyeCovering(new Covering(BodyCoveringType.EYE_HARPY, Colour.EYE_RED));
        this.setHairCovering(new Covering(BodyCoveringType.HAIR_HARPY, Colour.FEATHERS_BLACK), true);
        this.setSkinCovering(new Covering(BodyCoveringType.FEATHERS, Colour.FEATHERS_BLACK), true);
    }
}
Also used : Covering(com.lilithsthrone.game.character.body.Covering)

Example 14 with Covering

use of com.lilithsthrone.game.character.body.Covering in project liliths-throne-public by Innoxia.

the class ZaranixMaidKatherine method resetBody.

public void resetBody() {
    this.setBody(Gender.F_P_V_B_FUTANARI, RacialBody.DEMON, RaceStage.GREATER);
    this.setEyeCovering(new Covering(BodyCoveringType.EYE_DEMON_COMMON, Colour.EYE_BLUE));
    this.setHairCovering(new Covering(BodyCoveringType.HAIR_DEMON, Colour.COVERING_BLACK), true);
    this.setHairLength(HairLength.FOUR_MID_BACK.getMedianValue());
    this.setHairStyle(HairStyle.PONYTAIL);
    this.setSkinCovering(new Covering(BodyCoveringType.DEMON_COMMON, Colour.SKIN_IVORY), true);
    this.setHornType(HornType.CURLED);
    this.setMuscle(Muscle.THREE_MUSCULAR.getMedianValue());
    this.setBodySize(BodySize.TWO_AVERAGE.getMedianValue());
}
Also used : Covering(com.lilithsthrone.game.character.body.Covering)

Example 15 with Covering

use of com.lilithsthrone.game.character.body.Covering in project liliths-throne-public by Innoxia.

the class ZaranixMaidKelly method resetBody.

public void resetBody() {
    this.setBody(Gender.F_P_V_B_FUTANARI, RacialBody.DEMON, RaceStage.GREATER);
    this.setEyeCovering(new Covering(BodyCoveringType.EYE_DEMON_COMMON, Colour.EYE_BLUE));
    this.setHairCovering(new Covering(BodyCoveringType.HAIR_DEMON, Colour.COVERING_BLACK), true);
    this.setHairLength(HairLength.FOUR_MID_BACK.getMedianValue());
    this.setHairStyle(HairStyle.STRAIGHT);
    this.setSkinCovering(new Covering(BodyCoveringType.DEMON_COMMON, Colour.SKIN_IVORY), true);
    this.setHornType(HornType.CURLED);
    this.setMuscle(Muscle.THREE_MUSCULAR.getMedianValue());
    this.setBodySize(BodySize.TWO_AVERAGE.getMedianValue());
}
Also used : Covering(com.lilithsthrone.game.character.body.Covering)

Aggregations

Covering (com.lilithsthrone.game.character.body.Covering)17 BodyCoveringType (com.lilithsthrone.game.character.body.types.BodyCoveringType)4 ArrayList (java.util.ArrayList)4 BodyPartInterface (com.lilithsthrone.game.character.body.BodyPartInterface)2 Eye (com.lilithsthrone.game.character.body.Eye)2 OrificeModifier (com.lilithsthrone.game.character.body.valueEnums.OrificeModifier)2 PenisModifier (com.lilithsthrone.game.character.body.valueEnums.PenisModifier)2 TongueModifier (com.lilithsthrone.game.character.body.valueEnums.TongueModifier)2 NPC (com.lilithsthrone.game.character.npc.NPC)2 Subspecies (com.lilithsthrone.game.character.race.Subspecies)2 Colour (com.lilithsthrone.utils.Colour)2 List (java.util.List)2 EnchantmentEventListener (com.lilithsthrone.controller.eventListeners.EnchantmentEventListener)1 InventorySelectedItemEventListener (com.lilithsthrone.controller.eventListeners.InventorySelectedItemEventListener)1 InventoryTooltipEventListener (com.lilithsthrone.controller.eventListeners.InventoryTooltipEventListener)1 SetContentEventListener (com.lilithsthrone.controller.eventListeners.SetContentEventListener)1 TooltipHideEventListener (com.lilithsthrone.controller.eventListeners.TooltipHideEventListener)1 TooltipInformationEventListener (com.lilithsthrone.controller.eventListeners.TooltipInformationEventListener)1 TooltipMoveEventListener (com.lilithsthrone.controller.eventListeners.TooltipMoveEventListener)1 TooltipResponseDescriptionEventListener (com.lilithsthrone.controller.eventListeners.TooltipResponseDescriptionEventListener)1