DarkstarProject/darkstar — pull request #587 by starlightknight (2014-11-19 05:24:50+00:00)
Title: CORE/SQL: Reformat NPC List SQL to Prep for Id Automation

Per our discussion in #583

1) Change NPC ids back to long id & drop zone ID column

2) Add polutils_name and scrape the data off of current ids from POLUtils now that gedads has realigned all the zones

3) Update SQL in Core accordingly

The purpose of these changes is to make the NPC updating much more automation friendly. The automation jobs rely on scraping POLUtils which uses the long ids. It largely involves very basic string searching. The job gets needlessly complicated and hard to manage with converting ids back and forth all the time. It also limited us to having to go Our file -> POLUtils unless we wanted to do a whole bunch of temporary processing in memory, as we could not search the npc list sql with the short id directly because it is not unique in the file. Being able to do POLUtils -> Our File is probably a better long term approach, which these changes will allow, as it will help allow us to be able to detect new NPCs.

NOTE: There were 4 SOA zones that had a couple of NPCs each in them that I couldnt auto scrape with my script due to an issue with POLUtils. Since we're not supporting SOA right now anyways I commented out those couple of NPCs and can manually convert them later (or hopefully fix POLUtils issue)

NOTE 2: The polutils name should roughly match the regular name in most cases (except internal names, blank, etc). If it doesnt the ID is probably wrong in our file, not the polutils name. I did a large amount of spot checking and it by and large looks good.

TODO: Test instancing, fix a few SOA zones (noted above), update NPC id batch to take advantage of this info.

I tested random npcs in random zones after loading and they appear to be working correctly. Hit big cities such as Jeuno and San'dOria as well