Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

(note that I am not part of the dev team, I am just someone who mods the game for fun)

the game reads skills to give a unit from the 2nd array, so throw them into the new int[6] { -99, 10, 11, 16, 120, 121 })); part

yeah, any characters listed in ClassList.cs and characters created by the modded character system will be treated as entirely separate characters code-wise (so they won't inherit anything you create for them in ClassList.cs)

stomach sizer system is mainly for giving out temporary skills related to the unit's current total stomach size; you can think of it as doing "if total stomach size is greater to or equal to x then give y"

you need to have a skill on a unit with the flag Skill.Flag.Carrier or else it won't be considered as having carrier abilities (which is what chateau's bulwark does); don't try to use 120 or 121 as actual skills to put on a unit since they're temporary skills that are used to designate the current state of the unit

to give a modded unit custom skills or abilities, you need to modify ModLibrary.cs (it contains a field you can edit for adding attacks / skills to a unit); it should work as long as the code you created follows the format the game uses and doesn't override anything itself

the first stat after names is the unit's gender (0 is female, 1 is male, 2 is gender-neutral), you don't really need to worry about it since it's used for pronouns (mainly just for modded units); the stat after that is for rarity which only works properly for values 3-6, any more or less than that will cause the game to break due to trying to read invalid values

yeah, that's the process you have to go through to make new attacks and put them onto a unit

I have noticed the so called "field"

there are some questions when i first seeing this.

1.I will remove the code in the Classlist.cs in order to not to have 2 same units in game.

(the code in Classlist.cs)

list.Add(new Class("Humvee", "Vehicle", "c911", "Vroom!Vroom! Open up for your Freedom delivery is here!", "Commander", "Master", 2, 5, new Stat(500f, 600f, Dice(15, 50f)), new Stat(140f, 200f, Dice()), new Stat(100f, 140f, Dice(5, 50f)), new Stat(70f, 100f, Dice(5, 50f)), new Stat(40f, 80f, Dice(3, 30f)), new Stat(45f, 90f, Dice(3, 50f)), new Stat(40f, 80f, Dice(3, 30f)), new Stat(100f, 120f, Dice(3, 30f)), 7, UnitInfo.Move.Ground, 30, 200, 1, 150, 5, 0, 2, (SpecialV s) => 2, 1, 5, 1, 90, 0, new int[2] { 15, 16}, new int[6] { -99, 10, 11, 16, 28, 29 }));


2.Ok if this can only read one unit at the time,How to make 2 modded units? Using two mod files(for example:Mod A and Mod B) and put them in the mod file?

`-`

btw i found this section and modified it a bit.


this is after my modification.


And i guess if there are more than one mod file,the change will be like this.


Now the mod thing is getting clear again,however what is reamin still bothered me.

If I finished this coding thing,what do i do after finished it? i cant open modded vessel tactic ofc.

(1 edit)

Is your system locale set to English ? that can be the issue with games opening and closing, if not you would need to redownload the game and extract it. other times it could be the file pathing. (I hope you find this to be helpful) if not then idk

you can have multiple modded characters loaded in at once since you just need to put their separate asset folders into the "Mods" folder of the game

is there a specific issue you're having when using modded characters? (e.g. you have no units when starting up the game)

(1 edit)

the thing is that idk if this works,thus i need you guys help me confirmed that.

so after i modified these all,and delete the code in classlist.cs.

I dont know what is the next step?

because for now,everything in my folder named "Vessel Tactic 911 test" is only "AuxiliaryFiles" and "ExportedProject"

there isnt any "vessel tactic" for me to click in and play.

you need to use dnspy to inject the code you made into the Assembly-CSharp.dll file found in Vessel Tactics\Vessel Tactics_Data\Managed; after doing that, you need to create a modded character yourself using the examples found in the "Mod Example" folder

(1 edit)

Could you be a little bit more speific?

like

how to i use this dyn?

what do you mean inject codes?

i can NOT open any files.

I'm talking about this program, it's what I mentioned in an earlier post https://github.com/dnSpy/dnSpy/releases

it's a tool used for code injection / extraction, but you're going to mainly be worried about the injection part here since you need to edit the file I mentioned to get the code you made included in it, here's a basic guide on how to use it: 


So you basically tell me.

I can simply use Dnspy and modified the code without using assest Gripper?

dnspy is required if you want to do any modification of the code itself, but there's another reason why I told you to use assetripper as well; technically using only dnspy to get the code could work, though I mainly told you to use assetripper with it as well since it gives you a version of the code that is more legible compared to dnspy's version of the code that it gives you

Hello, and sorry for posting in such an old thread.

I have been following this thread as a kind of tutorial. (Very helpful, thank you.) But I have encountered a problem when attempting to use dnSpy.

I have used AssetRipper to decompile v0.11b (I am aware that modded units are disabled in this version, my only goal is to add a custom attack to existing characters.)

When using dnSpy to edit the code of my instillation (still v0.11v) and inserting my modified code in AttackList.cs I encounter several errors when attempting to recompile. (Variations of: Error CS1525, Error CS0119, & Error CS0659)

I have verified that my modified code is not the issue by attempting to recompile an unmodified version of AttackList.cs which encountered all of the same errors. As far as I can tell all of the errors relate to UnityAction which only appears in dnSpy and not the actual CS code.

I’m not sure if it’s because changes have been made since this thread was active or if I’m just using dnSpy wrong. Any help would be appreciated.

make sure you're using this version of dnspy first, the more recent versions of vt aren't as compatible with the older versions of dnspy anymore and it should fix some compiling errors you may run into https://github.com/dnSpyEx/dnSpy/releases/

try that first, if that didn't work then I can't tell you exactly what's wrong from the information you gave me since I would need more specific info, my guess is that it would either be a syntax error or not formatting your code properly

Thank you for responding. I spent some time messing around and found that the version of dnSpy I was using (6.1.8) was adding unnecessary lines of code that it could not interpret and if I simply removed/reformatted the lines throwing errors, the problem would be resolved.
This new version fixes the issue altogether, thank you very much.

(1 edit)

Apologies for once again requesting support on such an old thread, but I've encountered some more dnSpy jank that I do not know how to solve.
I am attempting to edit the RunAttack() method in EventScene.cs as part of adding a custom attack. I am editing the switch: statement which contains most of the attack IDs and adding a case: for the custom attack in AttackList.cs
In case it matters, the custom attack is a clone of "Pamper" with the only change being the CT.S_Type, I have the ID set to 2223.

The problem in dnSpy is that whenever I attempt to add the code for the new attack, or even edit the code for the existing "Pamper" attack, dnSpy completely misinterprets the code and creates code for an irrelevant attack. (Seems to be "Kiss" most of the time but I've seen other things on various attempts.)

There are no errors with the code to my knowledge, the game still runs find and can execute this strange code, but it is preventing me from making progress and would like to know why it is happening and perhaps how to fix it.

Images attached:
Code that I wish to add -


Code that gets added -


Edit: I have found a somewhat solution after reformatting the entire script that allows the code to stop hallucinating and actually save what I write. Still would like to know why this happens because the reformatting takes a lot of time.