[Beyond the Sword] Necro Cristi

Got to admit I'm absolutely flummoxed on this one. Had a look at your OCC mod, The J, which seemed to contain the code I would need. Well there are no crashes now, but barbarians are still keeping cities:

def onCityAcquiredAndKept(self, argsList):
'City Acquired and Kept'
iOwner,pCity = argsList
pPlayer = gc.GetPlayer(pCity.getOwner())
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_BARBARIAN'):
pPlayer.raze(pCity)
CvUtil.pyPrint('City Acquired and Kept Event: %s' %(pCity.getName()))

I even tried removing the check to see if the player was barbarian and still cities were being kept. I really cannot see anything wrong in this code, which seems functionally equivalent to The Js. It's a head/brick wall situation, so any help very much appreciated.

Oh, and I added an updated list of python/sdk requirements on the first page, so if you are able to offer coding assistance please start there.
 
First off, great to see this mod making a comeback! I played this mod a fair bit back in the day, and am looking forward to experiencing this world again soon.


I've played through the game a bit and have some feedback.

First, the Zombies appear to spawn rather ideally. I never really found myself overwhelmed in the early game, they attack my cities occasionally and they clog the countryside in nice little swarms. Aside from being unable to do anything about their spawning grounds, I'd say this part of the game's pretty solid. ;)

Second, I noticed that resources don't seem to work. Supplies don't provide any happiness and Oil doesn't seem to be necessary for anything, or show up in the resource box (despite my founding a city on top of a field unwittingly). I notice there's no tile improvements you can build to harvest these resources with, that might be a factor. A well might be useful for the Oil, I'm not sure what you'd use to represent the harvesting of Supplies, perhaps a camp. Though, to tell you the truth, I like the idea of Supplies not requiring a worker to unlock them, even if you still need routes to get them to your cities. This feature may just be unimplemented though, I realize.

Third, I never found any food resources after unlocking the techs. I can only assume they aren't implemented yet or I'm using the wrong mapscript (I'm using the unmodded one). Mentioned for completeness.

Fourth, I can promote my units just fine. Researching new promotions works, I can promote the units to the new promotions easily and cannot pick anything beyond basic Combat I without researching the new promotions. Eerdna's problems may be because of a difference based on a differing version of Civ IV. I'm using the Beyond the Sword edition available through Steam, which caused some problems with the interface in the "Mars, Now" mod that I'm sure The_J can remember. Do you remember that, The_J? I certainly do. :lol: It was a registry key thing, but that's probably not the case here unless you need to find the install directory for some reason. I'd ask Eerdna what version of Civ IV he has, Complete, Steam, Direct Download, or original expansion release of Beyond the Sword. What OS he's using might help too. I'm on Windows 7 64 Bit, if that helps. UAC is off. It might be that, or a conflict with the custom assets folder. If he hasn't added anything to it, then it's probably not custom assets loading its own file instead of Necro Cristi's.

Fifth, in response to Eerdna's fifth "bad thing", the Zombie's defending the camp because it's a goody hut, and he's decided to stay because that's what barbarians do in Vanilla BtS. I'm not sure where you'd look to change that, but he's right, it sounds weeeird. :crazyeye:

Sixth, your art is missing for the Armoured Vehicle. It's just a pink mound-shaped blob...but you might know that already, if you haven't bothered to add art for it yet. I just mention it for completeness. I know there's good art for that out there...if you ask, I wouldn't mind looking it up for you. ;)

Lastly, I feel you could add a few more buildings to the early game. I usually wound up building units not because I needed them but because I had nothing better to build. It soon led to unit maintenance expenses I'd rather do without. Again, you might have more buildings but haven't implemented them in this release, so disregard if you are already planning to add more buildings in the early game in a future release.


Again, great to see this mod again, even stripped down for testing and balance of key features. It was definitely fun, even lacking most of the content I'm used to. I'm looking forward to testing .32 . :salute:
 
Thanks for the detailed feedback.

As I reached a dead-end with forcing the undead to raze cities I made a breakthrough elsewhere :) There are 2 early game civics for dealing with the undead: Destruction and Worship, which will hopefully make the game less about pure 'survival' once you switch to them. Destruction lowers the spawn rate and allows removal of city ruins, Worship increases unhealthiness and raises the spawn rate, as well as giving you peace with the undead. Worship is now implemented with working python which I am very proud of!

Should have mentioned that only the modded great plains should be used, I forgot to remove the other one. Yes, many resources are unimplemented or partially implemented thus far, I'm pretty sure the missing texture was me accidentally deleting the wrong file before uploading ;)

Have a nasty feeling the zombies on goody huts behaviour is only modable via the dll, which I so far haven't even managed to open. Such things are a long way off.

More buildings, another faction, plenty more python modding and various other bits and bobs will make their way into 0.32 don't worry!
 
Have you tried using the leaderheads xml flag for barbarians razing cities? I am not sure if it is applied, but in xml/civilizations/civ4leaderheadinfos.xml, there is a line:
Code:
		<iRazeCityProb>10</iRazeCityProb>
If you set this to 100% perhaps it will replace the python you are using.

To post code which has indentation preserved, use the [ code ] tag, which is the # icon in the composition window.

To prevent other maps from being chosen, besides the ones you distribute, you can use the following line in your top level mod ini file, I guess "Necro Cristi.ini":
Code:
; Allow public maps to be used with this mod
AllowPublicMaps = 0

To prevent barbarians (zombies) from founding cities, adjust the <iBarbarianCityCreationProb> in xml/gameinfo/civ4handicapinfos.xml. Set it to zero, for all difficulties. Try that, and if you still see barb cities, then also set <iUnownedTilesPerBarbarianCity> to a huge number.

There are multiple python-only slavery mods available in the download database.
 
Got to admit I'm absolutely flummoxed on this one. Had a look at your OCC mod, The J, which seemed to contain the code I would need. Well there are no crashes now, but barbarians are still keeping cities:

def onCityAcquiredAndKept(self, argsList):
'City Acquired and Kept'
iOwner,pCity = argsList
pPlayer = gc.GetPlayer(pCity.getOwner())
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_BARBARIAN'):
pPlayer.raze(pCity)
CvUtil.pyPrint('City Acquired and Kept Event: %s' %(pCity.getName()))

I even tried removing the check to see if the player was barbarian and still cities were being kept. I really cannot see anything wrong in this code, which seems functionally equivalent to The Js. It's a head/brick wall situation, so any help very much appreciated.

I guess, you don't have python exceptions enabled (can be done in the .ini; same for logging), right?
Because python is case sensitive, GetPlayer will not work, but getPlayer should.
And for the barbarians, you can use the check if pPlayer.isBarbarian():

Oh, and I added an updated list of python/sdk requirements on the first page, so if you are able to offer coding assistance please start there.

Quick look at the list:

Python check to spawn zombies and decrease city population based on health eg for each +1 unhealthy, 10% chance per turn.
Similar check but for happiness, only this time spawn rebels for a named civ (if in game and not the active player) or else barbarian

Could both be done in python, but i have no idea, if it would lower the performance dramatically.

Trait which provides commerce from defeating certain unit types
Trait which provides yields from defeating certain unit types
Trait which provides diplomacy modifiers

For #1 there's a promotion by tsentom out there (which i've improved a bit), for #3 i have a wonder which also has this effect.
Are you able to change them yourselfs, or do you need assistance?

What do you mean with #2?

Python so that building a unit requires a certain no. of another kind of unit to exist in that empire (similar to how some buildings work now)

The AI would never understand it, but it could be done.

Enslavement promotion, which only works on certain unit types

There are already 3 modcomps in the database, 1 by Frekk, 1 by Mechaerik and 1 by StrategyOnly.


The other things need SDK, i guess.

Fourth, I can promote my units just fine. Researching new promotions works, I can promote the units to the new promotions easily and cannot pick anything beyond basic Combat I without researching the new promotions. Eerdna's problems may be because of a difference based on a differing version of Civ IV. I'm using the Beyond the Sword edition available through Steam, which caused some problems with the interface in the "Mars, Now" mod that I'm sure The_J can remember. Do you remember that, The_J? I certainly do. :lol: It was a registry key thing, but that's probably not the case here unless you need to find the install directory for some reason. I'd ask Eerdna what version of Civ IV he has, Complete, Steam, Direct Download, or original expansion release of Beyond the Sword. What OS he's using might help too. I'm on Windows 7 64 Bit, if that helps. UAC is off. It might be that, or a conflict with the custom assets folder. If he hasn't added anything to it, then it's probably not custom assets loading its own file instead of Necro Cristi's.

Uh man, i remember that very well. Was horrible, but has also taught me some things.
But if it was the same problem here, Eerdna would have some problems more.
A savegame would maybe be helpful.
 
If it was a long time ago, it's probably just regular Beyond the Sword. Then again, I'm sure this is a more remote possibility...it's just the only one I can think of right now.

...I'm gonna start another game on the modded map script. :lol:
 
@davidlallen:
Yeah, the <razecityprob> was the first thing I tried but I guess it's not an absolute percentage as they still kept cities sometimes. Thanks for the heads up on <iBarbarianCityCreationProb>.

@The J:
Thanks for your help. It's working now and it seems like barbs are no longer keeping cities which is great. I had enabled python exceptions but I think when I loaded the mod uncached once it must have reset everything!
Again, thankyou for the offer for python assistance, I've actually just used your industrial espionage modcomp as a basis for the Atlantean faction I'm adding for 0.32, they get bonus research from any undead units they kill. It is working like a charm, though I'm sure there will be plenty of coding questions in the future I will need guidance on.

@Eerdna
Sorry, this kind of compatibility issue is something I wasn't even aware of. Not sure I can do much at my end about it.
 
0.32 available here:

http://www.4shared.com/file/AvQPVCki/NecroCristi32.html

Main features of the new version are several python and events additions especially to enhance interaction with the undead, improvement of undead behaviour, and a new faction.

Changelog:

Spoiler :
Elected council, Farming, Destruction, Worship, and Enslavement civics added (Destruction and Worship partially implemented)
With enslavement civic, undead units can be captured and turned into great people or research bonus
With scavenge civic, while improvements are nerfed, random scavenge events are enabled which give bonuses to city ruins, forest, and jungle tiles, and xp to units
Added 3rd civ - Atlanteans, their leader Sergei Constantine, and their first unit, the Delta
Added Researcher promotion, which gives research points for killing undead units
Added scientist specialist
Atlantean palace gives free scientist and allows up to 5(!) more scientist specialists
Updated Scavenger promotion, it now also plunders gold from your opponents treasury
Blocked Undead from having all units except zombies
Changed zombie spawn code from onEndPlayerTurn to OnEndGameTurn which was causing insane numbers of undead on maps with more than a few players
Added another check to stop undead from keeping conquered cities
Decreased chance of undead building cities to 0
Increased Undead experience cap from 10 to 25
Changed Shelter to give 3 food and -1 health
Added Crematorium, Distribution Centre, Rec Commons, and Grain elevator buildings
Added One Armed Angel Wonder
Supplies happiness and yield bonus now activated by junkyards
Pastures now enable cow, pig, and horse bonuses
All civs now start with an appropriate tech
Forgotten Children Palace only gives 1 culture
Zoroaster can't build forums or datalinks
First religion, Solomon's Word, added. gamefonts.tga not attempted yet!
Sentry promotion added
Code of Laws, Democracy, Intensive Farming, Medicine, and Necropology techs added


This is the first version which could be said to represent anything approaching the vision I have, well in the early game at least, and hopefully provides an experience beyond 'civ4 reskinned with zombies'!

As always, any feedback appreciated. If anyone fancies tackling the gamefonts.tga please let me know! If any python modders want to check out the events file I'd appreciate some feedback on the 'peace with the undead' event. You'll notice some code is commented out which caused undead to make peace with all civilizations(I only wanted it for the civ using the worship civic). Without this code, the worship civic works, but not optimally. And finally, if anyone has any experience modding the dll then pm me as soon as you can ;)
 
Nice to see you're still working on this colin, i cant believe its almost been 3 years lol
 
I know, crazy right? It took a while but the civ4 modding itch finally returned, and I just had to scratch it!
 
Bah, forgot to upload what i have :/.

In the attachment, i've implemented (mostly copied and changed) the few things i could do from your list.
They are all attached to vanilla BtS things (units, traits, whatever), but i guess you'll be able to see, where you have to change what.
Everything is marked with "colin test" in the files (and a small additional explanation for what it is).
 

Attachments

Wow! NICE WORK! I love the idea of this mod, although i am a little confused on whether its done or not. It doesnt seem to be ready to play, or the process of installing it is just beyond me. Please help! I want to play this mod so badly now! Thanks!
 
'Done' is a relative term! It is certainly playable and afaik stable at this point; though far from complete it has several interesting features already in place. After downloading, you just need to unrar into your Civ4/Beyond the Sword/Mods folder, and it should then be accessible along with all the other mods. Please remember to leave feedback as well, so the mod can continue to develop and improve.
 
Awesome! I have been looking at the screenies and the whole project looks awesome! my only exp with mods has been Oblivion, Morrowind, Civ 3(Rhyes anyone???), Fallout 3, Left 4 Dead, so only one turn based game. Sooooo looking forward, and will post my findings.
 
Had a play of the mod for around 200 turns (much more enjoyable now). No crash issues that I found. However, worship civic doesn't quite work properly (peace with undead remains when you deactivate the civic) although you did mention that it wasn't working optimally yet. Also, found the map a little annoying, given that resources tended to be concentrated in certain areas, which I wasn't in. Finally, destruction civic didn't seem to take effect immediately although numbers did reduce in the later game, does it result in a global spawn rate reduction? Also, no city ruins destruction that I could find. Other than that, all changes seemed to function perfectly.
 
I played this game like 153 turns and it truly has awesome potential! Here is my feedback.

The first 50 turns or so was truly tedious. While living in a zombfied world shouldnt merely be annoying, having built a city, and being attacked every turn, or every other turn, multiple times, rinse and repeat 50 turn later, wow, a little tedious.

Some city improvements provide nothing. At least in their description. I would wait 20 years or so for a building to be built, and then TADA, it does nothing...*drum snare*

Lack of different AI. There are only like 3 i think right? If you have others being created, totally understand. Do you need ideas for others?

No one should ever ever be able to make allies or peace with zombies. Even if you supplied the zombies with your societies worst criminals, they would still attempt to bite the literal hand that feeds them. Thats what they do.

Which also brings me to another question on warfare. Shouldnt you be able to instead of attack a human settlement to kill the soldiers, you choose to enslave the settlement and use the people as your personal slaves? Maybe give them a 35% defensive bonus or something.

Also, along the lines of combat, what about the fact that your warriors never turn into undead when fighting them. Not sure how to incorporate that though. Im not sure how you managed to create all the stuff you did, its pretty awesome.

Comments:
Civic that gives peace with barbarians - only if they are human, and not undead. One thing i didnt understand in this mod is that i was able to make friends/ truce with the zombies?

Religion that slowly spreads forests and upgrades terrain in your borders - i dont get the why. Like you worship Mother Earth and forests sing your name or something?

So, all in all, I LOVE THIS MOD! I see it has potential and its really blown me away! Im not telling you to change anything, just keep working on it. Please dont take my criticism to heart, im just providing feedback. I really really support all who have helped in developing this, and i want to help in anyway i can. Just so you know, Python to me is just a really big snake, which I think constricts its victims. Thats about what i know of that computer language. Please let me know what i can do to help. Im reallllly slow at work, so i have ALOT of free time.

FIGHT THE GOOD FIGHT!
 
@Gedusa: Yes, the Undead civics aren't quite there yet. Resources I will stick on the to-do list somewhere ;)

@x0diak: Criticism, as long as it's constructive, is always useful! I would be interested how you feel the very early game could be improved. While I want the undead to be a threat, in earlier builds they were too aggresive, wiped out computer players, and turned the mod essentially into a tower defence game. Should they be more/less numerous/aggresive? No infection is purely a balance issue at the moment, the code is pretty straightforward, again I don't want the undead to be overwhelming, just dangerous. There are many more civs and leaders to come, it's just finding time to add them!

The worship/peace mechanic is based on one of the core principles of the mod. Basically, all the best zombie books/movies/comics aren't about zombies really, but about human nature and human reaction in adversity. I like the idea that zombies are simply a mirror reflecting our own ideologies. Sure at first the undead are mindless slavering monsters, but that doesn't mean they always must be! I picture the worhsip civic as something akin to the Athenians 'tribute' to King Minos, basically regularly sacrificing people to keep the undead satiated and avoid attacks.
 
Ahhhhh sweet!

Ok, i was thinking about how the early game can be improved. Is there some way that the amount of zombies that are spawned is equal or slightly greater than the size of the cites? So lets say i have a 1 person villag, ok, maybe the zombies smell or detect it. Now, a city the size of LA, like a size 15 city, zombiess would come from miles around! I guess what i am thinking is, have maybe 2 zombies spawn globally for all cities below 5 per turn. I dont know what a good number would be, but i am telling you, 53 turns of constant attacks was rough.
That does make more sense now, becoming friends with the zombies, but you should make it that you have to sacrifice 1 unit, evertime they come around, and then they go away? Right now, makes no sense that the zombie (who are my allies) just walk by my people and dont go for the brains!

Anyways, you are doing an awesome job! I will think about what you said, and try to come up with better ideas.
 
Back
Top Bottom