From d1cd679e9db9fa73de4c3c5aef81dc37f135fe51 Mon Sep 17 00:00:00 2001 From: Flugente Date: Sun, 3 Apr 2016 14:38:13 +0000 Subject: [PATCH] New feature: spawn extra civilains via Lua, see also http://thepit.ja-galaxy-forum.com/index.php?t=tree&th=22998&goto=344843&#msg_344843 git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@2311 4f8fa57e-7814-0410-bad4-adc449f26b7c --- Data-1.13/Ja2_Options.INI | 6 + Data-1.13/Scripts/strategicmap.lua | 213 ++++++++++++++++++++++++++++- Data/NPCData/civ64.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ65.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ66.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ67.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ68.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ69.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ70.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ71.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ72.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ73.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ74.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ75.edt | Bin 4800 -> 4800 bytes Data/NPCData/civ76.edt | Bin 4800 -> 4480 bytes Data/NPCData/civ77.edt | Bin 4800 -> 4800 bytes 16 files changed, 218 insertions(+), 1 deletion(-) diff --git a/Data-1.13/Ja2_Options.INI b/Data-1.13/Ja2_Options.INI index db3180990..2ca4e4e98 100644 --- a/Data-1.13/Ja2_Options.INI +++ b/Data-1.13/Ja2_Options.INI @@ -1019,6 +1019,12 @@ ALLOW_LAZY_CIVILIANS = TRUE CIVILIANS_AVOID_PLAYER_MINES = TRUE +;------------------------------------------------------------------------------------------------------------------------------ +; Default: FALSE +; Additional civilians can be placed in maps via Lua scripts, see Scripts/strategicmap.lua: HandleSectorTacticalEntry() +;------------------------------------------------------------------------------------------------------------------------------ +ALLOW_EXTRA_CIVILIANS = FALSE + ;------------------------------------------------------------------------------------------------------------------------------ ; Default: FALSE ; Add small smoke after explosion (only outdoor, not underground, only regular type explosion) diff --git a/Data-1.13/Scripts/strategicmap.lua b/Data-1.13/Scripts/strategicmap.lua index d49e22d87..38274b9c3 100644 --- a/Data-1.13/Scripts/strategicmap.lua +++ b/Data-1.13/Scripts/strategicmap.lua @@ -188,7 +188,72 @@ SoldierClass = CivGroup = { + WARDEN_CIV_GROUP = 11, BOUNTYHUNTER_CIV_GROUP = 25, + SCIENTIST_GROUP = 27, + RADAR_TECHNICIAN_GROUP = 28, + AIRPORT_STAFF_GROUP = 29, + BARRACK_STAFF_GROUP = 30, + FACTORY_GROUP = 31, + ADMINISTRATIVE_STAFF_GROUP = 32, + LOYAL_CIV_GROUP = 33, +} + +Bodytype = +{ + REGMALE = 0, + BIGMALE = 1, + STOCKYMALE = 2, + REGFEMALE = 3, + FATCIV = 11, + MANCIV = 12, + MINICIV = 13, + DRESSCIV = 14, + HATKIDCIV = 15, + KIDCIV = 16, + CRIPPLECIV = 17, +} + +Skin = +{ + PINKSKIN = 0, + TANSKIN = 1, + DARKSKIN = 2, + BLACKSKIN = 3, +} + +Hair = +{ + WHITEHEAD = 0, + BLACKHEAD = 1, + BROWNHEAD = 2, + BLONDEHEAD = 3, + REDHEAD = 4, +} + +Vest = +{ + WHITEVEST = 0, + GYELLOWSHIRT = 1, + YELLOWVEST = 2, + GREYVEST = 3, + BROWNVEST = 4, + PURPLESHIRT = 5, + BLUEVEST = 6, + JEANVEST = 7, + GREENVEST = 8, + REDVEST = 9, + BLACKSHIRT = 10, +} + +Pants = +{ + BLUEPANTS = 0, + BLACKPANTS = 1, + JEANPANTS = 2, + TANPANTS = 3, + BEIGEPANTS = 4, + GREENPANTS = 5, } local gsRobotGridNo @@ -299,7 +364,7 @@ function RecruitRPCAdditionalHandling( usProfile ) end -- this function is called whenever we enter a sector in tactical -function HandleSectorTacticalEntry( sSectorX, sSectorY, bSectorZ ) +function HandleSectorTacticalEntry( sSectorX, sSectorY, bSectorZ, fHasEverBeenPlayerControlled ) if ( gubQuest( Quests.QUEST_KINGPIN_ANGEL_MARIA ) == qStatus.QUESTINPROGRESS ) then @@ -352,4 +417,150 @@ function HandleSectorTacticalEntry( sSectorX, sSectorY, bSectorZ ) end end + + -- Flugente: if this sector has not yet been liberated by the player, there might be some civilian enemy personnel here + -- the idea is that these people are government employed, and won't stay around once you take the sector + -- paramters of CreateCivilian: + -- - tile where person should be created on the map + -- - civilian group they should belong to (see also CivGRoupNames.xml) + -- - bodytype + -- - vest colour (-1 for random) + -- - pants colour (-1 for random) + -- - hair colour (-1 for random) + -- - skin colour (-1 for random) + -- - optional item 1 (-1 for nothing) + -- - optional item 2 (-1 for nothing) + -- - optional item 3 (-1 for nothing) + -- - optional item 4 (-1 for nothing) + + if ( fHasEverBeenPlayerControlled == false ) then + -- surface sectors + if ( bSectorZ == 0 ) then + -- central SAM + if ( sSectorX == 8 and sSectorY == SectorY.MAP_ROW_I ) then + CreateCivilian(16081, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.MANCIV, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 635, -1, -1) + CreateCivilian(15443, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.REGFEMALE, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 635, -1, -1) + CreateCivilian(10944, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.REGMALE, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 8, -1, -1) + -- Drassen SAM + elseif ( sSectorX == 15 and sSectorY == SectorY.MAP_ROW_D ) then + CreateCivilian(11297, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.MANCIV, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 8, -1, -1) + -- chitzena SAM + elseif ( sSectorX == 2 and sSectorY == SectorY.MAP_ROW_D ) then + CreateCivilian(10675, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.REGFEMALE, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 635, -1, -1) + CreateCivilian(9718, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.REGMALE, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 8, -1, -1) + -- Meduna SAM + elseif ( sSectorX == 4 and sSectorY == SectorY.MAP_ROW_N ) then + CreateCivilian(12071, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.REGFEMALE, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 635, -1, -1) + CreateCivilian(12554, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.REGMALE, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 635, -1, -1) + CreateCivilian(15085, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.MANCIV, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 8, -1, -1) + -- Orta surface + elseif ( sSectorX == 4 and sSectorY == SectorY.MAP_ROW_K ) then + CreateCivilian(16065, CivGroup.SCIENTIST_GROUP, Bodytype.DRESSCIV, Vest.WHITEVEST, Pants.BEIGEPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(13991, CivGroup.SCIENTIST_GROUP, Bodytype.MANCIV, Vest.WHITEVEST, Pants.BEIGEPANTS, -1, -1, -1, -1, -1, -1) + -- Meduna airport + elseif ( sSectorX == 3 and sSectorY == SectorY.MAP_ROW_N ) then + CreateCivilian(12224, CivGroup.AIRPORT_STAFF_GROUP, Bodytype.BIGMALE, Vest.BROWNVEST, Pants.JEANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(11439, CivGroup.AIRPORT_STAFF_GROUP, Bodytype.REGMALE, Vest.BROWNVEST, Pants.JEANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(11451, CivGroup.AIRPORT_STAFF_GROUP, Bodytype.REGFEMALE, Vest.BROWNVEST, Pants.JEANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(13529, CivGroup.AIRPORT_STAFF_GROUP, Bodytype.REGMALE, Vest.BROWNVEST, Pants.JEANPANTS, -1, -1, -1, -1, -1, -1) + -- Drassen airport + elseif ( sSectorX == 13 and sSectorY == SectorY.MAP_ROW_B ) then + CreateCivilian(11719, CivGroup.AIRPORT_STAFF_GROUP, Bodytype.BIGMALE, Vest.BROWNVEST, Pants.JEANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(8054, CivGroup.RADAR_TECHNICIAN_GROUP, Bodytype.MANCIV, Vest.GREYVEST, Pants.GREENPANTS, -1, -1, 210, 8, -1, -1) + CreateCivilian(5990, CivGroup.AIRPORT_STAFF_GROUP, Bodytype.REGFEMALE, Vest.BROWNVEST, Pants.JEANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(4562, CivGroup.AIRPORT_STAFF_GROUP, Bodytype.REGMALE, Vest.BROWNVEST, Pants.JEANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(8112, CivGroup.AIRPORT_STAFF_GROUP, Bodytype.FATCIV, Vest.BROWNVEST, Pants.JEANPANTS, Hair.WHITEHEAD, -1, -1, -1, -1, -1) + -- Grumm factory + elseif ( sSectorX == 2 and sSectorY == SectorY.MAP_ROW_H ) then + CreateCivilian(12051, CivGroup.FACTORY_GROUP, Bodytype.KIDCIV, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(9337, CivGroup.FACTORY_GROUP, Bodytype.HATKIDCIV, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(9988, CivGroup.FACTORY_GROUP, Bodytype.KIDCIV, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(10165, CivGroup.FACTORY_GROUP, Bodytype.HATKIDCIV, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(10287, CivGroup.FACTORY_GROUP, Bodytype.DRESSCIV, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + -- Grumm factory + elseif ( sSectorX == 2 and sSectorY == SectorY.MAP_ROW_G ) then + CreateCivilian(11777, CivGroup.SCIENTIST_GROUP, Bodytype.REGMALE, Vest.WHITEVEST, Pants.BEIGEPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(10019, CivGroup.FACTORY_GROUP, Bodytype.REGFEMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(18944, CivGroup.FACTORY_GROUP, Bodytype.REGMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(12543, CivGroup.FACTORY_GROUP, Bodytype.MANCIV, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + -- Tixa + elseif ( sSectorX == 9 and sSectorY == SectorY.MAP_ROW_J ) then + CreateCivilian(9058, CivGroup.ADMINISTRATIVE_STAFF_GROUP, Bodytype.MINICIV, Vest.PURPLESHIRT, Pants.BLUEPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(9992, CivGroup.WARDEN_CIV_GROUP, Bodytype.REGFEMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(15895, CivGroup.WARDEN_CIV_GROUP, Bodytype.BIGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(12056, CivGroup.WARDEN_CIV_GROUP, Bodytype.REGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(17043, CivGroup.WARDEN_CIV_GROUP, Bodytype.BIGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + -- Alma prison + elseif ( sSectorX == 13 and sSectorY == SectorY.MAP_ROW_I ) then + CreateCivilian(10618, CivGroup.ADMINISTRATIVE_STAFF_GROUP, Bodytype.DRESSCIV, Vest.PURPLESHIRT, Pants.BLUEPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(12893, CivGroup.WARDEN_CIV_GROUP, Bodytype.REGFEMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(11594, CivGroup.WARDEN_CIV_GROUP, Bodytype.BIGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(13514, CivGroup.WARDEN_CIV_GROUP, Bodytype.REGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(10309, CivGroup.WARDEN_CIV_GROUP, Bodytype.BIGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(8223, CivGroup.WARDEN_CIV_GROUP, Bodytype.REGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + -- Alma warehouse + elseif ( sSectorX == 14 and sSectorY == SectorY.MAP_ROW_H ) then + CreateCivilian(20235, CivGroup.FACTORY_GROUP, Bodytype.REGMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(10612, CivGroup.FACTORY_GROUP, Bodytype.REGFEMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(9656, CivGroup.FACTORY_GROUP, Bodytype.REGMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(12421, CivGroup.FACTORY_GROUP, Bodytype.BIGMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(10334, CivGroup.FACTORY_GROUP, Bodytype.REGFEMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(16374, CivGroup.FACTORY_GROUP, Bodytype.BIGMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + -- Alma barracks + elseif ( sSectorX == 13 and sSectorY == SectorY.MAP_ROW_H ) then + CreateCivilian(11132, CivGroup.ADMINISTRATIVE_STAFF_GROUP, Bodytype.MINICIV, Vest.PURPLESHIRT, Pants.BLUEPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(11913, CivGroup.ADMINISTRATIVE_STAFF_GROUP, Bodytype.DRESSCIV, Vest.PURPLESHIRT, Pants.BLUEPANTS, Hair.WHITEHEAD, -1, -1, -1, -1, -1) + CreateCivilian(6793, CivGroup.BARRACK_STAFF_GROUP, Bodytype.REGMALE, Vest.GREENVEST, Pants.GREENPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(9993, CivGroup.BARRACK_STAFF_GROUP, Bodytype.REGFEMALE, Vest.GREENVEST, Pants.GREENPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(12874, CivGroup.BARRACK_STAFF_GROUP, Bodytype.BIGMALE, Vest.GREENVEST, Pants.GREENPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(9680, CivGroup.BARRACK_STAFF_GROUP, Bodytype.REGMALE, Vest.GREENVEST, Pants.GREENPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(9688, CivGroup.BARRACK_STAFF_GROUP, Bodytype.MANCIV, Vest.GREENVEST, Pants.GREENPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(12086, CivGroup.BARRACK_STAFF_GROUP, Bodytype.REGMALE, Vest.GREENVEST, Pants.GREENPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(7942, CivGroup.BARRACK_STAFF_GROUP, Bodytype.REGFEMALE, Vest.GREENVEST, Pants.GREENPANTS, -1, -1, -1, -1, -1, -1) + -- Balime + elseif ( sSectorX == 11 and sSectorY == SectorY.MAP_ROW_L ) then + CreateCivilian(15951, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, 195, -1, -1, -1) + CreateCivilian(17692, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(12546, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, 195, -1, -1, -1) + CreateCivilian(13826, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(13350, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(13491, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(16708, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, 195, -1, -1, -1) + CreateCivilian(12264, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(13227, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + -- Balime + elseif ( sSectorX == 12 and sSectorY == SectorY.MAP_ROW_L ) then + CreateCivilian(12599, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(11134, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(10508, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(10503, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, 195, -1, -1, -1) + CreateCivilian(12102, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(14830, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(15297, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, 195, -1, -1, -1) + CreateCivilian(16414, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(9976, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, -1, -1, -1, -1) + CreateCivilian(14792, CivGroup.LOYAL_CIV_GROUP, -1, -1, -1, -1, -1, 195, -1, -1, -1) + end + -- sublevel 1 + elseif ( bSectorZ == 1 ) then + -- Orta + if ( sSectorX == 4 and sSectorY == SectorY.MAP_ROW_K ) then + CreateCivilian(14494, CivGroup.ADMINISTRATIVE_STAFF_GROUP, Bodytype.MINICIV, Vest.PURPLESHIRT, Pants.BLUEPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(13062, CivGroup.SCIENTIST_GROUP, Bodytype.MANCIV, Vest.WHITEVEST, Pants.BEIGEPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(13167, CivGroup.SCIENTIST_GROUP, Bodytype.FATCIV, Vest.WHITEVEST, Pants.BEIGEPANTS, Hair.WHITEHEAD, -1, -1, -1, -1, -1) + CreateCivilian(12048, CivGroup.SCIENTIST_GROUP, Bodytype.REGMALE, Vest.WHITEVEST, Pants.BEIGEPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(9827, CivGroup.FACTORY_GROUP, Bodytype.BIGMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(10007, CivGroup.FACTORY_GROUP, Bodytype.REGMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + CreateCivilian(17211, CivGroup.FACTORY_GROUP, Bodytype.BIGMALE, Vest.YELLOWVEST, Pants.TANPANTS, -1, -1, -1, -1, -1, -1) + -- Tixa + elseif ( sSectorX == 9 and sSectorY == SectorY.MAP_ROW_J ) then + CreateCivilian(12875, CivGroup.WARDEN_CIV_GROUP, Bodytype.REGFEMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(12096, CivGroup.WARDEN_CIV_GROUP, Bodytype.BIGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(7287, CivGroup.WARDEN_CIV_GROUP, Bodytype.REGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(5843, CivGroup.WARDEN_CIV_GROUP, Bodytype.BIGMALE, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + CreateCivilian(5378, CivGroup.WARDEN_CIV_GROUP, Bodytype.MANCIV, Vest.BROWNVEST, Pants.BLACKPANTS, -1, -1, 213, 298, 1625, -1) + end + end + end + end diff --git a/Data/NPCData/civ64.edt b/Data/NPCData/civ64.edt index 65521df062641188066cd9ee52ac43936f7b50ec..1dd22540244077d600f4bac2c167acc875a8ee70 100644 GIT binary patch literal 4800 zcmeH~v2MaZ5JdM=tW-1+Qi>=gLP`OOL`!WTU`t>VY+~{Cd9&w}6GTCg$|flBo$qkO zV`g@5X_=LlSZXKxcj?XdFojr&>O#t? zj_A`RZO$cdSi@6^C@=TfiC4n9b2{}@>#D_;d1(g-#?%wLo%>lCdGe8*EsY+bePZXq z3D><*)t&IzHmB~Y{)Qe!G(r`LRd?i0Oj%b=Q3c+69+vL(mEUbzrsMnnZEtpl{42da zgv8pQzu3*hE^q^2|RsWN=PE@xaoXwnK z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ65.edt b/Data/NPCData/civ65.edt index 65521df062641188066cd9ee52ac43936f7b50ec..94daff2852987612912e6d4cc7e06ab35d99ff1c 100644 GIT binary patch literal 4800 zcmeI0%SyvQ6o${E46X`A3NBm=VnIQ$3sGD~8=KlB)pVlx^nU-OK`ISxp(`f|&D>6= z%*VOr(Gr`RH%IHNpkG?eIJFbTPqt(&BWnrAybp6KMR;*O);gP9$HCtXd+a+#b zw!%iMV521#nMP%Q+o|k7dx!lto^3?C>F*k?Y;CyldWDU`z5hS_Z^>&L+pSHoRNeh` zD1pE6qsH&O;13Jph9arQ6FysxRgVtcItuwQ_S@Q|3$gejigO?9ki(#DH8D7|;juQ2 zXrD>2O=T=i{-SuCpplN4T+*vT#y9PKV~0-s`oAf(lqD}9nUV)8r=HRCA#X0}J3L`C zR*oai%6B$rWAl>Iw*?$hst(m4$_6tcM~z;JO$Mb;R>iW-XH=s(dkFj#Yw92&qN@Iy z%0;zZ3@mS`Ze^`)ZL116=cl+^p^vIb#P|(LBIAO;RF>UmJ2L63pjCrFruljxty7h& rd|GsKZfT{gx~YWK&qG}--SbiCS%>?x4+!Y1irAdld6!r}-$CF9$VYq< literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ66.edt b/Data/NPCData/civ66.edt index 65521df062641188066cd9ee52ac43936f7b50ec..ba717b6d9059145dd0e4777e27e39eea95ad1d48 100644 GIT binary patch literal 4800 zcmeH~J5R$f6ov0k$=C%|VqmTiOBpILAXSWM>W0wNDM?Djujib5<0gFwbzmVW6{+oO z2mJZmho_RsSR#3oLU#Dx;8{tH)@o5pGkIz(PQKBKCC7(z z*;?z!Lf>4=9eO4HT8j77GLe4#1a52b*ymn%naSutj0_9d_`O6cLpw#AG&xq{Nmdco z7U-?@G+rBP(abAxCZx;Rk$fD^XsN50y4oGsj{gzbXZ-JEK`zt_`xSOdeN`Z`!489+ z+{m&^F9ua|`A>WP%j2O^GF69@Pv|0(tuphV7Bv=fERN5DinMPc?c;bWMdfFqS%;NYzvBGuF>jhiPRr+ zL#Qo`&g2^Ow>cp2*eEZk>bPDG6%9Swpj?&IjzZt#m9WSR7-vwCXR@Onj;S zi*YaM#=ni$I2E2&S9kdi!K;}u=)qg)t6LX4y}#v3l=qGh2U+Q`rsgWk#Y3Rf>g}}E z)-NQ<{NYr4H8@d~ynXQ2VHvlr{;cLE`5beG%P{1R6eOIgjTMS1YjO(v);}Y_I~#BL P^vHX8IJ4gdekbq)1HQ&1 literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ67.edt b/Data/NPCData/civ67.edt index 65521df062641188066cd9ee52ac43936f7b50ec..ca3f8f383a9b1157421860705a41b285269e3507 100644 GIT binary patch literal 4800 zcmeH~%WA?v6o${E3|$FQ3SD&FMG+NBZ*$^8NmkMmJG#S)2rCCg)5R z^W{Gm`!=(}f-NnxoYj@Z>l^|D>)E5dz)g3&&LuEFe@k1#F4z$Lbx>hoUSJQlVI2F8 zJko7N``$t-*vQER_laRtW-C05Jxk%UvdR_sYNaJMu`j#+%ZXYa^f)0)rYJN+vyrNp zKEPrMi(o&nTk;dR9TeAYZ6diQSD;I=3oxv_-iZArt8?fqO1LOaQ)jukXd=fVwcY+q zjtg+hJbvF`80$qlsdlUCN8&YCV@my1H#mo<;`*ljrD)v~c!JXoVpHaZp4O_tDLGF0 zFJU#uvO}F6<}rTR>;7i$kzZUWYxRE>XAgAIQefd(P&K54&5j5I!2&NE+`7lMMEeN> T-{dGMOK z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ68.edt b/Data/NPCData/civ68.edt index 65521df062641188066cd9ee52ac43936f7b50ec..6bc4053137aeb06f8484a1f9b7b06bcb941330cc 100644 GIT binary patch literal 4800 zcmeI0K~KU!5QXQb?9q$yFA$>#doVGN8?2l1{q`D%1H1HbIGsGi>!A6Hv&$1LGHr2cnpH7_mW+?(By+ZemRJet zzjP2&(M@ucT;7wqoNG{DG4*a#yCqIh%k~>M@>}Rd{2Ppk^fT&PtAt1@*SCJbxC94M zEWwcOY&qOxwZcAjIjuhXiMz|2Y9v5YEoQ7>3$UR_MD%_^ygvTq$lM*UgS}6U`5vk= z--)AA*B^#^7IJ>ft48yZ{=k~%S;su)I%<}(R^DqCdWRi!RfFV!T|7;)LFUSKcJ_T^ zTT*R9%1OI%&{un9u{-9qWv@M{J<{f$4#Zcwm)z{;l21y34|r>LUEV(`&gjtn|-|K*G{S=Y=fnZxW1J(n4eIKc?Lq{D568ng%< zocEVPHCgG|e&jc3)1P&@WLD$-y|RtHc3rNv-zPG3%=}M*sqWOHxeNG>&6%<~vd?MZ Q6zmJx3$7K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ69.edt b/Data/NPCData/civ69.edt index 65521df062641188066cd9ee52ac43936f7b50ec..ed9209e200465b5676a5e85091eb7e51fdbedb8f 100644 GIT binary patch literal 4800 zcmeH~O;5r=5QgWcY&>~U6AzvVH@T=W8qdWRS_8H6A>r5iytBrV0L6H;OG9>dW(&#F zdFR~@ZDxfnY-MK_?2-AH@6490)8{mSCoACef zDmtK|pYWA#rCKSu-)i0G{NVnPK}%guUb140YMsLGYX6oL*&*;kWo6DRhgRG3Htr5$ zIic><|02}^R literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ70.edt b/Data/NPCData/civ70.edt index 65521df062641188066cd9ee52ac43936f7b50ec..2fe0c2fb1f01187ea37ec10e0a49d9ec6e47d146 100644 GIT binary patch literal 4800 zcmeH~Piw+J5XI-CEIoNCg&um&MJRzn4=scqH#J(xA8oR2=%?>{vo2PaRL^D&XtEg< zf4(3u>e}N@6x8ha8MXP-}1)S?d{nOm^>J*UBDutSZqZjuFO3=+A)_ zyI$fG;W@iN{T+Ls)81#{;Tr2cOANR&VFnQHwF7pt(q0%UdfXkg5A0Fdq4MtR_g+iE ztLB1{4SqkfqK8-Ms4x|D*dYhcnJ}>6CR4SZeYB1woBcwK z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ71.edt b/Data/NPCData/civ71.edt index 65521df062641188066cd9ee52ac43936f7b50ec..3016e61370db80e2ce858c03f5de2cce28e1ff75 100644 GIT binary patch literal 4800 zcmeH~OHaZ;6ov0knYil4khpMdjERqxiINzX1zKnXiUlP6dcSjr3Iw9ErKM@-*^+)e zXYQR>TUy1D+0+JHD+|<0TiJ!RzrP8*!)j@X6AV_sZf+^p%sP&v)i#^d>gu2-auTlFSdz@q5`yAi)Z#|tlLkg2> zqN*}VwdLoQ-+x#>y4q%Nn>e#z&+guU<8pcz&T~R7I=H2~Pc^Q8fp}5EErD0CAtY6% z^ro)O74$?h@)XI={$m>3dVtIqyaH?e%q}V8S}z}`n-RrhwM%AbW>jVd#XfV?*IchZ zp{oQEqB13J#FbEPP8nIiMj1`*<-%RAxSQeb($~q_dbGO%fx)T@SRC>86DGI-FJ^O<9eWC$v4k68Huv7l_>e literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ72.edt b/Data/NPCData/civ72.edt index 65521df062641188066cd9ee52ac43936f7b50ec..35adab11b5e9f478f0dde32ab689557fe837a027 100644 GIT binary patch literal 4800 zcmeI0K}*9x5QXQbES`Fif(Or`c(FG@M0!khZG*PaY-;JR_j{WxRaz;%Hk&{)+1(cM z@n+s^W>(wAoGrNSED*g}!`Or+Rg5-_wZtF23ahBhz4{z;(rRtrD71n9P>*}we`i;)c!XFO zR!KI>Gcv2AxDEzqQB$Lynv|wW_@5T%k*!==l!sgO_86zp2h^!_j!^dW8ZxtLx;{wTNHa*SHY#RXoScJkSw(^eTszPE{?tYN(p2U5k&@HS1Zcb(gK;Ea;iz+#gD89Tr9eHP99Ef_I%w@T biHXR0_bK z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ73.edt b/Data/NPCData/civ73.edt index 65521df062641188066cd9ee52ac43936f7b50ec..86dc28ab7a6b0b64ecfc3682f01d1cbb1169d9a2 100644 GIT binary patch literal 4800 zcmeI0!D@p*5QgVbmYjMiLJvLX+FVKxh0>$eMNO6kTb{@cDdfgy3bo9pE^%$;a(CbPq;pV%L?pXV4+ox zHc*;Sn!iE+VmM~tUWHbJw#7IY@_C-wxMzb(kMt^d$citfW5lc3fWE|XUuvt({l?XF>u4ha?w8!Hf*B~_*`n5-{ROuu$dYP+>^L{XYOKhIq zv~D(-eOdLf$H`8Z%|j+fpc>(tGta=;pw_MzMEkv`Gd7R)Or=D8-RxH+el6k_#OAzx zBCMY~^@t{oDSB%De}dyWj@6=tvs|epV9y?-V`rwvRt>FTD*ugGU-Aey9kWMnl7a<= N2YI~dclnEl{{_yGd2av! literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ74.edt b/Data/NPCData/civ74.edt index 65521df062641188066cd9ee52ac43936f7b50ec..c748a57565ab7e7b97d65bc88a1a7ac3a1560a41 100644 GIT binary patch literal 4800 zcmeHLO;5s55Zs^g;)#nP@!**l@z9HUATb^bt$YX+Y0>cOo!RZ$hC^crF=;CY`o5bt zZ)SF1?_@8j1UX732Rs+3#b^uih88|!*`icv59>43HnNj7dY0%bWF-Cl-77vpq7u6` zka0BojLUBs@d94O;7|aUa{SN1F0yKla)#$WhRsMC?_&9cZnrW}By*Hma~=knqHcOl zW!Su6&w3+ZM(ir*OHg*VW4rN^E*RjDJ9r{noTGdOd4eOR=qbSEA?kK28AfvjTkVKa zqMWu5i$4JItUyuiN)IH9ETu$_Swm2Q? zn=zi_x}xdHk8;0Me?cA*4JO#7MF#V}6>ylMEdd6(YIO-`EHH*SP8)syT)v&odsdI9 z&r!Yfd*flBF*(Jksb0sAk+njQahI6JXd}zonO`*R{Stl5)T&H`8s?3bcMrRZ&>4B( zO*L=HkiW$6v(Y79-HA2){+5=WUqxWY((}EUVr#iCzcSQs%KcUQ2XZ}rU7=EM I_{&Xv12K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ75.edt b/Data/NPCData/civ75.edt index 65521df062641188066cd9ee52ac43936f7b50ec..7e6b7ab600536d772be880a7a2cfd607816c41ea 100644 GIT binary patch literal 4800 zcmeH~T}#6-6o%iQ5_TmF8F=CK5ELee>~46u*=|$1cDCx+ulG5LgVcd7cxRK4ruo>Q z59d8^vd~sby~}B>TDcm=j+U#SI=wLCSl{}$sZwbZnCVUrnrq~1do7K+2|TJ&`J+t~ zYWJ_xjyWpLQE#&#R?VAD^+PVPeoy)Dl_+d{?pygY%>ic55L;6NS<8kQv(`7T&)FAFImUg@X~$eC z_p$uHGwOnGJ!(4S5c<=%_l*vVF7x4#BZsZo82A`v)?_lfd5q(Q^xliW7;Y5~oapt! zb+#$?kCVUJiRF`sG}o|uZ-H0X-MGXLQfU*ofr{lcb4&Bz8GV6+hSN*Rb8TAZqc_ef R72aUccBSj{4Qb|A0$*p{Yl#2= literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ76.edt b/Data/NPCData/civ76.edt index 65521df062641188066cd9ee52ac43936f7b50ec..05ec34517d46fc41177835e8ae7079c33eff02cc 100644 GIT binary patch literal 4480 zcmeI0!A`m)p+N$e(_bjdt0<$@V3RKuho1h z=jnOdVku~EX*)*bw&brhHn8jc857Bh=r(P^gKg8=`;h}b_#v!fuR*$D#qB=EZ6VxT$F3^{^lD9-sUu&S4 zqtUFlEI;8R6(yA&RSH?;zs1y$#QuqF(nCKd})(DaF}7aLR%z(+(%9 zTD4M=cDB0JthAP6xm}hY5Ez8Z*^#A~ICggror-7NyR>86;+pRK2ODQI#ScDw8_=~;nY^ilhyX5y8pNPa9BAdKf$mfynit*|x(y^9az&D4ds&eUm*fp_NVvqH6 zs!r0%J+1coppwf?#(#b#>ZwtOP98eZ`2|QUcw{&=`^7$ YoK z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/Data/NPCData/civ77.edt b/Data/NPCData/civ77.edt index 65521df062641188066cd9ee52ac43936f7b50ec..55aec7fc6132fb31d129d944cf3f64719246d8c8 100644 GIT binary patch literal 4800 zcmeH~&1=Fy5XI+DS$gWF1bXPX2ucW)uRqIz!eod4wp*56DuW>0f%3Z6^Qj6l^0$H5 zl3op}yu@?_c02K390g{qAT literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09