5 second pitch: Optionally run an additional script when you play or replay a room.
===
Here's the idea.
A Script Injection consists of the following bits:
* One character script
* Room and Hold location info
* Description
Injections can be exported and imported to files, downloaded from CaravelNet, or included in holds (like the demos to be seen from the main menu).
While playing you have the option to activate an injection if you have one for a given room. When you activate it, the room restarts and you then play the room as per normal, but with the extra script running.
Once you leave the room, the game automatically restores back to where you started from.
===
So, the main use is to add challenges to existing holds, without having to convert them to TSS and reupload. Say I wanted to create a formal challenge for
this room in Tar Ballroom. Here's how I'd envision it working
* In the editor I'd go to the relevant room to create the injection. I'd create the character script ("
wait for player to hit central orb while room isn't clear, wait for clear room, award challenge"
) and write a description "
Challenge: Solve the room by hitting the central orb"
* Export the injection to file, submit it on the forums similar to a normal hold.
* It gets reviewed and approved.
* Players with CaravelNet can now download it in game. On completion the challenge demo now includes the fact that a script injection was used, and id info for which one, so the spider can verify the demo properly. Only "
official"
injections will award challenges for the challenges scoreboard, of course.
===
Originally I was thinking you'd have to limit the scripting allowed to prevent changes to the room, but then I realised that this could also allow new types of challenges that would normally involve creating a copy of the room (e.g. "
solve the room but with a spear"
, "
replace the goblin with a roach queen"
, "
remove this corridor"
, "
deal with extra queens"
etc) Injections of this sort could optionally be included with the hold when it is exported.
Not limiting the scripting is why you'd need to autorestore once an injected room is complete, otherwise scripting could allow a player to bypass a room, mess with hold variables, or get to a normally impossible entry point which would interfere with high scores
[Last edited by Rabscuttle at 07-09-2019 02:15 AM]