#pragma once #include #include #include #include #include #include #include #include "randodata.hh" class Randomizer { public: Randomizer(std::mt19937 rand); ~Randomizer(); QBuffer *makeRandom(bool global_innates = false); private: std::mt19937 rng; QVector *magic1; QVector *magic2; QVector *magic3; QVector *magic4; QVector *magic5; QVector *magic6; QVector *action1; QVector *action2; QVector *action3; QVector *passive1; QVector *passive2; QVector *passive3; // field passives; to be added to passive1 if they're not going to // be assigned globally. QVector *field; QVector *tier1; QVector *tier2; QVector *tier3; QVector *tier4; QVector *tier5; QVector *tier6; // final results QVector *jobs[JOB_COUNT]; QVector *costs[JOB_COUNT]; Skill commands[JOB_COUNT]; QVector *actions; QByteArray int2byte(int num); void setupData(bool global_innates = false); int tierCost(int tier, int minimum); void randomizeSkills(void); QBuffer *writePatch(void); };