Moolah60

AC Villager Removing Logic

Apr 11th, 2021 (edited)
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. 1) Every villager is checked. The first villager (or the villager with the lower of the following) is put as a "check villager" which the rest are checked against.
  2.  
  3. 2) Each villager is then checked for their remove experience against the check villager. If I remember correctly this is the number of times/ways they've moved from another town. If both of these are 0 (means new to the town and hasn't moved before), then they check the following.
  4.  
  5. 2a) Firstly, each of the following is checked, but the next one is only check if BOTH the villager and the "check villager" have the same value for it. First: number of memories. Second number of letters in their memories. Third number of different towns in their memories. Fourth number of villagers with the same personality as them. If the villager is less than the check villager in any (or greater in the case of the number of villagers with the same personality), the villager is set as the check villager. If the check villager was less in any, then the check villager stays the same. If they are equal in everything, add the current villager to a list of removal candidates, but do not change the check villager.
  6.  
  7. 2b) If the check villager has left a town before (been removed before), but the current villager hasn't, then set the check villager to the current villager. This means that villagers who haven't moved before have higher move out priority.
  8.  
  9.  
  10. 2c) If the villager has left a town before (been removed), then we have another logic loop to check:
  11. 2c_a) If the check villager has also moved, the move times between the check villager and the current villager are compared. If the remove time from the current villager is less than the check villager, then the current villager is set as the check villager.
  12.  
  13. 2c_b) If the remove times are the same, the check villager is kept the same.
  14.  
  15. 2c_c) If the remove times are the same, step 2a and 2b are done here.
Add Comment
Please, Sign In to add comment