From c4cb44f961f545e9c57e9990d6c736769324db79 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sun, 8 Mar 2020 10:07:04 +0100 Subject: [PATCH 1/3] better starting conditions - demons start cloaked - regions have at least 50 trees --- .gitignore | 2 ++ scripts/eressea/equipment.lua | 7 ++++++- src/kernel/faction.c | 5 ++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 98b1e8e0a..1edc125c6 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,5 @@ tests/data/185.dat /cutest/ /critbit/ *.mo +/.vs +/CMakeSettings.json diff --git a/scripts/eressea/equipment.lua b/scripts/eressea/equipment.lua index 71fe78727..7d92d43c9 100644 --- a/scripts/eressea/equipment.lua +++ b/scripts/eressea/equipment.lua @@ -6,6 +6,10 @@ local function equip_first(u) equip_unit(u, name, 255) end +local function equip_demon(u) + u.race_name = 'human' +end + local mysets = { ['first_unit'] = { ['items'] = { @@ -77,7 +81,8 @@ local mysets = { ['seed_demon'] = { ['skills'] = { ['stamina'] = 15 - } + }, + ['callback'] = equip_demon }, ['seed_insect'] = { ['items'] = { diff --git a/src/kernel/faction.c b/src/kernel/faction.c index 81f2d42b1..7c46ab798 100755 --- a/src/kernel/faction.c +++ b/src/kernel/faction.c @@ -258,11 +258,14 @@ unit *addplayer(region * r, faction * f) const char * name; assert(r->land); + assert(f->units == NULL); if (rpeasants(r) < PEASANT_MIN) { rsetpeasants(r, PEASANT_MIN + rng_int() % (PEASANT_MAX - PEASANT_MIN)); } + if (rtrees(r, TREE_TREE) < 50) { + rsettrees(r, TREE_TREE, 50); + } - assert(f->units == NULL); faction_setorigin(f, 0, r->x, r->y); u = create_unit(r, f, 1, f->race, 0, NULL, NULL); u->status = ST_FLEE; From 34ac5154e7f4660f50fa94790ec74eaf58551857 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sat, 14 Mar 2020 11:57:29 +0100 Subject: [PATCH 2/3] make parse_token trim ignored characters like zero-width spaces. --- src/util/parser.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/parser.c b/src/util/parser.c index e66e2b724..e0f6aeb67 100644 --- a/src/util/parser.c +++ b/src/util/parser.c @@ -223,6 +223,7 @@ char *parse_token(const char **str, char *lbuf, size_t buflen) } *cursor = '\0'; + unicode_utf8_trim(lbuf); *str = ctoken; return lbuf; } From 8bf8b68571a6141b9c7344fb0a998c1faea122cb Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sat, 14 Mar 2020 11:57:29 +0100 Subject: [PATCH 3/3] make parse_token trim ignored characters like zero-width spaces. --- src/util/parser.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/parser.c b/src/util/parser.c index e66e2b724..e0f6aeb67 100644 --- a/src/util/parser.c +++ b/src/util/parser.c @@ -223,6 +223,7 @@ char *parse_token(const char **str, char *lbuf, size_t buflen) } *cursor = '\0'; + unicode_utf8_trim(lbuf); *str = ctoken; return lbuf; }