Freelancer modmod.

Deon

Lt. of Mordor
Joined
Jan 13, 2008
Messages
2,956
Location
St.Petersburg, Russian Federation
Greetings!

I always wanted to learn civ4 Python coding and SDK so I guess it's time to try it.

I wanted to start with a simple modmod which introduces a "rpg" mechanics to the FFH world. You basically play as a single hero which tries to survive in a huge world which lives by it's own rules.

The features I want to make:

1) Actually use underused Quests section. You should be able to take quests in civilizations' capitals and complete them for a reward or fail them and lose some disposition.

2) Revamp of the equipment system. At first: single helmet, single armor etc., then I wish to make a special "equipment screen".

3) Life of a mercenary. Not only should you be able to get "freelancer" quests, but to join someone's army. You should get your wages, recieve orders (kill N of units etc.) and as soon as the war is ended you should be "at peace" with rival civilization without big consequences: you're just a soldier.

4) Manor. You should be able to buy a "city" (manor) somewhere on another civilization's land (you should reach certain disposition/rank to gain this option) and you should pay in gold to "buy off" culture from a single plot. Then as soon as you make a city it won't be able to produce something by itself, you should hire "carpenters", "architects" and such and drop them on the city to gain buildings there. Also it should use Curiotates "settlement" mechanics with a 1-range city ring; some mechanism preventing your territory from being consumed by the original civilization should be introduced.

5) Free trade. There should be some array with civilization-product percent values. It should change depending on situatuon, i.e. Malakim have some starving cities. An event "a prices for food supplies in malakim lands have risen up". Then you head to some bannor city with a granary where you buy a "food supplies" item and head to malakim lands to sell.

I plan to make most things via "spells".

So, there're a lot of other ideas but I start from scratch and as newbie.

Currently I have a unit which represents "adventurer" civ and runs around through rival lands (there's no "open borders" for a single human), hunting wildlife and testing new equipment.

I will have a lot of questions these days so if some potent modded could answer them it would be great.
 
OK, I've started from small things. Currently there's "work at mine" job which gives you 1 gold and +1 hammer on a tile with a mine for 1 turn and "work at field" job which gives the same but adds +1 food on a tile with a farm. Playtested via LAN and it gives no OOS (and I think it shouldn't).

Here comes the question: where should I dig to find/understand how to implement the "kuriotates settlement" mechanics to all of your cities?
Well, the most obvious solution is to set Maxcities to 0 for a special trait, but I fear that it could scale with a map size. So here comes the question, where is this bSprawling etc. determined? (P.S. Tested it, it works, but the description is weird... Where the sprawling trait is determined again?) :)

Another question: how to avoid triggering of native villages by a special unit? I want to be able to walk through them.
 
OK, if someone succeeded in adding new promotion trees in a modular way please let me know.

I wanted to make this mod modular to allow an easy install but when I try to put my new promotions into a modular file they are messed up.

I.e. I have farmer1->farmer2->farmer3 where every new level requires previous and is PromotionNextLevel. But after modular loading their connection is lost. Is there a way to circumnavigate this problem, or should I leave the modular loading idea?
 
You can only do number fields in Modular loading successfully. The majority of text fields will not work properly (it has to do with something known as "read passes" in the DLL, but basically it boils down to which order each XML file is loaded in. Anything loaded before your file you CAN do a modular reference to (hence text keys working), but anything loaded after your file you cannot, to include the file itself (hence no promotion reference in a promotioninfo will work)
 
Well, I started it as a test to learn python/coding, but we tried it in multiplayer and it's fun to play with a buddy, helping him :). However it becomes boring at later stages because there's not a lot of things you can make still.

I want to add a huge amount of adventurer-only events later, but I fear they can call a lot of OOS in multiplayer, so I will work on it too, because I want this mod to be multiplayer compatible (mainly to allow multiple adventurers on the same map with possible different competitions).
 
I had a working Equipment screen for my cIVRPG (never reached a releasable state) for civ4 vanilla. It had Helmet, Gloves, Upper and lower body armor, and shoes. An inventory and a market. It was based on Maian's(?) script and included some new python files for the system folder (not a good solution).

I started work on converting this to BtS with SDK implementation etc, but it's not near completion and the current code is probably not even working with the current patch of BtS.
Eventually I will, hopefully, finish this and call it an RPGEngine. It will be very modable, and not really have any content except for proof of concept. Though I have too many near-complete unfinished projects that I need to do first and a newly started big project which will take a lot of my modding time.
 
Oh, Grayfox, if you'll be somewhere near a beta release of your "rpg engine", give me a call! For now when I know that there's something like this already being developed I'll try to focus more on quests and events in my free time rather than on inventory. I hope you'll get it working so I will be able to use it and praise your skills :D.
 
Don't wait on me, really. I might never finish. Though I might make the inventory part a modcomp some day soon. Argh, where is all the time when you need it? ;)
 
I'll chime in as another one who has plans for an equipment mod :) FF has most of the pieces needed for it already really, the only bit which is left is a way to "store" promotions on a unit without letting them apply, and some plans on making generic equipment "units" so you can add a heck of a lot less to the game for each equipment generated.

Anyway, main reason I am posting is to point you toward onModNetMessage and sendModNetMessage functions. Those are what you need to dodge OOS issues from python.
 
Ooooooo Deon this looks like an excelent little project to get you started :D im especially looking forward to the quests! perhaps once its done i might see if i can pinch and merge some of this with the warhammer mod and allow heroes to do quests ;)
 
Argh, where is all the time when you need it?
We have all the time in the world. Well, maybe a bit less, like 30 or 40 years more...
But still there're disturbances and priorities :). I plan not to fail with my university exams and then I plan to fail with holidays and family life and to spend my time at the computer :).
 
Back
Top Bottom