Purity 1331

Cepheus75

Chieftain
Joined
Oct 30, 2014
Messages
22
I was finding Purity 1 to be too powerful when compared to Harmony and Supremacy 1. This is a simple mod that switches the powers of Purity 1 and Purity 3 so that at Purity 1 you get +20% vs aliens and at Purity 3 you get Explorers will not be attacked by Aliens. This seems to be more in balance with the other affinities.

Download: http://steamcommunity.com/sharedfiles/filedetails/?id=333377757&searchtext=

It does need a lot of testing and is by no means perfect. Expect several updates.

Thanks to Jaden Korr for getting me through working with Mod Buddy. I find this works paricularly well with Jaden's "Stronger Explorer's" Mod.

---- UPDATE ----
The Problem:

The reason I created this mod is that I was finding I was going for purity 1 as my first affinity in every game no matter which affinity I wanted to do in the long run. The reason for this is that the purity 1 ability (Aliens will not attack explorers) is very powerful in subtle ways:

1. First of all it makes the explorer immune to attack. That means you no longer have to worry about where you are walking in relation to aliens, even siege worms and krakens, from very early in the game. This takes away lot of the fun of making your way through the maze of hazards.

2. It therefore also makes workers and colonists effectively immune to aliens as the explorers can stack with them.
This happening so early in the game detracts from the feeling of settling a challenging new world

3. Because this also makes them the easiest unit to use for destroying nests. Simply work your way through the bugs that will not kill you and stomp on their nest. Where is the fun in that? Also this has the side effect of keeping the alien anger level very low as you are not actually killing anything as you make your way to the nest. Effectively at Purity 1 this makes explorers much better at stopping the alien threat than marines. To me that feels wrong.



The Solution:
The simplest solution is to just flip purity 1 with purity 3 (+20 vs aliens). This has several positive effects. I will show the math for both the basic explorer and Jaden Korr's stronger explorer mod.

1. Making purity +20 vs aliens causes there to be a real choice at level 1 affinity. Do I want to play nice with the Aliens (Harmony), do I want to go out exploring further from home (Supremacy), or do I want to kill the Aliens to make way for human development (Purity). Right now it is a non choice as aliens will not attack becomes all 3 (the aliens play nice, you can go farther from home without a threat, and you can squish their nests as point 3 in "The Problem"

2. With the +20 vs aliens base explorers go from a 3 to a 3.6 combat strength. That is still terrible but better.

3. If you combine it with "Stronger Explorers", the 5 goes to a 6. Now you have a real fighting chance to take single hit from an alien you bumped into, suffer some damage, but get away. Swarms of multiple aliens, siege worms and sea life will still kill you so there still is a challenge to exploring the map.

4. The add on effect of this is it makes Marines much better a killing swarms of bugs. They go from an 18 to a 21.6. This allows them to go charging in to a small swarm of aliens, fight their way to the nest and squish it. That is a much more fun and challenging way to deal with the aliens in a early game.

5. If you stack this with the Survivalism virtue this takes you up to a +45% vs aliens. With the base explorer that gets you to a 4.35. Still terrible but on your way to survival.

6. However with the stronger explorer mod and survivalism and purity 1, you now have 8.7. This is stronger than the Wolf beetles' 8 and give you some increased ability to survive out there without being immune. Siege worms will still snack on you, the mid level aliens will still be a challenge, the little beetle swarms are now at the disadvantage

7. To get to be truly immune to attacks from aliens is the next logical progression. If you really want to get to that level of alien resistance then you have to commit to purity as a significant chunk of your affinity points.

8. This then gives the explorers a post pod/dig site rush role. As they wait for new expedition sites to pop up they can now act as sentries vs the aliens at key choke points, escort your workers, colonists, and trade convoys to give them protection, and act as a border patrol with a chance of surviving vs a first strike from a soldier or maybe even marine.

As such this is a simple solution that solves a big problem and thus I will be using the mod going forward. I hope you all enjoy it and consider playing it yourselves. It really greatly improves the game.
 
Personally I think that by the time you get to Purity 3, you aren't likely to have much use for explorers anymore anyway.

Undoubtedly this perk at Purity 1 is overpowered, but I think it's useless at Purity 3.
 
What would you guys think to instead of flipping them, replacing Purity 1 with a 100% withdrawal chance (a la Civ V) for explorers. That would take away many of the offensive tactics of the way they are now. I am not sure I can figure out how to do so, but might try.
 
Looks tough to impossible. Basically it comes down to affinities can only grant playerperks. This would have to be a unitperk. There does not seem to be a way to call a unitperk from a player perk. :(
 
Make a dummy PlayerPerk (or just make the current perk do nothing). Make a new UnitPerk that does what you want it to do. Incorporate an Lua file via "InGameUIAddin" (VFS = false).

There's multiple game events you could use to hook into the game and then give all explorers owned by Player X the new UnitPerk if Player X has your dummy PlayerPerk. Note, the method's and calls I'm about to use in my example are not correct but should have real counterparts in the game code:

Code:
GameEvents.PlayerDoTurn(DoGiveExplorersPerk)

function DoGiveExplorersPerk(iPlayer)
	local PlayerID = Players[iPlayer]
	
	if PlayerID:IsAlive() and PlayerID:HasPolicy(GameInfoType.WHATEVER_THE_PUIRTY1_PERK_IS_CALLED) then [COLOR="YellowGreen"]--not sure if HasPolicy is the correct method as the Affinity perks may not be considered Policies.[/COLOR]
		for unit in ipairs(PlayerID:CycleThroughUnits) do [COLOR="YellowGreen"]-- this line definitely isn't correct, but cycling through a player's units is probably about this simple[/COLOR]
			if unit.type == GamInfoTypes.UNIT_EXPLORER then
				if unit:GetHasPromotion(GameInfoTypes.YOUR_PROMOTION) == false then
					unit:SetHasPromotion(GameInfoTypes.YOUR_PROMOTION)
				end
			end
		end
	end
end

Using ONLY this function attached to this hook would have the drawback of Explorers not getting the promotion until AFTER the player hits end turn on the turn they get Purity 1 (or the turn you produce a new explorer). But, I believe it would take effect BEFORE aliens could attack; you just wouldn't have a promotion icon on the unit's popup panel until the next turn. Using a program capable of searching multiple .lua files at once (such as notepad++) will make finding the correct methods you need go by much, much quicker.
 
I have yet to experiment with LUA. I a pretty new to this. Thanks for the tip. Might try when motivated/can get to the bottom of my mods sticking to saves issue.
 
Top Bottom