Thoughts about some tweaks

migck

Señor de la guerra
Joined
Apr 6, 2009
Messages
197
I realize I'm really late to the awesome party that is RFC, after having played it for a while and falling in love :love: with it, I have accumulated some self made tweaks to it (and some provided by users such as Panopticon's modules), which in some cases actually make a lot of sense. It is extremely basic XML and little Python stuff, I can't really mod anything above that (I only wish I could)

I'd like to know what do other users think of them, if there's any catch that I haven't seen due to my limited knowledge of the game and scarce tactical skills (I can't really hope to win a game over Viceroy... shame on me :( ), and hopefully share some other little tweaks to make RFC that little bit better :D

Spoiler :
ART
- CIV4ArtDefines_Terrain.xml, Assets\Art\Terrain\Textures: Changed the marshes' graphics and art schema to Marsh terrain graphics from Colonization by johny smith (http://forums.civfanatics.com/showthread.php?t=293601)

PYTHON
- Resources.py: Added Dynamic Terrain by Panopticon (http://forums.civfanatics.com/showthread.php?t=338752)
- RiseAndFall.py: Prevented bDeleteEverything = True (now False) on new civs spawning, since obliterating cities which might even have wonders is a bit harsh IMO
- UniquePowers.py: Added Religious Inmigration by Panopticon (http://forums.civfanatics.com/showthread.php?t=338241), changed so that it doesn't favor any religion

BUILDINGS
- Fixed all national wonders turned to world wonders in RFC so that they give no culture when captured (Colosseum, Channel Tunnel, Mt. Rushmore)
- Turned Triumphal Arch into a regular building and it is always captured
- Coal plant requires coal
- Nuclear plant requires nuclear-I mean, uranium
- Scotland Yard requires Communism (kind of odd having a glass skyscrapper in a hut or medieval city)
- Amphitheatre gives +1 happiness for Football Events, UB versions don't (they are all already better off)
- Market and Forum give +1 happiness for cotton
- American Mall gives no happiness for Football Events (what would that be, video tapes of football matches?)
- Pyramids never go obsolete. Otherwise it would be arguably better to forgo it in favor of building monuments manually, so that they don't disappear when Calendar arrives
- Statue of Zeus requires just a monument in the city, since they often go obsolete too soon to have bothered building 4+ of them
- Changed Olympic park to give same effects as Mausoleum (+50% GA length), since one could exploit building/losing it for several golden ages
- To keep with the above, Mausoleum goes obsolete with Nationalism

CIVILIZATIONS
Basically I've added a UU and UB to some civs if their culture generally encompasses that of a civ which doesn't appear in RFC
- Babylonia: Gets back the Garden UB, added Vulture UU (+Sumeria)
- Byzantium: Added Odeon UB, which is present in Athens in the 600AD scenario (this is just to prevent Athens having an Amphiteatre and an Odeon, which generally won't happen anyways)
- China: Added Hwacha UU, Seowon UB (+Korea)
- Germany: Added Landsknetch UU, Rathaus UB (+Holy Roman Empire)
- Rome: Added Cataphract UU, Hippodrome UB (+Byzantium)

UNITS
- Added Commando promotion to Great Spy
- Workboats incur no military support and get no military production modifiers
- Battleship requires Artillery
- Missile Cruisser requires Rocketry, same iPower 40 than Battleship
- Attack Submarine requires either oil or uranium
- Infantry no longer can upgrade to SAM Infantry (Fuyu)
- Grenadier can upgrade to SAM Infantry (Fuyu)
- Increased iPower of: Catapult (5->6), Cannon (12->14), Artillery (18->19), Mobile Artillery (26->28) as per Fuyu's recommendations


For the new Python stuff, I didn't do paste & replace but instead manually compared and copied the new code in the files themselves, to ensure I'm using the latest code (1.187 BTS). There are some tweaks to units and buildings I consider necessary even out of RFC. The changes to civilizations I can see them as controversial, having a second UU and UB while the rest of the world doesn't can be cheesy, but I didn't want to miss seeing those UU in action as history plays.

What do you think of these changes? Are there any other tweaks made by you or someone else you can't play RFC without?
 
Some nice ideas, I think I might even borrow some changes for my modmod (which started out similar to this one, by the way).

I'm curious why you made uranium and coal explicit requirements for nuclear and coal plants. They won't provide electricity without it anyway.
 
Some hopefully helping notes:

Spoiler :

- RiseAndFall.py: Prevented bDeleteEverything = True (now False) on new civs spawning, since obliterating cities which might even have wonders is a bit harsh IMO

^ i think the main point of this code is remove unexpected / barbarians units, so the civs doesn't get pwned in first few rounds, because there is some horde. may break the game a bit (but maybe i remember it wrong)

- Changed Olympic park to give same effects as Mausoleum (+50% GA length), since one could exploit building/losing it for several golden ages

^ this is wrong - it was patched in latest version of the the mod (so no unlimited GA by building olympic park and giving up the city right after it - but it was my favorite bug :))

- Germany: Added Landsknetch UU, Rathaus UB (+Holy Roman Empire)

^ NICE - i always missed these two (landsknecht bonus agains meele; rathaus -75% maintenance a maybe something else - but this helps a lot, because i'm always runing a net loss, because rushing the techs and stuff)

- Added Commando promotion to Great Spy

^ please explain a bit

- Missile Cruisser requires Rocketry, same iPower 40 than Battleship

^ missile cruisser is always more powerfull than battleship... you can't very much compare ship armed with guided missiles with ship with cannons only; they don't stand a chance

- Attack Submarine requires either oil or uranium

^ this doesn't make sense to me... you can attack submarine even with throwing rocks; but more accurate and historical example is airship (you can have it without both oil and uranium)

- Infantry no longer can upgrade to SAM Infantry (Fuyu)

^ not really making sense ? you just take their rifles and give them some AA bazookas (MANPADS - Man-portable air-defense systems on wiki)

- Increased iPower of: Catapult (5->6), Cannon (12->14), Artillery (18->19), Mobile Artillery (26->28) as per Fuyu's recommendations

^ this maybe good idea (i usually have unreasonable (unlogical) high losses of these units); on the other hand it can overpower the siege units...

 
morff:

- The commando promotion means great spies can use enemy roads (just like the regular spies can)

- The missile cruiser has the same strength as a battleship because you're supposed to build the guided missiles separately and load them on the cruiser, just like in Vanilla BTS ;)

- When he says 'attack submarine requires oil or uranium', he means it requires oil/uranium to build an attack submarine (the 30STR submarine that doesn't carry missiles)

- I personally prefer the idea that regular infantry don't upgrade to SAM infantry
 
The delete everything mode actually is mainly to clean cities from the direct vicinity of your spawn plot so you can actually found a city there. Disabling that can screw up France's spawn for example, with Lutetia already present.

I disagree about siege units: they're already very powerful in this game with the current stats, and you're meant to lose some. Especially strength 14 cannons with gunpowder are extremely overpowered.
 
I suppose you can build a coal or nuclear plant without their prime sources if you have the theory right... I know of airports being built without exploitation rights for any air company in my country (a.k.a. airports with no planes), but I'd hardly call that 'good planning' :lol:

The part about deleteEverything... the problem I see is that it only checks whether the city is holy, or owned by the player, else it will delete it. I wish I could figure a better code there, maybe even just deleting everything except cities?

For iPower changes, it's not combat strength, its iPower, which should AFAIK control how willing the AI is to send them into combat, checking against the opponent's iPower numbers. Fuyu increased the siege unit's iPower because it better accounts for their collateral damage feature. The Missile Cruisser had an iPower of just 14 despite being as strong as the Battleship, it is arguably stronger only due to being able to carry 3 guided missiles. Maybe such a low iPower was to prevent the AI from losing cruisers loaded with missiles?

As for infantry not upgrading to SAM Infantry, again suggested by Fuyu here: http://forums.civfanatics.com/showthread.php?t=354019 . Basically it is a way to avoid the AI making what could be considered a mistake.

For the Olympic Park, well, I'm glad it isn't bugged then. I still like my change somewhat since it should give a reason to rebuild it if you lose it (though at that point in the game, I admit golden ages will rarely be seen)


Some more: I've made Stable and Ger require either horse or ivory to build, it sounds terribly odd but I have to account for war elephants some way :p , And after seeing the influence maps, I think it should be Japan instead of China the one who gets Korea's UU and UB, or maybe one should go to each?

EDIT: is it better to base work on RFC onto this modmod: http://forums.civfanatics.com/showthread.php?t=354241 ?
 
morff:

- The commando promotion means great spies can use enemy roads (just like the regular spies can)

- The missile cruiser has the same strength as a battleship because you're supposed to build the guided missiles separately and load them on the cruiser, just like in Vanilla BTS ;)

- When he says 'attack submarine requires oil or uranium', he means it requires oil/uranium to build an attack submarine (the 30STR submarine that doesn't carry missiles)

- I personally prefer the idea that regular infantry don't upgrade to SAM infantry

Thanks for explaning, it's making sense i just didn't understand properly. However i would still argue about the missile cruiser vs. battleship - the missiles building/carrying making them stronger, however i think there is still big step between powerfull dreadnought class battleship (let's say ~1910-~1940) and between modern missile cruiser capable of destroying whole fleet of battleships before they even reach the shooting distance. (imagine 1 us cruiser with 120 tomahawk missiles with range over 1000 miles (~900-~1400 depends on system) vs fleet of x battleships with 1000 guns capable of shooting max. let's say 30 miles - not sure how far could these big cannons shoot). But that's about the arguing :)
 
I dunno, sure it seems overly simplistic but I like the notion that you only get an advantage from upgrading to missile cruisers when you also build the guided missiles that load onto them. Those things ain't cheap and they give the cruiser huge range (10 tiles?) - giving the missile cruiser extra strength on top of that would be overkill imo
 
Thanks for explaning, it's making sense i just didn't understand properly. However i would still argue about the missile cruiser vs. battleship - the missiles building/carrying making them stronger, however i think there is still big step between powerfull dreadnought class battleship (let's say ~1910-~1940) and between modern missile cruiser capable of destroying whole fleet of battleships before they even reach the shooting distance. (imagine 1 us cruiser with 120 tomahawk missiles with range over 1000 miles (~900-~1400 depends on system) vs fleet of x battleships with 1000 guns capable of shooting max. let's say 30 miles - not sure how far could these big cannons shoot). But that's about the arguing :)

Yes of course, a single missile cruiser fully loaded and sent back in time by Doc could solve half the naval operations of WWII on his own :lol: but in regular civ, I assume that a base strength of 40 is the max, shared by Battleship and Missile Cruiser on sea. And just as you put it, cruise missiles are much more limited and awfully more expensive than regular shells, I actually think it makes perfect sense that cruisers and battleships are equally (insanely) strong in a face-to-face fight when the cruiser is out of missiles.
Didn't they recently make a movie about this whole thing starring Rhianna? Maybe she's the one to ask...

Another thing, would it be a good idea to make embassies go obsolete with Electricity? Since that tech already ensures permanent contact with the civ.
Ideally I'd love to see embassies expanded with something like Advanced Diplomacy http://forums.civfanatics.com/showthread.php?t=447915 , just daydreaming.

While I'm at it: In Resources.py, which makes new resources appear in the map at certain dates, is there some way to make the "uncorked" sound play when the new resources appear in the player's territory so that I don't miss them so often?
 
I suppose you can build a coal or nuclear plant without their prime sources if you have the theory right... I know of airports being built without exploitation rights for any air company in my country (a.k.a. airports with no planes), but I'd hardly call that 'good planning' :lol:
It can be good planning, though, for example when you plan to conquer or settle your coal/uranium and want to have the plants already set up then. I wouldn't want to be limited that way in any case.

The part about deleteEverything... the problem I see is that it only checks whether the city is holy, or owned by the player, else it will delete it. I wish I could figure a better code there, maybe even just deleting everything except cities?
Cities are the main problem, though, as I've mentioned above. Iirc you can even prevent a civ from spawning or flipping their core by settling on their spawn plot this way (a strategy which is referred to as "squatting"). I can see your motivation here, but you'd need to do something more involved if you really want to keep the cities there (my mod and Sword of Islam have a mechanic to flip cities on your spawn plot directly on spawn that may be interesting here).

For iPower changes, it's not combat strength, its iPower, which should AFAIK control how willing the AI is to send them into combat, checking against the opponent's iPower numbers. Fuyu increased the siege unit's iPower because it better accounts for their collateral damage feature. The Missile Cruisser had an iPower of just 14 despite being as strong as the Battleship, it is arguably stronger only due to being able to carry 3 guided missiles. Maybe such a low iPower was to prevent the AI from losing cruisers loaded with missiles?
Okay, my bad then, I always confuse iCombat and iPower. But I don't think iPower influences the AI's attack considerations (it already takes collateral damage into account here anyway). Instead it determines the influence a unit has on the power graph and therefore on how strong the AI considers you overall. In this case your change makes indeed sense.

EDIT: is it better to base work on RFC onto this modmod: http://forums.civfanatics.com/showthread.php?t=354241 ?
Definitely! You don't lose anything compared to RFC, and even if you don't care about the additional game speeds you gain a lot in performance, too.

While I'm at it: In Resources.py, which makes new resources appear in the map at certain dates, is there some way to make the "uncorked" sound play when the new resources appear in the player's territory so that I don't miss them so often?
Don't know if it actually does this since I usually play without sound, but SoI at least has a display text and shows an icon on the tile that's affected, maybe you should take a look there.
 
migck: anyway where can i download it? i would like to try at least one game as Germany with the middle age unique unit and building :) (and more powerfull siege units of course).

btw: this may be offtopic - but it would be nice if rhye's and fall become activelly developed and maintained mod... it's very good, but there is still some space for improvements.
 
Germany with HRE UU + UB probably could wrap up the conquest UHVs in like 1700... And people are still getting confused about iPower. The units aren't actually getting any stronger - iPower just changes the way the AI uses the units.

And morff, if you want an active RFC, look about an inch above your post :-P
 
Ok, I've removed the resource requirements for buildings, and the bDeleteEverything changes, for which I'll need to learn much more coding to achieve something less prone to exploits. I've also moved to RFC Marathon, better late than never to learn about it!

I cannot play the game now, so I haven't tested my new changes. I'm wondering if the Python changes will actually work or will send my computer through the roof...

EDIT: I really need to learn a few things before I post any files.
 
BTW migck: the Courthouse / Rathaus is important building, did you also looked for iCourthouse variable in Python scripts and implemented Rathaus same way? (Courthouse has quite impact on stability if you know how to use it.)

And thanks for the tip (Dawn of Civ) - there is quite lot of changes, so i don't know if i should love it or hate it yet :)
 
Wow, I had no idea about that. I just searched into Stability.py for 'courthouse', I assume I have to append something like this there?
Code:
 or iBuilding == con.iHolyRomanRathaus
I basically have little to no idea of Python, so I don't really know what is the Python key for the rathaus. Would that code be correct?

An idea for the (very) long term. One of the included modmods from BTS, can't remember the name, deals with the civilizations of Mesoamerica and the arrival of the Conquistadors. I remember it features a combat slavery feature (Flower Wars?) and you could use the slaves captured into human sacrifices.
I was thinking about implementing this into the Aztec UP: the slaves captured in combat would be a new unit, the slave, which can also work the land as a worker but building improvements at 50% speed and cannot be recaptured. In my plays as the Aztecs I tend to get so many workers fighting natives, barbarians and the occasional conqueror that I end deleting them in batches, what a shame. I'd prefer what that mod offered which is sacrificing them at cities for culture or happiness (I think it was that), provided the city has a sacrificial altar of course.
I've been reading some interesting stuff about modular XML loading, can one add a completely new unit that way?
Of course, there would be still some Python code to, hopefully, just change, but if I wanted the AI to make use of sacrifices I guess I would have to meddle with the SDK. Therefore I'll leave this for the very long term.
 
migck, that line will only work if there is an entry in the consts.py file for the Holy Roman Rathaus :)
 
migck, that line will only work if there is an entry in the consts.py file for the Holy Roman Rathaus :)

Thank you, there is indeed an iHolyRomanRathaus = 69 entry in Consts.py. I'm guessing my dangerously high levels of ignorance about these things warrant me to read some tutorials before I touch anything else :D


I intended for this thread to also collect some similar little tweaks from other users, but so far no luck :( I suppose RFC and its modmods are good enough already that not many people have anything to object to them.

EDIT: looking at Consts.py, I see where Hatshepsut has been left out of the game. Would it be advisable to add her back (or why was she left out)? I'm thinking of changing her with Ramesses at 1600 BC like the Gilgamesh-Hammurabi change, but I don't understand the two numbers after what I presume is the year of the change:
Code:
(iHammurabi, -1600, 10, 1)
 
An idea for the (very) long term. One of the included modmods from BTS, can't remember the name, deals with the civilizations of Mesoamerica and the arrival of the Conquistadors. I remember it features a combat slavery feature (Flower Wars?) and you could use the slaves captured into human sacrifices.
I was thinking about implementing this into the Aztec UP: the slaves captured in combat would be a new unit, the slave, which can also work the land as a worker but building improvements at 50% speed and cannot be recaptured. In my plays as the Aztecs I tend to get so many workers fighting natives, barbarians and the occasional conqueror that I end deleting them in batches, what a shame. I'd prefer what that mod offered which is sacrificing them at cities for culture or happiness (I think it was that), provided the city has a sacrificial altar of course.
I've been reading some interesting stuff about modular XML loading, can one add a completely new unit that way?
Of course, there would be still some Python code to, hopefully, just change, but if I wanted the AI to make use of sacrifices I guess I would have to meddle with the SDK. Therefore I'll leave this for the very long term.
I've thought about something similar, too, since I also think that Aztecs get more workers through this mechanic than they can actually use. And you should actually be able to achieve most of this without Python and SDK by doing the following:

1) Add an Aztec UU for workers (called "slave" for example)
2) Give them the ability to create culture like Great Artists (look at the great artist entry to see how).

You can't do increased worker speed, immunity against capture or happiness bonuses this way.

You don't have to create a module to add new units, you can also modify the files directly (but instead of modifying Rhye's and Fall, create a new folder for your own mod). Modular modding is more for cases where you want to add features that can be easily added or removed.

EDIT: looking at Consts.py, I see where Hatshepsut has been left out of the game. Would it be advisable to add her back (or why was she left out)? I'm thinking of changing her with Ramesses at 1600 BC like the Gilgamesh-Hammurabi change, but I don't understand the two numbers after what I presume is the year of the change:
Code:
(iHammurabi, -1600, 10, 1)
The meaning of the numbers is:

1) year after which there's a chance of leader change
2) the chance of leader change every time it's checked
3) the era after which the chance of change is doubled (starting with 0 for the ancient era)

I assume Rhye left out Hatshepsut because she's 16th century BC while Ramesses is 13th, so not much of a difference in game terms.
 
Ok, it has been hard to make my edits not ruin the game on startup, but all my tweaks seem to work now!

BTW Leoreth, I added your Varietas addon for Rhye's, thank you for taking the time to put it together, even fixing the Persian immortal. I had to update the VD_CIV4CivilizationInfos.xml, which apparently was missing some city names for some civs, but aside from that I guess there are no other things to update in it?

I've even added new code to UniquePowers.py in the Religious Immigration part to 'support' a theocratic USA :crazyeye: so that immigrants will not propagate their religion if it isn't the official one when running theocracy, I assume this would be correct?
Code:
for iLoopReligion in range(iNumReligions):
	if (sourceCity.isHasReligion(iLoopReligion)):
		if (not (targetCity.isHasReligion(iLoopReligion))):
			iReligionCount = 0
			for iLoopTargetReligion in range(iNumReligions):
				if (targetCity.isHasReligion(iLoopTargetReligion)):
					iReligionCount += 1
					if gc.getGame().getSorenRandNum(100, 'spreadreligion') < 75/(1+iReligionCount):
						if (gc.getPlayer(iAmerica).getCivics(4) == 22):
							if (gc.getPlayer(iAmerica).getStateReligion() == iLoopReligion):
								targetCity.setHasReligion(iLoopReligion, True, True, True)
						else:
							targetCity.setHasReligion(iLoopReligion, True, True, True)
			break
Well, here's the file, I guess I'm done for now until I learn more about Python and the SDK. The changes end up like this:
Spoiler :
ART
- CIV4ArtDefines_Terrain.xml, Assets\Art\Terrain\Textures: Changed the marshes' graphics and art schema to Marsh terrain graphics from Colonization by johny smith (http://forums.civfanatics.com/showthread.php?t=293601)

PYTHON
Note: These are changed from the RFC marathon mod by embryodead (http://forums.civfanatics.com/showthread.php?t=354241), so they likely won't work on regular RFC
- Consts.py: Enabled Hatshepsut for Egypt as the early AI leader, she gets replaced by Ramesses around 1600BC
- Stability.py: Holy Roman Rathaus also increases stability
- Resources.py: Added Dynamic Terrain by Panopticon (http://forums.civfanatics.com/showthread.php?t=338752), new resources now provide a pop-up on appearing (Sword of Islam), clears jungle in Panama in 1700AC
- UniquePowers.py: Added Religious Inmigration by Panopticon (http://forums.civfanatics.com/showthread.php?t=338241), changed so that it doesn't favor any religion
- Consts.py, RiseAndFall.py: Added Real Capitals by Panopticon (http://forums.civfanatics.com/showthread.php?p=7614873)
- CvPediaMain.py, CvPediaBuilding.py: the new UU and UB (see civilizations below) will now appear in the Civilopedia

BUILDINGS
- Fixed all national wonders turned to world wonders in RFC so that they give no culture when captured (Colosseum, Channel Tunnel, Mt. Rushmore)
- Turned Triumphal Arch into a regular building and it is always captured
- Embassies go obsolete with Electricity
- Interpol is again a regular building, requires Communism
- Amphitheatre gives +1 happiness for Football Events, UB versions don't (they are all already better off)
- Market and Forum give +1 happiness for cotton
- American Mall gives no happiness for Football Events (what would that be, video tapes of football matches?)
- Pyramids never go obsolete. Otherwise it would be arguably better to forgo it in favor of building monuments manually, so that they don't disappear when Calendar arrives
- Statue of Zeus requires just a monument in the city, since they often go obsolete too soon to have bothered building 4+ of them

CIVILIZATIONS
Basically I've added a UU and UB to some civs if their culture generally encompasses that of a civ which doesn't appear in RFC
- Babylonia: Gets back the Garden UB, added Vulture UU (+Sumeria)
- Byzantium: Added Odeon UB, which is present in Athens in the 600AD scenario (this is just to prevent Athens having an Amphiteatre and an Odeon, which generally won't happen anyways)
- China: Added Hwacha UU, Seowon UB (+Korea)
- Germany: Added Landsknetch UU, Rathaus UB (+Holy Roman Empire)
- Rome: Added Cataphract UU, Hippodrome UB (+Byzantium)

UNITS
- Added Commando promotion to Great Spy
- Workboats incur no military support and get no military production modifiers
- Battleship requires Artillery
- Missile Cruisser requires Rocketry, same iPower 40 than Battleship
- Attack Submarine requires either oil or uranium
- Infantry no longer can upgrade to SAM Infantry (Fuyu)
- Grenadier can upgrade to SAM Infantry (Fuyu)
- Increased iPower of: Catapult (5->6), Cannon (12->14), Artillery (18->19), Mobile Artillery (26->28) as per Fuyu's recommendations
 
BTW Leoreth, I added your Varietas addon for Rhye's, thank you for taking the time to put it together, even fixing the Persian immortal. I had to update the VD_CIV4CivilizationInfos.xml, which apparently was missing some city names for some civs, but aside from that I guess there are no other things to update in it?
Oh, your actual thanks should go to onedreamer who collected the necessary files and made a guide how to add them to RFC vanilla to install VD; all I did was following his instructions without much double-checking and uploading the result so everyone else would simply have to unpack a RAR file :)

So I can't say if there's anything else that's not right. Can you upload your corrected CivInfos XML so I can bring the VD patch up to date?

Your Python code for the American UP looks correct, by the way.
 
Back
Top Bottom