Commit Graph

1355 Commits

Author SHA1 Message Date
Enno Rehling 84a92124bd Merge branch 'feature/bug-2053-attack-monsters' of https://github.com/ennorehling/eressea into ennorehling-feature/bug-2053-attack-monsters
Conflicts:
	conf/e3/config.xml
2015-09-19 13:35:53 +02:00
Enno Rehling e217a4b550 age_unit accidentally returned AT_AGE_REMOVE (caused by a recent change to curse_age) 2015-09-14 22:58:12 +02:00
Enno Rehling 3a1444f378 backport (failing) at_familiarmage test from 3.7 branch 2015-09-14 17:38:58 +02:00
Enno Rehling 23a7ed59ac backport familiar skill test from 3.7 development 2015-09-14 17:17:29 +02:00
Enno Rehling 90bcf30628 fix bad terrain definitions in E2 (string, not number: these values are used for dice throws).
clean up the jsonconf.c code for reading these a little bit, report more specific errors.
2015-09-13 09:46:40 +02:00
Enno Rehling 71c4cb53c0 add missing guard.h include everywhere, remove duplicate prototypes from config.h 2015-09-12 23:41:37 +02:00
Enno Rehling dd9420fc38 move at_guard into guard module as well 2015-09-12 23:38:31 +02:00
Enno Rehling 3055f517dc move guard implementation into a module (WIP) 2015-09-12 22:53:54 +02:00
Enno Rehling 5f7b9129bc Merge branch 'master' into develop
Conflicts:
	tests/runtests.bat
2015-09-12 22:47:33 +02:00
Enno Rehling a027139057 remove global variable `verbosity` in favor of static in main.c (use log_* functions everywhere) 2015-09-12 20:58:09 +02:00
Enno Rehling 06a04d0e20 fix logging for sp_igjarjuk, temporarily set log-levels for the game to error|warn|info
remove some code that accesses `verbosity` variable (todo: hide it more, fix logging)
2015-09-12 19:48:03 +02:00
Enno Rehling 63c983e197 Merge branch 'develop' of github.com:eressea/server into develop 2015-09-12 19:28:49 +02:00
Enno Rehling c7a0fb5f28 development build is 3.7 2015-09-12 19:28:28 +02:00
Enno Rehling 44dd66f2fb Merge branch 'master' into develop 2015-09-12 19:27:56 +02:00
Enno Rehling 28f17b6a08 release version 3.6.3 2015-09-12 19:27:11 +02:00
Enno Rehling 7259a4b45e remove parse_main from xmlreader, everything superseeded by jsonconf 2015-09-12 18:16:23 +02:00
Enno Rehling 1e75255d51 allow disabling skills through json 2015-09-12 17:43:31 +02:00
Enno Rehling a01955e06a disable features by name that are not keywords 2015-09-12 17:37:29 +02:00
Enno Rehling c76b118fb8 eliminate game/order from XML data 2015-09-12 17:12:02 +02:00
Enno Rehling 44eb3a4f58 disable keywords through JSON configuration 2015-09-12 17:06:55 +02:00
Enno Rehling 32ff7c89bc Merge pull request #296 from ennorehling/feature/config-producexpchance
Bug 2137: calculating produceexp correctly
2015-09-12 16:52:55 +02:00
Enno Rehling 7906cdbcb6 do not read gamename from XML, read it from JSON only (two mechanisms for the same feature are too many) 2015-09-12 16:49:18 +02:00
Enno Rehling d65e9aaf94 eliminate xml reading of produceexp chance 2015-09-12 16:42:02 +02:00
Enno Rehling 8a95ea0c00 speeding up produceexp_chance 2015-09-12 16:41:22 +02:00
Enno Rehling 9bdc811582 produceexp uses a json-configurable constant
make get_param_flt return a double, floats are for wimps.
2015-09-12 16:38:51 +02:00
Enno Rehling 68c448b3fb fix signature of callback 2015-09-12 16:29:57 +02:00
Enno Rehling d1686849e0 refactoring: move produceexp into unit module, for want of a better one. add a bit of test coverage.
https://bugs.eressea.de/view.php?id=2137 - fix learning-by-doing with less than u->number people.
2015-09-12 16:25:47 +02:00
Enno Rehling c704cd5784 release version 3.6.2 2015-09-12 15:41:25 +02:00
Enno Rehling 9563aa712f eliminate junk function 2015-09-12 14:16:18 +02:00
Enno Rehling 42f1030251 separate test script for E4:
even though it has mostly the same rules, it does not have xmastrees, and loads a different config
remove dead `inactivefaction` function, we have no use for the file it creates.
2015-09-12 14:10:08 +02:00
Enno Rehling aa32cf190e remove xmlreader code for prefixes 2015-09-12 13:40:10 +02:00
Enno Rehling 09efd9c2a9 fix anything that uses the calendar module. opps. 2015-09-12 12:54:49 +02:00
Enno Rehling 13e1573611 moving the calendar module out of the kernel directory, it does not belong with the major game objects 2015-09-12 12:54:09 +02:00
Enno Rehling 47c95aee35 implement JSON prefixes. fix free_prefixes not resetting size (TODO: quicklist). 2015-09-12 12:49:12 +02:00
Enno Rehling f0e255924f add a unit test for add/free prefixes. fix bad free_prefixes call site. 2015-09-12 12:41:04 +02:00
Enno Rehling 9f6b374056 add a (red) test for JSON prefixes. 2015-09-12 12:33:25 +02:00
Enno Rehling 44d982d210 free race prefixes when the game is done (small memory leak). 2015-09-12 12:29:42 +02:00
Enno Rehling f1476c2167 refactoring: split out a module for race prefixes 2015-09-12 12:24:10 +02:00
Enno Rehling bd51ac7dd7 eliminate terrain parsing from xmlreader.c, it's all in JSON now! 2015-09-11 22:46:47 +02:00
Enno Rehling c57918ede0 replace XML terrains for E3 and E4 with JSON configuration 2015-09-11 22:43:08 +02:00
Enno Rehling b4971dd651 replace all of the E2 terrains with JSON data (no more XML!) 2015-09-11 22:11:59 +02:00
Enno Rehling 7c4d18ec2d avoid an annoying division by zero when terrains are not fully initialized (size=0) 2015-09-11 21:31:59 +02:00
Enno Rehling db4cb2618b transfer most core and all game-specific terrains for E2 from XML to JSON. 2015-09-11 21:14:10 +02:00
Enno Rehling 9df5799efd define core plain and ocean in JSON for E2. 2015-09-11 12:52:18 +02:00
Enno Rehling a582c69523 finished and tested: terrains can be completely defined in JSON. 2015-09-11 12:27:45 +02:00
Enno Rehling 43bac506a4 fix bad size for calloc. 2015-09-11 12:25:28 +02:00
Enno Rehling c707ff39b6 memory leak: properly free terrain_production objects 2015-09-11 12:17:35 +02:00
Enno Rehling 59e2c12605 completing the implementation of JSON terrains (WIP).
seeing a crash when trying to allocate a resource for stone in test_json_terrains.
2015-09-11 12:12:53 +02:00
Enno Rehling 8860244f1c Merge branch 'link-seen-duplicate' into feature/feature-json-terrains 2015-09-11 11:12:30 +02:00
Enno Rehling d15d0cc0f4 remove unused xml_i function 2015-09-11 11:08:10 +02:00
Enno Rehling cf08cdf3fb configuration type-fixes: int to bool where appropriate (possibly incomplete)
rename some rules to make it more obvious that they are flags or other integer values.
2015-09-11 10:04:08 +02:00
Enno Rehling c5e14c85a6 read boolean json values
be smarter about reading number values that are integers
2015-09-11 09:17:07 +02:00
Enno Rehling 9bb2a625f9 fix xmlreader bug introduced by last commit (xpath->node not initialized) 2015-09-11 09:10:00 +02:00
Enno Rehling 1a7d6dd91d xmlreader no longer needs to parse settings, that's all in json now. 2015-09-10 23:29:18 +02:00
Enno Rehling 1969c165d3 allow settings in json configuration file
move E2 settings from XML to JSON
2015-09-10 23:16:17 +02:00
Enno Rehling 2b46c4c4a9 kill stray semicolon 2015-09-10 21:22:55 +02:00
Enno Rehling f2b2dc2063 fix linux build, missing include 2015-09-09 16:48:24 +02:00
Enno Rehling 337aca9b3c remove region.donations, replace with a global list. 2015-09-09 16:47:09 +02:00
Enno Rehling d29d38f710 refactor donations into a seaprate code module, add a basic test 2015-09-09 15:45:20 +02:00
Enno Rehling 60111282b3 make findunitr be O(1) instead of O(#r->units) 2015-09-09 13:29:58 +02:00
Enno Rehling 5faf642b9c use the same DISABLE_TEST macro everywhere. 2015-09-09 13:23:20 +02:00
Enno Rehling 6f212686f3 Merge pull request #287 from ennorehling/feature/issue-282-link-seen
eliminate duplicate call to link_seen
2015-09-09 12:41:14 +02:00
Enno Rehling bf6f05f39d fix unused variable warning 2015-09-09 11:24:11 +02:00
Enno Rehling cac22bcb02 Merge branch 'feature/issue-282-link-seen' of github.com:ennorehling/eressea into feature/issue-282-link-seen 2015-09-09 11:23:15 +02:00
Enno Rehling f7c1efc287 memory error seems to be in test_write_flag (curse-hashing?), not in the new ones. 2015-09-09 11:22:35 +02:00
Enno Rehling e5a92d6313 building on linux 2015-09-09 11:09:57 +02:00
Enno Rehling 65c39866e1 refactor: add a faction_add_seen function that also updates [first, last) interval.
add tests for add_seen.
disable test_faction_add_seen, looks like it needs a valgrind check?
2015-09-09 11:08:33 +02:00
Enno Rehling 7f9e84d68b fix neighbor seen_region collection. 2015-09-09 10:22:04 +02:00
Enno Rehling 42e51a0ec4 refactor looping through the hashtable of seen_regions into a map function. 2015-09-09 09:38:57 +02:00
Enno Rehling 3eabf082ac refactor prepare_report to extract prepare_seen, because we assume the bug is in there.
add a failing test for it to prove that bug is in here.
2015-09-09 09:04:59 +02:00
Enno Rehling b551261b66 fix the bug that the unit test exposed. it was so simple!
still not fixing the integration test, though :-(
2015-09-08 16:35:18 +02:00
Enno Rehling 1fbbba564b add a unit test for the problem that fails (test_seen_interval_forward) 2015-09-08 16:28:47 +02:00
Enno Rehling 2e0482973e testing test_seen_interval 2015-09-08 10:17:01 +02:00
Enno Rehling 8562a6d072 add test suite for seen_region logic (empty) 2015-09-08 10:07:29 +02:00
Enno Rehling 9312b44f8e move seen_region logic to a separate seen.[hc] module for testing.
currently failing test:

  1) Failure (tests.report.test_lighthouse):
  ./scripts/tests/common.lua:1051: true expected but was false
2015-09-08 09:56:56 +02:00
Enno Rehling d64948f0fc eliminate duplicate call to link_seen (and report_context.seen) 2015-09-07 19:48:53 +02:00
Enno Rehling 77912166bf Backfill missing tests for Bug 1818. Actual bug appears to have been fixed some time ago. 2015-09-07 14:49:57 +02:00
Enno Rehling 34580ab9fa fix test requiring a data directory (sigsegv) 2015-09-06 20:07:15 +02:00
Enno Rehling f84133eb53 fix linux builds 2015-09-06 19:08:57 +02:00
Enno Rehling b8df3f3a5f increase the datatype for scores from int to long long
this fixes https://bugs.eressea.de/view.php?id=2136
2015-09-06 19:04:04 +02:00
Enno Rehling 19e27930ab Merge remote-tracking branch 'upstream/master' into develop
Conflicts:
	.travis.yml
	scripts/eressea/cursed.lua
2015-09-06 13:28:08 +02:00
Enno Rehling 79663d5933 relatively simple fix to bug 1685: unit ids must start with alphanumerical characters.
https://bugs.eressea.de/view.php?id=1685
2015-09-05 19:48:25 +02:00
Enno Rehling a2c269e805 add another failing unit test for bug 1685, closer to the core of the problem 2015-09-05 19:45:34 +02:00
Enno Rehling 3dc173b6ec add unit tests for read_unitid 2015-09-05 19:44:30 +02:00
Enno Rehling 400b8f1ffa add another failing test for bug 1685
add test for forbiddenid (cannot have a unit with id TEMP)
2015-09-05 19:25:55 +02:00
Enno Rehling 74d7caf526 remove dead code for base10->base36 conversion 2015-09-05 19:24:59 +02:00
Enno Rehling b631f539ce simplify atoi36, it does not need to eat whitespace 2015-09-05 18:18:22 +02:00
Enno Rehling 2e3c0db02a add a failing test for bug 1685 2015-09-05 18:14:28 +02:00
Enno Rehling 552f32ff97 bugfix https://bugs.eressea.de/view.php?id=2133
era in the CR is wrong for E2
build in the CR should be a string (did not have quotes)
Lua < 5.2 does not have bit32 (and Windows build uses 5.1)
2015-09-04 14:39:44 +02:00
Enno Rehling 6d592a4460 drifting ships do not take damage (forum debate), version update 2015-08-31 12:53:24 +02:00
Enno Rehling a00fdf9316 fix hitpoints for summoned wolves 2015-08-31 12:50:47 +02:00
Enno Rehling 94850e86cb fix hitpoints for summoned wolves 2015-08-31 11:12:45 +02:00
Enno Rehling 70aff6f567 Merge pull request #283 from ennorehling/cursed-faction
The revenge of Igjarjuk
2015-08-31 07:58:16 +02:00
Enno Rehling 8c860811e2 Summon Igjarjuk only at the start of a battle, not after. 2015-08-30 23:15:04 +02:00
Enno Rehling d08959f9a8 fix German spelling in a message,
add a test for is_guarded.
2015-08-30 14:52:42 +02:00
Enno Rehling acb2aed30f add message for igjarjuk effect 2015-08-30 11:01:53 +02:00
Enno Rehling 7bb882b15b add a spell for igjarjuk (WIP) 2015-08-30 10:57:08 +02:00
Enno Rehling efca4d1979 fix last merge, signature of effskill changed 2015-08-29 15:00:59 +02:00
Enno Rehling 78cf76464a Merge pull request #281 from ennorehling/todo-cleanup
code cleanup
2015-08-29 14:09:36 +02:00
Enno Rehling e4026e0f6b eliminate more non-critical arguments. 2015-08-27 16:59:39 +02:00
Enno Rehling 20ab40dc2b Merge branch 'todo-cleanup' of github.com:ennorehling/eressea into todo-cleanup
Conflicts:
	src/attributes/stealth.c
2015-08-27 16:54:42 +02:00
Enno Rehling 564a041b0d eliminate invalid assertions, remove unnecessary arguments (plant/breed/trees) 2015-08-27 16:53:36 +02:00
Enno Rehling 66d8e3c7ba fix linux build, kill invalid assert 2015-08-27 16:23:30 +02:00
Enno Rehling de808bf146 change effskill signature to take a region, change eff_skill to work on a skill * to avoid multiple lookups. 2015-08-27 16:16:55 +02:00
Enno Rehling 6889cb0c80 remove superfluous argument from herbsearch
use effskill, not eff_skill
2015-08-27 14:46:08 +02:00
Enno Rehling 71dea1eca7 backfill missing tests for herbsearch (alchemy). 2015-08-27 13:19:58 +02:00
Enno Rehling eb26cc971f Testing bufunit with skills and different viewers. 2015-08-26 21:19:14 +02:00
Enno Rehling bc1c3dd712 move NEWATSROI out of item_modification 2015-08-26 19:59:11 +02:00
Enno Rehling c5f4d213ce test familiar/mage connection and ageing of same. 2015-08-26 08:42:45 +02:00
Enno Rehling b27f0787a8 test familiar skill bonus 2015-08-26 08:36:25 +02:00
Enno Rehling 4dee1744a2 write some tests around effskill and skillmod. 2015-08-26 08:22:51 +02:00
Enno Rehling 5fc1587879 age_unit accidentally returned AT_AGE_REMOVE (caused by a recent change to curse_age) 2015-08-25 22:50:58 +02:00
Enno Rehling 9586d970e8 fix bad castorder creation for combat spell (some unions are the WORST) 2015-08-22 18:51:10 +02:00
Enno Rehling dd667aa752 cursed factions get to fight a wolfhowl if they attack (WIP) 2015-08-22 17:56:36 +02:00
Enno Rehling 4c32fe19ee eliminate some dead code that was still marked with TODO. 2015-08-21 10:54:09 +02:00
Enno Rehling 89bc83c4ab Merge branch 'master' into develop
Conflicts:
	src/bind_region.c
	src/buildno.h
	src/kernel/item.c
2015-08-20 16:58:07 +02:00
Enno Rehling d69bf18e23 suspect some submodule shenanigans 2015-08-20 16:26:32 +02:00
Enno Rehling 853290413f fix segfault, disable intermittent test 2015-08-20 16:18:15 +02:00
Enno Rehling f12454870f fix segfault, disable intermittent test 2015-08-20 16:17:19 +02:00
Enno Rehling dfb0bcaccf Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/kernel/save.c
	src/laws.c
2015-08-20 15:49:36 +02:00
Enno Rehling 1641e6ef89 remove spellbook repair code, we are done 2015-08-20 15:09:38 +02:00
Enno Rehling 469701a6ff fix linux build 2015-08-20 12:56:33 +02:00
Enno Rehling 8716e5fdc5 repair spellbooks that broke in E3 and E4 (temporary measure, remember to remove this code). 2015-08-20 12:13:09 +02:00
Enno Rehling ff38d8bf4c I don't think it's good to call update_spells before the turn.
one should only have the spells that are in the previous week's report.
a few comments wouldn't hurt.
2015-08-20 12:12:17 +02:00
Enno Rehling e6eb53c864 save the faction.max_spelllevel in the data file, do not recalculate it each time.
when recalculating it, include spellbook to determine max-level (dead mages may have pushed the level up).
2015-08-19 19:43:47 +02:00
Enno Rehling fc308940b5 fix linux build 2015-08-19 14:50:24 +02:00
Enno Rehling a9ecd1f55e replace all at_travelunit code with travelthru_map calls.
welcome to callback hell.
this should stop the buffer for travelthru from running over.
tests for this should be hell, and I still owe writing them.
2015-08-19 14:37:51 +02:00
Enno Rehling ebe365fd6e move travelthru logic to a separate module. todo: split off the report writing from the collection of units. 2015-08-18 18:57:04 +02:00
Enno Rehling 1f4c8d5858 fix linux build, missing include 2015-08-18 17:28:07 +02:00
Enno Rehling 5bc4f7f144 add some simple tests for writing travelthru information to the report, fix test that sets errno as a side effect (thanks, Microsoft!) 2015-08-18 17:08:02 +02:00
Enno Rehling c8cbeea660 STRLCPY macro redefinition and fixes for gcc. work for monkeys. 2015-08-17 22:48:21 +02:00
Enno Rehling 681697fd47 gcc still more picky than clang. 2015-08-17 20:32:02 +02:00
Enno Rehling e621b97465 Easy pratfall: Visual Studio includes limits.h through stdlib.h, but gcc/clang do not. 2015-08-17 20:22:02 +02:00
Enno Rehling 1042c94fd9 quickly fix gcc conversion warnings. lots of DRY. 2015-08-17 20:17:02 +02:00
Enno Rehling b999e3c963 replace strlcpy/wrptr pairs with new STRLCPY macro. 2015-08-17 19:37:02 +02:00
Enno Rehling 7e64f3177d refactoring: rewrite tests to use test_find_messagetype instead of assert_messages.
tests: add cleanup of message_types to reduce global state.
2015-08-17 19:36:28 +02:00
Enno Rehling 1806030baa new all-in-one strlcpy and wrptr function 2015-08-17 19:28:05 +02:00
Enno Rehling dcececf4fa Debug: move errno testing closer to the report-writing, so we know which report caused the error.
Fix: wrptr gets the result from _snprintf, which is int, not size_t.
2015-08-17 16:17:08 +02:00
Enno Rehling df5eaa6ef2 eliminate warning (unused variable) 2015-08-16 19:55:11 +02:00
Enno Rehling b50c1720cf several monster_attack fixes.
1. do not try to attack other monsters.
2. monsters outside of a building can attack units outside of buildings.
3. dragons can guard without weapons.
2015-08-16 16:18:59 +02:00
Enno Rehling 3fe0e62105 do not remove battles from dead faction before writing the report. 2015-08-16 12:06:05 +02:00
Enno Rehling 27b5588e8f Merge region messages and individual messages before writing them into the report.
This fixes https://bugs.eressea.de/view.php?id=2073
2015-08-16 11:30:44 +02:00
Enno Rehling 47dccc667b Add a message that contains the password in the first report, so Magellan can pick it up.
Fix a bad type conversion when setting skills.
2015-08-15 20:25:36 +02:00
Enno Rehling 0af5df470b managed to commit some broken tests, and travis let them pass. something is wrong with the CI tests. 2015-08-07 18:30:02 +02:00
Enno Rehling 398579c293 remove duplication, fix a stray blank space in the NR. 2015-08-07 16:17:11 +02:00
Enno Rehling 816243d2d7 magicians can always identify their own curse-effects.
magic-resistance on a building is always visible to anybody, just like it is on units.
2015-08-07 15:52:10 +02:00
Enno Rehling 00423a746b clarify the good/bad dreams tests 2015-08-07 13:26:41 +02:00
Enno Rehling 12a2a1f412 get_captain is wrong, the rules say the captain is the FIRST unit in the ship, which I believe means ship_owner, not best skill.
clean up shipspeed tests a little (WIP, missing edge cases).
ignore some temporary files.
2015-08-07 13:07:45 +02:00
Enno Rehling 3bfc05c3b0 test bonus for new ship-speed rules (WIP). 2015-08-07 13:03:19 +02:00
Enno Rehling b72f48c044 enhanced ship speed for selected ships (currently none). 2015-08-07 12:51:20 +02:00