FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login
    1. Home
    2. FreadyFish
    Offline
    • Profile
    • Following 2
    • Followers 1
    • Topics 7
    • Posts 50
    • Groups 1

    FreadyFish

    @FreadyFish

    Making UI mods to one day become master (clearly a mod issue, not a skill issue).

    Feel free to reach out if you want to talk about ideas or need help.

    29
    Reputation
    18
    Profile views
    50
    Posts
    1
    Followers
    2
    Following
    Joined
    Last Online
    Website github.com/orgs/FreadyFishFAF/repositories
    Location Sweden

    FreadyFish Unfollow Follow
    Global Moderator

    Best posts made by FreadyFish

    • Completely customizable hotkeys mod

      Feeling limited in creating your ultimate hotkey layout? Look no further.

      TBA/work in progress mod that will allow you to customize your hotkeys programatically. You will need to write code to change it, but it has a fairly easy to understand structure to it. Example:

      example1.PNG

      E =

      • If you have only factories selected = execute the custom HotbuildOverhaul (a mod) group "HBO_T1_2". I have it saved as the second T1 unit which means it builds land scout / air scout for example.
      • If you have only engineers selected = start reclaim mode
      • Else (if you have nothing selected) = select all bombers on screen that are not torpedo ("ANTINAVY")
        • Then, assign a subhotkey for E, meaning that if you quickly click E again you'll select all bombers on the whole map instead.

      The time you have to register a subhotkey is taken from the double-click decay time that you can set in the original settings. I think the default is 500ms. Then it is reset. If you use another key that is not in the subhotkeys (or if you don't have any subhotkeys registered) it will ofc register whatever you pressed even within those 500ms. You can technically nest an infinate amount of more subhotkeys inside subhotkeys as well to really go wild with your combos.

      More examples:

      example2.PNG

      Q =

      • If any unit/units are selected = enter patrol mode.
      • If nothing selected = Select all onscreen idle/moving/patrolling/attackmoving T1 engineers (engineers that have no build order as part of their queue basically)
      • Q --> 2 = select same but T2 engineers. (Q --> 3 = T3 eng, Q --> 4 = SACUs)
      • Q --> Q select all those T1 engineers and enter patrol mode.

      I have the Y button set for all my commander enhancements:

      • Y = switch to the enhancements tab
      • Y --> T = Start Tech upgrade
      • Y --> U = Start Gun upgrade
      • etc with all buttons surrounding Y

      And so on, only your imagination sets the limits.

      The obvious advantage here is that you can use the same key for different things depending on the context. Kind of like build mode but automatic.

      I have migrated almost all my hotkeys in there and use it on a daily basis, but you can mix with your ordinary hotkeys if you only want to customize a few.

      Right now it overwrites every hotkey that you put in there, so you put the E hotkey in there it replaces (and deletes forever) your old E hotkey. Hence I am not publishing an alpha release for everyone yet because I don't want to ruin someones hotkeys. I forked it from the MoreHotkeyLayouts mod that has a neat function that saves your old hotkeys the first time you run the mod, but I still need to make sure that is working and stable.

      Future idea

      • Multiple profiles. Right now it's all just in one big file, but it would be cool if anyone who takes the time to make their own profile can upload it and we can add those as a different profile. If you like a profile but some key is different on your keyboard, fix it, upload and every profile can then have different language versions too. These profiles could then be selected from a graphical interface as well as resetting your old keys if you want to.

      Anyone else obsessed with hotkeys? Feel free to share your thoughts.

      As long as you understand that you need to take a backup of your Game.prefs file I'll gladly give you access.

      Always open to collaborate if you want to hep out 👏

      More mods to come.

      // FreadyFish

      posted in Modding & Tools
      FreadyFishF
      FreadyFish
    • Higher tolerance when matching few people

      Its way past midnight. Six night warriors are up. 0 active games, they are all in the 3v3 queue. The 90 seconds come and go, and again, and soon the six warriors were five.

      And, of course, no one even thought about joining the 2v2 queue.

      If there are no active games, can we just get a game with the best possible balance, even if it's not great?

      posted in Suggestions
      FreadyFishF
      FreadyFish
    • RE: Shouting into the wind - T1 arty

      I think you're onto something here! Arty spam is ugly and works too well. Especially those annoying seraphim floaters. Ugh. Would like to see how it works in game. How about we make a demo mod for it?

      posted in Balance Discussion
      FreadyFishF
      FreadyFish
    • RE: FAF hotbuild preset camera controls?

      In the Key bindings menu, under "Camera" category you will find everything.

      Activate free mode, then press space and move your mouse. You can do this at lower camera hights without free mode but then it resets automatically.

      Tracking is also there.

      posted in I need help
      FreadyFishF
      FreadyFish
    • RE: Shouting into the wind - T1 arty

      @Arran

      T1ArtyBalance.zip

      https://github.com/FreadyFishFAF/T1ArtilleryBalance

      Seraphim is not how you described, I made it as a low arc instead. I'll look into if I can apply a different gravity to it to create that effect you're looking for but this will give similar effect on gameplay, ie the shell arrives faster.

      Aeon will also have to be looked into, haven't done something like that before. But I am thinking we can do all those cool visual things last if we manage to get the balance in order.

      Relevant code below, it should be easy enough to play around with. Change the "local ____DPS = X" and the Damage will be calculated automatically based on RoF.

      -- Disable predictive projectiles to make them ineffective against moving targets
      bp.Weapon[1].LeadTarget = false
      
      -- Double the cost
      bp.Economy.BuildCostEnergy = bp.Economy.BuildCostEnergy * 2
      bp.Economy.BuildCostMass = bp.Economy.BuildCostMass * 2
      
      -- Increase weapon range by 2 units
      bp.Weapon[1].MaxRadius = bp.Weapon[1].MaxRadius + 2
      
      if id == "uel0103" then -- UEF T1 Artillery
      
          local uefRoF = 0.5
          local uefDPS = 2
      
          bp.Weapon[1].RateOfFire = bp.Weapon[1].RateOfFire * uefRoF
      
          bp.Weapon[1].Damage = bp.Weapon[1].Damage * uefDPS / uefRoF
      
          bp.Intel.VisionRadius = bp.Intel.VisionRadius * 2
      
      elseif id == "url0103" then -- Cybran T1 Artillery
      
          local cybranRoF = 1.5
          local cybranDPS = 1
      
          bp.Weapon[1].RateOfFire = bp.Weapon[1].RateOfFire * cybranRoF
      
          bp.Weapon[1].Damage = bp.Weapon[1].Damage * cybranDPS / cybranRoF
      
          bp.Physics.MaxSpeed = 3.7
      
          bp.Weapon[1].DamageRadius = bp.Weapon[1].DamageRadius * 1.5
      
          bp.Weapon[1].FiringRandomness = bp.Weapon[1].FiringRandomness * 1.25
      
          -- Stun
          for k, v in bp.Weapon[1].Buffs do
              v.Duration = v.Duration + 2 -- default is 3s for T1, 2s for T2, this makes it 5s for T1, 4s for T2
          end
      
      elseif id == "ual0103" then -- Aeon T1 Artillery
      
          local aeonRoF = 1.5
          local aeonDPS = 2
      
          bp.Weapon[1].RateOfFire = bp.Weapon[1].RateOfFire * aeonRoF
      
          bp.Weapon[1].Damage = bp.Weapon[1].Damage * aeonDPS / aeonRoF
      
          bp.Weapon[1].DamageRadius = 0
      
          bp.Weapon[1].FiringRandomness = 0
      
      elseif id == "xsl0103" then -- Seraphim T1 Artillery
      
          local seraRoF = 3
          local seraDPS = 2
      
          bp.Weapon[1].RateOfFire = bp.Weapon[1].RateOfFire * seraRoF
      
          bp.Weapon[1].Damage = bp.Weapon[1].Damage * seraDPS / seraRoF
      
          bp.Weapon[1].BallisticArc = 'RULEUBA_LowArc'
      end
      
      posted in Balance Discussion
      FreadyFishF
      FreadyFish
    • RE: Disconnect tele effect

      What if each individual player was able to recall, with a proper delay. And disconnecting could simply trigger that delay. I don't see how anyone could abuse it and so what if it can be slightly beneficial in some circumstance, I say good for you for making the right decision.

      posted in Suggestions
      FreadyFishF
      FreadyFish
    • RE: 4z0t's ScoreBoard

      @Ctrl-K Whats up Az0t?

      My personal version, showing resources/storage + income at the same time. Crude but effective.

      I could imagine it as a checkbox option if you're interested.

      Also made the ping indicator stay visible longer and bigger.

      SCFrame_Fri_May_24_192545_2024_00000.jpg

      posted in Modding & Tools
      FreadyFishF
      FreadyFish
    • RE: Shouting into the wind - T1 arty

      @arran Haven't made a sim mod in a while but should be easy. We basically just throw around some numbers and change some trues to falses and we're done! 😁

      posted in Balance Discussion
      FreadyFishF
      FreadyFish
    • Party rating for ladder

      In Starcraft 2 I remember having a seperate rating for each party. Is this something that could be implemented in FAF?

      It is more fun to have a common rating to work on, and more importantly it would allow higher and lower rated players to play together without destroying or inflating their individual rating.

      posted in Suggestions
      FreadyFishF
      FreadyFish
    • Mod icon not showing in client

      I uploaded my first mod, Color Coded Strategic Icons, and the icon is showing up in the ingame menu but in the client it is absent. Why? This seems to be the case for many mods.

      posted in Modding & Tools
      FreadyFishF
      FreadyFish

    Latest posts made by FreadyFish

    • RE: FAF hotbuild preset camera controls?

      In the Key bindings menu, under "Camera" category you will find everything.

      Activate free mode, then press space and move your mouse. You can do this at lower camera hights without free mode but then it resets automatically.

      Tracking is also there.

      posted in I need help
      FreadyFishF
      FreadyFish
    • RE: Color coded strategic icons

      @arran Ah! That's right, I forgot the SMDs! For V4 they will have graduated from elemantary school, promise!

      Casts, I know.. sorry about that 👼 You know what, I will write some YT comments and ask if they want to try it!

      posted in Modding & Tools
      FreadyFishF
      FreadyFish
    • RE: Color coded strategic icons

      V2 had LOG calls that will run every tick on factories, my bad. V3 uploaded and fixes this

      posted in Modding & Tools
      FreadyFishF
      FreadyFish
    • RE: Color coded strategic icons

      V2 released

      Capture.PNG

      posted in Modding & Tools
      FreadyFishF
      FreadyFish
    • RE: Request for UI mod for TML auto pause

      @arran This is why

      SCFrame_Mon_Sep_02_184557_2024_00000.jpg

      I made everything to be in line with the color scheme of Color Coded Strategic Icons, but yes some sort of color picker is a good idea. I love settings, as long as there is a good default out of the box!

      I have made so many of those fixes to UI-Party and other mods to make it all work together, and I think I remember having that problem and fixing it. With 38 mods running in total (😏) it all runs smooth for me now after all.

      You ideas are great as always, thanks! When it's time to start working on it I will come back and go through everything in detail.

      posted in Modding & Tools
      FreadyFishF
      FreadyFish
    • RE: Request for UI mod for TML auto pause

      @arran Let me share the current state of things, maybe you have some ideas!

      SCFrame_Sat_Sep_21_152819_2024_00000.jpg

      I actually built it from the econtrol in UI-Party, but beware: I have made other changes in there as well and some things are removed after my personal needs. So it's not just UI-Party with a modifed econtrol. Need to clean that up sometime.

      If you want to try:

      mods.zip (Includes my slightly modified common mod tools that fixes a problem I had with UMT SetHiddenSelect.)

      It works but it's been left like this for a while, but my ambition for it is to be much more configurable, yet should be simple to use as well. I've found it hard to figure out how it will look to fulfil both of those and also integrate all my ideas.

      It already:

      • Shows expenditure (green/pink bars - left side is abilities, right side construction)
      • Pause whole category (red square - right click the bar area)
      • Show how much resources were spent before pausing (red/turquoise bars)
      • Autopause (orange square, ctrl-right click bar area)
      • Continue (left click bar area)

      I'd like it to:

      • Set specific threshold for each category to control which units gets autopaused first (now they all autopause when less than 80% or something like that).
      • Profiles, that can be saved and activated quickly during the game.
      • Prioritize, meaning pause everything else unless over a resource threshold
      • Autopause on mass thresholds as well
      • Expandable subcategories: T1, T2, T3 factories for example, right now I just have land/air etc.
      • Set autopause/prioritize only, or ignore some, specific units - useful for autopausing for example all radars/shields except your most important ones.
      • Special cases like for launchers. Maybe there is something more
      • Auto activate, for example Cybran ASF stealth capability that starts off even when overflowing energy.
      • And more, these are just the things I could remember

      If you get an idea of how to puzzle all of this into the UI, let me know. I'd be very grateful. At this point the coding feels much easier to me even though that's a lot of work for sure.

      posted in Modding & Tools
      FreadyFishF
      FreadyFish
    • RE: Request for UI mod for TML auto pause

      @arran It's a rare thing to have a bug work in your favor!

      You know, I think the wish a mod foundation might just be able to grant your request.

      This idea has been on my mind too for a while, but I am thinking it has to be possible to set each individual launcher differently. For me I don't see how it will be that useful if I am locked to one level, and who has time to go to the menu mid game? Instead, I'd go all the way and put everything into a UI and have an overlay of the number to go along with it. With the ability to save the default number to persist between games as well.

      It so happens that I am working on a mod that autopauses any category of units with the click of a button. Only on low energy right now but should be easy to add other conditions. I need to finish up the icons mod first but after that it might be time for me continue on it, and it would fit to integrate your idea there I think. It is a lot of work though, I wouldn't hold my breath. Maybe someone else can make a simple one first. I'd be happy to copy some of that code when I need it 😁

      posted in Modding & Tools
      FreadyFishF
      FreadyFish
    • RE: Shouting into the wind - T1 arty

      @Arran

      T1ArtyBalance.zip

      https://github.com/FreadyFishFAF/T1ArtilleryBalance

      Seraphim is not how you described, I made it as a low arc instead. I'll look into if I can apply a different gravity to it to create that effect you're looking for but this will give similar effect on gameplay, ie the shell arrives faster.

      Aeon will also have to be looked into, haven't done something like that before. But I am thinking we can do all those cool visual things last if we manage to get the balance in order.

      Relevant code below, it should be easy enough to play around with. Change the "local ____DPS = X" and the Damage will be calculated automatically based on RoF.

      -- Disable predictive projectiles to make them ineffective against moving targets
      bp.Weapon[1].LeadTarget = false
      
      -- Double the cost
      bp.Economy.BuildCostEnergy = bp.Economy.BuildCostEnergy * 2
      bp.Economy.BuildCostMass = bp.Economy.BuildCostMass * 2
      
      -- Increase weapon range by 2 units
      bp.Weapon[1].MaxRadius = bp.Weapon[1].MaxRadius + 2
      
      if id == "uel0103" then -- UEF T1 Artillery
      
          local uefRoF = 0.5
          local uefDPS = 2
      
          bp.Weapon[1].RateOfFire = bp.Weapon[1].RateOfFire * uefRoF
      
          bp.Weapon[1].Damage = bp.Weapon[1].Damage * uefDPS / uefRoF
      
          bp.Intel.VisionRadius = bp.Intel.VisionRadius * 2
      
      elseif id == "url0103" then -- Cybran T1 Artillery
      
          local cybranRoF = 1.5
          local cybranDPS = 1
      
          bp.Weapon[1].RateOfFire = bp.Weapon[1].RateOfFire * cybranRoF
      
          bp.Weapon[1].Damage = bp.Weapon[1].Damage * cybranDPS / cybranRoF
      
          bp.Physics.MaxSpeed = 3.7
      
          bp.Weapon[1].DamageRadius = bp.Weapon[1].DamageRadius * 1.5
      
          bp.Weapon[1].FiringRandomness = bp.Weapon[1].FiringRandomness * 1.25
      
          -- Stun
          for k, v in bp.Weapon[1].Buffs do
              v.Duration = v.Duration + 2 -- default is 3s for T1, 2s for T2, this makes it 5s for T1, 4s for T2
          end
      
      elseif id == "ual0103" then -- Aeon T1 Artillery
      
          local aeonRoF = 1.5
          local aeonDPS = 2
      
          bp.Weapon[1].RateOfFire = bp.Weapon[1].RateOfFire * aeonRoF
      
          bp.Weapon[1].Damage = bp.Weapon[1].Damage * aeonDPS / aeonRoF
      
          bp.Weapon[1].DamageRadius = 0
      
          bp.Weapon[1].FiringRandomness = 0
      
      elseif id == "xsl0103" then -- Seraphim T1 Artillery
      
          local seraRoF = 3
          local seraDPS = 2
      
          bp.Weapon[1].RateOfFire = bp.Weapon[1].RateOfFire * seraRoF
      
          bp.Weapon[1].Damage = bp.Weapon[1].Damage * seraDPS / seraRoF
      
          bp.Weapon[1].BallisticArc = 'RULEUBA_LowArc'
      end
      
      posted in Balance Discussion
      FreadyFishF
      FreadyFish
    • RE: Shouting into the wind - T1 arty

      @arran Haven't made a sim mod in a while but should be easy. We basically just throw around some numbers and change some trues to falses and we're done! 😁

      posted in Balance Discussion
      FreadyFishF
      FreadyFish
    • RE: Shouting into the wind - T1 arty

      I think you're onto something here! Arty spam is ugly and works too well. Especially those annoying seraphim floaters. Ugh. Would like to see how it works in game. How about we make a demo mod for it?

      posted in Balance Discussion
      FreadyFishF
      FreadyFish