1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Final Fixes Reborn

Discussion in 'Rise from Erebus Modmod' started by Ronkhar, Apr 17, 2013.

  1. black_imperator

    black_imperator Emperor

    Joined:
    Dec 4, 2005
    Messages:
    1,651
    Dispel and fair winds clear mist ( i'll see about adding a code for clearing it)
     
  2. Viatos

    Viatos Prince

    Joined:
    May 27, 2008
    Messages:
    341
    Mimic script could still use a spruce-up to deal with the thousand-and-one temporary/placeholder/mechanical promotions RIFE added. Especially leashes. I will paste you my full update if you want, would save me resetting it every update.

    Brass Drakes still can't build their Chained Drake building.

    Werewolf animals can build their associated building, but cannot cast their blood spell or use Hunter's Prize. Entities with Subdue Animal and Lycanthropy can double-capture, gaining a werewolf and subdued animal together. Possibly Command allows for triple-captures, I don't know.

    Pegasi are still the worst and still seem to have 100% withdrawal. Blitz-hunters can kill them, or if you happen to have a bunch of units in the general area.

    Many upgraded animals have lowercase text keys. Pretty minor but pretty annoying.

    The mechanic that causes dwarven mines to be forts and pop fort commanders has a ton of problems. For one thing, you almost never want this to actually happen as actual dwarves because the income drain is just totally unsustainable until relatively late. If you're getting access through RoK, the One True Religion of Erebus, you MIGHT be okay with one or two commanders if you have mage-commanders or you're the Austrin or something, but probably you'll still kill most or all of them. Except that doesn't solve anyone's problem, since killing the commanders creates a problem with dwarven mines still counting as forts, which means enemies (and open-border allies) will capture them.

    Ideally dwarven mines would be not-forts and instead spawn a held dwarven defensive unit - or even just work like Ancient Forests do but with a 100% spawn chance that gives you a temporary dwarven militia.
     
  3. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    Viatos, I love it!.
     
  4. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    Thanks Black_imperator
     
  5. black_imperator

    black_imperator Emperor

    Joined:
    Dec 4, 2005
    Messages:
    1,651
    i'll take it
    noted
    known, working on trying to prevent it without breaking too many things ^^
    will check that
    noted
    i remember doing some testing on that and encountering several issues with the defensive unit spawning, i don't remember what it was exactly, i'll check
     
  6. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    Curious to know what this means when I try to update the SVN of Ashes of Erebus
    (See attachment) it says something about not being able to establish to "Create a pristine install stream". Does that mean nothing is to be updated?
     

    Attached Files:

    • SVN.PNG
      SVN.PNG
      File size:
      10.2 KB
      Views:
      101
  7. Viatos

    Viatos Prince

    Joined:
    May 27, 2008
    Messages:
    341
    Code:
    def postCombatMimic(pCaster, pOpponent):
    	gc 				= CyGlobalContext()
    	iBronze 		= getInfoType('PROMOTION_BRONZE_WEAPONS')
    	iDivine 		= getInfoType('PROMOTION_DIVINE')
    	iGreatCommander = getInfoType('PROMOTION_GREAT_COMMANDER')
    	iIron 			= getInfoType('PROMOTION_IRON_WEAPONS')
    	iMithril	 	= getInfoType('PROMOTION_MITHRIL_WEAPONS')
    	iUndead 		= getInfoType('PROMOTION_UNDEAD')
    	iLeashAch = getInfoType('PROMOTION_ACHERON_LEASHED')	
    	iLeashCommand	= getInfoType('PROMOTION_INFLUENCE')
    	iLeashMana = getInfoType('PROMOTION_MANA_GUARDIAN')
    	iLeashMin1 = getInfoType('PROMOTION_MINOTAUR_LEASH1')
    	iLeashMin2 = getInfoType('PROMOTION_MINOTAUR_LEASH2')
    	iLeashMin3 = getInfoType('PROMOTION_MINOTAUR_LEASH3')
    	iLeashMin4	 = getInfoType('PROMOTION_MINOTAUR_LEASH4')
    	iLeashPristin = getInfoType('PROMOTION_PRISTIN_LEASH')
    	iLeash0	 = getInfoType('PROMOTION_LEASH_0')	
    	iLeash1	 = getInfoType('PROMOTION_LEASH_1')	
    	iLeashLich = getInfoType('PROMOTION_LICH_DURATION')
    	iHaste 		= getInfoType('PROMOTION_HASTED')
    	iFatigue 		= getInfoType('PROMOTION_FATIGUED')
    	iObscured		= getInfoType('PROMOTION_OBSCURED_LOS')
    	iWaaagh 		= getInfoType('PROMOTION_WAAAGH')
    	iSlow 		= getInfoType('PROMOTION_SLOW')
    	iSpooked 		= getInfoType('PROMOTION_SPOOKED')
    	iLost 		= getInfoType('PROMOTION_LOST')
    	iHauntStalk 		= getInfoType('PROMOTION_HAUNTSTALK')
    	iFortCaptain 		= getInfoType('PROMOTION_FORTCAPTAIN')
    	iBlur 		= getInfoType('PROMOTION_BLUR')
    	iDance 		= getInfoType('PROMOTION_DANCE_OF_BLADES')
    	iLoyalty 		= getInfoType('PROMOTION_LOYALTY')
    	iDesertStealth 		= getInfoType('PROMOTION_DESERT_STEALTH')
    	iHeld		= getInfoType('PROMOTION_HELD')
    	iWalls 		= getInfoType('PROMOTION_WALL_DEFENDER')
    	iFreelancer 		= getInfoType('PROMOTION_FREELANCER')
    	iCreeper 		= getInfoType('PROMOTION_FOREST_CREEPER_TIMER')
    	iNewborn 		= getInfoType('PROMOTION_NEWBORN')
    	iFrostling		= getInfoType('PROMOTION_SUSTAIN_FROSTLING')
    	listProms = []
    	iCount = 0
    	for iProm in range(gc.getNumPromotionInfos()):
    		if pCaster.isHasPromotion(iProm):
    			iCount += 1
    		else:
    			if (pOpponent.isHasPromotion(iProm)):
    				if gc.getPromotionInfo(iProm).isEquipment() == False:
    					if (iProm != iUndead and iProm != iDivine and iProm != iBronze and iProm != iIron and iProm != iMithril and iProm != iGreatCommander and iProm != iLeashAch and iProm != iLeashCommand and iProm != iLeashMana and iProm != iLeashMin1 and iProm != iLeashMin2 and iProm != iLeashMin3 and iProm != iLeashMin4 and iProm != iLeashPristin and iProm != iLeash0 and iProm != iLeash1 and iProm != iLeashLich and iProm != iHaste and iProm != iFatigue and iProm != iObscured and iProm != iWaaagh and iProm != iSlow and iProm != iSpooked and iProm != iLost and iProm != iHauntStalk and iProm != iFortCaptain and iProm != iBlur and iProm != iDance and iProm != iLoyalty and iProm != iDesertStealth and iProm != iHeld and iProm != iWalls and iProm != iFreelancer and iProm != iCreeper and iProm != iNewborn  and iProm != iFrostling):
    						if gc.getPromotionInfo(iProm).isRace() == False:
    							if gc.getPromotionInfo(iProm).isEffectProm() == False:
    								listProms.append(iProm)
    	if len(listProms) > 0:
    		iCount += 1
    		iRnd = CyGame().getSorenRandNum(len(listProms), "Mimic")
    		pCaster.setHasPromotion(listProms[iRnd], True)
    		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_PROMOTION_STOLEN", ()),'',1,gc.getPromotionInfo(listProms[iRnd]).getButton(),ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)
    	if iCount >= 20:
    		pPlayer = gc.getPlayer(pCaster.getOwner())
    		if pPlayer.isHuman():
    			t = "TROPHY_FEAT_MIMIC_20"
    			if not CyGame().isHasTrophy(t):
    				CyGame().changeTrophyValue(t, 1)
    Fixed it up a bit. This is, however, nowhere near exhaustive of things that shouldn't be transferring for one reason or another.

    There HAS to be a better way than manual addition; if there's a way you can auto-exclude promotions with an iExpireChance or iPromotionDuration of greater than 0, any PrereqTerrain, Mechanos in the name (seriously), or Effect in the name, that'd be like 90% of the work done.

    I've also attached a save exhibiting a problem with Pristin Pass. Combining the Triforce seems to transform that Highlander into a Falconer regardless if the Pass is claimed or unclaimed or already has a Falconer on the tile. The Triforce is much better in pieces anyway, but it's obviously unintended behavior.

    Also, the AI barbarians sometimes claim the Pristin Pass. I am pretty sure that when their commander becomes a city, it will automatically destroy the pass, but I am not positive, I've never voluntarily allowed it to occur.

    If Mana Guardians are on, there is a small chance that a civ's starting settler will be somehow overwritten by a Lich.

    I suspect it may be related to an epic lair problem, but sometimes I've found a barbarian Wraith completely wrecking an AI civ.
     

    Attached Files:

  8. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    I've noticed in the civilopedia that the unit model block is far too big forcing the history and one other text block to be unreadable. Is that on purpose?
     
  9. cthom

    cthom 3,011,451,295

    Joined:
    Dec 8, 2005
    Messages:
    1,307
    Location:
    was clackmannan, now sauchie
    i got mine on turn 468. on trying to load the save i get 'failed to uncompress game data'. after about 750 turns of play that's a real pain :(

    btw, once you get one 'failed to compress..' msg, you get it on every autosave attempt.
     
  10. black_imperator

    black_imperator Emperor

    Joined:
    Dec 4, 2005
    Messages:
    1,651
    can you get me the last save that worked, so that i can see if i can replicate the issue or not.


    Apart from the "Mechanos in the name" one, that should be doable, i'll work on it.
    will check the pristin pass thing too.

    by default, the pedia is set up for high resolution screens, that may be your issue. there are files in the download (the archive file in the Assets/python folder) to get the low resolution pedia back.
     
  11. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
  12. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    Here is one of my savegames where the "fail to compress" bogeyman rears his ugly head. It is turn 478. End turn, and the next turn the game is unsaveable. Hoping having this helps.
     

    Attached Files:

  13. black_imperator

    black_imperator Emperor

    Joined:
    Dec 4, 2005
    Messages:
    1,651
    thank you very much , svn or basic download ?
     
  14. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    SVN. Steam Civ IV BTS. lemme know if you need anything else.
     
  15. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    I may be forced back to fall further, sad day.
     

    Attached Files:

  16. black_imperator

    black_imperator Emperor

    Joined:
    Dec 4, 2005
    Messages:
    1,651
    nope you won't, your saves helped. I found out the cause (or at least one of them). Commited the change now (along with the Enslave Worker fix)
     
  17. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    You da man!
     
  18. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    It immediately crashes when I try to load the save game. Anyone else have this problem?

    Cheers:)
     

    Attached Files:

  19. black_imperator

    black_imperator Emperor

    Joined:
    Dec 4, 2005
    Messages:
    1,651
    it does crash, and it does seem related to the earlier issue. is it the same game but saved later or is it a new one ? ( or an old one ?)
     
  20. Vespers84604

    Vespers84604 Chieftain

    Joined:
    Jan 5, 2013
    Messages:
    29
    It's a new game
    Here is the error message I get occasionally when it crashes if that helps:
     

    Attached Files:

Share This Page