public Dialog_NamePlayerFaction() { this.curName = NameGenerator.GenerateName(Faction.OfPlayer.def.factionNameMakerPlayer, null, false, null); this.nameMessageKey = "NamePlayerFactionMessage"; this.gainedNameMessageKey = "PlayerFactionGainsName"; this.invalidNameMessageKey = "PlayerFactionNameIsInvalid"; }
public Dialog_NamePlayerFaction() { base.curName = NameGenerator.GenerateName(Faction.OfPlayer.def.factionNameMakerPlayer, (Predicate <string>)null, false, (string)null); base.nameMessageKey = "NamePlayerFactionMessage"; base.gainedNameMessageKey = "PlayerFactionGainsName"; base.invalidNameMessageKey = "PlayerFactionNameIsInvalid"; }
public static Name GeneratePawnName(Pawn pawn, NameStyle style = NameStyle.Full, string forcedLastName = null) { if (style == NameStyle.Full) { RulePackDef nameGenerator = pawn.RaceProps.GetNameGenerator(pawn.gender); if (nameGenerator != null) { string name = NameGenerator.GenerateName(nameGenerator, (string x) => !new NameSingle(x, false).UsedThisGame, false, null, null); return(new NameSingle(name, false)); } if (pawn.Faction != null && pawn.Faction.def.pawnNameMaker != null) { string rawName = NameGenerator.GenerateName(pawn.Faction.def.pawnNameMaker, delegate(string x) { NameTriple nameTriple4 = NameTriple.FromString(x); nameTriple4.ResolveMissingPieces(forcedLastName); return(!nameTriple4.UsedThisGame); }, false, null, null); NameTriple nameTriple = NameTriple.FromString(rawName); nameTriple.CapitalizeNick(); nameTriple.ResolveMissingPieces(forcedLastName); return(nameTriple); } if (pawn.RaceProps.nameCategory != PawnNameCategory.NoName) { if (Rand.Value < 0.5f) { NameTriple nameTriple2 = PawnBioAndNameGenerator.TryGetRandomUnusedSolidName(pawn.gender, forcedLastName); if (nameTriple2 != null) { return(nameTriple2); } } return(PawnBioAndNameGenerator.GeneratePawnName_Shuffled(pawn, forcedLastName)); } Log.Error("No name making method for " + pawn, false); NameTriple nameTriple3 = NameTriple.FromString(pawn.def.label); nameTriple3.ResolveMissingPieces(null); return(nameTriple3); } else { if (style == NameStyle.Numeric) { int num = 1; string text; while (true) { text = pawn.KindLabel + " " + num.ToString(); if (!NameUseChecker.NameSingleIsUsed(text)) { break; } num++; } return(new NameSingle(text, true)); } throw new InvalidOperationException(); } }
public static Faction NewGeneratedFaction(FactionDef facDef) { Faction faction = new Faction(); faction.def = facDef; faction.loadID = Find.UniqueIDsManager.GetNextFactionID(); faction.colorFromSpectrum = FactionGenerator.NewRandomColorFromSpectrum(faction); if (!facDef.isPlayer) { if (facDef.fixedName != null) { faction.Name = facDef.fixedName; } else { faction.Name = NameGenerator.GenerateName(facDef.factionNameMaker, from fac in Find.FactionManager.AllFactionsVisible select fac.Name, false, null); } } faction.centralMelanin = Rand.Value; foreach (Faction current in Find.FactionManager.AllFactionsListForReading) { faction.TryMakeInitialRelationsWith(current); } if (!facDef.hidden && !facDef.isPlayer) { FactionBase factionBase = (FactionBase)WorldObjectMaker.MakeWorldObject(WorldObjectDefOf.FactionBase); factionBase.SetFaction(faction); factionBase.Tile = TileFinder.RandomFactionBaseTileFor(faction, false, null); factionBase.Name = FactionBaseNameGenerator.GenerateFactionBaseName(factionBase); Find.WorldObjects.Add(factionBase); } faction.GenerateNewLeader(); return(faction); }
public Dialog_NamePlayerFaction() { nameGenerator = (() => NameGenerator.GenerateName(Faction.OfPlayer.def.factionNameMaker, (Predicate <string>)((Dialog_GiveName)this).IsValidName, appendNumberIfNameUsed: false, (string)null, (string)null)); curName = nameGenerator(); nameMessageKey = "NamePlayerFactionMessage"; gainedNameMessageKey = "PlayerFactionGainsName"; invalidNameMessageKey = "PlayerFactionNameIsInvalid"; }
public Dialog_NamePlayerFaction() { this.nameGenerator = (() => NameGenerator.GenerateName(Faction.OfPlayer.def.factionNameMaker, new Predicate <string>(this.IsValidName), false, null, null)); this.curName = this.nameGenerator(); this.nameMessageKey = "NamePlayerFactionMessage"; this.gainedNameMessageKey = "PlayerFactionGainsName"; this.invalidNameMessageKey = "PlayerFactionNameIsInvalid"; }
public Dialog_NamePlayerFactionBase(FactionBase factionBase) { this.factionBase = factionBase; if (factionBase.HasMap && factionBase.Map.mapPawns.FreeColonistsSpawnedCount != 0) { this.suggestingPawn = factionBase.Map.mapPawns.FreeColonistsSpawned.RandomElement <Pawn>(); } this.curName = NameGenerator.GenerateName(Faction.OfPlayer.def.baseNameMakerPlayer, null, false, null); this.nameMessageKey = "NamePlayerFactionBaseMessage"; this.gainedNameMessageKey = "PlayerFactionBaseGainsName"; this.invalidNameMessageKey = "PlayerFactionBaseNameIsInvalid"; }
public Dialog_NamePlayerSettlement(Settlement settlement) { this.settlement = settlement; if (settlement.HasMap && settlement.Map.mapPawns.FreeColonistsSpawnedCount != 0) { suggestingPawn = settlement.Map.mapPawns.FreeColonistsSpawned.RandomElement(); } nameGenerator = () => NameGenerator.GenerateName(Faction.OfPlayer.def.settlementNameMaker, IsValidName); curName = nameGenerator(); nameMessageKey = "NamePlayerFactionBaseMessage"; gainedNameMessageKey = "PlayerFactionBaseGainsName"; invalidNameMessageKey = "PlayerFactionBaseNameIsInvalid"; }
public Dialog_NamePlayerSettlement(Settlement settlement) { this.settlement = settlement; if (settlement.HasMap && settlement.Map.mapPawns.FreeColonistsSpawnedCount != 0) { this.suggestingPawn = settlement.Map.mapPawns.FreeColonistsSpawned.RandomElement <Pawn>(); } this.nameGenerator = (() => NameGenerator.GenerateName(Faction.OfPlayer.def.settlementNameMaker, new Predicate <string>(this.IsValidName), false, null, null)); this.curName = this.nameGenerator(); this.nameMessageKey = "NamePlayerFactionBaseMessage"; this.gainedNameMessageKey = "PlayerFactionBaseGainsName"; this.invalidNameMessageKey = "PlayerFactionBaseNameIsInvalid"; }
private static Name NameResolvedFrom(RulePackDef nameMaker, string forcedLastName) { NameTriple nameTriple = NameTriple.FromString(NameGenerator.GenerateName(nameMaker, delegate(string x) { NameTriple nameTriple2 = NameTriple.FromString(x); nameTriple2.ResolveMissingPieces(forcedLastName); return(!nameTriple2.UsedThisGame); })); nameTriple.CapitalizeNick(); nameTriple.ResolveMissingPieces(forcedLastName); return(nameTriple); }
public Dialog_NamePlayerSettlement(Settlement settlement) { this.settlement = settlement; if (settlement.HasMap && settlement.Map.mapPawns.FreeColonistsSpawnedCount != 0) { suggestingPawn = settlement.Map.mapPawns.FreeColonistsSpawned.RandomElement(); } nameGenerator = (() => NameGenerator.GenerateName(Faction.OfPlayer.def.settlementNameMaker, (Predicate <string>)((Dialog_GiveName)this).IsValidName, appendNumberIfNameUsed: false, (string)null, (string)null)); curName = nameGenerator(); nameMessageKey = "NamePlayerFactionBaseMessage"; gainedNameMessageKey = "PlayerFactionBaseGainsName"; invalidNameMessageKey = "PlayerFactionBaseNameIsInvalid"; }
protected void AddFeature(List <int> members, List <int> tilesForTextDrawPosCalculation) { WorldFeature worldFeature = new WorldFeature(); worldFeature.uniqueID = Find.UniqueIDsManager.GetNextWorldFeatureID(); worldFeature.def = def; worldFeature.name = NameGenerator.GenerateName(def.nameMaker, Find.WorldFeatures.features.Select((WorldFeature x) => x.name), appendNumberIfNameUsed: false, "r_name"); WorldGrid worldGrid = Find.WorldGrid; for (int i = 0; i < members.Count; i++) { worldGrid[members[i]].feature = worldFeature; } AssignBestDrawPos(worldFeature, tilesForTextDrawPosCalculation); Find.WorldFeatures.features.Add(worldFeature); }
public TradeShip(TraderKindDef def) { this.def = def; this.things = new ThingOwner <Thing>(this); TradeShip.tmpExtantNames.Clear(); List <Map> maps = Find.Maps; for (int i = 0; i < maps.Count; i++) { TradeShip.tmpExtantNames.AddRange(from x in maps[i].passingShipManager.passingShips select x.name); } this.name = NameGenerator.GenerateName(RulePackDefOf.NamerTraderGeneral, TradeShip.tmpExtantNames, false, null); this.randomPriceFactorSeed = Rand.RangeInclusive(1, 10000000); this.loadID = Find.UniqueIDsManager.GetNextPassingShipID(); }
public Dialog_NamePlayerFactionAndBase(FactionBase factionBase) { this.factionBase = factionBase; if (factionBase.HasMap && factionBase.Map.mapPawns.FreeColonistsSpawnedCount != 0) { base.suggestingPawn = factionBase.Map.mapPawns.FreeColonistsSpawned.RandomElement(); } base.curName = NameGenerator.GenerateName(Faction.OfPlayer.def.factionNameMakerPlayer, (Predicate <string>)null, false, (string)null); base.nameMessageKey = "NamePlayerFactionMessage"; base.invalidNameMessageKey = "PlayerFactionNameIsInvalid"; base.useSecondName = true; base.curSecondName = NameGenerator.GenerateName(Faction.OfPlayer.def.baseNameMakerPlayer, (Predicate <string>)null, false, (string)null); base.secondNameMessageKey = "NamePlayerFactionBaseMessage_NameFactionContinuation"; base.invalidSecondNameMessageKey = "PlayerFactionBaseNameIsInvalid"; base.gainedNameMessageKey = "PlayerFactionAndBaseGainsName"; }
public static Faction NewGeneratedFaction(FactionDef facDef) { Faction faction = new Faction(); faction.def = facDef; faction.loadID = Find.UniqueIDsManager.GetNextFactionID(); faction.colorFromSpectrum = NewRandomColorFromSpectrum(faction); if (!facDef.isPlayer) { if (facDef.fixedName != null) { faction.Name = facDef.fixedName; } else { string text = ""; for (int i = 0; i < 10; i++) { string text2 = NameGenerator.GenerateName(facDef.factionNameMaker, Find.FactionManager.AllFactionsVisible.Select((Faction fac) => fac.Name)); if (text2.Length <= 20) { text = text2; } } if (text.NullOrEmpty()) { text = NameGenerator.GenerateName(facDef.factionNameMaker, Find.FactionManager.AllFactionsVisible.Select((Faction fac) => fac.Name)); } faction.Name = text; } } faction.centralMelanin = Rand.Value; foreach (Faction item in Find.FactionManager.AllFactionsListForReading) { faction.TryMakeInitialRelationsWith(item); } if (!faction.Hidden && !facDef.isPlayer) { Settlement settlement = (Settlement)WorldObjectMaker.MakeWorldObject(WorldObjectDefOf.Settlement); settlement.SetFaction(faction); settlement.Tile = TileFinder.RandomSettlementTileFor(faction); settlement.Name = SettlementNameGenerator.GenerateSettlementName(settlement); Find.WorldObjects.Add(settlement); } faction.TryGenerateNewLeader(); return(faction); }
protected void AddFeature(List <int> members, List <int> tilesForTextDrawPosCalculation) { WorldFeature worldFeature = new WorldFeature(); worldFeature.uniqueID = Find.UniqueIDsManager.GetNextWorldFeatureID(); worldFeature.def = this.def; worldFeature.name = NameGenerator.GenerateName(this.def.nameMaker, from x in Find.WorldFeatures.features select x.name, false, "r_name"); WorldGrid worldGrid = Find.WorldGrid; for (int i = 0; i < members.Count; i++) { worldGrid[members[i]].feature = worldFeature; } this.AssignBestDrawPos(worldFeature, tilesForTextDrawPosCalculation); Find.WorldFeatures.features.Add(worldFeature); }
public TradeShip(TraderKindDef def, Faction faction = null) : base(faction) { this.def = def; things = new ThingOwner <Thing>(this); tmpExtantNames.Clear(); List <Map> maps = Find.Maps; for (int i = 0; i < maps.Count; i++) { tmpExtantNames.AddRange(maps[i].passingShipManager.passingShips.Select((PassingShip x) => x.name)); } name = NameGenerator.GenerateName(RulePackDefOf.NamerTraderGeneral, tmpExtantNames); if (faction != null) { name = string.Format("{0} {1} {2}", name, "OfLower".Translate(), faction.Name); } randomPriceFactorSeed = Rand.RangeInclusive(1, 10000000); loadID = Find.UniqueIDsManager.GetNextPassingShipID(); }
public static Scenario GenerateNewRandomScenario(string seed) { Rand.PushState(); Rand.Seed = seed.GetHashCode(); int @int = Rand.Int; int[] array = new int[10]; for (int i = 0; i < array.Length; i++) { array[i] = Rand.Int; } int int2 = Rand.Int; ScenarioMaker.scen = new Scenario(); ScenarioMaker.scen.Category = ScenarioCategory.CustomLocal; ScenarioMaker.scen.name = NameGenerator.GenerateName(RulePackDefOf.NamerScenario, null, false, null); ScenarioMaker.scen.description = null; ScenarioMaker.scen.summary = null; Rand.Seed = @int; ScenarioMaker.scen.playerFaction = (ScenPart_PlayerFaction)ScenarioMaker.MakeScenPart(ScenPartDefOf.PlayerFaction); ScenarioMaker.scen.parts.Add(ScenarioMaker.MakeScenPart(ScenPartDefOf.ConfigPage_ConfigureStartingPawns)); ScenarioMaker.scen.parts.Add(ScenarioMaker.MakeScenPart(ScenPartDefOf.PlayerPawnsArriveMethod)); Rand.Seed = array[0]; ScenarioMaker.AddCategoryScenParts(ScenarioMaker.scen, ScenPartCategory.PlayerPawnFilter, Rand.RangeInclusive(-1, 2)); Rand.Seed = array[1]; ScenarioMaker.AddCategoryScenParts(ScenarioMaker.scen, ScenPartCategory.StartingImportant, Rand.RangeInclusive(0, 2)); Rand.Seed = array[2]; ScenarioMaker.AddCategoryScenParts(ScenarioMaker.scen, ScenPartCategory.PlayerPawnModifier, Rand.RangeInclusive(-1, 2)); Rand.Seed = array[3]; ScenarioMaker.AddCategoryScenParts(ScenarioMaker.scen, ScenPartCategory.Rule, Rand.RangeInclusive(-2, 3)); Rand.Seed = array[4]; ScenarioMaker.AddCategoryScenParts(ScenarioMaker.scen, ScenPartCategory.StartingItem, Rand.RangeInclusive(0, 6)); Rand.Seed = array[5]; ScenarioMaker.AddCategoryScenParts(ScenarioMaker.scen, ScenPartCategory.WorldThing, Rand.RangeInclusive(-3, 6)); Rand.Seed = array[6]; ScenarioMaker.AddCategoryScenParts(ScenarioMaker.scen, ScenPartCategory.GameCondition, Rand.RangeInclusive(-1, 2)); Rand.Seed = int2; foreach (ScenPart current in ScenarioMaker.scen.AllParts) { current.Randomize(); } for (int j = 0; j < ScenarioMaker.scen.parts.Count; j++) { for (int k = 0; k < ScenarioMaker.scen.parts.Count; k++) { if (j != k) { if (ScenarioMaker.scen.parts[j].TryMerge(ScenarioMaker.scen.parts[k])) { ScenarioMaker.scen.parts.RemoveAt(k); k--; if (j > k) { j--; } } } } } for (int l = 0; l < ScenarioMaker.scen.parts.Count; l++) { for (int m = 0; m < ScenarioMaker.scen.parts.Count; m++) { if (l != m) { if (!ScenarioMaker.scen.parts[l].CanCoexistWith(ScenarioMaker.scen.parts[m])) { ScenarioMaker.scen.parts.RemoveAt(m); m--; if (l > m) { l--; } } } } } foreach (string current2 in ScenarioMaker.scen.ConfigErrors()) { Log.Error(current2); } Rand.PopState(); Scenario result = ScenarioMaker.scen; ScenarioMaker.scen = null; return(result); }
public static Name GeneratePawnName(Pawn pawn, NameStyle style = NameStyle.Full, string forcedLastName = null) { switch (style) { case NameStyle.Full: { if (pawn.story != null) { if (pawn.story.childhood != null && pawn.story.childhood.NameMaker != null) { return(NameResolvedFrom(pawn.story.childhood.NameMaker, forcedLastName)); } if (pawn.story.adulthood != null && pawn.story.adulthood.NameMaker != null) { return(NameResolvedFrom(pawn.story.adulthood.NameMaker, forcedLastName)); } } RulePackDef nameGenerator = pawn.RaceProps.GetNameGenerator(pawn.gender); if (nameGenerator != null) { return(new NameSingle(NameGenerator.GenerateName(nameGenerator, (string x) => !new NameSingle(x).UsedThisGame))); } if (pawn.Faction != null) { RulePackDef nameMaker = pawn.Faction.def.GetNameMaker(pawn.gender); if (nameMaker != null) { return(NameResolvedFrom(nameMaker, forcedLastName)); } } if (pawn.RaceProps.nameCategory != 0) { if (Rand.Value < 0.5f) { NameTriple nameTriple = TryGetRandomUnusedSolidName(pawn.gender, forcedLastName); if (nameTriple != null) { return(nameTriple); } } return(GeneratePawnName_Shuffled(pawn, forcedLastName)); } Log.Error("No name making method for " + pawn); NameTriple nameTriple2 = NameTriple.FromString(pawn.def.label); nameTriple2.ResolveMissingPieces(); return(nameTriple2); } case NameStyle.Numeric: try { foreach (Pawn item in PawnsFinder.AllMapsWorldAndTemporary_AliveOrDead) { NameSingle nameSingle = item.Name as NameSingle; if (nameSingle != null) { usedNamesTmp.Add(nameSingle.Name); } } int num = 1; string text; while (true) { text = $"{pawn.KindLabel} {num.ToString()}"; if (!usedNamesTmp.Contains(text)) { break; } num++; } return(new NameSingle(text, numerical: true)); } finally { usedNamesTmp.Clear(); } default: throw new InvalidOperationException(); } }
private string <Dialog_NamePlayerSettlement> m__0() { return(NameGenerator.GenerateName(Faction.OfPlayer.def.settlementNameMaker, new Predicate <string>(this.IsValidName), false, null, null)); }
public static void GenerateBackCompatibilityNameFor(Quest quest) { quest.name = NameGenerator.GenerateName(RulePackDefOf.NamerQuestDefault, Find.QuestManager.QuestsListForReading.Select((Quest x) => x.name), appendNumberIfNameUsed: false, "defaultQuestName"); }
public static string GenerateName(RulePackDef rootPack, IEnumerable <string> extantNames, bool appendNumberIfNameUsed = false, string rootKeyword = null) { return(NameGenerator.GenerateName(rootPack, (string x) => !extantNames.Contains(x), appendNumberIfNameUsed, rootKeyword)); }