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

remarks on implementation of various skill proposals




To those concerned:

  Someone brought up implementation.  I'd like to remark
on how I had planned to implement the 4-skills proposal
I have made.



Implementation of 4-skills:
_____________________________________________________________
  It is very simple-minded and doesn't involve any new
data-structures, nor any greatly increased code complexity.
This is partly why I have proposed it:  I knew that it
could be done in a reasonable time period.

  Where we have 1 experience variable, we would have 4
  where we have 1 level, we would have 4
       (and all associated things like tables would be 4x)

  disarming traps would go toward thief exp
  killing w/ magic spells would go toward wiz exp via AT_MAGIC
  killing w/ godpower would go toward cleric via AT_GODPOWER
  killing w/ physical means would go toward fighting

Weaknesses:

  Artifacts with AT_MAGIC would give mage exp upon kills 
	in a naive implementation
	(which is what the 1st cut would be)

  not flexible, really clunky to add any new skills

  quadruples the space required by each obj. for
  	experience related stuff

  not elegant

Remarks:

  I'll take leadership of implementing this, though I'll
need some support from people who know X (so that I can update
the client)

________________________________________________________________


Undetermined number of skills
---------------------------------------


I really am not sure how those advocating this were thinking
of implementing it.  Here's one possible approach to implementation:

Re-implement skills as objects.  When you do a relevant action,
you find the skill object in that person and add experience to it.
(I'd appreciate if someone would fill this out.)

Pros:

  flexible, adding skills is easy.

  All conceivable skills could be maintained separately

Cons:

  Losing your inventory could destroy your skills

  inventory search needed for knowing what skills exist

  coding complexity of assigning experience based on skill when
    you have a multitude of them

  GUI complexity of displaying what skills are around.