Ticket #29: gold_drop.diff

File gold_drop.diff, 1.4 KB (added by Big Al, 11 years ago)
  • src/monster/melee1.c

     
    610610                                                if (gold > 5000) gold = (p_ptr->au / 20) + randint1(3000); 
    611611                                                if (gold > p_ptr->au) gold = p_ptr->au; 
    612612                                                p_ptr->au -= gold; 
     613                                                 
    613614                                                if (gold <= 0) 
    614615                                                { 
    615616                                                        msg_print("Nothing was stolen."); 
    616617                                                } 
    617                                                 else if (p_ptr->au) 
    618                                                 { 
    619                                                         msg_print("Your purse feels lighter."); 
    620                                                         msg_format("%ld coins were stolen!", (long)gold); 
    621                                                 } 
    622618                                                else 
    623619                                                { 
    624                                                         msg_print("Your purse feels lighter."); 
    625                                                         msg_print("All of your coins were stolen!"); 
     620                                                        object_type *i_ptr; 
     621                                                        object_type object_type_body; 
     622 
     623                                                        /* Get local object */ 
     624                                                        i_ptr = &object_type_body; 
     625 
     626                                                        /* Wipe the object */ 
     627                                                        object_wipe(i_ptr); 
     628 
     629                                                        /* Prepare a gold object */ 
     630                                                        object_prep(i_ptr, lookup_kind(TV_GOLD, SV_GOLD)); 
     631                                                        i_ptr->pval = gold; 
     632 
     633                                                        /* Carry the object */ 
     634                                                        (void)monster_carry(m_idx, i_ptr); 
     635 
     636                                                        if (p_ptr->au) 
     637                                                        { 
     638                                                                msg_print("Your purse feels lighter."); 
     639                                                                msg_format("%ld coins were stolen!", (long)gold); 
     640                                                        } 
     641                                                        else 
     642                                                        { 
     643                                                                msg_print("Your purse feels lighter."); 
     644                                                                msg_print("All of your coins were stolen!"); 
     645                                                        } 
    626646                                                } 
    627647 
    628648                                                /* Redraw gold */