New feature: interactive actions allow various actions (hacking/reading/drinking/...) from user-defined xml acttions. The exact results can be set in a lua function.

For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=23144&goto=346447&#msg_346447

git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@2333 4f8fa57e-7814-0410-bad4-adc449f26b7c
This commit is contained in:
Flugente
2016-08-02 18:51:14 +00:00
parent 8858d75309
commit 0969339db9
18 changed files with 2075 additions and 41 deletions
+20
View File
@@ -435,6 +435,26 @@ AP_INVENTORY_ARM = 20
;***********************************************************************
AP_SPOTTER = 20
;***********************************************************************
;* The APs for hacking a computer *
;***********************************************************************
AP_HACK = 300
;***********************************************************************
;* The APs for reading a file *
;***********************************************************************
AP_READFILE = 50
;***********************************************************************
;* The APs for drinking from a watertap *
;***********************************************************************
AP_WATERTAP = 20
;***********************************************************************
;* The APs buying soda from a vending machine *
;***********************************************************************
AP_SODAMACHINE = 30
[BPConstants]
;***********************************************************************
;* Ratio of breath points to 1 energy (default = 100) *
+963 -1
View File
@@ -164,6 +164,45 @@ SectorY =
MAP_ROW_P = 16,
}
-- text colours
FontColour =
{
FONT_MCOLOR_DKWHITE = 134,
FONT_MCOLOR_LTYELLOW = 144,
FONT_MCOLOR_RED = 163,
FONT_MCOLOR_DKRED = 164,
FONT_MCOLOR_LTGREEN = 184,
}
-- these numbers aren't used in the code - we only use them in LUA
Languages =
{
LANGUAGE_ENGLISH = 0,
LANGUAGE_GERMAN = 1,
LANGUAGE_RUSSIAN = 2,
LANGUAGE_DUTCH = 3,
LANGUAGE_POLISH = 4,
LANGUAGE_FRENCH = 5,
LANGUAGE_ITALIAN = 6,
LANGUAGE_CHINESE = 7,
}
-- numbers for addressing which stat should get more experience
StatTypes =
{
HEALTHAMT = 1,
AGILAMT = 2,
DEXTAMT = 3,
WISDOMAMT = 4,
MEDICALAMT = 5,
EXPLODEAMT = 6,
MECHANAMT = 7,
MARKAMT = 8,
EXPERAMT = 9,
STRAMT = 10,
LDRAMT = 11,
}
local iLoop
local aimLoop
@@ -337,4 +376,927 @@ function HandleAtNewGridNo( ProfileId )
end -- End what EPC
end -- End team
end
end
ActionTypes =
{
ACTIONTYPE_INVALID = 0,
ACTIONTYPE_HACKING = 1,
ACTIONTYPE_READFILE = 2,
ACTIONTYPE_WATERTAP = 3,
}
InfoTypes =
{
INFO_TYPE_NORMAL = 0,
INFO_TYPE_VIP = 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 |||||||||||||||||||||||||||||||||||||
}
-- 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 )
if ( usActionType == ActionTypes.ACTIONTYPE_HACKING ) then
-- if computer is locked, we only get an error message
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_END ) then
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Can't reach host, automated disconnect.")
return
-- we cannot access this anymore, but gained something previously
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_END ) then
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Can't reach host, automated disconnect.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There probably wasn't anything else of interest on there anway.")
return
end
-- if we successfully hacked the Orta sublevel server that connects to Alma, hacking difficulty in Alma is lowered
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ORTA_BASEMENT_LAB2_SERVER) == ActionState.STATE_GAVEREWARD_OK) or (GetModderLUAFact(ModSpecificActions.COMPUTER_ORTA_BASEMENT_LAB2_SERVER) == ActionState.STATE_GAVEREWARD_END) ) then
if ( sSectorX == 13 and sSectorY == SectorY.MAP_ROW_H) then
difficulty = difficulty - 20
end
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_CENTRALSAM_PC_3) == ActionState.STATE_GAVEREWARD_OK) or (GetModderLUAFact(ModSpecificActions.COMPUTER_CENTRALSAM_PC_3) == ActionState.STATE_GAVEREWARD_END) ) then
if ( sSectorX == 4 and sSectorY == SectorY.MAP_ROW_N) then
difficulty = difficulty - 20
end
end
-- if skill >= difficulty, we succeed
successpts = skill - difficulty
-- if we fail very badly, shut down server
if ( successpts < - 30 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Unauthorised access detected")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Forcing disconnect from server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Please contact your system administrator for guidance")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_END)
else
SetModderLUAFact(sLuaactionid, ActionState.STATE_END)
end
return
-- if we just fail, give us a message
elseif ( successpts < 0 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Wrong password.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Logging you out.")
return
end
-- we need to remember this, so we know whether to give a reward later on
statebefore = GetModderLUAFact(sLuaactionid)
-- ORTA sublevel
-- info on Ernest's research (rocket rifle)
if ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_LAB1_SERVER ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The schematics of the rocket rifles are stored in here:")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Rocket rifle: personal infantry weapon based around 20mm rockets.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Each rifle holds one clip, with each containing 5 missiles.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There are several rocket variants:")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- Armour-piercing")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- High-Explosive")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- High-Explosive Armour-piercing.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- Cryogenic")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Even against armoured infantry the wounds caused by this weapon can be described as 'overkill'.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The weapon can also be used in an anti-material role with moderate to good success.")
end
-- this server is connected to Alma, hacking it lowers difficulty there
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_LAB2_SERVER ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You can still access the network.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This server is still connected to the Alma base network.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "It will be difficult, but you try to install a backdoor.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Establishing connection to Alma mil-net")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Password: ********")
-- this is really, REALLY hard to do
if ( successpts > 80 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Password accepted.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... cd ~")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... chmod 777 *")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... chmod: You have no permission for this command")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... sudo chmod 777 *")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We successfully infiltrated the server, hacking in Alma base SAM will now be easier.")
-- if we are extremely good, we can reset some computers if they were locked in Alma
if ( successpts > 80 ) then
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_KROTT) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_KROTT, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_KROTT) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_KROTT, ActionState.STATE_GAVEREWARD_OK)
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_BUREAU) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_BUREAU, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_BUREAU) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_BUREAU, ActionState.STATE_GAVEREWARD_OK)
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_FILEROOM) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_FILEROOM, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_FILEROOM) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_PC_FILEROOM, ActionState.STATE_GAVEREWARD_OK)
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_1) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_1, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_1) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_1, ActionState.STATE_GAVEREWARD_OK)
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_2) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_2, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_2) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_2, ActionState.STATE_GAVEREWARD_OK)
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_3) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_3, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_3) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_3, ActionState.STATE_GAVEREWARD_OK)
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_4) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_4, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_4) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_4, ActionState.STATE_GAVEREWARD_OK)
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_5) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_5, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_5) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_5, ActionState.STATE_GAVEREWARD_OK)
end
if ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_6) == ActionState.STATE_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_6, ActionState.STATE_OK)
elseif ( (GetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_6) == ActionState.STATE_GAVEREWARD_END) ) then
SetModderLUAFact(ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_6, ActionState.STATE_GAVEREWARD_OK)
end
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We were also able to reset some locked workstations.")
end
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_END)
else
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "We failed to hack the server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Wrong password.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Logging you out.")
end
end
-- info on weapon tests
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_HALLWAY_SERVER ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Weapon test results are stored on this server.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "In later stages of the project, the weapon was tested on live inmates.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The tests were filmed... the cruel demonstrations are gruesome.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "If these videos were to be published, this might cause serious headache for the companies invovled.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You do not want to see that again.")
end
-- Ernest's PC
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_LAB1_PC ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You dig through Dr. Poppin's personal research.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "It seems an even more advance version of the rocket rifle has been developed.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Several files seem to be missing... you can't find the weapon specifics.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The advanced version never developed further than the prototypes stage.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It is not known where those 2 prototypes are.")
end
-- money
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_LAB2_PC ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "A researcher is still logged in.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "Perhaps you can divert some of the project's funds?")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing Project managing")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Identification: Poppins, E.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Initiating money transfer")
-- depending on how skilled we are, we get different amounts of money
AddTransactionToPlayersBook(1, 0, 1800, successpts * 40)
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We've diverted project funds to our accounts!")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You play a bit of solitaire.")
end
-- hint on Dr. Kairns missing
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_CONTROL_CONSOLE_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "TO: ORTA HEAD OF SECURITY")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "FROM: ROYAL ADVISORY")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The absence of Dr. N. Kairns is simply unacceptable.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "As head of research, he cannot be replaced.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Your predecessor failed in properly securing him. Don't fail on returning him.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "That sounds rather harsh. This Dr. Kairns sounds interesting.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The remaining files seem rather boring.")
end
-- hint on secret weapons stash
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_CONTROL_CONSOLE_2 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This base seems to have different levels of clearance.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Some of the storage rooms are hevily fortified.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Explosives likely won't be enough, these doors require a key code.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "It is likely the lead scientists or guards might have the key codes.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The files don't say what exactly is stored here though.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You wonder what secrets this base might contain.")
end
-- info: some of the secret weapons got away
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_ENTRANCE_CONSOLE_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "A log lists recent arrivals and departures to this base.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "For a long time, this base onyl received supplies.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "But recently, quite a few shipments were sent from here to Meduna.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The logs don't say what was shipped, but the destination was the royal guard HQ.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This does not sound encouraging.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It's a UNIX system... I know this!")
end
-- warning on poison gas trap
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_BASEMENT_ENTRANCE_CONSOLE_2 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You find a schematic of the bunker.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "In the next room is a small lab with toilet next to it.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Then there's the centrall hallway.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "It seems there is some sort of gas trap installed in the hallway.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "On the left and right of it are two huge manufacturing halls.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The main hallway is then flanked by the security offices. They seem to be heaily staffed.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Behind another security door are the main labs, but you have no camera access.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There is nothing else on the console, you have to explore the base yourself.")
end
-- ORTA: bloodcats are studied here, so the computer has data on them
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_SERVER_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The server contains a manifest of the last months.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "A lot of resources arrive here for such a small observation post.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "In fact, a lot more than you see. You wonder where all of this equipment went.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "Something is not right here...")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You see lists upon lists of equipment that has no use in observing giant cats.")
end
-- ORTA: bloodcats are studied here, so the computer has data on them
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ORTA_PC_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This computer contains a lot of data on bloodcats physiology and behaviour.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "It seems there is a huge pack of bloodcats in the east of Alma.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "In fact, the pack is so huge that this might become a security concern.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You find a lot of rare cat pictures, but that's about it. Nothing more to learn from this.")
end
-- BALIME: the museum security consoles tell us a bit about the museum
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_BALIME_L12_MUSEUM_CONSOLE_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The museum security system hasn't been upgraded for a few years.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "All cameras are in the same network, with one simple on/off switch.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It is likely the switch will be in this room.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The cameras give you a view of the museum, but that's it.")
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_BALIME_L12_MUSEUM_CONSOLE_2 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There is a list of all exhibits on the computer.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Most of it are old sculptures and bronze works.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "But the most prized item is definetely the Chalice of Chance .")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Apart from the chalice, the museum doesn't seem to have anything of interest.")
end
-- Drassen SAM: get info from the pc and use the comman console
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_DRASSENSAM_PC_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "We've compromised an army personnel database!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decrypting files")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decryption complete")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing database")
-- give us info on troop movement
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
-- if we are really good, more data
if ( successpts > 50 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
elseif ( successpts > 20 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
end
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We were able to learn of enemy movement thanks to the data!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Unauthorised access detected")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Forcing disconnect from server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Please contact your system administrator for guidance")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
SetModderLUAFact(sLuaactionid, ActionState.STATE_END)
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_DRASSENSAM_COMMANDCONSOLE ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This seems to be the console that controls the SAM.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You have no idea how this works.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You decide to not touch anything, you might break something.")
end
-- Chitzena SAM: get info from the pc and use the comman console
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_CHITZENASAM_PC_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "We've compromised an army personnel database!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decrypting files")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decryption complete")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing database")
-- give us info on troop movement
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
-- if we are really good, more data
if ( successpts > 50 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
elseif ( successpts > 20 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
end
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We were able to learn of enemy movement thanks to the data!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Unauthorised access detected")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Forcing disconnect from server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Please contact your system administrator for guidance")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
SetModderLUAFact(sLuaactionid, ActionState.STATE_END)
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_CHITZENASAM_PC_2 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Apparently, this is the computer of the commanding officer.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You are lucky. He forgot to log out when he left.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing Arulcan Army Financial Services")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Identification: Cpt. Gutierrez, A.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Initiating money transfer")
-- depending on how skilled we are, we get different amounts of money
AddTransactionToPlayersBook(1, 0, 1800, successpts * 30)
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We've wired quite a bit of the commander's personal funds to our accounts!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The commander probably won't mind.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There is rather large connection of porn in here, but nothing you haven't seen before.")
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_CHITZENASAM_COMMANDCONSOLE ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This seems to be the console that controls the SAM.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You have no idea how this works.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You decide to not touch anything, you might break something.")
end
-- central SAM: get info from the pc and use the command console
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_CENTRALSAM_PC_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "We've compromised an army personnel database!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decrypting files")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decryption complete")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing database")
-- give us info on troop movement
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
-- if we are really good, more data
if ( successpts > 50 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
elseif ( successpts > 20 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
end
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We were able to learn of enemy movement thanks to the data!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Unauthorised access detected")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Forcing disconnect from server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Please contact your system administrator for guidance")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
SetModderLUAFact(sLuaactionid, ActionState.STATE_END)
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_CENTRALSAM_PC_2 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There is a plan on the base' security measures here.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "Apart from the garrison, there should be some extra mortar shells in some storage crates.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "It also seems part of the compound contains a minefield!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There seems to be no way to deactivate it remotely.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You should avoid the south of the building.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You keep looking, but there is no detailed plan on the minefield here.")
end
-- hacking this pc lowers hacking difficulty in other places
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_CENTRALSAM_PC_3 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It seems all of the SAM sites are connected to the Meduna SAM.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Perhaps you can hack it remotely?")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Establishing connection to Meduna air control")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Password: ********")
-- depending on how good we are, this might work
if ( successpts > 50 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Password accepted.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... cd ~")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... rm -rf *")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... rm: You have no permission for this command")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... sudo rm -rf *")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... ...")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We successfully hacked the server, hacking in Meduna SAM will now be easier.")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_END)
else
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "We failed to hack the server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Unauthorised access detected")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Forcing disconnect from server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Please contact your system administrator for guidance")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
SetModderLUAFact(sLuaactionid, ActionState.STATE_END)
end
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_CENTRALSAM_COMMANDCONSOLE ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This seems to be the console that controls the SAM.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You have no idea how this works.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You decide to not touch anything, you might break something.")
end
-- Meduna SAM: get info from the pc and use the command console
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_MEDUNASAM_PC_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "We've compromised an army personnel database!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decrypting files")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decryption complete")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing database")
-- give us info on troop movement
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
-- if we are really good, more data
if ( successpts > 50 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
elseif ( successpts > 20 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
end
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We were able to learn of enemy movement thanks to the data!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Unauthorised access detected")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Forcing disconnect from server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Please contact your system administrator for guidance")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
SetModderLUAFact(sLuaactionid, ActionState.STATE_END)
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_MEDUNASAM_COMPUTERBANK_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This station keeps track of all aircraft arriving in Meduna airport.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Cargo planes from foreign countries seem to arrive frequently.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It seems the army is significantly employing foreign mercenaries.")
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_MEDUNASAM_COMMANDCONSOLE ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This seems to be the console that controls the SAM.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You have no idea how this works.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You decide to not touch anything, you might break something.")
end
-- MEDUNA PALACE BUNKER
-- entrance desktop contains a list of important people allied to the queen
-- if you examine the names very closely, and also did so in Alma, you might learn something interesting here :-) (not yet implemented ingame)
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_MEDUNAPALACE_PC_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There are logs on who enters and leaves this bunker.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Quite a few dignitaries are listed here.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- V. Garcia, businessman")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- Cmdr. A. Morris, Tracona military")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- D. Harrows, Harrows Clothing Inc.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- A. Ricci, Ricci Mining and Exploration")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- Major E. Tavarez, Cali military")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- D. Van Haussen, businessman")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- Col. T. Meyers, US military")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- Major J.A. Vargas, PG PMC")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- Dr. E. Poppins, R&D")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "Being able to link these people to the regime might become useful.")
end
-- desktop, control room
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_MEDUNAPALACE_PC_2 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "According to protocol, in the event of an emergency, the queen is to be moved to here.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The existence of the bunker isn't common knowledge, and heavily fortified.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You see no immediate weakpoints.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "An occupying force will have to crush the entire garrison to take the bunker.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You quickly test your minesweeper skills. It's still top-notch!")
end
--
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_MEDUNAPALACE_CONSOLE_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "There is a plan on the bunkers security measures here.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The bunker two entries - one from the palace, one from an underground escape tunnel.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "A huge part of the bunker is off-limits to all but the queen's personal staff.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "There seems to be an active minefield in the hallway.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The controls should be around here somewhere.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "That minefield looks very nasty even from here.")
end
-- placeholder - until we have something more interesting, let's have this be a corrupted server
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_MEDUNAPALACE_SERVER_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing file.")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... File corruption detected.")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Ending session.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Whatever was on this server, the contents have been deleted. No way to make sense of it.")
end
-- ALMA storage
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMASTORAGE_PC_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The contents of the storage builings are listed in here.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- 1x M14")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- 1x FAMAS")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- several sets of armour")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- ammunition and grenades")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- experimental rocket ammo")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- several containers of fuel")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "- 9x ballistic missile")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Apart from the manifest, the computers contain nothing interesting.")
end
-- ALMA prison
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMAPRISON_PC_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The computer contains personnel files.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The guard units seem to shift every few weeks.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "You are able to deduct several troop movements.")
-- give us info on troop movement
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
-- if we are really good, more data
if ( successpts > 40 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
elseif ( successpts > 10 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
end
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You've already downloaded the files.")
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMAPRISON_PC_2 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This prison is used by the army for detention of high-value inmates.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It seems detentions are also carried out here.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You view some of the recordings. They are sickening.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Prisoners were regularly beaten, electrocuted, put on the rack...")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The list goes on and on.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "If these recordings were to be made public, the regime would get a lof of bad PR.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You've seen enough.")
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMAPRISON_PC_3 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The prison schematics are on this computer.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The barracks and offices are on the left.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The mess hall is in the center.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The inmates are all held in the right section.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "It seems the entire inmate block can be flooded with poison gas remotely!")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "The control switch is in a hallway leading from the offices to the mess hall.")
end
-- Alma base
-- the computer of Sgt. Krott has data on the secret weapons project
-- if you are good, you can retrieve the location of the project lead (a general)
-- keep in mind that this computer will be destroyed if the bomb goes off
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_PC_KROTT ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You see files about some top-secret weapons project.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It seems to be about some kind of new infantry weapon.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "You are able to pinpoint the location of the military project lead!")
AddInfo( InfoTypes.INFO_TYPE_VIP)
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You've already downloaded the files.")
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_PC_BUREAU ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You access the personal files of a Gen. Humphey.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "He seems to be the head of the army training program.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "His personal file suggests he is an 'advisor' of the US government.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "Leaking this information might cause some diplomatic embarassment.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You browse the internet and find two new memes.")
end
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_PC_FILEROOM ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Quite a bit of pay was moved via this desktop.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "You attempt to divert some funds.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing Arulcan Army Financial Services")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Identification: Gen. Humphey, T.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Initiating money transfer")
-- depending on how skilled we are, we get different amounts of money
AddTransactionToPlayersBook(1, 0, 1800, successpts * 60)
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We've wired quite a bit of the army's pay to our accounts!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It's not like they will need it much longer.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You search for more ways to wreak havoc, and post some witty comments on a messageboard.")
end
-- info on town layout
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_1 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You find a detailed of all military installations in Alma.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This base serves as a joint command/training facility.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "In the east there seems to be some sort of storage facility.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The army maintains it's own prison for high-value inmates in the south.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The population houses in the southeast, near the mine.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "If you could hold this base, this would be an excellent tra.")
end
-- warning that parts of the base blow up if you press the red switch
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_2 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Maintenance logs indicate that this base was recently upgraded.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It seems some sensitive material was recently delivered.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "A failsafe is rigged to blow them up, with the controls somewhere in this room.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "Whatever the army is trying to protect is likely valuable.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "In your opinion, anyone boobytrapping their own base lacks a few screws.")
end
-- info in foreign mercs (Conrad, Iggy, Mike)
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_3 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This console has files on foreign mercenaries hired by the army.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Conrad Gillit, training supervisor")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Igmus Palkov, heavy weapons")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Mike [REDACTED], strike team CO")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "Perhaps we can track down these mercenaries and get them to work for us.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Apart from Conrad, Iggy and Mike, no other foreign mercenaries stand out.")
end
-- info on suspected rebels
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_4 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You find old intelligence reports. This is intel on key rebel personnel.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Cordona, M. - Kill on sight")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Dasouza, C. - Kill on sight")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Marquez, S. - Neutralised")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Vargas, J. - [REDACTED]")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Valenciano, C. - Neutralised")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Dominguez, R. - Neutralised")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Rivas, M. - Presumed exile")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Serrano, A. - Neutralised")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Guzzo, D. - Kill on sight")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Portela, N. - Neutralised")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Casilla, A. - Neutralised")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Smythe, I. - Kill on sight")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "It seems the army has already eliminated most of the rebels. Only a handful remain.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The list of rebel losses makes for a grim read.")
end
-- info on enemy troop movement
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_5 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "We've compromised an army personnel database!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decrypting files")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Decryption complete")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Accessing database")
-- give us info on troop movement
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
-- if we are really good, more data
if ( successpts > 50 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
elseif ( successpts > 20 ) then
AddInfo( InfoTypes.INFO_TYPE_NORMAL)
end
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "We were able to learn of enemy movement thanks to the data!")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Unauthorised access detected")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Forcing disconnect from server")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "... Please contact your system administrator for guidance")
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "... Automated server disconnect")
SetModderLUAFact(sLuaactionid, ActionState.STATE_END)
end
-- files on rebellious population (Dynamo etc.)
elseif ( sLuaactionid == ModSpecificActions.COMPUTER_ALMABASE_CONSOLE_6 ) then
if ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Intelligence reports lists possible malcontents in Alma.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "While most of the populationis loyal to the queen, severe friction with the Duncan family remains.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "M. Duncan is the head of the Alma mine and as such irreplacable in the mid-term.")
SetScreenMsg(FontColour.FONT_MCOLOR_LTGREEN, "His brother, G. Duncan, serves a term in Tixa for life for civil commotion and instigation.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Steps have been taken to replace Mr. Duncan as head miner for greater stability.")
SetModderLUAFact(sLuaactionid, ActionState.STATE_GAVEREWARD_OK)
elseif ( GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "No other reports draw your eye.")
end
end
-- We can gain experience/wisdom by hacking successfully.
-- give us the reward if the computer was pristine and we've now been given the
if ( ( statebefore == ActionState.STATE_OK ) and (GetModderLUAFact(sLuaactionid) == ActionState.STATE_GAVEREWARD_OK) ) then
rewardpts = difficulty / 6
-- award experience
GiveExp(ubID, StatTypes.EXPERAMT, rewardpts)
GiveExp(ubID, StatTypes.WISDOMAMT, rewardpts)
end
elseif ( usActionType == ActionTypes.ACTIONTYPE_READFILE ) then
-- if skill >= difficulty, we succeed
successpts = skill - difficulty
-- if we fail to understand this, tell us so
if ( successpts < 0 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_RED, "You can't make sense of any of this.")
return
end
-- ORTA SUBLEVEL
if ( sLuaactionid == ModSpecificActions.READING_ORTA_BASEMENT_BOOKSHELF_1 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "This bookshelf contains many textbooks on chemistry, applied physics and mechanics.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "You read a bit, but quickly become bored.")
elseif ( sLuaactionid == ModSpecificActions.READING_ORTA_BASEMENT_BOOKSHELF_2 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It seems there was some research done on miniaturizing rockets.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "A rocket rifle would be small enough to be wielded by an ordinary infantryman.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Much effort was done to improve the accuracy of these rockets.")
elseif ( sLuaactionid == ModSpecificActions.READING_ORTA_BASEMENT_BOOKSHELF_3 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Quite a few books are about biometric encryption.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Whatever was researched here, someone wanted to make sure no one without clearance could use it.")
-- ORTA
elseif ( sLuaactionid == ModSpecificActions.READING_ORTA_BOOKSHELF_1 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "The books contain extensive knowledge on giant predatory cats.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Dust has settled on the books. There aren't used much, it seems.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "That is odd. What else would you study here if not bloodcats?")
-- SAN Mona
-- kingpin
elseif ( sLuaactionid == ModSpecificActions.READING_SANMONA_KINGPIN_BOOKSHELF_1 ) then
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Kingpin seems to log quite a few business transactions in here.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "It seems he controls almost all of San Mona.")
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "But none of the records explicitly state something criminal is going on.")
end
end
end
+25 -40
View File
@@ -92,6 +92,7 @@
<croucheddefense>0</croucheddefense> <!-- +- enemy cth if we are crouched against thick cover in their direction, -30 to 30-->
<fortify_assignment>0</fortify_assignment> <!-- +- % building speed, -50 to 200 -->
<snake_defense>0</snake_defense> <!-- +- % chance to evade snake attacks, -100 to 100 -->
<hackerskill>0</hackerskill> <!-- hacker skill, 0 to 100. Value > 0 means we can hack computers -->
<dislikebackground>0</dislikebackground> <!-- dislike everybody with a background that has the negative of this value -->
@@ -1173,24 +1174,16 @@
<!-- Gumpy -->
<BACKGROUND>
<uiIndex>45</uiIndex>
<szName>Academic/Bomber</szName>
<szShortName>Academic/Bomber</szShortName>
<szDescription>Most of your knowledge comes from the books and secondhand reports &#10;- and it didn't prepare you for a grim reality of a war zone as well as you thought.</szDescription>
<leadership>-3</leadership>
<explosives>6</explosives>
<wisdom>5</wisdom>
<szName>Harvard graduate</szName>
<szShortName>Harvard graduate</szShortName>
<szDescription>University taught you many things, but combat isn't one of them.</szDescription>
<leadership>-5</leadership>
<ap_fortify>10</ap_fortify>
<ap_artillery>10</ap_artillery>
<ap_airdrop>-5</ap_airdrop>
<ap_assault>-5</ap_assault>
<disarm_trap>10</disarm_trap>
<breachingcharge>30</breachingcharge>
<disarm_trap>20</disarm_trap>
<traplevel>1</traplevel>
<meleedamage>-3</meleedamage>
<resistance_suppression>-10</resistance_suppression>
<speed_run>-5</speed_run>
<spotter>-5</spotter>
<insurance>50</insurance>
<hackerskill>60</hackerskill>
<no_male>1</no_male>
<no_female>1</no_female>
</BACKGROUND>
@@ -2764,14 +2757,13 @@
<szName>Handyman</szName>
<szShortName>Handyman</szShortName>
<szDescription>Got something that needs fixing? Here's your man.</szDescription>
<mechanical>5</mechanical>
<dexterity>5</dexterity>
<ap_urban>3</ap_urban>
<ap_artillery>10</ap_artillery>
<ap_airdrop>-5</ap_airdrop>
<ap_assault>-5</ap_assault>
<betterprices_guns>3</betterprices_guns>
<betterprices>10</betterprices>
<hackerskill>50</hackerskill>
<no_male>1</no_male>
<no_female>1</no_female>
</BACKGROUND>
@@ -3302,13 +3294,12 @@
<szName>Technical Wizard</szName>
<szShortName>Tech Whiz</szShortName>
<szDescription>No matter if it's a thirty years old junk or latest electronic &#10;gadget, tech whiz can rewire, reassemble and reconfigure it with eyes closed.</szDescription>
<dexterity>8</dexterity>
<mechanical>8</mechanical>
<ap_inventory>-10</ap_inventory>
<ap_airdrop>-5</ap_airdrop>
<ap_assault>-5</ap_assault>
<disarm_trap>25</disarm_trap>
<traplevel>1</traplevel>
<traplevel>1</traplevel>
<hackerskill>80</hackerskill>
<no_male>1</no_male>
<no_female>1</no_female>
</BACKGROUND>
@@ -3607,11 +3598,11 @@
<szName>Circus Artist</szName>
<szShortName>Circus Artist</szShortName>
<szDescription>Let's hope you are as good evading bullets as you &#10;are evading knifes while tied to a board.</szDescription>
<agility>10</agility>
<dexterity>8</dexterity>
<cth_blades>4</cth_blades>
<resistance_fear>3</resistance_fear>
<insurance>10</insurance>
<ap_height>8</ap_height>
<cth_blades>10</cth_blades>
<resistance_fear>10</resistance_fear>
<insurance>20</insurance>
<croucheddefense>10</croucheddefense>
<smoker>2</smoker>
<no_male>1</no_male>
<no_female>1</no_female>
@@ -3988,16 +3979,16 @@
<szName>Metaviran Native</szName>
<szShortName>Metavira</szShortName>
<szDescription>The indigenous people of Metavira have adjusted to the hostile &#10;jungle there. After the liberation, some joined the foreigners, and sought their luck elsewhere.</szDescription>
<ap_urban>-3</ap_urban>
<ap_swamp>3</ap_swamp>
<ap_tropical>3</ap_tropical>
<ap_desert>5</ap_desert>
<ap_urban>-5</ap_urban>
<ap_swamp>5</ap_swamp>
<ap_swimming>-10</ap_swimming>
<cth_blades>7</cth_blades>
<stealth>5</stealth>
<resistance_disease>20</resistance_disease>
<camo>5</camo>
<ambush_radius>20</ambush_radius>
<snake_defense>60</snake_defense>
<snake_defense>70</snake_defense>
<no_male>1</no_male>
<no_female>1</no_female>
</BACKGROUND>
@@ -4389,6 +4380,7 @@
<approach_friendly>20</approach_friendly>
<approach_threaten>-20</approach_threaten>
<disarm_trap>10</disarm_trap>
<hackerskill>20</hackerskill>
<smoker>1</smoker>
<no_male>1</no_male>
<no_female>1</no_female>
@@ -4951,17 +4943,11 @@
<szName>Surveillance Expert</szName>
<szShortName>Surveillance Expert</szShortName>
<szDescription>A expert in both legal and illegal observation methods.&#10;Curiously, his resume never states where he learned all this.</szDescription>
<agility>1</agility>
<dexterity>1</dexterity>
<mechanical>3</mechanical>
<ap_urban>1</ap_urban>
<speed_run>1</speed_run>
<stealth>10</stealth>
<resistance_fear>3</resistance_fear>
<hearing_night>2</hearing_night>
<stealth>15</stealth>
<hearing_night>2</hearing_night>
<hearing_day>2</hearing_day>
<camo>10</camo>
<spotter>20</spotter>
<hackerskill>30</hackerskill>
<no_male>1</no_male>
<no_female>1</no_female>
</BACKGROUND>
@@ -5058,16 +5044,15 @@
<szName>Graduate/Bomber</szName>
<szShortName>Graduate/Bomber</szShortName>
<szDescription>Fresh outta school, with diploma still warm in a hand, it's time &#10;to finally make yourself a living.</szDescription>
<wisdom>3</wisdom>
<explosives>6</explosives>
<disarm_trap>10</disarm_trap>
<resistance_fear>5</resistance_fear>
<resistance_suppression>-5</resistance_suppression>
<breachingcharge>30</breachingcharge>
<traplevel>1</traplevel>
<spotter>-5</spotter>
<spotter>-10</spotter>
<insurance>50</insurance>
<smoker>1</smoker>
<hackerskill>10</hackerskill>
<no_male>1</no_male>
<no_female>1</no_female>
</BACKGROUND>
@@ -280,4 +280,11 @@
<bMoraleMod>1</bMoraleMod>
<usDecayRate>0</usDecayRate>
</FOOD>
<FOOD>
<uiIndex>40</uiIndex>
<szName>Soda</szName>
<bFoodPoints>0</bFoodPoints>
<bDrinkPoints>600</bDrinkPoints>
<usDecayRate>0</usDecayRate>
</FOOD>
</FOODSLIST>
@@ -32241,6 +32241,7 @@
<BigGunList>1</BigGunList>
<Electronic>1</Electronic>
<usOverheatingCooldownFactor>100.0</usOverheatingCooldownFactor>
<usHackingModifier>50</usHackingModifier>
<STAND_MODIFIERS />
<CROUCH_MODIFIERS />
<PRONE_MODIFIERS />
@@ -52158,4 +52159,30 @@
<CROUCH_MODIFIERS />
<PRONE_MODIFIERS />
</ITEM>
<ITEM>
<uiIndex>1740</uiIndex>
<szItemName>Soda</szItemName>
<szLongItemName>Soda</szLongItemName>
<szItemDesc>For a mix of industrial sugar and chemicals you don't really want to know, this sure is refreshing.</szItemDesc>
<szBRName>Soda</szBRName>
<szBRDesc>Not for sale through BR.</szBRDesc>
<usItemClass>268435456</usItemClass>
<nasAttachmentClass>1</nasAttachmentClass>
<nasLayoutClass>1</nasLayoutClass>
<ubGraphicType>2</ubGraphicType>
<ubGraphicNum>27</ubGraphicNum>
<ubWeight>3</ubWeight>
<ubPerPocket>1</ubPerPocket>
<ItemSize>18</ItemSize>
<usPrice>3</usPrice>
<ubCoolness>1</ubCoolness>
<Metal>1</Metal>
<usOverheatingCooldownFactor>100.0</usOverheatingCooldownFactor>
<FoodType>40</FoodType>
<usPortionSize>100</usPortionSize>
<ItemFlag>134217728</ItemFlag>
<STAND_MODIFIERS />
<CROUCH_MODIFIERS />
<PRONE_MODIFIERS />
</ITEM>
</ITEMLIST>
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.