mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
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:
@@ -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) *
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 - 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 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 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 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. 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 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.
Reference in New Issue
Block a user