Skip to main content

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

Vessel Tactics

A vore eroge merging SRPG gameplay and Gacha simulation! · By Cyrk

Adding “Summon” attack/skill?

A topic by TotalTor created 81 days ago Views: 1,034 Replies: 11
Viewing posts 1 to 6

This question is in regards to modding.

Would there be any way for a unit to have an attack/skill that would summon another unit on the field?

This is something that I think could open a lot of potential for new abilities, for example, minions, turrets, cover, status tiles, etc.

Basically is it possible to give a unit the capability to modify the field in any way?

My first thought was somehow utilizing the fact that when a captured unit escapes from another unit it appears next to them as a method of summoning but I couldn’t figure a way to do it when looking through the code.

Another possibility I wonder about. Would it be possible for a unit to carry other friendly units into a battle from before the battle. (I’m aware that balance-wise this is practically cheating, that’s why it’s in regards to mods.)

To summarize:

1) Would the game’s code allow a unit to create a new unit in battle.

2) Would the game’s code allow a unit to bring contained units into battle somehow?

Good idea.

(1 edit)

After some further digging I have found the PlacePlayerUnit() method in TurnController.cs

My hope is to call this method for an attack similar to Expel. However I’ve encountered several unrelated issues while attempting to recompile the code using dnSpy.

I still have yet to find an idea for #2 but I intend to keep looking. I dug through that old thread about modded characters but they didn’t seem to encounter this problem. If anyone knows a way to fix Error CS1525 “Invalid expression term ‘>’ along with a couple related errors please help.
Edit: Issue resolved.

How about designing a character with chess? You can release the queen and the little soldier, and they can be swallowed up, but the strength is limited by the way of chess. The character can only walk one grid, and the released queen can walk five grids but according to the rules of chess.

Great idea for a use. Something so specific however would require taking a look at the movement system.

To my knowledge, a unit’s movement in controlled by just their “Speed” value which allows the unit to move in a ring around them Speed-number-of-squares wide.

Attacks are handled using a similar ring method with range being controlled by MinRange and MaxRange, which just control the size and distance of the ring.

(1 edit)

I have decided to use the Expel skill (as seen on Avalon) as a base for designing a "Summon" skill due to the fact that it already has the functionality of pulling up a menu of selectable units to expel.
One issue I've found however is that I believe Expel is the most complicatedly programmed skill in the game.
Currently my objective is to replace Expel's function of spitting up a contained unit with placing a new unit from a list of units which should only be a few minor changes,  but we'll see.

This method was a success.
I've overloaded the Class constructor to contain and extra parameter which is a list of Class IDs. Using code from the PlaceUnit() method in DebugMenu.cs (the Sandbox) units are now able to place other units in battle using their Class IDs. (There are a few temporary visual bugs but nothing major.)
Currently I just have Avalon placing units from her Expel skill's select menu, which I've overwritten the normal function of, meaning that she can only place units when carrying another unit. While this is not intended, it is a cool idea for a character that clones other characters.
The next step is to create a custom skill rather than overwriting expel.

(3 edits) (+1)

UPDATE -
I've managed to create a fully working "Summon" skill that can both be used by any unit in the game and summon any unit in the game.
Summons are fully autonomous units and act exactly the same as regular units.
Summons can use the "Summon" skill as well to create even more units, provided that they have the "Summon" skill.
Things it cannot do just yet:
- Range is fixed at only adjacent tiles I am working on changing it.
- Units cannot be summoned contained inside another unit. (summon-feeding)
- Summoning is currently a free action, I believe that it should take a turn.
- There is currently no limit to the number of summons.
- When summoning units, their 2Dsprites may be facing the wrong angle, making them seem invisible. They correct themselves automatically when the camera rotates so I have not deemed this an issue worth fixing at the moment.

Next Objective - 
Figure out how to get the full summon system into a single mod. Currently the system functions by modifying/creating methods in the game and it's unrealistic to expect people to follow a tutorial to modify the game's code themselves. I expect this to take about a week.

I'm dumb, I can just include the Assembly-CSharp.dll file. Unfortunately, this would disable compatibility with any character that requires the Vessel Tactics Plus (VT+) mod.

Now compatible with characters which require VT+

how can I get this?

Hello, I have not made this modification public as of now.

Because a new game version is expected to release to the public soon, I want to wait until I can confirm that the feature will still work in the new update.

Originally it was my plan to develop a character mod to accompany and exhibit this feature, but that quickly became too ambitious for me.

After the new update releases and I have made everything work with the new code I will make the modification public.

Currently the modification includes:

- The titular Summon feature (+ some new attacks)

- Full integration with Blured’s VT+

- AI vs AI gameplay.

- Various bug fixes.

- New modding tools such as the ability to specify a modded unit’s ID & other aspects. (I expect these to either break or be deemed irrelevant in the next update)