AI Leaders Personality Matrix Revolutions (EDIT MODE)

raen

Coat of Arms
Joined
May 12, 2003
Messages
2,595
Location
Portugal
Based on my view tool I now implemented a way to you to edit your CIV4LeaderHeadInfo xml!

Some javascript loading is necessary, be patient with it.

Operations you can do:

Just choose leader with one click and then drag the leader to na empty box until focus is ticking, then drop (unclick mouse).

Orange box appears for each modification.

At the end of modifications you can save and export your xml using the button in top of page.

GO HERE!

Any suggestions or questions be my guest.
 
Nice work man!
I was made random leader generator, you can see it here and maybe you will get some new idea :)

Many thanks!

How do you guess that I am looking for a new idea? ;) With this breakthrough I feel I can do anything with a xml file, more like a "workthrough".

Meanwhile, I am more interested in editing other xml, any ideas out there?

Thanks :)
 
Would someone have a tool like this (the file results in a 404 error)?
I suppose I could eventually get around to making one myself using Python, but...?
 
This not working anymore, I can recover the logic of it and send it to you or try to recover it
That would be nice, if you could do that!

If not, I quickly created a minimally working Python implementation for people that might be looking for this in the future:

Python code:
Code:
import xmltodict

lh = {}
lhrank = {}

with open("C://Program Files (x86)//Steam//steamapps//common//Sid Meier's Civilization IV Beyond the Sword//Beyond the Sword//Mods//RevolutionDCM//Assets//XML//civilizations//CIV4LeaderHeadInfos.xml", 'r') as f:
    result = xmltodict.parse(f.read())['Civ4LeaderHeadInfos']['LeaderHeadInfos']['LeaderHeadInfo']
    all = len(result)
    for i in range(all):
        lh[i] = result[i]

for i in range(all):
    lhrank[lh[i]['Type']] = {'iWarmongerRespect':lh[i]['iWarmongerRespect'], 'iWonderConstructRand':lh[i]['iWonderConstructRand']}
lhsorted = sorted(lhrank.items(), key=lambda x:x[1]['iWarmongerRespect'], reverse=True)
for i in range(all):
    print(lhsorted[i])

Result:
Code:
('LEADER_BIG_BROTHER', {'iWarmongerRespect': '4', 'iWonderConstructRand': '20'})
('LEADER_COMRADE_UNCLE', {'iWarmongerRespect': '4', 'iWonderConstructRand': '20'})
('LEADER_REVOLUTIONARY_CHAIRMAN', {'iWarmongerRespect': '4', 'iWonderConstructRand': '20'})
('LEADER_CIVILIS', {'iWarmongerRespect': '4', 'iWonderConstructRand': '10'})
('LEADER_HITLER', {'iWarmongerRespect': '3', 'iWonderConstructRand': '0'})
('LEADER_POL_POT', {'iWarmongerRespect': '3', 'iWonderConstructRand': '0'})
('LEADER_KIM', {'iWarmongerRespect': '3', 'iWonderConstructRand': '10'})
('LEADER_HUSSEIN', {'iWarmongerRespect': '3', 'iWonderConstructRand': '10'})
('LEADER_ALEXANDER', {'iWarmongerRespect': '2', 'iWonderConstructRand': '20'})
('LEADER_DICK_RICHARDSON', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_WITCHKING', {'iWarmongerRespect': '2', 'iWonderConstructRand': '0'})
('LEADER_BRENNUS', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_CATHERINE', {'iWarmongerRespect': '2', 'iWonderConstructRand': '30'})
('LEADER_SHENG_JI_YANG', {'iWarmongerRespect': '2', 'iWonderConstructRand': '0'})
('LEADER_BOB_PAGE', {'iWarmongerRespect': '2', 'iWonderConstructRand': '30'})
('LEADER_HELGA_STEELE', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_HANDSOME_JACK', {'iWarmongerRespect': '2', 'iWonderConstructRand': '50'})
('LEADER_MR_DARK', {'iWarmongerRespect': '2', 'iWonderConstructRand': '40'})
('LEADER_HERUMOR', {'iWarmongerRespect': '2', 'iWonderConstructRand': '30'})
('LEADER_DE_GAULLE', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_GENGHIS_KHAN', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_GILGAMESH', {'iWarmongerRespect': '2', 'iWonderConstructRand': '40'})
('LEADER_HANNIBAL', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_ULRIK_SVENSGAARD', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_CASTAMIR', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_HUAYNA_CAPAC', {'iWarmongerRespect': '2', 'iWonderConstructRand': '40'})
('LEADER_MARCOS', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_AFONSO', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_CALIGULA', {'iWarmongerRespect': '2', 'iWonderConstructRand': '50'})
('LEADER_BASIL', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_KUBLAI_KHAN', {'iWarmongerRespect': '2', 'iWonderConstructRand': '30'})
('LEADER_KUNDAJV', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_AR_PHARAZON', {'iWarmongerRespect': '2', 'iWonderConstructRand': '40'})
('LEADER_LOUIS_XIV', {'iWarmongerRespect': '2', 'iWonderConstructRand': '50'})
('LEADER_DEIRDRE_SKYE', {'iWarmongerRespect': '2', 'iWonderConstructRand': '20'})
('LEADER_ELENDIL', {'iWarmongerRespect': '2', 'iWonderConstructRand': '40'})
('LEADER_HOUSE', {'iWarmongerRespect': '2', 'iWonderConstructRand': '40'})
('LEADER_CHINESE_LEADER', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_MONTEZUMA', {'iWarmongerRespect': '2', 'iWonderConstructRand': '0'})
('LEADER_WULF', {'iWarmongerRespect': '2', 'iWonderConstructRand': '0'})
('LEADER_BALON_GREYJOY', {'iWarmongerRespect': '2', 'iWonderConstructRand': '0'})
('LEADER_CARL_JOHNSON', {'iWarmongerRespect': '2', 'iWonderConstructRand': '0'})
('LEADER_NAPOLEON', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_CORAZON_SANTIAGO', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_PETER', {'iWarmongerRespect': '2', 'iWonderConstructRand': '30'})
('LEADER_QIN_SHI_HUANG', {'iWarmongerRespect': '2', 'iWonderConstructRand': '30'})
('LEADER_KHAMUL', {'iWarmongerRespect': '2', 'iWonderConstructRand': '20'})
('LEADER_MENES', {'iWarmongerRespect': '2', 'iWonderConstructRand': '50'})
('LEADER_RAGNAR', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_RAZORBEARD', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_CANUTE', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_ABUBAKR', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_SHAKA', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_AZOG', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_TYWIN_LANNISTER', {'iWarmongerRespect': '2', 'iWonderConstructRand': '30'})
('LEADER_NINJAWS', {'iWarmongerRespect': '2', 'iWonderConstructRand': '0'})
('LEADER_SAURON', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_CETSHWAYO', {'iWarmongerRespect': '2', 'iWonderConstructRand': '0'})
('LEADER_SPYGLASS', {'iWarmongerRespect': '2', 'iWonderConstructRand': '30'})
('LEADER_MASSINISSA', {'iWarmongerRespect': '2', 'iWonderConstructRand': '10'})
('LEADER_ROBERT_BARATHEON', {'iWarmongerRespect': '2', 'iWonderConstructRand': '25'})
('LEADER_TOKUGAWA', {'iWarmongerRespect': '2', 'iWonderConstructRand': '20'})
('LEADER_DORAN_MARTELL', {'iWarmongerRespect': '2', 'iWonderConstructRand': '20'})
('LEADER_SARUMAN', {'iWarmongerRespect': '2', 'iWonderConstructRand': '40'})
('LEADER_ASOKA', {'iWarmongerRespect': '1', 'iWonderConstructRand': '40'})
('LEADER_RAYMAN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_AUGUSTUS', {'iWarmongerRespect': '1', 'iWonderConstructRand': '40'})
('LEADER_TONI_CIPRIANI', {'iWarmongerRespect': '1', 'iWonderConstructRand': '10'})
('LEADER_DURIN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '50'})
('LEADER_BISMARCK', {'iWarmongerRespect': '1', 'iWonderConstructRand': '30'})
('LEADER_AHMAD', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_WENCESLAUS', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_BOUDICA', {'iWarmongerRespect': '1', 'iWonderConstructRand': '10'})
('LEADER_BRAND', {'iWarmongerRespect': '1', 'iWonderConstructRand': '10'})
('LEADER_CHARLEMAGNE', {'iWarmongerRespect': '1', 'iWonderConstructRand': '15'})
('LEADER_KHUSRAW_ANUSHIRUWAN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '40'})
('LEADER_HYARMENDACIL', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_HAMMURABI', {'iWarmongerRespect': '1', 'iWonderConstructRand': '40'})
('LEADER_STANNIS_BARATHEON', {'iWarmongerRespect': '1', 'iWonderConstructRand': '10'})
('LEADER_ISABELLA', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_YUSUF', {'iWarmongerRespect': '1', 'iWonderConstructRand': '30'})
('LEADER_JOAO', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_AEGON_TARGARYEN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_CIRDAN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_TANDI', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_JULIUS_CAESAR', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_CLAUDE_SPEED', {'iWarmongerRespect': '1', 'iWonderConstructRand': '10'})
('LEADER_EDWARD', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_JUSTINIAN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '30'})
('LEADER_CHA_DAWN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '10'})
('LEADER_GALADRIEL', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_TOMMY_VERCETTI', {'iWarmongerRespect': '1', 'iWonderConstructRand': '40'})
('LEADER_MEHMED', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_DAENERYS_TARGARYEN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_SALADIN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '10'})
('LEADER_STALIN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '30'})
('LEADER_SULEIMAN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_SURYAVARMAN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '40'})
('LEADER_MACE_TYRELL', {'iWarmongerRespect': '1', 'iWonderConstructRand': '40'})
('LEADER_MEIJI', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_ZARA_YAQOB', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_GIL_GALAD', {'iWarmongerRespect': '1', 'iWonderConstructRand': '40'})
('LEADER_LYSA_ARRYN', {'iWarmongerRespect': '1', 'iWonderConstructRand': '20'})
('LEADER_DOMAI', {'iWarmongerRespect': '1', 'iWonderConstructRand': '10'})
('LEADER_MIRIAM_GODWINSON', {'iWarmongerRespect': '1', 'iWonderConstructRand': '30'})
('LEADER_BARBARIAN', {'iWarmongerRespect': '0', 'iWonderConstructRand': '0'})
('LEADER_ADENAUER', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_CHURCHILL', {'iWarmongerRespect': '0', 'iWonderConstructRand': '10'})
('LEADER_JOHN_MAXSON', {'iWarmongerRespect': '0', 'iWonderConstructRand': '10'})
('LEADER_MASARYK', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_CYRUS', {'iWarmongerRespect': '0', 'iWonderConstructRand': '40'})
('LEADER_DARIUS', {'iWarmongerRespect': '0', 'iWonderConstructRand': '40'})
('LEADER_ELIZABETH', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_AKI_ZETA_5', {'iWarmongerRespect': '0', 'iWonderConstructRand': '10'})
('LEADER_LAPULAPU', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_FREDERICK', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_GANDHI', {'iWarmongerRespect': '0', 'iWonderConstructRand': '10'})
('LEADER_PRAVIN_LAL', {'iWarmongerRespect': '0', 'iWonderConstructRand': '30'})
('LEADER_BILBO', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_EORL', {'iWarmongerRespect': '0', 'iWonderConstructRand': '10'})
('LEADER_EDDARD_STARK', {'iWarmongerRespect': '0', 'iWonderConstructRand': '10'})
('LEADER_HOSTER_TULLY', {'iWarmongerRespect': '0', 'iWonderConstructRand': '10'})
('LEADER_HATSHEPSUT', {'iWarmongerRespect': '0', 'iWonderConstructRand': '40'})
('LEADER_LINCOLN', {'iWarmongerRespect': '0', 'iWonderConstructRand': '30'})
('LEADER_GRAND_MINIMUS', {'iWarmongerRespect': '0', 'iWonderConstructRand': '40'})
('LEADER_POLOKUS', {'iWarmongerRespect': '0', 'iWonderConstructRand': '60'})
('LEADER_MANSA_MUSA', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_PROKHOR_ZAKHAROV', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_BENNY', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_PACAL', {'iWarmongerRespect': '0', 'iWonderConstructRand': '40'})
('LEADER_PERICLES', {'iWarmongerRespect': '0', 'iWonderConstructRand': '40'})
('LEADER_RAMESSES', {'iWarmongerRespect': '0', 'iWonderConstructRand': '50'})
('LEADER_FRANKLIN_ROOSEVELT', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_SITTING_BULL', {'iWarmongerRespect': '0', 'iWonderConstructRand': '0'})
('LEADER_THRANDUIL', {'iWarmongerRespect': '0', 'iWonderConstructRand': '0'})
('LEADER_SINDER_ROZE', {'iWarmongerRespect': '0', 'iWonderConstructRand': '10'})
('LEADER_VICTORIA', {'iWarmongerRespect': '0', 'iWonderConstructRand': '30'})
('LEADER_WANGKON', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_ARWEN', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_WASHINGTON', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_WILLEM_VAN_ORANJE', {'iWarmongerRespect': '0', 'iWonderConstructRand': '20'})
('LEADER_NWABUDIKE_MORGAN', {'iWarmongerRespect': '0', 'iWonderConstructRand': '40'})

As you can see, I wanted to see the iWarmongerRespect and iWonderConstructRand of all leaders, sorted by iWarmongerRespect. Should be pretty self-explanatory to make some helpful overviews with this basis. Your tool sounds much better though, so I am interested!
 
I was devastated to discover today that the online host went down; I had very little experience modding Civ4 when I joined a colleague's project a decade ago, and this was a godsend for helping me balance the leader profiles. The read-only version is archived, but if it's at all possible to package what you had as a portable program, I for one would be eternally obliged. :cool:
 
Hi at the time @need my speed replied I tried to recover but I saw I have to refactor since old features don´t work anymore, since some requests I will try to do that, no promises when I deliver ok?
 
Hi at the time @need my speed replied I tried to recover but I saw I have to refactor since old features don´t work anymore, since some requests I will try to do that, no promises when I deliver ok?
Underbidding and overbilling is the definition of my work ethic. :lol: Thanks for your consideration.
 
Top Bottom