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
    50 Posts 9 Posters 4.8k 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.
    • JipJ Offline
      Jip @Resin_Smoker
      last edited by

      A UI mod can not interfere with sim code, except through tailored engine calls and sim callbacks. The user layer is in a separate Lua context. You can import even sim files and make edits - the simulation wouldn't notice because it runs in a separate Lua context.

      @resin_smoker said in 4DFAF Uploaded:

      Unfortunately this means that it will NOT be possible to have the units ShieldMaxHealth shown on the UI, if the unit received its shields from anything other than a blueprint.
      Only possibility is to figure out how to alter the UI from the SIM such when the drone shield is created this gets added somehow. Not sure how this would be possible, as the UI triggers on mouse over, not on the shields creation.

      We'd probably need to use a unit statistic that is synced from the sim to the UI. And then update the UI code in FAForever to read from that statistic and use the blueprint as a fallback. I'm not entirely sure about the solution because I've not investigated what the exact problem is.

      But there's solutions if you really want them, just ask for help of the game team and maybe there's something we can do for you 🙂 .

      A work of art is never finished, merely abandoned

      R 1 Reply Last reply Reply Quote 1
      • K Offline
        Krapougnak @Resin_Smoker
        last edited by

        @resin_smoker said in 4DFAF Uploaded:
        If you think what I've done was good, prepare to be shocked.

        I am prepared, shoot ! 😁 👍 👏

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

          @jip I'm down with that... I only need the shields:GetMaxHealth() to be passed to be able to update the UI. Otherwise, the drone custom p-shield, would never be able to display without hijacking the SIM in some game breaking way.

          Edit: Just rubbed two neurons together and made coherent thought.

          Some smart guy, could during the game startup, use blueprint.lua to go through the units that would be drone shield capable. Then assign, what the max shield value would be as a hard value. This is effect would allow me to pass the MaxShieldHealth into the blueprint to be later used by the UI !

          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

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

            Half way there! Here is the Blueprint.lua script to merge the data that i needed...

            ##########################################################################################
            ## --Add drone shield max health into unit bp so UI can use it
            ##########################################################################################
            
            function Custom_Drone_MaxHealth_Blueprint(bp)
            	if not bp then return end
            	local id = bp.BlueprintId
            	local bpDefense = original_blueprints.defense[id]
            	
            	-- Check to see if the gUnit has a Cloak, BuildRate or Economy, if so return false
            	if bp.Intel.Cloak or bp.Defense.Shield.ShieldMaxHealth > 0 or bp.Enhancements.Shield or bp.Economy.MaintenanceConsumptionPerSecondEnergy then
            		return false				
            	end
            	
            	-- Unit Categories to exclude
            	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',
            	}
            	local cats = bp.Categories
            	for k, v in excludedCats do
            		if table.find(cats, v) then
            			return false
            		end
            	end
            
            	-- Calc the drone shield max health based on the unit cat
            	local droneShieldHealth = bp.Defense.MaxHealth
            	if table.find(bp.Categories ,'EXPERIMENTAL') then
            		droneShieldHealth = 10000
            	elseif table.find(bp.Categories ,'TECH3') then
            		droneShieldHealth = droneShieldHealth * 0.3
            	elseif table.find(bp.Categories ,'TECH2') then
            		droneShieldHealth = droneShieldHealth * 0.5
            	else
            		droneShieldHealth = droneShieldHealth * 0.75
            	end
            	
            	WARN('Custom_Drone_MaxHealth_Blueprint for unit ID: ', bp.General.UnitName or 'no unit name found')
            	
            	local unitBp = table.deepcopy(bp.Defense)
            	if unitBp then
            		unitBp.Merge = true
            		unitBp.DroneShieldMaxHealth = droneShieldHealth
            		bp.Defense = unitBp		
            	end		
            end
            

            Repr of a units "self"... Look for the "Defense" and then "DroneShieldMaxHealth"...

            WARNING:  - Defense: table: 11FB39D8
            WARNING:  -    AirThreatLevel: 0
            WARNING:  -    ArmorType: Normal
            WARNING:  -    DroneShieldMaxHealth: 235.5
            WARNING:  -    EconomyThreatLevel: 0
            WARNING:  -    Health: 314
            WARNING:  -    MaxHealth: 314
            WARNING:  -    Merge: true
            WARNING:  -    PersonalShieldThreat: 0
            WARNING:  -    RegenRate: 0
            WARNING:  -    Shield: table: 11FB36B8
            WARNING:  -       RegenAssistMult: 1
            WARNING:  -       ShieldSize: 0
            WARNING:  -    SubThreatLevel: 0
            WARNING:  -    SurfaceThreatLevel: 13
            WARNING:  -    UnknownWeaponThreat: 0
            WARNING:  - Description: Heavy Tank
            WARNING:  - DesiredShooterCap: 3
            

            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

              Got the shield info to display, but dam it displays for everything, when it should only display when the drone-shield is active. the problem is becoming a circular one.... I need info from the sim to activate or deactivate an ability but i can't. Not without using a sim.sync.

              Notice that the unit is showing a shield stat, without it having a shield on it...
              34cf31d4-ac81-430a-8eba-9f148407ac42-image.png

              Sure I can pass the data to the units blueprint, but there isn't any way that i can figure to tell the UI that the shield is active or not.

              Question: Isn't the shield data already in Sync somewhere ?

              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

                How's the progress going? Its been a while since you were quite prolific on the forums. Looking forward to your next iteration.

                1 Reply Last reply Reply Quote 1
                • E Offline
                  EbolaSoup
                  last edited by EbolaSoup

                  Just found this forum. I haven't played in a long time, but I have recently gotten interested again. I was part of the 4thD team and really enjoyed that. I mostly created units with some light script hacking that went along with that. Resin Smoker was the mad coder, always coming up with clever and sometimes far out concepts. Optimus was the game balancer, mod founder, and early unit maker. Some others got involved too.
                  The reason I came here was, once I started getting interested again, I wondered how the modding situation was on FAF and thought that I would maybe release my unit creations to encourage someone to use them in a mod since last I checked 4thD was dead.
                  Glad to see Resin is back at it! Good to see you. Thanks for taking this on.
                  I'd love to see that crazy worm in the ground thing you made and the micro black hole weapon that you were testing out. Those came along too late to be in 4DC, I believe, but they were very cool. People would love those.

                  Units I created:
                  UEF: Balrog, Caiman, Mine,
                  Aeon: T1 bot (Artemis?), Tarantula, redesign of Sniper Bot
                  Seraphim: T3(?) Flying Assault Walker (Kyhkyu Oss)
                  Probably something else I'm forgetting

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

                    Hey @EbolaSoup. Resin was quite active in the FAF Mod community last year in 2024, but went MIA in August last year I think. He updated the 4DC Mod from 4thD Mod to be compatible with FAF. So his crazy worm is indeed available to use - as I have seen. I think all your units are there to. I particularly like the Flying Assault Walker (Kyhkyu Oss), as it is the only "transformer" unit ever created in any mod - as far as I'm aware; but I could be wrong. I for one would love to see more "transformer" units in SC FA. Maybe your could release your units in a small mod pack? Otherwise you can use his 4DFAF Mod which is downloadable in the FAF Client, to play the game.

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

                      I'm still alive but going through some RL issues that limit what I can do atm.

                      @EbolaSoup I'm currently in Germany, having given up on life within the Un-united States.

                      Side note: Are you aware that units can be spawned and then attached to other units? Thus its possible to spawn in custom turrets and attach them to specific mounting points on the Fatboy. The Cybran Vulcanizer uses this technique for its mini-turret, and is "likely" one of the few units ever released in a mod to do this. With the greater Idea being having a large tentacle bot, where the weapon arms could be destroyed separately from the mainbody. For those of you having experienced the Seraphim beam tentacle, then you've a pretty good idea of what I'm talking about here. Unfortunately, the development group fell apart shortly before the tentacle weapon was completed. Thus leaving us without the experimental to mount it upon.

                      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
                      • C Offline
                        CDRMV @Blackrobe
                        last edited by CDRMV

                        @Blackrobe
                        My Unit Pack Commander Survival Kit Units (short CSK Units) will include Transformer Units in the Future. I have several Interesting Concepts related to this topic, which I want to release. 😉

                        @Resin_Smoker
                        Hey nice to See you again. I work with the Function to Spawn Units on another Units as well. For example the Air Transports, which can be called as Air Reinforcements from the Air Reinforcements Manager in the Commander Survival Kit have attached prebuild Land Units. The Idea/Technic to use this Function on the Seraphim Worm is really Interesting and could be useful for my own Cybran Worms as well. The only two questions, which I have is what happens If a Middle Segment Unit of the Worm is getting destroyed? Does the cutted half stay in the Air or will the Unit fully destroyed as well? Since CSK Units introduce Underground Units into the Game what do you think about to add your Seraphim Worm into CSK Units and expand it to be an Mobile Underground Unit instead of an Stationary Defense as an alternative Variation?

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

                          @Resin_Smoker Hope you can sought out RL stuff mate. Glad to have you back.

                          @CDRMV Thanks for letting me know. Keep up the good work.

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

                            @Blackrobe NP... I still drop in every so often to see if there is anyone asking something. So technically I'm still reachable, just not quickly.

                            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

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            • First post
                              Last post