>if skill == cleave and support == wide_sweep:
make cleave radius bigger<p>if skill == cleave and support == focused_edge:
make cleave smaller but stronger<p>if skill == cleave and support == twin_cleave and rule == guarded_arc:
quietly move to the woods<p>>That can work for a demo. It gets rough once the game has lots of skills, supports, items, statuses, and encounter rules.<p><i>Laughs in path of building</i> : <a href="https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/blob/dev/src/Modules/CalcPerform.lua" rel="nofollow">https://github.com/PathOfBuildingCommunity/PathOfBuilding-Po...</a><p>Path of Exile has deeper mechanics than pretty much every other ARPGs out there, PoB covers the vast majority of them, in a beautiful mess of about 20k lines of calculations in various files.<p>Making it a "Compiler problem" makes it an unsolvable one in acceptable time.<p>Fun fact: it directly parses mods from their ingame description into a mod database that is basically a stringly typed list of whatever increases also. : <a href="https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/blob/dev/src/Modules/ModParser.lua" rel="nofollow">https://github.com/PathOfBuildingCommunity/PathOfBuilding-Po...</a><p>Second fun fact: that's the one for Path of Exile 2, that has different mechanics. The PoE1 version is the same thing, except even larger.<p>So yeah, don't bother about making a compiler. Your compiler will figure out micro upgrades and die in three months when the game adds incompatible mechanics. Stay agile and on your feet.