FfH2 0.31 Changelog

I say you should keep on releasing patches instead of a new version until you get around to implementing the Morale and Hinterland mechanics. Of course, I wouldn't mind downloading the whole thing again so long as you include at least some of the xml schema changes (allowing promotions to have bonuses s multiple promotions, python calls for victory/defear/per turn for both units and promotions, etc). Mechanics matter much more than new graphics of UUs (at least to modmoders)

I do think that you should probably update the first post to convey that the new stuff is in patch k; currently it says it was released as patch g on 1/21/2008.

Oh yeah, I'd also really like it if you would allow HN unit to capture/ spawn units (especially slaves and baby spiders, although HN werewolves would be nice too) in the next version (you might need to give the spawned/captured unit the HN promotion to, to keep the nationality truly hidden). Capturing cities with is definitely a bad idea, but capturing units makes a lot of sense, and would make the game a lot more fun, imho. I tried playing around with C++ changes I thought would do this, but to no avail. If you don't change this, could you tell me how to change it myself?
 
Actually, more so than allowing HN to capture units I would just like to see the <bAlwaysHostile> tag utilized more often in the game. Then you can still pick on your neighbors, but they actually know who is doing it.

In a world where tensions are so high, why can't we bully each other in any manner other than diplomacy?


And as for 0.31 not coming for a while, that's great news IMO, patching is perfectly fine for a while. I'd say have Woodelf lock this thread so it dies and people quit checking it in a paranoid quandry, expecting to find new material :)
 
Its been 5 days since the last patch.

Ive been adding new things into the patches, but to be honest I can either fix bugs or add features, not both (at least not very well). Im kinda liking being able to put patches out there because people don't have to download quite so much and I still get all my stuff in.

I like the patch approach too. Ever since I moved to Germany, my Internet connection isn't what it used to be. Downloading a patch takes minutes...downloading the full mod takes hours.

Thanks for the new content provided in bits with each patch.
 
Patch L looks awesome. It should be a very good base for my modmod (if I even have the time to work on it before a patch j comes out :p )

Now that you have the python calls, why not go ahead and re-implement the the "goblin to wolf rider when it kills a wolf" mechanic?

Also, I would really prefer if the pyOnVictory, pyOnDefeat, and pyPerTurn python calls were found both in the unit and the promotion xml.

Any chance you could be convinced to allow HN untis to capture/spawn units (but definitely not cities) again? Or to go ahead and allow promotions to provide a boost against multiple promotions any time soon?


Edit: I just realized that the next patch is l, not i. Damn those lowercase letters! :p Seriously, using uppercase would be less confusing. I remember this causing problems in earlier versions too. Also, I was just thinking that it would be nice for the readme file to contain the changelog with each patch.
 
Patch i looks awesome. It should be a very good base for my modmod (if I even have the time to work on it before a patch j comes out :p )

Now that you have the python calls, why not go ahead and re-implement the the "goblin to wolf rider when it kills a wolf" mechanic?

Also, I would really prefer if the pyOnVictory, pyOnDefeat, and pyPerTurn python calls were found both in the unit and the promotion xml.

Any chance you could be convinced to allow HN untis to capture/spawn units (but definitely not cities) again? Or to go ahead and allow promotions to provide a boost against multiple promotions any time soon?

Ive been thinking about applying this method to promotions. It was written to be easily able to be expanded to that. I'll probably release a patch with it just on the units (I will need to get some idea of how it effects performance and any new issues it introduces before I roll it out to proms).

Yeah, I'll probably use it to put the wolf rider mechanic back.

Why would you like HN units to be able to capture?
 
Why not? :p

At the very least I think that giant spiders should still be able to still spawn baby spiders without declaring nationality. That requirement never made sense to me, and is completely counter intuitive. Their spawns start with HN after all.

I would also like HN werewolves to be able to spawn other ravenous werewolves (although before they had a chance to turn barbarian or be captured by ranger this would probably have been very over powered).

Letting HN units capture slaves makes a lot of sense. Many people, both in the distant past and today, are illegally captured and sold into slavery. This doesn't usually involve any declarations of war.


I don't usually find the Svartalfar world spell very useful as it is now. It can put other players behind at a critical point in the very early game, but can't actual help you very much. Being able to capture rival workers (or slaves) instead of just killing them would make it much more potent.


I'm not sure that all units need to be capturable by HN units, but I definitely think that the <UnitConvertFromCombat> and <UnitCreateFromCombat> tags should still work while HN. Preferably, the units created by this would also have the HN promotion (or maybe a similar promotion with some down sides, like being unable to attack or randomly wearing off. You should at least be able to move captured slaves out of your rivals territory without giving away your identity)

(Not exactly relevant, but I'm also not a fan of units that have HN status without the promotion (mostly units sumoned by HN units). Its sometimes hard to keep track of which units are and which aren't HN. Also, being unable to declare nationality with HN summons is annoying. I'd probably remove the code making the summons HN but make the HN promotion apply itself to summons (<PromotionSummonPerk>))


Of course, with the new python functions I could just set all instances of <UnitConvertFromCombat> and <UnitCreateFromCombat> to NONE and have capturing/spawning be handled though python if I wanted to. However, this wouldn;t work particularly well for the chance to capture slaves with the slavery civic. I would have to add a python call for every unit in the game and have it check for the civic options before creating the slave, use a random number generator for the chance of capturing one, and check for the loser's race to determine what type of slave to give. Not very processor friendly.


You didn't mention adding the pyPerTurn to the units. Admittedly, it isn't nearly as important as adding the pyOnVictory and pyOnDefeat (or whatever they are called) to the promotions xml, since modmoders could easily make units start with new, unattainable promotions. It could still be nice though, as sometimes heroes can get so many promotions that it is hard to see their stats, and these new ones would just make it worse.


Oh, it isn't really relevant to most of the post, but I still really think that units should get the free promotions granted to their unitclass from buildings when they are upgraded, not just when built.
 
Is there any chance that we can get back an easy way to have promotions be applied to units on tiles with the appropriate terrains/features/improvements/ownership/etc and removed when no longer on the tile? (Like Forest Stealth and the sentry tower promotion were?) I would find that very useful.

If you don't want to implement it like it was pre-BtS, how about adding a pyOnMove tag/function for promotions? I'm sure that could be really useful for other things too.

I would also really like the Forest Stealth promotion back. Please?
 
Is there any chance that we can get back an easy way to have promotions be applied to units on tiles with the appropriate terrains/features/improvements/ownership/etc and removed when no longer on the tile? (Like Forest Stealth and the sentry tower promotion were?) I would find that very useful.

If you don't want to implement it like it was pre-BtS, how about adding a pyOnMove tag/function for promotions? I'm sure that could be really useful for other things too.

I would also really like the Forest Stealth promotion back. Please?

Its to expensive. It would require checking on every move, and there is a lot of moves that happen each turn. Its a cool function, but isn't worth the cost.
 
Long shot I know as you've said you don't like to add "custom changes" that aren't used by the mod itself, but any chance of this one being added to CvUnit?

Code:
bool CvUnit::canParadrop(const CvPlot* pPlot) const
{
	if (getDropRange() <= 0)
	{
		return false;
	}

	if (hasMoved())
	{
		return false;
	}
// REMOVED
//	if (!pPlot->isFriendlyCity(*this, true))
//	{
//		return false;
//	}
// END

//ADDED
    CvUnit* unconstThis = const_cast<CvUnit *>(this);    // can't pass Python a copy of a const object (easily) so we'll cast it
    CyUnit* pyUnit = new CyUnit(unconstThis); // create a python object from the new CvUnit*
    CyArgsList argsList;
    argsList.add(gDLL->getPythonIFace()->makePythonObject(pyUnit));	// pass in unit class
    long lResult=0;
    gDLL->getPythonIFace()->callFunction(PYGameModule, "canParadrop", argsList.makeFunctionArgs(), &lResult);
    delete pyUnit;	// python fxn must not hold on to this pointer
    if (lResult!=1)
    {
        return false;
    }
//END

	return true;
}

Python hook to call "canParadrop". In almost all cases (units that can't "paradrop"), it will be returned by the first block (as is the case for all units at the moment) - otherwise we'll be able to check for conditions for paradrop as suits the application.

The current obvious application would be for a "teleport" style spell. Grant a unit a Paradrop range, but have python return "False" until they gain a certain promotion (Dimensional II or similar). The python would only ever be called for units that are allowed to cast teleport (those to which you have given a DropRange in the XML - probably only Mages and Archmages).

Pseudo-python
Code:
def canParadrop(pUnit)		
	if pUnit.hasPromotion("Dimensional 2") and pUnit.hasPromotion("Sorcery")		
		return true
		
	if pUnit.isAParaTroopingDemon() and GlobalCounter > 60
		return true
		
	if someOtherUnitLikesToParadrop() and theUnitIsAllowedTo()
		return true
		
	return false

Should be low cost and have some utility - assuming you wanted to work on the Dimensional line yourself at some point. The AI is also vaguely aware of how to use it if granted PARADROP_AI as one of its optional AI's.
 
How much longer until patch m? Just wondering, I'll really be too busy to either play or modmod until at least next Wednesday anyway. It would probably be best for my GPA if you waited until then. I would like it before 3pm next Friday though, or else I won't be able to work on my modmod over spring break (we still have dial-up at home)


I would also really appreciate it if you released the uncompiled DLL much sooner next time (again, preferably by next Friday so I can play around with it over spring break). I've been looking through the one for patch h (even though I should really be studying), and I think I'm getting close to being able to implement my idea of how to implement BtS-based espionage for all Esus units in my modmod. I would definitely need the latest SDK for that, as I'm sure there have been major changes (adding the python functions for combat, for instance)
 
How much longer until patch m? Just wondering, I'll really be too busy to either play or modmod until at least next Wednesday anyway. It would probably be best for my GPA if you waited until then. I would like it before 3pm next Friday though, or else I won't be able to work on my modmod over spring break (we still have dial-up at home)


I would also really appreciate it if you released the uncompiled DLL much sooner next time (again, preferably by next Friday so I can play around with it over spring break). I've been looking through the one for patch h (even though I should really be studying), and I think I'm getting close to being able to implement my idea of how to implement BtS-based espionage for all Esus units in my modmod. I would definitely need the latest SDK for that, as I'm sure there have been major changes (adding the python functions for combat, for instance)

I think it's safe to say it'll be along when it comes along. Not wanting to sound funny, but I doubt Spring Break really factors into it. Just as an idea, I'd suggest learning a source-control system (such as GIT) - that basically means that updating your mod for any new patch is relatively straightforward - normally automatic in fact (so long as the changes don't clash directly).

It is nice to have the source-code for the DLL to play around with I know, but we're not actually "entitled" to it. Kael shares because he wants to and we're lucky to have it. At the end of the day, our Modmods aren't really important at all compared to the main-mod itself. It's nice that we're able to make them, and they're adding some cool stuff etc - but I wouldn't assume that the mod-mods influenced the schedule for the main mod in anyway...
 
Thats true, but I certainly dont mind people asking. And MC is always great about responces even if its not the answer he wants.

But that being said, I don't know when "m" will release. I don't have a massive issue to fix so I tend to keep working on it. if I could figure out an OOS fix I would release today. With patches big things that are broken are what drives the schedule.
 
Well darn it, I am done filling in Units in the new Manual now, so spill the beans on the stats for the Mimic so I can add it, or release the patch! (though I am realistically still a few days from being ready to release v2.0 of the manual. I would LOVE to have the Mimic in there so I can pretend that I won't have to release a new version within the first week :p)
 
Its exactly like a Champion but 1 strength less (so 5 strength instead of 6), and of course with the steal promotion ability.
 
Thanks much. Now I can fill it in and make up my own button. I hadn't thought about the fact that I need the right graphic until just now, so it was in truth pointless to bug you for stats. :shrug: at least now I know ;)
 
You decided to change the letter again I see. Wouldn't it make more sense just to keep the public patches in order and assign some other names to the private ones that only the teams sees? It would seem like that would be less confusing.
 
Whoever said they want to be LESS confusing? I'd find it no end of fun ;P

I looked up Lucian for fun:

Lucian of Samosata (Greek: &#923;&#959;&#965;&#954;&#953;&#945;&#957;&#972;&#962; &#959; &#931;&#945;&#956;&#959;&#963;&#945;&#964;&#949;&#973;&#962;, Latin: Lucianus; c. A.D. 125 &#8211; after A.D. 180) was an Assyrian rhetorician,[1] and satirist who wrote in the Greek language. He is noted for his witty and scoffing nature.

So it is obviously a new Balseraph Hero because of complaints about Loki. Just like Guybrush, his main purpose is to sing about the Monkey in his Pocket...
 
Top Bottom