Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF: Are these bugs?

Hwei Sheng TEOH wrote:

> Hmm, at least this should be stated up front?? Say on a sign, or something, so
> that daft single players like me won't keep trying to complete the quest and
> getting frustrated? In fact, I'm finding out that some maps in Pupland
> definitely require multiple players... the problem being that none of them are
> clearly stated to be so, and ends up being rather frustrating. Of course,
> then sometimes I "cheat" by logging on multiple times with different
> characters and "coordinate" them to do what is necessary. :-P

 Yes - maps that require multiple players to successfully complete should say so
up front unless it is very obvious from the start that multiple players are
needed (a case of this could be two gates and lever combination that actually
require two players to get into the map.

 Having such signs may not be the most realistic, but for player frustation, is
somewhat necessary.

David Andrew Michael Noelle wrote:

>     Hmmm...  So, you're saying that all gods should empower their priests to
> Turn, Command, Banish, and destroy (Holy Word/Orb) undead?  I assume
> Devourers would still be an exception, and perhaps Gorokh.  Should they all
> have equal power over undead, or should Valriel and Gaea be better at
> destroying and turning undead and worse at commanding them?

 Certainly some gods should be better at it than others.  This could perhaps be
better dealt with by the attacktypes used in the spell.

 But my point was more that just because undead may not be the main enemy of
some god doesn't mean there should be no power at all against them.  But as
said, the race and god relation probably needs to be rethought and balanced more
- for many races, there are some very large gaps in monster toughness which can
make it difficult to gain wisdom experience.

>     Which reminds me, why doesn't Word of Recall work any differently for
> higher level casters?  It takes way too long to be used as an escape spell.
> I changed mine to work faster based on the caster's wisdom and level.  I can
> diff a patch for that if anyone's interested.  I need to test it some more
> first, though.

 Word of recall was never meant as an escape spell.  It was meant as a 'I am in
the middle of no place and just completed this adventure and what to get back to

 It would be interesting to have a more true teleport spell where you could
somehow choose where you want to go ('I want to go to scorn', or 'I want to go
to that dungeon I was just adventuring in').   I don't see a real easy way of
doing that unfortunately (the best way would be to keep a list of recently
visited maps and let the player choose which one to go to)

>     In many heated battles, I find that I've hit the Fire button a few times
> too many, and if that heal spell had gone off a fraction of a second
> earlier, I would have survived.  Perhaps we need an interrupt command to
> flush the command buffer?  That could be prepended to critical bindings, so
> that "interrupt; invoke heal" would abort any icestorms you're about to
> cast.

 The difficulty in doing that is the commands have already been sent to the
server (either travelling down the wire or at the server waiting for
execution).  While a flush buffer command could be written, it now changes the
requirement on the server to look at all commands as it gets them (and not as
when it can execute them), store them in buffers or a list, check for special
commands (flush), and do the right thing.  Not an impossible propisition, but
does add quite a bit of complexity.

>     On a barely related note, I'd love to see a repeat command that would
> keep doing the specified action n times, or until it is successful or you
> interrupt it.  Much safer than holding down the 's' key and hoping nothing
> ugly shows up and eats you before you can stop searching for the trap you've
> already found.

 Interruption goes to the above.  I guess you could add a feature such that if
something unexpected (broad definition and prone to confusion if already in
battle) happens, flush all pending commands (except for the definition of
something special, this is easier, as it just requires the server to read all
pending data and toss it, and doesn't have to worry about local buffering)

 But if nothing else, extending the count (which is used to control number of
items to pickup/drop) to actions makes sense.  you could type 10 north, 5 east,
etc if you know where you are going and save some typing.  This could be useful
for some things like searching chests and whatnot.  But to do this, you probably
want to abort on 'something unexpected' - if you run into a player that is in
your path, you probably don't want to be starting a fight.

>     I thought I read in some text file, that there was an option to set the
> server's speed.  Is there any such thing, and if so, where?

 config.h, MAX_TIME.  This is the sleep time before ticks (in microseconds). 
Higher value means slower game, lower value means faster game.  Default is
120,000 us, which amounts to about 8 ticks/second.

>     Ahhh... "cwindow"...  If cwindow is set to 5 during a fight, and I
> decide I need to cast a heal spell immediately, regardless of what's in the
> buffer, would "cwindow 1; invoke heal; cwindow 5" do it?  That might be a
> workaround for the interrupt command I mentioned above.

 I would have to look at the code to be sure - it may help, but commands already
down the wire are stuck there (cwindow is something totally handled on the
client).   The cwindow as a more recent feature, and I have not played around on
what a good value is.  a value of 2 or 3 may work perfectly well (still run the
character at 100% efficiency but not much delay).  There are many factors
involved - speed of the player and latency to the server.  A faster player needs
a slightly higher cwindow - for example, if the player speed is .1, it means it
only does something once every 10 ticks (little more than a second) - this
should be plenty of time for the player to react and send a new command.

  An approximate formula may be something like cwindow = network latency *
character_speed / max_time

 where character speed is the decimal number, and network latency is round trip
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to]