Mod Component Requests Thread

Sorry to be coming so late to the party - but i've had an idea i've been wanting to share for ages: :p

Goodie huts are cool. :cool::thumbsup:
Cottages -> Towns are cool. :goodjob:

1) Would it be possible to have cottages spawn automatically?
Eg. Each turn, each tile would have a 0-12% chance that a cottage would appear on it based on the following modifiers:
-adjacent to a river / on a road (+1%)
-adjacent to a water tile (+1%)
-containing or adjacent to a forest/jungle tile (+1%)
-containing a bonus resource tile (+1%)
-at the crossroads of rivers/roads (+1-2%)
-on the same river or road as another cottage, town, city or goodie hut (+1%)
-distance from another village, town, city or goodie hut (5-X%), where X is the distance in tiles (Thus, even the most likely tile becomes 0% at a distance of X>=12, tho' this would be unlikely if the standard spread of goodie huts were to occur at the start of the game)
-containing desert/tundra (-10%)
-containing peak/water (reset to 0%)
(I'm not wedded to these particular modifiers if anyone has better ideas here)

2) Would it be possible for towns in the wilderness (/fog of war) to have a 5% chance per turn of becoming goodie huts?

To prevent towns from becoming too numerous, barbarians & wild animals would be more frequent and automatically pilliage any cottage->town they come across.
Barbarians might also be allowed to trigger goodie huts? say: 1%/turn chance of triggering more barbarians AND 1% chance/turn of triggering new city.
imho this would remove the need for civilizations such as the Mongols, Zulus, Vikings etc. since they are effectively barbarian states. :viking:

Also, I don't mind the idea of workers not being able to create cottages (but maybe settlers being able to), but if that's the case - roads should probably add to commerce as in the original civs. :traderoute::commerce:

Also it would be great if certain tile improvements could be built on top of each other without removing the other; specifically:
watermills on cottages->towns
watermills on windmills/workshops & vice versa
watermills on irrigation & vice versa
watermills on forests & vice versa
windmills on irrigation & vice versa
windmills on mines & vice versa
radar towers on forests & vice versa
radar towers on mines & vice versa
radar towers on forts & vice versa

Lastly, what about a 25-50% chance of units ending their turn in the desert being lost/dying of thirst? :deadhorse:
(unless they ride on camels or a modern vehicle, that is)

(V.Sorry for any misunderstandings i may have or if anyone's already posted these ideas, i feel like i've been trawling this thread for hours..:blush:)
Also, please allow me to pay brief tribute to Jdog, Lemmy, Paul Murphy and the many other modders and idea-people who have made an already awesome game even better.:thumbsup::goodjob::clap::worship::hatsoff::woohoo::salute::beer:
Done... here is the link: http://forums.civfanatics.com/showthread.php?t=376458
 
Requesting a mod component that allows players to choose a religion at start-up, and then have that religion spread to their city automatically. Note that this should allow more then one player to start with the same religion. Doing this by event, so that they get the religion in turn 2 is fine. Also, remaining without a religion should also be allowed.
 
Just an update to the idea i've been wanting to share for ages based on my improved understanding of the game: :p

Goodie huts are cool. :cool::thumbsup:
Cottages -> Towns are cool. :goodjob:

1) Would it be possible to have cottages spawn automatically based on proximity to community building resources (roads, rivers, other towns etc.)?
Eg. Each turn, each tile would have a 0-12% chance that a cottage would appear on it based on the following modifiers:
-adjacent to a river / on a road (+1%)
-adjacent to a water tile (+1%)
-containing or adjacent to a forest/jungle tile (+1%)
-containing a bonus resource tile (+1%)
-at the crossroads of rivers/roads (+1-2%)
-on the same river or road as another cottage, town, city or goodie hut (+1%)
-distance from another village, town, city or goodie hut (5-X%), where X is the distance in tiles (Thus, even the most likely tile becomes 0% at a distance of X>=12, tho' this would be unlikely if the standard spread of goodie huts were to occur at the start of the game)
-containing desert/tundra (-10%)
-containing peak/water (reset to 0%)
(I'm not wedded to these particular modifiers if anyone has better ideas here)

2) Would it be possible for
a) cottages in the wilderness to grow without being 'worked' (ie. if the tile qualified for a random cottage, but already had a cottage->villiage)
b) towns in the wilderness (/fog of war) to have a 5% chance per turn of becoming goodie huts?

To prevent towns from becoming too numerous, barbarians & wild animals would be more frequent and automatically pilliage any cottage->town they come across.
Barbarians might also be allowed to trigger goodie huts? say: 1%/turn chance of triggering more barbarians AND 1% chance/turn of triggering new city.
imho this would remove the need for civilizations such as the Mongols, Zulus, Vikings etc. since they are effectively barbarian states. :viking:

Also, I don't mind the idea of workers not being able to create cottages (but maybe settlers being able to), but if that's the case - roads should probably add to commerce as in the original civs. :traderoute::commerce:

The idea behind these mods would be to create a kind of 'background' populace among whom the great civilizations arise.

Also it would be great if certain tile improvements could be built on top of each other without removing the other; specifically:
watermills on cottages->towns
watermills on windmills/workshops & vice versa
watermills on irrigation & vice versa
watermills on forests & vice versa
watermills on forts & vice versa
windmills on irrigation & vice versa
windmills on mines & vice versa
forts on mines & vice versa

This would allow cities to become more productive without needing extra land.


Lastly, what about a 25-50% chance of units ending their turn in the desert being lost/dying of thirst? :deadhorse:
(unless they ride on camels or a modern vehicle, that is)

This would hopefully curb civilization growth in a more realistic way as well as channel attackers into historical routes.


Also, please allow me to pay brief tribute to Jdog, Lemmy, Paul Murphy and the many other modders and idea-people who have made an already awesome game even better.:thumbsup::goodjob::clap::worship::hatsoff::woohoo::salute::beer:
Huge specific thanks to TheLopez for his work on randomly generating cottages (http://forums.civfanatics.com/showthread.php?t=376458)
 
The final part of the GH mod would be the ability for scouts and explorers etc. to gain choice between possible outcomes -perhaps with a 'Cross-Cultural (Communication)' unit upgrade. (Perhaps this upgrade would become available with the technology of the same name.)
Eg. A unit entering a goodie hut with the 'Cross-Cultural' upgrade would trigger an option/dialogue/mission box/window which would say something like:
'In the distance you see a strange tribe. Do you want to:
o Discuss the local geography. (Gain a map of the local area)
o Show them how they could be a valuable part of your glorious civilization. (Gain a settler/city/worker) :assimilate:
o Teach them about 'the great evil out there'. (Gain a military unit)
o Plunder them through diplomacy & litigation. (Gain XX gold) :deal::gold:
o Discuss their ideas and artifacts. (Gain a technology)
o Teach them how puny they are. (Trigger a barbarian uprising)'

Better yet, the number of options could depend on the tier of the upgrade:
Cross-cultural I - Unit receives 2 options to choose from
Cross-cultural II - Unit receives 3 options to choose from
Cross-cultural III - Unit receives 4 options to choose from
Cross-cultural IV - Unit receives all options to choose from

Thus, scouts & explorers would have 'Cross-cultural I' automatically (after tech discovery) rather than the current 'Better results from goodie huts (no barbarians)' advantage, because this would accomplish that (if desired) anyway. :cool:

This unit upgrade could possibly also be available for missionaries, spies and executives (to increase their chance of success at their normal task also?).

Ideally, these units would gain experience from using their special abilities (ie. entering GH & performing spy missions) in order to give them access to the higher tiers of the upgrade.
 
I'm looking for a Modcomp that allows Fighter/air units to gain experience from all combat and not just Fighter Vs Fighter combat. Is there a Modcomp already in existence for this or is it just a few simple changes in Python/XML to get this to work?

I should point out that this would be purely for the FF/FF+ mod rather than standard Civ
 
I'm looking for a Modcomp that allows Fighter/air units to gain experience from all combat and not just Fighter Vs Fighter combat. Is there a Modcomp already in existence for this or is it just a few simple changes in Python/XML to get this to work?

I should point out that this would be purely for the FF/FF+ mod rather than standard Civ

As far as I know, it requires SDK modification, could probably be done in Python though. It was something I had been working on a while back, though I was having problems getting Bombers XP for bombing improvements...
 
As far as I know, it requires SDK modification, could probably be done in Python though. It was something I had been working on a while back, though I was having problems getting Bombers XP for bombing improvements...

I think I have something working... I'll let you know. Also, do you want me to add the ability to bomb roads too or should that be in a separate mod? :D
 
As far as I know, it requires SDK modification, could probably be done in Python though. It was something I had been working on a while back, though I was having problems getting Bombers XP for bombing improvements...
I think Ambreville solved some, if not all, of the issues in the Battle of Britain mod that he did, unfortunately he seems to have disappeared.
I think I have something working... I'll let you know. Also, do you want me to add the ability to bomb roads too or should that be in a separate mod?
Bombing roads isn't a requirement for the B5 mod so a separate Mod for that would probably be best. However, if that also includes improvements then we would need it for B5 as bombing improvements is something we need.
 
I think Ambreville solved some, if not all, of the issues in the Battle of Britain mod that he did, unfortunately he seems to have disappeared.
Bombing roads isn't a requirement for the B5 mod so a separate Mod for that would probably be best. However, if that also includes improvements then we would need it for B5 as bombing improvements is something we need.

The change is really easy in the SDK. I have included the modded file. Look for the // < Experience From Air Missions Start > and // < Experience From Air Missions End > tags in the airBomb method.
 

Attachments

  • CvUnit.zip
    54.2 KB · Views: 54
The change is really easy in the SDK. I have included the modded file. Look for the // < Experience From Air Missions Start > and // < Experience From Air Missions End > tags in the airBomb method.
Many thanks for that, is it as simple as replacing the CvUnit file with the one you've provided?.
 
Many thanks for that, is it as simple as replacing the CvUnit file with the one you've provided?.

As long as you haven't changed your copy then, yes, otherwise you will need to merge in my changes found in the file which are within the < Experience From Air Missions Start > and < Experience From Air Missions End > tags
 
As long as you haven't changed your copy then, yes, otherwise you will need to merge in my changes found in the file which are within the < Experience From Air Missions Start > and < Experience From Air Missions End > tags
Excellent, going to test that now and see what happens.

Okay, my fighters have flown 4 air missions against Barb units and have gained no experience(prestige in FF) from it, is there anything else that needs to be set up, ie a note in a DLL somewhere?
 
Originally Posted by TheLopez
As long as you haven't changed your copy then, yes, otherwise you will need to merge in my changes found in the file which are within the < Experience From Air Missions Start > and < Experience From Air Missions End > tags

Excellent, going to test that now and see what happens.

Okay, my fighters have flown 4 air missions against Barb units and have gained no experience(prestige in FF) from it, is there anything else that needs to be set up, ie a note in a DLL somewhere?
All sorted now i believe.
 
All sorted now i believe.

Sorry about that, I sent you the wrong file. I sent you the one where you get experience from attacking improvements with air units.
 
Well, that explains a lot :lol:, is there another section for the other part in another file?

No, its all contained in the CvUnit.cpp file. You basically need to add the same experience code found in the code I previously sent you to the airStrike method. So after the following line:
Code:
pDefender->setDamage(iUnitDamage, getOwnerINLINE());

you need to add this:

Code:
	int iExperience = pDefender->defenseXPValue();
	iExperience = range(iExperience, GC.getDefineINT("MIN_EXPERIENCE_PER_COMBAT"), GC.getDefineINT("MAX_EXPERIENCE_PER_COMBAT"));
	changeExperience(iExperience, pDefender->maxXPValue(), true, pPlot->getOwnerINLINE() == getOwnerINLINE(), !pDefender->isBarbarian());

Huh, one last part... you will need to add code to get experience from air bombing cities too...
So in airBomb you need add after the line:

Code:
gDLL->getInterfaceIFace()->addMessage(getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_BOMBARD", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_GREEN"), pCity->getX_INLINE(), pCity->getY_INLINE());

you need to add this:
Code:
		int iExperience = attackXPValue();
		iExperience = range(iExperience, GC.getDefineINT("MIN_EXPERIENCE_PER_COMBAT"), GC.getDefineINT("MAX_EXPERIENCE_PER_COMBAT"));
		changeExperience(iExperience, maxXPValue(), true, pPlot->getOwnerINLINE() == getOwnerINLINE(), !pCity->isBarbarian());

Its dirty but it should work
 
Top Bottom