Hello all, After a few years of recovery I've started playing with Circle again... after a few days of sucessfully implementing features without bugs, I've found something that's stumped me. I've implemented races in my code (working fine), but wanted to implement racial sizes i.e. Gnomes are small, elves are medium, etc etc. My problem is after mirroring code from class.c and races.c sizes assigned to mobs seem to be totally random, when I do a stat on a player the Size value never matches what should be the assigned size based on the player's race. Anyway, My code changes were as follows (these are from memory as I'm posting this from work): structs.h: Added SIZE_ defines, from -1 which is SIZE_UNDEFINED, to 7 which is SIZE_GARGANTUAN (using ints, not bitvectors). Also added "byte size" to the player structures (char_player_data and char_player_u). utils.h: #define GET_SIZE(ch) ((ch)->player.size) class.c: In roll_real_abils function (under racial attribute modifiers) I added GET_RACE(ch) = SIZE_whatever; act.wizard.c: Added pc_size_types array (same as pc_race and pc_class arrays) added 3 lines to do_stat_character (under the Class and Race sprinttypes). strcpy(buf, "Race: "); sprinttype(k->player.size, pc_size_types, buf2); strcat(buf, buf2); I think that's about it, rather simple really... eventually skills will do checks based on size of ch & vict to determine whether they will succeed or fail (i.e. a Giant Treant can't bash a small gnome etc). Whenever I roll a character and stat them, I get a random result from Size: <whatever> For instance, I rolled a gnome, who when applying real_abils has "GET_SIZE(ch) = SIZE_SMALL " in the code, I get "Size: [Microscopic]" which is 2 below SIZE_SMALL. Codebase is circle30bpl19 with dg_scripts, Oasis & races patched in (with other minor changes that shouldn't affect any of the size_code... i.e. extra levels, whatever). Anyone have any hints? Thanks, Owen. -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT