 
                
        
     
                
        
     
                
        
     
                
        
     
                
        
     
                
        
    if (IS_AWAKE (ch) && ch->in_room == victim->in_room){
             multi_hit (ch, victim, TYPE_UNDEFINED);
             if ((victim = ch->fighting) == NULL)
                 continue;
                 /*
                  * Swords will very rarely get in an extra round.
                  */
                 if (get_weapon_sn (ch) == gsn_sword && ch->wait <= 0) 
                
        
     
                
        
     
                
        
     
                
        
    for (vch = ch->in_room->people; vch != NULL; vch = vch->next_in_room) {
            if (vch->fighting == ch || is_same_group (vch->fighting, ch)) {
                if (number_percent () < chance) {
                    was_fighting = ch->fighting;
                    ch->fighting = vch;
                    multi_hit (ch, vch, TYPE_UNDEFINED);
                    check_improve (ch, gsn_sword, TRUE, 2);
                    ch->fighting = was_fighting;
                    WAIT_STATE (ch, PULSE_VIOLENCE);
                    break; //exit after finding a victim
                }
            }
        } 
                
        
     
                
        
    for (vch = ch->in_room->people; vch != NULL; vch = vch->next_in_room)
for (vch = ch->in_room->people; vch != NULL; vch = vch_next)
vch_next = vch->next_in_room;
Program received signal SIGSEGV, Segmentation fault.
0x004376b0 in violence_update () at fight.c:113
113 if (vch->fighting == ch
(gdb) tb
Breakpoint 1 at 0x4376b0: file fight.c, line 113.
(gdb) bt
#0 0x004376b0 in violence_update () at fight.c:113
#1 0x00479f2b in update_handler () at update.c:1199
#2 0x0042c442 in game_loop_unix (control=5) at comm.c:844
#3 0x0042bed8 in main (argc=2, argv=0x10e19b0) at comm.c:448
(gdb) list
108 chance = chance * 3 / 5;
109
110 for (vch = ch->in_room->people; vch != N
ULL; vch = vch_next)
111 vch_next = vch->next_in_room;
112 {
113 if (vch->fighting == ch
114 || is_same_group (vch->f
ighting, ch))
115 {
116 if (number_percent () <
chance)
117 {
(gdb)
 
                
        
     
                
        
     
                
        
     
                
        
     
                
        
     
                
        
    for (vch = ch->in_room->people; vch != NULL; vch = vch_next)
vch_next = vch->next_in_room;
for(vch = ch->in_room->people; vch != NULL; vch = vch_next){
             vch_next = vch->next_in_room;
             //…rest if loop here (those 2 ifs)
        } 
                
        
    
I'll take all the credit for that.