Kuriotates+ Mod

Evalis

Prince
Joined
Mar 2, 2009
Messages
505
Yay! A weeks worth of work and I'm finally finished! So the following changes have been made to the kuriotates to help them combat the new aggressive barbarian and health changes, as well as a change to their world spell and some late game bonuses.

New Mechanics:

Spoiler :
World Spell :
Now upgrades all Cottages, Hamlets, Villages and Towns within cultural borders by 40 turns (based on game speed). Any remaining turns on that improvement provides a cultural boost to all cities equal to that value. For example if you have 2 enclaves and a town with 40 turns left on marathon, the cultural bonus will be 320 (120x2+120-40). The world spell now requires either Taxation or Fuedalism

Pillage Protection:
When a tile within Kuriotate influence is pillaged, 3 Patriots will spawn to defend the area, along with a 20% chance (+20% per town improvement level) to spawn a protectorate. These units die after 2 turns, cost no upkeep and do not cause war weariness. The Pioneer ability can now be used within cultural borders

Production Changes:
+1 :hammers: +1 :commerce: from Citadels (I'm planning something for this)
Sprawling now grants the Overflow mechanic
Egalitarian Now provides +1 :food: from tiles with 4 :food: (instead of 3)

Health Changes:
Sprawling now provides +3 :health: Kuriotates get a free building that gives +2 :health: from healers and +3 :health: from great healers.
(For a variety of reasons I wanted to give them a free +1 health specialist from enclaves but for the life of me couldn't figure out how to add specialists =/)

Unique Spell:
The Musteval (the kuriotate racial for recon) gain the ability to lower mountains to hills within their cultural borders. This takes 3 turns to cast, requires level 4 and the Feral Bond technology.

*Since this is based on race the Grigori may gain access to this as well


Buildings:

Spoiler :
Blocked Buildings:
The Great Lighthouse
Harbor (replaced sortof)

Building Changes:
Jeweler - Now provides +1 :) and +10% :commerce: from Ivory (instead of pearls)
Gardens of Amathon - Provides 3 Healer slots (instead of free healer and +3 :health: )

New Buildings:
Physician's Enclave (Free Building)
Bonus Health from Healers and Great Healers

Skyfishery (replaces Lighthouse):
+1 Trade Route
+1 :health: from fish, clam, crab, shrimp
+1 :food: from sea tiles
Does NOT require adjacency to water
Requires Sailing and Knowledge of the Ether

Grocery (replaces Salthouse):
+50% Trade route Bonus
+15% :food: stored after growth
+1 :health: from fish, cow, wheat
Requires Agriculture, Fishing, Animal Husbandry

Sky Tower
+15% :food: from Trade Routes
+2 Trade Routes
Can Airlift 2 units per turn
Requires Sorcery, Astronomy and Engineering


Units:

Spoiler :
Elected Defender (replaces fort commander)
Does not cost extra support
+80% vs Mounted units (instead of 120%)
+40% vs Melee units (instead of 80%)
+40% City defense (instead of 20%)

Patriot:
3/2 :strength:
+25% hill attack bonus
Drill I, Drill II, March, Homeland
No Support
No War Weariness
Auto-Equiped with Bronze and Iron (when available)
Cannot be built (part of pillage mechanic)
Expires in 2 turns

Protectorate:
6/5 :strength:
+25% hill attack bonus
Drill I, Drill II, Drill III, Drill IV, March, Homeland, Mobility, Blitz
No Support
No War Weariness
Auto-Equipped with Bronze, Iron and Mithril (when available)
Cannot be built (part of pillage mechanic)
Expires in 2 turns


Unfortunately I am still stumped on the whole pillage mechanic thing, but I can't wait around to upload this forever. Perhaps someone that downloads this can take a gander at my code and tell me what's wrong. In any case I uploaded a small portion of my balance tweaks (version 0.05 I guess) to compensate. To play these, unzip them to Civ4\Beyond the Sword\Mods\Rise from Erebus\Assets\Modules\NormalModules\

Feedback that I am interested in:

Is the Soften Earth Spell seeing much use? Is it slowing your game down? My original testing was with this spell at tracking. That seemed a little powerful, but I'm not sure I want it to become an end game thing.

Are your cities growing fast enough? A new building with extra growth wouldn't be too hard to implement.

How are the health issues now? At what point in the game do you start running into problems, if any.

Most importantly, how does your empire feel competitively (turn for turn against your own single player games with other civs is a fine comparison) during early, mid and late game?
 

Attachments

Grigori Homesteads grant Statesmen specialists, so that code is extant if you can find it.

Hamstalfar Lighthouses provide +1 food on River Tiles or some such, and also do not require water adjacency. I think. Might be worth looking into.

Sky Towers are maybe not going to mean much. If you're not picking up Astronomy for any other reason, you could probably research Pass Through The Ether instead.

Angry Mobs could use a cooler name. Mobbing just doesn't seem very Kurio. Maybe Partisans, which existed in Civ 2 as a thing that happened in similar circumstances?

The rest of this is grade-A awesome.
 
Your probably right about the name. Not sure if partisan is era appropriate, but I'll see about changing it. The grigori homestead adds a free specialist which is code that is easily copied, however adding a specialist requires a level of programming I can't seem to grasp.

The difference in research for pass through the ether and the other technologies (engineering and astronomy) is almost 10k. Plus it's a nice economy boost. Trade routes for some reason are often overlooked. (Hence the reason the Trader trait is so broken)

About the hamstalfar lighthouses.. I'm not sure I understand. Everything is already coded and edited, I just need to know the formatting so that this can be loaded as a mod.
 
I have some questions:
-would the "angry mob" and protectorate appear if "I" pillage my tiles ?
2 turns might be sufficient for harassing the invader at the cost of some few farms.
-do protectorate apparition have a tech requirement ?

-The amount of added :health: seems very important... It will have to be play-tested :D


I would have loved another kind of ability for musteval. the one you had is interesting, and useful for sprawling cities... however I'm not sure it fits the "recon line" theme....
but I can't seem to find any idea ; I don't know their lore so...
maybe the ability to carry more hawks? (maybe have them have rock raven instead of hawks?)
or an ability to not care about terrain cost? (they are closer to animal than other races...)
or a +%attack vs recon units (that is a rare ability so a small bonus)
any other idea?..Etc

otherwise... very good : I'll play my first kuriotate game in a long time after you post your module (and after I finish my current game :D)
 
Not sure what I think about these changes. If you go FoL, Kuriotates don't really have health problems.

I also don't really understand what your new world spell does.

And while you are trying to do something about pillaging, what about the Kuriotate military problems with other civs? It's related of course, but they also find it extremely difficult to keep up with production of units with only 2 to 5 cities that can make units.

And if you play long enough, or against a human that knows how to set up cities, 3 super cities isn't going to compare on any standard of production, research, or wealth with another civ.
 
@Calavante Pillaging your own tiles does not spawn in free units - this wasn't intended. Nor are these units able to pillage (they are recon).

I haven't attached a tech requirement yet to the Protectorate, though it's probably a good idea. If anything I'll probably make it Fuedalism.

@sunbeam I'm not sure how to explain their world spell any better. Cottages,hamlets and villages upgrade after x number of turns that tile has been worked. This spell pretends that all cottage-type improvements in their territory have been worked by (40) turns. Left over turns on these tiles are translated directly into a culture boost to all cities.

Production wise I gave the kuriotates the overflow mechanic (this lets a city produce multiple units in queue with adequate production).

The idea of this mod was to make it so that the kuriotates could indeed compete with other nations. I have some other balances changes to make to the game that will likely affect this, so I don't want to have them swing the other way. The game I had with them went very smoothly though, so I feel they are in a good spot.

The question still remains on how I can make this modular? Anyone kindly point me in the direction of this information?
 
Copying an existing module is the best way to go. Organise your folders similarly to the others, e.g. Art, BasicInfos, Buildings, Events, Flavour, GameInfo, python, etc. within the ModuleName folder.

When naming your xml files within the module, "ModuleName_" is used as a prefix for the usual xml name. E.g. ModuleName_CIV4UnitInfos.xml would be the module's version of CIV4UnitInfos.xml.

Make sure you copy the existing Schema files into your module also and similarly rename them. You'll need to replace the Schema reference in your modular xml with <Civ4UnitInfos xmlns="x-schema:ModuleName_CIV4UnitSchema.xml"> or the equivalent Schema reference.

If you're changing something that is already defined in the existing xml, then you'll need to set bForceOverwrite to 1 within your xml file.

For the python, spells and events create the following python files; spellModuleName.py and eventModuleName.py.
Where you're hooking into the modularised python, you use the name of the python function for your new file, e.g. onUnitBuilt.py would be the modular python file to hook into the onUnitBuilt actions.

Good luck
 
I've been using that mod to do testing with actually, and have completed transfering all the xml files, but unfortunately have hit a snag - the spells in the python folder don't register. I'm 100% certain the code is correct because it worked in the main file, and just for testing purposes I imported all the same garbage. (Unless 'RANGE' is defined somewhere in the spellinterface thingy and I missed it).

However, after some swearing and gnashing of teeth, I tried to play as the dural, and their spell doesn't work either! The format I am using is spell(Modfolder).py

On another related note, one of the functions I used is imbedded in the pillage function. I presume in order to get it working in the mod, I will have to use trigger info <ipillagemin>1</ipillagemin> and then link that to an event.

Assuming this is correct, there is a final issue: How do I overwrite spells? I need to overwrite/replace the Kuriotate world spell.
 
However, after some swearing and gnashing of teeth, I tried to play as the dural, and their spell doesn't work either! The format I am using is spell(Modfolder).py

is the file on correct place ? <modulefolder>/python/spell<somename>.py
Assuming this is correct, there is a final issue: How do I overwrite spells? I need to overwrite/replace the Kuriotate world spell.

you overwrite spell by creating file <modulefolder>/python/spellovr<somename>.py

...

actually ... damn ... i just noticed that it can't work :D ... you will have to download new CvSpellInterface.py for spell-replacing to work ...
http://rife.svn.sourceforge.net/vie.../entrypoints/CvSpellInterface.py?revision=303
edit: though, i'd suggest using Lplate's suggestion one post below
Lplate said:
The way I do it is to copy the existing spell's XML into your module's spellinfo.
Set the tag to overwrite the existing spell and assign new names for the python functions.
Define the new python functions in the spellModuleName.py file.
 
Assuming this is correct, there is a final issue: How do I overwrite spells? I need to overwrite/replace the Kuriotate world spell.

The way I do it is to copy the existing spell's XML into your module's spellinfo.
Set the tag to overwrite the existing spell and assign new names for the python functions.
Define the new python functions in the spellModuleName.py file.
 
Assuming this is correct, there is a final issue: How do I overwrite spells? I need to overwrite/replace the Kuriotate world spell.

The way I do it is to copy the existing spell's XML into your module's spellinfo.
Set the tag to overwrite the existing spell and assign new names for the python functions.
Define the new python functions in the spellModuleName.py file.

hm, yeah, that sounds definitely better then rewriting the spell directly
 
Hey that sounds promising Lplate. I'll give it a whirl once I can figure out how to get this spell to work. And @ anw, yes specifically the file is called spellKuriotates+.py in the Assets/Modules/NormalModules/Kuriotates+/python folder. (before you suggest it, yes I tried removing the '+' sign to no avail).

Has anyone else been able to recently get the dural worldspell to work? I believe this issue is related.
 
I've been using that mod to do testing with actually, and have completed transfering all the xml files, but unfortunately have hit a snag - the spells in the python folder don't register. I'm 100% certain the code is correct because it worked in the main file, and just for testing purposes I imported all the same garbage. (Unless 'RANGE' is defined somewhere in the spellinterface thingy and I missed it).


Are any of your python spells working?
Are you using the python debugging popups? They'll tell you if it's a non defined parameter issue.
It could be an issue with an if statement being accidentally reversed or a conditional not being fulfilled for a different reason.
I tend to throw a few newunit lines into the python when I'm testing it to see which path is followed and when it stops working.
 
The spells worked when outside of the module, none of the spells within modules appear to be working for me. I have no idea how to use the debugging popups =x

Okay I tried adding a create unit line and removed the python requirement so the spell could cast and nothing happened. On a related note, I browsed through the 'more events' folder and I realized that I have never had anything happen when I moved onto ygdrassil, mount kalshik, or the lair of bacuna, which is apparently one of the events. Is there something extra I have to do to get the game to recognize the folder the modular python files are in? The main game is in /games not /programsx86.

I'm beginning to suspect there is some other problem here.
 
What version of RifE are you using and what are the other active modules?

For the debugging popups:
Enable exception logging (in Civilization4.ini in the My Games\Beyond the Sword folder set LoggingEnabled = 1) and check the Python error log. You can also enable the Python exception pop-ups by setting ShowPythonDebugMsgs = 1, which will give you immediate feedback when a Python error happens.
 
Well I'm balder now. I have the spells working, but the event based on pillage is giving me a hell of a lot of trouble. I went through the eventsmanager and found some code that said the game would load functions of module.onunitpillage, so I made the function onunitpillage, but it seems to interupt the influence mechanic, and no longer has the desired effect.

What am I missing here? Is doing this even possible without editing the primary code?
 
Well I'm pretty stumped on the pillage mechanic thing. Was working fine within the main pillage function, but hmm.. In any case I uploaded the stuff I currently have along with some changes to the tile yeilds of the fortress line. I changed the angry mob name to patriot, Viatos was right, it didn't fit. I remember why I didn't want to use partisan - it is a medieval weapon. Anyway, Lemme know what you think ^^
 
Back
Top Bottom