Oh yeah, speaking of Subdued Animals... I've never seen a Donkey spawn, and never seen one on the map... Has anyone else seen one spawn?
Oh yeah, speaking of Subdued Animals... I've never seen a Donkey spawn, and never seen one on the map... Has anyone else seen one spawn?
I dont know for sure if you left the item it is supposed to give you from butchering an animal, but as you can see in the screenies, there is nothing there but it does at least give you something for butchering it?? No biggy either way, but, I'm Just Sayin.'
It is a bug in the Outcome system, I have reported it. I also want to make some of those scale with game size and vary a bit with tech but the first is not available yet and to do the second would mean changing the same bit of code on each animal.
@Dancing Hoskuld
I was thinking about the new Ancient Forest. Are they categorized the same as other types of Forest? Because I was thinking maybe more dangerous animals that live in the forest should spawn in Ancient Forest.
I'd rather have a Thief/Rogue/Assassin etc appear as a spawn there, what do ya think?
I'd rather have a Thief/Rogue/Assassin etc appear as a spawn there, what do ya think?
I love this idea too. Not so much assassins, as they are inherently a product of (so-called) civilization, but certainly other ambushers/bandit/criminal types (and in normal forests too). Animals too should spawn there imo.
What might set ancient forests apart is that animals believed extinct may spawn there. So there are no more wolves/boars/bears in England - but then one turns up in the ancient forest. Or mammoths, or sabre-tooths, etc. etc. (And are there any thylacines in the game?)
Another possibility if you wish to go down that path is for animals/creatures (or people) believed to be mythical to appear there...
if iFeature == Terrain["Forest"] or iFeature == Terrain["Ancient Forest"]:
if bAnimals:
lList += ['UNIT_TREANT']
if pPlot.getTerrainType() == Terrain["Snow"]:
if bOrcs:
lHenchmanList += ['UNIT_FROSTLING_ARCHER', 'UNIT_FROSTLING_WOLF_RIDER']
if bAnimals:
lHenchmanList += ['UNIT_WHITE_DRAKE']
if pPlot.isHills():
if bOrcs:
lList += ['UNIT_HILL_GIANT']
lPromoList = ['PROMOTION_GUERILLA1','PROMOTION_GUERILLA2']
if iFeature == Terrain["Forest"] or iFeature == Terrain["Ancient Forest"]:
if bAnimals:
lList += ['UNIT_TREANT','UNIT_SATYR']
lHenchmanList += ['UNIT_TIGER', 'UNIT_BABY_SPIDER', 'UNIT_FAWN']
# spawn a defender in scorched terrain
if iFeature == getInfoType('FEATURE_FOREST_ANCIENT'):
pSpawnPlot = findClearPlot(UnitTypes.NO_UNIT, pPlot)
if pSpawnPlot != -1:
iTreant = getInfoType('UNIT_TREANT')
eDirection = directionXYFromPlot(pSpawnPlot, pPlot)
def onMoveAncientForest(pCaster, pPlot):
if pPlot.isOwned():
if pPlot.getNumUnits() == 1:
if pCaster.isFlying() == False:
iChance = gc.getDefineINT('TREANT_SPAWN_CHANCE')
if pPlot.isBeingWorked():
pCity = pPlot.getWorkingCity()
if pCity.getNumBuilding(gc.getInfoTypeForString('BUILDING_TEMPLE_OF_LEAVES')) > 0:
iChance = iChance * 3
if CyGame().getSorenRandNum(100, "Treant Spawn Chance") <= iChance:
pPlayer = gc.getPlayer(pCaster.getOwner())
p2Player = gc.getPlayer(pPlot.getOwner())
eTeam = gc.getTeam(pPlayer.getTeam())
i2Team = p2Player.getTeam()
if (eTeam.isAtWar(i2Team) and p2Player.getStateReligion() == gc.getInfoTypeForString('RELIGION_FELLOWSHIP_OF_LEAVES')):
for i in range(pPlot.getNumUnits()):
p2Unit = pPlot.getUnit(i)
p2Plot = findClearPlot(p2Unit, -1)
if p2Plot != -1:
p2Unit.setXY(p2Plot.getX(),p2Plot.getY(), False, True, True)
p2Unit.finishMoves()
if pPlot.getNumUnits() == 0:
newUnit = p2Player.initUnit(gc.getInfoTypeForString('UNIT_TREANT'), pPlot.getX(), pPlot.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_SOUTH)
newUnit.setDuration(3)
CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_TREANT_ENEMY",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Units/Treant.dds',ColorTypes(7),newUnit.getX(),newUnit.getY(),True,True)
CyInterface().addMessage(pPlot.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_TREANT",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Units/Treant.dds',ColorTypes(8),newUnit.getX(),newUnit.getY(),True,True)
All that could be done via the Spawn system if we had those particular fantasy animals, but we don't. If we do this it would have to be part of the Fantasy option, which is doable.
The bandit/criminal ones are possible also and could be added in as part of the "bad things happen". Note, I think it may be possible to convert all the events that spawn units into Spawns, I just have not investigated it.
BTW don't forget the aging animals mod that increases the strength of animals the longer they survive.
ahaha, i didnt mean it for "fantasy" units, we can ALWAYs change that to C2C units, correct.
Ah, you could be more clear that you lifted that python from FfH.![]()
Also perhaps the "Cave Bear" and "Cave Lion" should spawn at caves too.