[Map for CFD2012 ] "The Descent" -File and discussion thread
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
Having the note mention needing something, rather than having it, is certainly an improvement. Changing the secret door into an ordinary door or portcullis might also help hint that something should still be done in that room. I still wouldn't consider it an easy puzzle, but at least I might have figured it out then.
- SpiderFighter
- Posts: 789
- Joined: Thu Apr 12, 2012 4:15 pm
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
Excellent points. To the player, that will also link the hall to the earlier portcullis with the herder (after stepping out from that huge dead space that used to be the telemaze).Ancylus wrote:Having the note mention needing something, rather than having it, is certainly an improvement. Changing the secret door into an ordinary door or portcullis might also help hint that something should still be done in that room. I still wouldn't consider it an easy puzzle, but at least I might have figured it out then.
Thanks again, to both of you!
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
BTW: I tried step by step John's log.
I'm under the pit at 2nd level over an invulnerable spider.
Seems to happen if and only if you kill the spider exactly over the pit (the spider over the pit).
It totally looks as a game engine bug: the spider is able to attack (and kill) but receives no damage whatsoever. It cannot be killed, not even by rejumping over it.
Reloading or changing resolution removes the spider.
Happens about with 50% chance.
Screenshot with all entities at that tile dumped:
I'm under the pit at 2nd level over an invulnerable spider.
Seems to happen if and only if you kill the spider exactly over the pit (the spider over the pit).
It totally looks as a game engine bug: the spider is able to attack (and kill) but receives no damage whatsoever. It cannot be killed, not even by rejumping over it.
Reloading or changing resolution removes the spider.
Happens about with 50% chance.
Screenshot with all entities at that tile dumped:
Waking Violet (Steam, PS4, PSVita, Switch) : http://www.wakingviolet.com
The Sunset Gate [MOD]: viewtopic.php?f=14&t=5563
My preciousss: http://www.moonsharp.org
The Sunset Gate [MOD]: viewtopic.php?f=14&t=5563
My preciousss: http://www.moonsharp.org
- SpiderFighter
- Posts: 789
- Joined: Thu Apr 12, 2012 4:15 pm
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
Pretty freaky, eh? I couldn't replicate it (of course!), even though I did the same thing he did. In any case, it's been squished in the next version already. I've moved the tile that spawns the ogre, killed the plate that the ogre triggered (to open the spider cage), and made the spider room a bit more interesting/exciting.Xanathar wrote:BTW: I tried step by step John's log.
I'm under the pit at 2nd level over an invulnerable spider.
Seems to happen if and only if you kill the spider exactly over the pit (the spider over the pit).
It totally looks as a game engine bug: the spider is able to attack (and kill) but receives no damage whatsoever. It cannot be killed, not even by rejumping over it.
Reloading or changing resolution removes the spider.
Happens about with 50% chance.
Screenshot with all entities at that tile dumped:
It is a fascinating bug, though. Check out the links I posted about it (in my reply to his post); it's been kicking around the forums (very rarely though) for a month or two.
I haven't had much time at the computer tonight (a minute here, a minute there), but I think I have that final crash squished, too.
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
SpoilerShow
I would handle the trap with a script like this:SpiderFighter wrote:I see what you're saying now. That's probably just a limitation of my scripting abilities. I did notice just now (while playing through to check lighting) that the room doesn't reset if you put the bracer back, and that seems unfair to me. I can take a look at this, but it's probably just beyond me right now. My eyes are bigger than my stomach when it comes to scripting, if that makes any sense.Ancylus wrote:[Re: Serpent Bracer Room] Don't get me wrong, I don't object to the deadliness of the puzzle at all, since it's voluntary and has a very fair warning. It's just the specific triggering condition that seems strange to me: I would expect the trap to trigger if I take the bracer without having placed the right item into the alcove, while other items would be ignored entirely. That said, this really isn't a big deal, just something that felt a little bit off.
Code: Select all
function checkItems(alcove)
for item in alcove:containedItems() do
if item.name == "serpent_bracer" or item.name == "skull" then
-- one of the items found, reset the trap if it has been triggered
return
end
end
-- neither item found, trigger the trap
end
- SpiderFighter
- Posts: 789
- Joined: Thu Apr 12, 2012 4:15 pm
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
Thanks, Ancylus! I already has a laundry list of 20 other fixes/additions/changes to the next version. This will be very handy. I'm trying to learn as much as I can; I hate being crippled by my own ignorance.Ancylus wrote:SpoilerShowI would handle the trap with a script like this:SpiderFighter wrote:I see what you're saying now. That's probably just a limitation of my scripting abilities. I did notice just now (while playing through to check lighting) that the room doesn't reset if you put the bracer back, and that seems unfair to me. I can take a look at this, but it's probably just beyond me right now. My eyes are bigger than my stomach when it comes to scripting, if that makes any sense.Ancylus wrote:[Re: Serpent Bracer Room] Don't get me wrong, I don't object to the deadliness of the puzzle at all, since it's voluntary and has a very fair warning. It's just the specific triggering condition that seems strange to me: I would expect the trap to trigger if I take the bracer without having placed the right item into the alcove, while other items would be ignored entirely. That said, this really isn't a big deal, just something that felt a little bit off.Code: Select all
function checkItems(alcove) for item in alcove:containedItems() do if item.name == "serpent_bracer" or item.name == "skull" then -- one of the items found, reset the trap if it has been triggered return end end -- neither item found, trigger the trap end
- SpiderFighter
- Posts: 789
- Joined: Thu Apr 12, 2012 4:15 pm
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
Having problems with that part of the script. If I use item.name then I have errors, because of how the script is set up. I've managed to have it work if the bracer is replaced, but then the script stops checking because of the "else" (so the player can just safely remove the bracer at that point).
Here's what I have:
Here's what I have:
SpoilerShow
Code: Select all
function orbcove9aaContents(entity, item)
for i in entity:containedItems() do
if i.name == item then
return true
end
end
return false
end
function orbcove9aaCheck()
if orbcove9aaContents(orbcove9aa, "humanskull")
then
humanskull_1:destroy()
sfjnd_wooden_2:open()
sfjnd_metal_1:close()
sfjnd_metal_2:close()
else
if orbcove9aaContents(orbcove9aa, "serpent_bracer")
then
sfjnd_wooden_2:open()
sfjnd_metal_1:close()
sfjnd_metal_2:close()
else
sfjnd_wooden_2:close()
sfjnd_metal_1:open()
sfjnd_metal_2:open()
end
end
end
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
Oh right, I forgot that you wanted to destroy the skull. In that case it's best to use a variable to keep track of whether it has been placed. Here's a slightly modified version of your code. (Although I don't quite see how replacing the bracer would break your script.)
SpoilerShow
Code: Select all
skull_found = false
function orbcove9aaContents(entity, item)
for i in entity:containedItems() do
if i.name == item then
return true
end
end
return false
end
function orbcove9aaCheck()
if not skull_found then
if orbcove9aaContents(orbcove9aa, "humanskull") then
skull_found = true
humanskull_1:destroy()
sfjnd_wooden_2:open()
sfjnd_metal_1:close()
sfjnd_metal_2:close()
else
if orbcove9aaContents(orbcove9aa, "serpent_bracer") then
sfjnd_wooden_2:open()
sfjnd_metal_1:close()
sfjnd_metal_2:close()
else
sfjnd_wooden_2:close()
sfjnd_metal_1:open()
sfjnd_metal_2:open()
end
end
end
end
- SpiderFighter
- Posts: 789
- Joined: Thu Apr 12, 2012 4:15 pm
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
Hmm...I don't know why either, but this acted exactly the same as my other script: Remove the bracer and the ogre doors open, put it back and ogre doors close, but then you can pick up the bracer again and nothing happens.Ancylus wrote:Oh right, I forgot that you wanted to destroy the skull. In that case it's best to use a variable to keep track of whether it has been placed. Here's a slightly modified version of your code. (Although I don't quite see how replacing the bracer would break your script.)
SpoilerShowCode: Select all
skull_found = false function orbcove9aaContents(entity, item) for i in entity:containedItems() do if i.name == item then return true end end return false end function orbcove9aaCheck() if not skull_found then if orbcove9aaContents(orbcove9aa, "humanskull") then skull_found = true humanskull_1:destroy() sfjnd_wooden_2:open() sfjnd_metal_1:close() sfjnd_metal_2:close() else if orbcove9aaContents(orbcove9aa, "serpent_bracer") then sfjnd_wooden_2:open() sfjnd_metal_1:close() sfjnd_metal_2:close() else sfjnd_wooden_2:close() sfjnd_metal_1:open() sfjnd_metal_2:open() end end end end
Re: [Map for CFD2012 ] "The Descent" -File and discussion th
I just tried it and it worked fine. How is your alcove connected to the script? It should have a single connector with Event any and Action orbcove9aaCheck, and Activate Always should be enabled. And do you have any other scripts affecting any of these entities?SpiderFighter wrote:Hmm...I don't know why either, but this acted exactly the same as my other script: Remove the bracer and the ogre doors open, put it back and ogre doors close, but then you can pick up the bracer again and nothing happens.