It’s hard to give advice about how code should be structured, since there’s many ways of accomplishing the same things, but you’re doing the right thing by thinking about scalability before you get too deep to change it.
You could try separating eacg trigger condition into their own functions, so that if an OnAttack gets triggered it will only check and loop through OnAttack abilities.
Something like:
OnAttack.connect( CheckOnAttack )
OnDamaged.connect( CheckOnDamaged )
func CheckOnAttack( ATTACK_TYPE ):
match ATTACK_TYPE:
....
func CheckOnDamaged( DAMAGE_TYPE ):
match DAMAGE_TYPE:
....
I’ve had good experiences launching games from Epic on the Heroic Games Launcher. Most games that don’t have extreme anti-cheats should just work. If compatibility is an issue, you can install Linux as a dual-boot option, so you could switch to Windows for certain games.
I started with OpenShot Video Editor for it’s ease of use in being able to cut parts of a clip out. But it was very slow, and now I’d reccommend Kdenlive.
I’d reccomened fine-tuning your own custom preset. Two things are important for quality, both in the Video tab of the GUI: the Quality slider and the speed of the Encoder. You can read about these in the Handbrake documentation: https://handbrake.fr/docs/en/1.7.0/workflow/adjust-quality.html
I had this problem for awhile, eventually I said enough and turned off shader pre-caching. Never noticed a difference in performance.
I got a PinePhone Pro to mess around / have fun with. I couldn’t get any phone features to work (calling/texting). It’s fun to install software on any low-power machine and see what works. But it’s a long way to go for a true Android replacement.
It’s easy if you can follow directions, hard if you don’t have directions, impossible if you don’t have directions and don’t know what you’re doing; archinstall is effortless.