C2C - Event Ideas

so I tried my hands at this (actually set up the cock fighting one to see if I remember things correctly :mischief:), I'll probably see what I can do about more events. With the caveat that my python is very rusty so if I cannot find a method implemented by someone else that at least points me into the direction of what to do I'll probably just implement some other effects :p
The cock fighting thing for example is easy to set up with just :culture:/turn bonus/malus but I have not found a way to implement an additional :culture:% - in any case I like small effects in most events better anyways, so I just added/removed some :culture:/turn.
Much of the ideas so far can be done in xml alone or with relatively simple python, so that should workout. Some others may not quite work as proposed here, but I'll see what I find possible.

I don't know how to call/alter rev stuff through python since I never actually looked into that code so I don't think I'll implement stability changes starting out.

Now a few things that I would need help with:
I tried to get this done in a new module so as to not alter the core mod files, but it won't load then, besides the eventinterface.py is quite adamant in its comments that some of its functions should not be called by another module... So I might need to change the event files themselves after all, but I'd be happy to get some pointers how to do the modular thing.
For the event images I am at a loss how to load them, the images present so far are referenced in a file path that doesn't exist (likely some fpk contains them I guess) and the paths I tried to put them in just don't load the dds image I made from the first post, does anyone know how to do those?
 
so I tried my hands at this (actually set up the cock fighting one to see if I remember things correctly :mischief:), I'll probably see what I can do about more events. With the caveat that my python is very rusty so if I cannot find a method implemented by someone else that at least points me into the direction of what to do I'll probably just implement some other effects :p
The cock fighting thing for example is easy to set up with just :culture:/turn bonus/malus but I have not found a way to implement an additional :culture:% - in any case I like small effects in most events better anyways, so I just added/removed some :culture:/turn.
Much of the ideas so far can be done in xml alone or with relatively simple python, so that should workout. Some others may not quite work as proposed here, but I'll see what I find possible.

I don't know how to call/alter rev stuff through python since I never actually looked into that code so I don't think I'll implement stability changes starting out.

Now a few things that I would need help with:
I tried to get this done in a new module so as to not alter the core mod files, but it won't load then, besides the eventinterface.py is quite adamant in its comments that some of its functions should not be called by another module... So I might need to change the event files themselves after all, but I'd be happy to get some pointers how to do the modular thing.
For the event images I am at a loss how to load them, the images present so far are referenced in a file path that doesn't exist (likely some fpk contains them I guess) and the paths I tried to put them in just don't load the dds image I made from the first post, does anyone know how to do those?

Great questions and if possible from your statement thx as LEAST for giving it a shot, anything is always better than nothing, like alot of people ask to help, and they say they dont know much about XML/Python etc, so i tell them, if you at least can do a simple Text file of adding English/German/Spanish etc to TXT info once a week, heck its better than nothing, so having said that:

There is actually a Current module made with the help of DH, in the Heroes folder (look in folder with my name on it), called Spartacus and HeroSpawn. There is an actual Event that works just like it is supposed to and really in you have any knowledge whatsoever in python is quite simple (according to DH, that is).:)

When putting in a module, you got to make sure someplace along the trail you have a MLF before the actual folder that introduces it to the mod you want it in (i hope that makes sense?). iw, a MLF in the folder Heroes, but the main folder is AFTER (or included) in the folder after it.

Biggest thing is when i first starting making modules, is that if you screw-up its no biggy, you just keep trying, cause NOTHING is going to mess things up.

And "we" at C2C need alot more Events, but the best is if we could find a person that knows about "Quests." Now your talking good stuff.

So again at least thx for giving it a shot, and i hope you have "Many" success(es) in making Event, they are very FUN to have, and makes game play ALOT better.;)
 
thanks, I'll look at the heroes module...
As for quests: they are not much more difficult than events being essentially global chained events anyways. It depends on what you want to do with them and how much python it needs that it might end up being more involved... I actually would like quite a few simple event chains themselves not related to quests.

The main thing for me is that I'll likely start out with stuff that can be done in xml or using python methods I can pilfer from other events, that should already lead quite far. And if some idea catches my interest I might try to make it work it even if I need to play around with the python code a bit more, hell I learned c++ coding from playing around with the civilization SDK a few years ago, I just never delved into the python stuff more than needed to create the events lists linked in my sig and since unlike c++ I never had to do any programming in python since, I never actually coded anything in python...

Essentially: I won't promise anything, but if you have ideas what you want just post them, best would be to add a bit more info about what you'd want, especially how common an event should be along with some text both for display to the player and to all other players. I'll see what time allows.

Edit1: Ok, now I got it to work as a module (thanks for pointing me to the heroes module) - atleast the xml only events work from there, at some point I'll test a python one as well. :)

I still don't manage to get an image to show, I am quite certain I just don't know which path to enter in <eventart></eventart> - but apart from that it works fine :)

Edit2: :dance: got the images to work as well, so now its all set up to start implementing them :)

Edit3: well, I should leave a teaser I guess :mischief:

cockfighting.png
 
@Ori, If you are doing events then one that I would like is a duplication of the deer "migrating herds settle down" event for bison. Deer appear in forest, I think, where as the bison would appear on open ground.
 
@ori

Wow! This is AWESOME! Thank you for any help you can give. As it was, these ideas were just sitting there with no one able to do them. So any way you can implement them is fine by me. Even if they are not the same as the original request.

On a side note I am thrilled to see the Cock Fighting one since that was like my original request back with AND (before I knew how to even mod). So thank you. That means a lot to me to see a screenshot of it.
 
gah, there is a bug in the event handling somewhere - it should allow you to give :yuck: to one city alone, but it ignores the bpickcity tag and just does it empire wide :gripe:
anyhow, I can give it to specific buildings in a city so yeah.

There are now Snake Oil salesmen roaming around - so keep your cities healthy :evil:
 
is there anything particular I have to do to run a new python file for the events?
like were to put it, how to tell the game its there etc.?

In the Assets/Config folder you will see a bunch of xml files. Each defines a Python program to BUG eg Caveman2Cosoms.xml. The init.xml folder then tells BUG which to load, down the end of the file.

However I think that with events you must add the python to the end of the CvRandomEventInterface.py file. Not sure about that.

If you get running fine with the modular Python that would be great to know.
 
I managed to get my trigger callback to run - the Iditarod event as proposed had one problem:
its really a relatively recent event so I don't want it to trigger too early and the sled dogs actually obsolete prior to Mass Media anyways, making it impossible to add anything to the building itself. I now trigger it through python after motorized transport (which is the tech that obsoletes sled dogs) and change the dog breeder in the city. This was really me wanting to test whether I can get python callbacks to work :)
 
I managed to get my trigger callback to run - the Iditarod event as proposed had one problem:
its really a relatively recent event so I don't want it to trigger too early and the sled dogs actually obsolete prior to Mass Media anyways, making it impossible to add anything to the building itself. I now trigger it through python after motorized transport (which is the tech that obsoletes sled dogs) and change the dog breeder in the city. This was really me wanting to test whether I can get python callbacks to work :)

Oops! The original thing was made for the Dog Breeder, but fit better to the newer Sled Dog Building. Hmm perhaps you could change it to Photography or Motion Pictures. They come before Motorized Transportation.
 
Aren't sled dogs used still to this day? Aka, maybe not have it obsolete where it does but move it up a bit in time?
 
Aren't sled dogs used still to this day? Aka, maybe not have it obsolete where it does but move it up a bit in time?

Yes, however given the choice using as snowmobile is much easier than a dog sled. Don't have to feed tons of dogs, don't have to train a snowmobile, has more power and can even go faster. In fact there have been a trend on people in Arctic regions using snowmobiles rather than dog sleds.
 
Yes, however given the choice using as snowmobile is much easier than a dog sled. Don't have to feed tons of dogs, don't have to train a snowmobile, has more power and can even go faster. In fact there have been a trend on people in Arctic regions using snowmobiles rather than dog sleds.

However that is only very recent, 50+ years after the automobile. I would suggest Globalisation as the obsolete tech.
 
Looks great!

If I can make a small suggestion:

Make the :) or :mad: apply to the chicken coop instead of the city? If the building goes obsolete or gets destroyed you don't want to have the :mad: still around without gaining any of the :gold: or :culture:.
 
FYI - found out today that max compat saves don't handle event ids correctly. This means a game continued across an asset change that modifies the ids of existing events (either by deleting one that wasn't at the end, or by adding one not at the end) can exhibit various failure modes in relation to events. I'm not entirely sure exactly what all the possible failure modes are, but it likely includes:
  • Possibility of getting an event repeated that you should only get once
  • Possibility of totally inhibitting an event you haven't had because it thinks you have
  • Possibility that timed events may have their timers never expire/expire immediately
I'm in the process of fixing this (though it won't magically rescue events that have already happened in existing games), and should be able to push somethign to SVN later today or tomorrow.
 
FYI - found out today that max compat saves don't handle event ids correctly. This means a game continued across an asset change that modifies the ids of existing events (either by deleting one that wasn't at the end, or by adding one not at the end) can exhibit various failure modes in relation to events. I'm not entirely sure exactly what all the possible failure modes are, but it likely includes:
  • Possibility of getting an event repeated that you should only get once
  • Possibility of totally inhibiting an event you haven't had because it thinks you have
  • Possibility that timed events may have their timers never expire/expire immediately
I'm in the process of fixing this (though it won't magically rescue events that have already happened in existing games), and should be able to push something to SVN later today or tomorrow.

Now is this something with original BtS or has it to do with something that was added TO BtS?
 
Now is this something with original BtS or has it to do with something that was added TO BtS?

By definition its something we added, since it only occurs across an assets change, which means the game is dead without max compat format, which wasn't in original BTS.
 
Back
Top Bottom