Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

The list of garment voice lines hasn't changed, but here it is:

undress, undressHat, undressShirt, undressSkirt, undressPants, undressShorts, undressDress, undressUndies, undressBra, undressStockings, undressShoes, undressModesty, undressTop, undressBottom

As for which clothing names triggers which line, it's not as straightforward as a list. It's a bunch of ordered string matching checks that get it right most of the time, but not always. I'll just post the code here.

public void playUndressVoice(Player player, Clothing clothing) {

    PlayerVoiceData.VoiceEventType eventType = PlayerVoiceData.VoiceEventType.undress;

    if(clothing != null) {

      String clothingName = clothing.getName().trim().toLowerCase();

      if (clothingName.contains("shirt") || clothingName.contains("blouse")) {

        eventType = PlayerVoiceData.VoiceEventType.undressShirt;

      } else if (clothingName.contains("skirt")) {

        eventType = PlayerVoiceData.VoiceEventType.undressSkirt;

      } else if (clothingName.contains("pants") || clothingName.contains("trousers")) {

        eventType = PlayerVoiceData.VoiceEventType.undressPants;

      } else if (clothingName.contains("shorts")) {

        eventType = PlayerVoiceData.VoiceEventType.undressShorts;

      } else if (clothingName.contains("dress") || clothingName.contains("gown") || clothingName.contains("robe")) {

        eventType = PlayerVoiceData.VoiceEventType.undressDress;

      } else if (clothingName.contains("panties") || clothingName.contains("undies") || clothingName.contains("bloomers") || clothingName.contains("knickers") || clothingName.contains("thong") || clothingName.contains("briefs") || clothingName.contains("g-string") || clothingName.contains("loincloth")) {

        eventType = PlayerVoiceData.VoiceEventType.undressUndies;

      } else if (clothingName.contains("bra") || clothingName.contains("corset") || clothingName.contains("bustier") || clothingName.contains("bikini top") || clothingName.contains("halter top")|| clothingName.contains("bandeau")) {

        eventType = PlayerVoiceData.VoiceEventType.undressBra;

      } else if (clothingName.contains("stockings") || clothingName.contains("pantyhose") || clothingName.contains("socks") || clothingName.contains("knee-highs") || clothingName.contains("tights") || clothingName.contains("body stocking")) {

        eventType = PlayerVoiceData.VoiceEventType.undressStockings;

      } else if (clothingName.contains("shoes") || clothingName.contains("boots") || clothingName.contains("slippers") || clothingName.contains("sandals") || clothingName.contains("sneaker")) {

        eventType = PlayerVoiceData.VoiceEventType.undressShoes;

      } else if (clothingName.contains("modesty")) {

        eventType = PlayerVoiceData.VoiceEventType.undressModesty;

      } else if (clothingName.contains("top") || clothingName.contains("sweater") || clothingName.contains("jacket") || clothingName.contains("coat") || clothingName.contains("vestments") || clothingName.contains("breastplate")) {

        eventType = PlayerVoiceData.VoiceEventType.undressTop;

      } else if (clothingName.contains("bottom") || clothingName.contains("leggings")) {

        eventType = PlayerVoiceData.VoiceEventType.undressBottom;

      } else if (clothingName.contains("hat") || clothingName.contains("veil") || clothingName.contains("headdress") || clothingName.contains("helmet") || (clothingName.contains("head") && clothingName.contains("scarf"))) {

        eventType = PlayerVoiceData.VoiceEventType.undressHat;

      }

    }

    if(!player.getPlayerVoiceData().hasVoiceEvent(eventType)) {

      eventType =  PlayerVoiceData.VoiceEventType.undress;

    }    

    playVoice(player, eventType, true);

  }

(2 edits)

Thanks so much Eldricus.  I'm guessing that if a key fails to match, speech defaults to a normal "undress" line.

I don't speak code, but it looks like certain keys match to certain event types, which I assume in turn trigger the voice lines of the same name:

undress = anything not caught by other event lines
undressShirt = shirt, blouse
undressSkirt = skirt
undressPants = pants, trousers
undressShorts = shorts
undressDress = dress, gown, robe
undressUndies = panties, undies, bloomers, knickers, thong, briefs, g-string, loincloth
undressBra = bra, corset, bustier, bikini top, halter top, bandeau
undressStockings = stockings, pantyhose, socks, knee-highs, tights, body stocking
undressShoes = shoes, boots, slippers, sandals, sneaker (sic)
undressTop = top, sweater, jacket, coat, vestments, breastplate
undressBottom = bottom, leggings
undressHat = hat, veil, headdress*, helmet, head scarf

*EDIT: in 1.9, 'headdress' will get picked up earlier in sequence by 'dress'.  Do not use

Very much appreciate your time in sharing what's behind the curtain.  This gives me more fuel for creating voice lines!  And thank you especially for incorporating my suggestions  :)  Work on my custom opponents continues ...