public void charCreator(int sexselector, int factionselector, int recruitselector, int positionselector, int classselector, int rankselector, int fetishselector, int beautyselector, int upbringselector, int raceselector, int racespecific, bool pregnantselector) { //public enum CharSex { Woman, Man, Dickgirl, Futanari, Cuntboy, Trap, Eunuch }; // 0 female, trap 5 // faction: use 0 //0 recruited, 1 enemy, 2 monster, 3 neutral, 4 your prisoner, 5 your slave // use 12 for retainer in position selector, 1000 for none //class: 0 soldier,1 warrior, 2 clerk, 3 bureaucrat, 4 monk/nun, 5 priest, 6 alchemist UNC, 7 mystic UNC, 8 thief, 9 infiltrator, 10 paladin, 11 dark paladin, 12 feral, 13 barbarian //14 scout, 15 ranger, 16 community worker, 17 w***e, 18 farmer, 19 industry worker, 20 politician, 21 diplomat, 22 inquisitor, 23 enforcer, 24 Performer, 25 Artist, 26 Scholar // 0 C, 1 B, 2 A, 3 S, 1000 random // Fetish: 0 None, 1 Dominant, 2 Submissive, AnalWhore, GroupSex, CumSlut, Incest, Crossdressing, Exhibitionism, PetPlay, RapeFantasy, Voyeurism, Monsters, SizeDifference, 1000 random // beauty selector: 0, 20, 40, etc. up to 80+ enter more or less what you want from 0 to 100, it will be random. Any other number is a random //upbring: VeryPoor, Poor, MiddleClass, Rich, VeryRich, Noble, Royal, Count, 1000 for random // race: 0 human, 1 furry, 2 avian. 3 aquatic, 4 exotics //race specific: 0 human, else check list // pregnant selector, use false to have her non pregnant. Need texts for pregnancy before adding this feature //race specific: 1000 random, check NPCSettlerRace for info charID = NPCControl.NPCGenID; // id thats going to be used to look for him, should use a genNPC control for this NPCControl.NPCGenID += 1; charSexC = npcSettlerSex.setSex(sexselector); charName = npcSettlerName.setName(charSexC); charSurname = npcSettlerName.setSurname(); charGenderC = npcSettlerSex.setGender(charSexC); cityFactionC = npcSettlerfaction.setFaction(factionselector); isRecruited = npcSettlerSide.recruitStatus(recruitselector); isEnemy = npcSettlerSide.enemyStatus(recruitselector); isMonster = npcSettlerSide.monsterStatus(recruitselector); isPrisoner = npcSettlerSide.prisonerStatus(recruitselector); isNeutral = npcSettlerSide.neutralStatus(recruitselector); isSlave = npcSettlerSide.slaveStatus(recruitselector); cityPositionC = npcSettlerPosition.setPosition(positionselector); charClassC = npcSettlerClass.setClass(classselector); charRankC = npcSettlerRank.setRank(rankselector); charFetishC = npcSettlerFetish.setFetish(fetishselector); charPersonalityC = npcSettlerPersonAtt.setPersonality(); attPhysical = npcSettlerAttributes.setPhysical(charClassC); attMental = npcSettlerAttributes.setMental(charClassC); attSocial = npcSettlerAttributes.setSocial(charClassC); attMagicPower = npcSettlerAttributes.setMagicPower(charClassC); coreSkillMartial = npcSettlerCoreSkills.setCoreMartial(charClassC); //0 coreSkillSecurity = npcSettlerCoreSkills.setCoreSecurity(charClassC); coreSkillLabor = npcSettlerCoreSkills.setCoreLabor(charClassC); coreSkillTactics = npcSettlerCoreSkills.setCoreTactics(charClassC); coreSkillGovernance = npcSettlerCoreSkills.setCoreGovernance(charClassC); coreSkillStewardship = npcSettlerCoreSkills.setStewardship(charClassC); coreSkillPersuasion = npcSettlerCoreSkills.setCorePersuasion(charClassC); coreSkillIntrigue = npcSettlerCoreSkills.setIntrigue(charClassC); coreSkillDiplomacy = npcSettlerCoreSkills.setDiplomacy(charClassC); utilitySkillCrafting = npcSettlerUtilitySkills.setUtilityCrafting(charClassC); utilitySkillHouseKeeping = npcSettlerUtilitySkills.setHouseKeeping(charClassC); utilitySkillFarmHand = npcSettlerUtilitySkills.setUtilityFarm(charClassC); utilitySkillMedicine = npcSettlerUtilitySkills.setUtilityMedicine(charClassC); utilitySkillAlchemy = npcSettlerUtilitySkills.setUtilityAlchemy(charClassC); utilitySkillLearning = npcSettlerUtilitySkills.setUtilityLearning(charClassC); utilitySkillPerformance = npcSettlerUtilitySkills.setUtilityPerformance(charClassC); utilitySkillEtiquette = npcSettlerUtilitySkills.setUtilityEtiquette(charClassC); utilitySkillStreetwise = npcSettlerUtilitySkills.setUtilityStreetwise(charClassC); sexSkillMasseuse = npcSettlerSexSkills.setSkillMasseuse(charClassC); sexSkillStripping = npcSettlerSexSkills.setSkillStripping(charClassC); sexSkillBondage = npcSettlerSexSkills.setSkillBondage(charClassC); sexSkillPetplay = npcSettlerSexSkills.setSkillPetPlay(charClassC); sexSkillPetting = npcSettlerSexSkills.setSkillPetting(charClassC); sexSkillGroupSex = npcSettlerSexSkills.setSkillGroupSex(charClassC); sexSkillPenetration = npcSettlerSexSkills.setSkillDemonstration(charClassC); sexSkillWhoring = npcSettlerSexSkills.setSkillWhoring(charClassC); sexSkillEscorting = npcSettlerSexSkills.setSkillEscorting(charClassC); attBeauty = npcSettlerPersonAtt.setBeauty(beautyselector); //(ugly, plain, good looking, captivating, stunning) attTemperament = npcSettlerPersonAtt.setTemperament(charClassC); //(apathethic,cold, reserved, lively, passional) attWillpower = npcSettlerPersonAtt.setWillpower(charClassC); // (submissive, docile, humble, assertive, willful) attNature = npcSettlerPersonAtt.setNature(charClassC); //(spinless, coward, uncertain, brave, determined) attOpenness = npcSettlerPersonAtt.setOpenness(charClassC); //(Frigthened, uninterested, timid, open, unashamed) attDignity = npcSettlerPersonAtt.setDignity(charClassC); // how much self worth it has attObedience = npcSettlerPersonAtt.setObedience(charClassC); attHappiness = npcSettlerPersonAtt.setHappiness(charClassC); attLibido = npcSettlerPersonAtt.setLibido(charClassC); // attMorality = npcSettlerPersonAtt.setMorality(charClassC); // how good and bad, it can be corrupt good, it means the person is just twisted attPiety = npcSettlerPersonAtt.setPiety(charClassC); bgUpbringC = npcSettlerBG.setUpbring(upbringselector); if (isPrisoner == true || isSlave == true || isNeutral == true) { charGold = 0; } else { charGold = npcSettlerBG.setGold(bgUpbringC); } bgChildhoodC = npcSettlerBG.setBGChildhood(); bgAdulthoodC = npcSettlerBG.setBGAdulthood(); bgStory [0] = npcSettlerBG.setChildStory(bgChildhoodC); bgStory [1] = npcSettlerBG.setAdultStory(bgAdulthoodC); bgStory [2] = npcSettlerBG.setCurrentStory(charClassC); charRaceC = npcSettlerRace.setRace(raceselector, racespecific); charRaceC = npcSettlerRace.adjustRaceGender(charRaceC, charSexC); charFurColorC = raceCreator.setFur(charRaceC); charFeatherColorC = raceCreator.setFeathers(charRaceC); charSkinColorC = raceCreator.setSkinColor(charRaceC); charSkinTypeC = raceCreator.setSkinType(charRaceC); dickTypeC = raceCreator.setDickType(charRaceC); lowerBackC = raceCreator.setLowerBack(charRaceC); shoulderBladesC = raceCreator.setShoulderBlades(charRaceC); headTypeC = raceCreator.setHeadType(charRaceC); //tailTypeC = raceCreator.setTailType (charRaceC); armsTypeC = raceCreator.setArms(charRaceC); legsTypeC = raceCreator.setLegs(charRaceC); headAccesory1C = raceCreator.setHeadAcc1(charRaceC); headAccesory2C = raceCreator.setHeadAcc2(charRaceC); eyesTypeC = raceCreator.setEyes(charRaceC); hasFur = raceCreator.setHasFur(charRaceC); // everyone uses the fur colours tho hasFeathers = raceCreator.setHasFeathers(charRaceC); hasScales = raceCreator.setHasScales(charRaceC); hasTentacles = raceCreator.setHasTentacles(charRaceC); isFlying = raceCreator.setIsFlying(charRaceC); isFurry = raceCreator.setIsFurry(charRaceC); // to determine portrait isFuta = raceCreator.setIsFuta(charSexC); beardStyleC = npcSettlerHead.setBeardStyle(charSexC, charRaceC); beardLengthC = npcSettlerHead.setBeardLength(charSexC, charRaceC); hairColorC = npcSettlerHead.setHairColor(); hairStyleC = npcSettlerHead.setHairStyle(); hairTypeC = npcSettlerHead.setHairType(charRaceC); hairLengthCM = npcSettlerHead.setHairLengthCM(); hairLengthC = npcSettlerHead.setHairLength(hairLengthCM); eyesColorC = npcSettlerHead.setEyesColor(charRaceC); genderBehaviorStat = npcSettlerPersonAtt.setBehaviorStat(charGenderC); genderBehaviorC = npcSettlerPersonAtt.setGenderBehavior(genderBehaviorStat); facialFeaturesStat = npcSettlerHead.setFacialFeatStat(charGenderC); facialFeaturesC = npcSettlerHead.setFacialFeat(facialFeaturesStat); bodyFeaturesStat = npcSettlerBody.setBodyFeatStat(charGenderC); bodyFeaturesC = npcSettlerBody.setBodyFeatures(facialFeaturesStat); heightChar = npcSettlerBody.SetHeightChar(charRaceC); // in cm heightNameC = npcSettlerBody.setHeightName(heightChar); bodyPhysStat = npcSettlerBody.SetBodyPhysStat(); // to change it, 0 to 100 bodyPhysiqueC = npcSettlerBody.setBodyPhysique(bodyPhysStat); bodyBuildStat = npcSettlerBody.setBodyBuildStat(); // to change it bodyBuildC = npcSettlerBody.setBodyBuild(bodyBuildStat); dickNum = npcSettlerBody.setDickNum(charSexC); //how many dicks it has dickSizeCM = npcSettlerBody.setDickSizeCM(heightChar, charSexC); // in cm dickSizeC = npcSettlerBody.setDickSize(dickSizeCM); testicleSizeCM = npcSettlerBody.setTesticleSizeCM(charSexC, heightChar); testiclesSizeC = npcSettlerBody.setTesticlesSize(testicleSizeCM); // in cm, used to determine if you have or not clitorisSize = npcSettlerBody.setClitorisSize(); breastRow = npcSettlerBody.setBreastRow(charRaceC); breast1Size = npcSettlerBody.setBreast1Size(charSexC, charRaceC); // to determine its current size. Each point is +1 cup, each X changes name, check NPCSettler breast2Size = npcSettlerBody.setBreast2Size(breastRow); // to determine its current size. Each point is +1 cup, each X changes name, check NPCSettler breast1NameC = npcSettlerBody.setBreastName(breast1Size); breast2NameC = npcSettlerBody.setBreastName(breast2Size); breast1CupC = npcSettlerBody.setBreastCup(breast1Size); breast2CupC = npcSettlerBody.setBreastCup(breast2Size); areola1Size = npcSettlerBody.setAureoleSize(); // aerola size of the first row, 1 change, in cm areola2Size = areola1Size; // aerola size of the first row, 1 change, in cm waistSize = npcSettlerBody.waistSize(); waistNameC = npcSettlerBody.setWaistName(waistSize); hipsSize = npcSettlerBody.setHipsSize(waistSize); hipsNameC = npcSettlerBody.setHipsName(hipsSize); assSize = npcSettlerBody.setAssSize(hipsSize); assNameC = npcSettlerBody.setAssName(assSize); hasKnot = npcSettlerFertility.setHasKnot(charRaceC); hasVagina = npcSettlerFertility.setHasVagina(charSexC); isVirgin = npcSettlerFertility.setIsVirgin(charRaceC); isFertile = npcSettlerFertility.setIsFertile(); charFertility = npcSettlerFertility.setCharFertility(); isPregnant = npcSettlerFertility.isPregnant(pregnantselector, charSexC); childRaceC = npcSettlerFertility.setChildRace(charRaceC); pregnantCD = npcSettlerFertility.setPregnantCD(isPregnant); // turns until giving birth pregnantText = npcSettlerFertility.pregnantText(isPregnant, childRaceC); // isLactating = isPregnant; lactationML = npcSettlerFertility.setLactationML(charRaceC); // how much it lactates in ml vagLooseness = npcSettlerFertility.setVagLooseness(isVirgin); vagLoose = npcSettlerFertility.setVagLoose(vagLooseness); maxHealth = npcSettlerCombatStats.setMaxHealth(charRaceC); currentHealth = maxHealth; maxArousal = npcSettlerCombatStats.setMaxArousal(charRaceC); currentArousal = 0; maxMP = npcSettlerCombatStats.setMaxMP(charRaceC, charClassC); currentMP = maxMP; // power and politics charReputation = npcSettlerPosition.setCharReputation(cityPositionC, charClassC); politicalPower = npcSettlerPosition.setPoliticalPower(cityPositionC); charAgeC = npcSettlerPersonAtt.setCharAge(charRaceC); charLoyalty = npcSettlerPersonAtt.setLoyalty(charRaceC, charClassC); charCorruption = npcSettlerPersonAtt.setCorruption(charRaceC, charClassC); int i; i = 0; while (i < 8) { charAddictions [i] = npcSettlerPersonAtt.setAddiction(i, charRaceC, charClassC); i++; } charValue = npcSettlerPersonAtt.setCharValue(charRankC, charClassC, bgUpbringC, charRaceC, attBeauty, attWillpower, attObedience); // public List<NPCData.CharTraits> charTraits; TempList.Clear(); setChar(); TempList[0].charTattoos = new string[18]; i = 0; while (i < 18) { TempList[0].charTattoos[i] = ""; i++; } TempList[0].charPiercings = new string[21]; i = 0; while (i < 21) { TempList[0].charPiercings[i] = ""; i++; } TempList[0].charEquipment = new int[12]; i = 0; while (i < 12) { TempList[0].charEquipment[i] = npcSettlerEquip.setCharEquipment(i, bgUpbringC, charClassC, charRaceC); i++; } //CHANGE TO SOMETHING MORE DYNAMIC... LATER TempList [0].charDodge = 10; NPCSettlerTraits.trait1 = 1000; NPCSettlerTraits.trait2 = 1000; NPCSettlerTraits.trait3 = 1000; NPCSettlerTraits.trait4 = 1000; NPCSettlerTraits.trait5 = 1000; NPCSettlerTraits.trait6 = 1000; NPCSettlerTraits.trait7 = 1000; NPCSettlerTraits.trait8 = 1000; NPCSettlerTraits.trait9 = 1000; NPCSettlerTraits.trait10 = 1000; i = 0; while (i < 10) { i++; TempList[0].charTraits.Add(npcSettlerTraits.setTrait(i, charClassC, charRaceC, charPersonalityC, bgUpbringC, attBeauty, charSexC)); } i = TempList[0].charTraits.Count; while (i > 0) { i--; if (TempList[0].charTraits[i] == NPCData.CharTraits.NONE) { TempList[0].charTraits.RemoveAt(i); } } int count = TempList[0].charTraits.Count; i = 0; while (i < count) { npcSettlerTraitsBonus.setTraitBonus(TempList[0].charTraits[i]); i++; } npcSettlerRankAdjustment.rankAdjustment(); i = 0; while (i < 4) { iterator += 1; Random.InitState(hashcode + WorldControl.day * System.DateTime.Now.Millisecond + iterator); if (i >= 2 && Random.Range(0, 100) >= 85) { break; } attacksTempList.Add(npcSettlerAttacks.classAttacks(charClassC, charRaceC)); i++; } i = 0; while (i < 4) { iterator += 1; Random.InitState(hashcode + WorldControl.day * System.DateTime.Now.Millisecond + iterator); if (i >= 2 && Random.Range(0, 100) >= 85) { break; } attacksTempList.Add(npcSettlerAttacks.raceAttacks(charRaceC)); i++; } List <NPCData.CharAttacks> attacksDistinctList = attacksTempList.Distinct().ToList(); foreach (NPCData.CharAttacks value in attacksDistinctList) { TempList [0].charAttacks.Add(value); } NPCSettlerPortrait.createPortrait(); if (isRecruited == true && isPrisoner == false && isSlave == false) { NPCCharList.CharRetainers.Add(TempList [0]); } if (isEnemy == true && isPrisoner == false && isSlave == false) { NPCCharList.CharEnemies.Add(TempList [0]); } if (isNeutral == true) { NPCCharList.CharRetainers.Add(TempList [0]); //NPCCharList.CharNeutral.Add (TempList [0]); } if (isMonster == true) { //this is for debug, remove NPCCharList.CharMonster.Add(TempList[0]); } if (isPrisoner == true && isRecruited == true) { NPCCharList.CharRetainerPrisoner.Add(TempList [0]); } if (isSlave == true && isRecruited == true) { NPCCharList.CharRetainers.Add(TempList [0]); } if (isPrisoner == true && isEnemy == true) { NPCCharList.CharEnemyPrisoner.Add(TempList [0]); } if (isSlave == true && isEnemy == true) { NPCCharList.CharEnemySlave.Add(TempList [0]); } // attStyle; sets after equipment, use the dedicated settler in game for this }
static void createAccFront() { NPCData.HeadAccesory1 headAcc1 = NPCCreator.TempList [0].headAccesory1; // add to ignore if update after creation switch (headAcc1) { case NPCData.HeadAccesory1.DemonicHorns: if (NPCCreator.TempList [0].headType != NPCData.HeadType.HUMAN) { NPCCreator.TempList [0].charPortraitLayer0 = 0; NPCCreator.TempList [0].charPortraitLayer0 = 0; break; } if (NPCCreator.TempList [0].charCorruption > 75) { NPCCreator.TempList [0].charPortraitLayer0 = 2003; NPCCreator.TempList [0].charPortraitLayer5 = 2003; } else if (NPCCreator.TempList [0].charCorruption > 50) { NPCCreator.TempList [0].charPortraitLayer0 = 2002; NPCCreator.TempList [0].charPortraitLayer5 = 2002; } else if (NPCCreator.TempList [0].charCorruption > 25) { NPCCreator.TempList [0].charPortraitLayer0 = 2001; NPCCreator.TempList [0].charPortraitLayer5 = 2001; } else { NPCCreator.TempList [0].charPortraitLayer0 = 2000; NPCCreator.TempList [0].charPortraitLayer5 = 2000; } break; case NPCData.HeadAccesory1.dragonHorns: int randNum = Random.Range(0, 3); switch (randNum) { case 0: NPCCreator.TempList [0].charPortraitLayer0 = 4000; NPCCreator.TempList [0].charPortraitLayer5 = 4000; break; case 1: NPCCreator.TempList [0].charPortraitLayer0 = 4010; NPCCreator.TempList [0].charPortraitLayer5 = 4010; break; case 2: NPCCreator.TempList [0].charPortraitLayer0 = 4020; NPCCreator.TempList [0].charPortraitLayer5 = 4020; break; default: NPCCreator.TempList [0].charPortraitLayer0 = 4030; break; } break; default: NPCCreator.TempList [0].charPortraitLayer0 = 0; break; } }