Changeset 413

Show
Ignore:
Timestamp:
07/31/07 09:00:22 (1 year ago)
Author:
takkaria
Message:

Fix #228:

  • Reduce the number of food varieties in the game.
  • Make savefile loading of "non-existent" objects somewhat more resilient.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/edit/object.txt

    r412 r413  
    260260##### Normal Food ##### 
    261261 
     262# Removed in 3.1: Hard Biscuit, Beef Jerky, Fine Ale, Fine Wine 
     263# Not considered interesting enough. 
     264 
    262265N:21:& Ration~ of Food 
    263266G:,:U 
    264 I:80:35:5000 
    265 W:0:0:10:3 
     267I:80:35:6000 
     268W:0:0:8:3 
    266269A:100:0 to 50 
     270M:100:1d5 
    267271F:EASY_KNOW 
    268272E:FOOD_GOOD 
    269273 
    270 N:22:& Hard Biscuit~ 
    271 G:,:U 
    272 I:80:32:500 
    273 W:0:0:2:1 
     274N:22:& Slime Mold~ 
     275G:,:g 
     276I:80:36:2500 
     277W:1:0:2:2 
     278A:100:1 to 100 
     279M:100:2d3 
    274280F:EASY_KNOW 
    275281E:FOOD_GOOD 
    276282 
    277 N:23:& Strip~ of Beef Jerky 
    278 G:,:u 
    279 I:80:33:1500 
    280 W:0:0:2:2 
    281 F:EASY_KNOW 
    282 E:FOOD_GOOD 
    283  
    284 N:24:& Slime Mold~ 
    285 G:,:g 
    286 I:80:36:3000 
    287 W:1:0:5:2 
    288 A:100:1 to 100 
    289 F:EASY_KNOW 
    290 E:FOOD_GOOD 
    291  
    292 N:25:& Piece~ of Elvish Waybread 
     283N:23:& Piece~ of Elvish Waybread 
    293284G:,:B 
    294285I:80:37:7500 
     
    298289E:FOOD_WAYBREAD 
    299290 
    300 N:26:& Pint~ of Fine Ale 
    301 G:,:y 
    302 I:80:38:500 
    303 W:0:0:5:1 
    304 F:EASY_KNOW 
    305 E:FOOD_GOOD 
    306  
    307 N:27:& Pint~ of Fine Wine 
    308 G:,:r 
    309 I:80:39:1000 
    310 W:0:0:10:2 
    311 F:EASY_KNOW 
    312 E:FOOD_GOOD 
    313  
    314  
    315 ## XXX 28 XXX ## 
    316  
    317 ## XXX 29 XXX ## 
     291 
     292## Slots 24-29 for future expansion (maybe) ## 
    318293 
    319294 
  • trunk/src/load.c

    r404 r413  
    268268        rd_s16b(&o_ptr->pval); 
    269269 
    270 #if 0 
    271         /* This can wait until object reorganisation */ 
    272         o_ptr->k_idx = lookup_kind(o_ptr->tval, o_ptr->sval); 
    273 #endif 
    274  
    275270        /* Pseudo-ID bit */ 
    276271        rd_byte(&o_ptr->pseudo); 
     
    321316        if (buf[0]) o_ptr->note = quark_add(buf); 
    322317 
    323         /* Obtain the "kind" template */ 
     318 
     319        /* Lookup item kind */ 
     320        o_ptr->k_idx = lookup_kind(o_ptr->tval, o_ptr->sval); 
    324321        k_ptr = &k_info[o_ptr->k_idx]; 
    325322 
    326         /* Obtain tval/sval from k_info */ 
    327         o_ptr->tval = k_ptr->tval; 
    328         o_ptr->sval = k_ptr->sval; 
     323        /* Return now in case of "blank" or "empty" objects */ 
     324        if (!k_ptr->name || !o_ptr->k_idx) 
     325        { 
     326                o_ptr->k_idx = 0; 
     327                return 0; 
     328        } 
     329 
    329330 
    330331 
     
    660661 
    661662                /* Accept any valid items */ 
    662                 if (st_ptr->stock_num < STORE_INVEN_MAX) 
     663                if ((st_ptr->stock_num < STORE_INVEN_MAX) && 
     664                    (i_ptr->k_idx)) 
    663665                { 
    664666                        int k = st_ptr->stock_num++; 
     
    14851487 
    14861488                /* Hack -- verify item */ 
    1487                 if (!i_ptr->k_idx) return (-1)
     1489                if (!i_ptr->k_idx) continue;
    14881490 
    14891491                /* Verify slot */