New Bad People Mod

1) New Baddie



Specialist: -1 Food, -1 Commerce
Ability: When triggered, every improvement nearby has 25% chance to be destroyed.

2) Swapped Assassin and Mafia models.

3) Golden Age
Removes all baddies
Immune to new baddies joining.

4) Anarchy
Chance of joining during anarchy = 100%.
Chance of removing baddies during anarchy = 0%

Have not found a suitable artwork for trader :D
Have not swapped the Prostitude model yet though, looking for button :D
 
2) Added codes to AI_chooseProduction to make AI build baddies... sometimes.
12.5% chance to build random baddie.
Only when production is 0, means previous building/unit/whatever has just been finished.

lalalalalalala
 
I missed, sorry :D i have one idea, for bandit art use 3 different unit arts, early, middle and late, if you want i can find, merge or remake some arts for you.
 
Hmm sounds great :D
But if I do that for Bandit, I guess I might have to look for early/middle/late for others too, and sounds tedious :mischief:

Generally, I just ensure the codes are working as intended.
As for the artwork or texts, so long as they look ok, I am fine with it.
Afterall, this is meant as a mod component and not a full mod, so I leave it to modders to decide whether they want to change the artwork or text themselves.

They can even change the effects themselves if they want to mess with the codes.
 
Would Inquisitor make more sense than Witch?
 
Since most mods are using Inquisitors, it will just make merging difficult since you are gonna have to change one of them to another unit again.

So why make life difficult :D
 


Baddie of all Baddies.
Nukes City Plot.

Updates:
Prostitude Model changed, button still remains though, haven't made one.
 
Some baddies should have option to block trade route (when staying on plot not city) like naval units has.
 
Could you make the terrorist nuclear effect only work if there is a nuke in the city; also could you make a baddie that damages units per turn?
 
Both are easy, just add to performance taxing.
To do the nuke check, it means loop through all units on the tile to see if there is a nuke.
To damage all units, it also means loop through all units on the tile and apply damage.

Not very fun if there are many many units
 
Change the terrorist codes as followed to apply nuke check:
Code:
		if CyGame().getSorenRandNum(50, "Terrorist") < iNumTerrorist:
			for iUnit in xrange(pPlot.getNumUnits()):
				pLoopUnit = pPlot.getUnit(iUnit)
				if pLoopUnit.isNone(): continue
				if pLoopUnit.nukeRange() > -1:
					pCity.plot().nukeExplosion(0, pLoopUnit)
					CyInterface().addMessage(iPlayer,True,15,CyTranslator().getText("TXT_TERRORIST_PROBLEM",(pCity.getName(),)),'',0,gc.getSpecialistInfo(iTerrorist).getButton(), gc.getInfoTypeForString("COLOR_WARNING_TEXT"), pCity.getX(), pCity.getY(), True,True)
					pLoopUnit.kill(False, pLoopUnit.getOwner())
					break

I disagree though because:
1) Gameplay wise, this is a super late game baddie due to Fission.
The negative yield is close to useless by then.
If there is no nukes in the city, then its effect will not activate then it is totally useless.

2) Realistic wise, when did you ever see a terrorist enter a nuclear plant to trigger a nuclear bomb?
Whether it is sucide bombing, car bombing, poison gas etc, terrorists always bring their own stuff.
So why is there a need to check if there is one available in the city?

As for the unit damaging baddie, if you want it, provide a name and artwork and it is done :D
 
Have you checked out the Sleeper Cell in Sevo's Faces of God mod? Sounds like a good baddie, they sneak into foreign cities spend a few turns resting and then boom! More importantly the AI uses them. I'll see if I can separate it out for you. The original mod is not available but I have a copy I have uploaded here
 
Hmm looking at the codes, I believe the timebomb will be the Martyr units.

However, there are some issues with it:
1) Performance taxing.
A) Every turn, there is a check to reduce timer of each Martyr in cities.

B) onUnitMove
Every time a unit moves one tile, a check is done on it to see if it is a martyr and update as necessary.
I have avoided this like a plague because I am sure you know how many units are moving every turn, and units like Destroyers can pretty much move 9 or 10 tiles a turn.
Move a SOD of 100 units for 5 tiles and you get the idea.

2) Bugs
A) Because it is tracking where are the Martyrs by using onUnitMove, it is bound to have bugs.
Because Units can move without triggering onUnitMove.
Airlift for instance, as well as moving via transports.
Which simply means the Martyrs have changed locations, but since codes not triggered, locations not updated.

B) There should at least be a check to see if the stored Martyrs are still valid, but there isn't any.
I can simply gift away the Martyr, or delete the Martyr.
Or simply because the last city is captured which kills the player and removes his Martyrs.
Thus, the Martyr is no longer there but it is still stored in the Martyr list.

C) No check for city ownership vs martyr ownership
It is only done onUnitMove to see if Martyr has entered foreign city, and starts the countdown.
Yet nothing is done to ensure the city remains foreign when Martyr kabooms.
What if you capture the city during the countdown? You end up bombing yourself.
 
Haven't forgotten about the request, just lazy to code.
Coding it to damage units per turn is easy, just an alteration from the nuke one.
But it is definitely performance taxing and is not good for the AI.
AI will tend to keep units in cities to heal, but this kind of baddie will prevent them from healing, yet they will not understand why.

Thus, I redesign it as simply:
Special Effects:
2% chance per Guerilla to kill off one unit stationed in city.

If that sounds cool to you, then I bother to proceed with codes.
 
Top Bottom