From 74bb91983f33d458b7eba800d56c53d26499892e Mon Sep 17 00:00:00 2001 From: kopareigns <kopareigns@gmail.com> Date: Sun, 2 Sep 2018 14:09:30 -0400 Subject: [PATCH] HeroSlavesCleanup should finally work properly --- src/pregmod/widgets/pregmodWidgets.tw | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index 8160a76068e..54b2ac396c3 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -1378,9 +1378,14 @@ extremely pale -5 s.nationality = hashChoice($nationalities); /* Check for a pre-set race and if the nationality fits, else regenerate */ if(s.race && validRaces.includes(s.race)) { - while(setup.raceSelector[s.nationality] && !(s.race in setup.raceSelector[s.nationality])) { + /* Maximum of 100 attempts */ + for (var i = 0; setup.raceSelector[s.nationality] && !(s.race in setup.raceSelector[s.nationality]) && i < 100; i++) { s.nationality = hashChoice($nationalities); } + /* No success after 100 attempts, so just randomize according to race */ + if (setup.raceSelector[s.nationality] && !(s.race in setup.raceSelector[s.nationality]) && i == 100) { + s.nationality = Object.keys(setup[s.race.toLowerCase().replace(/[ -]/g, '')+'Nationalities']).random(); + } } } if(!s.race || !validRaces.includes(s.race)) { -- GitLab