Scions of Patria?

It's odd that the help tag is used in the schema for features, but not ingame.


10 lines is probably the limit. Help TXT_KEYS should be really short anyway, not more than 1 line usually, else it clutters up the screen and confuses new players. For larger texts there is the strategy tag.

1) yes, which was what threw me off as i indicated earlier. I very rarely go to the civlopedia, so I had not noticed how the help file was working there until a couple of nights ago. This may have been where our terminologies and intentions were in confusion.
For me the help file was an INGAME thing, not a Civlopedia thing. So maybe this was what was intended all along by Tarq, and I percieved it as an INGAME item. Tarq, would you clarify on this?



2) Agreed and understood all along. The point here was I could "SEE" the results of my Help tag entries, and the ten line item was just a side note. My expectations were based upon the results of the Help Tag work done previously on the Units. Until you pointed out that the terrain was not really coded for this, I would not have made the connection.
 
I'm not sure if this is a bug or if I'm totally not understanding the Scions. I'm at turn 185, doing pretty well except that I don't have any haunted lands anywhere. I've built temples of the gift in 3 cities (these initiated haunted lands in Orbis Scions, but not here). I'm building gostwalkers... their civpedia has a lot to say about haunted lands. However, I can't find any thing in the pedia that tells me how to start haunted lands in the first place.

Can any one clue me in? Or is this a bug? (playing 8.30)

Edit: OK, now turn 200. I have Necromacy, and the pedia indicates that my gostwalkers should be able to spread haunted lands by planting creepers. No such ability appears for my gostwalkers either outside or in haunted lands (I used WB to place a few haunted lands).
 
Haunted Lands should start appearing when you have Ghostwalkers, Redactors or Haunts. When and where they appear is random, but the more of those you have, the more HLs will appear in your territory. Korrina the Black speeds up the process, but won't make them appear herself. (I actually want to change how it works, btw, but I'm not sure I have a better idea.)

(The text you mention isn't true for Wild Mana, which also doesn't have Creepers.)
 
ressurrection and Shrine of Champion bugs fixed.

Thanks. I was stumped, so I look forward to seeing what you did

IDW tag:

Excellent! I'll give it a spin.

EDIT: Hey, I see you already added the tags to the promos. :)
 
Ah, thanks Tarquelne. I only had two gostwalkers and 6 cities, so I guess I need more gostwalkers or more time.

One more question: what does their worldspell ("into the breach", I think) do? Can't really tell from the text.
 
One more question: what does their worldspell ("into the breach", I think) do? Can't really tell from the text.

It creates Awakened and military units. They appear in a random location outside any civ's territory. (Though I think there's a failsafe - if there's no unclaimed land they appear in the capital. What you get depends on the techs you've got: The more and higher the techs, the more units you get. Military techs give appropriate units. You get the most Awakened from Religious techs. Generally only the techs of on the same level or after Sorcery count. (I should probably update the text: FF had a ginchy python-active help feature that'd tell you what you'd get if you cast the spell that turn.)

************************

Here's that threatened re-vamp of Haunted Lands creation. It includes Creepers.
For the most part it's modular, so it's not difficult for a player to add if Sephi choses not to include it in WM.

It can completely replace the current HL creation system - the second part of doScionsTurn. Because I accidentally erased that python, it's what I'm doing.

If, OTOH, the current system is kept I suggest reducing the frequency of it's creation by 3 or 4 times.

The way it works is: Ghostwalkers occasionally spawn Creepers. If there are more Creepers than Ghostwalkers at the beginning of a turn the spawn check won't run.

Creepers are Animal-Invisible scout-type units that can't attack but have two spells:
1) They can create a HL tile. They can do this even in another civ's territory, though that causes a war.
2) They can destroy a Camp, Farm, Pasture, or Plantation Improvement. They can do that even in another civ's territory and that does *not* cause a war.

I like this system because you get to make more decisions. OTOH, you have to make more decisions - though the whole system is still much simpler than FF's.

I'm attaching a file with the module files. They go in the ScionSpell module folder.

Additional changes:

Scions.py: Remove the "PROMOTION_PLANT" line from reqSpoil. Remove the kill-caster line from spellSpoil. (Replaced by XML tag.)

CvFFHPLUS:
This is the big python change. It goes in doTurnScions.
I'm including from the start of doTurnScions to the last changes, bolding the additions. (Nothing is removed or altered - just added-to.)

Spoiler :

Code:
def doTurnScions(argsList):
	iGameTurn  = argsList[0]
	iPlayer = argsList[1]
	pPlayer = gc.getPlayer(iPlayer)

	if not (pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_SCIONS')):
		return

	py = PyPlayer(iPlayer)			
	pTomb = pPlayer.getCapitalCity()
	iAwakened = gc.getInfoTypeForString('UNIT_AWAKENED')
#	iSpawnOdds = self.doChanceAwakenedSpawn(iPlayer)
	iSpawnOdds = ScionFunctions.doChanceAwakenedSpawn(ScionFunctions(),iPlayer)
	if CyGame().getSorenRandNum(10000, "Spawn Roll") < iSpawnOdds:
		spawnUnit = pPlayer.initUnit(iAwakened, pTomb.getX(), pTomb.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_SOUTH)

	#Units
[b]	iNatureMana = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_NATURE'))
	iLifeMana = pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MANA_LIFE'))
	iCreeperClass = gc.getInfoTypeForString('UNITCLASS_CREEPER')
	iBlackLadyClass = gc.getInfoTypeForString('UNITCLASS_KORRINA_BLACK_LADY')
	iGhostwalkerClass = gc.getInfoTypeForString('UNITCLASS_RANGER')
	iBlackLadyFactor = pPlayer.getUnitClassCount(iBlackLadyClass) * 2
	iNumCreepers = pPlayer.getUnitClassCount(iCreeperClass)
	iNumGhostwalkers = pPlayer.getUnitClassCount(iGhostwalkerClass)
	iCreeperSeed = 1 + iNatureMana + iLifeMana + iBlackLadyFactor
	
	if iNumCreepers >= iNumGhostwalkers:
		iCreeperSeed = 0	[/b]
		
	iAlcinus = gc.getInfoTypeForString('UNIT_ALCINUS')
	iAlcinusUpgrade = gc.getInfoTypeForString('UNIT_ALCINUS_UPGRADED')
	iAlcinusArchmage = gc.getInfoTypeForString('UNIT_ALCINUS_ARCHMAGE')											
	iHauntProm = gc.getInfoTypeForString('PROMOTION_HAUNT')
	for pUnit in py.getUnitList():
		if pUnit.getUnitType() == gc.getInfoTypeForString('UNIT_KORRINA_BLACK_LADY'):
			if pPlayer.isHasTech(gc.getInfoTypeForString('TECH_FERAL_BOND')):
				pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DARK_EMPATHY'),true)
		if pUnit.getUnitType() == gc.getInfoTypeForString('UNIT_MARTYR_OF_PATRIA'):
			if pPlayer.isHasTech(gc.getInfoTypeForString('TECH_POISONS')):
				pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_POISON_DRENCHED'),true)				
		if pUnit.getUnitClassType() == gc.getInfoTypeForString('UNITCLASS_MAGE'):		
			pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_NECROMANCER'),true)		
		if pUnit.getUnitClassType() == gc.getInfoTypeForString('UNITCLASS_KORRINA_BLACK_LADY'):				
			pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ALIVE'),false)				
		if pUnit.getUnitClassType() == gc.getInfoTypeForString('UNITCLASS_KORRINA_RED_LADY'):				
			pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_CHANNELING1'),false)				
		if pUnit.isHasPromotion(gc.getInfoTypeForString('PROMOTION_HEADLESS')):				
			pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_UNDEAD'),true)
		if pUnit.isHasPromotion(gc.getInfoTypeForString('PROMOTION_UNRELIABLE')):
			if not pUnit.getUnitType() == gc.getInfoTypeForString('UNIT_CENTENI'):	
			pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_UNRELIABLE'),false)	[b]
		if iCreeperSeed > 0:
			if pUnit.getUnitType() == gc.getInfoTypeForString('UNIT_GHOSTWALKER'):			
				if CyGame().getSorenRandNum(32, "Creeper check")<=iCreeperSeed:
					spawnUnit = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_CREEPER'), pUnit.getX(), pUnit.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_SOUTH)	[/b]


TEXT Changes.

To TXT_KEY_SPELL_ARAWNS_DUST_HELP
Spoiler :

Code:
    <English>Destroys a camp, farm, pasture, or plantation.  Does not trigger war.</English>


To TXT_KEY_UNIT_GHOSTWALKER_PEDIA

Spoiler :

Code:
 <English>Sometimes a Cetratus or Velite will abandon his unit, and sometimes a Ghostwalker returns.[PARAGRAPH:1]Ghostwalkers have a special relationship with the Gift.  Short of Redactors, no other Scion knows more about it.  Or perhaps they know more than even Redactors... none are more influenced and changed by the Gift than Ghostwalkers.[PARAGRAPH:1]Ghostwalkers may shed their own blood to create Reaching Creepers.  The Creepers in turn may plant Haunted Lands or spread the blight called Arawn's Dust.  The more Life or Nature mana the Scions possess, the more quickly Creepers will be created.  The Black Lady also encourages Creeper creation.  However, Creepers are demanding of both blood and affection - Creeper creation will stop if there are more Creepers than Ghostwalkers.</English>


EDIT: Two things:

1) I forgot the change to the unit ART_DEF for Creepers. (It already exists in the "Scions of Patria" FFHPLUS module folder.
Code:
Modules/NormalModules/ScionSpell/creeper.dds
will point to the file included in the attachment.

2) Here's an improved Strategy text for "The Breach":
Spoiler :
Code:
    <English>The Opening of the Way:  A passage from the End of Creation, through the Underworld, and to Erebus is temporarily opened.  Many Scion units, including the False Laroth, enter Erebus at a random location outside any civ's territory.  Triggered by Themoch and requires 'Sorcery'.  The more advanced the Scions are technologically the more units may be brought through.  Arcane techs tend to grant Arcane units, Economic and Religious techs Awakened, and Military techs military units.</English>

The spell name in the text file is "SPIRAL_GATE"
 

Attachments

Alcinius is pretty annoying now. I used to play Scions in Orbis where Alcinius would join another civ and you had to hunt him down with Emperor's Daggers. I know some folks complained but I thought that was an interesting challenge. But now I have Alcinious in endless loop. He has health 0.2 and he is mad. He won't stay put to heal (even other mad units would sometimes just sit for a while). He goes straight for a hostile unit (even ones that I can't see yet) to suicide, is resurrected at the same 0.2 health, then repeats, over and over and over... (I think about 50 turns now, but will it ever end?)

The only way to end the madness is for him to win a combat, but that will never ever happen at health 0.2. There will always be some hostiles spawning in the wilderness for him to go after. I tried weakening hostile units for him to finish off, but they always heal a little between turns and there really is no unit that he can kill with 0.2 health. How do I end this madness?
 
I used to play Scions in Orbis where Alcinius would join another civ and you had to hunt him down with Emperor's Daggers. I know some folks complained but I thought that was an interesting challenge.

Yeah, that was the way he worked in FF. I liked it too. :)

I tried weakening hostile units for him to finish off, but they always heal a little between turns and there really is no unit that he can kill with 0.2 health. How do I end this madness?

I think you've got the idea - it can just be tricky.

As prep I've started prioritizing Combat promotions and Cannibalize for Alcinus. That made a pretty big difference.
 
you can also cast regeneration with an other mage when he is reborn, this way he heals faster while moving to the enemy. i think letting him heal on the move i more important or at least he should loose the enraged promotion after being killed.


Edit: the easiest way would be to add copy the enraged promotion that heals while moving and gives immortality. since this promotions is removed after being killed it solved this problem and is very easy to code . Of course you have to copy the crazed promotion and in stead of promotionrandomapply enraged it should give the new promotion.
 
since this promotions is removed after being killed it solved this problem and is very easy to code .

Come to think of it, shouldn't that be preventing the looping? I didn't wrestle with a kill-happy .1 health Alcinus in my last game. The system introduced with... 8.2?... isn't the standard Immortality. He's actually re-created and nothing carries over.
 
there are two kinds of immortality:
one defined in the unitcombat: this gets not removed
one in promotioninfos: the promotion gets removed after death

i would just switch the immortality to be applied to the modified enraged promotion so he is only immortal as long as enraged. of course once he dies or is not enraged he is not immortal. this would prevent the problems described by pazyryk.
 
there are two kinds of immortality:
one defined in the unitcombat: this gets not removed
one in promotioninfos: the promotion gets removed after death

Alcinus' "immortality" is currently handled by some per-turn python. It just checks to see if an Alcinus already exists as a Scion or barbarian unit. If not it may create another one... from scratch.
 
why so complicated? should not be immortal set to 1 be enough?

edit: you have to remove the defection possibility of course
 
why so complicated? should not be immortal set to 1 be enough?

edit: you have to remove the defection possibility of course

The "edit" is on the right track - Immortality caused a variety of bugs and/or balance problems. IIRC xienwolf had to do some serious fiddling with the .dll to get things working just right in FF. And true Immortality - where you keep Promotions - is too powerful for Alcinus without the significant danger of him joining another civ.
 
well then is suggest giving him a tweaked enraged promotion that also heals him on the move and improves his heal rate. this should take care of the problem too.
 
well then is suggest giving him a tweaked enraged promotion that also heals him on the move and improves his heal rate. this should take care of the problem too.

That would take care of the annoyance described - which isn't necessarily a "problem". But there are other bugs and/or balance issues that wouldn't be addressed by that solution.
 
Well... I really don't think the haunted lands creation is working as intended in 8.30. I'm at turn 250 and have ~15 ghostwalkers, with 9 cities covering a lot of land. No sign of any haunted lands yet. I'll have a cultural victory well before turn 300. Is it intended that I need 100 ghostwalkers to see a single haunted land? Or is this a bug that I should report in the bugs thread?
 
Or is this a bug that I should report in the bugs thread?

Unless you're *amazingly* unlucky, it's a bug. (There is an element of chance.) And I can't see any problem with the code.


But the old code happened to be posted earlier in the thread, and a new system I proposed was posted in #146. If you want help getting either of those set up, I can do that.
 
Tarquelne,

I actually made the code change that you put in the 8.3x bugs thread (post #33) but not the code change that you wrote above. I'm pretty sure that I did this correctly, but maybe I mucked something up somewhere. So I'm hesitant to post in bugs thread.

Just one clarification question: Can haunted lands appear de novo (I'm using a mapscript that doesn't place any at the start), or do they have to spread from existing haunted lands?
 
de novo.

EDIT: I too fiddled with the file and can't be sure what's going on. But I did finally figure out how to get info from the patch without over-writing. I'll try the 8.3 code tomorrow.
 
Back
Top Bottom