Fionn Colvin wrote:
>What I'd like to do is change the mim position bit in the command list
>to a list of legal positions. Something like this.
> POS_DEAD a
> POS_MORTALLYW b
...
>
> Then in the command list id have something like this below. In this
> example if you were in POS_RIDING (i) or POS_STANDING (l) you could do
> the command kill. etc.
>
> { "kill" , "il", do_kill , 0, 0 },
...
> I think this would make adding new positions much easier.
>
>So can anyone see any major problems which will arise from doing this?
Well first of all, you have to update the socials DB to accomodate
this scheme.
Second, while I can see POS_CLIMBING as a valid position that precludes
any other type of position (standing, sleeping, etc), I don't think
it's sensible to include POS_RIDING in a positional scheme. When I
implemented it, I just added a rider field to struct char_data - that
way you can sleep on horseback, for example.
Now, if you don't put POS_RIDING in, that complicates things.
So my question is, why not simply add a bitfield to your command table
that allows for checks against riding and other non-positional states?
{"kill", POS_STANDING, do_kill, RIDING_ALLOWED, 0, 0},
...
That way, you don't change nearly as much. While a character-based
schema would make for a more extensible *database* (the socials and
mobiles databases), you don't need such an approach to make your
interpreter more flexible.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2
mQCNAzHp4aoAAAEEANXSOayXVPnQYL09AxYtkHjcTC22+URW0eAYrJQuBq30xHQG
XOfA/AO36qD0ArPc1YjyX60bXTVgIQuyJzTzixNY7EtuAZ1qzYliZNdzse1mn87d
1EmpFbcnqyHd6HY6K20t7nQpDcgDvR3uPySqZ4tBYkdr44W4wOKr5Ck3PxUhAAUR
tCJKYWNrIFdpbHNvbiA8ZGVlamF5QGN1LW9ubGluZS5jb20+
=4AQ9
-----END PGP PUBLIC KEY BLOCK-----
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST