diff --git a/dev-assets/doodads/doors/colored-door.js b/dev-assets/doodads/doors/colored-door.js index baf7ac4..48015d8 100644 --- a/dev-assets/doodads/doors/colored-door.js +++ b/dev-assets/doodads/doors/colored-door.js @@ -1,6 +1,7 @@ function main() { var color = Self.Doodad.Tag("color"); + var keyname = "key-" + color + ".doodad"; // Layers in the doodad image. var layer = { @@ -34,8 +35,9 @@ function main() { return; } - var data = e.Actor.GetData("key:" + color); - if (data === "") { + // Do they have our key? + var hasKey = e.Actor.HasItem(keyname) >= 0; + if (!hasKey) { // Door is locked. return false; } diff --git a/dev-assets/doodads/doors/keys.js b/dev-assets/doodads/doors/keys.js index 2f7fba1..667022e 100644 --- a/dev-assets/doodads/doors/keys.js +++ b/dev-assets/doodads/doors/keys.js @@ -2,7 +2,9 @@ function main() { var color = Self.Doodad.Tag("color"); Events.OnCollide(function(e) { - e.Actor.SetData("key:" + color, "true"); - Self.Destroy(); + if (e.Settled) { + e.Actor.AddItem(Self.Doodad.Filename, 0); + Self.Destroy(); + } }) }