Jump to content

davidlallen

Members
  • Posts

    2195
  • Joined

  • Last visited

Everything posted by davidlallen

  1. I agree the broken animations are painful to watch, and we will try to do something.
  2. Yes, there is a plan, in the sense that we know what needs to be done. But, there is no date. The two animators who were working on the project have gone silent.
  3. When Bradford or one of the other cast pops up in a window in the upper right corner and says something, that is a narrative moment. This guide will tell you how to make new narrative moments. If you have a new enemy type or new mission, you may want to add these to help the player understand what is happening. The following steps are involved. 1. Modify the unrealscript to call the new moment 2. Edit ini file 3. Record the wave files 4. Create the package with the wave files 5. Compile and Test This guide assumes you know how to setup a mod using the SDK, create a wave file with the recorded lines, and open the unreal content editor. There are guides on this forum for using the SDK and the content editor. 1. Unrealscript The easiest place to add a narrative moment is when sighting a new enemy. For example, in the first minute of the Gatecrasher scenario, Bradford says, "The ADVENT officers seem more capable than the grunts. We're not sure whether to chalk it up to training, or stricter mind control." That is because of this line in X2Character_DefaultCharacters.uc: static function X2CharacterTemplate CreateTemplate_AdvCaptainM1() ... CharTemplate.SightedNarrativeMoments.AddItem(XComNarrativeMoment'X2NarrativeMoments.TACTICAL.AlienSitings.T_Central_AlienSightings_AdvCaptainM1'); It happens that the Advent Mec Mark 2 doesn't have a narrative moment, so we will add one. We will use the "ambient narrative template modifier" technique described here: http://forums.nexusmods.com/index.php?/topic/3839560-template-modification-without-screenlisteners/ You may wish to use a one-time screenlistener instead, but either way, the goal is to add a new narrative moment to CharTemplate.SightedNarrativeMoments. This code goes into NMD_TemplateFixer.uc. class NMD_TemplateFixer extends X2AmbientNarrativeCriteria; static function array<X2DataTemplate> CreateTemplates() { local array<X2DataTemplate> Templates; local X2CharacterTemplateManager CharacterManager; local X2CharacterTemplate CharacterTemplate; local XComNarrativeMoment NarrativeMoment; // Get the template CharacterManager = class'X2CharacterTemplateManager'.static.GetCharacterTemplateManager(); CharacterTemplate = CharacterManager.FindCharacterTemplate('AdvMEC_M2'); // Add the narrative moment to the template NarrativeMoment = XComNarrativeMoment(`CONTENT.LoadObjectFromContentPackage("NMD.Moment_MecMk2Sighted")); CharacterTemplate.SightedNarrativeMoments.AddItem(NarrativeMoment); return Templates; } 2. Ini file Narrative moments are defined in Config/XComNarrative.ini. Create the file with these lines: [XComGame.XGNarrative] +NarrativeMoments=NMD.Moment_MecMk2Sighted3. Record the wave file The wave file must be recorded in 16 bit mono PCM format. This guide does not cover the specifics of recording. For this demo, create a wave file MecMk2Sighted.wav. 4. Create the package a. In the content editor, create a new package NMD and add it to your modbuddy project. The name must match the prefix of the narrative moment in the unrealscript and ini files. b. Right click on empty space and choose Import from the popup menu. Enter your filename and the following dialog will appear. Make sure to select your package name at the top, and check the "Auto Create Cue" checkbox in the middle. This will create a SoundNodeWave object, and a SoundCue object. The name of the SoundNodeWave object must match the name in the localization file in step 2. http://i.imgur.com/mL2r3tj.png c. On the soundcue object, right click and choose Edit Using Sound Cue Editor. This pops up the following dialog. (Sorry, the names in the screenshot do not match the demo). When you start the dialog, it will have only the speaker, and the wave file. You need to make the dialog look like the screenshot. Right click on the pin on the left side of the wave box, and click "break link". Right click on empty space and choose XComConversationNode, which will place the third box. Left drag to create the two lines in the screenshot. Finally, right click on the extra pin at the right side of the XComConversationNode and choose Delete Input. Now your dialog box should look just like the screenshot. http://i.imgur.com/L9cK9U6.png d. To make sure you get the default values shared by other sighting moments, create your first narrative moment by copying one from the vanilla game. In the content browser left panel, open this long path: XComGame > Content > XCOM_2 > Packages > Sound > X2NarrativeMoments > Tactical > AlienSitings Right click one of the XComNarrativeMoments, choose Create A Copy, and enter your package name (NMD) and moment name (Moment_MecMk2Sighted). e. Right click on the XComNarrativeMoment you just created and choose Properties. The following dialog will appear. (Sorry, the names in the screenshot do not match the demo). You must set the Conversations[0] field to the name of your SoundNodeWave. You can type this in, or use the following trick. Hover the mouse over the green left arrow on the line. The hover help says Use Selected Object in Content Browser. In the main content browser window, left click your SoundNodeWave so it is selected (yellow highlight rectangle). Now click the green left arrow. This fills in the name for you. http://i.imgur.com/lwB65cH.png f. Choose the "head" that will appear when the lines are spoken. Right click the SoundWaveNode and choose Properties. The following dialog box will appear. In the Speaker Template dropdown, there are a huge number of choices, most of which don't work (the viewport window is just blank when the moment plays). You can choose StrategyCentral, HeadScientist and HeadEngineer, which is what most narrative moments use. For advanced users, you can search for SpeakerPortrait in the UC files to see how to bind a 128x128 image to a character template; then you can choose that template in the dropdown. http://i.imgur.com/OuEiMyl.png g. Enter the subtitle text for the moment into the Spoken Text field of the dialog above. There may be several methods for entering this; another modder suggested using the localization file, and entering a SpokenText value for the SoundWaveNode. I was not able to make that work, but entering the text in this dialog does work for me. h. Save the package and exit the content browser. 5. Compile and test Double check that you have the uc file, ini file, localization file and package in your modbuddy project. Compile. The easiest way to test is to start the game in debug mode and click the Tactical button to enter "tactical quick launch" mode. Select a map and squad, and start the mission. Place the mouse over a square your soldiers cannot directly see, and enter the console command "dropunit advmec_m2 1". This creates an enemy mark 2 mec. Now move one of your soldiers so they have line of sight on the enemy, and the new narrative moment should play!
  4. You can't recreate the project file from the workshop download directory. There are two choices. One choice is to ask the mod author to send you his modbuddy directory. The other choice is to rebuild from scratch. Amineri mentioned that she wrote a perl script (probably perl) to look at the directory structure and write out the needed xml, but there is no simple executable that just does it. I have been happy to provide my modbuddy directory to the 2-3 people who asked for it, since the modbuddy part doesn't contain any secrets.
  5. This is very helpful feedback. Sometimes, it is hard to tell which are issues with the vanilla game, but we would still like to track each one of these down. Do you see the same problem with vanilla ranger swords? Sometimes I have to position the cursor very carefully to get an attack from the right angle. I know I have seen the same effect from enemy andromedons, sectopods and berserkers. This one may be hard to fix. In the current versions of the mod, the alien starts out at the level of your highest soldier minus one. Have you setup to get the alien free, and early? What specific rank do you feel she is too weak, and what rank is she good enough? This will help tune the level progression. That is good feedback. You can configure the fire breath damage in the ini file (PA_FIREBREATH_BASEDAMAGE). What do you feel would be a useful increase? Odd that this would work differently from the vanilla unit. We can try to investigate. Maybe something like serial or bladestorm to upgrade the punch? What type of abilities would work well to reinforce this? That's a good way to put it. I am sure one tree would not be "stealth" but maybe "a little bit less angry all the time".
  6. Oh, I guess I did not try the Andromedon myself. I know the chryssalid cocoon won't hatch, and I thought the lower level game code for both was the same.
  7. Not today. This is the same category of problem as chryssalid spawning from a cocoon. The game hard codes the spawning behavior and it doesn't work for units on the player team. We have discussed how to fix this for chryssalid, but nobody has done it yet.
  8. I agree that will be an improvement, but I don't think it will revolutionize anything. Lots of mods change templates already, either with a screenlistener or the ambient narrative hook. I do agree that if properly made, one highlander mod could add a whole ton of hooks, and could serve as a platform for more mods. Although that has been discussed, I don't hear of any active work on that. This platform level work might not be that rewarding, since it just makes "easier" things that are already "possible".
  9. To reference an ini variable XYZ from a static function, use default.XYZ.
  10. Thanks for the feedback. If you don't know this tip, here is what you can try first when you get any weird result from mods. Remove all the ini files under My Documents/My Games/XCOM2/XComGame/Config. This removes your graphics settings, which you can re-enter, but it also removes all the "junk" that builds up here. When switching mods, the game doesn't update these files quite correctly. It's worthwhile to remove them all once in a while, and definitely when switching sets of mods.
  11. Thanks for the feedback! Lots of people have suggested either an arc thrower, or psi mind domination, as a way to capture troops. It's a little challenging to transfer this type of unit from the tactical map back to the strategic map, but we will keep this in mind. Do you have a save game of the game with the mission that crashes the game? If so can you attach it to a post here (zip first, use full editor) or put it on some public cloud storage like dropbox or pastebin? I would like to look inside the save to see what may be wrong.
  12. I don't think that xcom modding is more complex than it was last month. I think more complex mods take more time. Also, I wonder how many people have switched over to playing Dark Souls 3, which came out this week.
  13. More information here, but no specific answer to your question: https://www.reddit.com/r/xcom2mods/comments/4ehy61/where_do_reinforcements_come_from/ AFAIK, the ConfigurableEncounter ADVx3_Weak is used for most reinforcements. If you are seeing your units in regular pods, then it "should work".
  14. http://www.urbandictionary.com/define.php?term=In+the+pipe
  15. Great, thanks for the feedback. The known issues (including the animation points you made) are shown in post #2 of this thread. The animator who did a lot of the work has gone quiet, and there is another animator who has said several times he would contribute, but hasn't yet. So we don't have any timetable on fixing the animation issues right now. I agree that the artillery branch of the mec is less interesting. Oddly, half the people giving feedback say mec corpses are too hard to get, and the other half say they are abundant, and I haven't figured out why this divergence happens.
  16. Necro, I suppose, but this is my new fav: UIAfterAction.uc: //Delay by a slight amount to let pawns configure. Otherwise they will have Giraffe heads.
  17. Many compilers stop upon the first error. So, if you fix one error, you may get a new error, because the compiler stopped before checking for the second error. If you closely compare your line against other similar lines, you will see the problem. A proper line looks like this: static function array<X2DataTemplate> CreateTemplates()
  18. The pinned resource thread should have all you need to get started. Download the sdk and make sure you can get the sample weapon mod working. This is a lot more complicated than local ini file edits, but judging from the number of released mods, hundreds of people have done it. Then, start looking at the files in the mod you want to start with, and figure out how it works. Then change it. (Sounds simple.)
  19. I'm sure the author will take suggestions for improvements on steam/reddit.
  20. Hot off the presses: https://steamcommunity.com/sharedfiles/filedetails/?id=666382532
  21. I'm pretty sure the bug you discovered is that only some parts of the tuning file get applied. I am pretty sure all the templates get created. But, I can't see offhand what code is supposed to be applying the tuning file, so we cannot be certain.
  22. No need for a screenlistener; this code shows how to loop over the difficulty levels and modify templates: http://forums.nexusmods.com/index.php?/topic/3839560-template-modification-without-screenlisteners/ I have used it to make the same modification to a template for all difficulty levels, but a simple modification can do something different for each difficulty.
  23. In the future please either use spoiler tags, or put the whole code file in another location such as pastebin and put the link here. This is a problem of "extending". There is X2Ability. Then X2Ability_RangerAbilityset "extends" that and adds more stuff. What you think you are doing (I believe) is extending X2Ability_RangerAbilitySet, so that anything defined in that file can be used by yours. Unfortunately what you actually did is extend X2Ability. So, stuff which is defined in the ranger file is not visible to you. Change the line: class X2Ability_JedaiiMod extends X2Ability to: class X2Ability_JedaiiMod extends X2Ability_RangerAbilitySet
  24. Oh no! I cannot imagine how that could happen. None of the mod weapons would be available with that line missing
  25. If you like this mod, check out my new one: Hostile Territory http://steamcommunity.com/sharedfiles/filedetails/?id=665546898
×
×
  • Create New...