http://i467.photobucket.com/albums/rr40/WRFan/ScreenShot168.jpg
Ok, so now it can be activated, but it still doesnt work properly, because Obsidian can't count to 3. Can you say "One two three," Obsidian? There are 14 terminals in this room affected by the virus, 3 of those are randomly chosen as virus hosts. According to the Repair message that is displayed when you click the electrical switch, the switch cuts the power to all but 3 terminals. This means 14-3=11 terminals must go offline if the player passes the Repair check. But you only disabled 10 terminals, so 4 are still online. 14-3 is 11, NOT 10, Obsidian, you math geniuses!
And now about virus jump randomisation. What randomisation, Obsidian? What randomisation are you babbling about? There are 3 terminals left online, the virus is thus limited in its jumps to 3 hosts that are still online. There is no room left for randomisation! Hey, no problem, Obsidian says, we'll just let the virus jump to terminals whose power has been cut off by the electrical switch. Yes, Obsidian, but don't you understand that first, this voids the very purpose of using the electrical switch to limit the number of affected terminals and second, the player cannot click on terminals that have been set to Destroyed? Such in-game objects cannot be activated! The options are clear if the electrical switch is used - only the terminals that are still online can be affected, so skip the randomisation and assign virus host status to these terminals directly, for God's sake, even a child would understand this!:
HVDatastoreWallTerminalScript:
if VDialogueHiddenValley.PowerCut ;HVDatastoreElectricalSwitchScript disables all terminals except 3, which are HVDatastoreTerminal11REF, HVDatastoreTerminal12REF, and HVDatastoreTerminal14REF. These are the hosts and that's it. That's 3 out of 3. PowerCut var wasnt set properly by Obsidian either (check HVDatastoreElectricalSwitchScript)if GetSelf == HVDatastoreTerminal11REFset VDialogueHiddenValley.CurrentTerminalHost1 to 1set VDialogueHiddenValley.CurrentTerminalHost2 to 0set VDialogueHiddenValley.CurrentTerminalHost3 to 0elseif GetSelf == HVDatastoreTerminal12REFset VDialogueHiddenValley.CurrentTerminalHost2 to 1set VDialogueHiddenValley.CurrentTerminalHost1 to 0set VDialogueHiddenValley.CurrentTerminalHost3 to 0elseif GetSelf == HVDatastoreTerminal14REFset VDialogueHiddenValley.CurrentTerminalHost3 to 1set VDialogueHiddenValley.CurrentTerminalHost1 to 0set VDialogueHiddenValley.CurrentTerminalHost2 to 0 endifActivatereturn ;return here so the script stops execution before reaching the randomisation code only necessary if player didn't use the electrical switchendif
http://i467.photobucket.com/albums/rr40/WRFan/ScreenShot169.jpg
http://i467.photobucket.com/albums/rr40/WRFan/ScreenShot170.jpg
