Rasdan wrote: > > Hi all, > > Is there a limit as to the number of classes a person can be? I am setting > up multi code where the players keep their skills they have already earned > once they become a new class. The only way I can think to do this is to > set up a new class for each multi level. ie: > > CLASS_MAGE_CLERIC > CLASS_MAGE_CLERIC_THIEF > CLASS_MAGE_CLERIC_THIEF_WARRIOR > CLASS_MAGE_CLERIC_WARRIOR_THIEF > CLASS_MAGE_THIEF Er. Mage/Cleric/Thief/Warrior *and* Mage/Cleric/Warrior/Thief? This method means a lot of possible combinations, and if you add more classes later you'll experience combinatorial explosion... not good. (For six classes, that's 1236 combinations. For twelve classes, it's almost a billion... have fun typing!) Instead, try adding a highest_level[] array to your player structure, and then you can check the skills available against that array. e.g. if ch->highest_level[CLASS_CLERIC] is greater than 30 (or whatever), then the player knows sanctuary (or whatever). If you only allow a person to switch classes once he has completely mastered a previous class, you can afford to use a simpler schema: a bitmap of "mastered" classes. Then, if a player has a class in his "mastered" bitmap, he knows all the skills/spells in that class. On the other hand, maybe you want a schema where the order you learn classes matters. For example, maybe the first class can be learned to a maximum of level 20, the second to level 10, and so on. In which case you need a "stack" (fixed in size, of course) for each player. > *^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^* > Rasdan ** FINALITY ** -- "If you want a picture of the future, imagine a boot stomping on a human face - forever." George Orwell, _1984_ "The future - now available on America Online." AOL ad +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST