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

Re: CF: Aligned Weapons



David Andrew Michael Noelle wrote:

>     That makes sense.  It would make the objects a bit more complicated, but
> much more versatile.  If I understand what you're saying, the artifact would
> have default stats for unaligned players (or servers without Multi-Gods),
> and sub-objects to apply to itself depending on the religion of the user.  I
> guess the definition might look something like this:

 At some point, the feature options of crossfire have to be cut down and not be
customizable.  It will be hard to make a balance/complete game if you can't be
sure what features may or may not be turned off.

 For example, if alchemy is turned off, that certainly closes some options for
map designers, and alchemy quest maps may become meaningless.  or things like
ALLOW_SKILLS - really, the crossfire feature set needs to be clearly defined so
that map makers and the code can be designed for that - that is likely to make
the world feel more complete and also make things easier to maintain.

 Anyways, the way to do aligned objects is probably something like:

 struct aligned_object {
	char *aligned_god;
	object *aligned_ob;
	char *reverse_god; /* for lack of a better name */
	object *reverse_ob;
	object *neutral_ob;
}

 Where the _ob are fully qualified objects - this allows objects to have
completely different properties, and not limited to what gets coded in
in the different aligned fields.

 To make things easier, you may have a top level char *name field to make that
lookup easier (as well as a couple other 'key' fields, or maybe just a char *op
which points to the currently being used object so the translation needs to be
done once)

 When a new player pickup up this aligned object, a comparison is done to see
what god player worships, and update the necessarily top level fields.

 This has the advantage that if it is done correctly, aligned items of any type
could be done (shield, armor, etc).  The plate armor of rugilli or the like.

 The problem with the above is actually setting it up in the map.  A possible
option on that could be to make the above an inventory type object with special
meaning - check to item for the god field and mark that the god match must be
set.

 For example, add a aligned_god field to all objects - if set, then you must be
of that god to use the object, otherwise it is non usuable.  But for the special
container object, it contains multiple god objects and the correct one is
applied for the player (invisible for the player of course).
-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to crossfire-request@ifi.uio.no]