#ifndef __MAPS__
#define __MAPS__

//************************************************************************/
//* Locations                                                            */
//************************************************************************/


#define LOCATION_IS_CITY  #(locPid)                 (((locPid)>=LOCATION_Den && (locPid)<=LOCATION_Vault13 && (locPid)!=LOCATION_Cathedral && (locPid)!=LOCATION_MilitaryBase && (locPid)!=LOCATION_Sierra ) ||(locPid)==LOCATION_ReplicationHell)
#define LOCATION_IS_OCEAN #(locPid)                 ((locPid)>=LOCATION_Den && (locPid)<=LOCATION_OceanTrader)

#define LOCATION_Den                                (1)
#define LOCATION_Klamath                            (2)
#define LOCATION_Modoc                              (3)
#define LOCATION_VaultCity                          (4)
#define LOCATION_Gecko                              (5)
#define LOCATION_BrokenHills                        (6)
#define LOCATION_NewReno                            (7)
#define LOCATION_Sierra                             (8)
#define LOCATION_Vault15                            (9)
#define LOCATION_NCR                                (10)
#define LOCATION_Cathedral                          (11)
#define LOCATION_MilitaryBase                       (12)
#define LOCATION_Redding                            (13)
#define LOCATION_SanFrancisco                       (14)
#define LOCATION_Navarro                            (15)
#define LOCATION_Arroyo                             (16)
#define LOCATION_PrimalTribe                        (17)
#define LOCATION_Rangers                            (18)
#define LOCATION_Vault13                            (19)
#define LOCATION_Replication1                       (40)
#define LOCATION_Replication2                       (41)
#define LOCATION_Replication3                       (42)
#define LOCATION_Replication4                       (43)
#define LOCATION_ReplicationHell                    (44)
#define LOCATION_GeckCity                           (45)

#define LOCATION_SpecialFirstSpecial                (50) // Todo
#define LOCATION_SpecialToxicEncounter              (51)
#define LOCATION_SpecialShuttleEncounter            (52)
#define LOCATION_SpecialBunkerBoS                   (53) // Todo
#define LOCATION_SpecialTruckNukaCola               (54) // Todo
#define LOCATION_SpecialGuardianEncounter           (55)
#define LOCATION_SpecialUfo                         (56) // Todo
#define LOCATION_SpecialCafeEncounter               (57)
#define LOCATION_SpecialPariahsEncounter            (58)
#define LOCATION_SpecialMadBrahminEncounter         (59)
#define LOCATION_SpecialWhaleEncounter              (60)
#define LOCATION_SpecialHeadEncounter               (61)
#define LOCATION_SpecialHolyEncounter1              (62)
#define LOCATION_SpecialHolyEncounter2              (63)
#define LOCATION_SpecialWoodsmanEncounter           (64)
#define LOCATION_SpecialUnwashedEncounter           (65)
#define LOCATION_SpecialBridgeEncounter             (66)
#define LOCATION_SpecialTeleportEncounter           (67)
#define LOCATION_SpecialWastelandChildren           (68)
#define LOCATION_SpecialKotW                        (69)
#define LOCATION_SpecialSoldierHolo                 (70)
#define LOCATION_SpecialTrapperHolo                 (71)
#define LOCATION_SpecialDollHolo                    (72)
#define LOCATION_SpecialZergEncounter               (73)
#define LOCATION_SpecialDoughnutsWarehouse          (74)

#define LOCATION_DesertEncounter1                   (101)
#define LOCATION_DesertEncounter2                   (102)
#define LOCATION_DesertEncounter3                   (103)
#define LOCATION_DesertEncounter4                   (104)
#define LOCATION_DesertEncounter5                   (105)
#define LOCATION_DesertEncounter6                   (106)
#define LOCATION_DesertEncounter7                   (107)
#define LOCATION_DesertEncounter8                   (108)
#define LOCATION_DesertEncounter9                   (109)
#define LOCATION_DesertEncounter10                  (110)
#define LOCATION_DesertEncounter11                  (111)
#define LOCATION_DesertEncounter12                  (112)

#define LOCATION_MountainEncounter1                 (121)
#define LOCATION_MountainEncounter2                 (122)
#define LOCATION_MountainEncounter3                 (123)
#define LOCATION_MountainEncounter4                 (124)
#define LOCATION_MountainEncounter5                 (125)
#define LOCATION_MountainEncounter6                 (126)
#define LOCATION_MountainEncounter7                 (127)

#define LOCATION_CavernEncounter0                   (140)
#define LOCATION_CavernEncounter1                   (141)
#define LOCATION_CavernEncounter2                   (142)
#define LOCATION_CavernEncounter3                   (143)
#define LOCATION_CavernEncounter4                   (144)
#define LOCATION_CavernEncounter5                   (145)

#define LOCATION_CityEncounter1                     (161)
#define LOCATION_CityEncounter2                     (162)
#define LOCATION_CityEncounter3                     (163)
#define LOCATION_CityEncounter4                     (164)
#define LOCATION_CityEncounter5                     (165)
#define LOCATION_CityEncounter6                     (166)
#define LOCATION_CityEncounter7                     (167)
#define LOCATION_CityEncounter8                     (168)

#define LOCATION_CoastEncounter1                    (181)
#define LOCATION_CoastEncounter2                    (182)
#define LOCATION_CoastEncounter3                    (183)
#define LOCATION_CoastEncounter4                    (184)
#define LOCATION_CoastEncounter5                    (185)
//#define LOCATION_CoastEncounter6                  (186)
#define LOCATION_CoastEncounter7                    (187)
#define LOCATION_CoastEncounter8                    (188)
#define LOCATION_CoastEncounter9                    (189)
#define LOCATION_CoastEncounter10                   (190)
#define LOCATION_CoastEncounter11                   (191)

#define LOCATION_OceanEncounter1                    (193)
#define LOCATION_OceanEncounter2                    (194)
#define LOCATION_OceanEncounter3                    (195)
#define LOCATION_OceanRaft                          (196)
#define LOCATION_OceanTrader                        (197)

//#define LOCATION_BessDead                         (201)
#define LOCATION_Wanamingo_Cavern                   (202)
#define LOCATION_Quest_Dappo_Lost_Caravan           (203)
#define LOCATION_Quest_NCR_SIEGE1                   (205)
#define LOCATION_Quest_NCR_SIEGE2                   (206)
#define LOCATION_Quest_NCR_SIEGE3                   (207)
#define LOCATION_Quest_NCR_SIEGE4                   (208)
#define LOCATION_Quest_NCR_SIEGE5                   (209)
#define LOCATION_arroyo_mynoc_defence1              (210)
#define LOCATION_arroyo_mynoc_defence2              (211)
#define LOCATION_Quest_Sid_And_Nancy                (212)
#define LOCATION_Quest_ModocWaspFarm                (213)
#define LOCATION_Quest_VCity_Recon_Cave             (214)
#define LOCATION_Quest_VCity_Attack_Cave            (215)
#define LOCATION_Quest_ModocVampireFarm             (216)
#define LOCATION_Quest_ModocVampireCave             (217)
#define LOCATION_Quest_HubJudgementFarm             (218)
#define LOCATION_Quest_Hub_Lab                      (219)

#define LOCATION_Warehouse                          (220)
#define LOCATION_Warehouse1                         (221)
#define LOCATION_Warehouse2                         (222)
#define LOCATION_Warehouse3                         (223)
#define LOCATION_Warehouse4                         (224)
#define LOCATION_Warehouse5                         (225)
#define LOCATION_Warehouse6                         (226)
#define LOCATION_Warehouse_First                    (LOCATION_Warehouse)
#define LOCATION_Warehouse_Last                     (LOCATION_Warehouse6)

#define LOCATION_IntroMartin                        (260)
#define LOCATION_IntroInit                          (261)

//************************************************************************/
//* Maps                                                                 */
//************************************************************************/


#define MAP_arroyo_temple_entrance                  (1)
#define MAP_arroyo                                  (2)
#define MAP_arroyo_garden                           (3)
#define MAP_arroyo_bridge                           (4)
#define MAP_arroyo_temple                           (5)
#define MAP_den                                     (6)
#define MAP_den_carstop                             (7)
#define MAP_klamath_canyon                          (8)
#define MAP_klamath                                 (9)
#define MAP_klamath_mall                            (10)
#define MAP_klamath_toilet                          (11)
#define MAP_klatoxcv                                (12)
#define MAP_klamath_trap                            (13)
#define MAP_klamath_graz                            (14)
#define MAP_vcity_courtyard                         (15)
#define MAP_vcity                                   (16)
#define MAP_modoc                                   (18)
#define MAP_vcity_vault_1                           (20)
#define MAP_vcity_vault_2                           (21)
#define MAP_vcity_vault_3                           (22)
#define MAP_barter_ground                           (24)
#define MAP_sad_enter                               (25)
#define MAP_sad_powersub                            (26)
#define MAP_sad_level1                              (27)
#define MAP_sad_level2                              (28)
#define MAP_sad_level3                              (29)
#define MAP_sad_level4                              (30)
#define MAP_gecko_settlement                        (31)
#define MAP_gecko_power_plant                       (32)
#define MAP_gecko_junkyard                          (33)
#define MAP_v15_village                             (34)
#define MAP_v15_door                                (35)
#define MAP_v15_level1                              (36)
#define MAP_v15_level2                              (37)
#define MAP_v15_level3                              (38)
#define MAP_gecko_dungeon                           (39)
#define MAP_ncr_downtown                            (42)
#define MAP_ncr_council                             (43)
#define MAP_ncr_ranch                               (44)
#define MAP_ncr_bazaar                              (45)
#define MAP_newr4_base                              (48)
#define MAP_mariposa_enter                          (49)
#define MAP_mariposa_level1                         (50)
#define MAP_mariposa_level2                         (51)
#define MAP_mariposa_level3                         (52)
#define MAP_mariposa_level4                         (53)
#define MAP_newr1                                   (54)
#define MAP_newr2                                   (55)
#define MAP_newr3                                   (56)
#define MAP_newr4                                   (57)
#define MAP_newr_carstop                            (58)
#define MAP_newr_eld                                (59)
#define MAP_v13_out1                                (60)
#define MAP_v13_0                                   (61)
#define MAP_redding_outer                           (62)
#define MAP_redding_miners                          (63)
#define MAP_vredding_lost                           (64)
#define MAP_redding_mine                            (65)
#define MAP_redding_tun1                            (66)
#define MAP_redding_tun2                            (67)
#define MAP_redding_wan1                            (68)
#define MAP_redding_wan2                            (69)
#define MAP_primal_tribe                            (70)
#define MAP_v13_1                                   (71)
#define MAP_v13_2                                   (72)
#define MAP_v13_3                                   (73)
#define MAP_v13_out2                                (74)
#define MAP_cath_enter                              (75)
#define MAP_cath_main                               (76)
#define MAP_cath_level1                             (77)
#define MAP_cath_level2                             (78)
#define MAP_cath_level3                             (79)
#define MAP_klamath_ratcv1                          (81)
#define MAP_klamath_ratcv2                          (82)
#define MAP_klamath_ratcv3                          (83)
#define MAP_newr_desp                               (84)
#define MAP_newr_desp_base                          (85)
#define MAP_newr_bish1                              (86)
#define MAP_newr_bish2                              (87)
#define MAP_newr_box                                (88)
#define MAP_newr_salv                               (89)
#define MAP_q_hub_judgement                         (90)
#define MAP_q_dappo_lost_c                          (93)
#define MAP_q_modoc_farm                            (94)
#define MAP_q_vc_recon_in                           (95)
#define MAP_q_vc_recon_out                          (96)
#define MAP_q_vc_attack_out                         (97)
#define MAP_q_modoc_vamp_farm                       (98)
#define MAP_q_cave_wan                              (99)
#define MAP_atoll                                   (100)
#define MAP_q_ncr_siege1                            (101)
#define MAP_q_ncr_siege2                            (102)
#define MAP_q_ncr_siege3                            (103)
#define MAP_q_ncr_siege4                            (104)
#define MAP_q_ncr_siege5                            (105)
#define MAP_q_ncr_siege4_cave                       (106)
#define MAP_q_arroyo_mynoc_defence1                 (107)
#define MAP_q_arroyo_mynoc_defence2                 (108)
#define MAP_navarro_gasoline                        (109)
#define MAP_navarro_base                            (110)
#define MAP_navarro_sub1                            (111)
#define MAP_navarro_sub2                            (112)
#define MAP_broken                                  (115)
#define MAP_broken_basement                         (116)
#define MAP_broken_mine                             (117)
#define MAP_broken_dungeon                          (118)
#define MAP_broken_caves1                           (119)
#define MAP_broken_caves2                           (120)
#define MAP_sacr_satter                             (121)
#define MAP_sf_tanker                               (135)
#define MAP_sf_dock                                 (136)
#define MAP_sf_china                                (137)
#define MAP_sf_shuttle                              (138)
#define MAP_sf_shi                                  (139)
#define MAP_sf_hubb                                 (142)
#define MAP_sf_tanker2                              (143)
#define MAP_sf_tanker3                              (144)
#define MAP_sf_emp                                  (145)
#define MAP_sf_bro                                  (146)

#define MAP_se_first                                (150)
#define MAP_se_toxic                                (151)
#define MAP_se_shuttle                              (152)
#define MAP_se_bunker_bs                            (153)
#define MAP_se_truck_ncola                          (154)
#define MAP_se_forvr                                (155)
#define MAP_se_ufo                                  (156)
#define MAP_se_cafe                                 (157)
#define MAP_se_pariah                               (158)
#define MAP_se_mad                                  (159)
#define MAP_se_whale                                (160)
#define MAP_se_head                                 (161)
#define MAP_se_holy1                                (162)
#define MAP_se_holy21                               (163)
#define MAP_se_holy22                               (164)
#define MAP_se_woodsman                             (165)
#define MAP_se_unwashed                             (166)
#define MAP_se_bridge                               (167)
#define MAP_se_forvr_v13                            (168)
#define MAP_se_teleport                             (169)
#define MAP_se_teleport_dung                        (170)
#define MAP_se_children                             (171)
#define MAP_se_kotw_ground                          (172)
#define MAP_se_kotw_level1                          (173)
#define MAP_se_kotw_level2                          (174)
#define MAP_se_kotw_level3                          (175)
#define MAP_se_holo1_ground                         (176)
#define MAP_se_holo1_bunker                         (177)
#define MAP_se_holo2_ground                         (178)
#define MAP_se_holo2_basement                       (179)
#define MAP_se_holo3_ground                         (180)
#define MAP_se_holo3_cave                           (181)
#define MAP_se_zerg_town                            (182)
#define MAP_se_zerg_lab                             (183)
#define MAP_se_zerg_cave                            (184)
#define MAP_se_doughnut                             (185)
#define MAP_se_doughnut_basement                    (186)

#define MAP_e_city1                                 (190)
#define MAP_e_city2                                 (191)
#define MAP_e_city3                                 (192)
#define MAP_e_city4                                 (193)
#define MAP_e_city5                                 (194)
#define MAP_e_city6                                 (195)
#define MAP_e_city7                                 (196)
#define MAP_e_city8                                 (197)
#define MAP_e_city4_sewer                           (198)

#define MAP_raiders_enter                           (201)
#define MAP_raiders_cave1                           (202)
#define MAP_raiders_cave2                           (203)
#define MAP_raiders_cave3                           (204)
#define MAP_raiders_exit                            (205)

#define MAP_repl_bank_den                           (210)
#define MAP_repl_bank_klamath                       (211)
#define MAP_repl_bank_redding                       (212)
#define MAP_repl_bank_modoc                         (213)
#define MAP_repl_bank_newreno                       (214)
#define MAP_repl_bank_gecko                         (215)
#define MAP_repl_bank_broken                        (216)
#define MAP_repl_bank_ncr                           (217)
#define MAP_repl_bank_sf                            (218)
#define MAP_repl_bank_vcity                         (219)
#define MAP_repl_ground                             (220)
#define MAP_replication1                            (221)
#define MAP_replication2                            (222)
#define MAP_replication3                            (223)
#define MAP_replication4                            (224)
#define MAP_replication_hell                        (225)
#define MAP_hell_out                                (226)
#define MAP_hell_level1                             (227)
#define MAP_hell_level2                             (228)
#define MAP_hell_level3                             (229)
#define MAP_hell_corridor                           (230)
#define MAP_hell_bunker                             (231)
#define MAP_hell_mines                              (232)
#define MAP_hell_forest                             (233)
#define MAP_hell_pipboys                            (234)
#define MAP_hell_level4                             (235)
#define MAP_hell_burrow                             (236)

#define MAP_q_warehouse                             (240)
#define MAP_q_warehouse1                            (241)
#define MAP_q_warehouse2                            (242)
#define MAP_q_warehouse3                            (243)
#define MAP_q_warehouse4                            (244)
#define MAP_q_warehouse5                            (245)
#define MAP_q_warehouse6-1                          (246)
#define MAP_q_warehouse6-2                          (247)
#define MAP_q_slim_sidnancy                         (250)
#define MAP_q_modoc_vamp_cave                       (251)

#define MAP_geck01                                  (252)
#define MAP_geck02                                  (253)

#define MAP_intro_martin                            (260)
#define MAP_intro_init                              (261)

#define MAP_e_desert1                               (301)
#define MAP_e_desert2                               (302)
#define MAP_e_desert3                               (303)
#define MAP_e_desert4                               (304)
#define MAP_e_desert5                               (305)
#define MAP_e_desert6                               (306)
#define MAP_e_desert7                               (307)
#define MAP_e_desert8                               (308)
#define MAP_e_desert9                               (309)
#define MAP_e_desert10                              (310)
#define MAP_e_desert11                              (311)
#define MAP_e_desert12                              (312)

#define MAP_e_mountain1                             (331)
#define MAP_e_mountain2                             (332)
#define MAP_e_mountain3                             (333)
#define MAP_e_mountain4                             (334)
#define MAP_e_mountain5                             (335)
#define MAP_e_mountain6                             (336)
#define MAP_e_mountain7                             (337)

#define MAP_e_cave0_out                             (348)
#define MAP_e_cave0_in                              (349)
#define MAP_e_cave1_out                             (350)
#define MAP_e_cave1_in                              (351)
#define MAP_e_cave2_out                             (352)
#define MAP_e_cave2_in                              (353)
#define MAP_e_cave3_out                             (353)
#define MAP_e_cave3_in                              (355)
#define MAP_e_cave4_out                             (354)
#define MAP_e_cave4_in                              (357)
#define MAP_e_cave5_out                             (355)
#define MAP_e_cave5_in                              (359)

#define MAP_e_ocean1                                (371)
#define MAP_e_ocean2                                (372)
#define MAP_e_ocean3                                (373)
#define MAP_e_ocean_raft                            (374)
#define MAP_e_ocean_trader                          (375)

#define MAP_e_coast1                                (381)
#define MAP_e_coast2                                (382)
#define MAP_e_coast3                                (383)
#define MAP_e_coast4                                (384)
#define MAP_e_coast5                                (385)
#define MAP_e_coast6                                (386)
#define MAP_e_coast7                                (387)
#define MAP_e_coast8                                (388)
#define MAP_e_coast9                                (389)
#define MAP_e_coast10                               (390)
#define MAP_e_coast11                               (391)
#define MAP_e_coast5_cave                           (392)

#define MAP_atom_ground                             (400)
#define MAP_atom_level1                             (401)
#define MAP_atom_reactor                            (402)
#define MAP_bax_church                              (405)
#define MAP_bax_underground                         (406)

//************************************************************************/
//*                                                                      */
//************************************************************************/

#endif // __MAPS__







