should be fixed now
crimson9715
Recent community posts
I made a playlist on youtube of all the songs used in the game (including ones that were used in previous updates), let me know if I missed something https://www.youtube.com/playlist?list=PLm9OzVUXex5Zcl-PbX5-No29lMNn4WXhC
you put the Assembly-CSharp.dll file that's included in the download into Vessel Tactics\Vessel Tactics_Data\Managed, make sure you replace the file entirely for it to work
you put the modded character's asset folder into Vessel Tactics\Mods, if you did it correctly it should automatically start loading in their assets when you start up the game
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
(note that I did not create this myself, even though I did help with the coding; I am merely reposting it here from the portal website with permission of the original creator)
Commander, we've located another denizen of the frontier willing to augment your forces. A faster than average lamia with venom strong enough to stop a vessel in the tracks. Not for long mind you, but long enough for her to scarf down her enemies. Though I'd advise you against picking up strays that could pose a threat to our own forces, her hit and run tactics may prove useful to you.
Features custom art, dialogue, and coding for her to function as a complete unit. Also compatible with the Aon mod: https://itch.io/t/3527783/blured-modded-characters
Credits:
Antare5: Art / Design
crimson9715: Attacks / skills coding
BluRed: Aon mod creator
The mod can be downloaded here: https://www.mediafire.com/file/idvcjm8gxpac21q/AdderModV1.3.1for0.04d.zip/file
It is compatible with version 0.04d of Vessel Tactics.
A more up to date version of the mod can be accessed from the game's discord for supporters of the game.
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:
(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
to add a skill to a unit, you just insert the skill's id into the field where skills go in a unit's classlist entry (you'll have to edit ModLibrary.cs if you're going to be using a modded character)
the "current.skills.Remove(122)" parts are there to handle the stat changes a unit has depending on its current stomach capacity (there's no current function to clear it all out at once, so it just does it manually)
the 50 and 130 values are chateau's struggle and stun stat amounts respectively; the public class defined at the bottom of Class.cs tells you what to match the values to
the int you see are the arrays used by the game to tell what attacks / skills a unit may have; the first array is for attacks, the second one is for skills
you don't need to worry about the -99 since it's a separate skill for the stomach sizer system
to edit attack range, you have to edit / create an entry in AttackList.cs to your liking since they're all hard-coded to only work with what's included in an entry (so you can't change range purely from character skills / stats)
you are required to put the character's asset folder into the game's modded character folder if you want to use them, though do note that attempting to put stuff into ClassList.cs to get it to function won't work due to it requiring some extra stuff that's not as easy to modify (unity files) and the game will treat them as separately entire characters (which you don't want to happen)
pretty accurate guide for skills as you got everything down that you need to know the basics for; as for what Pause() does, it just tells the game whether or not to pause the queue of what code to run when currently in an event scene (mainly so it doesn't try to run multiple things at once)
do note though that some flags are currently unfinished / non-functional / require extra code to make them work properly, so I'd say stick to what's currently used by other skills when making something of your own
attacks are pretty simple since you mainly just need to worry about setting up a listing for them in AttackList.cs; once an attack is ran, the actual code for the attack is stored in EventScene.cs (match the internal id value of the attack to the case number there), though there are some special cases like digest that don't use the event system since they use a separate system to handle their functionality
attacks use this format at the top of a listing: attack id value (make this unique) > display name > internal name (put whatever here as the player won't see it) > description > power > en cost > stun amount > minimum range > maximum range > accuracy > array size (make this value equal to the amount of flags you put for the attack) > flags (look in Attack.cs to see what you can put in here)
most of the code you see in an attack listing is mainly for controlling values in the ui / controlling the conditions for which an attack can be used, so I'd say just copy an already-existing attack and modify that
Class.cs is there to define how to handle the values of an entry in ClassList.cs, you don't need to touch anything at all in Class.cs
the attributes such as rarity and movement control the in-game stats of a unit (with rarity controlling how many stars a unit has in the vessel details menu and movement controlling how many tiles a unit can move per turn respectively)
the numbers are there just to be part of a flag system the game implements, you don't need to touch them at all
to make a new skill, you have to edit SkillList.cs by creating a new entry in the code for it; I'd say use chateau's bulwark skill as a base since it contains the Skill.Flag.Carrier flag that the game uses to know if a unit has carrier abilities
to put your custom skill on an actual unit though, you'll have to either edit ClassList.cs to make it be included with a pre-existing unit or ModLibrary.cs to change how it handles creating modded characters (which comes at the cost of it applying to all modded characters though)
you can use these two programs for basic modding of the game: https://github.com/AssetRipper/AssetRipper/releases https://github.com/dnSpy/dnSpy/releases
you use assetripper to extract the game's code into a readable state, then use dnspy to inject your edited code into the game
do note though that you'll have to learn the game's format for skills / unit setup first, you'll be able to see the format / entries with these files: Class.cs, ClassList.cs, Skill.cs, SkillList.cs
there is an official discord server for the game, but it's only for subscribers of the game's patreon ($2 minimum) https://www.patreon.com/meshisoftworks/membership
I'm just a fan of the game posting info around since the dev mainly keeps to patreon content for sharing info (with it almost being a year by now by the last time they've responded to itch.io comments; I'm not really leaking any paid content though if you're worried about that)
the dev does have an account on eka's portal though if you'd like to contact them there
you download the latest version of the game as a zip file, then use a program like 7zip to unpack the file https://7-zip.org/
do keep in mind that the struggle system is balanced around swallowing partially damaged units (as units lose struggle power depending on how low their health is, whether from being attacked or digested), along with units automatically recovering some stun at the start of their turn; the values being so high initially are there to act as a nerf to units that get swallowed at full health (to make gameplay more dynamic)
it could be an issue with your locale since it's known that some languages cause the game to bug out when loading modded characters; either you can change your pc's locale itself before starting the game, or alternatively you can use this to make it easier on you so you don't have to change it manually every time you want to start up the game (make sure you set up an english profile) https://github.com/xupefei/Locale-Emulator/releases/download/v2.5.0.1/Locale.Emu...
player pred content (modded or official) would be a bit tricky to add considering that the player is meant to be an in-universe character, though it's up to whoever makes it really if they want to keep that in mind
there are a few modded characters out there already, though they're mainly kept to the game's patreon discord server (though you can at least check out the two modded characters the game gives you as examples if you want to test out the system for yourself)