Are these mods possible?

I'm curious if it's possible to change subs depth with a toggle so they can be shallow (can be ground fired) to deep (could not be ground fired)

I'm also curious if we can make any unit fly with a toggle, including subs.

Thanks for any help!

all possible, wie ease even as the differs between shallow and deep water anyways and flying units do need to need anyways putting it behind a toggle or switch is not that hard.

@veteranashe you cannot toggle a unit to fly.
It's an entirely different movement type.
What you CAN do, however, is cheat.
As in, remove the existing unit and in its place put the same unit, copying its current stats, orientation, but this new unit is a flying unit that's landed. Same as when it lands - you remove it and place a land unit in its place, copying current stats & orientation.

I did this with my "Sloth" Legendary class experimental, in my mod Survival Maybem & bo balance". At work now so I don't know the unit's designation, but cheat spawn it under Sloth , and it will spawn.
You can take it from there.

I myself used a Kykhu Oss, or similar, unit, from the so called mod someone made, to make mine.

@veteranashe @DDDX
Of course, it is not possible to convert a land unit directly into an air unit. But there are some tricks you can use to do it. However, the first method, which has been used for the Kykhu Oss is AI technically problematic, as the land unit is completely deleted from the game and replaced by a new air unit or vice versa.

I have found an another Soulution to make it possible.
In my upcoming Unit Pack: Commander Survival Kit Units (short CSK Units) they will be a few UEF Units which have Access to the Jetpack Ability. Short Overview how it works: A Air Dummy Unit without an Visible Model will be spawned at the position of the Land Unit by clicking on an Toggle Button. The Land Unit will be attached on the Air Dummy and Transported to the Target Move Location, which has been set by the Player before. In other Words Order the Land Unit to Move to an specific Location, Press the Jetpack Ability Button and the Land Unit will fly to the Target Location with the Air Dummy ;). If the Air Dummy arrives at the Target Location the Land Unit will be deployed and the Air Dummy will be deleted from the Game after that. Unlike other Methods, which have been tried in the past the Land Unit will Not be deleted from the Game and can use its Jetpack Ability anytime.

In the Current Development Version of CSK Units on my GitHub Repository. There are two UEF Units which have Access to this Jetpack Ability. An Tech 1 Jetpack Mech Marine and the Nix Tech 3 Multifunctional Assault Bot. You can try them Out If you want.

Nice a jetpack mech marine, that's epic

@cdrmv uu that's cool.
Mind if I use that for myself, in my survival mod?

Will check it out, am curious how you handled the move order to the air unit based on the previous move order.
I agree, it's much more elegant. Might I suggest, if giving that ability to a bigger unit, youi also do an AoE damage to the landing zone, as part of the ability? So not only do you surprise move where you previously couldn't, you also slam the ground as you arrive there.

@dddx
I don't have anything against it If someone else want to use this Jetpack Ability in their own Mods. But don't forget to give the Credits to me and to my Commander Survival Kit Project which is the original Source of this Jetpack Ability. 😉

Regarding to the Jetpack Ability:
You will probably notice that the Air Dummy will Move slowly with the attached Landunit to the Target Location to unload it.
I have analyze this already and did a few Experiments and found an workable fix. Currently I didnt have Integrated it yet to the Code so you can expect future Updates regarding to this Ability with new Improvements from my Side. Of course If you do you own Modifications and Improvements on the Code it would be nice If you share them with me. 😉

The Ability is using these two Functions:
local Oldlocation = self:GetPosition()
local MovePos = self:GetCurrentMoveLocation()

The Variable Oldlocation saves the Current Position of the Land Unit. The Variable MovePos saves the Current Move Location of the Land Unit. The Variable Oldlocation is used to Spawn the Air Dummy on the Location of the Land Unit If you click on the Ability Button. The Variable MovePos is used in the IssueTransportUnload Function which Orders the Air Dummy to Move to the Target Move Location to Deploy the Land Unit there.

Regarding to the Suggestion:
The Code is actually really flexible. So it can be expanded and used on larger Units as Well. You Just need the Air Dummy Unit, the Code and modify it so as you want. It is actually possible to make an Slam Arrival Sequence for larger Jetpack Units. The Aeon Experimental Habitat Walker in CSK Units is using an Arrival Sequence If his Build Process is completed. So the Walker will coming from the Planets Orbit and causes an Arrival Impact Effect on the Ground and Rises from it. A similar Sequence can be added to larger Jetpack Units as Well but the Code needs to be expanded with this Feature. I will add some more Units with this Jetpack Ability soon into CSK Units. So i will introduce this Feature into the Mod as Well. 😉

If you or anyone else has any Questions or Suggestions let me know here or on the official Commander Survival Kit Post:
https://forum.faforever.com/topic/6034/commander-survival-kit-a-new-sim-mod/

(Flash back to the old 4DC days)

While Air units can "land", and thus temporarily change layers, they cannot be permanently swapped. Thus locking them into a specific mode of travel. The Kykhu Oss, transformed via "replacement" method creating a new unit, passing the significant details, and then deleting the former. The biggest issue we encountered was saving / copying orders from one unit mode to the other. (It was possible, but only just) The AI especially had problems with this, as effectively the unit was deleted from play. With the newly spawned unit not able to be reassociated with the AI of the former. Optimus tried at length to find a work around without much success. Not that the AI was well understood at the time either, as many of the AI bells and whistles are internal to the game engine.

Note: The Cybran Naval walker got around this by having a workaround coded directly into the game engine. Thus enabling them to use the same unit for both Sea and Land layers. Far as I know of the unit just simply shifts from one animation set to another but otherwise its all seamlessly handled engine-side.

At one point we had a version of the Kykhu Oss that was comprised of two units. A visible and invisible unit that were both interlinked. We'd could easily control which unit was selected, visible and was subject to attacks. While this worked out great, it did have the drawback of using two unit counters. No matter what we tried, we were never able to spawn a dummy unit that didn't count against the players unit-counter.

In hindsight, I could of easily used projectiles, just having the "land" unit leap-frog from point to point. Effectively, we'd add a dummy weapon to the unit and have it target / fire on the location we wish to jump to. The projectile created would be invisible and would use a helper-bone to attach the firing unit to. On impact the unit would be removed from the projectile that's immediately deleted from play. Thing to watch out for here is that the units hitbox could impact the ground / water before it's helper-projectile, likely damaging or destroying the unit. This can be prevented by making the projectiles hit-sphere the diameter that's equal to the units largest XYZ dimension. Though also keep in mind that the games tick-rate is poo poo, thus what we perceive as an impact may or may not occur in the same game "tick".

@CDRMV : I'm betting that the JetPack mod will run into errors if the game is at or near its max unit count. Simply put, you'll be unable to spawn a helper unit into play if your unit counter is already maxed. That is unless the FAF folks corrected the unit count problems my 4DC team encountered.

You could try using the projectile methods as I've detailed above. Just use the units main bone as the weapon, while not requiring it to aim. Just add the requirement that the unit face towards the target before firing. The helper_projectile spawns in (fires), runs its Lua, to attach to parent unit. Once fired, you can remove the parent unit from the projectile as it's now inherited the projectiles velocity and direction. It should continue on to impact the target location, after the helper is removed. Keep in mind that many units don't survive being dropped from a transport, so it stands to reason that the JetPacks could lead to a units death from time to time. There is a Lua for this event as that you could override within your jetpack units Lua. The override would work only for that unit if done in this way, making it compatible with most everything else.

Edit: You may need to add a bone to your JetPack unit in Blender to get the projectile method to work. Reason this may be is that the "bone" must face in the direction you want the projectile to travel. Thus adding a "helper" bone to the units main bone via Blender should be pretty easy. Just have the units updated mesh in the /unit file with its bp. When you call upon the bone via the weapon blueprint and associated Lua, you'll need to reference the name you've chosen. Something Simple like "Helper" is usually good as this doesn't interfere with any of the other set bones. Otherwise you risk breaking the units animations. An alternate method is to create an "entity" that's attached to your unit. I think, this entity can in itself act as a weapon bone. Like i said, its been a long while. (10 years)

Kykhu Oss Flying walker for Seraphim https://youtu.be/JUgyGTgeZb8
Galactic Colossus Unit Thrower https://youtu.be/iV8YBXVxxeI
Seraphim Beam Tentacle https://youtu.be/le5SNwHvC4c
Reflective Shields https://youtu.be/v0w_H1yUU60

@resin_smoker
Well what about the Seraphim Experimental Assault Bot "Ythotha" which spawns the Unidentified Residual Energy Signature If it dies? The Unidentified Residual Energy Signature Is an Dummy Unit (XSL0402) from the Game itself and uses the Unit Blueprint Variable Capcost = 0 which makes it able to be Not count in the UnitCap.

I don't know if you've tried it with this unit in the past regarding the problem with the unit cap, but if not, the following questions need to be answered here:

Does the Error you mentioned appear on this as well If you reach the UnitCap?

Is the Unidentified Residual Energy Signature still spawning here?

My Air Dummy Unit for the Jetpack Ability is currently Not using the Variable Capcost = 0 in its Unit Blueprint File which causes the Error If I reach the UnitCap you mentioned in an Test which I have do Yesterday in the Steam Version of the Game. So I can confirm that but If I add the Variable CapCost = 0 to the Unit Blueprint of the Air Dummy Unit I think it will Not Happen or there are other Variables or Functions which I need to add. My Dummy Units for the Nanite Clouds and the Smoke Screen Ability are already using the Capcost= 0 in thier Blueprint so I can Test it Out with the Unit Cap in the next Days to give you an more Detailed Feedback.

The Projectile Method you suggest is an alternative Way to do that which is worthable to be tried yes. However after the Creation of several Projectiles and Effects I have notice that the Game has an supported Limit how many Projectiles or Effects are displayed on the Map. So If you reach this Limit you will get some Errors in the Debugger related to the Maximal Projectiles or Effects Cap is reached or something similar.

I have a few other Questions for you:
As I remember correctly you have created an Mod in the past related to Chain Lightning. I would like to Check Out the Code for this to use this for my UEF Lightning Towers. Your Reflective Shield Mod Sounds Interesting can I Check it Out?

@resin_smoker I'd love to see your code for that GC