gWorldSectorX 6BFC80 gWorldSectorY 6BFC82 gWorldSectorZ 6891A4 gubEnemyEncounterCode 6BFE4B ENEMY_AMBUSH_CODE = 3 BLOODCAT_AMBUSH_CODE = 6 gTacticalStatus.uiFlags 7C6BC0 00040000 - INCOMBAT gMapInformation.sCenterGridNo 955410 giCurrentTilesetID 69F558 ubDifficultyLevel 87C912 pTownNames 662838 647C6C SectorInfo 975240 97C640 StrategicMap 96B1D0 gubQuest 973C60 gubFact 973CA0 Item 63A510 Weapon 63C818 MercPtrs 765100 Menptr 768680 Profiles 7C6D20 gGameSettings.fOptions[ TOPTION_SPEECH ] 768524 23DB28 - ассортимент Рауля 23DD40 - ассортимент Бетти 233220 - новые названия городов, координаты их размещения на страт.карте и т.д. Random() 1EDC80 PreRandom() 1EDCE0 strategicmap.c SetCurrentWorldSector() 19AF00 MapExists() 19B1D0 RemoveMercsInSector() 19B220 PrepareLoadedSector() 19B280 HandleQuestCodeOnSectorEntry() 19B460 HandleQuestCodeOnSectorExit() 19B5F0 InitializeSAMSites() 19AD80 GetMapFileName() 19ADE0 UpdateAirspaceControl() 19DA30 InitializeStrategicMapSectorTownNames() 19C040 IsThisSectorASAMSector() 19DBD0 IsSectorDesert() 19E8D0 HandleDefiniteUnloadingOfWorld() 19E900 HandlePlayerTeamQuotesWhenEnteringSector() 19F110 HandleEmailBeingSentWhenEnteringSector() 19F440 HandleSectorSpecificModificatioToMap() 19F720 Game Clock.c GetWorldTotalMin() 193040 GetWorldTotalSeconds() 193060 NightTime() 1943A0 PreBattle Interface.c CalculateNonPersistantPBIInfo() 1A2360 LogBattleResults() 1A28E0 Knowledge.c CallAvailableEnemiesTo() 112770 Soldier Init List.c AddPlacementToWorld() E5AC0 AddSoldierInitListTeamToWorld() E5E80 AddSoldierInitListBloodcats() E7440 AddProfilesUsingProfileInsertionData() E7650 Queen Command.c NumEnemiesInAnySector() 1A5D70 PrepareEnemyForSectorBattle() 1A61B0 ProcessQueenCmdImplicationsOfDeath() 1A6850 FindUnderGroundSector() 1A73D0 HandleBloodCatDeaths() 1A75F0 Map Screen Interface Map.c DrawMap() 1AE030 ShowTownText() 1AE3C0 BlitTownGridMarkers() 1B2570 BlitMineGridMarkers() 1B2790 GetNumberOfMilitiaInSector() 1B3E30 ClearAnySectorsFlashingNumberOfEnemies() 1B3E80 Strategic Town Loyalty.c HandleMurderOfCivilian() 1C33F0 BuildListOfTownSectors() 1C36F0 Items.c WeaponInHand() D2F60 FindObj() D3010 GLGrenadeInSlot() D32F0 FindGLGrenade() D3320 FindThrowableGrenade() D3360 FindAttachment(object, attachment) D33C0 ItemHasAttachments() D3490 ValidAmmoType() D3830 CalculateObjectWeight() D3A80 DeleteObj() D3B70 OppList.c DistanceVisible() B5A30 AllTeamsLookForAll() B6060 ManLooksForMan() B6370 DebugSoldierPage1() B7CB0 DebugSoldierPage2() B8510 DebugSoldierPage3() B9180 HearNoise() BB740 MercSeesCreature() BC8C0 LOS.c CalculateSoldierZPos() DE6B8 SoldierTo3DLocationLineOfSightTest() DF05D BulletHitMerc() DF56A Interface Items.c INVRenderItem() AC250 RenderInvBodyPanel() AB2E0 RenderItemDescriptionBox() ADC60 BtnMoneyButtonCallback() B43C0 RemoveMoney() B46D0 GetHelpTextForItem() B48D0 Points.c AdjustBreathPts() F4DC0 CalcAPsToBurst() F50A0 CalcTotalAPsToAttack() F5130 MinAPsToAttack() F5380 MinAPsToShootOrStab() F5630 GetAPsToReadyWeapon() F6190 OverHead.c ExecuteOverhead() 68840 HandleAtNewGridNo() 6A6F0 6AAC9 - проверить достижение определенной точки в секторе HandleNPCTeamMemberDeath() 6B470 LastActiveTeamMember() 6B800 MakeCivHostile() 6B910 CivilianGroupMemberChangesSides() 6BC30 CivilianGroupChangesSides() 6BD40 EndTacticalDemo() 6C7B0 CommonEnterCombatModeCode() 6DA20 CheckForEndOfBattle() 6E380 HandleDisplayingOfPlayerLostDialogue() 70AD0 AIUtils.c ClosestPC() 1173B0 Quests.c SetFactTrue() 1B4910 CheckNPCWithin() 1B4A80 InTownSectorWithTrainingLoyalty() 1B5340 CheckFact() 1B5350 StartQuest() 1B64A0 EndQuest() 1B6510 NPC.c TriggerNPCRecord() 10F470 HandleVictoryInNPCSector() 1103B0 Interface Dialogue.c DeleteTalkingMenu() 8DB90 CheckForValidQuotesWhenLeavingDealer() 93820 Soldier Profile.c ChangeSoldierTeam() A3F90 RecruitRPC() A4280 RecruitEPC() A4420 FindSoldierByProfileID() A3F50 MercIsHot() A4880 IsProfileIdAnAimOrMERCMerc() A4D10 files.c AddFileAboutTerrorist() 1620D0 Gamescreen.c LeaveTacticalScreen() 4ED0 Strategic Movement Costs.c InitStrategicMovementCosts() 1AD350 AddCustomMap() 1AD440 MakeBadSectorListFromMapsOnHardDrive() 1ADC90 UpdateCustomMapMovementCosts() 1ADCD0 mapscreen.c MapScreenHandle() 189340 HandleWhenPlayerHasNoMercsAndNoLaptop() 192F70 MapCharacterHasAccessibleInventory() 191810 ChangeSelectedMapSector() 1918F0 VObject.c BltVideoObjectOutlineShadowFromIndex() 1E7C50 Soldier Control.c CalcActionPoints() 52350 SetSoldierGridNo() 54250 EVENT_FireSoldierWeapon() 548C0 SelectFireAnimation() 54AC0 GetMoveStateBasedOnStance() 54CC0 SelectFallAnimation() 54D00 SoldierReadyWeapon() 54D40 PickSoldierReadyAnimation() 54E00 EVENT_SoldierGotHit() 54F70 SoldierGotHitGunFire() 55A10 SoldierDressWound() 5AE90 EVENT_StopMerc() 5B440 EVENT_SetSoldierDirection() 56910 SetSoldierLocatorOffsets() 5BE70 GetActualSoldierAnimDims() 5BD50 atan8() 59B80 Interface Panels.c GoToMapScreenFromTactical() 810B0 Ja25_Tactical.c HandleWhenCertainPercentageOfEnemiesDie() 95FE0 RevealAllDroppedEnemyItems() 96610 HandlePickingUpMorrisInstructionNote() 96A30 HandleDeathInPowerGenSector() 96B40 HandleJa25EnemyExpLevelModifier() 96C60 Это робот? mov al,byte ptr [esi+00000721] cmp al,C8 jz 0011744C уходим - нет профиля! and eax,000000FF lea ecx,dword ptr [eax+eax*4] lea ecx,dword ptr [ecx+ecx*8] shl ecx,02 sub ecx,eax test byte ptr [007C6E09+ecx*4],40 profile.ubMiscFlags jnz 00117494 уходим - да, это робот! byte ptr[7C6FC3+ecx*4] - profile.npcData 7C6FC4 - iBalance 7C6FC8 - sTrueSalary 7C6FCA - ubCivilianGroup 7C6FCB - ubNeedForSleep 7C6FD0 - uiMoney 7C6FD4 - bNPCdata2 Isometric Utils.c CenterX() 37D70 CenterY() 37DA0 Soldier Ani.c HandleSoldierDeath() F2F70 Handle Items.c HandleItem() A4DF0 HandleSoldierDropBomb() A6120 AddItemToPool() A6E20 StartBombMessageBox() A8A40 BombMessageBoxCallBack() A8B60 BoobyTrapMessageBoxCallBack() A9110 CanPlayerUseRocketRifle() AA020 Arms Dealer Init.c DailyCheckOnItemQuantities() BD550 AdjustCertainDealersInventory() BD730 GuaranteeAtLeastXItemsOfIndex() BDB40 ItemIsARocketRifle() BF7A0 AddTexsVideosToBettysInventory() BFA40 ArmsDealerInvInit.c GetDealersMaxItemAmount() F64F0 Inventory Choosing.c GenerateRandomEquipment() FC030 ChooseWeaponForSoldierCreateStruct() FC870 ChooseSpecialWeaponsForSoldierCreateStruct() FD3C0 ChooseFaceGearForSoldierCreateStruct() FD560 ChooseKitsForSoldierCreateStruct() FD760 ChooseBombsForSoldierCreateStruct() FD8A0 RandomlyChooseWhichItemsAreDroppable() FDAB0 EquipTank() FE330 Soldier Create.c CopyProfileItems() C77C0 OkayToUpgradeEliteToSpecialProfiledEnemy() C7A70 GetLocationModifier() C7B10 Soldier Find.c SimpleFindSoldier( sTargetGridNo, pSoldier->bTargetLevel ) D00E0 Weapons.c CheckForGunJam() D7F50 FireWeapon() D80F0 GetTargetWorldPositions() D82B0 UseGun() D8520 UseBlade() D8E90 UseHandToHand() D9260 UseThrown() D9810 UseLauncher() D99A0 DoSpecialEffectAmmoMiss() D9C00 WeaponHit() D9D40 StructureHit() D9EA0 WindowHit() DA5A0 InRange() DA750 CalcChanceToHitGun() DA7F0 BulletImpact() DB6F0 HTHImpact() DBF40 ShotMiss() DC190 CalcChanceHTH() DC300 CalcChanceToStab() DC9C0 CalcChanceToPunch() DC9E0 CalcChanceToSteal() DCA00 ReloadWeapon() DCA20 IsGunBurstCapable() DCA60 CalcMaxTossRange() DCAD0 CalcThrownChanceToHit() DCC90 ChangeWeaponMode() DD010 WillExplosiveWeaponFail() DD100 MaxDistanceForMessyDeathAdjustedForWeapon() DD160 SkillCheck.c EffectiveMechanical() E49F0 EffectiveExplosive() E4A10 EffectiveExpLevel() E4A90 EffectiveMarksmanship() E4B30 SkillCheck() E4C30 CalcTrapDetectLevel() E5330 FindLocations.c SearchForItems() 114FF0 9528E, B5C78, B5F43, B5FD6, 1DB1D4 - NIGHTOPS BAD1F - STEALTHY C5DA6 - NIGHTOPS - присвоить скилл врагам D6A05, 1DC7C4 - CAMOUFLAGED DA875, DCD79 - HEAVY_WEAPS DAA72 - AMBIDEXT DAAB6 - AUTO_WEAPS DAF0F - ONROOF DBB41, DCBF7, DCCEC - THROWING DC017, DC0D6, DC562, DC8ED, 121D88, 121E11 - MARTIALARTS DC50B, DC76D, DC7F4, DC8A1 - KNIFING E4CCB - LOCKPICKING E4D9B, E4E0B, E4F57, E5066, 1D29B0, 1D2CD3 - ELECTRONICS Assignments.c CanCharacterDoctorButDoesntHaveMedKit() 1D0A50 BasicCanCharacterRepair() 1D0DF0 CanCharacterRepair() 1D0EC0 CanCharacterPatient() 1D0F10 DoesTownHaveRatingToTrainMilitia() 1D1110 - переделали в NUM_SKILL_TRAIT( pSoldier, bSkill ) CanCharacterTrainStat() 1D1240 HealCharacters() 1D2110 GetMinHealingSkillNeeded() 1D2470 CheckForAndHandleHospitalPatients() 1D26C0 DoActualRepair() 1D2970 - ремонт IsItemRepairable() 1D2E90 HandleRestAndFatigueInSector() 1D2EC0 HandleTrainingInSector() 1D3070 GetBonusTrainingPtsDueToInstructor() 1D3440 - TEACHING 1D36CE, 1D3DA4 GetSoldierTrainingPts() 1D37D0 GetSoldierStudentPts() 1D3970 CalcSoldierNeedForSleep() 1DB190 TeamTurns.c CalcInterruptDuelPts() 950C0 Render Fun.c InARoom() 4CF90 mov eax,[esp+1c] and eax,0000ffff lea edx,[eax+eax*2] lea eax,[eax+edx*4] mov al,[63c819+eax*2] cmp al, 03 - SMG, 06 - AS_RIFLE and esi,000000FF mov eax,esi pop esi lea ecx,dword ptr [eax+eax*4] lea edx,dword ptr [ecx+ecx*8] shl edx,02 sub edx,eax mov al,byte ptr [007C6E10+edx*4] gMercProfiles[ubProfileID].bScientific mov al,byte ptr [007C6E70+edx*4] gMercProfiles[ubProfileID].bPersonalityTrait lighting.c LightTrueLevel() 32170 Campaign.c StatChange() 9AC90 CurrentPlayerProgressPercentage() 9BD70 HighestPlayerProgressPercentage() 9BE20 CalcImportantSectorControl() 9C000 IMP Confirm.c GiveItemsToPC() 1562A0 IMP Compile Character.c CreateACharacterFromPlayerEnteredStats() 17F860 SetMercSkinAndHairColors() 17FD90 Explosion Control.c ExplosiveDamageGridNo() 3FF50 DamageSoldierFromBlast() 40320 DishOutGasDamage() 40470 ExpAffect() 407A0 GetRayStopInfo() 40D20 SpreadEffect() 410A0 DelayedBillyTriggerToBlockOnExit() 415A0 Drugs And Alcohol.c ApplyDrugs() EE530 GetDrugEffect() EEA70 HandleAPEffectDueToDrugs() EEAC0 Morale.c GetMoraleModifier() EA300 RefreshSoldierMorale() EA700 Scheduling.c AutoProcessSchedule() 1B84B0 PostSchedule() 1B8840 PrepareScheduleForAutoProcessing() 1B89E0 PerformActionOnDoorAdjacentToGridNo() 1B8CD0 Structure Wrap.c FindDoorAtGridNoOrAdjacent() D7A40 structure.c AddStructureToWorld() 46000 FindStructure() 464A0 Soldier Ani.c AdjustToNextAnimationFrame() EEEE0 WorldMan.c AddMercStructureInfo() 3C3A0 UpdateMercStructureInfo() 3C580 Game Events.c AddStrategicEvent() 1BED70 AddStrategicEventUsingSeconds() 1BEDA0 Cursors.c DrawMouseText() 102840 UI Cursors.c HandleActivatedTargetCursor() F9920 HandleNonActivatedTargetCursor() F9ED0 DetermineCursorBodyLocation() FA0D0 Interface.c GetSoldierHealthString() 751D0 Ja25 Strategic Ai.c ShouldEnemiesBeAddedToInitialSector() 1A2DF0 AddEnemiesToInitialSectorH7() 1A2E30 SetJa25SectorOwnedStatus() 1A4C80 Radar Screen.c LoadRadarScreenBitmap() 23A80 Dialogue Control.c GetDialogue() 88D50 RenderFaceOverlay() 89600 Font.c SetFont() 1E0E40 SetFontBackground() 1E07D0 SetFontForeground() 1E06E0 vobject_blitters.c Blt16BPPTo16BPP() 1F40E0 Vehicles.c SetVehicleValuesIntoSoldierType() A12A0 AddSoldierToVehicle() A1700 SetSoldierExitVehicleInsertionData() A19D0 RemoveSoldierFromVehicle() A1A30 MoveCharactersPathToVehicle() A1C60 VehicleIdIsValid() A1EC0 GetTravelTimeOfVehicle() A1EF0 GetNumberInVehicle() A21D0 SetDriver() A2380 IsEnoughSpaceInVehicle() A23A0 EnterVehicle() A24C0 AddPassangersToTeamPanel() A26F0 OKUseVehicle() A30E0 Tactical Save.c ChangeNpcToDifferentSector() 5FAC0 Strategic Movement.c CreateNewEnemyGroupDepartingFromSector() 1BA850 RemovePGroup() 1BC6D0 SetEnemyGroupSector() 1BC880 CalculateTravelTimeOfGroupId() 1BC920 Animation Control.c InitAnimationSurfacesPerBodytype() CAEB0 Rotting Corpses.c GetCorpseStructIndex() C92E0 TurnSoldierIntoCorpse() C9A40 DecapitateCorpse() CAA70 World Items.c DeleteWorldItemsBelongingToTerroristsWhoAreNotThere() CF940 Strategic Pathing.c MoveGroupFromSectorToSector() 1C2270 Player Command.c SetThisSectorAsEnemyControlled() 1DCC10 Town Militia.c CountAllMilitiaInSector() 1DE090 SectorOursAndPeaceful() 1DE0A0 Map Screen Inferface.c HandleEquipmentLeftInDrassen() 195430 Game Event Hook.c ExecuteStrategicEvent() 1DE170 IMP Attribute Selection.c ProcessAttributes() 182280 IncrementStat() 182350 DecrementStat() 1825C0 worlddef.c EvaluateWorldEx() 2ECF0 1AD77E SaveLoadScreen.c DoneFadeOutForSaveLoadScreen() 177A0 soundman.c SoundLoadSample() 1FE9A0 SoundLoadDisk() 1FEAD0 SoundProcessWAVHeader() 1FECB0 Merc Hiring.c IsMercDead() 992F0 InitializeHeliGridnoAndTime() 997F0 UpdateJerryMiloInInitialSector() 998C0 Soldier Add.c AddSoldierToSectorGridNo() D28A0 Ja25Update.c ImportOldProfilesAndProcessThem() AAF0 Game Init.c InitNPCs() 19A230 InitStrategicLayer() 19A250 Hourly Update.c HandleHourlyUpdate() 1DE760 HourlyQuestUpdate() 1DE830 Strategic Merc Handler.c HourlyCamouflageUpdate() 1DC780