defenders[defid][deftype]['count'] -= 1 fleet_totals[defid] -= 1 if defenders[defid][deftype]['count'] == 0: del defenders[defid][deftype] if fleet_totals[defid] == 0: del defenders[defid] #defenders[defid] = {} #how about rapidfire? stopfiring = True #we are ignoring it #print "-" defenders_before = PHPUnserialize().unserialize(backup) #Next defender fires, so, for each defender. for fleetid,info in defenders_before.iteritems(): #For each of this defenders ships for type,info in defenders_before[fleetid].iteritems(): #For each of this type of ship for n in range (0,info['count']): stopfireing = False while stopfireing == False: #Unless rapidfire, this is the last shot stopfireing = True #If ships are still left if attacker_total > 0: