RevolutionDCM for BTS

I agree with keldath: Adding in AI logic for all terrain transports would be a good idea. keldath you should post your working code for this in the Specific Code Proposals thread in the RevDCM project form.

As a RevDCM user, and mod maker, I'm all for including components that do not harm or significantly alter RevDCM; so long as these components can easily be verified as stable. However one need only look at the Python Helpers thread to realize that easily verifiable stability is a big sticking point; at this point the Python Helpers mod component should not be added. The two main examples of components that are good to add are specific and useful XML tags and new stable AI logic (even for components not in base BtS so long as such components could be created using RevDCM XML --such as all terrain transports-- we should endeavor to support such modifications to RevDCM); such a development plan only helps out the mod makers who use a RevDCM core in their mods, and these mod's users. RevDCM has become the standard modding core for BtS, and it's good to support that role. However the line needs to be drawn sometimes. For a component to be included in the RevDCM core, that component must be simple and concise, or improve the functionality of a simple modification to RevDCM itself (XML mod). Again it's important to note RevDCM should not support all added components in other mods that use a RevDCM core; for instance, it would be foolish to have RevDCM try to support all the python components in Dune Wars; if a modpack team is modding complex things in their mod, they need to support it, this should not fall on glider and jdog. This line is important because of the stability issues which creep into projects like this if too many things are added; especially if they are added too quickly without enough assessment of their worth and stability.


@glider
I see this on the todo list:
- Update RevDCM Super Spies to the WoC Super Spies BTS default format for promotions
It is absolutely imperative that you make it so that WoC is not required for core RevDCM components, such as super spies. WoCifying SS is a no go. And here is why:
WoC requires a file to be created/altered if any components are active. This file must be created/altered in the Program Files path. As such for Vistas Users they must launch as an admin, not doing so will cause a crash. The user can get around this by using launch as admin, and this is the defacto way all RevDCM mods are installed and used. However this is a poor work around, many users never bother, they simply see that the mod fails, and give up. To get around this I am working on an installer script so that the User Settings folder that BUG uses will be installed to a different path; users will no longer need to launch as an admin. However this fix will not work if any WoC components are active, the mod will always crash if not launched as an admin on Windows 7 and Vista. Forcing WoC on all heavy modpack makers is going to destroy this fix, and is not necessary. Keep all core RevDCM components in the core, if users want to use WoC, they may, but do not force us to use it.

For reference check here:
http://forums.civfanatics.com/showthread.php?t=341219

Edit, more Todo list stuff:
- Phungus says: Add civic required array to UnitInfos so the Inquisitor will no longer need to be hardcoded in the SDK, and the CannotTrain callback can be fully removed, also will add a modding tool. Add Gameoption tag in UnitInfos for unit trainability (reasons same as above, probably best to set it up so when selected a unit cannot be trained, this would mean Inquisitions would be on by default and the Inquistions gameoption would need to be No Inquistions)
- Phungus revdcm specific code proposals thread: changes to game options selections (inquisitor/espionage)
Done already see here:
http://forums.civfanatics.com/showpost.php?p=8616533&postcount=34
It's all ready to merge, and has been checked. This is important code too as it eliminates all python callbacks.
- glider: merge Dom Pedro's mod helper?
Dom Pedro's Python helpers is not stable, multiple user reports of CTDs when using it.


Also MP compatibility is mysteriously absent from the current todo list :ninja:
 
hi,
yes i agree with you phungus420,
indeed a line must be drawn, the core revdcm should stay the same with only stable simple codes.
usually i do not encourage adding mods and codes to revdcm, unless they contribute to gameplay and faster code - like car. but this one, the all terrain, i think is important for both bbai and revdcm, i dont have to name the advantages.

i will post this on the thread you directed me,

glad you think like me.
 
@Duuk, Afforess
Yeah the debate about woc is definitely over. Anyway, I wanted it for my own personal motivations as well :mischief: I cannot live without Dualism and Zoro.

Cheers

I understand that. What I'm opposing is adding in components and mods that add 0 to core RevDCM. If someone wants to add terrain transports, let them worry about the AI usage for it. Since that is not used in RevDCM it is useless bloat in the RevDCM core. This leads to minor things like longer initial load time and stranger things like odd hangs and crashes when code that has no effect fails.
 
Since that is not used in RevDCM it is useless bloat in the RevDCM core.

I fail to see your logic here.

Basically, I am intrepreting you as this:

It is useless because we don't use, so don't use it because it is useless.

That's a perfect example of circular reasoning.

Who says RevDCM won't add some new feature with ATT? I want to hear it out of Glider1 or Jdog5000's mouth before I'd say things like that.
 
I can tell you why it's useless:

RevDCM doesn't add units (with the exception of the Inquisitor). It doesn't add new resources, terrain, religions, or civs. It DOES add a new dimension of gameplay with BarbarianCiv and Revolution. And the only reason to have Inquisitions is because of the Revolutionary aspects of religion in RevDCM.

Now, if RevDCM is going to start adding stuff outside of code, then we have a whole new discussion.
 
RevDCM doesn't add units (with the exception of the Inquisitor). It doesn't add new resources, terrain, religions, or civs. It DOES add a new dimension of gameplay with BarbarianCiv and Revolution. And the only reason to have Inquisitions is because of the Revolutionary aspects of religion in RevDCM.

Who died and made you the lead dev?

Jdog can do what ever he pleases.
 
Said the pot to the kettle.

I'm voicing my opinion and backing it up with reasoning.

You're a whiny prig that demands things of the devs.
 
Said the pot to the kettle.

I'm voicing my opinion and backing it up with reasoning.

You're a whiny prig that demands things of the devs.

Seems you demand them to leave stuff out even though they wanted them in for whatever reasons of their own.

As to reasoning, if they want to be a core component used by many mods, making it easy for those modders to use it as a component would be part of your goal. The added flexibility of WoC certainly could help in that respect.

Case in point : I will most likely switch to it because of that.

PS I noticed that some events are still changed from the original game. I thought that was due to the event bug, but that was fixed in 2.6, so did you forget to change them back or is there another reason for it ?
 
You're a whiny prig that demands things of the devs.

:lol:

You wouldn't know irony if it bit you on the nose.

All I said was that we should let Jdog decide. All you want to do is to decide for Jdog.
 
Jdog & Glider1, I haven't tested this in pure RevDCM 2.61 yet, but I've noticed that in RoM, when I bribe cities, it has the reverse effect, the Revolution index rises instead of falling. I have some screenshots.


Civ4ScreenShot0128.JPG

Civ4ScreenShot0129.JPG

Civ4ScreenShot0130.JPG

Edit:

Also, I just got this python exception, note, I have not altered the BarbarianCiv python file in any way, it's the 2.61 copy.

Traceback (most recent call last):
File "BugEventManager", line 357, in _handleDefaultEvent
File "BarbarianCiv", line 147, in onBeginGameTurn
File "BarbarianCiv", line 1037, in checkBarbCities
File "BarbarianCiv", line 1075, in createMinorCiv
File "BarbarianCiv", line 395, in pickCivAndLeader
NameError: global name 'newCividx' is not defined
 
@Keldath
The assassinate mission does not was removed that I am does aware of.
Your suggestion about all terrain units does is noted.

@Afforess
Your observation noted but not examined in detail

@Mamba
The disabled events are still disabled only because testing events takes time and I was hoping someone like you would help report whether events have been fixed or not by re-enabling them yourself and testing.

@Phungus
Your observations noted thanks

Cheers
 
Edit:

Also, I just got this python exception, note, I have not altered the BarbarianCiv python file in any way, it's the 2.61 copy.

Fixed now. Should be newCivIdx with a capital I. Somehow there are no leaders available for this particular barbciv, which is not a common occurrence.
 
Hey man...

Have really enjoyed the new RevDCM & BBAI releases...have been playing them a lot while continuing the work on my scenario-mod.

You told me to ask this question in a forum that you could answer because there would be a lot of people interested in seeing the answer & it could add a lot to warfare fun...

My question:

In RFC, Rhye created "non-breakable upon war declaration defensive pacts" - so that it would be like, for example, in case you aren't aware of this:

USA & UK have defensive pact
Russia & China have defensive pact.

USA declares war on Russia. Defensive pact with UK stays in tact. Bc of the declaration on Russia, China declares war on USA. Because of USA-UK pact, UK declares war on China. Because of Russia-China pact, Russia declares war on UK.

So in the end, the "alliance" stays in tact & the war now becomes USA&UK vs. Russia&China.

Now, myself, I have no idea how to code this. It is probably the #1 thing on my "wish list" for game-changing play & I'd fully appreciate the help you can offer me with this.

Thanks JDog
Matt
 
Hey man...

Have really enjoyed the new RevDCM & BBAI releases...have been playing them a lot while continuing the work on my scenario-mod.

You told me to ask this question in a forum that you could answer because there would be a lot of people interested in seeing the answer & it could add a lot to warfare fun...

My question:

In RFC, Rhye created "non-breakable upon war declaration defensive pacts" - so that it would be like, for example, in case you aren't aware of this:

USA & UK have defensive pact
Russia & China have defensive pact.

USA declares war on Russia. Defensive pact with UK stays in tact. Bc of the declaration on Russia, China declares war on USA. Because of USA-UK pact, UK declares war on China. Because of Russia-China pact, Russia declares war on UK.

So in the end, the "alliance" stays in tact & the war now becomes USA&UK vs. Russia&China.

Now, myself, I have no idea how to code this. It is probably the #1 thing on my "wish list" for game-changing play & I'd fully appreciate the help you can offer me with this.

Thanks JDog
Matt

This is an easy change to make actually, commenting out the following pieces in CvTeam::declareWar should do it:

1. A big block of loops and ifs which references TRADE_DEFENSIVE_PACT

2. The line with cancelDefensivePacts()

3. The line with GET_TEAM(eTeam).cancelDefensivePacts()

(Side note: 1 and 2 look entirely redundant to me, not sure why Firaxis has both) So, for the big block you could use a c++ block comment:

Code:
/*
... several lines of code ...
*/

and for single lines you can use:

Code:
//cancelDefensivePacts();

And after making these changes you will need to recompile the DLL. When generating the DLL, the compiler simply skips over commented out pieces as if they don't exist. Commenting out code is better than deleting it though because it leaves the code intact in case you decide to change your mind later.

I think I'll create an XML flag in future releases of BBAI and RevDCM so this simple change to make Defensive Pacts more like Alliances is easily available for everyone.
 
I think I'll create an XML flag in future releases of BBAI and RevDCM so this simple change to make Defensive Pacts more like Alliances is easily available for everyone.

Eh, I'd rather you didn't. It would be better just to clone the Defensive pact code and create a new "Alliance" deal.
 
I would agree here since otherwise it is a major change to the way the game plays. Also isn't there already a "permanent alliance" deal?

Yes, but there is a big distinction between Alliances and Permanent Alliances.

I would like an Alliance feature... but it doesn't necessary have to come from RevDCM. I can always add it myself.
 
Back
Top Bottom