+ r_ptr->level = (DEPTH)lev;
+ r_ptr->rarity = (RARITY)rar;
+ r_ptr->extra = (BIT_FLAGS16)pad;
+ r_ptr->mexp = (EXP)exp;
+ r_ptr->next_exp = (EXP)nextexp;
+ r_ptr->next_r_idx = (IDX)nextmon;
+ }
+
+ /* Process 'R' for "Reinforcement" (up to six lines) */
+ else if (buf[0] == 'R')
+ {
+ int id, ds, dd;
+ /* Find the next empty blow slot (if any) */
+ for (i = 0; i < 6; i++) if (r_ptr->reinforce_id[i] == 0) break;
+
+ /* Oops, no more slots */
+ if (i == 6) return (1);
+
+ /* Scan for the values */
+ if (3 != sscanf(buf+2, "%d:%dd%d", &id, &dd, &ds)) return (1);
+ r_ptr->reinforce_id[i] = (MONRACE_IDX)id;
+ r_ptr->reinforce_dd[i] = (DICE_NUMBER)dd;
+ r_ptr->reinforce_ds[i] = (DICE_SID)ds;