Code: Select all
watchPickup()
{
        self endon("death");
        
        weapname = self getItemWeaponName();
        
        while(1)
        {
                self waittill( "trigger", player, droppedItem );
                
                if ( isdefined( droppedItem ) )
                        break;
                // otherwise, player merely acquired ammo and didn't pick this up
        }
        
        /#
        if ( getdvar("scr_dropdebug") == "1" )
                println( "picked up weapon: " + weapname + ", " + isdefined( self.ownersattacker ) );
        #/
 
        assert( isdefined( player.tookWeaponFrom ) );
        
        // make sure the owner information on the dropped item is preserved
        droppedWeaponName = droppedItem getItemWeaponName();
        if ( isdefined( player.tookWeaponFrom[ droppedWeaponName ] ) )
        {
                droppedItem.owner = player.tookWeaponFrom[ droppedWeaponName ];
                droppedItem.ownersattacker = player;
                player.tookWeaponFrom[ droppedWeaponName ] = undefined;
        }
        droppedItem thread watchPickup();
        
        // take owner information from self and put it onto player
        if ( isdefined( self.ownersattacker ) && self.ownersattacker == player )
        {
                player.tookWeaponFrom[ weapname ] = self.owner;
        }
        else
        {
                player.tookWeaponFrom[ weapname ] = undefined;
        }
}Code: Select all
if(self.pers["team"] == "axis")
        return;

