FfH2 0.33 Bug Thread

Already reported in Post #697, but since Xienwolf apparently overlooked it and didn't add it to his awesome list, it's good to remind him

16) Free Buildings are not granted to Hyborem for cities gained by Diplomacy (Chip56 - Post 222)
Already in his list.
 
hmm, can't load my 0.33f ljosalfar savegame anymore now that I've installed patch g, CTD c++ runtime error every time

Maybe I'll try going back to f and see if it works then


Edit: nm, was the flavourmod that did it of course.
 
@bladios7: Were your using the FlavourMod before upgrading from f to g or did you try to use the current version of FlavourMod for FfH patch g? If the former is the case, wait for the updated version of FlavourMod later today (if you can). You should be able to continue your saved game then.
 
sorry, don't know if this problem has been discussed!?

the battle statistics that are shown, before you attack an enemy unit now don't adds effects for terrain or something else. it reduces the strength of the enemy.

is it a bug or feature?
 
the battle statistics that are shown, before you attack an enemy unit now don't adds effects for terrain or something else. it reduces the strength of the enemy.
Some things like shock and cover always reduced the strength of the enemy (even in vanilia civ4). terrain boni or mali (deserts) however should be added to the defending unit just like combat 1-5.
 
Already reported in Post #697, but since Xienwolf apparently overlooked it and didn't add it to his awesome list, it's good to remind him :p

Actually that one happens to be item #16 on the list, reported by Chip56 in Post 222 :p

EDIT: Damnit, forgot to check for a new page of posts :p Yeah, I suck :P
 
Ever since the the spell system change of 0.31 I've been pointing out that since Grigori Medics can start with a religion (there is a 20% that a unit without a religion to get any given religion in the city that builds it), and always start with Divine and Channeling 2 & 3 (the prereqs for Cure Disease and Heal, but also all high priest spells) they are probably the biggest exploit in the game. I've been suggesting that they loose these promotions and that Cure Disease and Heal be made to require the Medic II and III promotions. Kael has consistently ignored me on this issue, so I assume he must like this exploit.

If he doesn't want to change the prereqs, maybe making the Agnostic trait prevent the leader's units from getting a religion would be a good idea?

Magister, after you posted about this exploit, I ran a little test as I was playing the Grigori and my game was in its final stage.

After I built the Eyes and Ears Network I got the disciples, etc. for all the religions - another Grigori exploit IMO.

I was able to spread FOL, ROK, CoE, Empyrean, and OO in my capital where I was building all my units. The Order and AV failed to spread.

I built 50 Gregori Medics and here is what I got:

7 FOL
5 ROK
3 Empyrean
0 OO
0 CoE (not sure what that would have been)
35 No affiliation (I deleted those)

So, it was better than 20% and adding 15 of those units to my army was significant. However, the main things I used them for was summoning Tigers (one allowed me to build the Grand Menagerie as I was missing that animal), Shield of Faith for all of my units, and, of course, the powerful Crown of Brilliance for weakening those attacking stacks I mentioned in the Super Stacks thread.

Should this exploit be canceled? I'm not sure as it does take a while to get Medicine and build them. Then, you have to have religion spread to your cities to get the affiliations. If you can build the Eyes and Ears Network (later game), that would help too.
 
The result is higher than 20% because it is a 20% chance for each religion in the city. Checked in a set order as well. So your chances of getting ANY religion are far higher than 20%. But your chances of getting a SPECIFIC religion are LOWER than 20% for all but the first religion checked. Esus is the last religion checked, and thus winds up being the rarest religion to gain by random luck in any city with multiple religions (you lose 20% chance of gaining Esus per other religion in the city. So 18% chance if there is 1 other religion, 16.2% chance if there are 2 other religions.... This reduction in chances isn't a hardcoded modification, but the statistical offset due to only being able to happen to 20% of the people who do not make one of the previous 20% checks)


It really ought to be a 35% check to see if you can get a religion type assigned to the unit, then an EVEN RANDOM among all the religions in the city PLUS your State religion (thus making state religion twice as likely). This would allow Esus to spread better, and make you gain more religious units matching your state religion than ones following random other junk which happened to be in the city.
 
The chances are 20% for each religion present so long as the unit does not have a religion yet. That means a 20% change for the first religion in the city, a 4% chance for the second, a .8% chance for the third, a .16% for the fourth, .032% for the fifth, .0064% for the sixth, and .00128% for the seventh; the maximum chance for getting a religion at all is 24.99968%. The order of the religions is FoL, Order, OO, RoK, AV, Empyrean, CoE. This can be easily changed in CIV4ReligionInfos.xml, but unless the gamefont is changed too then doing so will really mix up the icons.



Any CoE unit can spread CoE, but only Recon units can use the religions other spells. Medics are Melee, so this religion is of no use to them.
 
I would remove or modify the following. They are causing an assert, although I doubt they cause a defect:
Spoiler :
Code:
######## Toxcatl (Aztec event) #########

def canTriggerToxcatl(argsList):
	kTriggeredData = argsList[0]
	player = gc.getPlayer(kTriggeredData.ePlayer)

	if (player.getCivilizationType() == gc.getInfoTypeForString("CIVILIZATION_AZTEC")):
		return true
	return false

######## Dissident Priest (Egyptian event) #######

def canTriggerDissidentPriest(argsList):
	kTriggeredData = argsList[0]
	player = gc.getPlayer(kTriggeredData.ePlayer)

	if (player.getCivilizationType() == gc.getInfoTypeForString("CIVILIZATION_EGYPT")):
		return true
	return false

def canTriggerDissidentPriestCity(argsList):
	iCity = argsList[2]
	
	player = gc.getPlayer(argsList[1])
	city = player.getCity(iCity)

	if city.isGovernmentCenter():
		return false
	if (city.getCommerceRateTimes100(CommerceTypes.COMMERCE_CULTURE) < 3000):
		return false
	if (player.getStateReligion() != -1):
		return false

	return true

######## Rogue Station  (Russian event) ###########

def canTriggerRogueStation(argsList):
	kTriggeredData = argsList[0]
	player = gc.getPlayer(kTriggeredData.ePlayer)

	if (player.getCivilizationType() == gc.getInfoTypeForString("CIVILIZATION_RUSSIA")):
		return true
	return false

######## Antimonarchists (French event) #########

def canTriggerAntiMonarchists(argsList):
	kTriggeredData = argsList[0]
	player = gc.getPlayer(kTriggeredData.ePlayer)

	if (player.getCivilizationType() == gc.getInfoTypeForString("CIVILIZATION_FRANCE")):
		return true
	return false

######## Impeachment (American event) ########

def canTriggerImpeachment(argsList):
	kTriggeredData = argsList[0]
	player = gc.getPlayer(kTriggeredData.ePlayer)

	if (player.getCivilizationType() == gc.getInfoTypeForString("CIVILIZATION_AMERICA")):
		return true
	return false

def canTriggerImpeachmentCity(argsList):
	iCity = argsList[2]
	
	player = gc.getPlayer(argsList[1])
	city = player.getCity(iCity)

	if city.isCapital():
		return true
	return false
My solution (just have them all return false):
Spoiler :
Code:
######## Toxcatl (Aztec event) #########

def canTriggerToxcatl(argsList):
	return false

######## Dissident Priest (Egyptian event) #######

def canTriggerDissidentPriest(argsList):
	return false

def canTriggerDissidentPriestCity(argsList):
	return false


######## Rogue Station  (Russian event) ###########

def canTriggerRogueStation(argsList):
	return false

######## Antimonarchists (French event) #########

def canTriggerAntiMonarchists(argsList):
	return false

######## Impeachment (American event) ########

def canTriggerImpeachment(argsList):
	return false

def canTriggerImpeachmentCity(argsList):
	return false
 
The chances are 20% for each religion present so long as the unit does not have a religion yet. That means a 20% change for the first religion in the city, a 4% chance for the second, a .8% chance for the third, a .16% for the fourth, .032% for the fifth, .0064% for the sixth, and .00128% for the seventh; the maximum chance for getting a religion at all is 24.99968%.
Wasn't the chance for your state religion higher then 20%?
I thought 30 or 35%.
So your max. chance to get a religion would be higher than ~25% (at least if its the first religion).
 
Back
Top Bottom