Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
5553544
some clothing, modsuit, and hardsuit resprites for vulps (#5587)
AWEONAOYERO Jan 5, 2026
bfc6675
kill some wrong placed sprites
lexaSvarshik May 15, 2026
88790b4
fix metas
lexaSvarshik May 15, 2026
c2fcd61
remove redundant sprites
lexaSvarshik May 15, 2026
0f205a0
meta fix + hide ears on equip
lexaSvarshik May 15, 2026
a2f41be
MessyDrinker for dogs (#38852)
ScarKy0 Aug 6, 2025
5d0d10b
Vulpkanin Species (#37539)
ScarKy0 Sep 5, 2025
70eee2b
rd suit sprites fix
lexaSvarshik May 18, 2026
03bddde
Give vulps correct undergarments (#40341)
ScarKy0 Sep 14, 2025
7b547b5
Localize vulp emotes (#40418)
ScarKy0 Sep 17, 2025
92a5a6a
this also on wizden see #40529
lexaSvarshik May 18, 2026
9ad1944
Make vulp gasps and deathgasps audible (#40579)
SurrealShibe Sep 28, 2025
98aa307
Vulp crying now uses whining sounds (#40982)
Buunie099 Nov 16, 2025
7641e4d
Add audio collections for Weh, Hew, and Honk to Vulps (so that they h…
imatsoup Dec 16, 2025
0d19989
Fixed Vulp Hair layering Under Hoods and Hardsuits (#41827)
NoreUhh Dec 14, 2025
60538b5
Give Vulps "Unique" Stomachs (#41893)
NoreUhh Dec 18, 2025
8469d05
Vulpkanin Sulfur Blood + Organs (#42722)
ScarKy0 Feb 14, 2026
c702565
Vulpkanin Yawns (#42768)
ScarKy0 Feb 9, 2026
abf81ff
Vulp Tail Wags + Tail Fixes (#42843)
TiniestShark Feb 10, 2026
52c3f7c
pack of fixes and duplicates purge
lexaSvarshik May 18, 2026
cf49711
Add SnoutCover appearance layer (#39949)
ScarKy0 Aug 29, 2025
2544189
few more fixes
lexaSvarshik May 18, 2026
f7e0f47
fix jump
lexaSvarshik May 19, 2026
75e1dbc
some helmet sprites
lexaSvarshik May 19, 2026
8592411
done with mono hardsuits
lexaSvarshik May 19, 2026
6ef889a
modsuits helmet sprites
lexaSvarshik May 19, 2026
1966166
fix modsuit sprites
lexaSvarshik May 19, 2026
beab421
fix rsi
lexaSvarshik May 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 22 additions & 0 deletions Content.Server/Nutrition/Components/MessyDrinkerComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using Content.Shared.FixedPoint;

namespace Content.Server.Nutrition.Components;

/// <summary>
/// Entities with this component occasionally spill some of their drink when drinking.
/// </summary>
[RegisterComponent]
public sealed partial class MessyDrinkerComponent : Component
{
[DataField]
public float SpillChance = 0.2f;

/// <summary>
/// The amount of solution that is spilled when <see cref="SpillChance"/> procs.
/// </summary>
[DataField]
public FixedPoint2 SpillAmount = 1.0;

[DataField]
public LocId? SpillMessagePopup;
}
12 changes: 10 additions & 2 deletions Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using Content.Server.Fluids.EntitySystems;
using Content.Server.Forensics;
using Content.Server.Inventory;
using Content.Server.Nutrition.Events;
using Content.Server.Popups;
using Content.Shared._Mono.Traits.Physical;
using Content.Shared.Administration.Logs;
Expand Down Expand Up @@ -330,11 +331,18 @@ private void OnDoAfter(Entity<DrinkComponent> entity, ref ConsumeDoAfterEvent ar

_audio.PlayPvs(entity.Comp.UseSound, args.Target.Value, AudioParams.Default.WithVolume(-2f).WithVariation(0.25f));

_reaction.DoEntityReaction(args.Target.Value, solution, ReactionMethod.Ingestion);
_stomach.TryTransferSolution(firstStomach.Value.Owner, drained, firstStomach.Value.Comp1);
var beforeDrinkEvent = new BeforeIngestDrinkEvent(entity.Owner, drained, forceDrink);
RaiseLocalEvent(args.Target.Value, ref beforeDrinkEvent);

_forensics.TransferDna(entity, args.Target.Value);

_reaction.DoEntityReaction(args.Target.Value, solution, ReactionMethod.Ingestion);

if (drained.Volume == 0)
return;

_stomach.TryTransferSolution(firstStomach.Value.Owner, drained, firstStomach.Value.Comp1);

if (!forceDrink && solution.Volume > 0)
args.Repeat = true;
}
Expand Down
41 changes: 41 additions & 0 deletions Content.Server/Nutrition/EntitySystems/MessyDrinkerSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
using Content.Server.Fluids.EntitySystems;
using Content.Server.Nutrition.Components;
using Content.Server.Nutrition.Events;
using Content.Shared.Popups;
using Robust.Shared.Random;

namespace Content.Server.Nutrition.EntitySystems;

public sealed class MessyDrinkerSystem : EntitySystem
{
[Dependency] private readonly PuddleSystem _puddle = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;

public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<MessyDrinkerComponent, BeforeIngestDrinkEvent>(OnBeforeIngestDrink);
}

private void OnBeforeIngestDrink(Entity<MessyDrinkerComponent> ent, ref BeforeIngestDrinkEvent ev)
{
if (ev.Solution.Volume <= ent.Comp.SpillAmount)
return;

// Cannot spill if you're being forced to drink.
if (ev.Forced)
return;

if (!_random.Prob(ent.Comp.SpillChance))
return;

if (ent.Comp.SpillMessagePopup != null)
_popup.PopupEntity(Loc.GetString(ent.Comp.SpillMessagePopup), ent, ent, PopupType.MediumCaution);

var split = ev.Solution.SplitSolution(ent.Comp.SpillAmount);

_puddle.TrySpillAt(ent, split, out _);
}
}
12 changes: 12 additions & 0 deletions Content.Server/Nutrition/Events/DrinkEvents.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using Content.Shared.Chemistry.Components;

namespace Content.Server.Nutrition.Events;

/// <summary>
/// Raised on the entity drinking. This is right before they actually transfer the solution into the stomach.
/// </summary>
/// <param name="Drink">The drink that is being drank.</param>
/// <param name="Solution">The solution that will be digested.</param>
/// <param name="Forced">Whether the target was forced to drink the solution by somebody else.</param>
[ByRefEvent]
public record struct BeforeIngestDrinkEvent(EntityUid Drink, Solution Solution, bool Forced);
1 change: 1 addition & 0 deletions Content.Shared/Humanoid/HumanoidVisualLayers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public enum HumanoidVisualLayers : byte
Chest,
Head,
Snout,
SnoutCover, // things layered over snouts (i.e. noses)
HeadSide, // side parts (i.e., frills)
HeadTop, // top parts (i.e., ears)
Eyes,
Expand Down
5 changes: 5 additions & 0 deletions Content.Shared/Humanoid/HumanoidVisualLayersExtension.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ public static IEnumerable<HumanoidVisualLayers> Sublayers(HumanoidVisualLayers l
yield return HumanoidVisualLayers.Hair;
yield return HumanoidVisualLayers.FacialHair;
yield return HumanoidVisualLayers.Snout;
yield return HumanoidVisualLayers.SnoutCover;
break;
case HumanoidVisualLayers.Snout:
yield return HumanoidVisualLayers.Snout;
yield return HumanoidVisualLayers.SnoutCover;
break;
case HumanoidVisualLayers.LArm:
yield return HumanoidVisualLayers.LArm;
Expand Down
1 change: 1 addition & 0 deletions Content.Shared/Humanoid/Markings/MarkingCategories.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ public enum MarkingCategories : byte
HeadTop,
HeadSide,
Snout,
SnoutCover,
Chest,
Arms,
Legs,
Expand Down
5 changes: 5 additions & 0 deletions Resources/Audio/Voice/Talk/attributions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,8 @@
license: "CC-BY-NC-SA-3.0"
copyright: "Derived from shriek1.ogg by Errant"
source: "https://github.com/goonstation/goonstation/tree/eb3e7df6292d23f6af2f18b4372d3a8ba4b0fda7/sound/misc/talk"

- files: ["vulp.ogg, vulp_ask.ogg, vulp_exclaim.ogg"]
license: "CC-BY-NC-SA-3.0"
copyright: "pug.ogg (Renamed to vulp.ogg), pug_ask.ogg (Renamed to vulp_ask.ogg, pug_exclaim.ogg (Renamed to vulp_exclaim.ogg) all taken from: https://github.com/goonstation/goonstation/commit/da7c8965c4552ca53af367e6c83a83da2affe790"
source: "https://github.com/goonstation/goonstation/commit/da7c8965c4552ca53af367e6c83a83da2affe790"
Binary file added Resources/Audio/Voice/Talk/vulp.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Talk/vulp_ask.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Talk/vulp_exclaim.ogg
Binary file not shown.
65 changes: 65 additions & 0 deletions Resources/Audio/Voice/Vulpkanin/attributions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
- files: ["dog_bark1.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/abhisheky948/sounds/625497/"
source: "https://freesound.org/people/abhisheky948/sounds/625497/"

- files: ["dog_bark2.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/michael_grinnell/sounds/464400/"
source: "https://freesound.org/people/michael_grinnell/sounds/464400/"

- files: ["dog_bark3.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/Geoff-Bremner-Audio/sounds/688201/"
source: "https://freesound.org/people/Geoff-Bremner-Audio/sounds/688201/"

- files: ["dog_growl1.ogg", "dog_growl2.ogg", "dog_growl3.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/Glitchedtones/sounds/372533/ - cut out three clips of dog growling, cleaned up, converted to ogg"
source: "https://freesound.org/people/Glitchedtones/sounds/372533/"

- files: ["dog_growl4.ogg"]
license: "CC-BY-NC-SA-3.0"
copyright: "Original sound taken from Paradise Station. Renamed to dog_growl4.ogg"
source: "https://github.com/ParadiseSS13/Paradise/blob/master/sound/goonstation/voice/growl1.ogg"

- files: ["dog_growl5.ogg"]
license: "CC-BY-NC-SA-3.0"
copyright: "Original sound taken from Paradise Station. Renamed to dog_growl5.ogg"
source: "https://github.com/ParadiseSS13/Paradise/blob/master/sound/goonstation/voice/growl2.ogg"

- files: ["dog_growl6.ogg"]
license: "CC-BY-NC-SA-3.0"
copyright: "Original sound taken from Paradise Station. Renamed to dog_growl6.ogg"
source: "https://github.com/ParadiseSS13/Paradise/blob/master/sound/goonstation/voice/growl3.ogg"


- files: ["dog_snarl1.ogg", "dog_snarl2.ogg", "dog_snarl3.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/strongbot/sounds/341090/ - cut out three clips of dog snarling, cleaned up, converted to ogg"
source: "https://freesound.org/people/strongbot/sounds/341090/"

- files: ["dog_whine.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/Sruddi1/sounds/34878/ - cleaned up, converted to ogg"
source: "https://freesound.org/people/Sruddi1/sounds/34878/"

- files: ["howl.ogg"]
license: "CC-BY-NC-SA-3.0"
copyright: "Original sound taken from Goonstation. Renamed to howl.ogg"
source: "https://github.com/goonstation/goonstation/blob/master/sound/voice/animal/werewolf_howl.ogg"

- files: ["vulp_scream1.ogg", "vulp_scream2.ogg", "vulp_scream3.ogg", "vulp_scream4.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/lordomega/sounds/514959/ - cut out four clips, cleaned up, converted to ogg"
source: "https://freesound.org/people/lordomega/sounds/514959/"

- files: ["vulp_yawn1.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/jinxycat49/sounds/490164/, cleaned up, cut, converted to ogg"
source: "https://freesound.org/people/jinxycat49/sounds/490164/"

- files: ["vulp_yawn2.ogg"]
license: "CC0-1.0"
copyright: "Original sound by https://freesound.org/people/qubodup/sounds/827660/, cleaned up, cut, converted to ogg"
source: "https://freesound.org/people/qubodup/sounds/827660/"
Binary file added Resources/Audio/Voice/Vulpkanin/dog_bark1.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_bark2.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_bark3.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_growl1.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_growl2.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_growl3.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_growl4.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_growl5.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_growl6.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_snarl1.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_snarl2.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_snarl3.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/dog_whine.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/howl.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/vulp_scream1.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/vulp_scream2.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/vulp_scream3.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/vulp_scream4.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/vulp_yawn1.ogg
Binary file not shown.
Binary file added Resources/Audio/Voice/Vulpkanin/vulp_yawn2.ogg
Binary file not shown.
1 change: 0 additions & 1 deletion Resources/Locale/en-US/_DV/species/species.ftl
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
## Species Names

species-name-vulpkanin = Vulpkanin
species-name-harpy = Harpy
species-name-rodentia = Rodentia
species-name-chitinid = Chitinid
7 changes: 0 additions & 7 deletions Resources/Locale/en-US/_NF/chat/managers/chat_manager.ftl
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
chat-speech-verb-name-vulpkanin = Vulpkanin
chat-speech-verb-vulpkanin-1 = rawrs
chat-speech-verb-vulpkanin-2 = barks
chat-speech-verb-vulpkanin-3 = rurs
chat-speech-verb-vulpkanin-4 = yaps
chat-speech-verb-vulpkanin-5 = yeeps

chat-speech-verb-name-felinid = Felinid
chat-speech-verb-felinid-1 = mraows
chat-speech-verb-felinid-2 = mews
Expand Down
1 change: 0 additions & 1 deletion Resources/Locale/en-US/_Starlight/emotes.ftl
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
chat-emote-name-yip = Yip
chat-emote-name-whine = Whine
12 changes: 12 additions & 0 deletions Resources/Locale/en-US/chat/emotes.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ chat-emote-name-monkeyscreeches = Monkey Screeches
chat-emote-name-robotbeep = Robot
chat-emote-name-yawn = Yawn
chat-emote-name-snore = Snore
chat-emote-name-bark = Bark
chat-emote-name-snarl = Snarl
chat-emote-name-whine = Whine
chat-emote-name-howl = Howl
chat-emote-name-growl = Growl

# Message
chat-emote-msg-scream = screams!
Expand Down Expand Up @@ -67,3 +72,10 @@ chat-emote-msg-cathisses = hisses!
chat-emote-msg-monkeyscreeches = screeches!
chat-emote-msg-yawn = yawns.
chat-emote-msg-snore = snores.
chat-emote-msg-bark = barks.
chat-emote-msg-snarl = snarls.
chat-emote-msg-whine = whines.
chat-emote-msg-howl = howls.
chat-emote-msg-growl = growls.
chat-emote-msg-whimper = whimpers.
chat-emote-msg-awoo = awoos.
7 changes: 7 additions & 0 deletions Resources/Locale/en-US/chat/managers/chat-manager.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,10 @@ chat-speech-verb-name-electricity = Electricity
chat-speech-verb-electricity-1 = crackles
chat-speech-verb-electricity-2 = buzzes
chat-speech-verb-electricity-3 = screeches

chat-speech-verb-vulpkanin-1 = rawrs
chat-speech-verb-vulpkanin-2 = barks
chat-speech-verb-vulpkanin-3 = rurs
chat-speech-verb-vulpkanin-4 = yaps
chat-speech-verb-vulpkanin = Vulpkanin

113 changes: 113 additions & 0 deletions Resources/Locale/en-US/datasets/names/vulpkanin_female.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
names-vulpkanin-female-dataset-1 = Adrianna
names-vulpkanin-female-dataset-2 = Agatha
names-vulpkanin-female-dataset-3 = Agneza
names-vulpkanin-female-dataset-4 = Aldona
names-vulpkanin-female-dataset-5 = Amira
names-vulpkanin-female-dataset-6 = Angela
names-vulpkanin-female-dataset-7 = Apolena
names-vulpkanin-female-dataset-8 = Asia
names-vulpkanin-female-dataset-9 = Barbara
names-vulpkanin-female-dataset-10 = Basia
names-vulpkanin-female-dataset-11 = Beatrice
names-vulpkanin-female-dataset-12 = Blanka
names-vulpkanin-female-dataset-13 = Bohumila
names-vulpkanin-female-dataset-14 = Bruna
names-vulpkanin-female-dataset-15 = Cecilija
names-vulpkanin-female-dataset-16 = Cirila
names-vulpkanin-female-dataset-17 = Czeslawa
names-vulpkanin-female-dataset-18 = Dagmar
names-vulpkanin-female-dataset-19 = Dajana
names-vulpkanin-female-dataset-20 = Damira
names-vulpkanin-female-dataset-21 = Danka
names-vulpkanin-female-dataset-22 = Daria
names-vulpkanin-female-dataset-23 = Diana
names-vulpkanin-female-dataset-24 = Dimitrina
names-vulpkanin-female-dataset-25 = Dobromila
names-vulpkanin-female-dataset-26 = Domnika
names-vulpkanin-female-dataset-27 = Doroteya
names-vulpkanin-female-dataset-28 = Dragoslava
names-vulpkanin-female-dataset-29 = Edyta
names-vulpkanin-female-dataset-30 = Eliza
names-vulpkanin-female-dataset-31 = Ena
names-vulpkanin-female-dataset-32 = Erika
names-vulpkanin-female-dataset-33 = Ester
names-vulpkanin-female-dataset-34 = Evelina
names-vulpkanin-female-dataset-35 = Fatima
names-vulpkanin-female-dataset-36 = Fikreta
names-vulpkanin-female-dataset-37 = Filipina
names-vulpkanin-female-dataset-38 = Franka
names-vulpkanin-female-dataset-39 = Gabrijela
names-vulpkanin-female-dataset-40 = Galena
names-vulpkanin-female-dataset-41 = Genowefa
names-vulpkanin-female-dataset-42 = Halyna
names-vulpkanin-female-dataset-43 = Hana
names-vulpkanin-female-dataset-44 = Helena
names-vulpkanin-female-dataset-45 = Hristina
names-vulpkanin-female-dataset-46 = Ioana
names-vulpkanin-female-dataset-47 = Irena
names-vulpkanin-female-dataset-48 = Ivayla
names-vulpkanin-female-dataset-49 = Izabela
names-vulpkanin-female-dataset-50 = Jagoda
names-vulpkanin-female-dataset-51 = Jolana
names-vulpkanin-female-dataset-52 = Jovka
names-vulpkanin-female-dataset-53 = Julija
names-vulpkanin-female-dataset-54 = Kaja
names-vulpkanin-female-dataset-55 = Karyna
names-vulpkanin-female-dataset-56 = Kata
names-vulpkanin-female-dataset-57 = Katia
names-vulpkanin-female-dataset-58 = Klaudia
names-vulpkanin-female-dataset-59 = Klementina
names-vulpkanin-female-dataset-60 = Kristina
names-vulpkanin-female-dataset-61 = Laura
names-vulpkanin-female-dataset-62 = Lilyana
names-vulpkanin-female-dataset-63 = Magdalena
names-vulpkanin-female-dataset-64 = Maja
names-vulpkanin-female-dataset-65 = Marika
names-vulpkanin-female-dataset-66 = Matilda
names-vulpkanin-female-dataset-67 = Nadzeya
names-vulpkanin-female-dataset-68 = Natalia
names-vulpkanin-female-dataset-69 = Natasha
names-vulpkanin-female-dataset-70 = Nedelya
names-vulpkanin-female-dataset-71 = Nel
names-vulpkanin-female-dataset-72 = Nevena
names-vulpkanin-female-dataset-73 = Nikol
names-vulpkanin-female-dataset-74 = Olivie
names-vulpkanin-female-dataset-75 = Patricie
names-vulpkanin-female-dataset-76 = Paulina
names-vulpkanin-female-dataset-77 = Petra
names-vulpkanin-female-dataset-78 = Petya
names-vulpkanin-female-dataset-79 = Radomira
names-vulpkanin-female-dataset-80 = Rahela
names-vulpkanin-female-dataset-81 = Raina
names-vulpkanin-female-dataset-82 = Ranka
names-vulpkanin-female-dataset-83 = Raya
names-vulpkanin-female-dataset-84 = Renata
names-vulpkanin-female-dataset-85 = Roza
names-vulpkanin-female-dataset-86 = Silvia
names-vulpkanin-female-dataset-87 = Simona
names-vulpkanin-female-dataset-88 = Stanislava
names-vulpkanin-female-dataset-89 = Stefania
names-vulpkanin-female-dataset-90 = Svatava
names-vulpkanin-female-dataset-91 = Sylva
names-vulpkanin-female-dataset-92 = Tamara
names-vulpkanin-female-dataset-93 = Tina
names-vulpkanin-female-dataset-94 = Tonya
names-vulpkanin-female-dataset-95 = Trajanka
names-vulpkanin-female-dataset-96 = Ula
names-vulpkanin-female-dataset-97 = Ursa
names-vulpkanin-female-dataset-98 = Valentina
names-vulpkanin-female-dataset-99 = Valeria
names-vulpkanin-female-dataset-100 = Vanessa
names-vulpkanin-female-dataset-101 = Vasylyna
names-vulpkanin-female-dataset-102 = Venera
names-vulpkanin-female-dataset-103 = Vera
names-vulpkanin-female-dataset-104 = Viktoria
names-vulpkanin-female-dataset-105 = Violetta
names-vulpkanin-female-dataset-106 = Vita
names-vulpkanin-female-dataset-107 = Yoana
names-vulpkanin-female-dataset-108 = Yulia
names-vulpkanin-female-dataset-109 = Yvetta
names-vulpkanin-female-dataset-110 = Yvona
names-vulpkanin-female-dataset-111 = Zofia
names-vulpkanin-female-dataset-112 = Zorka
names-vulpkanin-female-dataset-113 = Zuzanna
Loading
Loading