Civ IV Diplomacy Features Mod

Putmalk

Deity
Joined
Sep 26, 2010
Messages
2,652
Location
New York

Current Version: 10.03 (Brave New World)
Current Release Date: 1.3.2014
Change Log

This is a DLL mod intended to add features from Civ IV Diplomacy into the game, such as Sharing Opinion, Map Trading, and Technology Trading.

Implemented features:
- Sharing Opinions
- Map Trading
- Tech Trading
- "Request Help" replaces "Demand" with civs whom you have a DoF with (no diplo penalty)
- AIs with DoF's will now offer you gifts if you require them.
- Vassalage

Upcoming:
- Much more (visit the Steam Workshop page)!

The AI is fully aware of what it is doing and will make decisions based on how it's relations are going with you. It should work with any modded civs, but it is not compatible with other DLL mods or mods that conflict with the interface.

Downloads:
Steam Workshop Page

Mod & Source Code Package

CONTACT THE AUTHOR OF THIS MOD
If you need to contact me, there are various methods of direct communication that work better than the forums:
Twitter - @Putmalk
Reddit - Putmalk

I will post updates as much as I can!
 

Attachments

  • sc_2.jpg
    sc_2.jpg
    156.8 KB · Views: 12,266
  • sc_1.jpg
    sc_1.jpg
    194 KB · Views: 12,993
  • sc_9.jpg
    sc_9.jpg
    125 KB · Views: 11,472
  • sc_8.jpg
    sc_8.jpg
    115.8 KB · Views: 10,271
  • sc_6.jpg
    sc_6.jpg
    146.5 KB · Views: 11,804
  • sc_5.jpg
    sc_5.jpg
    142.6 KB · Views: 9,991
Firstly, nice to see you back :). Secondly, great idea for a mod and thank-you! I'll be seeing if I can incorporate it into my own mod...;)

Sup Rob. How've you been?
 
The King is back, and with a very, very brilliant mod no less. ;)

Really looking forward to the map trading feature - I've been waiting for that since day one.
 
I've also noticed, in regards to diplomacy, that the "make demands" feature has never really worked. The AI is always asking you for an extra lux you have laying around, or some gold, but never, not once, has it ever accept such a trade or demand from me. It also makes ridiculous peace offers (a well documented frustration). And as I mentioned before it doesn't take into account anything but boots on the ground, no matter that I can crank out tanks and stealth bombers on command and have 150+ walls.

I'm not suggesting or asking you to include or deal with any of that, just bringing up some of my personal frustrations with diplomacy in case :)
 
I've alo noticed, in regards to diplomacy, that the "make demands" feature has never really worked. The AI is always asking you for an extra lux you have laying around, or some gold, but never, not once, has it ever accept such a trade or demand from me. I. also makes ridiculous peace offers (a well documented frustration). And as I mentioned before it doesn't take into account anything but boots on the ground, no matter that I can crank out tanks and stealth bombers on command and have 150+ walls.

I'm not suggesting or asking you to include or deal with any of that, just bringing up some of my personal frustrations with diplomacy in case :)

Planned for the mod:

* Aircraft, including bombers, more heavily weighted.
* When you've made a Declaration of Friendship with a civ, "Demand" will change to "Request Help" which carries no diplomatic penalty.
* Adjusting the logic behind accepting demands.
* Nuclear weaponry will force civs to pursue deterrence - no one wants MAD! Breaking the deterrence will cause the world to hate you. This one requires lots of planning.
 
Planned for the mod:

* Aircraft, including bombers, more heavily weighted.
* When you've made a Declaration of Friendship with a civ, "Demand" will change to "Request Help" which carries no diplomatic penalty.
* Adjusting the logic behind accepting demands.
* Nuclear weaponry will force civs to pursue deterrence - no one wants MAD! Breaking the deterrence will cause the world to hate you. This one requires lots of planning.

Thank you much for the update. Sounds fantastic and long overdue. :)
 
Version 2 is up, now with map trading!
 
Version 3 is up, fixes crash bug.

Version 4 will include technology trading.
 
Glad you guys are enjoying it. :)
 
Does this work with Gedemon's 34-civilization enabling DLL modification for his YnAEMP?
 
Does this work with Gedemon's 34-civilization enabling DLL modification for his YnAEMP?

No. DLL mods are not able to be combined.
 
No. DLL mods are not able to be combined.


Ah, dammit. What if there was a fusion of features (meaning your DLL changes and the 34-civilization enabling ones) into one DLL mod? Then it'd work, correct?
 
Ah, dammit. What if there was a fusion of features (meaning your DLL changes and the 34-civilization enabling ones) into one DLL mod? Then it'd work, correct?

Yes. But you need the source code of both mods for that. Depending of the mods, it's not an easy task.
 
No link to download this by the forums? I cannot use Steam. :(
 
Updated with Version 4 - Tech Trading.

Direct download available on the Steam Workshop page, for those with issues with Steam.
 
Yes. But you need the source code of both mods for that. Depending of the mods, it's not an easy task.


As a former modder, I know how irritating this following comment can be, but I cannot help myself: ...nudge, nudge, hint, hint, source code to Putmalk, please, hint, hint, cough, cough?

:D
 
Note to modders: If you would like to use my mod in your mod, do not stray away because you've modified civilizations, policies, techs, etc. My mod is modular. It does not hard-code anything (but does add a few items in XML/LUA that need to be implemented to work with your mod).

Here's a snippet of code from Version 5 I'm working on to show you what I mean:

EDIT: Lol, I just realized a bug in the code below. What if MedianTechPercentageChange was more than 100?

Code:
/// Added in Version Five
// Policy discount - Any policy that reduces research agreements will instead lower the deal value of Tech Trading
PolicyTypes ePolicy;
	
for(int iPoliciesLoop = 0; iPoliciesLoop < GC.getNumPolicyInfos(); iPoliciesLoop++)
{
	ePolicy = (PolicyTypes) iPoliciesLoop;

	// Do we have this policy && is it not blocked (e.g. Piety/Rationalism)
	if(GET_PLAYER(eOtherPlayer).GetPlayerPolicies()->HasPolicy(ePolicy) && !GET_PLAYER(eOtherPlayer).GetPlayerPolicies()->IsPolicyBlocked(ePolicy))
	{			
                int iTechValueChangePercent = GC.getPolicyInfo(ePolicy)->GetMedianTechPercentChange();
		// Does this policy modify median research agreement percent?
		if(iTechValueChangePercent > 0)
		{
			iItemValue *= (100 - iTechValueChangePercent); //by default, should be 25. Thus multiply by 75.				
                        iItemValue /= 100;	// result will be -25%
		}
	}
}

I could just as easily have passed the ID of Scientific Revolution, but it would make it incompatible with other mods. So, please, take comfort in knowing I didn't do this.
 
Top Bottom