diff options
Diffstat (limited to 'reference')
| -rw-r--r-- | reference/game.c | 1628 |
1 files changed, 0 insertions, 1628 deletions
diff --git a/reference/game.c b/reference/game.c index d50249a..f0a4f51 100644 --- a/reference/game.c +++ b/reference/game.c @@ -29623,1225 +29623,6 @@ void __static_initialization_and_destruction_0(int __initialize_p,int __priority return;
}
-char * GetRaceName(int Race)
-
-{
- TRaceData *pTVar1;
-
- if (Race - 1U < 0x1ff) {
- pTVar1 = RaceData + Race;
- }
- else {
- error(&DAT_08102100,Race);
- pTVar1 = (TRaceData *)0x0;
- }
- return pTVar1->Name;
-}
-
-
-
-TOutfit GetRaceOutfit(int Race)
-
-{
- int iVar1;
- anon_union_4_2_730cd3ca_for_TOutfit_2 aVar2;
- TOutfit TVar3;
- int in_stack_00000008;
-
- if (in_stack_00000008 - 1U < 0x1ff) {
- iVar1 = RaceData[in_stack_00000008].Outfit.OutfitID;
- aVar2 = RaceData[in_stack_00000008].Outfit.field_1;
- }
- else {
- error(&DAT_08102140);
- iVar1 = RaceData[1].Outfit.OutfitID;
- aVar2 = RaceData[1].Outfit.field_1;
- }
- *(int *)Race = iVar1;
- *(anon_union_4_2_730cd3ca_for_TOutfit_2 *)(Race + 4) = aVar2;
- TVar3.field_1 = aVar2;
- TVar3.OutfitID = Race;
- return TVar3;
-}
-
-
-
-bool GetRaceNoSummon(int Race)
-
-{
- undefined1 uVar1;
-
- if (Race - 1U < 0x1ff) {
- uVar1 = RaceData[Race].NoSummon;
- }
- else {
- error(&DAT_08102180,Race);
- uVar1 = 1;
- }
- return (bool)uVar1;
-}
-
-
-
-bool GetRaceNoConvince(int Race)
-
-{
- undefined1 uVar1;
-
- if (Race - 1U < 0x1ff) {
- uVar1 = RaceData[Race].NoConvince;
- }
- else {
- error(&DAT_081021c0,Race);
- uVar1 = 1;
- }
- return (bool)uVar1;
-}
-
-
-
-bool GetRaceNoIllusion(int Race)
-
-{
- undefined1 uVar1;
-
- if (Race - 1U < 0x1ff) {
- uVar1 = RaceData[Race].NoIllusion;
- }
- else {
- error(&DAT_08102200,Race);
- uVar1 = 1;
- }
- return (bool)uVar1;
-}
-
-
-
-bool GetRaceNoParalyze(int Race)
-
-{
- undefined1 uVar1;
-
- if (Race - 1U < 0x1ff) {
- uVar1 = RaceData[Race].NoParalyze;
- }
- else {
- error(&DAT_08102240,Race);
- uVar1 = 1;
- }
- return (bool)uVar1;
-}
-
-
-
-int GetRaceSummonCost(int Race)
-
-{
- int iVar1;
-
- if (Race - 1U < 0x1ff) {
- iVar1 = RaceData[Race].SummonCost;
- }
- else {
- error(&DAT_08102280,Race);
- iVar1 = 0;
- }
- return iVar1;
-}
-
-
-
-int GetRacePoison(int Race)
-
-{
- int iVar1;
-
- if (Race - 1U < 0x1ff) {
- iVar1 = RaceData[Race].Poison;
- }
- else {
- error(&DAT_081022c0,Race);
- iVar1 = 0;
- }
- return iVar1;
-}
-
-
-
-bool GetRaceUnpushable(int Race)
-
-{
- undefined1 uVar1;
-
- if (Race - 1U < 0x1ff) {
- uVar1 = RaceData[Race].Unpushable;
- }
- else {
- error(&DAT_08102300,Race);
- uVar1 = 1;
- }
- return (bool)uVar1;
-}
-
-
-
-void LoadRace(char *FileName)
-
-{
- TReadScriptFile *pTVar1;
- char cVar2;
- char *pcVar3;
- TSpellData *pTVar4;
- TItemData *this;
- ulong uVar5;
- ulong *puVar6;
- int iVar7;
- TSkillData *pTVar8;
- char *pcVar9;
- int iVar10;
- int iVar11;
- int SkillNr;
- char *pcVar12;
- char *pcVar13;
- undefined1 uVar14;
- char *Impact;
- TRaceData *R;
- char *Shape;
- TOutfit HelpOutfit;
- ObjectType local_402c [4];
- char local_401c [4];
- char Ident [30];
- TReadScriptFile Script;
-
- uVar14 = &stack0x00000000 == (undefined1 *)0x406c;
- pcVar3 = FileName;
- // try { // try from 080a2768 to 080a277a has its CatchHandler @ 080a3a74
- print();
- TReadScriptFile::TReadScriptFile((TReadScriptFile *)(Ident + 0x1c));
- // try { // try from 080a2788 to 080a39ea has its CatchHandler @ 080a3a57
- TReadScriptFile::open((TReadScriptFile *)(Ident + 0x1c),FileName,(int)pcVar3);
- pcVar3 = TReadScriptFile::readIdentifier((TReadScriptFile *)(Ident + 0x1c));
- iVar10 = 0xb;
- pcVar9 = "racenumber";
- do {
- if (iVar10 == 0) break;
- iVar10 = iVar10 + -1;
- uVar14 = *pcVar3 == *pcVar9;
- pcVar3 = pcVar3 + 1;
- pcVar9 = pcVar9 + 1;
- } while ((bool)uVar14);
- if (!(bool)uVar14) {
- TReadScriptFile::error((TReadScriptFile *)(Ident + 0x1c),"race number expected");
- }
- pcVar3 = (char *)0x3d;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'=');
- iVar10 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- if (0x1fe < iVar10 - 1U) {
- pcVar3 = "illegal race number";
- TReadScriptFile::error((TReadScriptFile *)(Ident + 0x1c),"illegal race number");
- }
- if (RaceData[iVar10].Name[0] != '\0') {
- pcVar3 = "race already defined";
- // try { // try from 080a3a17 to 080a3a51 has its CatchHandler @ 080a3a57
- TReadScriptFile::error((TReadScriptFile *)(Ident + 0x1c),"race already defined");
- }
- RaceData[iVar10].Outfit.field_1 = (anon_union_4_2_730cd3ca_for_TOutfit_2)0x0;
- RaceData[iVar10].Outfit.OutfitID = iVar10;
- do {
- do {
- TReadScriptFile::nextToken((TReadScriptFile *)(Ident + 0x1c));
- if (stack0xffffc004 == 0) {
- TReadScriptFile::close((TReadScriptFile *)(Ident + 0x1c),(int)pcVar3);
- // try { // try from 080a39f4 to 080a39f8 has its CatchHandler @ 080a3a74
- TReadScriptFile::~TReadScriptFile((TReadScriptFile *)(Ident + 0x1c),(int)pcVar3);
- return;
- }
- uVar14 = stack0xffffc004 == 1;
- if (!(bool)uVar14) {
- TReadScriptFile::error((TReadScriptFile *)(Ident + 0x1c),"identifier expected");
- }
- pcVar3 = TReadScriptFile::getIdentifier((TReadScriptFile *)(Ident + 0x1c));
- strcpy(local_401c,pcVar3);
- pcVar3 = (char *)0x3d;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'=');
- iVar11 = 5;
- pcVar9 = local_401c;
- pcVar12 = "name";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pcVar3 = TReadScriptFile::readString((TReadScriptFile *)(Ident + 0x1c));
- strcpy(RaceData[iVar10].Name,pcVar3);
- }
- iVar11 = 8;
- pcVar9 = local_401c;
- pcVar12 = "article";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pcVar3 = TReadScriptFile::readString((TReadScriptFile *)(Ident + 0x1c));
- uVar14 = RaceData[iVar10].Article == (char *)0x0;
- strcpy(RaceData[iVar10].Article,pcVar3);
- }
- iVar11 = 7;
- pcVar9 = local_401c;
- pcVar12 = "outfit";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pcVar3 = Ident + 0x1c;
- uVar14 = &RaceData[iVar10].Outfit == (TOutfit *)0x0;
- TOutfit::load(&RaceData[iVar10].Outfit,(TReadScriptFile *)pcVar3);
- }
- iVar11 = 7;
- pcVar9 = local_401c;
- pcVar12 = "corpse";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- ObjectType::setTypeID((ObjectType *)&HelpOutfit.field_1,iVar11);
- ObjectType::setTypeID(&RaceData[iVar10].MaleCorpse,(int)HelpOutfit.field_1);
- ObjectType::setTypeID(local_402c,RaceData[iVar10].MaleCorpse.TypeID);
- uVar14 = &RaceData[iVar10].FemaleCorpse == (ObjectType *)0x0;
- ObjectType::setTypeID(local_402c,RaceData[iVar10].MaleCorpse.TypeID);
- ObjectType::setTypeID(&RaceData[iVar10].FemaleCorpse,local_402c[0].TypeID);
- pcVar3 = (char *)RaceData[iVar10].FemaleCorpse.TypeID;
- ObjectType::setTypeID((ObjectType *)&HelpOutfit.field_1,(int)pcVar3);
- }
- iVar11 = 8;
- pcVar9 = local_401c;
- pcVar12 = "corpses";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- ObjectType::setTypeID(local_402c,iVar11);
- ObjectType::setTypeID(&RaceData[iVar10].MaleCorpse,local_402c[0].TypeID);
- ObjectType::setTypeID
- ((ObjectType *)&HelpOutfit.field_1,RaceData[iVar10].MaleCorpse.TypeID);
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- uVar14 = &RaceData[iVar10].FemaleCorpse == (ObjectType *)0x0;
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- ObjectType::setTypeID(local_402c,iVar11);
- ObjectType::setTypeID(&RaceData[iVar10].FemaleCorpse,local_402c[0].TypeID);
- pcVar3 = (char *)RaceData[iVar10].FemaleCorpse.TypeID;
- ObjectType::setTypeID((ObjectType *)&HelpOutfit.field_1,(int)pcVar3);
- }
- iVar11 = 6;
- pcVar9 = local_401c;
- pcVar12 = "blood";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pcVar9 = TReadScriptFile::readIdentifier((TReadScriptFile *)(Ident + 0x1c));
- iVar11 = 6;
- pcVar12 = pcVar9;
- pcVar13 = "blood";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].Blood = BT_BLOOD;
- }
- else {
- iVar11 = 6;
- pcVar12 = pcVar9;
- pcVar13 = "slime";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].Blood = BT_SLIME;
- }
- else {
- iVar11 = 6;
- pcVar12 = pcVar9;
- pcVar13 = "bones";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].Blood = BT_BONES;
- }
- else {
- iVar11 = 5;
- pcVar12 = pcVar9;
- pcVar13 = "fire";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].Blood = BT_FIRE;
- }
- else {
- iVar11 = 7;
- pcVar12 = "energy";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].Blood = BT_ENERGY;
- }
- else {
- pcVar3 = "unknown blood type";
- TReadScriptFile::error
- ((TReadScriptFile *)(Ident + 0x1c),
- "unknown blood type");
- }
- }
- }
- }
- }
- }
- iVar11 = 0xb;
- pcVar9 = local_401c;
- pcVar12 = "experience";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- RaceData[iVar10].ExperiencePoints = iVar11;
- }
- iVar11 = 0xb;
- pcVar9 = local_401c;
- pcVar12 = "summoncost";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- RaceData[iVar10].SummonCost = iVar11;
- }
- iVar11 = 0xe;
- pcVar9 = local_401c;
- pcVar12 = "fleethreshold";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- RaceData[iVar10].FleeThreshold = iVar11;
- }
- iVar11 = 7;
- pcVar9 = local_401c;
- pcVar12 = "attack";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- RaceData[iVar10].Attack = iVar11;
- }
- iVar11 = 7;
- pcVar9 = local_401c;
- pcVar12 = "defend";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- RaceData[iVar10].Defend = iVar11;
- }
- iVar11 = 6;
- pcVar9 = local_401c;
- pcVar12 = "armor";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- RaceData[iVar10].Armor = iVar11;
- }
- iVar11 = 7;
- pcVar9 = local_401c;
- pcVar12 = "poison";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- RaceData[iVar10].Poison = iVar11;
- }
- iVar11 = 0xb;
- pcVar9 = local_401c;
- pcVar12 = "losetarget";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- RaceData[iVar10].LoseTarget = iVar11;
- }
- iVar11 = 9;
- pcVar9 = local_401c;
- pcVar12 = "strategy";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = 0;
- do {
- if (iVar11 != 0) {
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- }
- iVar7 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- *(int *)(iVar10 * 0x150 + 0x81c47b8 + iVar11 * 4) = iVar7;
- iVar11 = iVar11 + 1;
- uVar14 = iVar11 == 3;
- } while (iVar11 < 4);
- pcVar3 = (char *)0x29;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),')');
- }
- iVar11 = 6;
- pcVar9 = local_401c;
- pcVar12 = "flags";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pcVar3 = (char *)0x7b;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'{');
- do {
- pcVar9 = TReadScriptFile::readIdentifier((TReadScriptFile *)(Ident + 0x1c));
- iVar11 = 10;
- pcVar12 = pcVar9;
- pcVar13 = "kickboxes";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].KickBoxes = true;
- }
- iVar11 = 0xe;
- pcVar12 = pcVar9;
- pcVar13 = "kickcreatures";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].KickCreatures = true;
- }
- iVar11 = 0xd;
- pcVar12 = pcVar9;
- pcVar13 = "seeinvisible";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].SeeInvisible = true;
- }
- iVar11 = 0xb;
- pcVar12 = pcVar9;
- pcVar13 = "unpushable";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].Unpushable = true;
- }
- iVar11 = 0x11;
- pcVar12 = pcVar9;
- pcVar13 = "distancefighting";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].DistanceFighting = true;
- }
- iVar11 = 9;
- pcVar12 = pcVar9;
- pcVar13 = "nosummon";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoSummon = true;
- }
- iVar11 = 0xb;
- pcVar12 = pcVar9;
- pcVar13 = "noconvince";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoConvince = true;
- }
- iVar11 = 0xb;
- pcVar12 = pcVar9;
- pcVar13 = "noillusion";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoIllusion = true;
- }
- iVar11 = 10;
- pcVar12 = pcVar9;
- pcVar13 = "noburning";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoBurning = true;
- }
- iVar11 = 9;
- pcVar12 = pcVar9;
- pcVar13 = "nopoison";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoPoison = true;
- }
- iVar11 = 9;
- pcVar12 = pcVar9;
- pcVar13 = "noenergy";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoEnergy = true;
- }
- iVar11 = 6;
- pcVar12 = pcVar9;
- pcVar13 = "nohit";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoHit = true;
- }
- iVar11 = 0xc;
- pcVar12 = pcVar9;
- pcVar13 = "nolifedrain";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar12 == *pcVar13;
- pcVar12 = pcVar12 + 1;
- pcVar13 = pcVar13 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoLifeDrain = true;
- }
- iVar11 = 0xb;
- pcVar12 = "noparalyze";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- RaceData[iVar10].NoParalyze = true;
- }
- cVar2 = TReadScriptFile::readSpecial((TReadScriptFile *)(Ident + 0x1c));
- uVar14 = cVar2 == '}';
- } while (!(bool)uVar14);
- }
- iVar11 = 7;
- pcVar9 = local_401c;
- pcVar12 = "skills";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'{');
- do {
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- pcVar3 = TReadScriptFile::readIdentifier((TReadScriptFile *)(Ident + 0x1c));
- iVar11 = GetSkillByName(pcVar3);
- if (iVar11 == -1) {
- TReadScriptFile::error
- ((TReadScriptFile *)(Ident + 0x1c),"unknown skill name");
- }
- iVar7 = RaceData[iVar10].Skills + 1;
- RaceData[iVar10].Skills = iVar7;
- pTVar8 = vector<TSkillData>::operator()(&RaceData[iVar10].Skill,iVar7);
- pTVar8->Nr = iVar11;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- pTVar1 = (TReadScriptFile *)(Ident + 0x1c);
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar8->Actual = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar8->Minimum = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar8->Maximum = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar8->NextLevel = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar8->FactorPercent = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar8->AddLevel = iVar11;
- pcVar3 = (char *)0x29;
- TReadScriptFile::readSymbol(pTVar1,')');
- cVar2 = TReadScriptFile::readSpecial(pTVar1);
- uVar14 = cVar2 == '}';
- } while (!(bool)uVar14);
- }
- iVar11 = 5;
- pcVar9 = local_401c;
- pcVar12 = "talk";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'{');
- do {
- RaceData[iVar10].Talks = RaceData[iVar10].Talks + 1;
- pcVar3 = TReadScriptFile::readString((TReadScriptFile *)(Ident + 0x1c));
- uVar5 = AddDynamicString(pcVar3);
- pcVar3 = (char *)RaceData[iVar10].Talks;
- puVar6 = vector<>::operator()(&RaceData[iVar10].Talk,(int)pcVar3);
- *puVar6 = uVar5;
- cVar2 = TReadScriptFile::readSpecial((TReadScriptFile *)(Ident + 0x1c));
- uVar14 = cVar2 == '}';
- } while (!(bool)uVar14);
- }
- iVar11 = 10;
- pcVar9 = local_401c;
- pcVar12 = "inventory";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'{');
- do {
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = RaceData[iVar10].Items + 1;
- RaceData[iVar10].Items = iVar11;
- this = vector<TItemData>::operator()(&RaceData[iVar10].Item,iVar11);
- pTVar1 = (TReadScriptFile *)(Ident + 0x1c);
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- ObjectType::setTypeID(local_402c,iVar11);
- ObjectType::setTypeID(&this->Type,local_402c[0].TypeID);
- ObjectType::setTypeID((ObjectType *)&HelpOutfit.field_1,(this->Type).TypeID);
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- this->Maximum = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- this->Probability = iVar11;
- pcVar3 = (char *)0x29;
- TReadScriptFile::readSymbol(pTVar1,')');
- cVar2 = TReadScriptFile::readSpecial(pTVar1);
- uVar14 = cVar2 == '}';
- } while (!(bool)uVar14);
- }
- iVar11 = 7;
- pcVar9 = local_401c;
- pcVar12 = "spells";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- } while (!(bool)uVar14);
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'{');
- do {
- iVar11 = RaceData[iVar10].Spells + 1;
- uVar14 = iVar11 == 0;
- RaceData[iVar10].Spells = iVar11;
- pTVar4 = vector<TSpellData>::operator()(&RaceData[iVar10].Spell,iVar11);
- pcVar3 = TReadScriptFile::readIdentifier((TReadScriptFile *)(Ident + 0x1c));
- iVar11 = 6;
- pcVar9 = pcVar3;
- pcVar12 = "actor";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Shape = SHAPE_ACTOR;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ShapeParam1 = iVar11;
-LAB_080a2c00:
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),')');
- }
- else {
- iVar11 = 7;
- pcVar9 = pcVar3;
- pcVar12 = "victim";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Shape = SHAPE_VICTIM;
-LAB_080a2b8a:
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ShapeParam1 = iVar11;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- pTVar1 = (TReadScriptFile *)(Ident + 0x1c);
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ShapeParam2 = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ShapeParam3 = iVar11;
- goto LAB_080a2c00;
- }
- iVar11 = 7;
- pcVar9 = pcVar3;
- pcVar12 = "origin";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Shape = SHAPE_ORIGIN;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ShapeParam1 = iVar11;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ShapeParam2 = iVar11;
- goto LAB_080a2c00;
- }
- iVar11 = 0xc;
- pcVar9 = pcVar3;
- pcVar12 = "destination";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Shape = SHAPE_DESTINATION;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ShapeParam1 = iVar11;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- pTVar1 = (TReadScriptFile *)(Ident + 0x1c);
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ShapeParam2 = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ShapeParam3 = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ShapeParam4 = iVar11;
- goto LAB_080a2c00;
- }
- iVar11 = 6;
- pcVar9 = "angle";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar3 == *pcVar9;
- pcVar3 = pcVar3 + 1;
- pcVar9 = pcVar9 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Shape = SHAPE_ANGLE;
- goto LAB_080a2b8a;
- }
- TReadScriptFile::error((TReadScriptFile *)(Ident + 0x1c),"unknown spell shape");
- }
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'I');
- pcVar3 = TReadScriptFile::readIdentifier((TReadScriptFile *)(Ident + 0x1c));
- iVar11 = 7;
- pcVar9 = pcVar3;
- pcVar12 = "damage";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Impact = IMPACT_DAMAGE;
- goto LAB_080a2f08;
- }
- iVar11 = 6;
- pcVar9 = pcVar3;
- pcVar12 = "field";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Impact = IMPACT_FIELD;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ImpactParam1 = iVar11;
-LAB_080a2d71:
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),')');
- }
- else {
- iVar11 = 8;
- pcVar9 = pcVar3;
- pcVar12 = "healing";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Impact = IMPACT_HEALING;
-LAB_080a2d18:
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ImpactParam1 = iVar11;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ImpactParam2 = iVar11;
- goto LAB_080a2d71;
- }
- iVar11 = 6;
- pcVar9 = pcVar3;
- pcVar12 = "speed";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Impact = IMPACT_SPEED;
-LAB_080a2f08:
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ImpactParam1 = iVar11;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- pTVar1 = (TReadScriptFile *)(Ident + 0x1c);
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ImpactParam2 = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ImpactParam3 = iVar11;
- goto LAB_080a2d71;
- }
- iVar11 = 8;
- pcVar9 = pcVar3;
- pcVar12 = "drunken";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Impact = IMPACT_DRUNKEN;
- goto LAB_080a2f08;
- }
- iVar11 = 9;
- pcVar9 = pcVar3;
- pcVar12 = "strength";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Impact = IMPACT_STRENGTH;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ImpactParam1 = iVar11;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- pTVar1 = (TReadScriptFile *)(Ident + 0x1c);
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ImpactParam2 = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
- iVar11 = TReadScriptFile::readNumber(pTVar1);
- pTVar4->ImpactParam3 = iVar11;
- TReadScriptFile::readSymbol(pTVar1,',');
-LAB_080a2e6c:
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ImpactParam4 = iVar11;
- goto LAB_080a2d71;
- }
- iVar11 = 7;
- pcVar9 = pcVar3;
- pcVar12 = "outfit";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar9 == *pcVar12;
- pcVar9 = pcVar9 + 1;
- pcVar12 = pcVar12 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Impact = IMPACT_OUTFIT;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),'(');
- TOutfit::load((TOutfit *)&Shape,(TReadScriptFile *)(Ident + 0x1c));
- pTVar4->ImpactParam1 = (int)Shape;
- pTVar4->ImpactParam2 = (uint)(ushort)HelpOutfit.OutfitID;
- pTVar4->ImpactParam3 = (uint)HelpOutfit.OutfitID._2_2_;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),',');
- goto LAB_080a2e6c;
- }
- iVar11 = 7;
- pcVar9 = "summon";
- do {
- if (iVar11 == 0) break;
- iVar11 = iVar11 + -1;
- uVar14 = *pcVar3 == *pcVar9;
- pcVar3 = pcVar3 + 1;
- pcVar9 = pcVar9 + 1;
- } while ((bool)uVar14);
- if ((bool)uVar14) {
- pTVar4->Impact = IMPACT_SUMMON;
- goto LAB_080a2d18;
- }
- TReadScriptFile::error((TReadScriptFile *)(Ident + 0x1c),"unknown spell impact");
- }
- pcVar3 = (char *)0x3a;
- TReadScriptFile::readSymbol((TReadScriptFile *)(Ident + 0x1c),':');
- iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)(Ident + 0x1c));
- pTVar4->Delay = iVar11;
- if (iVar11 == 0) {
- pcVar3 = "zero spell delay";
- TReadScriptFile::error((TReadScriptFile *)(Ident + 0x1c),"zero spell delay");
- }
- cVar2 = TReadScriptFile::readSpecial((TReadScriptFile *)(Ident + 0x1c));
- } while (cVar2 != '}');
- } while( true );
-}
-
-
-
-// WARNING: Unknown calling convention -- yet parameter storage is locked
-
-void LoadRaces(void)
-
-{
- char *__s;
- dirent *DirEntry;
- DIR *__dirp;
- dirent *pdVar1;
- size_t sVar2;
- undefined4 *puVar3;
- int iVar4;
- char *s;
- char *pcVar5;
- char *pcVar6;
- bool bVar7;
- DIR *WorkDir;
- char FileName [4096];
-
- __dirp = opendir(MONSTERPATH);
- if (__dirp == (DIR *)0x0) {
- error("LoadRaces: Unterverzeichnis %s nicht gefunden\n",MONSTERPATH);
- puVar3 = (undefined4 *)__cxa_allocate_exception(4);
- *puVar3 = "Cannot load races";
- // WARNING: Subroutine does not return
- __cxa_throw(puVar3,char_const*::typeinfo,0);
- }
- do {
- do {
- pdVar1 = readdir(__dirp);
- if (pdVar1 == (dirent *)0x0) {
- closedir(__dirp);
- return;
- }
- __s = pdVar1->d_name;
- sVar2 = strlen(__s);
- bVar7 = sVar2 == 4;
- } while (sVar2 < 5);
- iVar4 = 4;
- pcVar5 = __s + (sVar2 - 4);
- pcVar6 = ".mon";
- do {
- if (iVar4 == 0) break;
- iVar4 = iVar4 + -1;
- bVar7 = *pcVar5 == *pcVar6;
- pcVar5 = pcVar5 + 1;
- pcVar6 = pcVar6 + 1;
- } while (bVar7);
- if (bVar7) {
- sprintf((char *)&WorkDir,"%s/%s",MONSTERPATH,__s);
- // try { // try from 080a3b22 to 080a3b7f has its CatchHandler @ 080a3b80
- LoadRace((char *)&WorkDir);
- }
- } while( true );
-}
-
-
-
// DWARF original prototype: void TAttackWave(TAttackWave * this)
void __thiscall TAttackWave::TAttackWave(TAttackWave *this)
@@ -46873,415 +45654,6 @@ void __static_initialization_and_destruction_0(int __initialize_p,int __priority }
-
-int GetSkillByName(char *Name)
-
-{
- int iVar1;
- byte *pbVar2;
- byte *pbVar3;
- bool bVar4;
- bool bVar5;
- bool bVar6;
-
- iVar1 = 6;
- bVar4 = &stack0xfffffffc < (undefined1 *)0xc;
- bVar6 = &stack0x00000000 == (undefined1 *)0x10;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)0x80f09da;
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar4 = *pbVar2 < *pbVar3;
- bVar6 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar6);
- iVar1 = 0;
- bVar5 = (!bVar4 && !bVar6) < bVar4;
- bVar4 = (!bVar4 && !bVar6) == bVar4;
- if (!bVar4) {
- iVar1 = 0xb;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"magiclevel";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 1;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 10;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"hitpoints";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 2;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 5;
- pbVar2 = (byte *)Name;
- pbVar3 = &DAT_081075e9;
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 3;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 0xb;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"gostrength";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 4;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 0xe;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"carrystrength";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 5;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 10;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"shielding";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 6;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 0x11;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"distancefighting";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 7;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 0xe;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"swordfighting";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 8;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 0xd;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"clubfighting";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 9;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 0xc;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"axefighting";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 10;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 0xd;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"fistfighting";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0xb;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 0xd;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"magicdefense";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0xc;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 8;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"fishing";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0xd;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 7;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"eating";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0xe;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 8;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"shining";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0xf;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 9;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)0x81028c5;
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0x10;
- bVar5 = (!bVar6 && !bVar4) <
- bVar6;
- bVar4 = (!bVar6 && !bVar4) ==
- bVar6;
- if (!bVar4) {
- iVar1 = 7;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)0x81028da;
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *
- pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0x11;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 8;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)0x81028d0;
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0x12;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 7;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)0x81028e3;
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0x13;
- bVar6 = (!bVar5 && !bVar4) < bVar5;
- bVar4 = (!bVar5 && !bVar4) == bVar5;
- if (!bVar4) {
- iVar1 = 8;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"drunken";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0x14;
- bVar5 = (!bVar6 && !bVar4) < bVar6;
- bVar4 = (!bVar6 && !bVar4) == bVar6;
- if (!bVar4) {
- iVar1 = 0xb;
- pbVar2 = (byte *)Name;
- pbVar3 = (byte *)"manashield";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar5 = *pbVar2 < *pbVar3;
- bVar4 = *pbVar2 == *pbVar3;
- pbVar2 = pbVar2 + 1;
- pbVar3 = pbVar3 + 1;
- } while (bVar4);
- iVar1 = 0x15;
- bVar6 = (!bVar5 && !bVar4) < bVar5
- ;
- bVar4 = (!bVar5 && !bVar4) ==
- bVar5;
- if (!bVar4) {
- iVar1 = 0xb;
- pbVar2 = (byte *)"soulpoints";
- do {
- if (iVar1 == 0) break;
- iVar1 = iVar1 + -1;
- bVar6 = (byte)*Name <
- *pbVar2;
- bVar4 = *Name == *pbVar2;
- Name = (char *)((byte *)
- Name + 1);
- pbVar2 = pbVar2 + 1;
- } while (bVar4);
- iVar1 = 0x16;
- if ((!bVar6 && !bVar4) != bVar6) {
- iVar1 = -1;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return iVar1;
-}
-
-// WARNING: Unknown calling convention -- yet parameter storage is locked
-
-void InitCrskill(void)
-
-{
- return;
-}
-
-
-
-// WARNING: Unknown calling convention -- yet parameter storage is locked
-
-void ExitCrskill(void)
-
-{
- return;
-}
-
-
-
// WARNING: Unknown calling convention -- yet parameter storage is locked
void _GLOBAL__I__Z14GetSkillByNamePc(void)
|
