Module: Slavery isn't just wrong, its profitable!

Is there a way using XML to randomly spawn a type of Frostling unit with my Into the Blizzard spell? As an aside perhaps the Illians should be able to summon archers and wolf riders.


For random I think you need python.

Yeah, I don't see why they wouldn't be able to summon all the Frostlings.
 
Alternately, you could just make it so that Frostlings can upgrade to Frostling Archers and Frostling Wolf Riders.
 
Alternately, you could just make it so that Frostlings can upgrade to Frostling Archers and Frostling Wolf Riders.

True. You could make it age or level based. Good idea.
 
Okay guys. My first full version of this module has been uploaded to first post!

edit: heh I had a few problems which I have fixed, resulting in reuploading the file. Also I know this is probably a noob question (aren't mine all?) but the Civic Slavery shows Txt_key instead of Slave Market :wallbash: no matter what I have tried, read or googled.
 
Did you add that text key to an XML/Text file, and avoid any typos between the two?

When I first started working on this, the first thing I did was add a building. The building name was Slave Market but in civ it kept showing up as TXT_KEY_SLAVE_MARKET. I read somewhere that in <description> I should type the actual name as I wanted it to appear, which I did.

Pretty sure there are no typos
 
You should have something like:

<Type>BUILDING_SLAVE_MARKET</Type>
<Description>TXT_KEY_SLAVE_MARKET</Description>


And then in a file somewhere in the Assets/XML/Text folder, you should have:

<Tag>TXT_KEY_SLAVE_MARKET</Tag>
<English>Slave Market</English>
 
Used txt_key_building and now it works fine! Thank you for the help dude, i would never have guessed that on my own :borg:
 
Slave revolt ideas:

1. An auto-acquire, must maintain effect promo that gives slaves a random chance to acquire a 2nd promotion (rebel?) when they aren't in a stack with a non-slave unit. 2nd promotion converts them to a warrior with auto-pillage and gives them to Bhall.

2. Slave revolt event that triggers fairly frequently, with escalating horrible results based on whether or not you have a garrison and happiness/health of the city.

Level 1: One turn of unrest
Level 2: More unrest, one or more improvements in city radius pillaged
Level 3: More unrest, unhappiness, bad health, population reduced, more pillaging
Level 4: Would only trigger when city ungarrisoned or poorly garrisoned. Like #3 but more so, a number of Barbarian warrior units created in city radius
 
Slave revolt ideas:

1. An auto-acquire, must maintain effect promo that gives slaves a random chance to acquire a 2nd promotion (rebel?) when they aren't in a stack with a non-slave unit. 2nd promotion converts them to a warrior with auto-pillage and gives them to Bhall.

2. Slave revolt event that triggers fairly frequently, with escalating horrible results based on whether or not you have a garrison and happiness/health of the city.

Level 1: One turn of unrest
Level 2: More unrest, one or more improvements in city radius pillaged
Level 3: More unrest, unhappiness, bad health, population reduced, more pillaging
Level 4: Would only trigger when city ungarrisoned or poorly garrisoned. Like #3 but more so, a number of Barbarian warrior units created in city radius

Interesting. I will need to look into adding revolts. Also, updated the module to take advantage of Dwarven mines etc.
 
Slavery should make plantations awesome...
 
Slavery should make plantations awesome...

Yes they should. I want to rebalance the mining bonuses given, i think they will just give +1 :commerce: to mines and quarries. Probably the same for farms. Plantations may get +2 :commerce:

I have played through and found all the problems I think so far. I have changed the Slaver to Slave Trader to avoid conflict with the Slaver trait. Also added an increased chance of slave revolt and slave escape but they are pretty weak sauce I think. I am not sure exactly how to have the event make several slaves revolt at once. Could anyone help me with this question?
 
Okay so I have added an event Slave Rebellion, that spawns 5 units (2 axemen, 2 archers, warrior) which takes out the slaves used to create them and can also take out a city if the slaves used in the event outnumber the military units stationed in the city (i think). I also have increased the weight of the slave revolt (and upgraded the unit from warrior to axeman) and slave escape events when using slavery civic. Do you guys think I need any more balancing?

I plan on having a few more events based off of how big the civ gets, though I am not sure if I can have unit based events affected by the number of buildings a civ has. Ideally I'd like to scale the events based of off the number of slave markets. I am also thinking about giving the event a chance to spawn an uber unit (spartacus style) though my understanding of python is very limited. Is that possible?

Edit: Also going to use vermicious' idea with a few special slave promotions for rebel slaves. I am thinking that maybe a small group of units with a leader unit spawn. The lead unit has either a high rank in command or even better. Not sure if that will be all that effective though.
 
If anyone is interested I tweaked the randomevents py file (which goes in the python/entrypoint folder) for FFPlus so you can have a beefed up slave rebellion event. Post in first post.
 
Could you make the spawn scale with the tech level of the owner civ?
Becouse in the early ages, a 2 axeman 2 archer spawn could be devestating.
But later it would be a joke.

I sugjest instead that the even simply spawn a single hero unit (spartacus style) and that when ever the said unit defeats slaves in combat, it creates minion units. These minion units (freed slaves) can get metal weapons and convert other defeated slaves into copies of them self.

And when they take a city with a slave market, they destroy it and gain extra troops.


That way the more slaves are freed, the larger the army grows.
 
Could you make the spawn scale with the tech level of the owner civ?
Becouse in the early ages, a 2 axeman 2 archer spawn could be devestating.
But later it would be a joke.

I sugjest instead that the even simply spawn a single hero unit (spartacus style) and that when ever the said unit defeats slaves in combat, it creates minion units. These minion units (freed slaves) can get metal weapons and convert other defeated slaves into copies of them self.

And when they take a city with a slave market, they destroy it and gain extra troops.


That way the more slaves are freed, the larger the army grows.

Excellent ideas all around but I lack the python skills to implement.

btw (you experienced a slave rebellion in a city yet?)

Thanks
 
Have not played with this yet as I am to busy with my exams to play lately, but here are my thoughts on implementation:

1. Rebelion spawning a hero unit - You already did this with the archer/axeman combo, just switch it to 1 unit instead.

2. when ever the said unit defeats slaves in combat, it creates minion units - Use the code from the warewolf hero. He creates feral warewolfs. The same code with only a change in what unit is spawned and a single if clause to check the unit type should do it. If python is anything like C it should be 5 minutes of work.
-Change the unit spawned
-Add a check for the unit type defeated
(it should be something like: If(unitClass = slave), but you will have to see the actual name of the variable that determines unit class)

3. When they take a city with a slave market, they destroy it and gain extra troops. - This I do not know how to do.
 
Have not played with this yet as I am to busy with my exams to play lately, but here are my thoughts on implementation:

1. Rebelion spawning a hero unit - You already did this with the archer/axeman combo, just switch it to 1 unit instead.

2. when ever the said unit defeats slaves in combat, it creates minion units - Use the code from the warewolf hero. He creates feral warewolfs. The same code with only a change in what unit is spawned and a single if clause to check the unit type should do it. If python is anything like C it should be 5 minutes of work.

3. When they take a city with a slave market, they destroy it and gain extra troops. - This I do not know how to do.

I was thinking about including a RebelHero event in the python. These are pretty cool ideas though. Get back to studying! (and then helping me with python yo!)
 
Will do. Be back in about 2h or so on my next break xD.

Here is the upload, version 0.000001
 

Attachments

I've asked this question in the Python/SDK forum which resulted in responses far beyond my comprehension so here goes: Can I add custom python to a module or do I need to create a modified version of the python file for the mod I am making a module for?
 
Back
Top Bottom