DynamicRanger on 5/8/2011 at 18:25
I've started work on a mod for SS2 that alters the behavior of cameras. The information below (
http://www.systemshock.org/index.php?topic=3038.0) won't be news to readers of the SS modifications archive forums, but I need some help, so I figured I'd post here.
The basic features I want to implement are:
- Destroying a camera sets off an alarm if the security system is active and reactivates the security system if it is offline, but does not set off an alarm.
- Destroying a camera permanently increases the maximum population of the level's ecology.
- Cameras can be hacked, making them neutral (oblivious to the player character). Hacked cameras have blue lenses.
- Hacking a camera temporarily decreases the maximum population of a level's ecology. When leaving a level, hacked cameras return to their default state and the max population returns to it's normal value, with the addition of whatever increases accrued due to destroying cameras.
I want this mod to be level-independent, so I'm looking at altering the behavior of the security camera and ecology object archetypes in the
shock2.gam file.
I haven't gotten any help with my vaguer posts before, so I will ask some specific questions:
-
After I load NVScript.osm from the Custom menu in ShockEd, the new scripts do not show up in the Object Hierarchy menu. Is this normal? Are the scripts loaded, but not visible/clickable?-
If I alter the properties of Object Archetypes in the gamesys file (Monsters > Security Camera and Traps > Ecology, specifically), will those changes be implemented in instances of those objects in individual levels? Or must those properties be altered on a case-by-case basis, within .mis files?-
What script or scripts can change the properties of a trap object (an Ecology, for my purposes)? Can those property alterations be incremental adjustments (+1, -3, etc.) or must they be discrete states?-
If I can manage to alter the Archetype properties of cameras and ecologies, will those new properties only apply within one level? For instance, if I have ecologies set to listen for the destruction of cameras, will ecologies on the Rec Deck notice the destruction of a camera in Engineering?If I can get help with these issues, the primary functionality of my mod idea can be implemented and I'm confident I can sort out most of the details on my own. I know how to make cameras hackable and make destroying a camera set off an alarm (thanks to Flatliner's Advanced mod).
Please tell me if you know that any of these features aren't possible. Thanks in advance for any help.
Nameless Voice on 7/8/2011 at 02:54
Quote Posted by DynamicRanger
-
After I load NVScript.osm from the Custom menu in ShockEd, the new scripts do not show up in the Object Hierarchy menu. Is this normal? Are the scripts loaded, but not visible/clickable?Scripts don't appear in the object hierarchy. You can get a list by trying to unload one, using the script_drop command with no parameters.
Quote Posted by DynamicRanger
-
If I alter the properties of Object Archetypes in the gamesys file (Monsters > Security Camera and Traps > Ecology, specifically), will those changes be implemented in instances of those objects in individual levels? Or must those properties be altered on a case-by-case basis, within .mis files?All objects in the specific missions will inherit the properties so long as those properties are not overridden by being set on the specific object.
Quote Posted by DynamicRanger
-
What script or scripts can change the properties of a trap object (an Ecology, for my purposes)? Can those property alterations be incremental adjustments (+1, -3, etc.) or must they be discrete states?Maybe NVRandomPropertyTrap or NVGenericScalarTrap?
Quote Posted by DynamicRanger
-
If I can manage to alter the Archetype properties of cameras and ecologies, will those new properties only apply within one level? For instance, if I have ecologies set to listen for the destruction of cameras, will ecologies on the Rec Deck notice the destruction of a camera in Engineering?The gamesys is global for all levels. If you set up something in the gamesys to affect its own object, it will only affect that object in the level, however. Nothing that happens in one level can really affect anything in another level, apart from mission variables and the objects transferred through loading zones.
DynamicRanger on 7/8/2011 at 03:14
You're a godsend! Thanks a lot! I've been puzzling over your scripts for days and I am just starting to figure it all out.