Page 1 of 1

Alcoves, requests, and more.

Posted: Fri Sep 10, 2004 6:55 pm
by Rebecka
Is the behaviour of an alcove hardcoded into the executable?
I would like to create a 'table', working just like an alcove, but visible from all directions, and wide as a floor tile.
Can it be made possible to create 'custom alcoves'? Or perhaps a 'special floor tile', with a 'height offset' (so that objects displayed upon this floor would sit higher up).

And then there are two other things:

Can the DSA exchange the contents held by the mouse pointer?
I have tried to make a mana fountain (like a water fountain, but you get mana potions from it). You should be able to click upon it with an empty flask, and get a mana potion instantly back (not a 'coffe machine' where you insert your flask, press a key, wait for the *bing* and the full flask pops out).
I can't make it work. Either I need to be able to tell the DSA exactly where to put an item (whithin a floor tile), or I need to exchange the contents of the mose pointer directly.

Last of all, I would like a 'monster wall'. A wall that monsters cannot pass through, but is invisible to (and possible to walk through by) the player. It's possible to use teleporters, but a special wall would be simpler. Also, it would make it possible to have two golems facing each other with just one tile in between.

Posted: Fri Sep 10, 2004 10:00 pm
by Paul Stevens
The alcoves are rather special cases many places in the code. I would
hesitate to try and change these things.

Is there a spell that creates mana potion? We should be able to create
a new spell using a DSA that duplicates the mana-spell with the very small
difference that the flask is in the cursor rather than in a hand. How did you
try to make such a thing? Maybe you have a better way.

A monster wall...... Anyone else think this would be a worthy project?
I don't know how this might be done. But that does not mean that
something clever might not do the trick.

Posted: Fri Sep 10, 2004 11:53 pm
by beowuuf
For the walls, I mentioned this for RTC aswell. As stated sometimes teleporters aren't the best since they have to push a monster somewhere, so a wall/blocker in the middle of a room for example is obvious. It would be nice to have an object version too, so objects/spells could just be stopped dead in their tracks - like the invincible knight idea in CSB, except now items would explode/stop on the tile before the creature, making it look as if they struck.

And you can already create a mana fountain without DSAs initially - you need to have a fountain set to exchange a water flask with a mana potion in the wall. So when you take your empty flask and touch the wall, the engine instantly swaps it out whrn iy produced the water flask, so it looks like you got a mana potion just liek you want.
I have done the same thing, but with healing potions (the benefit here is that you could still use waterskins for getting water too)
If you want this effect to be infinite, you can then programme a DSA to keep restocking the water fountain with mana potions. Otherwise, you can limit its 'charges' by putting a finite amont of mana potions in the wall. Once they run out, you just have a normal fountain again.

For the table - can't you mess around with the alcove graphics and make transparent everything except the bottom?

Posted: Sat Sep 11, 2004 1:32 am
by Paul Stevens
you need to have a fountain set to exchange a water flask with a mana potion in the wall
Thanks. A nice simple solution. No pun intended. Sort of obvious
when someone points it out. ;-)

Posted: Sat Sep 11, 2004 2:01 am
by Paul Stevens
Walls, huh? Hmmmmmm........I don't think there are any bits left for walls
without using that 8th cell-type. And that would be a lot of work.
I wonder if we might implement a special kind of actuator that could be
placed under a cell that would cause a DSA to be executed (like the spell
filters). The DSA could use special functions to modify the behavior or the
runtime engine.

In the case at hand........when we are about to move an object onto a
cell......we see the special actuator under the destination cell, we run
the associated DSA, the DSA sets some system flags that say, in effect,
that the destination cell is a solid stone wall. The party gets their nose bumped,
the monster cannot move there, the fireball explodes, the arrow drops
to the floor, etc. The DSA can decide that only arrows can pass. And, of
course, it can make a solid stone wall passable by daggers. Or pits traversible
by Gigglers. Etc. I cannot promise all thies things could work initially and
there will probably be strange bugs for quite some time. But it seems more
flexible than a simple 'Monster Wall'.

Posted: Sun Sep 12, 2004 1:02 am
by Sphenx
In DM2, a monster wall is available through an actuator. It is a useful feature for the designer.

For the table problem, I think playing with the alcove graphics will not resolve it since you will only see the items of a quarter of the 'table' each time, the one in front of you. You don't see the four corbums of the corbum pillar at the same time, do you?

Posted: Sun Sep 12, 2004 1:36 am
by beowuuf
I've never put an alcove on an invisible wall though...not sure if it's actually possible with the CSBwin engine...but i don't think anything other than the wall graphic obscures the view...

But yes, the major stumbling block here is that the wall graphics obscure everything even if the items on the other corners are being drawn...

Posted: Sun Sep 12, 2004 2:50 am
by Paul Stevens
Having been through the 'DrawAsSize4' business, I may know enough
to allow you to specify the order in which to draw the objects in a
cell. We might use that special Actuator that I mentioned for the
monster wall to cause a DSA to fire up when drawing the objects in a
room. In the case at hand, I think we draw the wall, the alcove, and then
the objects. Since the objects are drawn last they should all be visible.
But I think what might make this practically impossible is that the objects
on the far side would be drawn at the wrong height. The engine has no
concept of drawing objects in alcoves except on the near side of a wall.
Nor in the center (rather than the corners). So unless something very clever
is suggested, I thing you had better not hold out too much hope.

Posted: Sun Sep 12, 2004 6:38 am
by cowsmanaut
personally I was thinking of a door graphic.. but I'm not sure if that puts the side door holder things by default. in which case it wouldn't work.. I also suppose it doesn't have a side view assgned to it either..

Shrug.. so much for that idea.. :P

Posted: Mon Sep 13, 2004 7:03 pm
by Rebecka
I think this DSA-wall would be very appreiciated. 'Monster walls' are really handy.

So your suggestion for a 'table' is that I put four alcoves together at an invisible wall, and then adjust the order in which the objects are drawn? Does CSB really draw the objects in an acove facing away from the player?

What about the idea to 'adjust' the height where objects are displayed, when they rest on the floor?

Posted: Tue Sep 14, 2004 1:21 am
by Paul Stevens
Does CSB really draw the objects in an acove facing away from the player
No, it does not. My suggestion was that we force the order things are drawn
and include the other side. But I pointed out two problems that I do not
see how to overcome. The height....we could draw them higher...and the
fact that drawing them is not sufficient......you also need to be able to
pick them up and drop them. The calculations for mouse positions versus
objects is a bit convoluted and I would not want to try and change these things.