FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login
    The current pre-release of the client ("pioneer" in the version) is only compatible to itself. So you can only play with other testers. Please be aware!

    4DFAF Uploaded

    Scheduled Pinned Locked Moved Modding & Tools
    49 Posts 9 Posters 4.5k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R Offline
      Resin_Smoker
      last edited by Resin_Smoker

      ******* Now on FAF client for download *******
      225dab7a-f8d0-48a4-9b4e-546f837f5229-image.png

      Been working on converting the old 4th-D mod to work with FAF. Just uploaded the 1st portion of it, the original UEF units.

      A few important things of note...

      • It wont modify the preexisting units or game assets. There maybe a follow on mod later that uses the 4th-D and 4DC content for the preexisting units.

      • Currently I've not added any AI support. Partly because its likely changed quite a bit since last I modded anything, and that I'd rather get the units in a playable state first before attempting this.

      • Balancing has been quickly looked at for some units but not all. Hence your constructive input is welcome.

      All in all its taken the better part of a week to go through all 14 of the UEF original units, get them working and cleaned up. There is a far bit of new script done to improve upon or outright replace what was done using DMS.

      Two examples...

      UEF land mines in 4DC used an area sensing technique that to this day I don't fully understand. It was replaced with a "weapon" based system, but does work as intended.

      UEF Thrasher T2 fighter has a all new afterburner script. Able to use the afterburner to catch up to targets or escape. While also able to automatically adjust its Break off distance / trigger based on the type of target it has.

      Enjoy!

      Resin

      Kykhu Oss https://youtu.be/JUgyGTgeZb8
      Unit Thrower https://youtu.be/iV8YBXVxxeI
      Beam Tentacle https://youtu.be/le5SNwHvC4c
      Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
      Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

      1 Reply Last reply Reply Quote 5
      • BlackrobeB Offline
        Blackrobe
        last edited by Blackrobe

        Finally, after all these years! Thanks Resin. Can confirm that all units work as intended to, with the exception of the T2 Naval mine not being able to surface or dive, as the toggle doesn't seem to work. I tested this with BlackOps and BrewLan mods. Loved the Balrog's magma canon explosion graphics. I forgot how "beautiful" it was. Great work, look forward to seeing the other units.

        R 2 Replies Last reply Reply Quote 1
        • IndexLibrorumI Offline
          IndexLibrorum Global Moderator
          last edited by

          For the uninitiated (me), what does this mod add?

          "Design is an iterative process. The required number of iterations is one more than the number you have currently done. This is true at any point in time."

          See all my projects:

          R 1 Reply Last reply Reply Quote 0
          • R Offline
            Resin_Smoker @Blackrobe
            last edited by Resin_Smoker

            @blackrobe the Naval mine is built on the surface and then should sink to deploy. It's a one way animation event.

            Edit: There shouldn't be a toggle. Will check again later.

            There are some instances with mines that they are seen. The way the game handles stealth and Intel, it couldn't be helped. Only other option would be to make the mines non-detectable by all units, even Omni. What are your thoughts on this?

            Kykhu Oss https://youtu.be/JUgyGTgeZb8
            Unit Thrower https://youtu.be/iV8YBXVxxeI
            Beam Tentacle https://youtu.be/le5SNwHvC4c
            Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
            Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

            1 Reply Last reply Reply Quote 0
            • R Offline
              Resin_Smoker @IndexLibrorum
              last edited by Resin_Smoker

              @indexlibrorum In its current form, fourteen custom UEF units. With three of them being experimentals.

              Check out the following videos from 15 years ago. (Yeah its been a long time) And check out some of the snippet videos in my signature, these are also from 4th-D / 4DC.

              https://youtu.be/qGJLD2CByvI?si=xHJ2THKmU4j6FJMU

              https://youtu.be/4XA7mBDGvnI?si=6LBuSGTGNanRdunf

              Kykhu Oss https://youtu.be/JUgyGTgeZb8
              Unit Thrower https://youtu.be/iV8YBXVxxeI
              Beam Tentacle https://youtu.be/le5SNwHvC4c
              Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
              Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

              1 Reply Last reply Reply Quote 0
              • F Offline
                foxy_pj
                last edited by

                Great. Thank you.

                R 1 Reply Last reply Reply Quote 0
                • R Offline
                  Resin_Smoker @Blackrobe
                  last edited by Resin_Smoker

                  @blackrobe corrected the issue with the Naval mine and re-confirmed that they do have stealth for all but Omni.

                  Edit: Will release an update in a few days. Want to sort out the trash bags for the units using attached emitter effects. Got most of this done, but experimentals can take a while due to testing being pretty lengthy for them.

                  Kykhu Oss https://youtu.be/JUgyGTgeZb8
                  Unit Thrower https://youtu.be/iV8YBXVxxeI
                  Beam Tentacle https://youtu.be/le5SNwHvC4c
                  Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                  Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    Resin_Smoker @foxy_pj
                    last edited by Resin_Smoker

                    @foxy_pj Me confused... Edit NM, just saw the PM.

                    Your welcome.

                    Kykhu Oss https://youtu.be/JUgyGTgeZb8
                    Unit Thrower https://youtu.be/iV8YBXVxxeI
                    Beam Tentacle https://youtu.be/le5SNwHvC4c
                    Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                    Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                    BlackrobeB 1 Reply Last reply Reply Quote 0
                    • BlackrobeB Offline
                      Blackrobe @Resin_Smoker
                      last edited by

                      @resin_smoker No worries Resin. I was gunna say that stealth and cloak for all but omni is good. If you have a look at the BrewLAN Mod, he has T1/T2/T3 mines that can go on land and submerse in water; and they are cloaked and stealthed to all but omni as well. If you see what he's done, It should help so you can adapt your mines the same so you see them as cloaked in FAF.

                      R 1 Reply Last reply Reply Quote 0
                      • R Offline
                        Resin_Smoker @Blackrobe
                        last edited by Resin_Smoker

                        @blackrobe I just used the standard in game cloak / stealth, as It's simple and works. Though I'll give the Mod you've suggested a deep look.

                        One thing to consider... The way that intel is setup "Structures" once seen, can not be un-seen, even after Intel is removed. Thus, I've setup the mines as either Land or Naval units, which allows them to once again be un-seen once the Omni source has been removed. (They just can't move) This should make them a bit more viable / functional in longer games as a result.

                        Side note: I really hate that Intel perma-detects structures in this way, and would advise the FAF Dev's to address this issue. Far as I'm concerned, Intel is too powerful, too cheap, and has too great of an area of effect (especially on smaller maps).

                        -Resin

                        Kykhu Oss https://youtu.be/JUgyGTgeZb8
                        Unit Thrower https://youtu.be/iV8YBXVxxeI
                        Beam Tentacle https://youtu.be/le5SNwHvC4c
                        Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                        Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                        1 Reply Last reply Reply Quote 0
                        • R Offline
                          Resin_Smoker
                          last edited by Resin_Smoker

                          Just took a look at the BrewLan mines, specifically unit SEB2220. Looks like he's also using the standard intel system for stealth, along with the "Suicide" weapon trigger event.

                          --Snippet from the units blueprint
                          Intel = {
                                  Cloak = true,
                                  RadarStealth = true,
                                  SonarStealth = true,
                                  VisionRadius = 0,
                                  OmniRadius = 1,
                              },
                          
                          SEB2220 = Class(MineStructureUnit) {
                              Weapons = {
                                  Suicide = Class(MineStructureUnit.Weapons.Suicide) {
                             			FxDeathLand = EffectTemplate.TSmallYieldNuclearBombHit01,
                                  },
                              },
                          }
                          TypeClass = SEB2220
                          

                          Only significant change here is that the mines are using there own Omni Intel rather than other types. Thus the mines can see thru stealthed units. But notice that the mines are all labeled as Structures. This means once they've been discovered via Omni that they will always remain so, even after Omni has been removed.

                          In comparison from 4DFAF unit UEB2102 (yes the identifier shows it as a structure but its not. This is deliberate)

                          --Snippet from the unit blueprint
                          	Intel = {
                          		Cloak = true,
                          		RadarStealth = true,
                          		VisionRadius = 2,
                          	},
                          
                          -----------------------------------------------------------------------------
                          --	File	 : /units/ueb2102/ueb2102_script.lua
                          --
                          --	Author(s): EbolaSoup, Resin Smoker, Optimus Prime, Vissroid, Domino
                          --
                          --	Summary  : UEF Basic Land Mine Script
                          --
                          --	Copyright © 2024 4DFAF, All rights reserved.
                          -----------------------------------------------------------------------------
                          
                          local bombWeap = import('/lua/sim/DefaultWeapons.lua').KamikazeWeapon
                          local emtBpPath = ('/effects/emitters/')
                          local TLandUnit = import('/lua/terranunits.lua').TLandUnit
                          local util = import('/lua/utilities.lua')
                          
                          --Mine custom FX Tables
                          local mineFX = {
                          	emtBpPath .. 'destruction_explosion_concussion_ring_01_emit.bp',
                          	emtBpPath .. 'tti_dirt02_large01_01_emit.bp',
                          	emtBpPath .. 'tti_dirt02_large01_02_emit.bp',
                          }
                          
                          ueb2102 = Class(TLandUnit) {
                          
                          	Weapons = {
                          
                          		Suicide = Class(bombWeap) {
                          			OnFire = function(self)
                          				--Check to see if mine has already fired once
                          				if not self.unit.Detonated then
                          
                          					--Set flag true
                          					self.unit.Detonated = true
                          
                          					--Trigger FX
                          					self.unit:DetonateFX()
                          
                          					--Callback to KamikazeWeapon to perform damage
                          					bombWeap.OnFire(self)
                          				end
                          			end,
                          		},
                          	},
                          
                          	OnCreate = function(self,builder,layer)
                          		TLandUnit.OnCreate(self)
                          		 --Set hitbox
                          		self:SetCollisionShape('Sphere', 0, 0, 0, 0.5)
                          
                          		--Make the mine uncapturable
                          		self:SetCapturable(false)
                          
                          		--Enable stealth
                          		self:EnableIntel('Cloak')
                          		self:EnableIntel('RadarStealth')
                          
                          		--Set flag to prevent multiple firings
                          		self.Detonated = false
                          	end,
                          
                          	OnDamage = function(self, instigator, amount, vector, damagetype)
                          		--Trigger mine detonation if the mine is damaged
                          		if self and not self:IsDead() and not self.Detonated then
                          			self:GetWeaponByLabel('Suicide'):FireWeapon()
                          		end
                          
                          		--Null the damage amount so the unit attacking the mine doesnt earn a kill counter, as it just triggered the detonation instead
                          		amount = 0
                          		TLandUnit.OnDamage(self, instigator, amount, vector, damagetype)
                          	end,
                          
                          	DetonateFX = function(self)
                          		--Sound FX
                          		self:PlayUnitSound('Detonate')
                          
                          		--Do local calls
                          		local army = self:GetArmy()
                          		local pos = self:GetPosition()
                          		local bp = self:GetBlueprint()
                          		local ran = util.GetRandomFloat(0.75, 1.0)
                          		local myWeapon = self:GetWeaponByLabel('Suicide')
                          
                          		--Disable the weapon to prevent them triggering more than once
                          		self:SetWeaponEnabledByLabel('Suicide', false)
                          
                          		--Make FX and decals
                          		for k, v in mineFX do
                          			local mineEmitter01 = CreateEmitterAtBone(self,-2,army,v):ScaleEmitter(0.5)
                          			self.Trash:Add(mineEmitter01)
                          		end
                          		CreateDecal( pos, util.GetRandomFloat(0,2*math.pi), 'nuke_scorch_001_normals', '', 'Alpha Normals', 1 + ran, 1 + ran, 150, 60, army )
                          		CreateDecal( pos, util.GetRandomFloat(0,2*math.pi), 'nuke_scorch_002_albedo', '', 'Albedo', 2 + ran, 2 + ran, 150, 60, army )
                          
                          		--Shake camera
                          		self:ShakeCamera(myWeapon:GetBlueprint().DamageRadius, 0.5, 0.25, 1)
                          	end,
                          
                          }
                          TypeClass = ueb2102
                          

                          Biggest difference here is that the 4DC mines have more destruction effects, impact shake and leave craters.

                          Kykhu Oss https://youtu.be/JUgyGTgeZb8
                          Unit Thrower https://youtu.be/iV8YBXVxxeI
                          Beam Tentacle https://youtu.be/le5SNwHvC4c
                          Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                          Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                          1 Reply Last reply Reply Quote 0
                          • R Offline
                            Resin_Smoker
                            last edited by

                            Uploaded V2 with bug corrections.

                            Kykhu Oss https://youtu.be/JUgyGTgeZb8
                            Unit Thrower https://youtu.be/iV8YBXVxxeI
                            Beam Tentacle https://youtu.be/le5SNwHvC4c
                            Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                            Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                            1 Reply Last reply Reply Quote 1
                            • J Offline
                              J_W_W
                              last edited by

                              Very cool that you are bringing the 4th dimension to FAF!
                              I knew the mod existed, had seen some cool videos in the past, but it didn't work with the current versions of FAF.

                              As FAF has so many improvements over the original, I haven't used the mod before.
                              Looking forward to change that soon, many thanks for the past and present effort!

                              R 1 Reply Last reply Reply Quote 0
                              • R Offline
                                Resin_Smoker @J_W_W
                                last edited by

                                @j_w_w V6 is available now.

                                Kykhu Oss https://youtu.be/JUgyGTgeZb8
                                Unit Thrower https://youtu.be/iV8YBXVxxeI
                                Beam Tentacle https://youtu.be/le5SNwHvC4c
                                Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                                Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                                1 Reply Last reply Reply Quote 1
                                • J Offline
                                  J_W_W
                                  last edited by

                                  Great! Will probably have some time later this week to try it!

                                  1 Reply Last reply Reply Quote 1
                                  • BlackrobeB Offline
                                    Blackrobe
                                    last edited by

                                    @Resin_Smoker

                                    Some minor bugs:

                                    Seraphim:

                                    • T2 Shield Drone no longer works.

                                    Aeon:

                                    • T2 Abolisher Beam Cannon Gunship seems to not have defensive teleportation option or ability (?)
                                    • Predator Sniper Bot doesn't display any information in T2 Land Factory when hovering arrow over it.

                                    Cybran:

                                    • T2 Termite Stealth Insectoid doesn't move legs when walking.
                                    • T4 Vulcanizer doesn't leave track marks. Also, if your order unit to move a second time, it takes about 15+ seconds for it to move. Also, what is the purpose of the "change rate of fire" toggle, other than to change the rate of fire?

                                    UEF:

                                    • T3 Harkon Assault Walker doesn't leave any footprints/track marks.
                                    • Why does the T3 Little John Ultra Heavy Assault Tank and the T3 Harkon have more health/hit points than the T4 Exp Fatboy? Aren't T4 Experimentals always have to have the highest hit points/health?
                                    R 1 Reply Last reply Reply Quote 1
                                    • R Offline
                                      Resin_Smoker @Blackrobe
                                      last edited by

                                      @blackrobe Will give it a look, but I also need to know if your using any other mods.

                                      Kykhu Oss https://youtu.be/JUgyGTgeZb8
                                      Unit Thrower https://youtu.be/iV8YBXVxxeI
                                      Beam Tentacle https://youtu.be/le5SNwHvC4c
                                      Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                                      Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                                      1 Reply Last reply Reply Quote 0
                                      • BlackrobeB Offline
                                        Blackrobe
                                        last edited by

                                        No mods mate. Sorry, I meant to mention that.

                                        R 1 Reply Last reply Reply Quote 0
                                        • R Offline
                                          Resin_Smoker @Blackrobe
                                          last edited by Resin_Smoker

                                          @blackrobe

                                          Just tested the shield drone and its fine.... maybe your running into one of the unit restrictions is has?

                                          	Verification = function(self)
                                          
                                          		--Check to see if a shield is already active.
                                          		if self.GUnit and not self.GUnit.MyShield then
                                          			local gUnitBP = self.GUnit:GetBlueprint()
                                          			local gUnitCats = gUnitBP.Categories
                                          
                                          			--Check to see if the gUnit has a Cloak, BuildRate or Economy, if so return false
                                          			if gUnitBP.Intel.Cloak then
                                          				if myDebug then WARN('Shield Drone Verification, reason: Cloak', gUnitBP.Intel.Cloak) end
                                          				self.FailReason = 'UNIT CAN CLOAK'
                                          				return false
                                          			elseif gUnitBP.Defense.Shield.ShieldMaxHealth > 0 then
                                          				if myDebug then WARN('Shield Drone Verification, reason: Shield in already in blue print', gUnitBP.Defense.Shield) end
                                          				self.FailReason = 'UNIT CAN SHIELD FROM BLUEPRINT'
                                          				return false
                                          			elseif gUnitBP.Enhancements.Shield then
                                          				if myDebug then WARN('Shield Drone Verification, reason: Shield Enhancement', gUnitBP.Enhancements.Shield) end
                                          				self.FailReason = 'UNIT CAN SHIELD FROM ENHANCEMENT'
                                          				return false
                                          			elseif gUnitBP.Economy.MaintenanceConsumptionPerSecondEnergy then
                                          				if myDebug then WARN('Shield Drone Verification, reason: MaintenanceConsumptionPerSecondEnergy', gUnitBP.Economy.MaintenanceConsumptionPerSecondEnergy) end
                                          				self.FailReason = 'UNIT CAN HAS ENERGY MAINTENANCE CONSUPTION'
                                          				return false				
                                          			end
                                          
                                          			--Unit Categories the shield drone is not allowed to enhance
                                          			local excludedCats = {
                                          				--Primary unit retrictions, basicly anything that build, upgrades or makes ammo
                                          				'COMMAND','SUBCOMMANDER','ENGINEER','OMNI','FACTORY','ECONOMIC','SILO',
                                          				--Custom unit restrictions
                                          				'DRONE','MINE','PHASING','TRANSFORMABLE',
                                          				--Misc unit restrictions
                                          				'POD','SATELLITE','UNTARGETABLE','SHIELD','WALL','PROJECTILE','OPERATION','CIVILIAN','INSIGNIFICANTUNIT','UNSELECTABLE','BENIGN','PROP',
                                          			}
                                          			--Compare the gUnit BlueWARN with the excludedCats
                                          			--Should no matches be found return false
                                          			for k, v in excludedCats do
                                          				if table.find(gUnitCats, v) then
                                          					if myDebug then
                                          						WARN('*** This Unit Type Not allowed due to exclusions: ', gUnitBP.General.UnitName)
                                          						WARN('*** Reason: ', excludedCats[k] )
                                          					end
                                          					self.FailReason = excludedCats[k]
                                          					return false
                                          				end
                                          			end
                                          			--Return true if no matches are found
                                          			if myDebug then WARN('Verification passed!') end
                                          			return true
                                          		else
                                          			--Error Sound Effect
                                          			self.FailReason = 'UNIT IS SHIELDED'
                                          			if myDebug then WARN('Verification failed REASON: ', self.FailReason) end
                                          			return false
                                          		end
                                          	end,
                                          

                                          Keep in mind that these restrictions are in place to keep the drop from enhancing units that shouldn't be enhanced for one reason or another.

                                          Continued...

                                          Seraphim:

                                          T2 Abolisher Beam Cannon Gunship seems to not have defensive teleportation option or ability (?)
                                          Works on my end

                                          Predator Sniper Bot doesn't display any information in T2 Land Factory when hovering arrow over it.
                                          Added this just recently so it will be in the next update

                                          Cybran:

                                          T2 Termite Stealth Insectoid doesn't move legs when walking.
                                          Works on my end

                                          T4 Vulcanizer doesn't leave track marks. Also, if your order unit to move a second time, it takes about 15+ seconds for it to move. Also, what is the purpose of the "change rate of fire" toggle, other than to change the rate of fire?
                                          Works on my end, and changing the rate of fire also changes the accuracy. Fire slower for better accuracy. Maybe I should add details for this?

                                          UEF:

                                          T3 Harkon Assault Walker doesn't leave any footprints/track marks.
                                          It never had any

                                          Why does the T3 Little John Ultra Heavy Assault Tank and the T3 Harkon have more health/hit points than the T4 Exp Fatboy? Aren't T4 Experimentals always have to have the highest hit points/health?
                                          **Can adjust the hitpoints once I've received feedback from more people. Though also consider that the Fatboy is pretty weak if not supported.

                                          Anyways, all that being said, most of the problems your encountering are likely the results from other mods. Either they're breaking FAF completely on their own, or they're attempting to overright something within 4DFAF. I wont know unless I've looked at some of these mods, thus having a mod list from you is critical to be able to advice you, or for me to add mod restricitions within 4DFAF's mod_info.lua. (Which would prohibit them from running with 4DFAF)

                                          -Resin

                                          Kykhu Oss https://youtu.be/JUgyGTgeZb8
                                          Unit Thrower https://youtu.be/iV8YBXVxxeI
                                          Beam Tentacle https://youtu.be/le5SNwHvC4c
                                          Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                                          Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                                          1 Reply Last reply Reply Quote 0
                                          • R Offline
                                            Resin_Smoker
                                            last edited by

                                            Version 7 uploaded.

                                            Kykhu Oss https://youtu.be/JUgyGTgeZb8
                                            Unit Thrower https://youtu.be/iV8YBXVxxeI
                                            Beam Tentacle https://youtu.be/le5SNwHvC4c
                                            Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
                                            Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post