Help needed, languages & regions.
Posted: Wed Aug 23, 2006 1:53 am
Alright, need a few more volunteers for work on regions and languages. As always, post what you plan to work on in the thread so that others can see and won't duplicate your work.
The function (listed below) can be completed by someone who doesn't have a lot of scripting knowlege. This is something which is relatively simple (though a lot of work). It does need some knowlege of if/else and switch/case statements, though. You'll need canon reference materials, of course.
In addition, I may have left out some regions, languages, or alphabets. I don't have all FR sourcebooks, so if someone to look through them and make sure I've got them all, it would be a big help. If any are missing, feel free to respond to this post with additions.
Ideally we would also include a description of each region, with something on the physical traits and culture of its people, to aid people in PC creation. Given the large number of regions I know this may be a bit much to ask, but its possible to do. But if anyone wants to tackle it, we'll need the data entered in a tlk file, using a tlk edit such as the one found here:
http://nwvault.ign.com/View.php?view=Ot ... ail&id=669
The first tlk table entry should be the name of the region, followed by its description on the next entry (followed by the next region name, then its description, etc). Please try and keep the regions in alphabetical order, as this will make things easier later. Indio may be able to provide cut & pastable ERFs to aid in this task, and it would probably be best to split this work up into groups (if anyone is actually willing to do it).
//! Returns 1 if nLanguage can be picked as a starting bonus language by oPC,
//! or 0 if it cannot or if oPC is not a player character.
int ALFA_GetIsPickableStartingLanguage(object oPC, int nLanguage);
The list of LANGUAGE_*, ALPHABET_* and FEAT_REGION_* constants are as follows:
The function (listed below) can be completed by someone who doesn't have a lot of scripting knowlege. This is something which is relatively simple (though a lot of work). It does need some knowlege of if/else and switch/case statements, though. You'll need canon reference materials, of course.
In addition, I may have left out some regions, languages, or alphabets. I don't have all FR sourcebooks, so if someone to look through them and make sure I've got them all, it would be a big help. If any are missing, feel free to respond to this post with additions.
Ideally we would also include a description of each region, with something on the physical traits and culture of its people, to aid people in PC creation. Given the large number of regions I know this may be a bit much to ask, but its possible to do. But if anyone wants to tackle it, we'll need the data entered in a tlk file, using a tlk edit such as the one found here:
http://nwvault.ign.com/View.php?view=Ot ... ail&id=669
The first tlk table entry should be the name of the region, followed by its description on the next entry (followed by the next region name, then its description, etc). Please try and keep the regions in alphabetical order, as this will make things easier later. Indio may be able to provide cut & pastable ERFs to aid in this task, and it would probably be best to split this work up into groups (if anyone is actually willing to do it).
//! Returns 1 if nLanguage can be picked as a starting bonus language by oPC,
//! or 0 if it cannot or if oPC is not a player character.
int ALFA_GetIsPickableStartingLanguage(object oPC, int nLanguage);
Code: Select all
int ALFA_GetIsPickableStartingLanguage(object oPC, int nLanguage) {
if( !GetIsPC(oPC) || GetIsDM(oPC) || GetIsDMPossessed(oPC) ) {
return 0;
}
int nStartClass = GetClassByPosition(1, oPC);
int nStartingRegion = ALFA_GetHomeRegion(oPC);
switch(nLanguage) {
// COMPLETE ME !!!
}
}Code: Select all
const int LANGUAGE_INVALID = 0;
// Dead languages:
const int LANGUAGE_ARAGRAKH = 1;
const int LANGUAGE_HULGORKYN = 2;
const int LANGUAGE_LOROSS = 3;
const int LANGUAGE_NETHERESE = 4;
const int LANGUAGE_ROUSHOUM = 5;
const int LANGUAGE_SELDRUIN = 6;
const int LANGUAGE_THORASS = 7;
// Living languages:
const int LANGUAGE_AGLORONDAN = 8;
const int LANGUAGE_ALZHEDO = 9;
const int LANGUAGE_CHESSENTAN = 10;
const int LANGUAGE_CHONDATHAN = 11;
const int LANGUAGE_CHULTAN = 12;
const int LANGUAGE_COMMON = 13;
const int LANGUAGE_DAMARAN = 14;
const int LANGUAGE_DAMBRACHAN = 15;
const int LANGUAGE_DURPARI = 16;
const int LANGUAGE_HALRUAAN = 17;
const int LANGUAGE_ILLUSKAN = 18;
const int LANGUAGE_LANTANESE = 19;
const int LANGUAGE_MIDANI = 20;
const int LANGUAGE_MULHORANDI = 21;
const int LANGUAGE_THAYAN_MULHORANDI = 22;
const int LANGUAGE_NEXALAN = 23;
const int LANGUAGE_RASHEMI = 24;
const int LANGUAGE_SERUSAN = 25;
const int LANGUAGE_SHAARAN = 26;
const int LANGUAGE_SHOU = 27;
const int LANGUAGE_TASHALAN = 28;
const int LANGUAGE_TUIGAN = 29;
const int LANGUAGE_TURMIC = 30;
const int LANGUAGE_UNDERCOMMON = 31;
const int LANGUAGE_UNTHERIC = 32;
// Secret languages:
const int LANGUAGE_DRUIDIC = 33;
const int LANGUAGE_DROW_SIGN = 34;
// Standard D&D and planar languages:
const int LANGUAGE_ABYSSAL = 35;
const int LANGUAGE_AQUAN = 36;
const int LANGUAGE_AURAN = 37;
const int LANGUAGE_CELESTIAL = 38;
const int LANGUAGE_DRACONIC = 39;
const int LANGUAGE_DWARVEN = 40;
const int LANGUAGE_ELVEN = 41;
const int LANGUAGE_GIANT = 42;
const int LANGUAGE_GNOME = 43;
const int LANGUAGE_GOBLIN = 44;
const int LANGUAGE_GNOLL = 45;
const int LANGUAGE_HALFLING = 46;
const int LANGUAGE_IGNAN = 47;
const int LANGUAGE_INFERNAL = 48;
const int LANGUAGE_ORC = 49;
const int LANGUAGE_SYLVAN = 50;
const int LANGUAGE_TERRAN = 51;
const int ALPHABET_INVALID = 0;
const int ALPHABET_BETHEL = 1;
const int ALPHABET_CELESTIAL = 2;
const int ALPHABET_DETHEK = 3;
const int ALPHABET_DRACONIC = 4;
const int ALPHABET_DRUIDIC = 5;
const int ALPHABET_ESPRUAR = 6;
const int ALPHABET_HAMARFAE = 7;
const int ALPHABET_IMASKARI = 8;
const int ALPHABET_INFERNAL = 9;
const int ALPHABET_THORASS = 10;
const int FEAT_REGION_INVALID = 0;
const int FEAT_REGION_AGLAROND = 1;
const int FEAT_REGION_AMN = 2;
const int FEAT_REGION_ANAUROCH = 3;
const int FEAT_REGION_CALIMSHAN = 4;
const int FEAT_REGION_CHESSENTA = 5;
const int FEAT_REGION_CHONDALWOOD = 6;
const int FEAT_REGION_CHULT = 7;
const int FEAT_REGION_CORMYR = 8;
const int FEAT_REGION_DALELANDS = 9;
const int FEAT_REGION_DAMBRATH = 10;
const int FEAT_REGION_DRAGON_COAST = 11;
const int FEAT_REGION_EVERMEET = 12;
const int FEAT_REGION_FOREST_OF_AMTAR = 13;
const int FEAT_REGION_GOLDEN_WATER = 14;
const int FEAT_REGION_GREAT_DALE = 15;
const int FEAT_REGION_GREAT_GLACIER = 16;
const int FEAT_REGION_HALRUAA = 17;
const int FEAT_REGION_HIGH_FOREST = 18;
const int FEAT_REGION_HORDELANDS = 19;
const int FEAT_REGION_IMPILTUR = 20;
const int FEAT_REGION_INNER_SEA = 21;
const int FEAT_REGION_LAKE_OF_STEAM = 22;
const int FEAT_REGION_LAPALIIYA = 23;
const int FEAT_REGION_LANTAN = 24;
const int FEAT_REGION_LUIREN = 25;
const int FEAT_REGION_MOONSEA = 26;
const int FEAT_REGION_MOONSHAE_ISLES = 27;
const int FEAT_REGION_MISTY_VALE = 28;
const int FEAT_REGION_MULHORAND = 29;
const int FEAT_REGION_NARFELL = 30;
const int FEAT_REGION_NELANTHER = 31;
const int FEAT_REGION_NIMBRAL = 32;
const int FEAT_REGION_NORTH = 33;
const int FEAT_REGION_OUTER_SEA = 34;
const int FEAT_REGION_RASHEMEN = 35;
const int FEAT_REGION_RATHGAUNT_HILLS = 36;
const int FEAT_REGION_RETHILD = 37;
const int FEAT_REGION_RIDE = 38;
const int FEAT_REGION_SAMARACH = 39;
const int FEAT_REGION_SEMBIA = 40;
const int FEAT_REGION_SHAAR = 41;
const int FEAT_REGION_SHADOVAR = 42;
const int FEAT_REGION_SILVER_MARCHES = 43;
const int FEAT_REGION_SMOKING_MOUNTAINS = 44;
const int FEAT_REGION_SWAGDAR = 45;
const int FEAT_REGION_SWORD_COAST = 46;
const int FEAT_REGION_TASHALAR = 47;
const int FEAT_REGION_THARSULT = 48;
const int FEAT_REGION_THINDOL = 49;
const int FEAT_REGION_TETHYR = 50;
const int FEAT_REGION_THAY = 51;
const int FEAT_REGION_THESK = 52;
const int FEAT_REGION_UNDERDARK_BURRIED_REALMS = 53;
const int FEAT_REGION_UNDERDARK_DARKLANDS = 54;
const int FEAT_REGION_UNDERDARK_EARTHROOT = 55;
const int FEAT_REGION_UNDERDARK_GLIMMERSEA = 56;
const int FEAT_REGION_UNDERDARK_GREAT_BHAERYNDEN = 57;
const int FEAT_REGION_UNDERDARK_NORTHDARK = 58;
const int FEAT_REGION_UNDERDARK_OLD_SHANATAR = 59;
const int FEAT_REGION_UNTHER = 60;
const int FEAT_REGION_VAASA = 61;
const int FEAT_REGION_VAST = 62;
const int FEAT_REGION_VILHON_REACH = 63;
const int FEAT_REGION_WATERDEEP = 64;
const int FEAT_REGION_WEALDATH = 65;
const int FEAT_REGION_WESTERN_HEARTLANDS = 66;