UserAgent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312 IP: 65.24.43.226 URI: http://wesnoth.slack.it/?RandomTraitUnit - - - - - Index: RandomTraitUnit =================================================================== RCS file: /home/wesnoth/cvsroot/wikiroot/RandomTraitUnit,v retrieving revision 1.7 diff -u -r1.7 RandomTraitUnit --- RandomTraitUnit 4 Jul 2005 08:18:56 -0000 1.7 +++ RandomTraitUnit 5 Jul 2005 00:05:17 -0000 @@ -38,32 +38,43 @@ #enddef #define RANDOM_TRAIT_UNIT STATS - {RANDOM 1..7} + {RANDOM 1..12} {TRAIT_IF 1 quick,resilient ({TRAIT_QUICK}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 2 strong,resilient ({TRAIT_STRONG}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 3 intelligent,resilient ({TRAIT_INTELLIGENT}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 4 strong,quick ({TRAIT_STRONG}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 2 quick,intelligent ({TRAIT_QUICK}) ({TRAIT_INTELLIGENT}) ({STATS})} + {TRAIT_IF 3 quick,strong ({TRAIT_QUICK}) ({TRAIT_STRONG}) ({STATS})} + {TRAIT_IF 4 strong,resilient ({TRAIT_STRONG}) ({TRAIT_RESILIENT}) ({STATS})} {TRAIT_IF 5 strong,intelligent ({TRAIT_STRONG}) ({TRAIT_INTELLIGENT}) ({STATS})} - {TRAIT_IF 6 quick,intelligent ({TRAIT_QUICK}) ({TRAIT_INTELLIGENT}) ({STATS})} - {TRAIT_IF 7 resilient,quick ({TRAIT_RESILIENT}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 6 strong,quick ({TRAIT_STRONG}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 7 intelligent,resilient ({TRAIT_INTELLIGENT}) ({TRAIT_RESILIENT}) ({STATS})} + {TRAIT_IF 8 intelligent,quick ({TRAIT_INTELLIGENT}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 9 intelligent,strong ({TRAIT_INTELLIGENT}) ({TRAIT_STRONG}) ({STATS})} + {TRAIT_IF 10 resilient,intelligent ({TRAIT_RESILIENT}) ({TRAIT_INTELLIGENT}) ({STATS})} + {TRAIT_IF 11 resilient,quick ({TRAIT_RESILIENT}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 12 resilient,strong ({TRAIT_RESILIENT}) ({TRAIT_STRONG}) ({STATS})} + {CLEAR_VARIABLE random} #enddef Note that this macro will create a unit that is resilient with probability 4/7, strong with probability 3/7, intelligent with probability 3/7, and quick with probability 4/7. To fix it, it should actually have 12 possible pairs, so that each trait has probability -6/12 = 1/2. +6/12 = 1/2. (edit: fixed) Warning: In multiplayer, as of 0.8.7, you must use PseudoRandom, not {RANDOM}: #define RANDOM_TRAIT_UNIT STATS {PSEUDORANDOM 7} {TRAIT_IF 1 quick,resilient ({TRAIT_QUICK}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 2 strong,resilient ({TRAIT_STRONG}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 3 intelligent,resilient ({TRAIT_INTELLIGENT}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 4 strong,quick ({TRAIT_STRONG}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 2 quick,intelligent ({TRAIT_QUICK}) ({TRAIT_INTELLIGENT}) ({STATS})} + {TRAIT_IF 3 quick,strong ({TRAIT_QUICK}) ({TRAIT_STRONG}) ({STATS})} + {TRAIT_IF 4 strong,resilient ({TRAIT_STRONG}) ({TRAIT_RESILIENT}) ({STATS})} {TRAIT_IF 5 strong,intelligent ({TRAIT_STRONG}) ({TRAIT_INTELLIGENT}) ({STATS})} - {TRAIT_IF 6 quick,intelligent ({TRAIT_QUICK}) ({TRAIT_INTELLIGENT}) ({STATS})} - {TRAIT_IF 7 resilient,quick ({TRAIT_RESILIENT}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 6 strong,quick ({TRAIT_STRONG}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 7 intelligent,resilient ({TRAIT_INTELLIGENT}) ({TRAIT_RESILIENT}) ({STATS})} + {TRAIT_IF 8 intelligent,quick ({TRAIT_INTELLIGENT}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 9 intelligent,strong ({TRAIT_INTELLIGENT}) ({TRAIT_STRONG}) ({STATS})} + {TRAIT_IF 10 resilient,intelligent ({TRAIT_RESILIENT}) ({TRAIT_INTELLIGENT}) ({STATS})} + {TRAIT_IF 11 resilient,quick ({TRAIT_RESILIENT}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 12 resilient,strong ({TRAIT_RESILIENT}) ({TRAIT_STRONG}) ({STATS})} #enddef The same caveat applies to this macro as the previous one. @@ -72,17 +83,28 @@ dextrous trait, using the same TRAIT_IF macro as above: #define RANDOM_TRAIT_UNIT_ELF STATS - {RANDOM 1..10} + {RANDOM 1..20} {TRAIT_IF 1 quick,resilient ({TRAIT_QUICK}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 2 strong,resilient ({TRAIT_STRONG}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 3 dextrous,resilient ({TRAIT_DEXTROUS}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 4 intelligent,resilient ({TRAIT_INTELLIGENT}) ({TRAIT_RESILIENT}) ({STATS})} - {TRAIT_IF 5 strong,quick ({TRAIT_STRONG}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 2 quick,intelligent ({TRAIT_QUICK}) ({TRAIT_INTELLIGENT}) ({STATS})} + {TRAIT_IF 3 quick,strong ({TRAIT_QUICK}) ({TRAIT_STRONG}) ({STATS})} + {TRAIT_IF 4 quick,dextrous ({TRAIT_QUICK}) ({TRAIT_DEXTROUS}) ({STATS})} + {TRAIT_IF 5 strong,resilient ({TRAIT_STRONG}) ({TRAIT_RESILIENT}) ({STATS})} {TRAIT_IF 6 strong,intelligent ({TRAIT_STRONG}) ({TRAIT_INTELLIGENT}) ({STATS})} - {TRAIT_IF 7 dextrous,strong ({TRAIT_DEXTROUS}) ({TRAIT_STRONG}) ({STATS})} - {TRAIT_IF 8 dextrous,quick ({TRAIT_DEXTROUS}) ({TRAIT_QUICK}) ({STATS})} - {TRAIT_IF 9 dextrous,intelligent ({TRAIT_DEXTROUS}) ({TRAIT_INTELLIGENT}) ({STATS})} - {TRAIT_IF 10 quick,intelligent ({TRAIT_QUICK}) ({TRAIT_INTELLIGENT}) ({STATS})} + {TRAIT_IF 7 strong,quick ({TRAIT_STRONG}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 8 strong,dextrous ({TRAIT_STRONG}) ({TRAIT_DEXTROUS}) ({STATS})} + {TRAIT_IF 9 intelligent,resilient ({TRAIT_INTELLIGENT}) ({TRAIT_RESILIENT}) ({STATS})} + {TRAIT_IF 10 intelligent,quick ({TRAIT_INTELLIGENT}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 11 intelligent,strong ({TRAIT_INTELLIGENT}) ({TRAIT_STRONG}) ({STATS})} + {TRAIT_IF 12 intelligent,dextrous ({TRAIT_INTELLIGENT}) ({TRAIT_DEXTROUS}) ({STATS})} + {TRAIT_IF 13 resilient,intelligent ({TRAIT_RESILIENT}) ({TRAIT_INTELLIGENT}) ({STATS})} + {TRAIT_IF 14 resilient,quick ({TRAIT_RESILIENT}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 15 resilient,strong ({TRAIT_RESILIENT}) ({TRAIT_STRONG}) ({STATS})} + {TRAIT_IF 16 resilient,dextrous ({TRAIT_RESILIENT}) ({TRAIT_DEXTROUS}) ({STATS})} + {TRAIT_IF 17 dextrous,resilient ({TRAIT_DEXTROUS}) ({TRAIT_RESILIENT}) ({STATS})} + {TRAIT_IF 18 dextrous,intelligent ({TRAIT_DEXTROUS}) ({TRAIT_INTELLIGENT}) ({STATS})} + {TRAIT_IF 19 dextrous,quick ({TRAIT_DEXTROUS}) ({TRAIT_QUICK}) ({STATS})} + {TRAIT_IF 20 dextrous,strong ({TRAIT_DEXTROUS}) ({TRAIT_STRONG}) ({STATS})} + {CLEAR_VARIABLE random} #enddef This macro has the correct distribution of individual traits, but will never
_______________________________________________ Wesnoth-wiki-changes mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/wesnoth-wiki-changes
