Last active
November 9, 2019 01:48
-
-
Save ericoporto/180cd3023e0f4ab81df06b22695efbf0 to your computer and use it in GitHub Desktop.
WIP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Fantasy name generator AGS Module Script | |
#region CREATE_WORD_TABLES | |
//---- CREATE WORD TABLES ----------------------------- | |
String _symbol_s[]; | |
String _symbol_v[]; | |
String _symbol_big_v[]; | |
String _symbol_c[]; | |
String _symbol_big_b[]; | |
String _symbol_big_c[]; | |
String _symbol_i[]; | |
String _symbol_m[]; | |
String _symbol_big_m[]; | |
String _symbol_big_d[]; | |
String _symbol_d[]; | |
int _symbol_s_length = 115; | |
int _symbol_v_length = 6; | |
int _symbol_big_v_length = 22; | |
int _symbol_c_length = 21; | |
int _symbol_big_b_length = 43; | |
int _symbol_big_c_length = 36; | |
int _symbol_i_length = 47; | |
int _symbol_m_length = 43; | |
int _symbol_big_m_length = 23; | |
int _symbol_big_d_length = 21; | |
int _symbol_d_length = 36; | |
void _initialize_word_tables(){ | |
_symbol_s = new String[_symbol_s_length]; | |
_symbol_v = new String[_symbol_v_length]; | |
_symbol_big_v = new String[_symbol_big_v_length]; | |
_symbol_c = new String[_symbol_c_length]; | |
_symbol_big_b = new String[_symbol_big_b_length]; | |
_symbol_big_c = new String[_symbol_big_c_length]; | |
_symbol_i = new String[_symbol_i_length]; | |
_symbol_m = new String[_symbol_m_length]; | |
_symbol_big_m = new String[_symbol_big_m_length]; | |
_symbol_big_d = new String[_symbol_big_d_length]; | |
_symbol_d = new String[_symbol_d_length]; | |
_symbol_s[0] = "ach"; | |
_symbol_s[1] = "ack"; | |
_symbol_s[2] = "ad"; | |
_symbol_s[3] = "age"; | |
_symbol_s[4] = "ald"; | |
_symbol_s[5] = "ale"; | |
_symbol_s[6] = "an"; | |
_symbol_s[7] = "ang"; | |
_symbol_s[8] = "ar"; | |
_symbol_s[9] = "ard"; | |
_symbol_s[10] = "as"; | |
_symbol_s[11] = "ash"; | |
_symbol_s[12] = "at"; | |
_symbol_s[13] = "ath"; | |
_symbol_s[14] = "augh"; | |
_symbol_s[15] = "aw"; | |
_symbol_s[16] = "ban"; | |
_symbol_s[17] = "bel"; | |
_symbol_s[18] = "bur"; | |
_symbol_s[19] = "cer"; | |
_symbol_s[20] = "cha"; | |
_symbol_s[21] = "che"; | |
_symbol_s[22] = "dan"; | |
_symbol_s[23] = "dar"; | |
_symbol_s[24] = "del"; | |
_symbol_s[25] = "den"; | |
_symbol_s[26] = "dra"; | |
_symbol_s[27] = "dyn"; | |
_symbol_s[28] = "ech"; | |
_symbol_s[29] = "eld"; | |
_symbol_s[30] = "elm"; | |
_symbol_s[31] = "em"; | |
_symbol_s[32] = "en"; | |
_symbol_s[33] = "end"; | |
_symbol_s[34] = "eng"; | |
_symbol_s[35] = "enth"; | |
_symbol_s[36] = "er"; | |
_symbol_s[37] = "ess"; | |
_symbol_s[38] = "est"; | |
_symbol_s[39] = "et"; | |
_symbol_s[40] = "gar"; | |
_symbol_s[41] = "gha"; | |
_symbol_s[42] = "hat"; | |
_symbol_s[43] = "hin"; | |
_symbol_s[44] = "hon"; | |
_symbol_s[45] = "ia"; | |
_symbol_s[46] = "ight"; | |
_symbol_s[47] = "ild"; | |
_symbol_s[48] = "im"; | |
_symbol_s[49] = "ina"; | |
_symbol_s[50] = "ine"; | |
_symbol_s[51] = "ing"; | |
_symbol_s[52] = "ir"; | |
_symbol_s[53] = "is"; | |
_symbol_s[54] = "iss"; | |
_symbol_s[55] = "it"; | |
_symbol_s[56] = "kal"; | |
_symbol_s[57] = "kel"; | |
_symbol_s[58] = "kim"; | |
_symbol_s[59] = "kin"; | |
_symbol_s[60] = "ler"; | |
_symbol_s[61] = "lor"; | |
_symbol_s[62] = "lye"; | |
_symbol_s[63] = "mor"; | |
_symbol_s[64] = "mos"; | |
_symbol_s[65] = "nal"; | |
_symbol_s[66] = "ny"; | |
_symbol_s[67] = "nys"; | |
_symbol_s[68] = "old"; | |
_symbol_s[69] = "om"; | |
_symbol_s[70] = "on"; | |
_symbol_s[71] = "or"; | |
_symbol_s[72] = "orm"; | |
_symbol_s[73] = "os"; | |
_symbol_s[74] = "ough"; | |
_symbol_s[75] = "per"; | |
_symbol_s[76] = "pol"; | |
_symbol_s[77] = "qua"; | |
_symbol_s[78] = "que"; | |
_symbol_s[79] = "rad"; | |
_symbol_s[80] = "rak"; | |
_symbol_s[81] = "ran"; | |
_symbol_s[82] = "ray"; | |
_symbol_s[83] = "ril"; | |
_symbol_s[84] = "ris"; | |
_symbol_s[85] = "rod"; | |
_symbol_s[86] = "roth"; | |
_symbol_s[87] = "ryn"; | |
_symbol_s[88] = "sam"; | |
_symbol_s[89] = "say"; | |
_symbol_s[90] = "ser"; | |
_symbol_s[91] = "shy"; | |
_symbol_s[92] = "skel"; | |
_symbol_s[93] = "sul"; | |
_symbol_s[94] = "tai"; | |
_symbol_s[95] = "tan"; | |
_symbol_s[96] = "tas"; | |
_symbol_s[97] = "ther"; | |
_symbol_s[98] = "tia"; | |
_symbol_s[99] = "tin"; | |
_symbol_s[100] = "ton"; | |
_symbol_s[101] = "tor"; | |
_symbol_s[102] = "tur"; | |
_symbol_s[103] = "um"; | |
_symbol_s[104] = "und"; | |
_symbol_s[105] = "unt"; | |
_symbol_s[106] = "urn"; | |
_symbol_s[107] = "usk"; | |
_symbol_s[108] = "ust"; | |
_symbol_s[109] = "ver"; | |
_symbol_s[110] = "ves"; | |
_symbol_s[111] = "vor"; | |
_symbol_s[112] = "war"; | |
_symbol_s[113] = "wor"; | |
_symbol_s[114] = "yer"; | |
_symbol_v[0] = "a"; | |
_symbol_v[1] = "e"; | |
_symbol_v[2] = "i"; | |
_symbol_v[3] = "o"; | |
_symbol_v[4] = "u"; | |
_symbol_v[5] = "y"; | |
_symbol_big_v[0] = "a"; | |
_symbol_big_v[1] = "e"; | |
_symbol_big_v[2] = "i"; | |
_symbol_big_v[3] = "o"; | |
_symbol_big_v[4] = "u"; | |
_symbol_big_v[5] = "y"; | |
_symbol_big_v[6] = "ae"; | |
_symbol_big_v[7] = "ai"; | |
_symbol_big_v[8] = "au"; | |
_symbol_big_v[9] = "ay"; | |
_symbol_big_v[10] = "ea"; | |
_symbol_big_v[11] = "ee"; | |
_symbol_big_v[12] = "ei"; | |
_symbol_big_v[13] = "eu"; | |
_symbol_big_v[14] = "ey"; | |
_symbol_big_v[15] = "ia"; | |
_symbol_big_v[16] = "ie"; | |
_symbol_big_v[17] = "oe"; | |
_symbol_big_v[18] = "oi"; | |
_symbol_big_v[19] = "oo"; | |
_symbol_big_v[20] = "ou"; | |
_symbol_big_v[21] = "ui"; | |
_symbol_c[0] = "b"; | |
_symbol_c[1] = "c"; | |
_symbol_c[2] = "d"; | |
_symbol_c[3] = "f"; | |
_symbol_c[4] = "g"; | |
_symbol_c[5] = "h"; | |
_symbol_c[6] = "j"; | |
_symbol_c[7] = "k"; | |
_symbol_c[8] = "l"; | |
_symbol_c[9] = "m"; | |
_symbol_c[10] = "n"; | |
_symbol_c[11] = "p"; | |
_symbol_c[12] = "q"; | |
_symbol_c[13] = "r"; | |
_symbol_c[14] = "s"; | |
_symbol_c[15] = "t"; | |
_symbol_c[16] = "v"; | |
_symbol_c[17] = "w"; | |
_symbol_c[18] = "x"; | |
_symbol_c[19] = "y"; | |
_symbol_c[20] = "z"; | |
_symbol_big_b[0] = "b"; | |
_symbol_big_b[1] = "bl"; | |
_symbol_big_b[2] = "br"; | |
_symbol_big_b[3] = "c"; | |
_symbol_big_b[4] = "ch"; | |
_symbol_big_b[5] = "chr"; | |
_symbol_big_b[6] = "cl"; | |
_symbol_big_b[7] = "cr"; | |
_symbol_big_b[8] = "d"; | |
_symbol_big_b[9] = "dr"; | |
_symbol_big_b[10] = "f"; | |
_symbol_big_b[11] = "g"; | |
_symbol_big_b[12] = "h"; | |
_symbol_big_b[13] = "j"; | |
_symbol_big_b[14] = "k"; | |
_symbol_big_b[15] = "l"; | |
_symbol_big_b[16] = "ll"; | |
_symbol_big_b[17] = "m"; | |
_symbol_big_b[18] = "n"; | |
_symbol_big_b[19] = "p"; | |
_symbol_big_b[20] = "ph"; | |
_symbol_big_b[21] = "qu"; | |
_symbol_big_b[22] = "r"; | |
_symbol_big_b[23] = "rh"; | |
_symbol_big_b[24] = "s"; | |
_symbol_big_b[25] = "sch"; | |
_symbol_big_b[26] = "sh"; | |
_symbol_big_b[27] = "sl"; | |
_symbol_big_b[28] = "sm"; | |
_symbol_big_b[29] = "sn"; | |
_symbol_big_b[30] = "st"; | |
_symbol_big_b[31] = "str"; | |
_symbol_big_b[32] = "sw"; | |
_symbol_big_b[33] = "t"; | |
_symbol_big_b[34] = "th"; | |
_symbol_big_b[35] = "thr"; | |
_symbol_big_b[36] = "tr"; | |
_symbol_big_b[37] = "v"; | |
_symbol_big_b[38] = "w"; | |
_symbol_big_b[39] = "wh"; | |
_symbol_big_b[40] = "y"; | |
_symbol_big_b[41] = "z"; | |
_symbol_big_b[42] = "zh"; | |
_symbol_big_c[0] = "b"; | |
_symbol_big_c[1] = "c"; | |
_symbol_big_c[2] = "ch"; | |
_symbol_big_c[3] = "ck"; | |
_symbol_big_c[4] = "d"; | |
_symbol_big_c[5] = "f"; | |
_symbol_big_c[6] = "g"; | |
_symbol_big_c[7] = "gh"; | |
_symbol_big_c[8] = "h"; | |
_symbol_big_c[9] = "k"; | |
_symbol_big_c[10] = "l"; | |
_symbol_big_c[11] = "ld"; | |
_symbol_big_c[12] = "ll"; | |
_symbol_big_c[13] = "lt"; | |
_symbol_big_c[14] = "m"; | |
_symbol_big_c[15] = "n"; | |
_symbol_big_c[16] = "nd"; | |
_symbol_big_c[17] = "nn"; | |
_symbol_big_c[18] = "nt"; | |
_symbol_big_c[19] = "p"; | |
_symbol_big_c[20] = "ph"; | |
_symbol_big_c[21] = "q"; | |
_symbol_big_c[22] = "r"; | |
_symbol_big_c[23] = "rd"; | |
_symbol_big_c[24] = "rr"; | |
_symbol_big_c[25] = "rt"; | |
_symbol_big_c[26] = "s"; | |
_symbol_big_c[27] = "sh"; | |
_symbol_big_c[28] = "ss"; | |
_symbol_big_c[29] = "st"; | |
_symbol_big_c[30] = "t"; | |
_symbol_big_c[31] = "th"; | |
_symbol_big_c[32] = "v"; | |
_symbol_big_c[33] = "w"; | |
_symbol_big_c[34] = "y"; | |
_symbol_big_c[35] = "z"; | |
_symbol_i[0] = "air"; | |
_symbol_i[1] = "ankle"; | |
_symbol_i[2] = "ball"; | |
_symbol_i[3] = "beef"; | |
_symbol_i[4] = "bone"; | |
_symbol_i[5] = "bum"; | |
_symbol_i[6] = "bumble"; | |
_symbol_i[7] = "bump"; | |
_symbol_i[8] = "cheese"; | |
_symbol_i[9] = "clod"; | |
_symbol_i[10] = "clot"; | |
_symbol_i[11] = "clown"; | |
_symbol_i[12] = "corn"; | |
_symbol_i[13] = "dip"; | |
_symbol_i[14] = "dolt"; | |
_symbol_i[15] = "doof"; | |
_symbol_i[16] = "dork"; | |
_symbol_i[17] = "dumb"; | |
_symbol_i[18] = "face"; | |
_symbol_i[19] = "finger"; | |
_symbol_i[20] = "foot"; | |
_symbol_i[21] = "fumble"; | |
_symbol_i[22] = "goof"; | |
_symbol_i[23] = "grumble"; | |
_symbol_i[24] = "head"; | |
_symbol_i[25] = "knock"; | |
_symbol_i[26] = "knocker"; | |
_symbol_i[27] = "knuckle"; | |
_symbol_i[28] = "loaf"; | |
_symbol_i[29] = "lump"; | |
_symbol_i[30] = "lunk"; | |
_symbol_i[31] = "meat"; | |
_symbol_i[32] = "muck"; | |
_symbol_i[33] = "munch"; | |
_symbol_i[34] = "nit"; | |
_symbol_i[35] = "numb"; | |
_symbol_i[36] = "pin"; | |
_symbol_i[37] = "puff"; | |
_symbol_i[38] = "skull"; | |
_symbol_i[39] = "snark"; | |
_symbol_i[40] = "sneeze"; | |
_symbol_i[41] = "thimble"; | |
_symbol_i[42] = "twerp"; | |
_symbol_i[43] = "twit"; | |
_symbol_i[44] = "wad"; | |
_symbol_i[45] = "wimp"; | |
_symbol_i[46] = "wipe"; | |
_symbol_m[0] = "baby"; | |
_symbol_m[1] = "booble"; | |
_symbol_m[2] = "bunker"; | |
_symbol_m[3] = "cuddle"; | |
_symbol_m[4] = "cuddly"; | |
_symbol_m[5] = "cutie"; | |
_symbol_m[6] = "doodle"; | |
_symbol_m[7] = "foofie"; | |
_symbol_m[8] = "gooble"; | |
_symbol_m[9] = "honey"; | |
_symbol_m[10] = "kissie"; | |
_symbol_m[11] = "lover"; | |
_symbol_m[12] = "lovey"; | |
_symbol_m[13] = "moofie"; | |
_symbol_m[14] = "mooglie"; | |
_symbol_m[15] = "moopie"; | |
_symbol_m[16] = "moopsie"; | |
_symbol_m[17] = "nookum"; | |
_symbol_m[18] = "poochie"; | |
_symbol_m[19] = "poof"; | |
_symbol_m[20] = "poofie"; | |
_symbol_m[21] = "pookie"; | |
_symbol_m[22] = "schmoopie"; | |
_symbol_m[23] = "schnoogle"; | |
_symbol_m[24] = "schnookie"; | |
_symbol_m[25] = "schnookum"; | |
_symbol_m[26] = "smooch"; | |
_symbol_m[27] = "smoochie"; | |
_symbol_m[28] = "smoosh"; | |
_symbol_m[29] = "snoogle"; | |
_symbol_m[30] = "snoogy"; | |
_symbol_m[31] = "snookie"; | |
_symbol_m[32] = "snookum"; | |
_symbol_m[33] = "snuggy"; | |
_symbol_m[34] = "sweetie"; | |
_symbol_m[35] = "woogle"; | |
_symbol_m[36] = "woogy"; | |
_symbol_m[37] = "wookie"; | |
_symbol_m[38] = "wookum"; | |
_symbol_m[39] = "wuddle"; | |
_symbol_m[40] = "wuddly"; | |
_symbol_m[41] = "wuggy"; | |
_symbol_m[42] = "wunny"; | |
_symbol_big_m[0] = "boo"; | |
_symbol_big_m[1] = "bunch"; | |
_symbol_big_m[2] = "bunny"; | |
_symbol_big_m[3] = "cake"; | |
_symbol_big_m[4] = "cakes"; | |
_symbol_big_m[5] = "cute"; | |
_symbol_big_m[6] = "darling"; | |
_symbol_big_m[7] = "dumpling"; | |
_symbol_big_m[8] = "dumplings"; | |
_symbol_big_m[9] = "face"; | |
_symbol_big_m[10] = "foof"; | |
_symbol_big_m[11] = "goo"; | |
_symbol_big_m[12] = "head"; | |
_symbol_big_m[13] = "kin"; | |
_symbol_big_m[14] = "kins"; | |
_symbol_big_m[15] = "lips"; | |
_symbol_big_m[16] = "love"; | |
_symbol_big_m[17] = "mush"; | |
_symbol_big_m[18] = "pie"; | |
_symbol_big_m[19] = "poo"; | |
_symbol_big_m[20] = "pooh"; | |
_symbol_big_m[21] = "pook"; | |
_symbol_big_m[22] = "pums"; | |
_symbol_big_d[0] = "b"; | |
_symbol_big_d[1] = "bl"; | |
_symbol_big_d[2] = "br"; | |
_symbol_big_d[3] = "cl"; | |
_symbol_big_d[4] = "d"; | |
_symbol_big_d[5] = "f"; | |
_symbol_big_d[6] = "fl"; | |
_symbol_big_d[7] = "fr"; | |
_symbol_big_d[8] = "g"; | |
_symbol_big_d[9] = "gh"; | |
_symbol_big_d[10] = "gl"; | |
_symbol_big_d[11] = "gr"; | |
_symbol_big_d[12] = "h"; | |
_symbol_big_d[13] = "j"; | |
_symbol_big_d[14] = "k"; | |
_symbol_big_d[15] = "kl"; | |
_symbol_big_d[16] = "m"; | |
_symbol_big_d[17] = "n"; | |
_symbol_big_d[18] = "p"; | |
_symbol_big_d[19] = "th"; | |
_symbol_big_d[20] = "w"; | |
_symbol_d[0] = "elch"; | |
_symbol_d[1] = "idiot"; | |
_symbol_d[2] = "ob"; | |
_symbol_d[3] = "og"; | |
_symbol_d[4] = "ok"; | |
_symbol_d[5] = "olph"; | |
_symbol_d[6] = "olt"; | |
_symbol_d[7] = "omph"; | |
_symbol_d[8] = "ong"; | |
_symbol_d[9] = "onk"; | |
_symbol_d[10] = "oo"; | |
_symbol_d[11] = "oob"; | |
_symbol_d[12] = "oof"; | |
_symbol_d[13] = "oog"; | |
_symbol_d[14] = "ook"; | |
_symbol_d[15] = "ooz"; | |
_symbol_d[16] = "org"; | |
_symbol_d[17] = "ork"; | |
_symbol_d[18] = "orm"; | |
_symbol_d[19] = "oron"; | |
_symbol_d[20] = "ub"; | |
_symbol_d[21] = "uck"; | |
_symbol_d[22] = "ug"; | |
_symbol_d[23] = "ulf"; | |
_symbol_d[24] = "ult"; | |
_symbol_d[25] = "um"; | |
_symbol_d[26] = "umb"; | |
_symbol_d[27] = "ump"; | |
_symbol_d[28] = "umph"; | |
_symbol_d[29] = "un"; | |
_symbol_d[30] = "unb"; | |
_symbol_d[31] = "ung"; | |
_symbol_d[32] = "unk"; | |
_symbol_d[33] = "unph"; | |
_symbol_d[34] = "unt"; | |
_symbol_d[35] = "uzz"; | |
} | |
//---- END CREATE WORD TABLES -------------------------- | |
#endregion //CREATE_WORD_TABLES | |
int _generative_length(String achar){ | |
if(achar == "s") return _symbol_s_length; | |
if(achar == "v") return _symbol_v_length; | |
if(achar == "V") return _symbol_big_v_length; | |
if(achar == "c") return _symbol_c_length; | |
if(achar == "B") return _symbol_big_b_length; | |
if(achar == "C") return _symbol_big_c_length; | |
if(achar == "i") return _symbol_i_length; | |
if(achar == "m") return _symbol_m_length; | |
if(achar == "M") return _symbol_big_m_length; | |
if(achar == "D") return _symbol_big_d_length; | |
if(achar == "d") return _symbol_d_length; | |
return 0; | |
} | |
String[] _generative(String achar){ | |
if(achar == "s") return _symbol_s; | |
if(achar == "v") return _symbol_v; | |
if(achar == "V") return _symbol_big_v; | |
if(achar == "c") return _symbol_c; | |
if(achar == "B") return _symbol_big_b; | |
if(achar == "C") return _symbol_big_c; | |
if(achar == "i") return _symbol_i; | |
if(achar == "m") return _symbol_m; | |
if(achar == "M") return _symbol_big_m; | |
if(achar == "D") return _symbol_big_d; | |
if(achar == "d") return _symbol_d; | |
return null; | |
} | |
// Returns a new string with the first character capitalized. | |
String _capitalize(String strPiece){ | |
if(strPiece.Length<1){ | |
return ""; | |
} else if(strPiece.Length==1){ | |
return strPiece.UpperCase(); | |
} | |
String first_letter = strPiece.Substring(0, 1); | |
String rest_of_string = strPiece.Substring(1, strPiece.Length - 1); | |
first_letter = first_letter.UpperCase(); | |
return first_letter.Append(rest_of_string); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Fantasy name generator AGS Module Header | |
// This is free and unencumbered software released into the public domain. | |
// | |
// The compile() function creates a name generator based on an input | |
// pattern. The letters s, v, V, c, B, C, i, m, M, D, and d represent | |
// different types of random replacements. Everything else is emitted | |
// literally. | |
// | |
// s - generic syllable | |
// v - vowel | |
// V - vowel or vowel combination | |
// c - consonant | |
// B - consonant or consonant combination suitable for beginning a word | |
// C - consonant or consonant combination suitable anywhere in a word | |
// i - insult | |
// m - mushy name | |
// M - mushy name ending | |
// D - consonant suited for a stupid person's name | |
// d - syllable suited for a stupid person's name (begins with a vowel) | |
// | |
// All characters between parenthesis () are emitted literally. For | |
// example, the pattern "s(dim)", emits a random generic syllable | |
// followed by "dim". | |
// | |
// Characters between angle brackets <> emit patterns from the table | |
// above. Imagine the entire pattern is wrapped in one of these. | |
// | |
// In both types of groupings, a vertical bar | denotes a random choice. | |
// Empty groups are allowed. For example, "(foo|bar)" emits either "foo" | |
// or "bar". The pattern "<c|v|>" emits a consonant, vowel, or nothing at | |
// all. | |
// | |
// An exclamation point ! means to capitalize the component that follows | |
// it. For example, "!(foo)" will emit "Foo" and "v!s" will emit a | |
// lowercase vowel followed by a capitalized syllable, like "eRod". | |
// | |
// This library is based on the RinkWorks Fantasy Name Generator. | |
// http://www.rinkworks.com/namegen/ | |
// | |
// Return codes | |
enum NameGenReturnCodes { | |
eNameGenSuccess=0, | |
eNameGenTruncated, /* Output was truncated */ | |
eNameGenInvalid, /* Pattern is invalid */ | |
eNameGenTooDeep, /* Pattern exceeds maximum nesting depth */ | |
}; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment