Confirmation of CoPaP Racial Types

Development for CoPaP
Post Reply
Jordicus
World Leader: Avlis
Posts: 91
Joined: Thu Nov 20, 2003 3:13 pm
Location: Hackensack, NJ (GMT -5)
Contact:

Confirmation of CoPaP Racial Types

Post by Jordicus »

Jut curious for the worlds using a lot of Custom Races.

you are still working off this include file correct?

Code: Select all

//Races
const int    RACIAL_TYPE_HALF_NYMPH           = 50;
const int    RACIAL_TYPE_ORC                  = 51;
const int    RACIAL_TYPE_DRANGONARI_ELF       = 52;
const int    RACIAL_TYPE_HALF_DRYAD           = 53;
const int    RACIAL_TYPE_HALF_TIGER           = 54;
const int    RACIAL_TYPE_GOBLIN               = 55;
const int    RACIAL_TYPE_KOBOLD               = 56;
const int    RACIAL_TYPE_HALF_OGRE            = 57;
const int    RACIAL_TYPE_LIZARD_MAN           = 58;

const int    RACIAL_TYPE_TIEFLING             = 59;
const int    RACIAL_TYPE_DROW                 = 60;
const int    RACIAL_TYPE_GNOLL                = 61;
const int    RACIAL_TYPE_CENTAUR              = 62;
const int    RACIAL_TYPE_SUNELF               = 63;
const int    RACIAL_TYPE_GOLDDWARF            = 64;
const int    RACIAL_TYPE_WOODELF              = 65;
const int    RACIAL_TYPE_DEEPGNOME            = 66;
const int    RACIAL_TYPE_HALFDROW             = 67;
const int    RACIAL_TYPE_GHOSTWISEHALFLING    = 68;
const int    RACIAL_TYPE_STRONGHEARTHALFLING  = 69;
const int    RACIAL_TYPE_AASIMAR              = 70;
const int    RACIAL_TYPE_DUERGAR              = 71;
const int    RACIAL_TYPE_WILDELF              = 72;
const int    RACIAL_TYPE_WEMIC                = 73;
const int    RACIAL_TYPE_GHOST_ELF            = 74;
const int    RACIAL_TYPE_CHANGELING           = 75;
i understand that the subrace field can hold whatever value is wanted, but this list corresponds to the racialtypes.2da included in the CoPaP hak..

so any custom races will have some combination of regular races plus these custom races, correct?
"Wow. I can hear my brain." - The Tick
Orleron
Multiverse Scholar
Posts: 1247
Joined: Mon Nov 10, 2003 11:15 am
Location: Avlis
Contact:

Post by Orleron »

so any custom races will have some combination of regular races plus these custom races, correct?

The answer to this is a little more complicated than you might think.

Yes, the races listed above in the inc_constants file all correspond to the races listed in racialtypes.2da in CoPaPHak. That's correct.

However, to make a custom race for your CoPaP server, you do not have to add it to this file. You can add it to the specialraces.2da which is a 2da file used by Red Golem's AutoBic.

All races in specialraces.2da use one of those races listed in inc_constants as a base race.

Example:
Sereg'wethrin is a type of custom Avlis race. It is based off of elf. It has an entry in specialraces.2da, and it uses RACIAL_TYPE_ELF as its base race. Thus, if you have a script that uses the GetRacialType function on a sereg, it will return Elf, becauase it IS an elf... just a different subrace of elf. To tell the difference between a normal elf and a sereg elf, you'd have to use the GetSubRace function.

Example2:
All races on Abyss404 are custom races. If you choose to play a halfling, you wind up making a halfling custom race which has 2 levels of outsider class automatically given to it, to denote it as a planar creature. This special type of halfling is listed in specialraces.2da for Abyss404. Using a GetRacialType function on either an Abyss404 halfling or a regular one will yield RACIAL_TYPE_HALFLING as a result.

Example3:
Say you want to make bugbears a playable race on your world. This would require an addition to racialtypes.2da. A line for bugbear would have to be added to both racialtypes.2da AND specialraces.2da. This would make it so the GetRacialType command would return RACIAL_TYPE_BUGBEAR.

Example3a:
You could also just base the bugbear race on RACIAL_TYPE_BEAST, and make bugbear a subrace of RACIAL_TYPE_BEAST. GetRacialType would return RACIAL_TYPE_BEAST, and GetSubRace would return Bugbear in this case.


Generally, I'd say either way is ok, but anything we can do to avoid frequent changes to racialtype.2da is better. For custom races that are based on already existing races, such as new types of elves, halflings, and dwarves that are not already listed in inc_constants, I'd say to just use specialraces.2da. If you have a totally new custom race not based on any of them, we could probably add it to racialtypes.2da, though making it a subrace of Outsider, Beast, or Humanoid will work fine too.
Avlis: http://www.avlis.org

"My name is Orleron...a dungeonmaster...two years ago I got shot through a game client...I'm in a distant part of the internet aboard these servers of escaped mental patients...my players. I've made enemies, stupid, and annoying...now all I want to do is make CoPaP a reality, to warn Earth...Look inward(to your monitor) and share the newbies I've seen..."
Post Reply