Starrynite120
Prince
- Joined
- Jul 15, 2015
- Messages
- 472
I'm currently writing a script to make improvements give affinity experience when finished. I'm testing my script on farms, so this is what I've got this far, but it's not working. Could anyone help me out with making this work? Also, for some reason this is making you gain 1 affinity in all affinities every few turns, not sure why.
function OnBuildFinished(playerID, iX, iY, improvementID, buildID)
local bonus = 0;
local farmInfo = GameInfo.Improvements["IMPROVEMENT_FARM"];
local farmID = farmInfo.ID;
local farmBonus = 1;
if (improvementID == farmID) then
bonus = farmBonus and Affinity_ID = GameInfo.Affinity["AFFINITY_PURITY"];
if (bonus > 0) then
Player:ChangeAffinityScore(Affinity_ID, bonus);
end
end
end
GameEvents.BuildFinished.Add(OnBuildFinished);
function OnBuildFinished(playerID, iX, iY, improvementID, buildID)
local bonus = 0;
local farmInfo = GameInfo.Improvements["IMPROVEMENT_FARM"];
local farmID = farmInfo.ID;
local farmBonus = 1;
if (improvementID == farmID) then
bonus = farmBonus and Affinity_ID = GameInfo.Affinity["AFFINITY_PURITY"];
if (bonus > 0) then
Player:ChangeAffinityScore(Affinity_ID, bonus);
end
end
end
GameEvents.BuildFinished.Add(OnBuildFinished);