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

Re: Further notes about 0.90.1.



Mark Wedel <master@rahul.net> recently wrote:


>
> There are a few changes I am thinking of making:
>
> Change spell learning.  Modify it by 5% for level difference of the spell
>level and character level.  This way, high level characters with very
>low wisdom could learn low level spells, and thos with high wisdom would
>have a difficult time learning spells that are 8 levels higher.

Here's one of my major complaints of crossfire. I'd like to see stuff
having to do with the game mechanics moved into a separte part of the
code.  Many people may not like how the spell learning system works, or
how combat and damage chances are arranged, and want to change them.  This
can be a pain if the code for this is all over the place.  Separating out
the game rules from the code necessary to just run the rest of the game
program would be a good thing to do, IMHO.

> Any other features people woudl like to see added?  Any comments on the
>ones listed above?

Hoo, boy, we've got a long TODO file here with lots of cool ideas.  I'll 
just give one here that I think would be a relatively small hack but still
be a major improvement.

 In all of the crossfire map setups I've seen, there's a _lot_ of 'closed'
buildings and so on.  I think it'd be cool to have all the empty city
buildings and houses connect to a generic city/house/building map. The way
I see this working is that in the archetypes, you can specify something in
their entrance (slaying) field for whatever, say /generic/house.  If, in
the map, that house actually went somewhere special, the slaying field
from the map supercedes, of course.

Now, on the generic maps, we have to do something special for their exits.
They have to return to wherever they entered from!  I suggest that we deal
with this by having exits pointing to "." exit to specified position
on the current map, and exits of ".." pointing to wherever this map was
entered from.  I think best way to implement this is when a map is loaded
by someone entering it, look for exits pointing to "." and ".." and make
them point to the right place -- ".." being [lastmap].  "." is a bit
tricky. I guess you'd put in [lastmap]/generic.x.y --  this so that it
gets saved in the tempdir in a unique place, and so ti can be returned to
properly, as well as going to it would work right for others.

Additionally, using this scheme would make new maps a LOT more portable --
you could design a multiple-map quest or mini-campaign area, and have its
return exits point to ".." and then people could have it plug into their
world with a simple 'cp'. no pesky map editing and exit fixing required!

The biggest drawback I can think of at the moment are cases where the 
game isn't sure what path ".." should point to -- i.e. players recovering
from a save in the /generic/inn (actually, if their map path is saved as 
[lastmap]/generic.x.y, you have all you need right there), or (worse case)
the map with the ".." was the multi-map quest, and the entrance map reset
while you were one the deeper maps. (rare case)

I supposed we'd need to co-opt a field in the map archetype to let maps
know that they are 'generic' and thus need their name appropriately
translated.


I don't see this as a terribly difficult change, and I think I've covered
most of the pitfalls.  I'd be real happy if someone did this for me, as, 
(I've mentioned before) I'm busy trying to fix _machines_ here so I can 
do some real crossfire work!

 ERic mehlhaff, mehlhaff@ocf.Berkeley.EDU