|
|
|
@@ -21,8 +21,8 @@ function updateRoom(dest, state) { |
|
|
|
const areaName = document.querySelector("#area-name"); |
|
|
|
const areaDesc = document.querySelector("#area-desc"); |
|
|
|
|
|
|
|
areaName.innerText = room.name; |
|
|
|
areaDesc.innerText = room.desc; |
|
|
|
areaName.textContent = room.name; |
|
|
|
areaDesc.textContent = room.desc; |
|
|
|
|
|
|
|
const holder = document.querySelector("#move-holder"); |
|
|
|
|
|
|
|
@@ -34,7 +34,7 @@ function updateRoom(dest, state) { |
|
|
|
button.id = "move-" + dir; |
|
|
|
button.classList.add("disabled"); |
|
|
|
button.setAttribute("disabled", "true"); |
|
|
|
button.innerText = dirs[dir]; |
|
|
|
button.textContent = dirs[dir]; |
|
|
|
holder.appendChild(button); |
|
|
|
}); |
|
|
|
|
|
|
|
@@ -42,9 +42,18 @@ function updateRoom(dest, state) { |
|
|
|
const button = document.querySelector("#move-" + dir); |
|
|
|
const dest = world[exit.target]; |
|
|
|
|
|
|
|
// don't even show an exit if this fails! |
|
|
|
|
|
|
|
if (exit.show) { |
|
|
|
if (!exit.show.every(cond => cond(state))) { |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
button.textContent = dest.name; |
|
|
|
|
|
|
|
// if any condition fails, don't enable/add a listener |
|
|
|
if (exit.conditions) { |
|
|
|
console.log(exit.conditions); |
|
|
|
if (!exit.conditions.every(cond => cond(state))) { |
|
|
|
return; |
|
|
|
} |
|
|
|
@@ -52,7 +61,6 @@ function updateRoom(dest, state) { |
|
|
|
|
|
|
|
button.classList.remove("disabled"); |
|
|
|
button.removeAttribute("disabled"); |
|
|
|
button.innerText = dest.name; |
|
|
|
|
|
|
|
button.addEventListener("click", () => { |
|
|
|
// todo: log |
|
|
|
@@ -74,6 +82,12 @@ world = { |
|
|
|
state => { |
|
|
|
return state.player.items.keys.includes("Locked Room"); |
|
|
|
} |
|
|
|
], |
|
|
|
|
|
|
|
"show": [ |
|
|
|
state => { |
|
|
|
return state.player.items.keys.includes("Locked Room"); |
|
|
|
} |
|
|
|
] |
|
|
|
} |
|
|
|
} |
|
|
|
|