[MOD] Fall from Heaven

Hey, you know how the wilderness is so much fun at the beggining right? How about making a scenario as part of the Mod which allows you to play the entire game as a group of adventurers. K... here's my idea

1) You start in your home town which is the only village your "Civ" will ever build. Coincidentally it is in permenant alliance with the civ that is up against the "evil demonic threat to civilization" :P

1b) Your tech tree (maybe even all tech trees) is/are non-existant all prerequisites are achieved, the only way you can tip the balance (and hence win the game) is to aquire artifacts that can be gifted to your ally which allow better unit production (tipping the scales :D)

1c) Perhaps civs cant build new cities save for a unique civ called farmers who have a limited tree and build farming settlements and country-folk militia. In that way there can be a struggle of power on the map which wont really have an effect on the plot as the freshly built cities lack the unique buildings for higher tier unit production... The demon horde could be set to always raze (maybe they gain a skeletal army unit when they do this)

1d) You can only loose if your heros die or too many of your ally's cities get razed, in this way helping out with the defence of the capitol is part of a winning strategy.

1e) another cool thing you could do with the tech tree is make it display plot points when you capture a key unit town etc.

2) Your only units are The three heros which you have throughout the entire game.

2b) Your hero's have most promotions available to them

2c) You gain gold from points of interest on the map or maybe your promotions (found equipment) could be sellable. With sufficiant money you can buy unit upgrades from allied cities or maybe even artifacts (promotions)

2d) In order to win the final push you can contact your ally and as with any military alliance point out the target city.

Well there it is... It's like an RPG except the big bad enemy is plotting against you on a strategic level :D I would put my talent where my mouth is... But i don't have any :S
 
Cykodelik said:
Hey, you know how the wilderness is so much fun at the beggining right? How about making a scenario as part of the Mod which allows you to play the entire game as a group of adventurers. K... here's my idea

1) You start in your home town which is the only village your "Civ" will ever build. Coincidentally it is in permenant alliance with the civ that is up against the "evil demonic threat to civilization" :P

1b) Your tech tree (maybe even all tech trees) is/are non-existant all prerequisites are achieved, the only way you can tip the balance (and hence win the game) is to aquire artifacts that can be gifted to your ally which allow better unit production (tipping the scales :D)

1c) Perhaps civs cant build new cities save for a unique civ called farmers who have a limited tree and build farming settlements and country-folk militia. In that way there can be a struggle of power on the map which wont really have an effect on the plot as the freshly built cities lack the unique buildings for higher tier unit production... The demon horde could be set to always raze (maybe they gain a skeletal army unit when they do this)

1d) You can only loose if your heros die or too many of your ally's cities get razed, in this way helping out with the defence of the capitol is part of a winning strategy.

1e) another cool thing you could do with the tech tree is make it display plot points when you capture a key unit town etc.

2) Your only units are The three heros which you have throughout the entire game.

2b) Your hero's have most promotions available to them

2c) You gain gold from points of interest on the map or maybe your promotions (found equipment) could be sellable. With sufficiant money you can buy unit upgrades from allied cities or maybe even artifacts (promotions)

2d) In order to win the final push you can contact your ally and as with any military alliance point out the target city.

Well there it is... It's like an RPG except the big bad enemy is plotting against you on a strategic level :D I would put my talent where my mouth is... But i don't have any :S

Ill be working on phase 2 stuff but I hoping to see scenerios developed by others after 1.0 releases. The reason I would suggest waiting for 1.0 is that 1.0 will probably break the scnerio and I hate to see anyone release a scnerio only to be broken in the near future.

But that doesn't mean people can't be building maps and starting their scnerios now. I would love nothign more than to have a few FfH scnerios to play.

One of the reasons I use so many promotions in this mod is to make things easier for scenerio makers. I could just as easily have tied the werewolf abilities to the werewolf unitclass instead of the werewolf promotion but this way a scnerio maker can make a new unit and put the werewolf promotion on him to give him that ability (or Fire 1 to give it the ability to Fireball, or Body 1 to gove it the ability to cast Haste).
 
Ok I've got diddly squat programming knowledge but I'm off to check out the map editor... Thanks Kael for the replies and this great mod!
 
Black Whole said:
How can I play this mod in multiplayer (Hot Seat or LAN)?
I am able to choose the settings, but when I click at <LAUNCH!> it crashes to desktop. Can anybody help me?

Can anyone answer this post? :rolleyes:

Please?
 
Kael said:
This is perfect information, exactly the sort of feedback I need. Here is the code segments you mentioned:

Slavery:
Code:
		if pPlayer.getCivics(gc.getInfoTypeForString('CIVICOPTION_LABOR')) == gc.getInfoTypeForString('CIVIC_SLAVERY'):
			if (pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_DEMON') and pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_NAVAL') and pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_ANIMAL') and pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_FIRE')):
[b]				iRnd = random.randint(1, 100)[/b]
				if iRnd <= 25:
					CyInterface().addMessage(pWinner.getOwner(),True,25,'Slave captured.','AS2D_DISCOVERBONUS',1,'Art/Interface/Buttons/Units/Slave.dds',ColorTypes(8),pWinner.getX(),pWinner.getY(),True,True)
					newUnit = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_SLAVE'), pWinner.getX(), pWinner.getY(), UnitAITypes.NO_UNITAI)

Inquisitor:
Code:
		if pWinner.isHasPromotion(gc.getInfoTypeForString('PROMOTION_COMMAND')):
			yType = unitY.getUnitCombatType()
			if (yType == gc.getInfoTypeForString("UNITCOMBAT_MELEE") or yType == gc.getInfoTypeForString("UNITCOMBAT_ARCHER") or yType == gc.getInfoTypeForString("UNITCOMBAT_RECON") or yType == gc.getInfoTypeForString("UNITCOMBAT_MOUNTED")):
[b]				iRnd = random.randint(1, 100)[/b]
				if (iRnd <= 50):
					newUnit = playerX.player.initUnit(pLoser.getUnitType(), pWinner.getX(), pWinner.getY(), UnitAITypes.NO_UNITAI)
					newUnit.finishMoves()
					newUnit.setDamage(50, False)
					newUnit.setExperience(pLoser.getExperience(), -1)
					newUnit.setLevel(pLoser.getLevel())
					for iCount in range(gc.getNumPromotionInfos()):
						if (pLoser.isHasPromotion(iCount)):
							newUnit.setHasPromotion(iCount, True)

Werewolf:
Code:
		if pWinner.isHasPromotion(gc.getInfoTypeForString('PROMOTION_WEREWOLF')):
			if (pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_DEMON') and pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_NAVAL') and pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_ANIMAL')):
				iNumWW = pPlayer.getUnitClassCount(gc.getInfoTypeForString('UNITCLASS_RAVENOUS_WEREWOLF')) + pPlayer.getUnitClassCount(gc.getInfoTypeForString('UNITCLASS_WEREWOLF')) + pPlayer.getUnitClassCount(gc.getInfoTypeForString('UNITCLASS_GREATER_WEREWOLF'))
				iRand = CyGame().getSorenRandNum(100, "Bob")
				if (iRand <= 100 - (3 * iNumWW)):
					CyInterface().addMessage(pWinner.getOwner(),True,25,'Lycanthropy has spread.','AS2D_WOLF',1,'Art/Interface/Buttons/Units/Ravenouswerewolf.dds',ColorTypes(8),pWinner.getX(),pWinner.getY(),True,True)
					newUnit = playerX.player.initUnit(gc.getInfoTypeForString('UNIT_RAVENOUS_WEREWOLF'), pWinner.getX(), pWinner.getY(), UnitAITypes.NO_UNITAI)
					newUnit.finishMoves()
					newUnit.setDamage(50, False)

The only major difference between these code segments are that I am using the random library to generate randoms in the 2 functions you are having problems with. I used to use the random library to gen randoms before I relealized that Civ4 has its own function for doing it (getSorenRandNum). Interestingly I was looking through the other sections you have problems in and I noticed this:

Purge the Unfaithful:
Code:
		if iBuildingType == gc.getInfoTypeForString('BUILDING_PURGE_THE_UNFAITHFUL'):
			pPlayer = gc.getPlayer(player)
			CyInterface().addMessage(pCity.getOwner(),True,25,'The Inquisition strikes again!','AS2D_INQUISITION',1,'Art/Interface/Buttons/Actions/Pillage.dds',ColorTypes(7),pCity.getX(),pCity.getY(),True,True)
			for i in range(pPlayer.getNumCities()):
[b]				iRnd = random.randint(0, 3)[/b]
				cf.FFHInquisit(pPlayer.getCity(i), iRnd)

There aren't any other places in code where that function is used. So I am going through the code now and converting them all from random to getSorenRanNum for 1.0.

Thanks for the feedback, hopefully it makes a big improvement in multiplayer games!


AWESOME! Me and my friends will be soooooo happy! I figured that would help ya - it seemed suspicious that newly created wearwolves didn't crash the game and the others did!
 
Black Whole said:
Can anyone answer this post? :rolleyes:

Please?

If you are playing from a LAN with a friend then I do a direct IP connection. Make sure you both have the same version and it should work just fine. Just watch out for the random number generator! :p
 
I played version 0.7 of this mod, and have just downloaded the latest, but before I play, I have to say I was a little overwhelmed in 0.7 with the vast amount of changes. Don't get me wrong, I love the fact that someone has put the time and effort into doing this, but I feel like I'm now playing a game with no instructions, and no doubt even more new features have been added since 0.7

I loved the idea of being able to tame the animals, but never found it in 0.7, so I still don't know how to do it. I'm not looking for an answer to that question however. Is there a manual somewhere that documents the new gameplay aspects??
 
Actually I think having the temples be explorable and quests for the grail (or a pizza for that matter) good ideas.
 
clut said:
I played version 0.7 of this mod, and have just downloaded the latest, but before I play, I have to say I was a little overwhelmed in 0.7 with the vast amount of changes. Don't get me wrong, I love the fact that someone has put the time and effort into doing this, but I feel like I'm now playing a game with no instructions, and no doubt even more new features have been added since 0.7

I loved the idea of being able to tame the animals, but never found it in 0.7, so I still don't know how to do it. I'm not looking for an answer to that question however. Is there a manual somewhere that documents the new gameplay aspects??

I tried to add a lot of that in the pedia. Pages and pages of info are in the pedia, i really start that at 0.90 so you will find it is much better than it was in 0.70. That doesn't mean its perfect. You cant add text strings on promotions which really limits my ability to document some of this. But outside of that I try to put it in where it makes sense.
 
Kael said:
I tried to add a lot of that in the pedia. Pages and pages of info are in the pedia, i really start that at 0.90 so you will find it is much better than it was in 0.70. That doesn't mean its perfect. You cant add text strings on promotions which really limits my ability to document some of this. But outside of that I try to put it in where it makes sense.
Actually, I think you and your team did a great job documenting lots of game aspects since 0.7!

The "game" (as in truly-new-game oposed to just-a-mod :goodjob:) allready is terific and all your thoughts for phase two...! There are just no words to express my anticipation :mischief:
 
Kael said:
I tried to add a lot of that in the pedia. Pages and pages of info are in the pedia, i really start that at 0.90 so you will find it is much better than it was in 0.70. That doesn't mean its perfect. You cant add text strings on promotions which really limits my ability to document some of this. But outside of that I try to put it in where it makes sense.

Rest assured, your efforts (and those of the people helping you) on the pedia entries have not gone to waste, as I for one will find them very helpful.

Thanks again for all the hard work you've put into this. :king:
 
Kael said:
Unique equipment will probably be more common (imagine Orthus's Axe as a seperate object that can be traded between units).

Just a note: I'd be very careful with this, as it has the potential to get very, very tedious. It's probably not a problem if there's only a limited number of unique items, but it does get dangerous if you can build movable equipment. "Build units in city A, build weapons in city B, move units to city B to get their weapons, load the equipment on them, build suits of armor in city C, move the units to city C to get their armor, load the armor to the units in city C, move them to the front to do battle..."

Overseas warfare is already something that's already somewhat of a pain because of the need to always load the units into ships. Please don't force us to endless micromanagement with the units and their equipment...

BTW, some sort of "epic level" or "heroic" promotions might be cool - stuff that maybe requires the last level of the Combat promotion and 100 XP, but then gives the unit some very unique special abilities. For instance, Druids might get the ability to conduct terraforming operations that they usually don't have. Of course, it might be difficult to get some units to epic-level heights, so maybe some wonder might give all units built in that city a special Epic promotion that allows you skip the 100 XP requirement... or something.

Oh, and love to hear that multiplayer crashes might have been reduced. ^_^ Haven't gotten the chance to try this as MP yet, but once 1.0 gets out I'll have to test it...
 
@Black Whole: probably because you installed the mod not in the civ4/mod- folder but in the custommods-folder.Since the latest patch this wont work anymore in multiplayer when not all computers have the same "name"(the one you have to click on your computer while loading windows xp-cant discribe that better *g*). happend to me until i accidently found that out.
 
Kael said:
Werewolf:
Code:
		if pWinner.isHasPromotion(gc.getInfoTypeForString('PROMOTION_WEREWOLF')):
			if (pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_DEMON') and pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_NAVAL') and pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_ANIMAL')):

I notice you don't have the pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_FIRE') exclusion in the Werewolf code.
 
Xuenay said:
I notice you don't have the pLoser.getUnitCombatType() != gc.getInfoTypeForString('UNITCOMBAT_FIRE') exclusion in the Werewolf code.

What? You've never seen werewolf fireballs? :)

Good catch, I'll fix it.
 
Added this:

Code:
livingUnitCombats =	[	gc.getInfoTypeForString('UNITCOMBAT_ARCHER'),
				gc.getInfoTypeForString('UNITCOMBAT_MELEE'),
				gc.getInfoTypeForString('UNITCOMBAT_RECON'),
				gc.getInfoTypeForString('UNITCOMBAT_DWARF'),
				gc.getInfoTypeForString('UNITCOMBAT_ELF'),
				gc.getInfoTypeForString('UNITCOMBAT_ADEPT'),
				gc.getInfoTypeForString('UNITCOMBAT_DISCIPLE'),
				gc.getInfoTypeForString('UNITCOMBAT_MOUNTED')	]

and changed a few section to take use of it, including the werewolf code which is now:

Code:
		if pWinner.isHasPromotion(gc.getInfoTypeForString('PROMOTION_WEREWOLF')):
			if pLoser.getUnitCombatType() in livingUnitCombats:
				iNumWW = pPlayer.getUnitClassCount(gc.getInfoTypeForString('UNITCLASS_RAVENOUS_WEREWOLF')) + pPlayer.getUnitClassCount(gc.getInfoTypeForString('UNITCLASS_WEREWOLF')) + pPlayer.getUnitClassCount(gc.getInfoTypeForString('UNITCLASS_GREATER_WEREWOLF'))
				iRand = CyGame().getSorenRandNum(100, "Bob")
				if (iRand <= 100 - (3 * iNumWW)):
					CyInterface().addMessage(pWinner.getOwner(),True,25,'Lycanthropy has spread.','AS2D_WOLF',1,'Art/Interface/Buttons/Units/Ravenouswerewolf.dds',ColorTypes(8),pWinner.getX(),pWinner.getY(),True,True)
					newUnit = playerX.player.initUnit(gc.getInfoTypeForString('UNIT_RAVENOUS_WEREWOLF'), pWinner.getX(), pWinner.getY(), UnitAITypes.NO_UNITAI)
					newUnit.finishMoves()
					newUnit.setDamage(50, False)

Makes it a lot easier for me to add or remove unitcombats for these checks, and I can recycle the same check in quite a few places.
 
I've just noticed two little things today, nothing big, but maybe you will want to fix it, Kael.

The first is pure cosmetics - units starting with free promotions (like elf archer's Woodsman II or dwarf soldier's Guerilla II) still have lower level ones available for them at leveling up (like Woodsman I and Guerilla I in that example). Icons are just hanging there, blinking and trying to look friendly, but only taking precious screen space...

The second is a bit more serious. Poor, poor naval units with Immortal promotion from Blood of the Phoenix which have suffered defeat during battle and their stupid owner (I'm talking about myself) established his capital city in a middle of green pastures with not a single drop of salt water around... I think their captains are drinking themselves to death out of despair :(
 
Kael said:
What? You've never seen werewolf fireballs? :)

Good catch, I'll fix it.

After you set them on fire do you have to throw them, or do they just run at the enemy? :lol:
 
Back
Top Bottom