Requesting following features

Just in case you can't solve this, and the problem seems to be in the DLL, I'd need the mod's files to run this. So if you have them packed somewhere, you could send them to me.
 
when will you be able to work on the 3 things mentioned earlier (stop sending reenforcements after 10 turns, reset diplomacy fix... and swapping the rebels into original civ when the original civ dies and the rebels are still alive...)
I attached yet another version of the Rebellion module that should include the 10 turn limit for reinforcements. Now, I didn't test it, so you can use the previous one if it fails. :p

Regarding the reset code for minor civs... :blush: That is actually in CustomFeatures but I can't how its plugged in anywhere. You probably need to add this line to CvEventManager:
Code:
	def onSetPlayerAlive(self, argsList):
		'Set Player Alive Event'
		iPlayerID = argsList[0]
		bNewValue = argsList[1]

[B]		Custom.resetMinorCiv(iPlayerID, bNewValue)[/B]

		CvUtil.pyPrint("Player %d's alive status set to: %d" %(iPlayerID, int(bNewValue)))
Because it does seem like I forgot about that. :lol: This probably means I never tested it either. :p

And the last thing - flipping rebels to majors code - will be added to CustomFeatures. When I get the time. But consider it done in any case. :D
 

Attachments

how can I send them to you?

Baldyr I will take it that the latest rebels module you attached containes the debug and I will use that one...

I have merged the debug code with my code and after testing that I will merge the code with the count down in it...

also in regards to keeping the rebels alive on that island... if you didn't kill those unit when a rebellion happened with them included then the reset diplomacy can never happen and rebellions would never end... We neeed to sort that out...
 
Yeah, you're absolutely right. I'll have to think about this some more before going forward. I'll get back to you as soon as I got something.
 
I take it that the problem wasn't solved?
I haven't had time to debug it myself yet. But please feel free to pitch in! :goodjob: I'm kinda swamped with stuff to do anyways (with the basement and all :p).
 
I'm kinda swamped with stuff to do anyways (with the basement and all :p).

Spoiler :

dierksbentley_basement_h.jpg
?
:lol:

Good luck with that!
 
you can have the files soon... any way the size is... 104 to 110MB (I remember when this mod was less than 8MB and I was worried about the size lol)
 
Code:
def onSetPlayerAlive(self, argsList):
		'Set Player Alive Event'
		iPlayerID = argsList[0]
		bNewValue = argsList[1]

                Custom.resetMinorCiv(iPlayerID, bNewValue)
		
		CvUtil.pyPrint("Player %d's alive status set to: %d" %(iPlayerID, int(bNewValue)))

this is my code here ( the indent went by accident not like that in code)

I got this popup during game start...

file "CVEventInterface", line 23, in onEvent
File "CvEventManager", line 187, in HandleEvent
File "CvEventManager", line 870, in onSetPlayerAlive

NameError: global name 'Custom' is not defined...
.
I believe we have seen this before however I cannot find it... what should I do about this... (this is to do with the reset diplo code...)
 
I started writing the flip-minor-civ-to-major-civ code and realized what Rhye did years ago making RFC. Namely that while it is quite possible to flip both units and cities, you really can't flip both. Because if you flip a city first, then all the units will still belong to the old player, with unreliable results ranging from the immediate capture of the city to the units being transported outside cultural borders. And if you flip the units first you get similar results, because the city underneath still belongs the previous owner.

What Rhye did, then, is firstly recreate the units on plot 0, 0 and then flip the city, and only after that spawn identical units on the city tile itself - and delete the units on the South Pole. I've seen the implementation and its not pretty. :p While it should be possible to do script something similar, it would take a real effort. (No, copy-pasting code from RFC is not an option.)

So, what I propose instead, for these reforming/resurrecting Civs, is that all rebel units simply die and that brand new ones are formed in the flipped cities. This would represent the reorganization of the army - from civil war ad-hoc units to a new Royal/Imperial army. So, how many units should each city get - and of what type?

Perhaps add a message declaring the reformation of the reborn empire under new management - and grant the player a free Golden Age? :king: Maybe a GG or two to represent the leaders of the rebel armies and the accumulated combat experience of the victorious units?
 
Code:
 I believe we have seen this before however I cannot find it... what should I do about this... (this is to do with the reset diplo code...)[/QUOTE]
It seems that the setPlayerAlive callback is done before the custom Python is initialized, so I'll take this into consideration when I do the flip code also. Simply delete the function call in the meanwhile and I'll get back to you with a tested setup. :goodjob:
 
ok also a problem with it (yes for some reason it still worked?) was that it made peace immediatly with the enemy... I conquored nova carthago and got a domestic rebellion, then I Instantly declared peace with them...?

One GG would surfice and a golden age sounds good... I think there should be another tech thing for units but in the form of:

archer = archery
advanced archer = advanced archery

simple....

also question: if the human civ dies and is reborn do you think that the human comes back or is dead completly?
 
I downloaded your mod, and there are some errors.
It seems that the paths in your leader heads art defs do not match the actual paths.
For example:

PHP:
		<LeaderheadArtInfo>
			<Type>ART_DEF_LEADER_AUGUSTUS</Type>
			<Button>,Art/interface/LeaderHeads/Btn_LH_America_Washington.dds,Art/Interface/Buttons/Warlords_Atlas_2.dds,2,7</Button>
			<NIF>art/LeaderHeads/Augustus_Caesar/augustus_caesar.nif</NIF>
			<KFM>art/LeaderHeads/Augustus_Caesar/augustus_caesar.kfm</KFM>
			<NoShaderNIF>art/LeaderHeads/Augustus_Caesar/augustus_caesar_noshader.nif</NoShaderNIF>
			<BackgroundKFM>art/LeaderHeads/Augustus_Caesar/augustus_caesar_BG.kfm</BackgroundKFM>
		</LeaderheadArtInfo>

But the caesar files are in Antony folder.
 
ok also a problem with it (yes for some reason it still worked?) was that it made peace immediatly with the enemy... I conquored nova carthago and got a domestic rebellion, then I Instantly declared peace with them...?
That actually makes sense. I'll rework this ASAP. I might spawn units in no-mans-land to activate the minor players prior to declaring war though...

One GG would surfice and a golden age sounds good... I think there should be another tech thing for units but in the form of:
Can you complete that data structure and add all the eNums. Because I really can't be bothered with those XML tags and whatnot. You can use getInfoTypeForString() to fetch the actual values in eNums and post the entries here together with the tuple of tech/unit pairs. (Follow the format/syntax of the tRebelUnits, or whatever.)

also question: if the human civ dies and is reborn do you think that the human comes back or is dead completly?
I think that the game has already ended by then, because the code fires on the setPlayerAlive callup from the SDK. But I guess we'll have to test that. :D
 
@ asaf the caesar paths are all correct as they are standard of BTS. the only two leader heads are clovis and antony the antony leader head was built off of caesar so that is why you are confused... You should not change the paths for the leader heads at alll as they are alll correct..
as you can see:
Code:
		<LeaderheadArtInfo>
			<Type>ART_DEF_LEADER_ANTONY</Type>
			<Button>Art/LeaderHeads/Antony/antonybutton.dds</Button>
			<NIF>art/LeaderHeads/Antony/antony.nif</NIF>
			<KFM>art/LeaderHeads/Antony/augustus_caesar.kfm</KFM>
			<NoShaderNIF>art/Leaderheads/Antony/antony.nif</NoShaderNIF>
			<BackgroundKFM>art/LeaderHeads/Antony/Antony_bg.kfm</BackgroundKFM>
		</LeaderheadArtInfo>
there is antony in the Antony folder, with the Antony artwork and nif and ceasar kfm...

Code:
		<LeaderheadArtInfo>
			<Type>ART_DEF_LEADER_ALEXANDER</Type>
			<Button>,Art/interface/LeaderHeads/Btn_LH_Greece_Alexander.dds,Art/Interface/Buttons/Actions_Builds_LeaderHeads_Specialists_Atlas.dds,1,11</Button>
			<NIF>art/LeaderHeads/Alexander_the _Great/alexander.nif</NIF>
			<KFM>art/LeaderHeads/Alexander_the _Great/alexander.kfm</KFM>
			<NoShaderNIF>art/LeaderHeads/Alexander_the _Great/alexander_noshader.nif</NoShaderNIF>
			<BackgroundKFM>art/LeaderHeads/Alexander_the _Great/alexander_BG.kfm</BackgroundKFM>
		</LeaderheadArtInfo>
you also highlighted interface which as you can see in the original art defines for alexander, has this lowercase item in it's path...

what errors exactly?

I will get to work on the e-nums and assemble a list for you... do you need the great general for eNums as well?
 
Oh, you're right about the original BTS files :blush:

But I did get errors regarding this in the log, that's why I posted this (I'm not on the same PC so I can't post them now)...

The saved game wouldn't load at all (a very quick popup about unable to decompress something which quickly disappeared). No errors in the python logs, no break into VS when debugging with debug DLL.
Only errors were these error in the resmgr.log.

And I didn't highlight Interface. When you use PHP tags it is highlighted automatically for some reason.
 
I will get to work on the e-nums and assemble a list for you... do you need the great general for eNums as well?
Goodie. A GG eNum would be helpful also. :D Don't forget to specify how many units, by the way.

No offensive units, by the way? Or would we dare use the conscription unit type to fill in the ranks? (Because it would mostly yield Civ specific melee units.) Hopefully there wouldn't be too many Explorers... :p

And what about the capital? Because the first city that flips back to the major player will become the capital. So I could either flip the original capital first - or I could just relocate the Palace to the old city once done. But how to know what site that is? (Have you defined starting locations in the WBS - or did you simple add units and cities? Because if you figure out how to plot the starting location for each major player, I could fetch that plot with Python.)
 
Another issue: When a rebellion ends, then all units of that player should be killed - including any units residing in no-man-land, right? But what if several cities are experiencing rebellions - simultaneously? This would lead to a chain-reaction that would kill off all of them. And the problem gets worse since several players could - theoretically - have slave revolts happening at the same time. :p

So I prose to not kill off all units (there is a handy method for this in the API) but rather target the island (or whatever) beyond the playable map. If there are any units belonging to the rebel civ there, then those units gets killed off. If there is none, then nothing happens.

Does this make sense? Are all there rebel units located on the same island or do each have their own? (Do they really need their own island, or can they declare war on each-other?) I will be needing the coordinates for those, if you have them or can look them up. (I'll probably store the plot IDs as constants, or something.)
 
Well, this is the error log in resmgr.log:
Code:
RESMGR: Failed loading file art/LeaderHeads/Augustus_Caesar/augustus_caesar_BG_background.kf. Reason: (code:1) Cannot open file.
RESMGR: Failed loading file art/LeaderHeads/Augustus_Caesar/augustus_caesar_BG_background.kf. Reason: (code:1) Cannot open file.
RESMGR: ---- Unloading ----

I've found the Augustus caesar folder in the Warlords' Assets folder, but this specific file (augustus_caesar_BG_background.kf) is not there.

This file is not mentioned in your artdefs for leader heads XML. Could it be referenced in one of the other art files?


EDIT: Apparently it is referenced from augustus_caesar_BG.kfm, and it appears that this happens in other places too without breaking the game (I think).

So that still leaves me with a save I cannot open (I'll try starting a new game later, and see if that works).
 
though I do not have the start coords and can give you some fake ones! The only rebellion that should be crushed down is the civ specific one. therefore the slaves would not get fliped but if greece died the hellenic rebels themselves would take their place, no other.

asaf: try making 2 people go to war (wqith construction) and give them loads of swordsmen each and a very large forest. They should start trying to spawn catapults shortly...

@ baldyr : currently I have not got around to putting everyone on islands (because of the small errors that would make in testing)

maybe use the civil war unit rosta aswell for example archer in every city plus 3 offensive in the capital
 
Back
Top Bottom