|
Post by Kyzrati on Oct 2, 2012 0:54:30 GMT -5
Welcome to X@COM modding! Make sure you have the newest version of the game from the blog, download the latest modpack below, then start modding! X@COM Modpack: DownloadCurrent Version: M8 Platform: Windows File Size: 5.95 MB Some simple guidelines to help keep the modding board organized and helpful for everyone! - Before asking anything, make sure you've already read the modding guide included with the modpack. I don't want to have to RTFM anyone That said, the guide is very incomplete compared to the amount of data that can be modded, so if the answer isn't in there, ask away!
- If you have a general question about X-COM mechanics, including even the internal workings of some system, see the UFOpaedia. It's a great resource backed by years of research which all the X-COM remakes draw on heavily, so check it out! Questions about features I've added to the game obviously belong on this board.
- Before creating a new thread, look for another on the board where your question may be appropriate. For example, extend the "races.xt" thread if it's a general question about the race data.
- If there isn't a thread for a given topic, make a new one!
- This forum is currently for modding discussions only. It will eventually be expanded to include all topics, but until then take your general ideas and gameplay discussions to the blog or Bay 12 thread where everyone can comment.
P.S.: You should probably bookmark this thread to receive e-mail updates when a new modpack is released, as they will not necessarily coincide with general X@COM releases.
|
|
|
Post by Kyzrati on Oct 22, 2012 22:52:35 GMT -5
Check OP for a new Modpack.
Due to the conversion of armor to an item, this update affects quite a few data files. See the changelog and reference the files in 8.1 to see what's different. This particular update is a lot nastier than usual due to the number of files it touched, so if you need help updating you can send me your data directory and I can do it for you fairly quickly. However, note that if you do this, you obviously can't edit your own files until I return them!
M2:
* TARGETS R8.1 (set in cataclysm_version.xt) * [armor.xt] Removed armor color property * [armor.xt] Added armor removability property and TU costs * [armor.xt] Added traits to armor, inherited by wearer * [armor.xt] Added optional unique text for armor equipping/removal * [entities.xt] Added autoArmor for pre-equipping entities * [items.xt] Added armor items for all existing armor types * [inventory.xt] Added new required slot ENTITY_ARMOR for internal armor handling * [interface.xt/combat.xt] Added new armor-related messages * [special_abilities.xt] "MOTION_SCANNER" special ability effect renamed to "SCANNER", to reflect expanded functionality * [special_abilities.xt] "SCANNER" effect requires more data variables * [particles2D.xt] Added new motion scanner particles * [cataclysm_areas.xt] Underscore prefixes removed from area type * [cataclysm_areas.xt] NONE rotation of 2x2 scenario areas will no longer crash the game * [cataclysm_scenario.xt] Added command to force a specific font on startup * [cataclysm_scenario.xt] Not using [SUCCESS_TRIGGER]ALIENS_DEAD will no longer cause the game to stop on the alien turn if there are no aliens * [cataclysm_spawning.xt] Random spawn counts (negative numbers) for [SPAWN_ITEMS]/[SPAWN_ENTITIES] scripts are now 0-based (0~X) * [fonts/*.*] All fonts updated with new armor glyphs * Notepad++ syntax highlighting offers better detection of numbers * Notepad++ syntax highlighting includes particle constants
***Remember that all mods must change/set their cataclysm_version.xt to match the X@COM version they're compatible with.
With 8.3 I'll release a very skimmed down version of the data files for easier creation of total conversions. That will also vastly simplify the process required to keep data updated. As of now I've got all the freaking demo scenarios mixed together because I kept tacking new ones on to the end and borrowing old data. The future of modding X@COM will be properly modular.
|
|
|
Post by Kyzrati on Oct 24, 2012 4:18:29 GMT -5
I've made a flowchart to help visualize the data objects' relationships as they currently stand. It will be included in M3, but for now I'll just attach it here for download if you're interested. From the manual: Attachments:
|
|
|
Post by Kyzrati on Oct 24, 2012 9:46:09 GMT -5
You guys probably don't need anything like this yet, but I've created an EmptyMod data directory for M3. From the manual: Attachments:
|
|
|
Post by Kyzrati on Oct 24, 2012 10:19:51 GMT -5
Heads up: Someone on Bay 12 found a regression in R8--I screwed up Exodus, so I've already uploaded an 8.2 which just fixes that... Damn, now the next release has to be 8.3 ;p
This means you have to change your cataclysm_version numbers to 8.2 to be compatible with the latest X@COM.
|
|
|
Post by Kyzrati on Nov 22, 2012 21:30:51 GMT -5
As I recall the version of Notepad++ included with M2 has a problem with quoted string highlighting which got really annoying and required frequent restarts to reset the syntax highlighting. Seeing as M3 is still some weeks away, if you're having this problem I'd like to point you to where I'm getting my NP++ syntax parser. Download the latest version from here (Beta 28 as I write this) and drop the files into your Notepad++ directory (overwrite the existing ones) to fix this issue.
|
|
|
Post by Kyzrati on Jan 6, 2013 11:50:16 GMT -5
Behold, M3 is finally upon us!
M3:
* TARGETS R8.3 (cataclysm_version.xt) * Included empty mod data to use as a base for total conversions * [races.xt] Added FOV column (45/135/225/315/360) * [races.xt] Kneel height of 0 prevents kneeling * [entities.xt/races.xt] SR moved from entity data to race data * [entities.xt] Added optional class designation for HUD (shows instead of rank) * [armor.xt] Added FOV/SR modifier columns * [items.xt] Added customizable ammo loading/unloading text columns (last two) * [items.xt] Added ASCII override column (use sparingly) * [props.xt] Added appearance setting: invisible (not shown on map or HUD, and allowed to be placed inside walls) * [props.xt] Added new property: root level (how rooted to ground it is--for now only used for optional SA condition, but will eventually be related to pushing) * [explosions.xt] Added Pasthru column (ignore cell/prop explosion blocking) * [explosions.xt] Added NoSide column (disable side view) * [interface.xt/combat.xt] Added new ammo-related messages, and more * [specialability_styles.xt] Added 10 new effects to list, and 26 new triggers * [special_abilities.xt] Renamed SHOOT effect to PROJ_SHOOT (to match the new PROJ_RAIN) * [special_abilities.xt] Removed WEIGHTED_EFFECTS trigger data identifier (obsolete--detected automatically) * [special_abilities.xt] Teleport effects RANGE_MAX data converted to RANGE (which optionally accepts a minimum range: "A-B") * [special_abilities.xt] Renamed trigger: MOVE_ON_PROP -> E_MOV_ON_P2 * [special_abilities.xt] Renamed trigger: ENT_MOVES_BY_E1 -> E_MOV_BYTHIS_E1 * [special_abilities.xt] Renamed trigger: ENT_MOVES_BY_E2 -> E_MOV_BYTHIS_E2 * [special_abilities.xt] Renamed trigger: ENT_MOVES_BY_P -> E_MOV_BYTHIS_P1 * [special_abilities.xt] Renamed trigger: ENT_MOVES_BY_P2 -> E_MOV_BYTHIS_P2 * [special_abilities.xt] Renamed trigger: ENT_MOVES_ON_P -> E_MOV_ONTHIS_P1 * [special_abilities.xt] Renamed trigger: ENT_MOVES_ON_P2 -> E_MOV_ONTHIS_P2 * [cataclysm_areas.xt] Added Force Phase column (see manual) * [cataclysm_blueprints.xt] File extension changed to .xm to enable auto-detection of separate syntax highlighting (Language > Define Your Language > Operators) * [cataclysm_scenario.xt] Added optional "Turns Passed" score stat * [cataclysm_scenario.xt] Added optional dynamic survival score items (trait-based) * Notepad++ syntax highlighting/behavior updates (bugfixes + added new identifiers) * NEW: Support for 3x3 areas * NEW: Force placement of area(s) from sets of areas prior to normal map generation * NEW: Support for global lists in spawn scripts * NEW: Override default entity AI in cataclysm_spawning.xt with [AI] command * NEW: Control over XCOM/Alien morale effects (cataclysm_settings.xt) * NEW: Conditional commands to enable increased randomization and control of script commands (<##%>/<IF>/<ELSE>) * NEW: [ITEM] may also spawn randomly within an area using [CUBE] (instead of [POS]) * NEW: Dynamic scoring possible through SCORE ability effect * NEW: DGUARD AI (original GUARD now always returns to initial pos if alive after a fight--"dynamic guard" does not) * MOD: [ITEM] command no longer requires NONE designation if ammo NA; added AUTO designation to equip first compatible * MOD: [ITEM_ADD] command allows listed items to specify ammo (or use NONE/AUTO value) * FIX: Spawning entities to roof positions works * FIX: Spawning large entities in areas that are rotated won't shift them unexpectedly * FIX: Civilian weapon auto-take from XCOM unit left hand will ignore attached/natural weapons * FIX: Area ROTATE_CENTER setting works now (result was inverted) * FIX: EVAC_A_TURN/EVAC_B_TURN/NUKE values in cataclysm_scenario.xt default to 0 * FIX: EVAC_A_TURN/EVAC_B_TURN cannot be used unless at least ROAD_CHANCE_1 is 100 (evac requires a road) * FIX: [SPAWN_ENTITIES] properly implements [REMOVE]1 (was actually removing random entities, not necessarily the chosen ones) * FIX: F10 restart will ignore preset mod font if user manually changed it before restart * FIX: Mutual exclusion from randomly placed 1X1 areas will not affect other areas unless succesfully placed * FIX: SCORE_KILLED_DYNAMIC works for entities of any faction (not just aliens)
As usual, I've listed all the files you'll need to change and how in order to update an existing mod (or copy them over if you haven't made any changes, as in the case of specialability_styles.xt etc). There were more than I thought there might be, but I'm not going to shy away from it because more features do after all require more data. It shouldn't take too long to go down the list and update (I just updated two separate sets of data myself)--just remember to use simultaneous column editing in NP++ to help speed up what could otherwise be an annoying process.
M3 comes with all the things I've uploaded here separately before, an up-to-date 8.3 EmptyMod, an updated manual with explanations of all new features, and the latest version of NP++ including highlighting for all the new scripting keywords. Note that with the change of the blueprints file to an .xm extension, you can use a separate symbol highlighting syntax from the standard .xt files to make maps much easier to read while editing (just set what characters you want to be operators of a different color or colors).
You can't actually run an 8.3 mod just yet since R8.3 hasn't been released (should be out tomorrow), but I thought I'd upload this today since it's ready and you can check out the full changelog and manual in the meantime.
Sorry R8.3 took so long. Working on a rather big mod project of my own prevented me from easily doing intermediate releases with fixes and updates for the issues you've all brought up on the forums before. This should at least cover most everything I've seen mentioned so far.
I'll be putting up a separate post describing a good collection of tricks and strategies I learned while working on Rookie's Tale, stuff some of you have already seen in the .xt files from the preview releases. That post may take a week or so to get to though, since I've pushed R8.3 all the way up to my deadline--got some vacation/family stuff planned now.
|
|
|
Post by Kyzrati on Jan 14, 2013 11:56:17 GMT -5
A much more modest M4 is ready. This one's so small you don't really need the modpack itself unless you want the few new NP++ syntax highlighted keywords--just get 8.4 from the blog to get access to the new features/fixes.
* TARGETS R8.4 (cataclysm_version.xt) * [specialability_styles.xt] Added 1 new effect to list, and 5 new triggers * NEW: END_MISSION SA effect (data: RESULT=FAILURE/SUCCESS) * NEW: ITEM_NEW_ROUND triggers (condition: I_SLOT=GROUND/INVENTORY/HANDS/CHAMBER) * FIX: AUTO setting for weapon ammo in cataclysm_spawning.xt works properly
The only file you'll need to copy over to your mod is the styles file (happens any time new effects/triggers added). You can now end the mission any way you like! Also added the item-based round trigger, which enables all kinds of new possibilities. You can make an item that when dropped intermittently emits smoke, for example, or sends out a pulse every so often while on the ground/deployed (but not when stored away), or the opposite--one that does so only when held. (10101 brought this one up, and was hoping for a condition that could also check for nearby cells of a certain type. I haven't added that one yet.)
|
|
|
Post by Kyzrati on Jan 23, 2013 8:51:18 GMT -5
Just released R8.5, which is just makes a few small changes and doesn't require any modpack/mod changes beyond the new version number. Normally I would've waited to release with a more significant changelog, but 8.5 fixes a known crash in Rookie's Tale (and the engine in general).
|
|
|
Post by Kyzrati on Feb 3, 2013 2:42:51 GMT -5
M5 is ready, compatible with R8.6 (to be released shortly). The only reason to updated to the new modpack would be to get syntax coloring for the few new SA triggers/effects, or to make use of the new 8.6 EmptyMod. Here's the modding-related changelog:
* TARGETS R8.6 (cataclysm_version.xt) * [cells.xt] Added tag column * [props.xt] Added tag column * [inventory.xt] Added tag column * [anatomy.xt] Added tag column * [races.xt] Added tag column * [entities.xt] Added tag column * [items.xt] Added tag column * [armor.xt] Added cover (entity) light option and light data * [specialability_styles.xt] Added 4 new triggers and 1 new effect * [special_abilities.xt] MUTATE/SPAWN_ENTITY effects can use CONSTRICTED data setting * [combat.xt] Added new messages * NEW: SA support multiple sets of weighted effects (divided by any other effect(s)) on a single trigger * FIX: Error message about ALT_TEXT reported incorrect SA name
Either check out EmptyMod or the latest 8.6-compatible Rookie's Tale to see examples of the file changes mentioned above.
The biggest new feature (object tags) will unfortunately require adding a new column to all the primary object files, though I made it a fairly easy since it can pretty much be blank ('-') unless you use it. (To make this change trivial, as with any other column addition, remember that Notepad++ can edit multiple lines at once using the shift-alt method.) The "tag" feature was a long time in the backlog and a feature that just couldn't wait any longer since the longer it waits to more time consuming it is to introduce.
An object's "tag" is its unique internal identifier, kind of like a serial number, that the game uses to differentiate it from other objects of the same type. For simple games this can just be an object's name, but X@COM is becoming more complex and allows for quite a few possibilities, and it can be useful to have multiple different versions of an object with the same name (from the player's point of view). To make the conversion easier, and scripting simpler, using '-' for the tag will automatically use the object's name as the tag, which in most cases works fine (as long as there are no duplicates).
I updated Rookie's Tale to use this in a few places it needed it, for example the Mirror Mephit's illusions originally had to be called "Mirror Mephit?" so they had a different name, but that meant you could tell at a glance which was which. Now both the origin and the illusion are called simply "Mirror Mephit", so there's no way to know! (Unless you can cast Read Aura.) See the mod's entities.xt and you'll notice I've tagged them as Mephit and Mephit2, so that's what the game recognizes them as, though the player just sees the "name" (identical for both). I also used this method to get rid of the annoying "-kind" and "Caster" suffixes you saw on some of the races, originally necessary because they needed a different anatomy to use natural weapons. Now they all appear as the same race, as they should.
The new effect is MOD_ITEM (which only works with traits, since items don't really have any other dynamically-modifiable values), and the new triggers are alternate versions of various attack triggers that affect the attacker instead of the target (have a '2' appended to end).
|
|
|
Post by Kyzrati on Feb 5, 2013 19:56:04 GMT -5
I forgot to mention something important about tagging: That is, if you do use tags in addition to normal names, know that all scripts and references to the object must use the *tag* (which is unique) and not the name (which is presumably no longer unique). That means spawning.xt, special_abilities.xt, etc. all have to use the tag to refer to that object, not the name which has been normal practice in the past.
|
|
|
Post by Kyzrati on Feb 6, 2013 0:47:40 GMT -5
R8.7 uploaded today. Fully compatible with M5, except of course you'll need to update cataclysm_version.xt.
|
|
|
Post by Kyzrati on Feb 10, 2013 3:32:38 GMT -5
10101 has put together an amazingly useful trigger table for anyone trying to get the most out of the special abilities system. I've re-attached it in this thread and you can read my summary of its contents here. He's also put together another file listing all current triggers, conditions, and effects, which can be found here. Attachments:
|
|
|
Post by Kyzrati on Mar 30, 2013 22:32:00 GMT -5
M6 has been uploaded.
For those of you with M5, the only reason to download it would be for a few extra syntax-highlighted NP++ keywords (nothing special), to get the latest copy of the manual (almost nothing was added there), or to use EmptyMod which is now at R9. If you're going to use traditional content and want full sound support, though, I suggest modding Ground Zero instead, since it is mostly vanilla and has lots more sounds already defined and attached to objects.
R9 should launch tomorrow.
The modding change log is more or less what I previewed, but now I'll add some explanation about this release further below:
* TARGETS R9.0 (cataclysm_version.xt) * [sounds.xt] Many new sound effects defined, and added new parameters (simply drop .ogg files in audio directory and add them to sounds.xt to use) * [sound_class.xt] New file in audio directory--based on materials and used for items * [interface.xt/combat.xt] Added new messages * [explosions.xt] Added optional fluff particle (only one created at explosion origin) and sound * [armor.xt] Added sound column (footsteps) * [races.xt] Added sound columns (footsteps, land, pain, death) * [races.xt] Added material (only important/used for projectile impact sounds) * [entities.xt] Added sound override columns (pain, death) * [props.xt] Added sound columns (footsteps, destruction, land) * [cells.xt] Added sound columns (footsteps, destruction) * [items.xt] Added sound-related columns * [materials.xt] Added sound columns * [materials.xt] Added "terrain?" column * NEW: All .xt files support inline comments (use "/*" and "*/") * NEW: PROXY_A grenade type requires no priming; throw to activate * NEW: Armor can specify multiple compatible anatomies (use '|' delimiter to combine them) * NEW: Special abilities can also refer to those that appear after them in special_abilities.xt * NEW: Ambient sound visualization mode (debug command: ctrl-a) * NEW: Optional [TRAIT] command to add trait to a specific entity through script * NEW: Optional [RANDOMIZE_NAME] command to randomize entity name using names.xt * NEW: Dynamic scoring settings in cataclysm_scenario.xt can also apply to props with the specified trait * NEW: Putting grenade(s) in an AI's hand will allow them to prime and throw them at targets (only 25% chance/turn) * MOD: Moved directories rarely/never used by mods out of "data" dir to new dir: "core" * MOD: Special ability data NO_RUBBLE=1 (for prop/cell destruction) will also prevent related smoke and sound * FIX: PROXY grenade type now behaves as in X-COM, requires priming * FIX: SPOT_ENT SA trigger works for AI-controlled faction members * FIX: 3D particle engine no longer crashes after 8-second timeout * FIX: AUTO setting for weapon ammo in cataclysm_spawning.xt works properly in all known cases (was broken in entity GLISTs)
Obviously this release is focused on sound, so lots of files changed to add those. I tried to keep any new data to the end (right) of each file for easier updating.
You'll notice the file structure of R9 has changed somewhat to make mods much lighter since they were including a number of files mods aren't using. So you won't need to update/copy those files any longer.
You can add your own sounds by simply dropping the file (22050Hz .ogg) into the core/audio directory (under any further subdirectories you wish to create there) and listing them in sounds.xt.
Most of the rest of the changes are pretty self-explanatory. Ask away if you find anything far too esoteric in there, since I won't be around from around 4/7~4/20.
|
|
|
Post by Kyzrati on Apr 29, 2013 1:02:56 GMT -5
R9.1 has been uploaded. I haven't repackaged any mods since the changes are minimal, nor is there a new modpack since there aren't any data file changes anyway. The demo .exe is all you need to update. (The demo was also updated to include the tank movement sound effects that were added to 10101's Farm, and the default font was changed.)
Public changelog: * NEW: Replaced default font * FIX: Ambient sounds continued playing after restart/load
Internal changes: * NEW: Lightmap visualization mode (debug command: ctrl-i) * FIX: <##%> script percentage was inversed * FIX: SCORE_SPECIMENS_RECOVERED now counts once for a large entity, not once per occupied cell
|
|