Noah Petherbridge
38614ee280
* Tightens up the surface area of API methods available to the JavaScript VMs for doodads. Variables and functions are carefully passed in one-by-one so the doodad script can only access intended functions and not snoop on undocumented APIs. * Wrote tons of user documentation for Doodad Scripts: documented the full surface area of the exposed JavaScript API now that the surface area is known and limited. * Early WIP code for the Campaign JSON
28 lines
513 B
JavaScript
28 lines
513 B
JavaScript
// DEPRECATED: old locked door script. Superceded by colored-door.js.
|
|
function main() {
|
|
Self.AddAnimation("open", 0, [1]);
|
|
var unlocked = false;
|
|
var color = Self.GetTag("color");
|
|
|
|
Self.SetHitbox(16, 0, 32, 64);
|
|
|
|
Events.OnCollide(function(e) {
|
|
if (unlocked) {
|
|
return;
|
|
}
|
|
|
|
if (e.InHitbox) {
|
|
var data = e.Actor.GetData("key:" + color);
|
|
if (data === "") {
|
|
// Door is locked.
|
|
return false;
|
|
}
|
|
|
|
if (e.Settled) {
|
|
unlocked = true;
|
|
Self.PlayAnimation("open", null);
|
|
}
|
|
}
|
|
});
|
|
}
|