From 7724bfb926e7a0123413753375e7134eeb9a0a5e Mon Sep 17 00:00:00 2001 From: Flugente Date: Thu, 9 Aug 2018 19:07:44 +0000 Subject: [PATCH] Fix: game does not start in 'Data'-configuration due to missing xmls, scripts git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@2433 4f8fa57e-7814-0410-bad4-adc449f26b7c --- gamedir/Data/Ja2_Options.INI | 54 ++- gamedir/Data/Scripts/Overhead.lua | 433 +++++++++++++++++- gamedir/Data/Scripts/strategicmap.lua | 278 ++++++++++- gamedir/Data/TableData/Items/FoodOpinion.xml | 5 + .../AdditionalDealer_21_Inventory.xml | 8 + .../AdditionalDealer_22_Inventory.xml | 8 + .../AdditionalDealer_23_Inventory.xml | 8 + .../AdditionalDealer_24_Inventory.xml | 8 + .../AdditionalDealer_25_Inventory.xml | 8 + .../AdditionalDealer_26_Inventory.xml | 8 + .../AdditionalDealer_27_Inventory.xml | 8 + .../AdditionalDealer_28_Inventory.xml | 8 + .../AdditionalDealer_29_Inventory.xml | 8 + .../AdditionalDealer_30_Inventory.xml | 8 + .../AdditionalDealer_31_Inventory.xml | 8 + .../AdditionalDealer_32_Inventory.xml | 8 + .../AdditionalDealer_33_Inventory.xml | 8 + .../AdditionalDealer_34_Inventory.xml | 8 + .../AdditionalDealer_35_Inventory.xml | 8 + .../AdditionalDealer_36_Inventory.xml | 8 + .../AdditionalDealer_37_Inventory.xml | 8 + .../AdditionalDealer_38_Inventory.xml | 8 + .../AdditionalDealer_39_Inventory.xml | 8 + .../AdditionalDealer_40_Inventory.xml | 8 + .../AdditionalDealer_41_Inventory.xml | 8 + .../AdditionalDealer_42_Inventory.xml | 8 + .../AdditionalDealer_43_Inventory.xml | 8 + .../AdditionalDealer_44_Inventory.xml | 8 + .../AdditionalDealer_45_Inventory.xml | 8 + .../AdditionalDealer_46_Inventory.xml | 8 + .../AdditionalDealer_47_Inventory.xml | 8 + .../AdditionalDealer_48_Inventory.xml | 8 + .../AdditionalDealer_49_Inventory.xml | 9 + .../AdditionalDealer_50_Inventory.xml | 8 + .../AdditionalDealer_51_Inventory.xml | 8 + .../AdditionalDealer_52_Inventory.xml | 8 + .../AdditionalDealer_53_Inventory.xml | 8 + .../AdditionalDealer_54_Inventory.xml | 8 + .../AdditionalDealer_55_Inventory.xml | 8 + .../AdditionalDealer_56_Inventory.xml | 8 + .../AdditionalDealer_57_Inventory.xml | 8 + .../AdditionalDealer_58_Inventory.xml | 8 + .../AdditionalDealer_59_Inventory.xml | 8 + .../AdditionalDealer_60_Inventory.xml | 8 + 44 files changed, 1075 insertions(+), 16 deletions(-) create mode 100644 gamedir/Data/TableData/Items/FoodOpinion.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_21_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_22_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_23_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_24_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_25_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_26_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_27_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_28_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_29_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_30_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_31_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_32_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_33_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_34_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_35_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_36_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_37_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_38_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_39_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_40_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_41_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_42_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_43_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_44_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_45_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_46_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_47_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_48_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_49_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_50_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_51_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_52_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_53_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_54_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_55_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_56_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_57_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_58_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_59_Inventory.xml create mode 100644 gamedir/Data/TableData/NPCInventory/AdditionalDealer_60_Inventory.xml diff --git a/gamedir/Data/Ja2_Options.INI b/gamedir/Data/Ja2_Options.INI index 93f53bf7a..98f8ea781 100644 --- a/gamedir/Data/Ja2_Options.INI +++ b/gamedir/Data/Ja2_Options.INI @@ -3861,6 +3861,51 @@ ENEMYHELI_MANPADS_DAMAGE_VAR = 80 ;****************************************************************************************************************************** ;****************************************************************************************************************************** +[Raid Settings] + +;****************************************************************************************************************************** +; These settings control whether randomized raids occur in player-controlled sectors +;****************************************************************************************************************************** + +;------------------------------------------------------------------------------------------------------------------------------ +; If the player doesn't defend his city sectors/SAM sites enough, opportunistic forces can attack them at night. +; These attacks occur if these sectors have only very few mercenaries or militia present. +; Raids can be done by +; - bloodcats +; - zombies (requires zombie feature to be active) +; - bandits +; These forces will attack anyone in a sector and can also fight in autoresolve. If your forces are defeated, this will result +; in a severe morale loss. +; +; Whether a raid can happen in a sector at all is set in TableData\Maps\SectorNames.xml with the +; //-tags. +; +; NOTE: THIS WILL MAKE THE GAME HARDER!!! +;------------------------------------------------------------------------------------------------------------------------------ +; set to TRUE to enable raids +RAID_BLOODCATS = FALSE +RAID_ZOMBIES = FALSE +RAID_BANDITS = FALSE + +; base value determining how fast the forces are replenished daily. Higher means more forces. +; Values from 1 to 100, default 3. +RAID_REPLENISH_BASEVALUE = 3 + +; how many troops are allowed in a raid at maximum? +; If the size of a bloodcat or bandit raid is lower than the defensive force' size, they will not attack. +; Zombies have no such inclination and will attack regardless. +RAID_MAXSIZE_BLOODCATS = 8 +RAID_MAXSIZE_ZOMBIES = 12 +RAID_MAXSIZE_BANDITS = 6 + +; How many attacks can happen potentially in a single night? Note that if player forces are strong enough, no attack will occur. +RAID_MAXATTACKSPERNIGHT_BLOODCATS = 3 +RAID_MAXATTACKSPERNIGHT_ZOMBIES = 3 +RAID_MAXATTACKSPERNIGHT_BANDITS = 3 + +;****************************************************************************************************************************** +;****************************************************************************************************************************** + [Militia Training Settings] ;****************************************************************************************************************************** @@ -3950,15 +3995,16 @@ MILITIA_VOLUNTEER_POOL_GAINFACTOR_HOURLY = 0.002 [Militia Strategic Movement Settings] ;------------------------------------------------------------------------------------------------------------------------------ -; If ALLOW_MILITIA_STRATEGIC_COMMAND is TRUE, we can plot paths for militia jut like for merc groups or the heli. +; If ALLOW_MILITIA_STRATEGIC_COMMAND is TRUE, we can plot paths for militia just like for merc groups or the heli. ; To command militia, display militia in the strategic map, then leftclick on a sector with militia in it. -; This requires either control and staffing of a military HQ, a merc in the same sector/town, or a radio operator in an adjacent sector. -; -; : If ALLOW_MILITIA_STRATEGIC_COMMAND is TRUE, ALLOW_MOBILE_MILITIA and its subsequent settings are IGNORED! ;------------------------------------------------------------------------------------------------------------------------------ ALLOW_MILITIA_STRATEGIC_COMMAND = FALSE +; if TRUE, this feature requires either control and staffing of a military HQ, a merc in the same sector/town, or a radio operator +; in an adjacent sector. +MILITIA_STRATEGIC_COMMAND_REQUIRES_MERC = FALSE + ;****************************************************************************************************************************** ;****************************************************************************************************************************** diff --git a/gamedir/Data/Scripts/Overhead.lua b/gamedir/Data/Scripts/Overhead.lua index 23ac2f50d..a9ee8dc15 100644 --- a/gamedir/Data/Scripts/Overhead.lua +++ b/gamedir/Data/Scripts/Overhead.lua @@ -9,6 +9,7 @@ Facts = FACT_JOEY_NEAR_MARTHA = 110, FACT_JOHN_ALIVE = 190, FACT_MARY_OR_JOHN_ARRIVED = 192, + FACT_CHALICE_STOLEN = 184, FACT_MARY_ALIVE = 187, FACT_FIRST_ROBOT_DESTROYED = 203, FACT_ROBOT_READY_SECOND_TIME = 205, @@ -17,7 +18,7 @@ Facts = FACT_KINGPIN_KNOWS_MONEY_GONE = 103, FACT_PLAYER_REPAID_KINGPIN = 104, FACT_KINGPIN_NOT_IN_OFFICE = 256, - + FACT_PLAYER_KNOWS_ABOUT_BLOODCAT_LAIR = 335, } Attitude = @@ -66,21 +67,138 @@ Quests = } Profil = -{ +{ + BARRY = 0, + BLOOD = 1, + LYNX = 2, + GRIZZLY = 3, + VICKI = 4, + TREVOR = 5, + GRUNTY = 6, + IVAN = 7, + STEROID = 8, + IGOR = 9, + SHADOW = 10, + RED = 11, + REAPER = 12, + FIDEL = 13, + FOX = 14, + SIDNEY = 15, + GUS = 16, + BUNS = 17, + ICE = 18, + SPIDER = 19, + CLIFF = 20, + BULL = 21, + HITMAN = 22, + BUZZ = 23, + RAIDER = 24, + RAVEN = 25, + STATIC = 26, + LEN = 27, + DANNY = 28, + MAGIC = 29, + STEPHEN = 30, + SCULLY = 31, + MALICE = 32, + DRQ = 33, + NAILS = 34, + THOR = 35, + SCOPE = 36, + WOLF = 37, + MD = 38, + MELTDOWN = 39, + BIFF = 40, + HAYWIRE = 41, + GASKET = 42, + RAZOR = 43, + FLO = 44, + GUMPY = 45, + LARRY = 46, + LARRY_STONED = 47, + COUGAR = 48, + NUMB = 49, + BUBBA = 50, MIGUEL = 57, CARLOS = 58, IRA = 59, - DIMITRI = 60, + DIMITRI = 60, + DEVIN = 61, + ROBOT = 62, + HAMOUS = 63, SLAY = 64, DYNAMO = 66, SHANK = 67, + IGGY = 68, + VINCE = 69, + CONRAD = 70, + MADDOG = 72, + DARREL = 73, + PERKO = 74, + DEIDRANNA = 75, + AUNTIE = 76, CARMEN = 78, + JOE = 79, + STEVE = 80, + RAT = 81, + ANNIE = 82, + CHRIS = 83, + BOB = 84, + BRENDA = 85, + KINGPIN = 86, + DARREN = 87, MARIA = 88, ANGEL = 89, - JOEY = 90, + JOEY = 90, + TONY = 91, + FRANK = 92, + SPIKE = 93, + DAMON = 94, + KYLE = 95, + MICKY = 96, SKYRIDER = 97, + PABLO = 98, + SAL = 99, + FATHER = 100, + FATIMA = 101, + WARDEN = 102, + GORDON = 103, + GABBY = 104, + ERNEST = 105, + FRED = 106, + MADAME = 107, + YANNI = 108, + MARTHA = 109, + JOE = 110, + JASMIN = 111, + CHARLIE = 112, + JAKE = 113, + PACOS = 114, + DAVE = 115, + SKIPPER = 116, + HANS = 117, JOHN = 118, MARY = 119, + GENERAL = 120, + SERGEANT = 121, + ARMAND = 122, + LORA = 123, + FRANZ = 124, + HOWARD = 125, + SAM = 126, + ELDIN = 127, + ARNIE = 128, + TINA = 129, + FREDO = 130, + WALTER = 131, + JENNY = 132, + BILLY = 133, + BREWSTER = 134, + ELLIOT = 135, + DEREK = 136, + OLIVER = 137, + WALDO = 138, + DOREEN = 139, JIM = 140, JACK = 141, OLAF = 142, @@ -88,6 +206,18 @@ Profil = OLGA = 144, TYRONE = 145, MADLAB = 146, + KEITH = 147, + MATT = 148, + MIKE = 149, + DARYL = 150, + HERVE = 151, + PETER = 152, + ALBERTO = 153, + CARLO = 154, + MANNY = 155, + OSWALD = 156, + CALVIN = 157, + CARL = 158, } What = @@ -387,10 +517,303 @@ function HandleAtNewGridNo( ProfileId ) end -- End team end +ActionTypes = +{ + ACTIONTYPE_INVALID = 0, + ACTIONTYPE_HACKING = 1, + ACTIONTYPE_READFILE = 2, + ACTIONTYPE_WATERTAP = 3, + ACTIONTYPE_SODAMACHINE = 4, + ACTIONTYPE_MINIGAME = 5, +} + +InfoTypes = +{ + INFO_TYPE_NORMAL = 0, + INFO_TYPE_VIP = 1, +} + +ScreenTypes = +{ + MINIGAME = 30, +} + +MiniGames = +{ + TETRIS = 0, + PONG = 1, +} + +-- We have an array of 1000 signed integers that a modder can use to set whatever data he wants. +-- We simply set up some enums here to make it easier for us to remember what is what +ModSpecificActions = +{ + -- |||||||||||||||||||||||||||||||||| computers ||||||||||||||||||||||||||||||||||||| + -- Orta sublevel 1 + COMPUTER_ORTA_BASEMENT_LAB1_SERVER = 0, + COMPUTER_ORTA_BASEMENT_LAB2_SERVER = 1, + COMPUTER_ORTA_BASEMENT_HALLWAY_SERVER = 2, + COMPUTER_ORTA_BASEMENT_LAB1_PC = 3, + COMPUTER_ORTA_BASEMENT_LAB2_PC = 4, + COMPUTER_ORTA_BASEMENT_CONTROL_CONSOLE_1 = 5, + COMPUTER_ORTA_BASEMENT_CONTROL_CONSOLE_2 = 6, + COMPUTER_ORTA_BASEMENT_ENTRANCE_CONSOLE_1 = 7, + COMPUTER_ORTA_BASEMENT_ENTRANCE_CONSOLE_2 = 8, + + -- Orta + COMPUTER_ORTA_SERVER_1 = 9, + COMPUTER_ORTA_PC_1 = 10, + + -- Balime + COMPUTER_BALIME_L12_MUSEUM_CONSOLE_1 = 11, + COMPUTER_BALIME_L12_MUSEUM_CONSOLE_2 = 12, + + -- Drassen SAM + COMPUTER_DRASSENSAM_PC_1 = 13, + COMPUTER_DRASSENSAM_COMMANDCONSOLE = 14, + + -- Chitzena SAM + COMPUTER_CHITZENASAM_PC_1 = 15, + COMPUTER_CHITZENASAM_PC_2 = 16, + COMPUTER_CHITZENASAM_COMMANDCONSOLE = 17, + + -- central SAM + COMPUTER_CENTRALSAM_PC_1 = 18, + COMPUTER_CENTRALSAM_PC_2 = 19, + COMPUTER_CENTRALSAM_PC_3 = 20, + COMPUTER_CENTRALSAM_COMMANDCONSOLE = 21, + + -- Meduna SAM + COMPUTER_MEDUNASAM_PC_1 = 22, + COMPUTER_MEDUNASAM_COMPUTERBANK_1 = 23, + COMPUTER_MEDUNASAM_COMMANDCONSOLE = 24, + + -- Meduna palace + COMPUTER_MEDUNAPALACE_PC_1 = 25, + COMPUTER_MEDUNAPALACE_PC_2 = 26, + COMPUTER_MEDUNAPALACE_CONSOLE_1 = 27, + COMPUTER_MEDUNAPALACE_SERVER_1 = 28, + + -- Alma storage + COMPUTER_ALMASTORAGE_PC_1 = 29, + + -- Alma prison + COMPUTER_ALMAPRISON_PC_1 = 30, + COMPUTER_ALMAPRISON_PC_2 = 31, + COMPUTER_ALMAPRISON_PC_3 = 32, + + -- Alma base + COMPUTER_ALMABASE_PC_KROTT = 33, + COMPUTER_ALMABASE_PC_BUREAU = 34, + COMPUTER_ALMABASE_PC_FILEROOM = 35, + COMPUTER_ALMABASE_CONSOLE_1 = 36, + COMPUTER_ALMABASE_CONSOLE_2 = 37, + COMPUTER_ALMABASE_CONSOLE_3 = 38, + COMPUTER_ALMABASE_CONSOLE_4 = 39, + COMPUTER_ALMABASE_CONSOLE_5 = 40, + COMPUTER_ALMABASE_CONSOLE_6 = 41, + -- |||||||||||||||||||||||||||||||||| computers ||||||||||||||||||||||||||||||||||||| + + -- |||||||||||||||||||||||||||||||||| books ||||||||||||||||||||||||||||||||||||| + -- Orta sublevel 1 + READING_ORTA_BASEMENT_BOOKSHELF_1 = 45, + READING_ORTA_BASEMENT_BOOKSHELF_2 = 46, + READING_ORTA_BASEMENT_BOOKSHELF_3 = 47, + + -- Orta + READING_ORTA_BOOKSHELF_1 = 48, + + -- San Mona + READING_SANMONA_KINGPIN_BOOKSHELF_1 = 49, + -- |||||||||||||||||||||||||||||||||| books ||||||||||||||||||||||||||||||||||||| + + -- |||||||||||||||||||||||||||||||||| minigames ||||||||||||||||||||||||||||||||||||| + MINIGAME_TETRIS = 50, + MINIGAME_PONG = 51, + -- |||||||||||||||||||||||||||||||||| minigames ||||||||||||||||||||||||||||||||||||| + + -- |||||||||||||||||||||||||||||||||| photo data ||||||||||||||||||||||||||||||||||||| + PHOTO_FLAGS_BEGIN = 60, + + PHOTO_FLAGS_GENERAL = 61, + PHOTO_FLAGS_WARDEN = 62, + PHOTO_FLAGS_ERNEST = 63, + PHOTO_FLAGS_ARMAND = 64, + PHOTO_FLAGS_KINGPIN = 65, + PHOTO_FLAGS_DARREN = 66, + PHOTO_FLAGS_TONY = 67, + PHOTO_FLAGS_JOE = 68, + PHOTO_FLAGS_MADLAB = 69, + PHOTO_FLAGS_MIKE = 70, + PHOTO_FLAGS_DEVIN = 71, + PHOTO_FLAGS_MICKY = 72, + PHOTO_FLAGS_CARMEN = 73, + + PHOTO_FLAGS_CAMBRIA_HOSPITAL_MORGUE = 80, + PHOTO_FLAGS_ALMA_HQ_CONTROLROOM = 81, + PHOTO_FLAGS_ALMA_STORAGE_ROCKETS = 82, + PHOTO_FLAGS_ALMA_PRISON_TORTURE = 83, + PHOTO_FLAGS_TIXA_TORTURE = 84, + PHOTO_FLAGS_TIXA_TORTURE_DOWNSTAIRS = 85, + PHOTO_FLAGS_CREATURE_LVL3 = 86, + PHOTO_FLAGS_ORTA_LABS = 87, + PHOTO_FLAGS_ORTA_STORAGE = 88, + PHOTO_FLAGS_ORTA_MANUFACTURING = 89, + PHOTO_FLAGS_BALIME_MUSEUM = 90, + PHOTO_FLAGS_GRUMM_RADIOACTIVE = 91, + PHOTO_FLAGS_MEDUNA_ARENA = 92, + PHOTO_FLAGS_MEDUNA_BUNKER = 93, + + PHOTO_FLAGS_SAM_DRASSEN = 94, + PHOTO_FLAGS_SAM_CHITZENA = 95, + PHOTO_FLAGS_SAM_CENTRAL = 96, + PHOTO_FLAGS_SAM_MEDUNA = 97, + + PHOTO_FLAGS_END = 100, + -- |||||||||||||||||||||||||||||||||| photo data ||||||||||||||||||||||||||||||||||||| + +} + +-- General defines for various states +ActionState = +{ + -- hacking + STATE_OK = 0, -- starting state, we can hack this + STATE_END = 1, -- computer is shut down and cannot be used + STATE_GAVEREWARD_OK = 2, -- computer is still useable, we already got whatever reward there was + STATE_GAVEREWARD_END = 3, -- computer is shut down and cannot be used, we already got whatever reward there was +} -- handle the result of an interactive action that has a special id set for lua -- for more info, see InteractiveActions.xml function HandleInteractiveActionResult(sSectorX, sSectorY, bSectorZ, sGridNo, bLevel, ubID, usActionType, sLuaactionid, difficulty, skill ) end - + +-- states of a photo fact +PhotoFlag = +{ + NONE = 0, + TAKEN = 1, + UPLOADED = 2, + VERIFIED = 3, -- the code only has one value for verification, but we use several ones for different results + VERIFIED_RESULT_2 = 4, +} + +-- In this function we can define what and how many items a intel-based dealer should trade with, and how much an item is worth in intel +-- AddArmsDealerAdditionalIntelData takes 4 arguments: +-- usDealer: shopkeeper this is intended for +-- usItem: number of item +-- sIntelPrice: price of item in intel +-- sOptimalNumber: how many items the trader should have at maximum +function AddArmsDealerAdditionalIntelData() + + +end + +function SetPhotoState( aIndex, aState ) + + if ( (aIndex >= ModSpecificActions.PHOTO_FLAGS_BEGIN) and (aIndex <= ModSpecificActions.PHOTO_FLAGS_END) and (aState >= PhotoFlag.NONE) and (aState <= PhotoFlag.VERIFIED_RESULT_2) ) then + + SetModderLUAFact( aIndex, aState ) + + end +end + +-- sSectorX, sSectorY, bSectorZ: sector coordinates +-- sGridNo: tile that we photographed. When we take a photo this function is run on all tiles we see in a 2-tile radius around where we clicked +-- bLevel: height level (floor or roof) +-- ubPhotographerProfile: profile of the merc taking the photo +-- room: if > 0, this tile is inside this room +-- usTargetProfile: if we photographed a NPC, this will be their profile number, otherwise NO_PROFILE +function AddPhotoData( sSectorX, sSectorY, bSectorZ, sGridNo, bLevel, ubPhotographerProfile, room, usTargetProfile ) + + + +end + +function GetPhotoData( aType ) + + + +end + +function VerifyPhotoState(aIndex) + + + +end + +-- types of weather +Weather = +{ + WEATHER_FORECAST_NORMAL = 0, + WEATHER_FORECAST_RAIN = 1, + WEATHER_FORECAST_THUNDERSHOWERS = 2, + WEATHER_FORECAST_SANDSTORM = 3, + WEATHER_FORECAST_SNOW = 4, +}; + +-- skills +Skill = +{ + -- radio operator + SKILLS_RADIO_ARTILLERY = 0, + SKILLS_RADIO_JAM = 1, + SKILLS_RADIO_SCAN_FOR_JAM = 2, + SKILLS_RADIO_LISTEN = 3, + SKILLS_RADIO_CALLREINFORCEMENTS = 4, + SKILLS_RADIO_TURNOFF = 5, + + SKILLS_INTEL_CONCEAL = 6, + SKILLS_INTEL_GATHERINTEL = 7, + + -- various + SKILLS_SPOTTER = 8, + SKILLS_FOCUS = 9, + SKILLS_DRAG = 10, +}; + +-- different dialogue action events +DialogueActionEvent = +{ + ADE_DISCOVER_ROOM = 0, -- merc is the 1st one to explore this room, aData1 indicates the room in this event + ADE_DIALOGUE_REACTION = 1, -- someone else used a line, and we might answer to that, aData1 indicates the profile number in this event, aData2 indicates the specific voice line we react to + ADE_OMERTA_ENTRY = 2, -- similar to an IMP, we can comment upon the initial Omerta landing + ADE_SECTOR_COMMENTARY = 3, -- similar to the rebel's quotes, this is called upon visiting a sector for the first time (if no rebel does their quote first) + ADE_MERCHANT_CHAT = 4, -- we greet a merchant (used with non-profile merchants, in order to be a bit more lively) + ADE_DIALOGUE_NPC_FRIENDLY = 5, -- in a conversation, we can say something when clicking on a button + ADE_DIALOGUE_NPC_DIRECT = 6, + ADE_DIALOGUE_NPC_THREATEN = 7, + ADE_DIALOGUE_NPC_RECRUIT = 8, + ADE_DIALOGUE_NPC_REPEAT = 9, + ADE_DIALOGUE_RPC_RECRUIT_SUCCESS = 10, -- we've successfully recruited an RPC, and might comment on that + ADE_SEX = 11, -- does exactly what you think it does + ADE_WEATHERCHANGE = 12, -- the weather has changed in the current sector, and we can warn the player about that, aData1 is of Weather + ADE_SKILL_RESULT = 13, -- we used a skill, and comment on the result, aData1 is of Skill, aData2 indicates whether it was a success (1) or failure (0) + ADE_GRENADEWARNING = 14, -- a delayed enemy grenade was dropped nearby, and we can shout a warning, aData1 is the itemnumber of the grenade + ADE_CONSUMEITEM = 15, -- we applied an item to us, aData1 is the item index + ADE_NPC_DEATH = 16, -- someone died, aData1 is the profile of the dead NPC, aData2 the profile of the killer, aData3 the bodytype of the dead +} + +-- functions used here: +-- ubProfile: profile number of merc (don't change that unless you know what to do) +-- iFaceIndex: index (don't change that unless you know what to do) +-- path: path and name of soundfile we want to play (in .wav or .ogg format) +-- text: "Text that should appear" +-- SetAdditionalDialogue(ubProfile, iFaceIndex, path, text) +-- Do not use this function in any lua calls outside of HandleAdditionalDialogue(..)! +-- +-- path: path and name of soundfile we want to play (in .wav or .ogg format) +-- volume: optional sound volume (65: medium volume, 127: loud), default 65 +-- PlaySound(path, volume) + +-- handle +-- sSectorX, sSectorY and bSectorZ indicate the sector coordinates +-- ubProfile is the merc for whom this is called +-- iFaceIndex is the face of the merc. DON'T CHANGE THIS UNLESS YOU KNOW WHAT YOU ARE DOING! +-- usEventNr indicates which event from DialogueActionEvent is used here +-- aData1, aData2, aData3 are additional data, see event description on what they do in each event +function HandleAdditionalDialogue(sSectorX, sSectorY, bSectorZ, ubProfile, iFaceIndex, usEventNr, aData1, aData2, aData3 ) + +end diff --git a/gamedir/Data/Scripts/strategicmap.lua b/gamedir/Data/Scripts/strategicmap.lua index 93da30c0d..2b2c6af4d 100644 --- a/gamedir/Data/Scripts/strategicmap.lua +++ b/gamedir/Data/Scripts/strategicmap.lua @@ -73,9 +73,14 @@ Quests = } Facts = { + FACT_JOEY_ESCORTED = 108, + FACT_MARIA_ESCORTED = 116, + FACT_ANGEL_LEFT_DEED = 120, + FACT_CHALICE_STOLEN = 184, FACT_MUSEUM_ALARM_WENT_OFF = 278, FACT_KINGPIN_KNOWS_MONEY_GONE = 103, FACT_KINGPIN_DEAD = 308, + FACT_KINGPIN_IS_ENEMY = 359, FACT_ALL_TERRORISTS_KILLED = 156, } @@ -161,17 +166,29 @@ History = { } Profil = -{ - MARIA = 88, - ANGEL = 89, - ELLIOT = 135, +{ + MIGUEL = 57, + CARLOS = 58, + IRA = 59, + DIMITRI = 60, + ROBOT = 62, + DYNAMO = 66, + SHANK = 67, CONRAD = 70, + DARREL = 73, + QUEEN = 75, CARMEN = 78, KINGPIN = 86, - MADLAB = 146, - ROBOT = 62, - MIGUEL = 57, + MARIA = 88, + ANGEL = 89, KYLE = 95, + FATIMA = 101, + YANNI = 108, + MARTHA = 109, + JAKE = 113, + ELDIN = 127, + ELLIOT = 135, + MADLAB = 146, } SoldierClass = @@ -359,5 +376,252 @@ end -- this function is called whenever we enter a sector in tactical function HandleSectorTacticalEntry( sSectorX, sSectorY, bSectorZ, fHasEverBeenPlayerControlled ) + + +end +-- these colours can be used in the map +-- if you want to know how they look, test them on the map +-- if you want more colours, check whether you feel lucky and ask a coder +MapColour = { + MAP_SHADE_BLACK = 0, + + MAP_SHADE_LT_GREEN = 1, + MAP_SHADE_MD_GREEN = 2, + MAP_SHADE_DK_GREEN = 3, + + MAP_SHADE_LT_RED = 4, + MAP_SHADE_MD_RED = 5, + MAP_SHADE_DK_RED = 6, + + MAP_SHADE_LT_YELLOW = 7, + MAP_SHADE_MD_YELLOW = 8, + MAP_SHADE_DK_YELLOW = 9, + + MAP_SHADE_LT_CYAN = 10, + MAP_SHADE_MD_CYAN = 11, + MAP_SHADE_DK_CYAN = 12, + + MAP_SHADE_LT_GREY = 13, + MAP_SHADE_MD_GREY = 14, + MAP_SHADE_DK_GREY = 15, + + MAP_SHADE_LT_BLUE = 16, + MAP_SHADE_MD_BLUE = 17, + MAP_SHADE_DK_BLUE = 18, + + MAP_SHADE_LT_PINK = 19, + MAP_SHADE_ORANGE = 20, + + MAP_SHADE_MIX_RED = 21, + MAP_SHADE_MIX_GREEN = 22, + MAP_SHADE_MIX_BLUE = 23, + MAP_SHADE_MIX_YELLOW = 24, + + MAP_SHADE_MIX_RED_GREEN = 25, + MAP_SHADE_MIX_RED_BLUE = 26, + MAP_SHADE_MIX_RED_YELLOW = 27, + MAP_SHADE_MIX_GREEN_BLUE = 28, + MAP_SHADE_MIX_GREEN_YELLOW = 29, + MAP_SHADE_MIX_BLUE_YELLOW = 30, + + MAP_SHADE_MIX_RED_GREEN_BLUE = 31, + MAP_SHADE_MIX_RED_GREEN_YELLOW = 32, + MAP_SHADE_MIX_RED_BLUE_YELLOW = 33, + + MAP_SHADE_MIX_GREEN_BLUE_YELLOW = 34, + MAP_SHADE_MIX_RED_GREEN_BLUE_YELLOW = 35, +} + + +-- These symbols are stored in Interface/IntelMapSymbols.sti +-- if you want more symbols, add them +MapSymbols = { + BLOODCAT_ATTACK = 0, + ZOMBIE_ATTACK = 1, + BANDIT_ATTACK = 2, + TERRORIST_LOCATION = 3, + CHALICE = 4, + ASSASSINATION_TARGET = 5, + HELI = 6, + PRISON = 7, + CHURCH = 8, + RECRUITMENT = 9, + FLAG = 10, + QUESTIONMARK_BLUE = 11, -- sector might be relevant for a quest + EXCLAMATIONMARK_BLUE = 12, -- sector is definetely relevant for a quest + QUESTIONMARK_GREEN = 13, -- alternate colours for other uses? + EXCLAMATIONMARK_GREEN = 14, + QUESTIONMARK_RED = 15, + EXCLAMATIONMARK_RED = 16, + QUESTIONMARK_YELLOW = 17, + EXCLAMATIONMARK_YELLOW = 18, +} + +-- this function allows us to data for the intel/quest map +-- aLevel is the world level (0: surface) +-- set data by using SetIntelAndQuestMapDataForSector(sectorx, sextory, MapColour, symbol, text for description window, short text for map) +function GetIntelAndQuestMapData( aLevel ) + + -- surface + if ( aLevel == 0 ) then + + -- mark sectors related to quests + if ( gubQuest( Quests.QUEST_DELIVER_LETTER ) == qStatus.QUESTINPROGRESS ) then + + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.FATIMA), GetCharacterSectorY(Profil.FATIMA), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Deliver letter to rebels", "") + + end + + if ( gubQuest( Quests.QUEST_FOOD_ROUTE ) == qStatus.QUESTINPROGRESS ) then + + -- list possible locations of Father Walker + SetIntelAndQuestMapDataForSector(13, 3, -1, MapSymbols.CHURCH, "Find Father Walker", "") + SetIntelAndQuestMapDataForSector(13, 4, -1, MapSymbols.CHURCH, "Find Father Walker", "") + + end + + if ( gubQuest( Quests.QUEST_KINGPIN_IDOL ) == qStatus.QUESTINPROGRESS ) then + + if ( (CheckFact( Facts.FACT_CHALICE_STOLEN, 0 ) == true) ) then + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.KINGPIN), GetCharacterSectorY(Profil.KINGPIN), -1, MapSymbols.CHALICE, "Return chalice to Kingpin", "") + else + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.ELDIN), GetCharacterSectorY(Profil.ELDIN), -1, MapSymbols.CHALICE, "Steal Chalice from museum", "") + end + + end + + if ( gubQuest( Quests.QUEST_KINGPIN_MONEY ) == qStatus.QUESTINPROGRESS ) then + + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.KINGPIN), GetCharacterSectorY(Profil.KINGPIN), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Return money to Kingpin", "") + + end + + if ( gubQuest( Quests.QUEST_RUNAWAY_JOEY ) == qStatus.QUESTINPROGRESS ) then + + if ( (CheckFact( Facts.FACT_JOEY_ESCORTED, 0 ) == true) ) then + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.MARTHA), GetCharacterSectorY(Profil.MARTHA), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Return Joey to Martha", "") + else + -- we list all locations Martha mentions... even though he will never be present at some of them. Misdirection! + SetIntelAndQuestMapDataForSector(6, 9, -1, MapSymbols.QUESTIONMARK_BLUE, "Find Joey", "") + SetIntelAndQuestMapDataForSector(2, 1, -1, MapSymbols.QUESTIONMARK_BLUE, "Find Joey", "") + SetIntelAndQuestMapDataForSector(5, 3, -1, MapSymbols.QUESTIONMARK_BLUE, "Find Joey", "") + SetIntelAndQuestMapDataForSector(6, 3, -1, MapSymbols.QUESTIONMARK_BLUE, "Find Joey", "") + SetIntelAndQuestMapDataForSector(5, 4, -1, MapSymbols.QUESTIONMARK_BLUE, "Find Joey", "") + SetIntelAndQuestMapDataForSector(4, 4, -1, MapSymbols.QUESTIONMARK_BLUE, "Find Joey", "") + end + + end + + if ( gubQuest( Quests.QUEST_RESCUE_MARIA ) == qStatus.QUESTINPROGRESS ) then + + if ( (CheckFact( Facts.FACT_MARIA_ESCORTED, 0 ) == true) ) then + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.ANGEL), GetCharacterSectorY(Profil.ANGEL), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Return Maria to Angel", "") + else + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.MARIA), GetCharacterSectorY(Profil.MARIA), -1, MapSymbols.PRISON, "Free Maria", "") + end + + end + + if ( gubQuest( Quests.QUEST_CHITZENA_IDOL ) == qStatus.QUESTINPROGRESS ) then + + if ( (CheckFact( Facts.FACT_CHALICE_STOLEN, 0 ) == true) ) then + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.YANNI), GetCharacterSectorY(Profil.YANNI), -1, MapSymbols.CHALICE, "Return chalice to Yanni", "") + else + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.ELDIN), GetCharacterSectorY(Profil.ELDIN), -1, MapSymbols.CHALICE, "Steal Chalice from museum", "") + end + + end + + if ( gubQuest( Quests.QUEST_ARMY_FARM ) == qStatus.QUESTINPROGRESS ) then + + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.DARREL), GetCharacterSectorY(Profil.DARREL), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Pacify the Hicks clan", "") + + end + + if ( gubQuest( Quests.QUEST_FIND_SCIENTIST ) == qStatus.QUESTINPROGRESS ) then + + -- list all possible sectors where Madlab might hide + SetIntelAndQuestMapDataForSector(7, 8, -1, MapSymbols.QUESTIONMARK_BLUE, "Find scientist", "") + SetIntelAndQuestMapDataForSector(16, 8, -1, MapSymbols.QUESTIONMARK_BLUE, "Find scientist", "") + SetIntelAndQuestMapDataForSector(11, 9, -1, MapSymbols.QUESTIONMARK_BLUE, "Find scientist", "") + SetIntelAndQuestMapDataForSector(4, 5, -1, MapSymbols.QUESTIONMARK_BLUE, "Find scientist", "") + + end + + if ( gubQuest( Quests.QUEST_DELIVER_VIDEO_CAMERA ) == qStatus.QUESTINPROGRESS ) then + + -- list all possible sectors where Madlab might hide + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.MADLAB), GetCharacterSectorY(Profil.MADLAB), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Give gun & camera to Madlab", "") + + end + + if ( gubQuest( Quests.QUEST_BLOODCATS ) == qStatus.QUESTINPROGRESS ) then + + -- Annie only mentions that the bloodcat nest is 'east of her house', so we are rather liberal with hints here + SetIntelAndQuestMapDataForSector(15, 8, -1, MapSymbols.QUESTIONMARK_BLUE, "Destroy bloodcat nest", "") + SetIntelAndQuestMapDataForSector(16, 8, -1, MapSymbols.QUESTIONMARK_BLUE, "Destroy bloodcat nest", "") + SetIntelAndQuestMapDataForSector(15, 9, -1, MapSymbols.QUESTIONMARK_BLUE, "Destroy bloodcat nest", "") + SetIntelAndQuestMapDataForSector(16, 9, -1, MapSymbols.QUESTIONMARK_BLUE, "Destroy bloodcat nest", "") + SetIntelAndQuestMapDataForSector(15, 10, -1, MapSymbols.QUESTIONMARK_BLUE, "Destroy bloodcat nest", "") + + end + + if ( gubQuest( Quests.QUEST_CHOPPER_PILOT ) == qStatus.QUESTINPROGRESS ) then + + -- list all possible sectors where Skyrider might hide + SetIntelAndQuestMapDataForSector(15, 2, -1, MapSymbols.QUESTIONMARK_BLUE, "Find chopper pilot", "") + SetIntelAndQuestMapDataForSector(14, 5, -1, MapSymbols.QUESTIONMARK_BLUE, "Find chopper pilot", "") + SetIntelAndQuestMapDataForSector(12, 4, -1, MapSymbols.QUESTIONMARK_BLUE, "Find chopper pilot", "") + SetIntelAndQuestMapDataForSector(16, 3, -1, MapSymbols.QUESTIONMARK_BLUE, "Find chopper pilot", "") + + end + + if ( gubQuest( Quests.QUEST_ESCORT_SKYRIDER ) == qStatus.QUESTINPROGRESS ) then + + SetIntelAndQuestMapDataForSector(13, 2, -1, MapSymbols.HELI, "Escort Skyrider here", "") + + end + + if ( gubQuest( Quests.QUEST_FREE_DYNAMO ) == qStatus.QUESTINPROGRESS ) then + + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.DYNAMO), GetCharacterSectorY(Profil.DYNAMO), -1, MapSymbols.PRISON, "Free Dynamo", "") + + end + + if ( gubQuest( Quests.QUEST_ESCORT_TOURISTS ) == qStatus.QUESTINPROGRESS ) then + + SetIntelAndQuestMapDataForSector(13, 2, -1, MapSymbols.HELI, "Escort John & Mary here", "") + + end + + if ( gubQuest( Quests.QUEST_FREE_CHILDREN ) == qStatus.QUESTINPROGRESS ) then + + SetIntelAndQuestMapDataForSector(13, 3, -1, MapSymbols.PRISON, "Free factory children", "") + + end + + if ( gubQuest( Quests.QUEST_LEATHER_SHOP_DREAM ) == qStatus.QUESTINPROGRESS ) then + + if ( (CheckFact( Facts.FACT_ANGEL_LEFT_DEED, 0 ) == true) ) then + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.KYLE), GetCharacterSectorY(Profil.KYLE), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Give deed to Kyle", "") + else + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.ANGEL), GetCharacterSectorY(Profil.ANGEL), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Get deed from Angel", "") + end + + end + + if ( gubQuest( Quests.QUEST_ESCORT_SHANK ) == qStatus.QUESTINPROGRESS ) then + + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.JAKE), GetCharacterSectorY(Profil.JAKE), -1, MapSymbols.EXCLAMATIONMARK_BLUE, "Escort Shank to Jake", "") + + end + + if ( not (gubQuest( Quests.QUEST_KILL_DEIDRANNA ) == qStatus.QUESTDONE) ) then + + SetIntelAndQuestMapDataForSector(GetCharacterSectorX(Profil.QUEEN), GetCharacterSectorY(Profil.QUEEN), -1, MapSymbols.ASSASSINATION_TARGET, "Kill Deidranna", "") + + end + + end end diff --git a/gamedir/Data/TableData/Items/FoodOpinion.xml b/gamedir/Data/TableData/Items/FoodOpinion.xml new file mode 100644 index 000000000..081baa183 --- /dev/null +++ b/gamedir/Data/TableData/Items/FoodOpinion.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_21_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_21_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_21_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_22_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_22_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_22_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_23_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_23_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_23_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_24_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_24_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_24_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_25_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_25_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_25_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_26_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_26_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_26_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_27_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_27_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_27_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_28_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_28_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_28_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_29_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_29_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_29_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_30_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_30_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_30_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_31_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_31_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_31_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_32_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_32_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_32_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_33_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_33_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_33_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_34_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_34_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_34_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_35_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_35_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_35_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_36_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_36_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_36_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_37_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_37_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_37_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_38_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_38_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_38_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_39_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_39_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_39_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_40_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_40_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_40_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_41_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_41_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_41_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_42_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_42_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_42_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_43_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_43_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_43_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_44_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_44_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_44_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_45_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_45_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_45_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_46_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_46_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_46_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_47_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_47_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_47_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_48_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_48_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_48_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_49_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_49_Inventory.xml new file mode 100644 index 000000000..e6f3f7ec8 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_49_Inventory.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_50_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_50_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_50_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_51_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_51_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_51_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_52_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_52_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_52_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_53_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_53_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_53_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_54_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_54_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_54_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_55_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_55_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_55_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_56_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_56_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_56_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_57_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_57_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_57_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_58_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_58_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_58_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_59_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_59_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_59_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file diff --git a/gamedir/Data/TableData/NPCInventory/AdditionalDealer_60_Inventory.xml b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_60_Inventory.xml new file mode 100644 index 000000000..65086d169 --- /dev/null +++ b/gamedir/Data/TableData/NPCInventory/AdditionalDealer_60_Inventory.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + 0 + + \ No newline at end of file