public void Load_4_0_1(Stream fs, int xScreenResolution, int YScreenResolution) { Clear(); DaysCost = QuestStreamReader.ReadInt(fs); screenx = QuestStreamReader.ReadInt(fs); screeny = QuestStreamReader.ReadInt(fs); LocationNumber = QuestStreamReader.ReadInt(fs); StartLocationFlag = QuestStreamReader.ReadBool(fs); EndLocationFlag = QuestStreamReader.ReadBool(fs); FailLocationFlag = QuestStreamReader.ReadBool(fs); PlayerDeath = QuestStreamReader.ReadBool(fs); VoidLocation = QuestStreamReader.ReadBool(fs); for (var i = 0; i < Quest.maxparameters; ++i) { DPars[i].Load_3_9_6(fs); } for (var i = 0; i < MaxLocationDescriptions; ++i) { var desc = QuestStreamReader.ReadTextField(fs); LocationDescriptions[i] = desc; } RandomShowLocationDescriptions = QuestStreamReader.ReadBool(fs); LocDescrOrder = QuestStreamReader.ReadInt(fs); LocationName = QuestStreamReader.ReadTextField(fs); LocationDescription = QuestStreamReader.ReadTextField(fs); LocDescrExprOrder = QuestStreamReader.ReadTextField(fs); LocationDescription = ""; }
public void Load_3_9_3(Stream fs) { Clear(); DaysCost = QuestStreamReader.ReadInt(fs); screenx = QuestStreamReader.ReadInt(fs); screeny = QuestStreamReader.ReadInt(fs); LocationNumber = QuestStreamReader.ReadInt(fs); StartLocationFlag = QuestStreamReader.ReadBool(fs); EndLocationFlag = QuestStreamReader.ReadBool(fs); FailLocationFlag = QuestStreamReader.ReadBool(fs); PlayerDeath = QuestStreamReader.ReadBool(fs); for (var i = 0; i < 12; ++i) { DPars[i].Load_3_9_3(fs); } for (var i = 0; i < MaxLocationDescriptions; ++i) { var desc = QuestStreamReader.ReadTextField(fs); LocationDescriptions[i] = desc; } RandomShowLocationDescriptions = QuestStreamReader.ReadBool(fs); LocDescrOrder = QuestStreamReader.ReadInt(fs); LocationName = QuestStreamReader.ReadTextField(fs); LocationDescription = QuestStreamReader.ReadTextField(fs); LocationDescription = ""; }
public void Load_3_9_0(FileStream fs) { Money = false; min = QuestStreamReader.ReadInt(fs); max = QuestStreamReader.ReadInt(fs); value = QuestStreamReader.ReadInt(fs); ParType = QuestStreamReader.ReadInt(fs); Hidden = QuestStreamReader.ReadBool(fs); ShowIfZero = QuestStreamReader.ReadBool(fs); LoLimit = QuestStreamReader.ReadBool(fs); Enabled = QuestStreamReader.ReadBool(fs); ValueOfViewStrings = QuestStreamReader.ReadInt(fs); Name = QuestStreamReader.ReadTextField(fs); ViewFormatStrings = new ParameterViewString[10]; for (var i = 0; i < ValueOfViewStrings; ++i) { ViewFormatStrings[i].Load(fs); } CriticalMessage = QuestStreamReader.ReadTextField(fs); AltDiapStartValues.Clear(); AltDiapStartValues.Add(value, value); }
public void Load(FileStream fs) { Money = false; min = QuestStreamReader.ReadInt(fs); max = QuestStreamReader.ReadInt(fs); value = QuestStreamReader.ReadInt(fs); ParType = QuestStreamReader.ReadInt(fs); Hidden = QuestStreamReader.ReadBool(fs); ShowIfZero = QuestStreamReader.ReadBool(fs); LoLimit = QuestStreamReader.ReadBool(fs); Enabled = QuestStreamReader.ReadBool(fs); Name = QuestStreamReader.ReadTextField(fs); GameName = QuestStreamReader.ReadTextField(fs); CriticalMessage = QuestStreamReader.ReadTextField(fs); ViewFormatStrings = new ParameterViewString[10]; ValueOfViewStrings = 1; ViewFormatStrings[0].max = max; ViewFormatStrings[0].min = min; ViewFormatStrings[0].str = GameName.Trim(); AltDiapStartValues.Clear(); AltDiapStartValues.Add(value, value); }
public void Load_4_0_2(FileStream fs, int xRes, int yRes) { Clear(); Probability = QuestStreamReader.ReadDouble(fs); dayscost = QuestStreamReader.ReadInt(fs); PathNumber = QuestStreamReader.ReadInt(fs); FromLocation = QuestStreamReader.ReadInt(fs); ToLocation = QuestStreamReader.ReadInt(fs); VoidPathFlag = QuestStreamReader.ReadBool(fs); AlwaysShowWhenPlaying = QuestStreamReader.ReadBool(fs); PassTimesValue = QuestStreamReader.ReadInt(fs); ShowOrder = QuestStreamReader.ReadInt(fs); for (var i = 0; i < Quest.maxparameters; ++i) { DPars[i].Load_3_9_6(fs); } LogicExpression = QuestStreamReader.ReadTextField(fs); StartPathMessage = QuestStreamReader.ReadTextField(fs); EndPathMessage = QuestStreamReader.ReadTextField(fs); }
public void Load(Stream fs) { Count = QuestStreamReader.ReadInt(fs); Negation = QuestStreamReader.ReadBool(fs); Values = new int[Count + 2]; for (var i = 0; i < Count; ++i) { Values[i] = QuestStreamReader.ReadInt(fs); } }
public void Load(Stream fs) { Clear(); min = QuestStreamReader.ReadInt(fs); max = QuestStreamReader.ReadInt(fs); delta = QuestStreamReader.ReadInt(fs); ParameterViewAction = QuestStreamReader.ReadInt(fs); CriticalMessageVisible = QuestStreamReader.ReadBool(fs); DeltaPercentFlag = QuestStreamReader.ReadBool(fs); CriticalMessage = QuestStreamReader.ReadTextField(fs); }
public void Load(FileStream fs) { Clear(); PathNumber = QuestStreamReader.ReadInt(fs); FromLocation = QuestStreamReader.ReadInt(fs); ToLocation = QuestStreamReader.ReadInt(fs); VoidPathFlag = QuestStreamReader.ReadBool(fs); for (var i = 0; i < 9; ++i) { DPars[i].Load(fs); } StartPathMessage = QuestStreamReader.ReadTextField(fs); EndPathMessage = QuestStreamReader.ReadTextField(fs); }
public void Load_3_9_3(Stream fs) { Clear(); bitmask = QuestStreamReader.ReadInt(fs); min = QuestStreamReader.ReadInt(fs); max = QuestStreamReader.ReadInt(fs); delta = QuestStreamReader.ReadInt(fs); ParameterViewAction = QuestStreamReader.ReadInt(fs); CriticalMessageVisible = QuestStreamReader.ReadBool(fs); DeltaPercentFlag = QuestStreamReader.ReadBool(fs); ValuesGate.Load(fs); ModZeroesGate.Load(fs); CriticalMessage = QuestStreamReader.ReadTextField(fs); }
public void Load_3_9_1(FileStream fs) { Clear(); PathNumber = QuestStreamReader.ReadInt(fs); FromLocation = QuestStreamReader.ReadInt(fs); ToLocation = QuestStreamReader.ReadInt(fs); VoidPathFlag = QuestStreamReader.ReadBool(fs); AlwaysShowWhenPlaying = QuestStreamReader.ReadBool(fs); PassTimesValue = QuestStreamReader.ReadInt(fs); for (var i = 0; i < 9; ++i) { DPars[i].Load(fs); } StartPathMessage = QuestStreamReader.ReadTextField(fs); EndPathMessage = QuestStreamReader.ReadTextField(fs); }
public void Load(Stream fs) { Clear(); screenx = QuestStreamReader.ReadInt(fs); screeny = QuestStreamReader.ReadInt(fs); LocationNumber = QuestStreamReader.ReadInt(fs); StartLocationFlag = QuestStreamReader.ReadBool(fs); EndLocationFlag = QuestStreamReader.ReadBool(fs); FailLocationFlag = QuestStreamReader.ReadBool(fs); PlayerDeath = QuestStreamReader.ReadBool(fs); for (var i = 0; i < 9; ++i) { DPars[i].Load(fs); } LocationName = QuestStreamReader.ReadTextField(fs); LocationDescription = QuestStreamReader.ReadTextField(fs); LocationDescriptions[0] = LocationDescription.Trim(); }
public Quest(string filename) { using (var fs = new FileStream(filename, FileMode.Open)) { version = QuestStreamReader.ReadInt(fs); if (version.isOlderThan3_8_5()) { var race = version; version = QuestFileVersion.FileVersion_Older_than_3_8_5; } else { var race = QuestStreamReader.ReadInt(fs); } if (version.isSince3_9_6()) { var set = QuestStreamReader.ReadSetInt(fs); // SRace:TOwnerSet; TOwnerSet = set of TOwner; TOwner=(Maloc,Peleng,People,Fei,Gaal,Kling,None);// владелец чего-либо раса, клинг, Нет } else { //SRace:=RaceToSRace(Race); } if (version.isSince3_8_5()) { var needNotToReturn = QuestStreamReader.ReadBool(fs); } var targetRace = QuestStreamReader.ReadInt(fs); if (version.isSince3_9_6()) { var set = QuestStreamReader.ReadSetInt(fs); // SRace:TOwnerSet; } else { //STargetRace:=RaceToTOwnerSet(targetRace); } var rangerStatus = QuestStreamReader.ReadInt(fs); if (version.isSince4_0_0()) { var set = QuestStreamReader.ReadSetInt(fs);// TStatusSet = set of TStatus; TStatus = (Trader,Pirate,Warrior); //Статус рейнджера } else { //SRangerStatus:=RangerStatusToTStatusSet(RangerStatus); } var rangerRace = QuestStreamReader.ReadInt(fs); if (version.isSince4_0_0()) { var set = QuestStreamReader.ReadSetInt(fs); // SRangerRace:TOwnerSet; } else { //SRangerRace:=RangerRaceToTOwnerSet(RangerRace); } var planetReaction = QuestStreamReader.ReadInt(fs); // Отношение после выполнения квеста // -1 - хуже, 0 - также, 1-лучше var xRes = QuestStreamReader.ReadInt(fs); var yRes = QuestStreamReader.ReadInt(fs); var xGrad = QuestStreamReader.ReadInt(fs); // 15 var yGrad = QuestStreamReader.ReadInt(fs); // 12 var artifactSize = QuestStreamReader.ReadInt(fs); if (version.isSince4_0_0()) { var defPathGoTimesValue = QuestStreamReader.ReadInt(fs); //проходимость перехода по умолчанию } if (version.isSince4_0_1()) { var difficulty = QuestStreamReader.ReadInt(fs); } Pars = new QuestParameter[maxparameters]; if (version.isSince4_0_1()) { for (var i = 0; i < maxparameters; ++i) { Pars[i].Load_4_0_1(fs); } } else if (version.isSince3_9_6()) { for (var i = 0; i < maxparameters; ++i) { Pars[i].Load_3_9_6(fs); } for (var i = 0; i < maxparameters; ++i) { Pars[i].AltDiapStartValues.Add(Pars[i].value); } } else if (version.isSince3_9_5()) { for (var i = 0; i < 12; ++i) { Pars[i].Load_3_9_5(fs); } } else if (version.isSince3_9_2()) { for (var i = 0; i < 12; ++i) { Pars[i].Load_3_9_0(fs); } } else if (version.isSince3_9_0()) { for (var i = 0; i < 9; ++i) { Pars[i].Load_3_9_0(fs); } } else { for (var i = 0; i < 9; ++i) { Pars[i].Load(fs); } } RToStar = QuestStreamReader.ReadTextField(fs); RParsec = QuestStreamReader.ReadTextField(fs); RArtefact = QuestStreamReader.ReadTextField(fs); RToPlanet = QuestStreamReader.ReadTextField(fs); RDate = QuestStreamReader.ReadTextField(fs); RMoney = QuestStreamReader.ReadTextField(fs); RFromPLanet = QuestStreamReader.ReadTextField(fs); RFromStar = QuestStreamReader.ReadTextField(fs); RRanger = QuestStreamReader.ReadTextField(fs); LocationsValue = QuestStreamReader.ReadInt(fs); PathesValue = QuestStreamReader.ReadInt(fs); QuestSuccessGovMessage = QuestStreamReader.ReadTextField(fs); QuestDescription = QuestStreamReader.ReadTextField(fs); QuestTargetName = QuestStreamReader.ReadTextField(fs); Locations.Capacity = LocationsValue; Paths.Capacity = PathesValue; for (var i = 0; i < LocationsValue; ++i) { Locations.Add(new QuestLocation()); if (version.isSince4_0_1()) { Locations[i].Load_4_0_1(fs, xRes, yRes); } else if (version.isSince3_9_6()) { Locations[i].Load_3_9_6(fs, xRes, yRes); } else if (version.isSince3_9_4()) { Locations[i].Load_3_9_4(fs, xRes, yRes); } else if (version.isSince3_9_3()) { Locations[i].Load_3_9_3(fs); } else if (version.isSince3_9_2()) { Locations[i].Load_3_9_2(fs); } else { Locations[i].Load(fs); } if (Locations[i].StartLocationFlag) { if (startLocationIndx != -1) { throw new Exception("Several start locations found"); } startLocationIndx = i; } codeToIndx[Locations[i].LocationNumber] = i; } if (startLocationIndx == -1) { throw new Exception("No start locations found"); } for (var i = 0; i < PathesValue; ++i) { Paths.Add(new QuestPath()); if (version.isSince4_0_2()) { Paths[i].Load_4_0_2(fs, xRes, yRes); } else if (version.isSince3_9_6()) { Paths[i].Load_3_9_6(fs, xRes, yRes); } else if (version.isSince3_9_4()) { Paths[i].Load_3_9_4(fs, xRes, yRes); } else if (version.isSince3_9_3()) { Paths[i].Load_3_9_3(fs); } else if (version.isSince3_9_2()) { Paths[i].Load_3_9_2(fs); } else if (version.isSince3_9_1()) { Paths[i].Load_3_9_1(fs); } else if (version.isSince3_8_5()) { Paths[i].Load_3_8_5(fs); } else { Paths[i].Load(fs); } Paths[i].PathIndx = i; Paths[i].FromLocationNumber = Paths[i].FromLocation; Paths[i].ToLocationNumber = Paths[i].ToLocation; Paths[i].FromLocation = LocationCodeToIndx(Paths[i].FromLocation); Paths[i].ToLocation = LocationCodeToIndx(Paths[i].ToLocation); var fromIndx = Paths[i].FromLocation; if (fromIndx < 0) { throw new Exception("from < 0. == " + fromIndx); } if (fromIndx >= Locations.Count()) { throw new Exception("from >= count (" + Locations.Count() + "). == " + fromIndx); } Locations[fromIndx].transitions.Add(Paths[i]); } } }
public void Load(Stream fs) { min = QuestStreamReader.ReadInt(fs); max = QuestStreamReader.ReadInt(fs); str = QuestStreamReader.ReadTextField(fs); }