Commit Graph

1190 Commits

Author SHA1 Message Date
Steffen Mecke 742a30cc39 fix seaserpents
seaserpents could not do piracy
seaserpents should be able to attack after move
2015-11-17 12:17:28 +01:00
Steffen Mecke 8cec4b20e0 reduce code obfuscation 2015-11-17 02:14:08 +01:00
Steffen Mecke 1789bc06e9 monster faction may learn from experience 2015-11-17 02:13:57 +01:00
Enno Rehling 6237e6dfe2 Merge branch 'release-3.7' into develop 2015-11-16 14:30:31 +01:00
Steffen Mecke 5326bbd9e4 refactored inside_building/building_is_active/active_building 2015-11-16 02:13:48 +01:00
Steffen Mecke 3a18384ddb overfull ships do not drift but take damage
http://bugs.eressea.de/view.php?id=2157
removed exploit:
ships more than 2 times over their ship type's capacity do not drift but take 30% to 100% damage
2015-11-15 12:43:05 +01:00
Steffen Mecke 4ab92e3caf fixed descriptions of spells with parameters (bug #2060+1867) 2015-11-13 00:57:14 +01:00
Steffen Mecke f3972a2390 prepared test for nr_spell 2015-11-13 00:57:14 +01:00
Steffen Mecke 251126054e add missing NULL check to in_safe_building 2015-11-13 00:50:54 +01:00
Enno Rehling 5ef9b624ff Merge branch 'release-3.7' into develop 2015-11-12 18:11:21 +01:00
Enno Rehling 7fb5adc7af in_safe_building needs a test and some changes to logic
github issue #393 fixed
2015-11-12 17:55:39 +01:00
Steffen Mecke e2b56cd04a fix morale change when region owner changes
http://bugs.eressea.de/view.php?id=2139
2015-11-12 16:09:26 +01:00
Enno Rehling 972b8cee40 CID 22436 Ignoring number of bytes read
github issue #333
2015-11-11 15:55:39 +01:00
Enno Rehling f69311b141 Merge branch 'develop' of github.com:eressea/server into develop 2015-11-11 15:15:30 +01:00
Enno Rehling 4eb4ff40ac https://bugs.eressea.de/view.php?id=2155
monsters do not attack units inside a castle or watch
dragons do not attack guards
2015-11-11 14:36:56 +01:00
Enno Rehling e14cc50252 CID 22522, 22520 Resource leak
helping coverity scan to understand this code
2015-11-09 20:05:55 +01:00
Enno Rehling ea8721367a test and fix shock trigger.
https://bugs.eressea.de/view.php?id=2154
2015-11-09 19:43:51 +01:00
Enno Rehling 28781dfcc8 Merge pull request #378 from ennorehling/develop
spells are allowed to have 0 hp
2015-11-09 16:45:08 +01:00
Enno Rehling 4790950daf spells are allowed to have 0 hp
https://bugs.eressea.de/view.php?id=2150
2015-11-09 16:39:30 +01:00
Enno Rehling e9ed30f9db Merge pull request #377 from ennorehling/develop
Bug 2152: Parteitarnung
2015-11-09 16:30:57 +01:00
Enno Rehling 6d0bcb246d fix compilation and setting parameters to null 2015-11-09 13:55:09 +01:00
Enno Rehling ee02721c21 fix and tests for otherfaction attributes in E2
https://bugs.eressea.de/view.php?id=2152
2015-11-09 13:36:52 +01:00
Enno Rehling bf8cc4cb08 trying to trace down an intermittently failing test on windows 2015-11-08 10:34:43 +01:00
Enno Rehling 318820fb00 eliminate use of test_create_world 2015-11-07 23:49:45 +01:00
Enno Rehling 43ab9e3304 Merge pull request #372 from TurnerSE/bug/#1859
Scheint ja zu funktionieren? Wenn etwas anderes kaputt geht, dann hat das nicht genug Tests, das ist auch eine Lehre. Und noch ist ja Zeit zum Release, um das zu merken.
2015-11-07 19:21:16 +01:00
Enno Rehling 26b6ae4e30 github issue #374
stick some assertions in natural_armor
refactor it for readability
eliminate a static memory leak
reset num_races to zero at end of test
2015-11-07 18:21:47 +01:00
Enno Rehling 2f8dc29396 clean up item tests so they don't use test_create_world
fix intermittent skillpotion test
2015-11-07 13:52:18 +01:00
Philipp Dreher 663d947b2a New behaviour in case of low skill during building
Insufficient skill after hitting the next improvement stage is now
handled by leaving the for-loop and skipping to after-build-processing.
2015-11-06 21:04:35 +01:00
Philipp Dreher b0a986e155 Revert "added a lua-test"
This reverts commit a452ad1517.
2015-11-06 20:57:19 +01:00
Philipp Dreher a452ad1517 added a lua-test
New lua-test for the bug concerning the minskill for castle-stages.
(#1859)
2015-11-06 20:53:10 +01:00
Philipp Dreher be5d81acd1 Revert "new test"
This reverts commit cb16315e7c.
2015-11-06 20:51:38 +01:00
Philipp Dreher cb16315e7c new test
Added test for the handling of castles' buildstages and their individual
skillcaps.
2015-11-06 13:14:19 +01:00
Enno Rehling 8a057f183f CID 22580 Time of check time of use
no need to check this first
2015-11-05 13:22:51 +01:00
Enno Rehling 797eee025d fix cb_insert comparison (new return value for success) 2015-11-05 13:01:48 +01:00
Enno Rehling 2a7fc87656 CID 30742 Dereference before null check
CID 30741 ditto
2015-11-05 10:59:14 +01:00
Enno Rehling b81e56d306 CID 22486 Dereference after null check 2015-11-05 08:32:21 +01:00
Enno Rehling b6190b5193 CID 22527 Resource leak 2015-11-04 19:20:34 +01:00
Enno Rehling 8ab4784e3f Merge branch 'coverity-scan' of https://github.com/ennorehling/eressea into ennorehling-coverity-scan
Conflicts:
	src/kernel/jsonconf.c
	src/kernel/save.h
	src/names.c
2015-11-04 12:44:45 +01:00
Enno Rehling 8bc44d82ed CID 22500 Argument cannot be negative 2015-11-04 12:29:51 +01:00
Enno Rehling 5887e8e48f CID 22434 Ignoring number of bytes read 2015-11-04 12:19:16 +01:00
Enno Rehling 47f678d2a3 CID 22436 Ignoring number of bytes read, github issue #333 2015-11-04 11:51:19 +01:00
Enno Rehling 731dac3363 CID 22437 Unchecked return value from library
github issue #332
2015-11-04 11:45:13 +01:00
Enno Rehling d4ff807c20 Merge pull request #364 from ennorehling/coverity-fixes
several smaller coverity fixes
2015-11-04 11:04:32 +01:00
Enno Rehling 024e4c45ca fix a bug introduced by f78fe842 (CID 22443) 2015-11-04 10:40:53 +01:00
Enno Rehling c57668e6ee failing test for newly discovered storage problems 2015-11-04 09:48:51 +01:00
Enno Rehling 04b5bc0c60 CID 22474 Evaluation order violation 2015-11-03 23:19:35 +01:00
Enno Rehling 1093a23d5a CID 22464 Division or modulo by zero 2015-11-03 23:14:06 +01:00
Enno Rehling 876e4122b1 CID 22463 Division or modulo by zero 2015-11-03 23:13:04 +01:00
Enno Rehling 307c5ec85b CID 22435 Unchecked return value from library 2015-11-03 22:56:05 +01:00
Enno Rehling 0c5ef21c10 CID 22434 Ignoring number of bytes read
also potential missing  null-termination
2015-11-03 22:53:19 +01:00
Enno Rehling f959f43f1e extensive tests for armor calculation 2015-11-03 18:59:09 +01:00
Enno Rehling 91a6324a97 cleanup: functions do not need to be dereferenced with an & in C. 2015-11-03 13:30:34 +01:00
Enno Rehling 7e81b98fa4 Merge pull request #339 from TurnerSE/improvement/CID22481
Improvement/cid22481
2015-11-03 13:08:03 +01:00
Philipp Dreher 07fd3dc970 formal correction 2015-11-02 18:06:19 +01:00
Enno Rehling 072bfd3912 testin building_is_active
testing multiple units in one building
2015-11-02 15:06:30 +01:00
Enno Rehling 4bf2509fb3 test inside_building vs. overflow
fix default building capacity (should be 1 per size)
2015-11-02 14:56:58 +01:00
Enno Rehling 42ae086def unit is inisde a building also when it was not paid for 2015-11-02 14:49:48 +01:00
Enno Rehling 24ff4c301d refactor: separate building_is_active from inside_building 2015-11-02 14:18:50 +01:00
Philipp Dreher b107ddadf5 added assert to check the faction-pointer 2015-11-01 21:43:18 +01:00
Philipp Dreher 491e5faed9 Revert "general check for sf->faction's validity"
This reverts commit f18b5ea7d2.
2015-11-01 21:40:06 +01:00
Philipp Dreher f18b5ea7d2 general check for sf->faction's validity
The handling of an ally without a valid faction-pointer is now skipped
in favor of a logged error.
2015-11-01 18:54:29 +01:00
Enno Rehling 21a2313e2a CID 22517: Parse warning (PW.PARAM_SET_BUT_NOT_USED) 2015-10-30 15:20:06 +01:00
Enno Rehling e7ca5345d7 CID 22509: Dereference null return value (NULL_RETURNS)
potential problems at the edge of the map.
2015-10-30 12:57:07 +01:00
Enno Rehling e1eb5098d4 CID 22554: Improper use of negative value (REVERSE_NEGATIVE)
I believe this was a false positive, but more asserts can never hurt.
2015-10-30 12:40:48 +01:00
Enno Rehling 93b7bacff5 CID 22552: Dereference before null check (REVERSE_INULL) 2015-10-30 12:37:27 +01:00
Enno Rehling 5d273e475e CID 22558: Copy into fixed size buffer (STRING_OVERFLOW)
bsdstring buffer size check
2015-10-30 11:41:59 +01:00
Enno Rehling 1fb04179dc CID 22557: Copy into fixed size buffer (STRING_OVERFLOW)
eliminate code duplication. bsdstring is better than libc strings.
2015-10-30 11:39:47 +01:00
Enno Rehling 4eb6a89821 CID 26262: short and unsigned types are the devil, use int everywhere for fewer headaches 2015-10-29 20:39:44 +01:00
Enno Rehling 4f25831407 coverity scan CID 22576: arguments in wrong order
I believe that was a false positive, and will try to aquelch it by naming the arguments better.
2015-10-29 11:24:01 +01:00
Enno Rehling 976b6aaea1 coverity CID 22593: write to pointer after free
github issue #324
use free_land where we need it.
2015-10-29 11:17:31 +01:00
Enno Rehling c298b7fd74 coverity CID 22501 imroper use of negative value
explicitly use SK_MAGIC instead of a lookup. Faster, easier to reason about.
2015-10-29 11:06:25 +01:00
Enno Rehling 8675002e68 coverity scan CIDs 22540 22541 22546: resource leak
the calendar should only ever be initialized once, but based on static analysis, I agree that this was sloppy.
2015-10-29 09:56:53 +01:00
Enno Rehling 2372d3aacd coverity scan CID 22516: out-of-bounds write
potentially a bug with bad XML files? only matters if we have those, but we shouldn't
2015-10-29 09:49:26 +01:00
Enno Rehling 8b92003fff coverity scan CID 22487: dereference after null check
we don't use many differnt calendars, so this has never happened.
2015-10-29 09:43:51 +01:00
Enno Rehling 70d4a6af03 coverity scan CID 22553: dereference before null check 2015-10-29 09:06:50 +01:00
Enno Rehling f2b0ba1ec6 eliminate find_spell warning for games where nobody is cursed, and you cannot summon igjarjuk 2015-10-27 12:40:03 +01:00
Enno Rehling 47e925473e always use a macro, not magical constants 2015-10-15 08:40:52 +02:00
Enno Rehling c9e7a76d9b minor leak: release memory held by curse_type structures 2015-10-15 08:38:43 +02:00
Enno Rehling d4655ee88a leak: do not create new message_type objects in test_cleanup 2015-10-15 08:29:20 +02:00
Enno Rehling 467ce2a719 visual studio compilation fix 2015-10-14 22:09:11 +02:00
Enno Rehling ef1a2dfc4f fixed a crash 2015-10-14 22:06:40 +02:00
Enno Rehling 3200dd2dc8 leak: free locale_data 2015-10-14 21:51:43 +02:00
Enno Rehling b5455531e7 do not leak terrain.herbs 2015-10-14 21:37:27 +02:00
Enno Rehling c04bda102b call free_order for each remaining reference 2015-10-14 20:56:09 +02:00
Enno Rehling a3b27ad6d2 leak: remember to call test_cleanup 2015-10-14 20:49:30 +02:00
Enno Rehling 03ff8f612d leaks: remember to call test_cleanup 2015-10-14 20:48:01 +02:00
Enno Rehling 284a74c878 leak: deleting a config entry did not free its name 2015-10-14 20:45:43 +02:00
Enno Rehling f740f2829a leak: in tests, when correct message_type doesn't exist, arguments should not leak 2015-10-14 20:41:42 +02:00
Enno Rehling 144aeb23ac leaks: call cleanup, free triggers 2015-10-14 20:29:07 +02:00
Enno Rehling 5018bbb0c0 correctly release messages created in test_merge_split 2015-10-14 20:21:38 +02:00
Enno Rehling 2abdba9e8a refactor free_messagelist, fix leak in test_merge_split 2015-10-14 14:08:50 +02:00
Enno Rehling 1c2922aafa leak: spell names and other strings need to be released. 2015-10-14 13:58:55 +02:00
Enno Rehling 254cda86e8 short commands speedup wasn't working (never got assigned) 2015-10-14 13:20:27 +02:00
Enno Rehling 4fc5ac7740 there is a memory leak in test_long_order_hungry, but the root cause lies deeper 2015-10-14 12:51:45 +02:00
Enno Rehling bdf4834dc2 leak: region_owner data was never released 2015-10-14 12:22:37 +02:00
Enno Rehling ae3210ec87 pervious commit did not compile: small copy/paste error 2015-10-14 12:14:33 +02:00
Enno Rehling 2c659c1f47 memory leak: free building maintenance data 2015-10-14 12:13:05 +02:00
Enno Rehling 3cfb22876b memory leak: free params after test 2015-10-14 12:01:33 +02:00
Enno Rehling f0671aafda leak: some tests were leaking seen_factions becaus they don't call destroyfaction or render reports 2015-10-13 23:33:11 +02:00
Enno Rehling a3210aaed7 leak: free per-locale cached order data (has additional refcount) 2015-10-13 23:25:44 +02:00
Enno Rehling 377b0d0305 leak: teardown build tests, free construction data 2015-10-13 23:09:50 +02:00
Enno Rehling a6ca489d9a free multi-level construction correctly, avoid duplication 2015-10-13 22:56:16 +02:00
Enno Rehling 26f5b592bd leak: free construction materials 2015-10-13 22:41:54 +02:00
Enno Rehling 457465b4a2 memory leak: free message_list objects 2015-10-13 22:37:45 +02:00
Enno Rehling 333c27403f memory leaks: ship_type.construction, give_cmd return values 2015-10-13 22:34:22 +02:00
Enno Rehling c70d987c09 memory leak: free weapon data 2015-10-13 22:27:43 +02:00
Enno Rehling 0facb386a8 memory leaks: call test_cleanup, free strlist, free message 2015-10-13 22:21:05 +02:00
Enno Rehling d264c454b8 memory leak: building_type::construction was never released 2015-10-13 22:13:50 +02:00
Enno Rehling 7e9c36b599 memory leak: free spell components and spells at exit 2015-10-13 22:02:58 +02:00
Enno Rehling 67135c8ea3 avoid triggering null-pointer assert 2015-10-13 21:50:23 +02:00
Enno Rehling 2f35246f8c memory leak: when freeing factions, also free their spellbooks 2015-10-13 21:47:45 +02:00
Enno Rehling 3741a19437 prevent memory leak of cJSON structures in tests 2015-10-13 21:21:31 +02:00
Enno Rehling 7854684d8b fix memory leaks in all tests that create an order without calling free_order at the end. 2015-10-13 15:45:38 +02:00
Enno Rehling 7f81cee36d Merge pull request #305 from ennorehling/feature/log-reduce
reduced log spam in cron emails
2015-09-28 12:27:04 +02:00
Enno Rehling 3eead446d0 reduce cron log spam 2015-09-26 22:42:22 +02:00
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 b0c79b9978 refactor some get_param lookups
kill unused global.functions.maintenance
2015-09-13 10:11:56 +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 8fa3234159 Merge branch 'master' into develop
Conflicts:
	tests/runtests.bat
2015-09-12 21:00:28 +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 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 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 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 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 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 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 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 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 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 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 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 2e3c0db02a add a failing test for bug 1685 2015-09-05 18:14:28 +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 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 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 71dea1eca7 backfill missing tests for herbsearch (alchemy). 2015-08-27 13:19:58 +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 dd667aa752 cursed factions get to fight a wolfhowl if they attack (WIP) 2015-08-22 17:56:36 +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 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 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 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 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 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 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 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
Enno Rehling c322fbffd5 rename ship_sailors to crew_skill, it's more descriptive 2015-08-07 12:46:32 +02:00
Enno Rehling afbc4c816b refactoring ship speed, extract total skills of sailors into a function. 2015-08-07 12:43:18 +02:00
Enno Rehling bfdef37808 fix the test and the formula for damaged ships' speeds. 2015-08-07 12:03:33 +02:00
Enno Rehling 8636aabe8a tests for existing shipspeed features, failing ship for ship-damage. 2015-08-07 11:50:49 +02:00
Enno Rehling b3a8a95a24 cherry-picking ship tests from range_max code 2015-08-07 11:48:46 +02:00
Enno Rehling 3081a89f1c Merge branch 'develop' of github.com:ennorehling/eressea into develop 2015-08-06 19:17:00 +02:00
Enno Rehling 397a157fdc Merge branch 'develop' into feature/bug-1588-magicpower-limit
Conflicts:
	scripts/tests/e2/init.lua
	src/battle.c
	src/bind_unit.c
	src/kernel/spellid.h
	src/magic.c
	src/magic.h
2015-08-06 19:16:05 +02:00
Enno Rehling 4c877288d3 remove spellid.h, it represents an outdated way of doing things.
merge the enum into combatspells, and reduce it to the spells actually used here.
2015-08-06 17:57:51 +02:00
Enno Rehling b8a2b9d0b7 Merge pull request #7 from ennorehling/feature/bug-2101-study-teach-testing
bug 2101: increase max printed length of orders
2015-08-06 17:05:32 +02:00
Enno Rehling 1e6a83f357 resize buffer in eval_command, it was too small for many commands.
increase MAXTEACHERS.
eliminate oldterrain warning in json_report.
2015-08-06 16:52:24 +02:00
Enno Rehling 8dc4e93e90 fix missing units from CR, add a test, partially convert from FILE* to stream 2015-08-05 14:45:46 +02:00
Enno Rehling 8efc874952 backfill missing tests for ally_cmd 2015-08-05 12:19:17 +02:00
Enno Rehling c22636ca13 unit tests for update_long_order. e3 tests are still broken. 2015-08-05 00:03:30 +02:00
Enno Rehling 4d061d8592 repair update_long_order and K_DESTROY handling according to discussion in https://bugs.eressea.de/view.php?id=2080 2015-08-04 22:47:55 +02:00
Enno Rehling 2288b8fb27 Merge remote-tracking branch 'upstream/master' into develop
Conflicts:
	.travis.yml
	s/build
	s/cmake-init
	s/runtests
	src/buildno.h
	src/kernel/config.c
	src/kernel/save.c
	src/kernel/unit.c
	src/laws.c
	src/move.c
2015-08-03 19:43:26 +02:00
Enno Rehling 9938b3fb66 eliminate update_gbdream completely, make code smaller and simpler.
simplify tests (no need to use create_spell if we don't use it)
increase build no for hotfix.
2015-08-02 23:16:41 +02:00
Enno Rehling d99ffaf1ed filter by curse-type before trying to call update_gbdreams. 2015-08-02 22:45:59 +02:00
Enno Rehling b5ed7c562d wait until curse->magician has been resolve()'s before calling effskill() to find f->max_spelllevel. 2015-08-02 22:08:35 +02:00
Enno Rehling 17f15b69ee fix some of the unicode replacement symbol bullshit in comments 2015-08-02 21:37:12 +02:00
Enno Rehling a119f7617f add some assertions to make sure update_gbdream is not called without a magician 2015-08-02 21:17:21 +02:00
Enno Rehling 21a81bd307 cleanup: struct declaration, more static. 2015-07-12 14:24:46 +02:00
Enno Rehling 0a57933e30 minor optimizations, error checking (static analysis) 2015-07-12 14:17:27 +02:00
Enno Rehling c0c3400f21 remove junk files, thank you windows 2015-07-12 11:01:59 +02:00
Enno Rehling 7087c0e0ab Update to latest submodules, fix iniparser and critbit.
I did this before, must have lost it in the merge. Crazy.
2015-07-12 10:38:01 +02:00
Enno Rehling 11e1fab0d0 Merge branch 'hotfix-3.4.1' into feature/travis-migration
Conflicts:
	.travis.yml
	s/build
	s/cmake-init
	s/runtests
	s/travis-build
	src/kernel/region.c
2015-07-12 04:12:32 +02:00
Enno Rehling c6da0c2189 fix tolua, I guess 2015-07-11 23:45:59 +02:00
Enno Rehling 05f444bab1 Merge branch 'feature/rename-cerddor' into develop 2015-07-08 17:53:09 +02:00
Enno Rehling 6abf8f7adb bug 1692: rewrite of magicresistance curse-info, especially for buildings (homestome spell). 2015-07-08 05:12:26 +02:00
Enno Rehling d7f4fbe05d remove enum constants for curses that are no longer referred to by them (deprecated style). 2015-07-07 21:10:18 +02:00
Enno Rehling c8ffe8da7a Bug 2115: fix cerrdor -> cerddor spelling errors. 2015-07-07 20:30:34 +02:00
Enno Rehling 76a9dd6741 Merge remote-tracking branch 'upstream/develop' into develop 2015-07-07 15:34:42 +02:00
Enno Rehling 391a123a3e test that correct messages are sent to correct factions. 2015-07-07 14:42:07 +02:00
Enno Rehling f9130fcb38 some more easy tests for sabotage. 2015-07-07 13:38:14 +02:00
Enno Rehling e25d3c8ed1 Fix a bug reporting DETROY messages to the correct unit.
Add missing not-null assertions before accessing function parameters.
Eliminate all of the PVS-Studio warnings.
2015-07-07 00:49:12 +02:00
Enno Rehling 05ec74f9ec annotate with finds from PVS Studio trial static analysis 2015-07-06 21:31:27 +02:00
Enno Rehling ef4052b0f6 the outcome of a casual static analysis session. 2015-07-06 19:53:09 +02:00
Enno Rehling c42227c9e4 Bug 1838: Giftwolken dauern nur eine Woche, erscheinen nicht im Report.
https://bugs.eressea.de/view.php?id=1838
- fix dc_age return value
- speed up curse reporting a little
2015-07-03 17:36:37 +02:00
Enno Rehling 59745c7ed0 parentheses to fix operator precedence. 2015-07-03 16:13:24 +02:00
Enno Rehling b2d981e577 improved tests for DESTROY, fix destroy-after-attack 2015-07-03 13:08:06 +02:00
Enno Rehling 98c161869f Merge pull request #244 from badgerman/develop
Bug 1861 (MAXTEACHERS) and misc fixes
2015-07-02 16:32:25 +02:00
Enno Rehling a975073c0d fix an issue when reading pre-spellbook datafiles for E3. 2015-07-02 14:39:13 +02:00
Enno Rehling 37eb189cd0 Merge pull request #242 from badgerman/feature/bug-2080-move-after-destroy
bug 2080: long actions after DESTROY
2015-07-02 11:58:12 +02:00
Enno Rehling fc2b8f3471 bug 2080: long actions after DESTROY
https://bugs.eressea.de/view.php?id=2080
we forgot to set the flags. also added a test for the future.
2015-07-02 11:42:18 +02:00
Enno Rehling 414f6d3210 bug 2069: not all E3 magic schools have a familiar.
https://bugs.eressea.de/view.php?id=2069
quick fix: defaulting all additional schools to the illaun familiar.
2015-07-02 09:49:51 +02:00
Enno Rehling 15e9c5962c merge feature/test-cleanup
removing old test files
merging old tests into current system
fixing some internal bugs (i.e. adjust_coordinates)
2015-07-01 21:24:44 +02:00
Enno Rehling 3ba2b3d4d7 indentation fixes (tab->spaces) 2015-06-26 14:31:21 +02:00
Enno Rehling 6a42b6231e Merge branch 'master' into develop
Conflicts:
	src/buildno.h
2015-06-21 18:32:10 +02:00
Enno Rehling a085442b8f eliminate unused variable. 2015-06-21 17:54:39 +02:00
Enno Rehling 04bf7153f0 remove a faction from its alliance when it is dead. 2015-06-21 17:49:22 +02:00
Enno Rehling 9b7a4e813b functional test for forced leave configuration.
functional test for forced leave after combat.
functional test for MAKE TEMP.
error handling for Lua function building.create().
reduce some errors to warnings.
initialize race.battle_flags correctly (when not created through XML).
re-initialize processor in case config has changed.
handle missing translation of combat status, with error message.
2015-06-19 13:17:01 +02:00
Enno Rehling 272653f8ba fixing sea serpents with empty names, again. https://bugs.eressea.de/view.php?id=2057 2015-06-12 18:05:56 +02:00
Enno Rehling 84f8a9f746 calculate simple default scores for items that do not have one defined in XML. 2015-06-08 21:15:07 +02:00
Enno Rehling 70967fc041 Merge pull request #216 from badgerman/feature/issue-198
issue #198: gmtool makes invalid demand
2015-06-01 23:39:41 +02:00
Enno Rehling 6895195659 gmtool makes invalid regions (github issue #198).
forgot to null a pointer after freeing it.
2015-06-01 19:56:53 +02:00
Enno Rehling 13a358005f fix memstream-based tests, new storage submodule. 2015-05-31 11:03:44 +02:00
Enno Rehling 2ddabc1477 Merge branch 'cursefix2' of https://github.com/stm2/server into stm2-cursefix2 2015-05-22 17:27:51 +02:00
Enno Rehling dde139f784 Merge remote-tracking branch 'upstream/develop' into develop 2015-05-21 12:04:13 +02:00
Enno Rehling cf88280595 fix build_building tests, require an order argument.
test current replace_order behavior.
2015-05-21 11:52:31 +02:00
Enno Rehling 5af69f1821 re-enable test_peasant_luck_effect, add testing for adjust_coordinates 2015-05-20 08:15:12 +02:00
Enno Rehling 250880f067 fix gcc warning (unused variable) 2015-05-20 07:19:50 +02:00
Enno Rehling 3a03579a65 rename set_origin/get_origin into faction.c, remove argument from adjust_coordinates. add test for bug 2070. 2015-05-19 08:27:16 +02:00
Enno Rehling d0f8825240 use the syntax_error function where appropriate.
fix bug w. releasing message too soon.
2015-05-18 11:34:52 +02:00
Enno Rehling 8e5fc28bfc refactoring more of goodies.h into strings.h 2015-05-18 08:59:38 +02:00
Enno Rehling 053adda3b4 Merge pull request #193 from badgerman/feature-gmtool-upgrades
misc gmtool upgrades
2015-05-17 17:57:46 +02:00
Enno Rehling 70eda58604 Merge branch 'develop' of github.com:eressea/server into develop
Conflicts:
	src/CMakeLists.txt
2015-05-17 17:52:41 +02:00
Enno Rehling 9418051cd3 make gcc warn about signed/unsigned comparisons, just like Visual Studio does 2015-05-16 22:35:07 +02:00
Enno Rehling df325b243a enable stricter conversion checking for gcc < 4.9, fix code 2015-05-15 20:35:36 +02:00
Enno Rehling dd8449783a converting float->double in a lot of the code to prevent -Wconversion messages 2015-05-15 19:08:44 +02:00
Enno Rehling eac4ef7ddc reduce conversion warning to float only 2015-05-15 13:32:22 +02:00
Enno Rehling c5a6f5bd03 fix -Wconversion in reports.c, json.c 2015-05-15 11:19:26 +02:00
Enno Rehling 1dc516ab50 reduce warning level on oldterrain() log, warn from caller (json_report) instead. 2015-05-15 07:59:06 +02:00
Steffen Mecke ab1376d212 trying to test curse_write/read 2015-05-13 12:05:45 +02:00
Enno Rehling 9b9e038438 press F3 to save game in editor. 2015-05-12 17:18:51 -07:00
Enno Rehling 3574d4a0b9 fix a Visual Studio /Wall warning 2015-05-12 00:12:58 -07:00
Enno Rehling bf5fae2ef5 Fix visual studio compilation for Solthar's curse changes (float/int conversions, uninitialized variable). 2015-05-11 23:54:21 -07:00
Enno Rehling a4de46dab5 Merge pull request #181 from stm2/missing_curse_name
fix crash of Analyze Magic (mantis bug 2099)
2015-05-10 19:49:57 -07:00
Enno Rehling 7f1ee527d9 Merge pull request #186 from badgerman/develop
newplayer script updates, small gmtool fixes
2015-05-10 14:05:39 -07:00
Enno Rehling 628af4f6ad Merge pull request #182 from stm2/dreams_fix
refactoring + tests for good/bad dreams
2015-05-08 09:37:22 -07:00
Steffen Mecke 2d27442681 apply possible number of racial attacks consequently 2015-05-08 13:02:54 +02:00
Steffen Mecke d9f8479055 removed duplication in good/bad dreams code 2015-05-07 17:54:59 +02:00
Steffen Mecke dedf9f2009 clear CURSE_ISNEW explicitly in age(), not implicitly in write/read 2015-05-07 17:51:43 +02:00
Steffen Mecke 231f9bb39a check for existence of spell descriptions 2015-05-07 13:31:19 +02:00
Steffen Mecke b41049da53 test good/bad dreams 2015-05-06 18:15:10 +02:00
Enno Rehling 03084a7ee7 set_origin: renaming German function name to English, add a simple test for it. 2015-05-05 09:47:44 -07:00
Steffen Mecke 79d2c76c3f refining spy tests 2015-05-04 14:30:59 +02:00
Steffen Mecke d4aa6e834e check for number of arguments as good as possible and cleaning up test 2015-05-04 14:30:59 +02:00
Steffen Mecke 2cc8c1f871 trying to solve spy message bug #1604
Conflicts:
	src/kernel/CMakeLists.txt
2015-05-04 14:30:59 +02:00
Enno Rehling 30e4dc6cdc Fix keepitem flag in XML ("Menschen geben nichts ab") 2015-04-22 12:33:55 +02:00
Enno Rehling 88d370a7b8 fixing sea serpent names
https://bugs.eressea.de/view.php?id=2057
2015-04-21 12:35:39 +02:00
Enno Rehling d2fbdec831 re-enable disabled tests for E2, add test for FOLLOW. 2015-04-20 15:07:10 +02:00
Enno Rehling f06e3371a0 Bug 2089 again. rename giveitem flag to keepitem, because races should default to not holding on to their stuff. 2015-04-19 12:49:39 +02:00
Enno Rehling 71d0558403 Bug 2089: remove the giveitem restriction from all races.
https://bugs.eressea.de/view.php?id=2089
2015-04-19 09:49:52 +02:00
Enno Rehling 6e9fca5e2f allow version.h to declare a future version that is compatible with the current code as MAX_VERSION that save.c will accept. 2015-04-19 08:36:15 +02:00
Enno Rehling ae9fb399f3 unit tests walkingcapacity, configurable trollbelt effect 2015-04-14 02:32:01 +02:00
Enno Rehling 9664f2b191 Implement an optional JSON report writer. Currently writes readable maps for Tiled. 2015-03-29 14:03:56 +02:00
Enno Rehling 4ce2429276 fix keyword-buffer overflow 2015-03-04 22:19:11 +01:00
Enno Rehling 1ec7a68b07 fix terrible code to avoid gcc 4.9 warning 2015-03-02 23:12:02 +01:00
Steffen Mecke d416a8eef1 fix NAME FOREIGN UNIT
RENAME FOREIGN UNIT used a somewhat naive approach to check if a
unit still had its generic name. Fixed that.
2015-02-11 23:10:43 +01:00
Steffen Mecke a31898ceb5 fix bug in generic_name, minor improvements
Amusingly, names::generic_name used u->no instead of u->number to determine
singular or plural.
2015-02-11 23:10:27 +01:00
Enno Rehling 83e610ee03 Fixing bug 1802 again, CR contains no Monster names. 2015-02-11 07:57:38 +01:00
Enno Rehling e0cb2c9332 add a test for json configuration leaving the ship alone if it has no data. 2015-02-03 17:13:30 +01:00
Enno Rehling 605711c13a constructor st_get_or_create sets ship_type to default values
xmlreader does not mess with values already set.
2015-02-03 17:10:29 +01:00
Enno Rehling a4e6f4874c building type construction is in bt_get_or_create, and only there.
+ not in jsonconf
+ not in xmlreader (no test for this)
2015-02-02 19:52:24 +01:00
Enno Rehling c54cbfd472 fix copyright notice 2015-01-30 22:10:29 +01:00
Enno Rehling a97a7bbf1d Merge branch 'master' of github.com:eressea/server
Conflicts:
	src/kernel/item.test.c
2015-01-30 20:44:42 +01:00
Enno Rehling abca25d1d5 fix indentation in every file
fix copyright date
remove vi ts=2 code
remove a couple of superfluous extern declarations
2015-01-30 20:37:14 +01:00
Enno Rehling c3ed521d4f Merge branch 'version-3-4' of https://github.com/badgerman/eressea into badgerman-version-3-4
Conflicts:
	src/laws.c
2015-01-29 18:03:21 +01:00
Enno Rehling dadf7734a5 set defaults in the race constructor, add test. 2015-01-15 17:17:58 +01:00
Enno Rehling 490782e750 add some simple tests for messages, prior to any refactorings. 2015-01-15 16:40:19 +01:00
Enno Rehling 6fb23af66a test that ships are encumbered by money. define money in XML, not just in code. 2015-01-14 17:56:12 +01:00
Enno Rehling 468882f974 test that money has weight, add weight in init_resources (TODO: use the config files). 2015-01-14 07:46:42 +01:00
Enno Rehling 838cf3d938 try to allow visual studio to build with all warnings (/WAll) enabled. 2015-01-12 22:53:21 +01:00
Enno Rehling 2ddd5d242a Merge branch 'master' of github.com:badgerman/eressea 2015-01-12 20:25:09 +01:00
Enno Rehling e897b667f6 Merge branch 'Burgen_Bonus_configurierbar' of https://github.com/CTD1/eressea-server-bugfixing into CTD1-Burgen_Bonus_configurierbar 2015-01-12 20:10:34 +01:00
Enno Rehling e8650b5b4a test good and bad dreams, fix magicstreet test. 2015-01-12 18:22:59 +01:00
Enno Rehling 6159311e70 Merge pull request #104 from badgerman/tests-magicpath
Tests for magicpath (currently failing)
2015-01-12 18:02:51 +01:00
Enno Rehling 0bd1a8d6f4 add a utility function to test for message types. 2015-01-12 17:50:10 +01:00
CTD d403afc7fc Einfacher Test
Plus Bugfix für Gebäude ohne Improvement, damit diese auch die gleiche
Funktionalität aus der XML nutzen können.
2015-01-12 16:57:05 +01:00
CTD 34fc1b3d34 Variablen leserlicher gemacht 2015-01-12 10:55:07 +01:00
Enno Rehling 798b3d6ad6 Implement tests for magicpath. They are failing (Bug 2066).
Also move spell and race initialization code from being server-only into game_init, where tests can use it.
2015-01-12 08:18:41 +01:00
Enno Rehling e937749475 Merge branch 'version-3-3'
Conflicts:
	src/build.h
	src/kernel/faction.c
2015-01-11 01:25:10 +01:00
Enno Rehling 95d0b2a413 add current version of processing scripts
fix a crash in checkpasswd
2015-01-11 01:23:47 +01:00
Enno Rehling ba71728a64 preview build script checks for a branch to build from (in build/.preview)
fix int to bool conversions
2015-01-09 20:42:17 +01:00
Enno Rehling 29fc0fe6c3 preview build script checks for a branch to build from (in build/.preview)
fix int to bool conversions
2015-01-09 20:41:48 +01:00
CTD ac3195851a Erstmal nur der Burgenbonus
Das mit der Größe kommt noch mal extra, der Übersicht wegen.
Sinvoller weise kann man den Bonus jetzt in der castle.xml einstellen.
Mit neuen Defaultwerten in den XML Dateien.
2015-01-09 15:53:14 +01:00
Enno Rehling 23b8f2bc8a call init_locales after parse_json from Lua, downgrade missing string warnings during that to DEBUG (because it's quite common not to have them).
also, these int to bool conversion warnings made a good point, even if I could not reproduce them.
2015-01-08 20:55:29 +01:00
Enno Rehling 04bbec2b89 turns out that set_param with null should remove the setting. 2015-01-04 16:41:59 +01:00
Enno Rehling 3db403d7fd functional test for GROW/BREED horses (Bug 1886) 2015-01-04 15:42:36 +01:00
Enno Rehling 90dd700487 BREED/PLANT/GROW are technically the same command, merge them.
The new parser makes this easy.
2015-01-04 15:11:49 +01:00
Enno Rehling f1c6d35fdf unused variable, gcc complains 2014-12-31 21:08:59 +01:00
Enno Rehling db083389c7 avoid fix_demand hitting an endless loop, kill bad use of static variables. 2014-12-31 20:01:01 +01:00
Enno Rehling f524f23cd4 superfluous semicolons and other small stuff.
missing strings are an error, not a warning.
2014-12-31 13:17:54 +01:00
Enno Rehling 2fbb04140c at_deprecated was causing a small memory leak. 2014-12-31 01:17:49 +01:00
Enno Rehling c39be8d599 more casual leak removal. 2014-12-31 01:00:10 +01:00
Enno Rehling 80be0a8e89 I broke the Lua tests, must initialize resources in eressea.free_game binding 2014-12-31 00:20:19 +01:00
Enno Rehling e04a541167 do not initialize resources in test_cleanup, that makes no sense. 2014-12-31 00:16:24 +01:00
Enno Rehling 0566dca971 Merge branch 'master' of github.com:badgerman/eressea 2014-12-30 23:50:01 +01:00
Enno Rehling 228983202d properly free items at cleanup. 2014-12-30 23:49:50 +01:00
Enno Rehling 9f09b9b915 fixed memory leaks in tests, thanks to valgrind 2014-12-30 23:34:24 +01:00
Enno Rehling a55cb13924 make valgrind happy when running tests (cleanup) 2014-12-30 02:02:10 +01:00
Enno Rehling 49a77cdcde plug some more memory leaks. 2014-12-30 01:44:28 +01:00
Enno Rehling 077a0aeeef plug some new memory leaks 2014-12-30 00:00:57 +01:00
Enno Rehling 95ab2826ec avoid running over the array of locales in order.c when re-creating locales for tests. 2014-12-29 23:53:00 +01:00
Enno Rehling 335f37a9ec clarify some parsing code that valgrind complains about. 2014-12-28 22:07:53 +01:00
Enno Rehling 108a909131 kill gc_add and gc_done, they were terrible ideas. 2014-12-25 22:38:01 +01:00
Enno Rehling 4e94a95835 remove dead code, move weight(unit) to unit.c 2014-12-25 19:40:40 +01:00
Enno Rehling 901c70efd9 config cleanup contd.
createunit => create_unit, everywhere.
make_undead_unit in zombies.c
2014-12-25 18:40:46 +01:00
Enno Rehling 4bb65873da shipspeed should be in ship.c, not in config.c 2014-12-25 18:16:24 +01:00
Enno Rehling 000bdebc82 Merge remote-tracking branch 'eressea/master' 2014-12-24 23:50:55 +01:00
Enno Rehling 67881dfff4 parsing tokens when buffer is too small - skip the entire token. now with tests. 2014-12-24 15:55:55 +01:00
CTD 78c03f831b Zerstöre als langer Befehl
Zerstöre ist damit ein ganz normaler langer Befehl wie Mache oder Lerne.
2014-12-23 15:53:28 +01:00
Enno Rehling b27491eccd move atoip out of config (small helper) and test it.
remove some unnecessary variables from laws.c
2014-12-23 09:23:37 +01:00
Enno Rehling 5ebf05f625 additional tests for the parser.
move more parsing code out of config.c
2014-12-22 16:45:56 +01:00
Enno Rehling c8b9044f78 rename to gettoken, use more widely, add a basic test. 2014-12-22 16:28:17 +01:00
Enno Rehling 870d8001ef more getstrtoken() removal.
remove obsolete argument to checkpasswd().
2014-12-22 14:34:14 +01:00
Enno Rehling 5cdc85f6bf start to get rid of getstrtoken(), which uses an internal static buffer and causes horrible bugs when called multiple times. 2014-12-22 14:21:24 +01:00
Enno Rehling 2966e1ea3d remove igetstrtoken, a confusing helper function that was hardly used at all. 2014-12-18 17:47:49 +01:00
Enno Rehling da1d3c49c3 ongoing config.c cleanup: getid() 2014-12-18 07:09:22 +01:00
Enno Rehling 484e52d491 added a test: region owners can set PAY NOT <id> for empty buildings if they are in region_owner_pay_building. 2014-12-17 21:31:02 +01:00
Enno Rehling 83f014047b Merge pull request #83 from badgerman/master
cleaning up in config.c and adding tests for pay_cmd
2014-12-17 20:17:20 +01:00
Enno Rehling bd6b9761b0 add simple tests for pay_cmd. 2014-12-17 20:00:55 +01:00
Enno Rehling 1050daac19 remove strlist from config.c, move it to reports.c (where it is used primarily).
this is not the best data structure there is, should replace it some day.
2014-12-17 17:40:36 +01:00
Enno Rehling 2a3fdab394 remove the obsolete at_gm attribute.
The code did almost nothing, and player-operated quests are no longer something I want to do.
2014-12-17 17:32:32 +01:00
Enno Rehling 8971f59ecc move more things out of config.c.
- lighthouses into their own module.
- lastregion/firstregion into reports.c.
2014-12-17 17:22:26 +01:00
Enno Rehling fb0eb4dce6 refactoring: moving plagues out of config.c
cleaning up the code, moving chance into the random event code, it is not used by the plague spell (reduce signature by one argument)
2014-12-16 14:18:29 +01:00
Enno Rehling d6ce30a9a9 Merge pull request #78 from badgerman/bug-2052
bugfix: could not GIVE to TEMP units.
2014-12-14 16:31:48 +01:00
Enno Rehling c5774e652a also prevent monsters from studying unarmed combat if they cannot learn things.
refactor the unit_can_study functionality into a separate function, we are now using it in multiple places.
2014-12-14 16:17:01 +01:00
Enno Rehling 0645578305 bugfix: could not GIVE to TEMP units.
https://bugs.eressea.de/view.php?id=2052
2014-12-14 15:23:28 +01:00
Enno Rehling 455b3dc90e ignore obsolete "lua" attributes in ancient data files.
fix a small bug in the mechanism for reading deprecated attrib_types.
2014-12-13 22:08:57 +01:00
Enno Rehling a2c98778fd Merge pull request #69 from badgerman/chaos-module
Moving the E2 chaos-region code into a separate module
2014-12-13 15:54:13 +01:00
Enno Rehling 5751a9b3a9 Merge pull request #66 from badgerman/getunit-refactor
refactoring getunit
2014-12-13 13:26:32 +01:00
Enno Rehling fcffb3d8e1 Merge pull request #67 from badgerman/version-cleanup
eliminating support for old datafile versions, prior to binary formats
2014-12-13 13:26:23 +01:00
Enno Rehling c4b898e968 remove some inactive #define macros and the code that goes with them.
mostly rules that were experimental, but have made it into common use (not worth the effort of making them configurable).
2014-12-13 11:53:16 +01:00
Enno Rehling 2da1d11277 move chaos to a separate module (it is an old E2 feature) 2014-12-13 11:44:14 +01:00
Enno Rehling 1c96c626b6 merge failure, try again. 2014-12-13 00:13:08 +01:00
Enno Rehling a8849f2b91 remove the obsolete dungeons module.
I don't think this has ever been used, and it has fallen victim to entropy since it was first written. good riddance!
2014-12-13 00:03:24 +01:00
Enno Rehling 0967ccaac6 remove even more obsolete datafile version support. 2014-12-12 23:00:30 +01:00
Enno Rehling d492487a5b remove support for versions prior to turn 572 (INTPAK_VERSION).
reading anything prior stopped working some time ago, let's not kid ourselves.
nobody needs to read those datafiles, they are more than 7 years old.
less code is better.
if access to these files is needed, check out an old version from source control.
2014-12-12 22:52:23 +01:00
Enno Rehling 63f69ec1cf add the test coverage for getunit.
fix a bug where NULL was not returned when unit is in the wrong region.
2014-12-12 21:55:44 +01:00
Enno Rehling 98994f233d remove the deprecated getunit function.
fix the build, missing return value from give_control_cmd.
2014-12-12 21:06:47 +01:00
Enno Rehling 481275aef1 refactor: eliminate the getunitpeasants global variable.
bugfix: it was possible to uncover stealth units with GIVE CONTROL.
2014-12-12 20:53:39 +01:00
Enno Rehling 3d0f8d0101 Merge remote-tracking branch 'eressea/master'
Conflicts:
	.travis.yml
	critbit
	src/buildno.h
	src/test_eressea.c
2014-12-12 17:28:20 +01:00
Enno Rehling 9334677d81 make tests more valgrind-friendly by not leaking memory 2014-12-12 11:32:12 +01:00
Enno Rehling cd70b8684d fix escape_string mmeory corruption error.
fix a number of small stuff that happens when loading very old data files (like 572).
2014-12-12 11:28:37 +01:00
Enno Rehling e1d5033b76 make tests more valgrind-friendly by not leaking memory 2014-12-12 11:13:25 +01:00
Enno Rehling d7c2fc2b04 remove the R_UNIT resource.
https://bugs.eressea.de/view.php?id=1945
assert that only items can be reserved.
2014-12-11 23:24:00 +01:00
Enno Rehling 215136465b refactoring: getunitpeasants is an awful global hack, and I am pushing it out of give_men so I can eliminate it more easily. 2014-12-10 23:05:29 +01:00
Enno Rehling 33a5e0aa9d test giving men to other faction.
refactor give_men to return a message.
major milestone reached: 200 unit tests.
2014-12-10 21:17:00 +01:00
Enno Rehling 2a61dc4d11 prepare for give_men refactoring by writing some basic tests. 2014-12-10 20:44:33 +01:00
Enno Rehling 1024dd5c81 Refactoring morale into a separate module.
Not all of it yet, because it is inconveniently part of kernel/region.
2014-12-10 19:04:02 +01:00
Enno Rehling 01877f5169 cleanup, fix a TODO, eliminate dead code. 2014-12-10 09:39:11 +01:00
Enno Rehling 0c54c7e32d always nice to eliminate a few TODO's and kill some bitrot. 2014-12-09 23:27:05 +01:00
Enno Rehling 188e003f7c retrofit tests for alliances. 2014-12-09 14:43:11 +01:00
Enno Rehling 9b56ccf53c cleaning up some alliance code, killing bitrot from WDW. 2014-12-09 14:14:35 +01:00
Enno Rehling 2c077c25e8 space savings: update data files, remove names from NPC units where their name is their race. 2014-12-09 07:44:26 +01:00
Enno Rehling 0fead39b41 added a function that sets a monster's name to NULL if it is the name of its race.
deprecate old rc_name function (renamed to rc_name_s) because it used a static return string.
2014-12-09 07:20:36 +01:00
Enno Rehling bde56aa1f8 eliminate unused variables, fix CI build. 2014-12-09 06:46:45 +01:00
Enno Rehling 9394c4324e units without a name will use their race as a default name. 2014-12-09 06:45:21 +01:00
Enno Rehling 3428f40f81 load inifile in main, it is only used by the server.
this should fix the broken CI build.
2014-12-09 06:01:10 +01:00
Enno Rehling b551edbdb3 refactoring: moving unitname to unit.c.
also removing static-string some cruft from config.c.
2014-12-09 05:55:16 +01:00
Enno Rehling 669712f04f rename race_ to _race, to follow the style guide. 2014-12-08 22:06:05 +01:00
Enno Rehling 3dd3761acd prevent an invalid assert when undead heroes are magical 2014-12-07 11:14:14 +01:00
Enno Rehling 7b2d1991d8 add missing file, fix factions that lack a locale. 2014-11-23 21:15:09 +01:00
Enno Rehling 5b9eb9080f refactoring: move all monster-related code into monster.c
make some features depend on being NPCs, not monster faction.
2014-11-11 16:53:56 +01:00
Enno Rehling ebd115b04a refactor of rc_specialdamage, and move it into battle, nothing else uses it. 2014-11-09 22:31:41 +01:00
Enno Rehling 1556c07787 fix a crash when missing a token 2014-11-08 22:55:07 +01:00
Enno Rehling e9084d9678 when free_gamedata, also unhash all factions. speed up is_monsters(). 2014-11-07 22:58:29 +01:00
Enno Rehling d1f7fb571c fix test for get_monsters(), nobody needs the function to ever return NULL. 2014-11-07 21:28:58 +01:00
Enno Rehling c8f2f33eab clean up some dealings with monsters and NPCs 2014-11-07 21:15:46 +01:00
Enno Rehling 143fab9653 Some changes after talking to Don.
moved locale change into its own module.
made monsters get a report by default.
reoved old creation.c code, it was dead.
2014-11-06 07:15:53 +01:00
Enno Rehling 93e20ac7a9 clean up data files after tests are finished. 2014-11-04 08:06:46 +01:00
Enno Rehling dbf60a7ce5 update to latest version of storage library. 2014-11-03 22:29:04 +01:00
Enno Rehling f623133344 storage takes ownership of the FILE* (really need to change this API). 2014-11-03 19:03:44 +01:00
Enno Rehling 16c03a8e0e typo broke gcc build. 2014-11-03 18:44:49 +01:00
Enno Rehling fecf3b04f8 bug 2041: group alliances are lost.
added test coverage, too.
2014-11-03 18:10:05 +01:00
Enno Rehling 9a0268ac96 bug 2042, pools not working. 2014-11-03 07:52:00 +01:00
Enno Rehling 2b596b40f6 Merge branch 'master' of github.com:eressea/server 2014-11-02 10:40:49 +01:00
Enno Rehling bbd4e31cf9 Merge branch 'loot' of github.com:CTD1/eressea-server-bugfixing into CTD1-loot
Conflicts:
	res/core/de/strings.xml
2014-11-02 10:02:30 +01:00
Enno Rehling 367307575c Merge branch 'master' of github.com:eressea/server 2014-11-01 22:12:11 +01:00
Enno Rehling 59c1c23324 refactor config.c, move the find* functions into the modules they belong to. 2014-11-01 18:34:53 +01:00
Enno Rehling 27f94783bc fix gcc build, forward-declare structs in the header.
MSVC allows structs to be declared in a function signature, gcc wants
to know about them earlier.
2014-11-01 13:10:22 +01:00
Enno Rehling 1af315ebf2 move magic out of kernel, into src.
clean up/remove a ton of includes, especially of types.h (include in header if you need it, not in every .c file).
2014-11-01 12:57:01 +01:00
Enno Rehling 81bfb598d0 refactoring modules, cleaning out the config.c kitchen sink.
- cansee_* rules to laws.c
- translations to language.c
- stealth to attributes/,
- rename build.h -> buildno.h
2014-11-01 12:09:56 +01:00
Enno Rehling a29e6a7f40 fix segmentation fault in new assert (units without a faction) 2014-10-31 22:20:07 +01:00
Enno Rehling 17e86ab6cd Merge branch 'master' of github.com:badgerman/eressea 2014-10-31 22:11:09 +01:00
Enno Rehling af616b5b09 fix segmentation fault in test. 2014-10-31 22:10:52 +01:00
Enno Rehling 5b6663cad7 Assert that magicians are single-person units in a few places.
Bug 2028 claims that this is not always the case, though I cannot prove it.
2014-10-31 22:03:00 +01:00
Enno Rehling 483a2ba3de add missing tests for groups. 2014-10-31 19:15:26 +01:00
Enno Rehling 1d7c193de6 more test coverage for resource pooling. 2014-10-31 19:01:13 +01:00
Enno Rehling 6e24fe9be2 fix gcc build, ebable new test. 2014-10-31 16:51:57 +01:00
Enno Rehling 9848ba08d0 fix gcc and clang builds: missing include 2014-10-31 15:54:25 +01:00
Enno Rehling 997d1ffd4b Fix some crashes that happened while debugging an old data file. 2014-10-31 15:52:40 +01:00
Enno Rehling cf110d7788 fix allies with null faction (to be resolved later). 2014-10-31 15:38:37 +01:00
Enno Rehling f27a77d288 refactoring: use add_ally instead of manually crating the structure all over the code. 2014-10-31 15:13:05 +01:00
Enno Rehling c8d5d52412 add test for pool, fix a problem with (unused) feature that pools from allies. 2014-10-31 07:51:57 +01:00
Enno Rehling e9c13cc328 cosmetic changes, quick and easy assert to prevent too many magicians. 2014-10-30 17:48:02 +01:00
Enno Rehling 9f2d2e0f92 fix broken test that didn't like the new init_locale() requirements. 2014-10-29 20:01:55 +01:00
Enno Rehling 6bd52012c0 read keywords from json configuration, use German imperative forms. 2014-10-29 19:40:09 +01:00
Enno Rehling f9c5d58f41 read json config file if available.
missed an include, broke the build.
2014-10-29 08:30:07 +01:00
Enno Rehling 0aec5592a0 allow json config to contain a list of config files (includes). 2014-10-29 07:50:06 +01:00
Enno Rehling f788f19f6c fix tests that relied on translation structures being statically cached.
clean up static cache, add test for German imperative (WIP)
2014-10-23 16:14:01 +02:00
Enno Rehling 96d5544b1f Bug 2032: rename FIGHT back to COMBAT 2014-10-20 17:13:32 +02:00
Enno Rehling 539d2673f7 fix a crash in E2 caused by the recent removal of FFL_TIMEOUT. 2014-10-18 19:19:21 +02:00
Enno Rehling 5626abd8dc refactor and kill dead code.
indentation normalization, copyright update.
2014-10-18 18:37:44 +02:00
Enno Rehling 74a6bd72c2 additional testing. 2014-10-18 14:16:26 +02:00
Enno Rehling a86c2d88ab Test: After a faction is eliminated, nobody should have it as an ally. 2014-10-17 19:56:26 +02:00
CTD 1c7075573b Plündern
Neues Kommando Plündern für die Monster (kann über XML-Option auch für
Spieler freigeschaltet werden)
2014-10-16 14:45:21 +02:00
Enno Rehling c6b6883477 Merge pull request #36 from CTD1/Workingplace
Arbeitsplätze

It's weird. It worked on this PR, probably because it is based on a revision of master where the .travis.yml file already exists. For older PRs that were created before that file was in master, it doesn't work. We don't have many open ones, so it's not actually worth investigating how to fix that :-)
2014-10-16 14:05:49 +02:00
Enno Rehling 9c6e380ea0 Merge pull request #35 from CTD1/Monster_EMail
Wird schon richtig sein :-)
2014-10-16 11:53:45 +02:00
Enno Rehling ac65d83ba2 test that empty factions are removed, but not monsters. 2014-10-16 09:03:57 +02:00
Enno Rehling 440aca34ea test special treatment for spells in remove_empty_units. 2014-10-16 08:06:44 +02:00
Enno Rehling 559f1f905a Eliminate dead code: FFL_NOTIMEOUT.
old feature for time-limited factions, not used anywhere.
2014-10-16 07:46:08 +02:00
Enno Rehling 7df47fd25c remove bad configuration caching (TODO: cache inside get_param).
move remove_empty_* functions out of config.c
add basic tests for remove_empty_units (no special units yet).
2014-10-16 07:41:49 +02:00
Enno Rehling 403c1ad6a9 fix errors and warnings that clang reports. 2014-10-14 22:57:02 +02:00
Enno Rehling ce3e9cd7d0 Add missing test coverage for update_guards. Fix the weapon:minskill default. 2014-10-14 18:37:45 +02:00
Enno Rehling a78daad4d8 Merge pull request #34 from CTD1/Hunger
Hunger und Segeltalent
2014-10-01 13:48:51 +02:00
Enno Rehling 68730749fb fix astral space special direction, vortex (translation issue). 2014-09-29 21:19:07 +02:00
Enno Rehling 3e829e2880 support for itoab with smaller bases and larger numbers.
also a missing English message (museum-related)
2014-09-29 18:32:12 +02:00
CTD c937f59536 XML Option hinzugefügt
Das Segeln nur 1 Skill Level verliert ist Default und somit an.
2014-09-25 09:54:52 +02:00
CTD1 911b93e343 Update faction.c 2014-09-25 08:59:29 +02:00
Enno Rehling 74582aeb2f fix remaining getstrtoken uses without null-check. 2014-09-21 16:43:17 +02:00
CTD 3484acfa43 Arbeitsplätze
Regionen haben jetzt immer mindestens 10% ihrer size als freie Freie
Arbeitsplätzt, höchstens jedoch 200.  Das sorgt dafür das die Bäume
nicht alle Bauern umbringen. Diese ernähren sich quasi durch Jagt statt
Ackerbau.
Sinnlose Variable MAXPEASANTS_PER_AREA entfernt.
2014-09-18 12:10:42 +02:00
CTD f89721ebec Monster Email
kann jetzt über die config.xml eingestellt werden
2014-09-16 09:21:33 +02:00
CTD 9e5e7a3e52 Hunger und Segeltalent
Hungernde Einheiten verlieren nur noch einen Punkt Segeln (ab T2), nicht
mehr das halbe Talent.
Das sollte die meisten Schiffsunfälle durch vergessene Silber derart
abschwächen, das die Schiffe noch aus eigener Kraft zum nächsten Hafen
kommen.
2014-09-15 16:10:57 +02:00
Enno Rehling b761cb5b97 Merge branch 'master' of https://github.com/eressea/server 2014-09-04 17:22:33 +02:00
Enno Rehling 54cf4f4b7b Merge branch 'version-3-2'
Conflicts:
	src/laws.c
2014-09-02 09:26:59 +02:00
Enno Rehling 9e81de406b version 3.2
remove regatta plane, it crashes all of a sudden.
why is there a use of init_order here? that is a future feature.
2014-09-02 07:27:11 +02:00
Enno Rehling cf1f3972b6 cleaning out config.c, there is too much code in there.
rules should be in their own modules. here:
upkeep is a concept all by itself, should have its own tests, etc.
movement code should be in move.c.
cleaning up some superfluous include directives.
2014-08-31 16:50:37 +02:00
Enno Rehling e9abfc0f24 peasant blood should not have ill effects on non-demon units that are empty.
This fixes http://bugs.eressea.de/view.php?id=1981
2014-08-28 20:01:37 +02:00
Enno Rehling c0230d2662 In the game, there is only ever one special direction, and it is for the astral space.
less XML, more code.
cleaning up the special direction parsing a bit.
2014-08-28 19:50:38 +02:00
Enno Rehling 932a615837 refactoring: special directions into their own file (vortex.c).
moving spells.c out of spells.
figured that movewhere should be in move.c
2014-08-27 21:30:24 +02:00
Enno Rehling ecaeba3058 add a test for the vortex special direction before touching that code. 2014-08-27 20:10:17 +02:00
Enno Rehling a9a0455207 reorganized directory structure.
flattening the directory structure, moving some modules to the src/ directory.
making stealth a separate file, under test.
more tests for some stuff.
2014-08-27 06:40:35 +02:00
Enno Rehling d435c13bfc adding more tests.
test for build()
test for scale_number()
update submodules
2014-08-26 20:06:49 +02:00
Enno Rehling 2ceeb0b819 fix errors that gcc finds 2014-08-25 08:15:51 +02:00
Enno Rehling e87b1cf372 an experiment to have deterministic sort order for known factions in the report. 2014-08-25 00:06:33 +02:00
Enno Rehling a3037950ff fix a bug in the escape_string function.
remove static return variable from escape_string.
add test coverage.
2014-08-24 23:58:31 +02:00
Enno Rehling 920902f8eb replace resource_type::_name array with a single string. 2014-08-24 23:58:30 +02:00
Enno Rehling 4c00777553 make race::_name a string, not an array of strings. add a test for rc_name. 2014-08-24 23:58:29 +02:00
Enno Rehling de5ef3f87b Merge branch 'master' of https://github.com/eressea/server 2014-08-24 17:11:32 +02:00
Enno Rehling 7d17cafdd6 simple tests for build().
cleaning up the code to give it a common setup function.
change the golem code to use flag, not hard-coded race.
unify the golems, make code more readable, kill a block of unused code.
2014-08-24 17:09:32 +02:00
Enno Rehling 5befbad7c7 Merge branch 'version-3-1'
Conflicts:
	src/laws.c
2014-08-24 00:30:12 +02:00
Enno Rehling f1d78b4b84 fix null-pointer crash. 2014-08-24 00:29:19 +02:00
Enno Rehling 9db6826662 remove unused static function, fix missing include for gcc. 2014-08-23 09:21:40 +02:00
Enno Rehling 808f343e34 make getstrtoken() return null at EOL, kill init_tokens.
init_order all the things!
added a bunch of new assertions to cover for oversights.
added some new tests for order parsing.
2014-08-23 09:17:58 +02:00
Enno Rehling ee2363a4d9 use init_order, it is better than the init_tokens+skip_token pattern.
test for new_units.
additional testing for init_order (renamed from init_command)and init_tokens.
fixed a memory access error when kwd==NOKEYWORD.
2014-08-23 06:45:20 +02:00
Enno Rehling a84e628522 Repair MAKE, which broke when I changed MAKE TEMP.
You can now also write MAKETEMP as one word, and we treat it that way.
Added unit test coverage for MAKE order parsing.
2014-08-21 07:31:28 +02:00
Enno Rehling aed64a70fb cut the number of allocations for order-data in half.
started writing a test file for orders.
2014-08-21 07:30:50 +02:00
Enno Rehling cc0b0ad71b added a test for addfaction.
removing struct player, since it is not in use.
2014-08-20 23:42:33 +02:00
Enno Rehling 7b3a381500 increase version number to 3.1
log an error when trying to create an order for a disabled keyword
monsters might be trying to TAX in E3?
2014-08-20 19:26:37 +02:00
Enno Rehling 68fc4df74d Configurable monster attack chance, default to 40%.
E3 chance to attack is only 10%.
2014-08-20 11:54:11 +02:00
Enno Rehling fb7c8a898f add a test for get_monsters().
I want to make sure I don't break this in the future.
2014-08-20 08:18:47 +02:00
Enno Rehling acfe72f24e add a test for get_monsters().
I want to make sure I don't break this in the future.
2014-08-20 07:00:58 +02:00
Enno Rehling 3fde10d9e8 Configurable monster attack chance, default to 40%.
E3 chance to attack is only 10%.
2014-08-19 15:24:30 +02:00
Enno Rehling 59ccf23db6 Repair MAKE, which broke when I changed MAKE TEMP.
You can now also write MAKETEMP as one word, and we treat it that way.
Added unit test coverage for MAKE order parsing.
2014-08-17 14:47:39 +02:00
Enno Rehling 99124f3d6d Merge branch 'master' of https://github.com/eressea/server 2014-08-17 07:37:50 +02:00
Enno Rehling b385bfc4d2 Merge branch 'fixes-891'
Conflicts:
	src/kernel/faction.c
2014-08-17 07:23:07 +02:00
Enno Rehling 138a4c10a0 properly create missing monster faction when spawning dragons.
remove cached monster faction (static).
Conflicts:
	src/kernel/faction.c
2014-08-17 07:14:47 +02:00
Enno Rehling cef068fe9b cut the number of allocations for order-data in half.
started writing a test file for orders.
2014-08-16 23:26:31 +02:00
Enno Rehling 8803a9e9a8 properly create missing monster faction when spawning dragons. 2014-08-16 13:46:34 +02:00
Enno Rehling 90ec28fed3 fix missing monster factions. 2014-08-16 13:33:47 +02:00
Enno Rehling fa52bb4192 pointless assert triggers when new units are created and placed.
spawning dragons was causing this to fail.
2014-08-16 13:19:00 +02:00
Enno Rehling 9587e9f0cd remove unused variables 2014-08-16 12:02:45 +02:00
Enno Rehling 2fd085d1e5 Merge branch 'master' of https://github.com/eressea/server 2014-08-16 11:59:20 +02:00
Enno Rehling c79dd33bfb smarter processing of MAKE TEMP.
the order gets its own keyword. parsing is hard - composite commands are an anti-pattern.
this eliminates a lot of unnecessary mallocs for pushing/poping parser state.
2014-08-16 11:41:19 +02:00
Enno Rehling 41d42fa248 localization of alliance status "ALL".
fix for https://bugs.eressea.de/view.php?id=1993
2014-08-16 03:07:37 +02:00
Enno Rehling 61ebd1d6b7 fix accidental assignment instead of comparison. 2014-08-14 20:08:29 +02:00
Enno Rehling fa0c999d3e Merge branch 'Bug-1525-and-1872' of github.com:CTD1/eressea-server-bugfixing into CTD1-Bug-1525-and-1872 2014-08-14 20:06:14 +02:00
Enno Rehling 158d4f8d4b MSVC: compile cleanly with level 4 warnings 2014-08-14 19:39:45 +02:00
CTD 7dd86959a9 Bewegung durch Region blockieren
Etwas größerer Umbau. Befreundete Wachen erlauben nicht mehr automatisch
die Durchreise.  Es werden sowohl die Befreundeten als auch die
Feindlichen Bewacher in der Region gezählt, und die Differenz mit
rules.guard.guard_number_stop_prob multipliziert. Bei 700 Feindlichen
und keinen freundlichen Wachen ist die Chance dann 100%. Bei 100
Feindlichen und 400 freundlichen ist sie 0.
Zusätzlich gibt rules.guard.castle_stop_prob 10% pro Burgenlevel für den
Burgenbesitzer.
rules.guard.region_type_stop_prob gibt 10% für Regionen mit weniger
Begehbaren Pfaden (Berge und Vulkane) und das doppelte für sehr schwer
passierbare Regionen (Sümpfe und Gletscher).

Für Spiele mit Wahrnehmung (E2) sollten die Werte für:
rules.guard.skill_stop_prob
rules.guard.castle_stop_prob
rules.guard.region_type_stop_prob

auf 5% Angepasst werden.
2014-08-14 12:37:59 +02:00
Enno Rehling ff73358b9c Some tiny errors that slipped through Visual Studio's warnings. 2014-08-14 09:59:33 +02:00
Enno Rehling dafe71f4b8 micro optimizations.
removing a lot of mallocs through strdup  by replacing getcommand calls with get_command, which takes a buffer. only one left.
removing mkname calls with a static buffer for keyword-tokens.
commit the schema file I had lying around.
2014-08-14 09:57:05 +02:00
Enno Rehling 38352ef3bf add the build number to saves.
this should make future debugging sessions easier, telling us what bugs were or were not fixed at the time of an incident.
added a test to make sure data file can be read/written, and at a minimum, sets global data-version.
also clean up test framework a bit, and introduce a helpful macro.
2014-08-14 05:06:36 +02:00
Enno Rehling b6f627a5d8 Merge branch 'Feature-1865' of github.com:CTD1/eressea-server-bugfixing into CTD1-Feature-1865
Conflicts:
	src/economy.c
2014-08-13 19:44:57 +02:00
Enno Rehling 3c2ae7ca93 preview script and logging cleanup
1. all log messages will be terminated with \n, whether the user provided
	it or not.
2. remove a bunch of print() calls from scripts to reduce clutter
3. replace printf calls with log_* calls to reduce clutter
4. add the new release preview script
2014-08-11 12:04:12 +02:00
Enno Rehling 45a16681c4 logic fix for FOLLOW (if we are not following a ship, and cannot see the target unit, then exit). 2014-08-08 18:18:17 +02:00
CTD fe0ff71aa1 E2 fähig gemacht
Der Burgenbesitzer sieht nur noch etwas wenn er auch Leuchtturmbesitzer
ist.
Das geht jetzt auch für E2 ohne region_owner rule.
2014-08-08 17:15:12 +02:00
CTD 90cf6d845f replace strstr
Neu Funktion check_param die überprüft ob ein übergebener Wert in dem
Wert des entsprechenden Parameters steht.
2014-08-08 13:29:26 +02:00
Enno Rehling 8dd4b783b1 fix gcc error 2014-08-08 01:26:35 +02:00
Enno Rehling 3767957caa indentation + whitespace changes 2014-08-08 01:24:12 +02:00
Enno Rehling 1918f56990 indentation + whitespace changes 2014-08-08 01:16:35 +02:00
CTD bf4bda36a2 Bug 1610 FOLGE SCHIFF und andere lange Befehle
FOLGE SCHIFF ist genau wie FOLGE EINHEIT jetzt ein Halblanger Befehl.
Das ist konsequent und entfernt an einigen Stellen Spezialbehandlungen.
2014-08-08 01:14:58 +02:00
CTD f33de38812 Piraterie repariert
Die Piraten sind oftmals einfach in ein falsches (leeres) Ozeanfeld
gesegelt, wenn es irgendwo ein Opfer gab.
2014-08-08 01:14:57 +02:00
CTD 0d0aad593a Abtreiben Unabhänig von Wahrnehmung
Der Kapitän sollte den Leuchtturm auch sehen, wenn das Besitzer mangels
genug Wahrnehmung das Schiff nicht sieht. Sprich der Sturmschutz des
Leuchtturm hängt jetzt nicht mehr vom Wahrnehmungstalent der Insassen
sondern nur noch von der Größe des Leuchtturms ab, und davon ob der
Unterhalt bezahlt wurde.
sail() ruft als einzige Funktion check_leuchtturm() ohne Partei auf,
daher der einfach Check ob eine Partei übergeben wurde oder nicht.
2014-08-08 01:14:56 +02:00
CTD 549a4fbe5b Bug 1857 abtreiben trotz leuchtturmüberwachung e2
Leuchttürme verhindern nicht das Abtreiben sondern reduzieren nur die
Chance auf 1/3.
Das ist für Automatisierung schlecht, daher Reduzieren Leuchttürme das
Abtreiben jetzt auf 0.
Für E4 oder zukünftige Spiele habe ich das auch gleich konfigurierbar
gemacht.
rules.lighthous.stormchancedevisor gibt den Wert an durch den die
Sturmchance geteilt wird, 0 = kein Abtreiben wenn Leuchtturm in
Reichweite.
2014-08-08 01:14:55 +02:00
Enno Rehling 13ba2b8362 Merge pull request #24 from CTD1/Bug-1610
Bug 1610 FOLGE SCHIFF und andere lange Befehle
2014-08-08 01:11:31 +02:00
Enno Rehling 1470b56253 Merge pull request #23 from CTD1/Piraterie
Piraterie repariert
2014-08-08 01:06:49 +02:00
Enno Rehling cad82999d0 Merge pull request #22 from CTD1/Bug-1857
Bug 1857 abtreiben trotz leuchtturmüberwachung e2
2014-08-08 01:00:59 +02:00
Enno Rehling b3a58c6a43 fix tabs 2014-08-08 00:37:51 +02:00
Enno Rehling 500e24d71e Merge pull request #18 from CTD1/Bug-1938
Bug 1938 [E3] Magiepatzer kaputt (auraverlust statt kostensteigerung)!
2014-08-08 00:36:36 +02:00
CTD c49c3af1d9 Bug 1610 FOLGE SCHIFF und andere lange Befehle
FOLGE SCHIFF ist genau wie FOLGE EINHEIT jetzt ein Halblanger Befehl.
Das ist konsequent und entfernt an einigen Stellen Spezialbehandlungen.
2014-08-07 18:53:29 +02:00
CTD 7ac56b3fbf Piraterie repariert
Die Piraten sind oftmals einfach in ein falsches (leeres) Ozeanfeld
gesegelt, wenn es irgendwo ein Opfer gab.
2014-08-07 16:02:47 +02:00
CTD 906dd457fc Abtreiben Unabhänig von Wahrnehmung
Der Kapitän sollte den Leuchtturm auch sehen, wenn das Besitzer mangels
genug Wahrnehmung das Schiff nicht sieht. Sprich der Sturmschutz des
Leuchtturm hängt jetzt nicht mehr vom Wahrnehmungstalent der Insassen
sondern nur noch von der Größe des Leuchtturms ab, und davon ob der
Unterhalt bezahlt wurde.
sail() ruft als einzige Funktion check_leuchtturm() ohne Partei auf,
daher der einfach Check ob eine Partei übergeben wurde oder nicht.
2014-08-07 14:37:49 +02:00
CTD 37e0226e5b Bug 1857 abtreiben trotz leuchtturmüberwachung e2
Leuchttürme verhindern nicht das Abtreiben sondern reduzieren nur die
Chance auf 1/3.
Das ist für Automatisierung schlecht, daher Reduzieren Leuchttürme das
Abtreiben jetzt auf 0.
Für E4 oder zukünftige Spiele habe ich das auch gleich konfigurierbar
gemacht.
rules.lighthous.stormchancedevisor gibt den Wert an durch den die
Sturmchance geteilt wird, 0 = kein Abtreiben wenn Leuchtturm in
Reichweite.
2014-08-07 14:04:03 +02:00
CTD 8b9f344484 Fixing server crash
Mit rules.region_owner_pay_building  ein kann es vorkommen, das wegen
einem leeren Gebäude die größte Burg in der Region gesucht wird. Wenn es
aber keine Burg in der Region gibt, wird building_owner mit NULL
aufgerufen. Das musste abgefangen werden.
2014-08-07 11:24:55 +02:00
Enno Rehling 405c63f447 this old race alias stuff has been dead code for years. 2014-08-06 23:44:47 +02:00
Enno Rehling afd41286b5 config file reading based on game name and install location. 2014-08-03 20:37:05 +02:00
CTD 51356b061c Feature 1865 leere unterhaltspflichtige Gebäude
Gebäude ohne Besitzer werden automatisch vom Regionsbesitzer übernommen
(Die Einheit wird sozusagen der neue Gebäudebesitzer). Betreten dann nur
noch wenn Helfe Bewache vom Regionsbesitzer.
Wichtig:
<param name="rules.region_owners" value="1"/>, ist Voraussetzung,  es
geht also nicht in E2.
Es kann für beliebige Gebäude eingeschaltet werden.
Example config :
<param name="rules.region_owner_pay_building" value="market harbour
lighthouse"/>
2014-08-01 16:13:35 +02:00
CTD 8aa356df75 Bug 1938 [E3] Magiepatzer kaputt (auraverlust statt kostensteigerung)!
Erst Bezahlen, dann Patzer. Sonst werden die Kosten im Falle des
"kleinsten" Patzers noch beim aktuellen Spruch erhöht.
2014-07-28 15:38:39 +02:00
Enno Rehling bd2809a975 removing the core directory (moving to res and scripts).
it's from when open-source Eressea was limited, and we no longer need the separation.
JSON configuration for ship flags.
2014-07-28 14:27:30 +02:00
Enno Rehling d994caf7a3 Merge branch 'master' of https://github.com/eressea/server 2014-07-26 22:52:31 +02:00
Enno Rehling d9457a2488 rewrite of the Lua module system.
At this time, only E2 is working.
Fixing a lot of old code (monster is no longer id 0).
package.paths configured from eressea.ini
install directory configured from eressea.ini
moving building_action into a seaprate module (it's deprecated)
2014-07-26 22:52:25 +02:00
Enno Rehling 955a57273d code review changes 2014-07-24 08:04:30 +02:00
Enno Rehling 10e08ab306 Merge pull request #14 from CTD1/master
Bug 1755 Beschworene Skelette mit Ausdauerproblemen
2014-07-24 07:58:50 +02:00
Enno Rehling 2bec7e2bbe save game id in the data file, not name of XML file 2014-07-23 11:54:51 +02:00
Enno Rehling 018d4ca38e fix quest keys to work again.
add a function to walk borders with a callback.
2014-07-22 10:59:47 +02:00
Enno Rehling 13165f2354 Move quest objects to the module that uses them (museum portals). 2014-07-21 11:34:57 +02:00
Enno Rehling e44d4aa9b9 implemented a suggested change to RESERVE.
http://bugs.eressea.de/view.php?id=1675#c5240
new setting "rule.reserve.twophase" reserves from self first, before reserving from others.
fix a crash when trying to flush logs and there is no logfile.
2014-07-20 06:19:21 +02:00