Changeset 246

Show
Ignore:
Timestamp:
07/02/07 08:13:11 (1 year ago)
Author:
ajps
Message:

Added help text for different roller types and linked to it from the birth menu. Made Use of options and help not reset the currently selected item on birth menus. Minor Coding Guideline cleanup. Closes #175.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/help/birth.txt

    r1 r246  
    574574(strength bonus to-dam, dex bonus to-hit, wisdom bonus to saving throw, 
    575575intelligence bonus to magical device usage, etc.) or wearing magical items.) 
     576 
     577=== Stat rollers === 
     578 
     579There are currently three different ways to determine the starting stats of 
     580your character - you can choose which one to use from the birth screen. 
     581 
     582***** <Point-based> 
     583          Point-based 
     584              The point-based method allows you to "buy" improvements to 
     585              your basic stats by "spending" points on them.  You have a 
     586              fixed number of points to spend, and making small changes 
     587              to a stat costs proportionally less than making large changed. 
     588              Any unspent points are converted into your starting money that  
     589              you can use to buy equipment at the start of the game. 
     590 
     591              This is the recommended birth method. 
     592 
     593***** <Autoroller> 
     594          Autoroller 
     595              The autoroller allows you to choose minimum values for your 
     596              stats, and then repeated "rolls" random characters using 
     597              Angband's traditional stat-rolling system until your creteria 
     598              have been met (or an insanely large number of rolls have been 
     599              made without finding one that matches your choices). 
     600 
     601***** <Standard roller> 
     602          Standard roller 
     603              The standard roller is the traditional Angband method of 
     604              determining the starting stats for a character, it simply 
     605              "rolls" up a single set of starting values, and gives you 
     606              the choice of asking for another "roll" to be made or  
     607              accepting the current outcome.  This can obviously make for 
     608              harder characters to play than the other two methods as 
     609              you are less likely to have high values in the stats that might 
     610              be most useful to you. 
     611    
     612     
     613 
  • trunk/src/birth.c

    r215 r246  
    700700static bool handler_aux(char cmd, int oid, byte *val, int max, int mask, cptr topic) 
    701701{ 
    702         if(cmd == '\xff' || cmd == '\r') { 
     702        if (cmd == '\xff' || cmd == '\r') { 
    703703                *val = oid; 
    704704        } 
    705         else if(cmd == '*') { 
    706                 for(;;) { 
     705        else if (cmd == '*') { 
     706                for(;;)  
     707                { 
    707708                        oid = rand_int(max); 
    708709                        *val = oid; 
     
    710711                } 
    711712        } 
    712         else if(cmd == '=') do_cmd_options(); 
    713         else if(cmd == KTRL('X')) quit(NULL); 
    714         else if(cmd == '?') { 
     713        else if (cmd == '=')  
     714        { 
     715                do_cmd_options(); 
     716                return FALSE; 
     717        } 
     718        else if (cmd == KTRL('X'))  
     719        { 
     720                quit(NULL); 
     721        } 
     722        else if (cmd == '?') { 
    715723                char buf[80]; 
    716724                strnfmt(buf, sizeof(buf), "%s#%s", "birth.txt", topic); 
     
    718726                show_file(buf, NULL, 0, 0); 
    719727                screen_load(); 
     728                return FALSE; 
    720729        } 
    721730        else return FALSE; 
     
    797806{ 
    798807        if (cmd == '\xff' || cmd == '\r') 
     808        { 
    799809                roller_type = oid; 
     810                return TRUE; 
     811        } 
    800812        else if (cmd == '*') 
     813        { 
    801814                roller_type = 2; 
     815                return TRUE; 
     816        } 
    802817        else if(cmd == '=') 
    803818                do_cmd_options(); 
    804819        else if(cmd == KTRL('X')) 
    805820                quit(NULL); 
    806         else 
    807                 return FALSE; 
    808  
    809         return TRUE; 
     821        else if(cmd == '?') { 
     822                char buf[80]; 
     823                char *str; 
     824 
     825                if (oid == 0) 
     826                        str = "Point-based"; 
     827                else if (oid == 1) 
     828                        str = "Autoroller"; 
     829                else 
     830                        str = "Standard roller"; 
     831 
     832                strnfmt(buf, sizeof(buf), "%s#%s", "birth.txt", str); 
     833                screen_save(); 
     834                show_file(buf, NULL, 0, 0); 
     835                screen_load(); 
     836        } 
     837 
     838        return FALSE; 
    810839} 
    811840