• Civilization 7 has been announced. For more info please check the forum here .

Magister Modmod

I don't know anything about how events work, but I can say that EventSchema doesn't contain any info on how an individual event works; schema files define what the tags should be, and what types of info can validly go there.

The Weights are in EventTriggerInfos, although I'm not really sure what the numbers there mean.
 
ABOUT GOVANNON

Govannon seems to be working correctly, but so far I have not been able to get the higher level promotions. I imagine if I keep trying I will eventually get one with Channeling 2.

So far I have not had a miss at the first level. Can Govannon keep trying for a unit that failed to gain the sphere or is it a one shot opportunity? I assume failing for one sphere would not prevent an attempt for another.

Does it make any difference whether Govannon has level 2 or level 3 in the sphere he is tutoring?

Other than acquiring Sorcery along with the Channeling 2 promotion from Govannon, I can't think of any way for a non-Arcane unit available to the Amurites to have Sorcery. (Maybe I'm missing something.) Does this mean only units that got the level 2 promotion would qualify for Channeling 3 or Tutor? Just what are the odds of that?

In my opinion the passive implementation of Tutor may not be needed. Because Govannon needs to level up to tutor new spheres, there is a strong incentive to get him into some battles. I have had him traveling with a group of 'student' units.

Finally, please note that the texts for the Tutor commands all refer to the Death promotion.
 
I don't precisely know how to translate EVERYTHING in the Triggers and other files, but once you understand what all of the events do it begins to flow fairly well. I don't feel too bad writing up some of it here since MC may use it to work in some event controlled ideas or new events some day :)

EventSchema is just the layout for the EventInfos file. If you add a new line to an event you create, it probably has to be added here as well, and to every event already existing. Since you might also need changes in Python or other areas, I tend to avoid this. So basically, Schema is a useless file to us.

EventInfos File said:
EventInfos: This tells you what selecting a specific option actually DOES, gameplay-wise. Typically if there is no number on the end of it then there was no option for the event. If there is one number, that is the order in which the options appear in the Event Pop-up, and if there are 2 numbers, that is the order of an event chain, then the order it shows up in the Event Pop-up for that portion of the chain.

To Highlight some tags I understand mostly, or seem important:
<Description> tag points you to the Text Folder's only file: CIV4GameText_FFH2, and more specifically to the precise text displayed for this option. If the key isn't in this file, it is an event from basic BtS and the information is all in their files still.
<WorldNewsTexts> is what will be broadcast to all players if you select this option, <OtherPlayerPopup> would be similar, but a full pop-up window instead of just a news blurb they'll probably miss.
Next couple dozen lines are just possible rewards/costs associated with the selection
<AdditionalEvents> Took a while to find something that actually uses this tag. Seems to be used when there is a chance of different outcomes, which will be handled as immediately following events.
<ClearEvents> Seems to set the chance of a follow-up event happening. For example: All 4 options for Farm Bandits set it to be 100 chance for the Farm bandits event to happen again (seems wrong though). Could also be an issue with the Gaelan event chain if that is the case, but I did get them to work when I made them a guaranteed event...

The rest is Python calls and Pre-reqs. Plus the AI Value, which I assume assigns how likely they are to select that particular option. It is set to 0 for all of the Gaelan events, so again, that could be an issue.

EventTriggerInfos File said:
EventTriggerInfos: This one groups all of the options together into the window for an event. And decides when/why you will see any event happen.

Again, the World Text is the information at the top of the event, before your options. Trigger Text is what the options will be
<bSinglePlayer> Seems to me if this is 0 it affects 1 person, if it is 1 it affects 2 people, or at least uses the name of another player/civilization somewhere. Like relation affecting events.
<iPercentGamesActive> Pretty straightforward, this is how often it will actually be in the game. If you want a REALLY lively game, set all of these to 100 to make sure every event is always possible. If you detest a certain event, set it to 0 and it'll never happen.
<iWeight>: I'm guessing on this, but I am pretty sure it is the chance of it happening each turn. Not a percentage base. Highest ones are 1000 for Ancient Ruins, Brothers in Need, Controversial Philosopher. Looking at them now, Kael fixed Gaelan to be much lower on all 3 :) Hopefully it works now.

The Probability Multiply entries are probably to make the event more likely if you have a certain Unit/Building, after that is a bunch of requirements, then finally the list of what options you will have, this time calling the actual events instead of just their text keys.

After that is info on if it happens to all members of a team, if it is a recurring event, or if it is a global only event, python calls and some information on deciding where the event happens, or possibly just more pre-req info.


That's most all I know about events for now. Glad to have wrote that up so I can spot that Gaelan was fixed. Let me know if it actually happens, and if you get 2 Gaelan units when it does still ;)
 
ABOUT GOVANNON

Govannon seems to be working correctly, but so far I have not been able to get the higher level promotions. I imagine if I keep trying I will eventually get one with Channeling 2.

So far I have not had a miss at the first level. Can Govannon keep trying for a unit that failed to gain the sphere or is it a one shot opportunity? I assume failing for one sphere would not prevent an attempt for another.

Does it make any difference whether Govannon has level 2 or level 3 in the sphere he is tutoring?

Other than acquiring Sorcery along with the Channeling 2 promotion from Govannon, I can't think of any way for a non-Arcane unit available to the Amurites to have Sorcery. (Maybe I'm missing something.) Does this mean only units that got the level 2 promotion would qualify for Channeling 3 or Tutor? Just what are the odds of that?

In my opinion the passive implementation of Tutor may not be needed. Because Govannon needs to level up to tutor new spheres, there is a strong incentive to get him into some battles. I have had him traveling with a group of 'student' units.

Finally, please note that the texts for the Tutor commands all refer to the Death promotion.


Seems to me that he probably wrote it to exclude teaching to units with the Arcane promotion from how he wrote it, so you should be able to keep trying on a unit already taught one thing and hope he is taught another. Either that or he tied it to the Channeling promotion and you only get the one chance to learn anything. He could have tied it to the unit classes, but that is 5 tags, where doing it by promotion would be a single one.

But reading the rest of his writeup about it, sounds to me like you are intended to keep going back to him as the unit levels up and trying to learn a bit more. Or if you are already level 5 you can just hang with him until you are finally lucky enough to get Channeling 3 or Tutor. And yes, you have to have first got Sorcery and Channeling 2 from him, so it'll probably be a bit of a long wait.

Passive is required if you want Govannon to be able to cast spells for offense, and still have a chance to teach some of your invasion stack a few new tricks while in the field. Also, I would hope since it is passive now he has a chance to teach more than 1 sphere at a time, which would be AMAZING in my opinion.

Seems so far like having Rank 2 of a sphere makes it viable to teach rank 1, and nothing but level 3 on the unit attempting to learn from him is a requirement to get Channeling 2/Sorcery.
 
@ charleswatkins:
I have level requirements for getting Sorcery/Channeling2 (level 3+) or Chenneling2 or Tutor (level 5+), plus the chances are lower (and only apply if it the unit was chosen to learn something the first time).

The first level has a high chance of working, but if used on large stacks it isn't likely that everyone of them will learn a sphere. Also, like everything else in this mod, it relies on a random number generator that seems to clump similar numbers together causing trends where Govannon is very effective for a long time and then very ineffective for a while (not that hat is unrealistic). Yeah, he can keep trying to teach the same unit over and over. I was too lazy to try to develop a system for tracking which unit were "better students," and I don't really think it would have been an improvement anyway.

Level 2 is all that matters, not level 3. If I go passive, I may change it so that he can train at level 1, but become far more successful with levels 2 and 3. I may even make training the second level sphere possible if the Tutor has the third level already.

Well, Firebows and Royals guards start with the needed promotions (I gave Royal Guards channeling2 mostly for this reason). Other than that, yeah you need to get channeling2/sorcery from the spell before having a chance to get tutor or channeling3. However, the check that determines if a unit can get channeling3 or tutor comes right after the code that gives out the promotions, and the check to see if a unit can get channeling2/sorcery comes after the first promotion is granted; if you are lucky, a unit can get Sorcery and Channeling 1, 2, and 3 (or tutor) all at once.


The reason I'm thinking of a passive implementation isn't so that Govannon would get used more as an Archmage, but to reduce micromanagement. Also, a passive effect not controlled by the player just seems more in line with his flavor, imho, since he is opposed to hierarchies determining who can and who can't teach magic. Also, it would mean smaller, less cluttered files/civilopedia, which could get rather unwieldy if I add all of my ideas, especially if I try to update the pedia too.


Yeah, that type of mistake is to be expected, when you copy and paste all the spells and don't make any new textkeys. If I go the passive route none of that will matter.


@ xienwolf: I did it by unitcombats (not unitclasses or promoions), making UNITCOMBAT_ADEPT, UNITCOMBAT_DISCIPLE, and UNITCOMBAT_ANIMAL ineligible, not making only the other unitcombats eligible; units without unitcombats (workers, settlers, Great people, Loki) can still be taught. Actually, Animals and Disciples were ineligible already.

And I probably will make it so the sphere he teaches is randomly determined for each unit, with the probability tied to the number of promotions he has in each sphere. I'll make is so that he can train a sphere while knowing only level 1, but isn't likely to succeed. The next two levels make it more likely, and level 3 of a sphere makes it possible (but not particularly likely) that he will teach levels a second level spell. I'll also tie the chances to the Level that the Tutor is at, or maybe xp instead; if you want to, you'll be able to specialize Tutors in one sphere but give them lots of combat promotions to make it almost certain that they will train that sphere. I'm also thinking that I may remove the level restrictions but make it so that the chances of training a unit are dependent on the strength and experience, probably so that he is more likely to try to train weaker units (especially workers) but that low experience units would be less likely to successfully learn (you might have to keep him away from all those pesky little peasants he cares so much for if you want him to train your armies :)). I may remove the inability to train arcane units too, or make it so that he will only teach them the Tutor promotion; since his opposes the Mage Guilds on the grounds that they suppress arcane knowledge, it wouldn't make sense for him to focus on training their students, but he would try to convince them to join him in spreading magic to everyone.
 
Ah, I forgot about Unitcombat types. That makes complete sense in retrospect :) Are boats and other non-alive still eligible then? Beware my skeleton summoning fleet of Workboats!


Really looking forward to getting my laptop back so I can try out everything you changed and then cannibalize your code to keep what I like ;) All as a convenient excuse to not work on my own pet project of the Sevomod.
 
It occurs to me that raise skeleton and Spring are the only spells worth teaching to other units.
 
It occurs to me that raise skeleton and Spring are the only spells worth teaching to other units.

You haven't seen a stack of Luchrip Iron Golems that spew Fireballs then, have you? A friend of mine plays the Luchrip almost exclusively. HE gets a stack of 10-12 Iron Golems. Their free Fireball promotion allows them to both requce city defenses to 0% and kill (or at least seriously injure) every unit in the city before they even reach it.

Teaching Fireball to melee units would be a great benefit. The Amurites do get Firebow units already, so it might not be necessary.
 
Ah, I forgot about Unitcombat types. That makes complete sense in retrospect :) Are boats and other non-alive still eligible then? Beware my skeleton summoning fleet of Workboats!


Really looking forward to getting my laptop back so I can try out everything you changed and then cannibalize your code to keep what I like ;) All as a convenient excuse to not work on my own pet project of the Sevomod.

I forgot to mention that I also left the .isAlive() requirement in place. So no, ships and siege units, as well as angels, demons, and the undead, are not eligible.

However based my understanding of a "bug" with the warrens building, I think that workboats (because they lack a unitcombat) aren't being marked as non-living.
 
If you are making a folder for the mod (which I highly suggest), here is an Icon to use for your new shortcut ;) (it's just Magister's Avatar. Anyone have a better choice let me know, piece of cake to make small Icons).

*Ahem*... err, so how exactly would you make a folder for this (i.e., where do you put it and what do you call it, and what goes in it), and how do you make a shortcut that makes the game load the mod-mod instead of the mod?
 
Find the folder that FfH 2030 is in, create a new folder in this same location with the new name you want (ie - MagiMod), copy everything from the FfH folder into this folder.

Now go into the folder and rename the FfH 2030.ini to MagiMod.ini (should match folder name), and edit the shortcut. At the end of the TARGET line it has the name for FfH 2030, change that to the new name (MagiMod). Then change the icon to the new one so you can tell them apart, and rename the actual shortcut itself.

EDIT: Oh yeah, don't forget to install the actual MagiMod in this folder, not the FfH one :)
 
FYI: I tried adding Sureshot's multimod and after 50+ turns have seen no problems.
 
Hi Magister, a little mistake in your Unitinfo files :

For the nightwatch:

<iCollateralDamage>50</iCollateralDamage>
<iCollateralDamageLimit>6</iCollateralDamageLimit>
<iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits>

I should be Damage Limit 50 and damage max units 6.

I make the same change for my archers :p.
 
I already converted all the old stuff to patch g and added a few new features, but have been far too busy lately to work on it more. Besides, patch h will come out soon, so it would make more sense to wait until after I've converted the mod to that patch to make any more real additions.
 
Can you check the requests I just added to my Wants thread regarding earth and water terrain changing spells?
 
I checked that before I checked this.

I'll probably add more terraforming (mostly random and/or temporary), but know that your request may have delayed the modmod for at least another week. :p
 
Top Bottom