Oh cool, thanks!
Will a search for the word purge work for finding all the inquisitor stuff?
I'm not even using the word purge, instead, the persecutor is called either persecutor, prosecutor or inquisitor, since persecution mechanics are a mix of my own code with that from Charlemagne scenario and RFCE. It's probably the most messy code in SoI, I mean, it works great but I'm kind of sorry for the mess
CvCustomEventManager.py
- import Religions
- self.rel = Religions.Religions() in __init__
- all the stuff with number 7626 in it
Religions.py
- eventApply7626
StoredData.py
- lPersecutionData, lPersecutionReligions, getPersecutionData, setPersecutionData, getPersecutionReligions, setPersecutionReligions
RFCUtils.py
- showPersecutionPopup, doPersecution
CvMainInterface.py
- parts that start with "edead: start Charlemagne inquisitor code" and "edead: Inquisitor button"
- make sure you import RFCUtils/utils and StoredData/sd
Consts.py
- tReligiousTolerance, tPersecutionOrder, iInquisitor, religion consts
CvGameUtils.py
- AI_unitUpdate, doInquisitorCore_AI, doInquisitorMove
CvCityAI.cpp::AI_chooseUnit
- the code by 3Miro & myself
CvRhyes.h
- all RELIGION_* enums, UNIT_PROSECUTOR, UNIT_PROSECUTOR_CLASS (consistency ftw), buildProsecutorProb array
CvDllTranslator.cpp
- all Religion icons
CvUnitAI::AI_update
- persecutor code by myself + comment block by Sephi; note that the whole python callback is basically disabled for game speed, unless the unit is a persecutor; it's important if your mod uses AI_unitUpdate callback (it shouldn't, it should be done in C++ but, the hack works fine and at this point I don't feel like moving it all to C++ just so the code it neat)
It's really a perfect example of how NOT to code new features, but my excuse is that parts of it were added successively in a timespan of more than a year, and well, it works