Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
One small thought that jumped out at me, as I've never seen it mentioned anywhere: in my experience, magic items which summon something "at the start of battle" do so on round 0, as opposed to round -15. This is first thing in many battles, but quite a bit after assassination and siege attacks get started, which could come as a nasty surprise if anyone's unfamiliar with how they work. Think it's worth mentioning?
Also, if you don't mind, I've got a little technical question for you: do you know if the game internally uses the same ID number for each monster as is shown with ctrl+i? Obviously, they'd be in hexadecimal, but do you know if they're otherwise altered or offset? I ask because I found that the ritpow values are internally +500 from how they're documented in the mod manual, and I'm wondering if something similar is going on with monster IDs. I'm trying to figure out how Druidism's Minor and Major Animal Summoning rituals determine the types and numbers of units summoned (they do it using the specpow legacy command instead of through addstrings, which is how every other summoning ritual I've looked at does it), and in pursuit of that, I've resorted to using a debugger to break on access of the specpow command and trace up to 100,000 operations after that. Yet, when I've searched through the traced operations for the hex value of the ID of the monster type summoned, I've always either gotten nothing or only what appear to be false positives--no hits where the value originated from a static location in memory, which is how I would most expect the lists of possible summon results to be stored. If I've been searching for the wrong value, that might at least explain why I've been unsuccessful.
This should definitely be mentioned with the item data, yes. I will update it for the “next release” (whenever that will be).
________________________________________
Regarding monster indexes, although I cannot say for certain, I would be surprised if any offset is to be applied to them. If absolute indexing of monsters is used, I would assume the number you get with Ctrl+I – which also is the number you'll find in the upper right of each monster definition in my coe4_units.c4m file – should be taken as is.
The caveat is, I don't think I have seen any reference of monsters by absolute indexes, only by relative offsets, or by name – or through reference to some “tag” on the monster. In a few cases, montag is used, while mirrors refer to a phantasm value of the monster.
My base assumption here would be reference by name, except, of course, that the specpow command seems to take a number for argument.
Weapons certainly are referred to by absolute index, without any offset. (Such references are found in data for monsters, spells and items, and also within other weapon definitions.) Though, in weapon definitions, for an extra effect, the index of another weapon can occasionally be negated (to indicate that the extra effect is always applied, rather than just if the target is affected by the first one).
The +500 to ritual powers thing (and, yes, I have noticed that too) is, I'd assume, just a way turn them into ability ID codes that don't clash with other ability codes. In the class data that I did first, I found codes 200-229. In the monster data for CoE4, I have found ability codes 1-199 but not anything that clashes with the codes that I found in the class data, then the 500 range for ritpows and an 800+ range for some abilities. (In CoE3, there are also some 600 and 700 ranges, in addition to the 800 range, and I suspect all of these were originally for modding only.)
(Well, to muddy the waters a bit further, I did find an offset also being used with the nametype command – The value given with the nametype command/ability is internally stored as the plain, documented value +100 – As to why that is, I have no idea.)
I don't think I'll delay over the remaining unknown commands, either. I double-checked the other day, and I had indeed already accounted for every command documented in either the modding manual or the modding documentation thread or located in the ritual section (addresses 0xbb173c to 0xbb1b57) of the command name table in the executable. If you're interested in adding them to your list, the named ritual commands number from 900 (0x384) to 996 (0x3e4), with about a dozen of those numbers apparently not assigned to any named command. I can post the list of commands and their IDs if anyone's interested. The last 8 commands ("free" through "noundead") in the ritual section of the command name table are not given ID numbers, but rather they are flags, each with a specific reserved bit at a particular offset (0xe8) in each ritual's data block. There are 8 remaining unknown commands used in the ritual data (997-1005, sans 999). I haven't looked terribly closely at them yet, and I won't delay release in order to do so, as all the questions I've wanted answered have been answerable without them, which suggests they aren't terribly important (at least, not to me).
A few things I do want to take some more time to work on:
I haven't decided yet whether I'll wait to include my summon rituals spreadsheet in my initial release. I'm doing it by hand because, unlike text files, I never took the time to learn how to output to a spreadsheet, so it'll take a while to finish. Probably, I should just bite the bullet and learn how to automate it (especially to make it easy to update), but that might well take even longer.
Marlin, would you consider sharing your list of monster ability ID codes at some point? There are several ritual commands in the documentation thread with <fx nbr> as their parameter. For at least two of them, choosefxtarg and fxreq, the <fx nbr> parameter refers to a monster ability ID code. As examples:
Other commands with an <fx nbr> parameter may also refer to ability IDs (though rebatefx25 and rebatefx50, at least, do not--they of course instead look for a matching value as the parameter of a rebate command on a monster), and I suspect it would be useful to modders to have a list of values with which to use these commands.
In that case, yes, these numbers would indeed be of more general interest to modders than I realized. So, I have now tidied them up a bit and quickly put together
another little spreadsheet for download.[www.dropbox.com]
(If and when I make another release of my first spreadsheet, this one should be included there.)Not that I intended to keep them for myself. I just didn't know quite what to do with them. Trying to list all of that at the beginning of the c4m file for monster data seemed messy. (The monster bitflag numbers I have will follow eventually, but those might be of less general interest.)
For the spreadsheet included in my batch above, I actually did just have my Python scripts output to text files, plain csv files. Meaning I had to manually fix the formatting (column widths and text alignments) and some other things in the spreadsheet application (LibreOffice Calc) afterwards. (Yeah, that means it won't be quite as painless to generate a new version of it as it is with the c4m files, of course.)
________________________________________
Edit 1: Updated link to second little spreadsheet. It now also contains the bitflag numbers found in monster type definitions.
Edit 2: Changed link from MediaFire to Dropbox, since Steam now blocks MediaFire.
By the way, nofxherereq also shows up in the executable's ritual data with an ability code as its parameter, so we can add it to the list of commands confirmed to use them.
Maybe so...unless, as I'd like to hope, they happen to be the same bitflags referenced by the "ben..." or "res..." ritual commands. The modding manual mentions a few of the values and effects associated with those commands, and I notice that none of those effects are listed with ID numbers in your latest spreadsheet, implying that they (except Twiceborn) are among the effects implemented via bitflags in the monster data. If the same effects are treated as bitflags in both the monster data and these ritual commands, it's possible (though by no means guaranteed, of course) that they might have corresponding values in both places. Any chance you see any correlation?
That's a very good idea. I might try that until and unless I learn to get my C# apps to work directly with Excel. Thanks!
Well, I got about 2/3 of the way through writing the text and switch statements for my ease-of-use comments today, but obviously, I didn't finish. Unfortunately, I don't expect to get an opportunity to work on this again over the long weekend here in the USA. I should be able to get back to it on Tuesday.
Alright, I have updated the extra little spreadsheet to also contain all the bitflag numbers found in monster type definitions. (Apart from the “resistances”, there are also the move flags, many of which were documented in the CoE3 modding manual, but which are considerably expanded for CoE4.)
Link in my previous post updated.
________________________________________
The “ben”, on the other hand, I would assume refers to the special benefits, which aren't found in monster type definitions. (Presumably there is instead such a bit field in the data for each individual unit while playing.)
Basically, these are documented in table 4 on page 20 in the modding manual. Except that there seem to be a couple of errors in that table. I believe the correct special benefits table looks as follows:
Thanks for all the work you put into this.
For a modder this is extremely helpful for a. learning and b. mass changes.
I noticed in the recruitment lists the selectclass 0 for specific terrain types. How does this work linking the terrain to unit recruitment?
Also could we get the monster ability ID codes to use with choosefxtarg.
[removed]
Edit: Google broke my links, and they aren't needed anymore, anyway.