Violet/Violet/Extensions.vb

475 lines
13 KiB
VB.net

Imports System.Runtime.CompilerServices
Public Module Extensions
Public ControlColour As Color = Color.FromArgb(255, 240, 240, 240)
Public Lynne, Aradia, Petra As Character
'************************
'*****CHARACTER INFO*****
'************************
Public Sub LoadDefaultCharacters() 'anything omitted is false by default
With Lynne
.FirstName = "Lynne"
.LastName = "Megido"
With .Basics
.Height = 167
.Weight = 72
.Race = "human"
.EyeColour = "dark brown"
.BodyShape = 3 'curvy
.Strength = 1
.SkinColour = 1
.Boobs.CupSize = 3 'C cups, because a girl can dream ;u;
.Boobs.AreolaSize = 2
.Boobs.NippleSize = 2
.ButtSize = 5
.Hair.Length = "long (mid-back)"
.Hair.Colour = "brown"
.Hair.Wavy = True
End With
With .Genitals
.HasVagina = True
With .Vagina
.ClitSize = 4
.Depth = 8
.Tightness = 3
.Wetness = 5
.HymenIntact = True
.LeaksCum = True
End With
End With
With .Sexuality
.Horniness.Frequency = 4
.Horniness.Strength = 4
.Horniness.RechargeTime = 2
.Moaning.Easiness = 5
.Moaning.Volume = 4
.SD.IsSub = True
.Position.DoesntMind = True
.PreferredGenitalia = 5 'bias towards cocks <3
With .Kinks
.EnjoysBeingShorter = True
.EnjoysBeingWeaker = True
With .Receiving
.IntoDegradation = True
.IntoExhibitionism = True
.IntoCommanding = True
.IntoOwnership = True
.IntoPudge = True
With .Degradation
.EnjoyedNames = {"slut", "cockslut", "cumslut", "whore", "bitch in heat"}
.EnjoyedInsultTopics = {"weakness", "wetness"}
.EnjoyedInsultingAdjectives = {"easy", "horny"}
End With
With .Exhibitionism
.Kiss = True
.MakeOut = True
.DressRevealingly = True
.BeNaked = True
.PerformOral = True
.HaveCumAndOrJuicesVisible = True
.Fuck = True
End With
With .Commanding
.Fuck = True
.MakeOut = True
.Masturbate = True
.PerformOral = True
.SpreadSelf = True
.Undress = True
End With
.Noncon = 3
End With
With .Giving
.IntoDegradation = True
.IntoExhibitionism = True
With .Degradation
.EnjoyedNames = {"slut"}
End With
With .Exhibitionism
.Kiss = True
.MakeOut = True
.DressRevealingly = True
.BeNaked = True
.PerformOral = True
.HaveCumAndOrJuicesVisible = True
.Fuck = True
End With
.Noncon = 2
End With
End With
End With
With .Personality
.Humour = 5
.Intelligence = 3
.SelfEsteem = 1
.Sensitivity = 5
.Sluttiness = 5
.Tsundere = 2
.Ambition = 2
With .Interests
.Computers = True
.BeingAHousewife = True
.Gaming = True
.Porn = True
End With
With .Disinterests
.History = True
.Geography = True
.Religion = True
End With
.FavouriteCompliments = {"so cute", "so adorable", "adorable", "amazing"}
.Compliments = {"great with computers", "hilarious", "wonderful"}
.PetNames = {"cutie", "cream puff", "sweetie", "honey bunch"}
End With
With .Outfits
With .Outfit1
With .Top
.ShortSleeves = True
.PrimaryColour = "white"
.SecondaryColour = "black"
.Pattern = "stripy (horizontal)"
End With
With .Bottom
.IsSkirt = True
.Length = 0
.Pattern = "none"
.PrimaryColour = "black"
.SecondaryColour = "black"
End With
End With
End With
End With
With Aradia
.FirstName = "Aradia"
.LastName = "Megido"
With .Basics
.Height = 172
.Weight = 89
.EyeColour = "dark brown"
.Hair.Colour = "black"
.Hair.Length = "long (lower back)"
.Hair.Wavy = True
.BodyShape = 5 'pudgy
.Boobs.AreolaSize = 2
.Boobs.CupSize = 7
.Boobs.NippleSize = 2
.ButtSize = 4
.Race = "troll"
.SkinColour = 1
.Strength = 3
End With
With .Genitals
.HasBoth = True
.PreferenceLevel = 5 'prefers using her cock more than her vagoo
With .Penis
.CumAmount = 5
.Length = 9
.LargeWhenFlaccid = True
.Girth = 3
.Veiny = True
End With
With .Vagina
.ClitSize = 5
.Depth = 10
.HymenIntact = True
.LeaksCum = True
.Tightness = 2
.Wetness = 5
End With
End With
With .Sexuality
With .Horniness 'MAXIMUM OVERDRIVE
.Frequency = 5
.Strength = 5
.RechargeTime = 1
End With
.Moaning.Easiness = 3
.Moaning.Volume = 3
.Position.DoesntMind = True
.SD.IsDom = True
.PreferredGenitalia = 2
With .Kinks
.EnjoysBeingTaller = True
.EnjoysBeingStronger = True
With .Giving
.IntoDegradation = True
.IntoExhibitionism = True
.IntoCommanding = True
.IntoOwnership = True
.IntoPudge = True
With .Commanding
.MakeOut = True
.Fuck = True
.Masturbate = True
.PerformOral = True
.SpreadSelf = True
.Undress = True
End With
With .Exhibitionism
.Kiss = True
.MakeOut = True
.DressRevealingly = True
.BeNaked = True
.PerformOral = True
.HaveCumAndOrJuicesVisible = True
.Fuck = True
End With
.Noncon = 2
End With
With .Receiving
.IntoExhibitionism = True
.IntoPudge = True
With .Exhibitionism
.Kiss = True
.MakeOut = True
.DressRevealingly = True
.BeNaked = True
.PerformOral = True
.HaveCumAndOrJuicesVisible = True
.Fuck = True
End With
.Commanding.MakeOut = True
End With
End With
End With
With .Personality
.Humour = 4
.Intelligence = 4
.SelfEsteem = 4
.Sensitivity = 4
.Sluttiness = 5
.Tsundere = 1
.Ambition = 3
With .Interests
.Geography = True
.History = True
.Gaming = True
.Porn = True
End With
With .Disinterests
.Politics = True
.Religion = True
End With
.FavouriteCompliments = {"so cute", "so adorable", "so cool", "adorable", "amazing", "so hot", "wonderfully pudgy", "curvy as fuck"}
.Compliments = {"so cool with your time powers", "really hot", "wonderful", "inspiring"}
.PetNames = {"sweet pea", "cream puff", "mistress", "honey bunch"}
End With
With .Outfits
With .Outfit1
With .Top
.Pattern = "Aries symbol"
.PrimaryColour = "black"
.SecondaryColour = "dark red"
End With
With .Bottom
.IsSkirt = True
.Length = 1
.Pattern = "none"
.PrimaryColour = "black"
.SecondaryColour = "black"
End With
End With
End With
End With
End Sub
Public Structure GodTierInfo
Dim IsGodTier As Boolean
Dim GodClass, Aspect As String
End Structure
Public Structure Hairstyle
Dim Colour, Length As String
Dim Wavy As Boolean
End Structure
Public Structure Breasts 'what am i doing with my life
Dim CupSize, NippleSize, AreolaSize As Integer
End Structure
Public Structure CharacterBasics
Dim Height, Weight, Strength, SkinColour, ButtSize, BodyShape As Integer
Dim Race, EyeColour As String
Dim GodTier As GodTierInfo
Dim Hair As Hairstyle
Dim Boobs As Breasts 'fucking hell
End Structure
Public Structure PenisInfo '8======D
Dim Length, Girth, CumAmount As Integer
Dim LargeWhenFlaccid, Permaflaccid, Veiny, Sterile As Boolean
End Structure
Public Structure VaginaInfo '{'}
Dim Depth As Double
Dim Tightness, Wetness, ClitSize As Integer
Dim Fertile, LeaksCum, HymenIntact As Boolean
End Structure
Public Structure CharacterGenitals
Dim Penis As PenisInfo
Dim Vagina As VaginaInfo
Dim HasPenis, HasVagina, HasBoth As Boolean
Dim PreferenceLevel As Integer
'0: Strongly vagoo. 6: Strongly benis.
End Structure
Public Structure SubDomInfo
Dim IsDom, IsSub, IsSwitch As Boolean
End Structure
Public Structure TopBottomInfo
Dim IsTop, DoesntMind, IsBottom As Boolean
End Structure
Public Structure HorninessInfo
Dim Frequency, Strength, RechargeTime As Integer
End Structure
Public Structure MoanInfo
Dim Easiness, Volume As Integer
End Structure
Public Structure DegradationInfo
Dim EnjoyedNames() As String 'likes calling her partner a _______.e.g. slut, whore, hoe
Dim EnjoyedInsultingAdjectives() As String 'likes calling her partner a ________ person. e.g. easy, worthless, desparate
Dim EnjoyedInsultTopics() As String 'enjoys insulting her partner's ________. e.g. small cock, wetness, weight
'format like this: {"small cock", "wetness", "short", "tall"}
'meaning: this character enjoys being made fun of for her small cock and her wet her pussy gets, along with how short OR tall she is compared to her partner.
End Structure
Public Structure ExhibitionismInfo
Dim Kiss, MakeOut, DressRevealingly, PerformOral, HaveCumAndOrJuicesVisible, BeNaked, Fuck
End Structure
Public Structure CommandingInfo
Dim MakeOut, Undress, PerformOral, Masturbate, SpreadSelf, Fuck As Boolean
End Structure
Public Structure KinkInfo
Dim Degradation As DegradationInfo
Dim Exhibitionism As ExhibitionismInfo
Dim Commanding As CommandingInfo
Dim Noncon As Integer '1: not into noncon, 2: would enjoy unexpected kisses from attractive girls, 3. would enjoy being groped/fondled by someone attractive, 4. would enjoy getting groped, 5. has rape fantasy
Dim IntoDegradation, IntoExhibitionism, IntoCommanding, IntoOwnership, IntoPudge As Boolean
End Structure
Public Structure CharacterKinkInfo
Dim Giving, Receiving As KinkInfo
Dim EnjoysBeingShorter, EnjoysBeingTaller, EnjoysBeingStronger, EnjoysBeingWeaker As Boolean
End Structure
Public Structure CharacterSexuality
Dim SD As SubDomInfo
Dim Position As TopBottomInfo
Dim Kinks As CharacterKinkInfo
Dim Moaning As MoanInfo
Dim Horniness As HorninessInfo
Dim PreferredGenitalia As Integer '0:100% vagoo, 6: 100% benis
End Structure
Public Structure InterestsInfo
Dim Computers, Gaming, Cooking, BeingAHousewife, Politics, Science, Healthcare, Porn, Art, Music, Geography, History, WorldNews, Religion As Boolean
End Structure
Public Structure CharacterPersonality
Dim Intelligence, Humour, SelfEsteem, Sensitivity, Tsundere, Sluttiness, Ambition As Integer
Dim Goals As String() 'TODO
Dim FavouriteCompliments As String()
Dim Compliments As String()
Dim PetNames As String()
Dim Interests, Disinterests As InterestsInfo
End Structure
Public Structure OutfitTop
Dim ShortSleeves As Boolean
Dim PrimaryColour, SecondaryColour, Pattern As String
End Structure
Public Structure OutfitBottom
Dim IsSkirt As Boolean
Dim Length As Integer '0:Mini, 1:Short, 2:Long
Dim PrimaryColour, SecondaryColour, Pattern As String
End Structure
Public Structure CharacterOutfit
Dim Top As OutfitTop
Dim Bottom As OutfitBottom
End Structure
Public Structure CharacterOutfits
Dim Outfit1, Outfit2, Outfit3 As CharacterOutfit
End Structure
Public Structure CharacterStatus
Dim Horniness, Hunger, Fatigue, Mood As Integer
Dim Location, CurrentGenitalia As String
Dim WearingBra, WearingPanties, WearingTop, WearingBottom As Boolean
End Structure
Public Structure Character
Dim FirstName, LastName As String
Dim Basics As CharacterBasics
Dim Genitals As CharacterGenitals
Dim Sexuality As CharacterSexuality
Dim Personality As CharacterPersonality
Dim Outfits As CharacterOutfits
Dim Status As CharacterStatus
End Structure
'*******************
'***REUSABLE CODE***
'*******************
Public Function GetPath(file As String)
Dim FileArray As String() = file.Split("\")
Dim ReturnMe As String = ""
For i = 0 To FileArray.Length - 2
ReturnMe &= FileArray(i) & "\"
Next
Return ReturnMe
End Function
Public Function RandomArrayObject(Array)
If IsNothing(Array) Then Return "===ERROR: Passed array is empty!==="
Return Array(Rnd() * (Array.Length - 1))
End Function
Public Function RAO(Array)
Return RandomArrayObject(Array)
End Function
Public Function ProgramIcon()
Return Icon.ExtractAssociatedIcon(Application.ExecutablePath)
End Function
<Extension()>
Public Function RemoveLast(ByVal StringToModify As String, AmountToRemove As Integer)
Return StringToModify.Remove(StringToModify.Length - AmountToRemove)
End Function
<Extension()>
Public Function RemoveFirst(ByVal StringToModify As String, AmountToRemove As Integer)
Return StrReverse(StrReverse(StringToModify).Remove(StringToModify.Length - AmountToRemove))
End Function
Public Function rgbColour(r As Integer, g As Integer, b As Integer)
Return Color.FromArgb(255, r, g, b)
End Function
<Extension()>
Function BatchRemove(ByRef StringToClean As String, TextToStrip As String())
Dim ReturnText As String = StringToClean
For i = 0 To TextToStrip.Count - 1
ReturnText = ReturnText.Replace(TextToStrip(i), "")
Next
Return ReturnText
End Function
'******************
'***END REUSABLE***
'******************
End Module