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

Re: CF: Alternate proposal: MARK the power crystals

David Andrew Michael Noelle wrote:

>     One thing we do have a consensus on is that mages, especially at low
> levels, are significantly harder to play than warriors.  Warriors can take a
> beating and keep fighting back, while mages have to do their best not to get
> hit at all and can deal enough damage to do that only as long as they have
> enough spell points to destroy their enemies before they can get too close.
>     Glowing Crystals effectively increase a mage's spell point reservoir,
> which goes a long way toward evening out that initial disadvantage.  On the
> other hand, having a large number of crystals at your disposal means having
> as many spell points as you have patience to charge.
> How should the limit be enforced?

 I don't think crystals come into play much at all at low levels.  Except for
one of the classes that start with one, at best, the character probably has to
be about level 10 (at least) before they could finish one of the quests and get
a crystal.

 So crystals are definately a medium to higher level thing.

 To me, the prime usefulness of crystals is:
1) Player can charge up crystals before going on the adventure, and thus
limit the tedium to being in town or other place (doesn't have to wait to regain
hp while adventuring)
2) Some monsters have a fairly high regen rate, so a mage needs the crystal in
order to get enough spells (damage) off to kill the monster - if the character
goes out to regain sp, the monster has regained their hp, and the player
effectively needs to start over.

 Note that #2 could be said to apply equally well to fighters with regards to
HP.  I have adventured a few times and found monsters that I can't do damage to
fast enough to kill (and if I go out and regain my hp, its regained all of
its.)  That doesn't strike me as a major problem - there are such a thing as
monsters that are tougher than you should really be taking on right now.

>     Keycodes have been suggested as a way to allow up to one crystal of each
> type without conflict, with those types to be determined by map designers as
> the new crystals are placed.  Others have suggested that incompatible
> crystal types could be detected by comparing their attributes and causing
> problems if they are too similar.

 I will note that they keycode method works OK to prevent characters from
gaining multiple crystals from the same map, but does nothing to prevent a
player from having 15 crystals if they can find that many quests with crystals.

 And it would not surprise me if more maps start showing up with crystals.  Even
if not to get around that - just as the world grows and maps are added, the map
designers are going to have to put in proper rewards, and that will be artifacts
of some sort for most maps.

 So I agree with whoevers suggestion that not using tags, but instead looking at
the inventory for conflicting objects probably makes some more sense.

 As I see it, there are two main problems:
1) regain sp/grace/hp can be time consuming/boring.
2) Characters with too many artifacts can unbalance the game.

 A thought for #1 is to increase regen rate substantially if player is resting. 
Resting would be determined by something like player has an action but chooses
not to use it.  The amount of resting/gained could be tracked - each time player
has an action but chooses not to use it, rest_value gets increased by one, when
player actually does something substantial (ie, something that forces the
character to do something, and not some administrative command), rest gets reset
to zero or divided in half or something.

 This would reduce tedium somewhat - character would not get any advantage while
charging around in the middle of combat, but if they go and stand still, their
regain rate goes up and so they need to spend less time doing that.

 As for #2, tag lines don't really help out - there are probably 30+ quests, all
with good artifacts.  Having tags doesn't do anything.  Except for perhaps the
power crystal, having multiples of the object doesn't do any good unless you are
with a party.  But I have a couple thoughts.

 First, crystals since they are sort of unique:

 Whenever a player charges a crystal, look through the players inventory for
other crystals.  If the total charge in all the crystals is higher than the
average storage capacity (or perhaps the highest crystal storage capacity in the
players inventory), roll a random result.  The results would be worsened based
on the number of crystals and the amount of overcharging (so 10 empty crystals
is not a big deal, where 3 fully charged crystals could be).  Some effects could
be something like 'your crystals seem to be interfering with each other' (first
warning), 'Your glowing crystal starts to fracture' (reduce max capacity of one
of the crystals), and worse could be be something like 'Your glowing crystal
explodes with a burst of energy' (destroy the crystal, and cast mana storm or
the like centered on the player).  Some other stuff inbetween should be filled

 To further this, the fix_player function could be modified to do the same
thing.  Thus, if a player tries to get around the problem, by charging a
crystal, dropping it, and the hope to pick them all up, he will be in trouble. 
Since the fix_player is called at various times and already traverses the
players inventory, no real hit doing this crystal tracking.  But it also adds
some unpredictability.  In the second case above (crystal starts to crack), they
need to do something, as when fixed_player is next called, he is in a
potentially worse situation (more charges in lower capacity devices).  In order
to prevent the cascade from happening too fast, you could bypass the crystal
checks if you have done one within the last 100 ticks or so.  In fact, you could
just have fix_player deal with it all, and not even add special code when
applying (since you might be able to charge one up, and be a little while before
it explodes).

 This method requires a minimal amount of extra coding, will apply for all
crystals, but won't harm things if the player is picking one up for a friend or
whatever.  It is only harmful if the player is trying to use multiple power
crystals on his own.

 The general artifacts is more difficult.  One idea would be to track the number
of artifacts the player has in their inventory, and if more than some number,
start doing bad things.  This magic number would be at least partially
determined by the characters level, so high level characters could have more

 The determination of artifact could either be determined by some specific flag
that is set, or have the program take a best guess (various attributes mean it
is an artifact).

 Same advantage here as with power crystals - maps don't need to get updated,
amount of extra code is not large, but still limits the character to some
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to]