Commit Graph

1218 Commits

Author SHA1 Message Date
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 916271ef3a gcc/clang want structs to be defined before used in an argument list 2014-12-17 18:47:01 +01:00
Enno Rehling bc8f8c74f9 gcc/clang want structs to be defined before used in an argument list 2014-12-17 17:46:21 +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 2759114414 remove unused header for an attribute that I do not even remember. 2014-12-17 17:35:10 +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
CTD aa536a943d BEZAHLE NICHT ID
Man kann jetzt eine Gebäudenummer hinter Bezahle nicht angeben.
Wenn man keine angibt bleibt alles wie es war, sonst wird überprüft ob
man der Besitzer dieses Gebäudes ist, und wenn ja wird für diese Gebäude
der Unterhalt abgeschaltet. Wenn für ein Gebäude die Option das der
Regionsbesitzer  es Bezahlen kann an ist (und es leer ist) ist der
Regionsbesitzer auch automatisch Gebäudebesitzer.
Wenn man ein BEZAHLE NICHT für die Burg des Regionsbesitzers (E2 die
größte Burg) absetzt (implizit oder explizit) werden alle Gebäude in der
Region abgeschaltet, die vom Regionsbesitzer verwaltet werden.
2014-12-17 17:22:26 +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
CTD cc09e95887 Bauerngrenze angepasst
Maximum Bauerngrenze bei der noch zusätzlich Bauern hinzukommen können
auf 90 erhöht und auch gleich Konfigurierbar gemacht.
Das sollte immer noch zu wenig sein um ernsthaft missbrauch damit zu
betreiben.
2014-12-15 13:07:39 +01:00
CTD 7f39763ee1 Konfigurierbar
Ich habe zumindest mal fix eine eigene Funktion draus gemacht und es mit
einer XML Option versehen. Es ist Default an, da auch in E3 die Bauern
rückläufig sind, und da E4 auf den selben Regeln aufbaut es auch da
sinnvoll wäre "tote" Regionen wiederzubeleben.
2014-12-15 09:48:43 +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 2a113bcd04 Merge pull request #79 from badgerman/bug-2054
Bug 2054: monsters trying to STUDY when they cannot.
2014-12-14 16:29:56 +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 595dc35fb0 bugfix: monster races that cannot learn skills, will not try to study.
This fixes https://bugs.eressea.de/view.php?id=2054
2014-12-14 15:59:20 +01:00
Enno Rehling 684f779501 Merge pull request #77 from badgerman/bug-1660
Bug 1660
2014-12-14 15:43:15 +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 42d75c334d WIP: Familiars check for combat spells in the magician's list of spells, too.
https://bugs.eressea.de/view.php?id=1660
This does not work, because set_combatspell later uses knowsspell to make sure the spell is one the familiar has.
2014-12-14 12:57:09 +01:00
Enno Rehling b506bed4d9 fix a crash in the parser for USE orders when no item name was given. 2014-12-14 12:56:36 +01:00
Enno Rehling 27b1d55350 enhancement: buildings without an owner report their lack of upkeep to the entire region.
https://bugs.eressea.de/view.php?id=1713
2014-12-14 11:48:15 +01:00
Enno Rehling dca9d7e9cb bugfixe give_cmd (cannot give more persons than the unit has). 2014-12-14 06:02:08 +01:00
Enno Rehling 4ac7258f96 Merge remote-tracking branch 'eressea/master' 2014-12-13 23:40:37 +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 968304db96 Merge pull request #72 from badgerman/master
fix two crashes, and undead heroes
2014-12-13 20:42:16 +01:00
Enno Rehling 1ae44db7ca Bugfix: Untote Helden bekamen keine Beute.
https://bugs.eressea.de/view.php?id=1962
2014-12-13 20:16:25 +01:00
Enno Rehling a3099ed507 Merge pull request #71 from badgerman/module-rename
Update wormholes to the module naming convention.
2014-12-13 18:56:02 +01:00
Enno Rehling 3a1e4ab7f5 fix crash when a GIVE order has no arguments. 2014-12-13 18:40:15 +01:00
Enno Rehling f8136530ef fix the loading of chaoscount attributes that I broke in the refactoring. 2014-12-13 17:31:55 +01:00
Enno Rehling 522633a2de Update wormholes to the module naming convention.
- register = called before game is loaded
- init = called after game is loaded
- update = called after the turn, before reports are written
2014-12-13 16:43:35 +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 ab71860224 Merge branch 'version-3-3'
Conflicts:
	src/build.h
	src/vortex.test.c
2014-12-12 17:24:00 +01:00
Enno Rehling b4e13b7cbd segmentation fault caused by free'ing battles twice 2014-12-12 17:21:04 +01:00
CTD 1cce4927a0 Bauern in leeren Regionen
Eine recht einfache Funktion die ein paar zusätzliche Bauern in leeren
Regionen erschafft.
2014-12-12 15:50:02 +01:00
Enno Rehling 440d78596c Add missing keywords, fix disappearing units.
https://bugs.eressea.de/view.php?id=2051
. The orders PASSWORT, FAHRE, KÄMPFE were not recognized (new imperative syntax).
. Added backwards compatibility for FIGHT (now COMBAT).

https://bugs.eressea.de/view.php?id=2050
. units were always giving away ALL persons, not the number in their GIVE command.
2014-12-12 13:32:21 +01:00
Enno Rehling 78f4dfac1d Rewrite the test framwework to report individual suites.
Stop leaking CuTestSuite objects.
2014-12-12 12:19:21 +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 20c0dfbb47 fix null-pointer crash (EMAIL order without arguments) 2014-12-11 23:23:11 +01:00
Enno Rehling aa01d9f21a fix clone effect message. 2014-12-11 23:22:35 +01:00
Enno Rehling 2a8a233c8b remove accidental build.h file 2014-12-11 13:04:09 +01:00
Enno Rehling cfc0972912 Merge branch 'version-3-3'
Conflicts:
	.travis.yml
	src/build.h
2014-12-11 13:03:31 +01:00
Enno Rehling 1a1ffd06b0 build number update 2014-12-11 11:14:54 +01:00
Enno Rehling f7e9a2df09 build number update, because version 3.3 had a new release.
really though, build numbers need a different system.
2014-12-11 11:11:19 +01:00
Enno Rehling 3324ced2b1 Print the full version number in the CR. 2014-12-11 10:06:28 +01:00
Enno Rehling 237f055237 Print the full version number in the CR. 2014-12-11 10:05:50 +01:00
Enno Rehling a16f63fc06 PROMOTE earlier in the turn, after GIVE and before PAY.
https://bugs.eressea.de/view.php?id=1659
2014-12-11 09:58:23 +01:00
Enno Rehling ef415c66d0 Fix GIVE 0 behavior on oceans. 2014-12-11 08:51:03 +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 f1662077c3 test giving too many and too few units.
start moving give-to-peasants logic into its own function.
2014-12-10 22:35:35 +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 b30de914aa report volcano outbreaks in affected regions.
https://bugs.eressea.de/view.php?id=2049
2014-12-08 21:19:18 +01:00
Enno Rehling 7d5280196a prevent an error when empty units get zombified to protect magic item loss 2014-12-07 11:14:41 +01:00
Enno Rehling 3dd3761acd prevent an invalid assert when undead heroes are magical 2014-12-07 11:14:14 +01:00
Enno Rehling 4d329b8bf8 fix missing get_faction binding, add faction.get() 2014-11-26 17:44:02 +01:00
Enno Rehling 7b2d1991d8 add missing file, fix factions that lack a locale. 2014-11-23 21:15:09 +01:00
Enno Rehling f92df416ff monsters need a default locale, or their report will crash (thanks, Don!)
- empty factions have not seen any region, prevent the code from crashing in that case.
- must load the rules even when only writing the reports (taxation affects guards?)
2014-11-23 15:50:22 +01:00
Enno Rehling 7d5109329f tests for entering ships (but not yet full coverage) 2014-11-21 17:13:45 +01:00
Enno Rehling 64a2073033 tests for entering buildings. 2014-11-21 16:39:49 +01:00
Enno Rehling 2fe40f00f5 Merge branch 'master' of github.com:eressea/server 2014-11-16 13:08:17 +01:00
Enno Rehling a5f14e7f02 Merge branch 'version-3-3'
Conflicts:
	src/build.h
2014-11-16 12:55:58 +01:00
Enno Rehling 13b443ebb3 fix crash (null pointer in make_cmd) 2014-11-16 12:49:39 +01:00
Enno Rehling 691b81e086 Merge branch 'master' of github.com:badgerman/eressea 2014-11-11 17:22:44 +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 b8306d42f5 remove unarmed damage bonus rule 2014-11-11 12:13:44 +01:00
CTD f3cce58be5 smal fixes for Linux 2014-11-11 10:53:29 +01:00
CTD 9d3b2f3da9 Flieger und Bewache
Flieger können nur noch durch andere Flieger aufgehalten werden.
Damit können Drachen auch in Bewachten Regionen plündern.
2014-11-11 10:17:55 +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 a28cbc647a loot refactoring and a small armor/shield fix. 2014-11-09 14:39:48 +01:00
Enno Rehling 7bebea4f67 Merge branch 'master' of github.com:eressea/server 2014-11-09 00:25:06 +01:00
Enno Rehling 9c0a7c0e2e Merge branch 'version-3-3'
Conflicts:
	src/build.h
2014-11-08 22:56:53 +01:00
Enno Rehling 1556c07787 fix a crash when missing a token 2014-11-08 22:55:07 +01:00
Enno Rehling 85a5a433bb writing reports should not depend on the monster faction, this is silly. 2014-11-07 23:16:00 +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 49493fa630 fix typo in last commit.
package is a standard lua module, not a good variable name.
log name of script.
2014-11-06 07:53:15 +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 93cdec9ddc fix json test (null-terminate read) 2014-11-04 07:57:29 +01:00
Enno Rehling 8912a59ac4 fix json test. our fault, not the fault of storage 2014-11-04 07:50:33 +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 d14a40b7e7 fix struct declarations. 2014-11-03 17:32:55 +01:00
Enno Rehling 835b0964ef fix gcc 2014-11-03 09:55:29 +01:00
Enno Rehling b2140f54fd refactor, move give_cmd into give.c 2014-11-03 08:44:26 +01:00
Enno Rehling 38a0a02565 refactor tests for giving, add test for GIVE HERBS. 2014-11-03 08:33:07 +01:00
Enno Rehling 9a0268ac96 bug 2042, pools not working. 2014-11-03 07:52:00 +01:00
Enno Rehling 0b96cc7d13 fix previous commit 2014-11-02 12:54:49 +01:00
Enno Rehling 59075b7194 fixing the gcc build (switch warning) 2014-11-02 12:45:20 +01:00
Enno Rehling ecc3b1b441 Dragons re using the new LOOT command.
Fixing the income message (missing ")").
2014-11-02 11:10:26 +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 14bcaf7d71 Merge branch 'version-3-3'
Update build number
2014-11-01 21:58:33 +01:00
Enno Rehling dc7cbd886c fix the quit command, asserting the wrong keyword (probably copypasta). 2014-11-01 21:57:06 +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 2a77f77745 Merge pull request #47 from badgerman/master
refactoring, tests, old datafile compatibility.
2014-10-31 17:32: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 838155179f fix backwards compatible code for at_permission. 2014-10-31 15:38:53 +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 aa4a93435e add missing tests for contacting during a siege. 2014-10-30 07:50:01 +01:00
Enno Rehling 526c561b90 some minor cleanup in laws.h 2014-10-29 21:08:16 +01:00
Enno Rehling fe5ea49506 Merge pull request #46 from badgerman/master
German keywords in the imperative.
2014-10-29 20:38:26 +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 209776b751 Merge pull request #45 from badgerman/master
Bug 2032: Rename FIGHT -> COMBAT, again
2014-10-26 21:38:22 +01:00
Enno Rehling b67d42b45e Merge branch 'version-3-3' 2014-10-26 21:19:16 +01:00
Enno Rehling f3e54e103a fix a crash when selling nothing.
build 687
2014-10-25 23:54:01 +02:00
Enno Rehling 0a1209d031 verify that my plan for making the German infinitive an optional alias will work. 2014-10-23 16:37:00 +02: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 356697e44e improve test for attrib::nexttype correctness. 2014-10-19 20:02:06 +02:00
Enno Rehling eb1d73e2c2 basic test for tolower function. 2014-10-19 06:42:40 +02:00
Enno Rehling aadd9377c2 update build number 2014-10-18 21:43:04 +02:00
Enno Rehling adcd4ec1c6 increase build number. 2014-10-18 21:40:56 +02:00
Enno Rehling 79c8c4a034 fix a crash when testing for the RESHOW ANY command.
E2 crashed when no parameter was given.
2014-10-18 21:40:25 +02:00
Enno Rehling f069df2345 Merge branch 'master' of github.com:eressea/server 2014-10-18 21:37:40 +02:00
Enno Rehling 58547969f8 fix a crash when testing for the RESHOW ANY command.
E2 crashed when no parameter was given.
2014-10-18 21:36:46 +02:00
Enno Rehling c337d3f505 Merge pull request #40 from CTD1/Fix-0001865-for-E2
Bug 1865: largest building or region owner pays for certain empty buildings. Fix for E2,
2014-10-18 20:35:51 +02:00
Enno Rehling 78db167802 Merge branch 'master' of github.com:badgerman/eressea 2014-10-18 19:57:50 +02:00
Enno Rehling 837227f69c PR code review comments.
- make study rule an enum, for easier debugging
- change parameter name (it's not a type)
2014-10-18 19:53:13 +02:00
Enno Rehling a09b53c0c4 Merge branch 'Autolehrer' of github.com:CTD1/eressea-server-bugfixing into CTD1-Autolehrer 2014-10-18 19:46:26 +02:00
Enno Rehling 7e1cec33a2 Remove unused gmcmd attributes.
use the at_deprecated feature that was built for this purpose.
remove final external dependency on a_free in the code.
2014-10-18 19:23:36 +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 a58afb9d15 added test for removal of atributes.
refactor existing tests a bit, free up memory.
2014-10-18 17:51:07 +02:00
Enno Rehling b37e8ac138 add a test for attrib->nexttype.
fix gcc build.
2014-10-18 17:12:43 +02:00
Enno Rehling 8f57adaf5b declare types (gcc failure). 2014-10-18 14:30:07 +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 1c8488f2b4 Wenn man 1/2 schreibt
sollte auch 1/2 im Code stehen.
2014-10-17 13:54:07 +02:00
CTD aa07c550ab Auto Lehrer
Config via study.speedup (sollte in E2 und E3 schon mit dem Wert 0 in
der XML stehen)
Wert 1:
Wenn das gerade gelernte Talent wenig Lerntage hat als 1/3 der max.
möglichen (ohne Bonus wie Akademie) hat,  dann gibt es die doppelten
Lerntage. Entspricht etwa dem alten Lehrer Schema.
Wert 2: Es werden die Lerntage aller Talente der Einheit als
Vergleichswert genommen, dann aber gegen den halben maximalen
Lerntagewert.
Es werden niemals die Lerntage der aktuellen Stufe mit eingerechnet,
sondern nur die durchschnittlichen Lerntage der bereits fertig gelernten
Stufen.
In E2 sollte der Lehre Befehl deaktiviert werden wenn diese Option
aktiviert wird.
2014-10-17 13:54:00 +02:00
CTD 3d6c499431 Fixeing GCC
Das es nicht gut ist wenn max als int in der Funktion definiert ist und
gleichzeitig global als Funktion existiert ist OK, aber warum Travis
chance() nicht kennt verstehe ich nicht, das ist in der rand.h als
extern definiert, sollte also kein Problem sein. Jetzt halt mit
rng_int().
2014-10-17 11:23:49 +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
CTD 88b9d3c583 Fix für Leere Gebäude
Der check war sinnlos, denn u->building wobei u der Besitzer ist, gibt
ja im Fall das er der "Besitzer der größten Burg in der Region" ist eben
diese Burg zurück.

So geht das dann auch in E2.
2014-10-16 14:40:22 +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 1c19a6948c kill some dead code. 2014-10-15 18:19:16 +02:00
Enno Rehling 9ce996051d Merge branch 'master' of github.com:badgerman/eressea 2014-10-14 23:02:56 +02:00
Enno Rehling 403c1ad6a9 fix errors and warnings that clang reports. 2014-10-14 22:57:02 +02:00
Enno Rehling 76b2325c19 eliminate unused variable warning. 2014-10-14 20:56:58 +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 bac3286440 re-implement faction:add_message for Lua.
only ancient xmas scripts were using it, but it's a useful function to have.
2014-10-12 21:26:25 +02:00
Enno Rehling fb32ebcd18 segmentation fault in export when a plane has no name (default plane). 2014-10-09 08:34:03 +02:00
Enno Rehling 595dc1334e fix new harbor code, add tests.
- alliances were checked in the opposite direction
- code crashed when harbor has no owner
2014-10-03 21:26:11 +02:00
Enno Rehling 98b69dc614 Merge branch 'master' of github.com:eressea/server 2014-10-03 19:27:38 +02:00
CTD 6f10ee828c Merge branch 'Hafen_und_Helfe_bewache' into Hafen2 2014-10-02 18:09:52 +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 d0d1ef5af0 Merge branch 'master' of github.com:eressea/server 2014-09-30 17:51:35 +02:00
Enno Rehling 6c2429cccb Version 3.3 released, build 685 2014-09-30 17:50:29 +02:00
Enno Rehling 4527ffdda2 refactoring and tests for wormhole module. 2014-09-29 23:19:59 +02:00
Enno Rehling 139ff04108 fix compilation warning on gcc. 2014-09-29 21:22:44 +02:00
Enno Rehling 68730749fb fix astral space special direction, vortex (translation issue). 2014-09-29 21:19:07 +02:00
Enno Rehling cbf9bb8985 fix qsort in wormhole code. pointers are hard. 2014-09-29 20:38:01 +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
Enno Rehling 8b19d51c65 Merge branch 'master' of github.com:eressea/server 2014-09-19 19:57:48 +02:00
Enno Rehling 7f0fdd1eb5 added a test for a purely hypopthetical problem (issue 2032) in keyword parsing. 2014-09-19 19:49:44 +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 d9e53573b5 Merge pull request #33 from CTD1/Monster
Drachen-Attacken in E3 abstellen.
2014-09-06 18:09:42 +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
CTD 2875fdddd1 Fixing Monsters
Drachen haben die Attacke-Chance Einstellung komplett ignoriert.
Jetzt machen sie zumindest bei 0 nicht mehr.
2014-09-01 15:42:56 +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 ae9ed99cd9 fixing linux build 2014-08-29 07:47:47 +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
CTD ee77a15f50 Häfen nur anlaufen mit Helfe Bewache
Ein Hafen kann nur noch angelaufen werden, wenn der Besitzer Helfe
Bewache oder Kontaktiere zum Kapitän gesetzt hat, oder wenn es die selbe
Partei ist. Das spart viel Micromgmt (Hafen ein und ausschalten), ist
vor allem jedoch wichtig in Verbindung mit dem neuen Feature das der
Regionsbesitzer auch den Hafen (und vieleicht auch noch den Leuchtturm)
betreibt.
2014-08-26 11:27:16 +02:00
Enno Rehling 2ceeb0b819 fix errors that gcc finds 2014-08-25 08:15:51 +02:00
Enno Rehling 2211111b29 Remove a German-only piece of text, to reduce the footprint of fleets in the report a little.
Fix English score message in NR.
Small fixes to meet Visual Studio warning level 4.
2014-08-25 00:45:32 +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 2246ce9d7a segmentation fault caused by new getstrtoken semantics
Conflicts:
	src/laws.c
2014-08-24 12:43:18 +02:00
Enno Rehling 87720c2b9c segmentation fault 2014-08-24 12:42:38 +02:00
Enno Rehling a1a810a094 segmentation fault 2014-08-24 12:41:39 +02:00
Enno Rehling 1c069da921 segmentation fault caused by new getstrtoken semantics 2014-08-24 12:40:00 +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 6b14eae118 Merge remote-tracking branch 'eressea/master'
Conflicts:
	src/kernel/order.c
2014-08-23 06:17:16 +02:00
Enno Rehling beacb850c6 fix MAKE TEMP, for real this time. I hate skip_token and all that stuff. 2014-08-23 00:37:33 +02:00
Enno Rehling b2dc6a3a9d fix MAKE TEMP, for real this time. I hate skip_token and all that stuff. 2014-08-23 00:35:06 +02:00
Enno Rehling dea20e94bd New pre-release. 2014-08-22 07:41:28 +02:00
Enno Rehling fd46b25317 Merge branch 'version-3-0'
Conflicts:
	conf/e3/config.xml
2014-08-22 07:40:43 +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 5c7b93d0ce Monster attackieren keine Einheiten in Gebäuden. 2014-08-20 08:18:26 +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 e69fb78e6b Monster attackieren keine Einheiten in Gebäuden. 2014-08-19 15:31:16 +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 8f09ab73d9 fix display of alliance status, some English translation hiccups. 2014-08-17 00:14:50 +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
Enno Rehling 804734d013 MSVC: disable level 4 warning C4100 for tolua-generated code (unused variable)
make a single object from all generated binding code.
this setup is unusual, but easier to maintain.
2014-08-14 19:39:17 +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 9ca206ec3f remove reference to thieves and spies from this spell for non-E2 games.
this fixes https://bugs.eressea.de/view.php?id=1548
2014-08-14 07:05:12 +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
CTD bdbffba68e Fixing Merge conflict 2014-08-14 02:06:24 +02:00
CTD 6afd8ab586 Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/laws.c
2014-08-14 00:23:41 +02:00
CTD a1225a1269 Merge remote-tracking branch 'origin/Feature-1865' 2014-08-14 00:16:12 +02:00
CTD dfec8d8001 Merge remote-tracking branch 'origin/Verlasse-zu-spät-in-Befehlsreihenfolge'
Conflicts:
	src/laws.c
2014-08-14 00:14:51 +02:00
CTD d546065bfd Merge remote-tracking branch 'origin/Piraterie' 2014-08-13 23:59:09 +02:00
CTD f45b16e9a4 Merge remote-tracking branch 'origin/Bug-1938' 2014-08-13 23:58:30 +02:00
CTD 13e544a233 Merge remote-tracking branch 'origin/Bug-1857' 2014-08-13 23:57:43 +02:00
CTD 0e8126f538 Merge remote-tracking branch 'origin/Bug-1664' 2014-08-13 23:56:56 +02:00
CTD df1a4b5a47 Merge remote-tracking branch 'origin/Bug-1516' 2014-08-13 23:33:27 +02:00
Enno Rehling 444971542c fix missing curly brace, indentation. hope I got this right. 2014-08-13 19:55:10 +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
CTD 233f707780 Merge remote-tracking branch 'origin/Bug-1610' 2014-08-13 15:56:44 +02:00
Enno Rehling 0a4962fbfd Published a new release. 2014-08-13 00:27:00 +02:00
Enno Rehling 04be680bd5 refactoring the pre-release script.
1. tests are now done in a subdiretory od the live server.
2. usage is easier, with commands.
3. using getopts for command-line parsing is cool.
2014-08-11 13:41:37 +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 53a5314463 Fix für E2
Die Abfrage der Option war ohne Default, so das sie hier immer an war.
In E2 führ das dann wegen cmp_taxes zur assertion.

Das wars, jetzt sollte alles rund sein.
2014-08-08 17:27:13 +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 75e98ae0cb Merge pull request #20 from CTD1/Bug-1664
Bug 1664: Obwohl kein Holz vorhanden ist, kommt die Meldung, daß der Unt...
2014-08-08 00:48:52 +02:00
Enno Rehling b92c51d579 Merge pull request #19 from CTD1/Bug-1516
Bug 1516 Trotz Reserviere, Pferde abgegeben.
2014-08-08 00:41:04 +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
Enno Rehling 1bd78438f2 Merge branch 'Verlasse-zu-spät-in-Befehlsreihenfolge' of github.com:CTD1/eressea-server-bugfixing into CTD1-Verlasse-zu-spät-in-Befehlsreihenfolge
Conflicts:
	src/laws.c
2014-08-08 00:34:55 +02:00
Enno Rehling 95dae121de Merge branch 'Bug-1803' of github.com:CTD1/eressea-server-bugfixing into CTD1-Bug-1803
Conflicts:
	src/laws.c
2014-08-08 00:25:17 +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
Enno Rehling 91eead0993 fix test runner 2014-08-07 13:23:11 +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 6889f186a9 Merge branch 'master' of https://github.com/eressea/server 2014-08-06 23:48:24 +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 b90b744287 removing unused RECRUIT_CLASSIC option. Dead code is dead. 2014-08-04 19:53:16 +02:00
Enno Rehling afd41286b5 config file reading based on game name and install location. 2014-08-03 20:37:05 +02:00
Enno Rehling 7d9442d360 missing include 2014-08-02 23:05:01 +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
Enno Rehling 64ef71143a Use two-phase RESERVE in regular process_orders 2014-08-01 13:12:18 +02:00
CTD 7d64046022 Bug 1664: Obwohl kein Holz vorhanden ist, kommt die Meldung, daß der Unterhalt für die Schmiede gezahlt wurde
Es wird im ersten Durchlauf nur noch gezahlt wenn das Gebäude dann auch
Arbeiten kann (also alles da ist). Ich habe den 2ten Durchlauf erhalten,
auch wenn er in Code nicht mehr genutzt wird.
2014-07-30 16:13:14 +02:00
CTD 246a92f666 Bug 1516 Trotz Reserviere, Pferde abgegeben.
Gib xyz anzahl irgendwas ignoriert nicht mehr das eigene Reserviere.
2014-07-29 14:33:57 +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
CTD db6179ddeb Betrete vor dem Kampf
Damit Besitzer anderer Gebäude in der Region  vor einem Kampf in die
Burg fliehen können, noch ein 4tes mal Betrete.
2014-07-28 11:16:45 +02:00
CTD 03b69cc37e Verlasse wurde erst nach dem Kampf ausgeführt
Verlasse wurde erst nach Kämpfe ausgeführt, da die Befehle mit der
selben Prio als LiFo abgearbeitet werden. Das ist vor allem bei
überfüllten Burgen vor dem Kampf schlecht.
2014-07-28 10:49:19 +02:00
CTD 964c03eb92 Bug 1803 RESERVIERE ALLES tut nichts
Reserviere Alles implementiert.
Option für rules.reserve.twophase in die Befehlsabarbeitung
implementiert.
2014-07-28 10:29:35 +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 46ab9e7bb6 version 280 installed in production 2014-07-24 08:07:34 +02:00
Enno Rehling 1342b625cc Merge branch 'master' of github.com:eressea/server 2014-07-24 08:06:27 +02:00
Enno Rehling e048e86985 Merge pull request #15 from CTD1/patch-bug1690
Bug 1690: [E3] +1 Bonus für Zauber von Elfen im Wald
2014-07-24 08:06:17 +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 44327d91f6 setting the rules directory with -r (overrides config.rules from eressea.ini) 2014-07-23 15:44:57 +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
CTD 4670767a3b Bug 1690: [E3] +1 Bonus für Zauber von Elfen im Wald
Es wurden immer 5 und nicht wie im kommentar beschrieben stufe/spellpwer
* 5 Personen von dem Spruch betroffen.
2014-07-23 10:52:39 +02:00
Enno Rehling 51207167c8 allow reading the configuration from a different directory (-c dir). 2014-07-23 08:10:14 +02:00
Enno Rehling af73c6dcdf Output a message, give feedback about keys used.
Remove unused variable.
2014-07-22 11:27:43 +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 2a95c5c1be new server release 2014-07-20 09:53:55 +02:00
Enno Rehling 956efc48d5 new two-phase reserve for e4 2014-07-20 09:42:45 +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
CTD 9d102fd069 BUG 1786 Fehlschlag ZERSTÖRE Gerüst
Einheiten ohne Personen können nichts zerstören (das ist OK), da aber
Zerstöre vor Rekrutiere und zusammen mit Gib abgearbeitet wird, kann
eine Temp-Einheit normalerweise nichts Zerstören, auch wenn sie in der
Auswertung Pesonen hat.
Wenn sie Personen übergeben bekommt hängt es von der genauen
Reihenfolger der Einheiten in der Region ab.
Daher habe ich Zerstöre nach Gib, Vergessen und Rekrutieren geschoben.
2014-07-18 15:21:10 +02:00
CTD 4cfa1ec7c3 Bug 1755 Beschworene Skelette mit Ausdauerproblemen
Sowohl Beschworenen Untote als auch Monster (Drachen, für Monster-Untote
war es Ok) hatten keine Anpassung ihrer Max-HP nach der Zuweisung von
Skills.
2014-07-18 13:15:18 +02:00
Enno Rehling a4675c61fd installing resource files through cmake. 2014-07-17 15:55:50 +02:00
Enno Rehling 4506bff522 new server version installed. 2014-07-17 15:18:18 +02:00
Enno Rehling 4c4652667c fix code to work with gcc, move init_locales() outside of util. 2014-07-17 15:16:57 +02:00
Enno Rehling 97de950884 Merge pull request #13 from TomBraun/master
Change umlauts in the german comment
2014-07-17 15:13:30 +02:00
Enno Rehling ae238799b4 Merge pull request #12 from CTD1/master
Bugfix http://bugs.eressea.de/view.php?id=2009
2014-07-17 15:11:00 +02:00
Enno Rehling 1500bcac70 REKRUTIERE RASSE funktioniert nicht (Bug 2012)
http://bugs.eressea.de/view.php?id=2012
init_locales must not be called before races have been configured.
make jsonconf initialize translations
handle missing strings in translations, log errors.
2014-07-17 14:38:56 +02:00
CTD 5e2c5657bd Falscher Magischer Beutel bei Gewichtsberechnung
Bei der Änderung
92f43a7b51
wurde der Magische Beutel durch den Magischen Kräuterbeutel ersetzt, so
das dieser nun das Gewicht reduzierte und der "Bag of Holding" völlig
nutzlos wurde.
2014-07-17 12:59:47 +02:00
TomBraun 19ce861120 Change umlauts in the german comment 2014-07-16 12:10:58 +02:00
CTD 3bd63955a2 Klammern vergessen 2014-07-16 10:28:32 +02:00
CTD1 700a88fd79 Umlaute in Kommentaren
sind doof.
2014-07-15 15:46:02 +02:00
CTD1 6987c61d97 Bug 0002014: Zwergenausrüstung kann nicht hergestellt werden
Nicht auf die Fraction Rasse checken, (die ist normalerweise Halbling, kann aber auch Zwerg sein wenn mit der Starteinheit eigenartige Dinge gemacht wurden) sondern ob der Hersteller eine Zwergen oder Golem ist.
Da Zwergensachen nur von Zwergen benutzt werden können, stellt es keinen Vorteil für andere Völker da wenn sie über Golems Zwergensachen machen können.
2014-07-15 15:34:42 +02:00
CTD1 38a754844e BUG 0001980: Gegener hält Burg obwohl alle geflohen sind!
http://bugs.eressea.de/view.php?id=1980
Der Test unten erzeugt eine Temp-Einheit welche nach dem Kampf die Burg hält, trotz einer vernichtenden Niederlage innerhalb von 2 Kampfrunden. Der Angreifer darf die Burg zwar betreten, bekommt aber nicht das Kommando.
Grund ist das beim Betreten der Burg via u_set_building() nur dann die betretende Einheit zum Burgenbesitzer wird wenn es keinen Burgenbesitzer gibt.
Die eher aufgerufene Funktion building_owner() versucht zwar nach dem Kampf einen neuen Burgenbesitzer zu finden, da sich zu diesem Zeitpunkt aber nur eine Tote Einheit und einen Temp Einheit, beide mit 0 Personen, in der Bug befinden schlägt dies Fehl. Es wird von der Funktion zwar 0 zurückgegeben, aber b->_owner wird nicht zurückgesetzt (Vermutlich da der Server an anderer Stelle sonst annimmt das noch nie jemand in der Burg war). Daher die Überprüfung bei u_set_building ob der Burgenbesitzer tot ist, und wenn ja wird die betretende Einheit neuer Burgenbesitzer.

local r1 = region.create(1, 2, "plain")
local f1 = faction.create("a@b.de", "human", "de")
local f2 = faction.create("c@d.de", "human", "de")
f1.age=20
f2.age=20

local b1 = building.create(r1, "castle")
b1.size = 100

local u0 = unit.create(f1, r1, 10)
u0.building = b1
u0:add_item("money", u0.number * 100)
u0:clear_orders()
u0:add_order("KÄMPFE")
u0:add_order("MACHE TEMP 1")
u0:add_order("ENDE")

local u1 = unit.create(f1, r1, 100)
u1.building = b1
u1:add_item("money", u1.number * 100)
u1:clear_orders()
u1:add_order("KÄMPFE FLIEHE")
u1:add_order("GIB TEMP 1 ALLES PERSONEN")
u1:add_order("GIB TEMP 1 ALLES")
u1:add_order("GIB TEMP 1 Kommando")

local u2 = unit.create(f2, r1, 101)
u2:add_item("sword", u2.number)
u2:add_item("money", u2.number * 100)
u2:set_skill("melee", 16)
u2:clear_orders()
u2:add_order("KÄMPFE")
u2:add_order("ATTACKIEREN " .. itoa36(u1.id))
u2:add_order("BETRETE BURG " .. itoa36(b1.id))

process_orders()


Das sollte für Schiffe eigentlich das gleiche sein, also da die gleiche Änderung.
2014-07-15 15:24:21 +02:00
Enno Rehling acb0cd7404 installed build 677 in production, increase build number to 678 2014-07-07 03:42:43 +02:00
Enno Rehling b2b35fd9d0 add a test for the E3 reduced give quota.
foreign units receive only 50% of silver given to them.

Conflicts:
	tests/pool.lua
2014-07-07 03:41:33 +02:00
Enno Rehling 68d96014b1 a new method for finding out that a unit died in battle.
turns out, a unit can have 0 people without dying or being a TEMP (GIVE them all away, then RECRUIT more).
2014-07-06 13:00:14 -07:00
Enno Rehling 4d173cf7e2 if a unit is empty, and not a TEMP, then it is dead and cannot recruit.
This fixes http://bugs.eressea.de/view.php?id=2010
2014-07-06 12:39:03 -07:00
Enno Rehling fdae518ef7 also read the extended race::ec_flags from JSON configuration. 2014-07-06 00:53:15 -07:00
Enno Rehling 88f9d247bd Revert "use race::flags|RCF_NOGIVE instead of race::ec_flags|GIVEITEM"
E3 Tests (GIVE) did not pass.

This reverts commit 5ec3f5b83a.
2014-07-06 00:29:52 -07:00
Enno Rehling 5ec3f5b83a use race::flags|RCF_NOGIVE instead of race::ec_flags|GIVEITEM
None of this has tests, it'd going to be years before a change like this can be made without fear D-:
2014-07-05 23:31:34 -07:00
Enno Rehling b21cb8f5c7 Simple test for rules.give (there are many more, can_give deserves a test to itself).
The more tests I write, the more I hate the infrastructure for them.
2014-07-05 23:06:51 -07:00
Enno Rehling b9b627a171 refactor setup for economy tests.
rename can_steal->check_steal for consistent naming, check_give->can_give, too.
2014-07-05 22:47:26 -07:00
Enno Rehling f14264e3bb test coverage for can_steal.
add a default message for when no messages are loaded, so that msg_feedback/msg_message doesn't return NULL when XML has not been laoded.
initialize some core stuff before running tests (there probably needs to be more).
2014-07-05 20:14:11 -07:00
Enno Rehling 072f927d5b replace RCF_CANSTEAL with RCF_NOSTEAL for less confusing default behavior. 2014-07-05 19:29:12 -07:00
Enno Rehling 5b437c5833 Replace RCF_PLAYERRACE with RCF_NPC, it's the less confusing default for tests. 2014-07-05 19:21:06 -07:00
Enno Rehling 4a8707b06d fix a fall-through in jsonconf causing an error message.
add tests for pool, not working because of missing GIVEITEM on
JSON-configured races (TBD).
2014-07-05 18:21:20 -07:00
Enno Rehling d743d32215 bind "blocked" flag for Lua (bug 1922).
remove unused region-flags.
2014-07-05 10:46:43 -07:00
Enno Rehling d5e9899544 remove battle statistics, the flag is not set anywhere, and I have not used them in ages. 2014-07-05 10:45:03 -07:00
TomBraun 990b6505bf Fix BUG 0001976
http://bugs.eressea.de/view.php?id=1976
Check that only buling owner set k_pay disable
If other unit inside the building set k_pay disable
it have now no effect, before only fraction was check

Conflicts:
	scripts/tests/eressea.lua
2014-07-04 22:45:53 -07:00
TomBraun 783df84055 BUG owner of a building can't enter ship
If owner of a building want to enter a ship or other building,
he must first leave the bulding.
Commands are "leave" and "enter <ship/tower> <ID>".
For buildings was that OK but not for ships.
The building owner was inside the region after that commans
and not in the ship.
2014-07-04 22:31:09 -07:00
Enno Rehling 8fc137d780 Expose the "working" flag for buildings to Lua.
Test working vs. unpaid harbour landigns with a ship.
2014-07-04 22:12:12 -07:00
Enno Rehling 26d6808ea1 read building-maintenance requirements from JSON. 2014-07-04 21:48:17 -07:00
Enno Rehling e0ee82e977 Do not default newly created buildings to being maintained and working (do that in the create order instead).
This was mucking up one of the new tests.
2014-07-04 16:13:48 -07:00
Enno Rehling dd408da3f4 resolve naming conflict on windows. 2014-07-03 12:20:50 -07:00
Enno Rehling ccbcf14458 Merge branch 'master' of github.com:eressea/server 2014-07-03 05:15:47 -07:00
Enno Rehling f505ae8eb7 copy names of callbacks when registering them 2014-07-03 05:15:38 -07:00
Enno Rehling 162375842b introducing new callback system 2014-07-03 05:10:53 -07:00
Enno Rehling 22c5b4d45c Merge branch 'master' of github.com:eressea/server 2014-07-02 21:27:53 -07:00
Enno Rehling b5439a1279 fix line/column calculation for JSON Errors.
+ start building a test for http://bugs.eressea.de/view.php?id=1692
2014-07-02 21:17:31 -07:00
Enno Rehling 91a776c0ac begin configuring spells from JSON 2014-07-02 21:15:22 -07:00
Enno Rehling ee1d97df19 remov e the old recycling quota, it was always 0.5 everywhere, and a
silly feature..
2014-07-01 20:36:31 -07:00
Enno Rehling 54a3c2e070 recycle quota is always 0.5 in every game, no reason to toch this. 2014-06-30 19:25:08 -07:00
Enno Rehling 927ada92b6 improve construction data in JSON.
test castle naming function
2014-06-30 19:21:42 -07:00
Enno Rehling e39336e87a move declaration to top of block 2014-06-29 20:09:21 -07:00
Enno Rehling 7a6b237de0 Merge branch 'master' of github.com:TomBraun/server into TomBraun-master
Conflicts:
	src/kernel/build.c
	src/kernel/item.c
2014-06-29 20:05:44 -07:00
Enno Rehling 9dcf5bbf4c fix a crash for invalid race enums 2014-06-29 19:15:03 -07:00
Enno Rehling 12661fc373 new_itemtype has been replaced, delete it. 2014-06-29 19:09:37 -07:00
Enno Rehling 22f64abaf2 caching get_race() calls 2014-06-29 19:04:30 -07:00
Enno Rehling c3dfbdea18 eliminate new_race array in favor of a function (TODO: make it fast) 2014-06-29 18:10:02 -07:00
Enno Rehling 11a264742b appearance is something only items have, so move it to item_type 2014-06-29 17:35:37 -07:00
Enno Rehling 2a00301949 unused variable 2014-06-29 17:31:33 -07:00
Enno Rehling 062ba71bd7 fix reading items in xmlreader (still has no tests) 2014-06-29 17:29:41 -07:00
Enno Rehling 5d32896407 rt_register is no longer required, new_resourcetype replaced by rt_get_or_create. 2014-06-29 17:02:45 -07:00
Enno Rehling 95929a99b5 we are about to remove rt_register, but not quite yet. 2014-06-29 16:46:42 -07:00
Enno Rehling 773f3767d3 eliminate cb_items 2014-06-29 16:41:03 -07:00
Enno Rehling 7ee6f0444d reduce use of cb_items, because we want to remove it. 2014-06-29 16:39:53 -07:00
Enno Rehling 7249630e3c Eliminate some Visual Studio warnings, rename itemnames->resourcenames. 2014-06-29 15:41:04 -07:00
Enno Rehling 2e4adddb8f Merge branch 'master' of github.com:eressea/server 2014-06-29 21:51:41 +02:00
Enno Rehling 2af434cfef installing build 676 in production 2014-06-29 21:51:28 +02:00
Enno Rehling 1000c1f911 random encounters in land regions only (nobody will ever enter a firewall, and astral plane shouldn't have it either) 2014-06-29 12:47:11 -07:00
Enno Rehling 6bd2b3be26 add a test for stone golems building castles.
fix a bug when stone golems use themselves up.
2014-06-28 23:58:00 -07:00
Enno Rehling a48cca5db8 building naming function configured from JSON (this needs work).
started writing tests for castles.
2014-06-28 16:55:28 -07:00
Enno Rehling 612dfea36f Merge branch 'master' of github.com:eressea/server 2014-06-28 16:39:54 -07:00
Enno Rehling 89e7a7826f added some tests for building buildings. 2014-06-28 16:19:46 -07:00
TomBraun c31c436cc7 change u->number >> 0 to u->number>0 2014-06-28 20:45:17 +02:00
Enno Rehling 34ce9a0573 JSON configuration can read strings, with test. 2014-06-28 10:37:40 -07:00
Enno Rehling 9e21f1d05e Merge branch 'master' of github.com:eressea/server 2014-06-27 07:50:08 -07:00
Enno Rehling 9b01b71a19 config returns a value, so we can assert corrrect JSON syntax 2014-06-27 07:36:18 -07:00
TomBraun b346788e43 Merge remote-tracking branch 'eressea/server' 2014-06-27 07:35:21 +02:00
Enno Rehling 39f78354b9 Merge branch 'master' of github.com:eressea/server 2014-06-26 22:06:38 -07:00
Enno Rehling 06d92181fe option for release builds 2014-06-26 22:05:17 -07:00
Enno Rehling 68aa903130 make tests pass through valgrind
introduce more #ifdef LOMEM to bitfield structs.
2014-06-26 21:48:01 -07:00
Enno Rehling c5cf8bb3be add some asserts, chasing a valgrind message 2014-06-26 21:27:50 -07:00
Enno Rehling 5e835618f3 fix weight calculation, uninitialized value 2014-06-26 21:02:03 -07:00
Enno Rehling dba51bf0f7 remove duplicate handling of "speed" attribute in JSON
add weight and capacity in this test (still broken)
2014-06-26 19:11:34 -07:00
TomBraun 99da4de9ad Define "pf_generic cast = 0" and "pf_generic fumble = 0" early
Visual Studio 2013 express don't compile without errors if
this definition comes to late.
2014-06-26 07:20:59 +02:00
TomBraun be4e02cc16 Merge remote-tracking branch 'upstream/master' 2014-06-26 07:37:30 +02:00
Enno Rehling d0e2ad542a tests for basic movement 2014-06-25 14:30:24 -07:00
Enno Rehling 12e15978b8 read weight, capacity and flags of items 2014-06-25 08:00:09 -07:00
Enno Rehling af77a1d8e5 speed up float params, exploiting alphabetic sorting 2014-06-25 07:25:54 -07:00
Enno Rehling 07d10d9ab0 add tests for get_param functions 2014-06-25 07:22:39 -07:00
TomBraun d4fdddbc27 Iron golems can now create dwarfen only items
(makes irongolems usable for dwarfs)
2014-06-25 13:24:06 +02:00
TomBraun 0400bcafad Iron and Stone golems now use the corect number of stones / iron.
0001946: Eisengolems stellen keine Waren her
http://bugs.eressea.de/view.php?id=1921
2014-06-25 13:22:42 +02:00
TomBraun 84fb776d1c Fixed a bug that crasehed the server
when Stonegolems created a new building
and the whole unite was consumed during this process
(could not enter the new building as no one was left in the unit)
2014-06-25 13:15:37 +02:00
Enno Rehling a75d91fb6d remove the last of the static item_type variables. 2014-06-24 23:13:18 -07:00
Enno Rehling 31c0e5c2a4 read items from JSON, with no properties yet 2014-06-24 22:54:10 -07:00
Enno Rehling 92f43a7b51 eliminate it_find calls, replace it_find with something backed by rt_find 2014-06-24 22:44:05 -07:00
Enno Rehling 9d24c3c291 testing resource caching 2014-06-24 19:51:06 -07:00
Enno Rehling dc8a8cdd71 rt_find -> get_resourcetype optimization 2014-06-24 08:19:11 -07:00
Enno Rehling d581737744 optimization: caching resource types in get_resourcetype.
eliminate some it_find calls.
eliminate static variables, they make testing hard.
2014-06-24 07:42:45 -07:00
Enno Rehling 7adb8498aa Merge branch 'fix_block_movement' of github.com:stm2/server into stm2-fix_block_movement
Conflicts:
	scripts/tests/eressea.lua
	src/kernel/move.c
2014-06-23 20:34:07 -07:00
Enno Rehling 77ee0b7af7 remote the item_t enum for good 2014-06-23 19:17:13 -07:00
Enno Rehling 73da14e305 getting rid of the olditemtypes[] array
reduce use of statics
reduce use of item_t enum
2014-06-23 07:28:10 -07:00
Enno Rehling 1444ee58f2 kill XEBALLOON etc, fix some strings 2014-06-22 10:43:05 -07:00
Enno Rehling 2c831230a0 Added a test for expensive skills.
When resetting the game rules, make sure basic resources (money, hp, person) are initialized.
2014-06-22 07:55:14 -07:00
Enno Rehling 43dc69d94a copy/paste error 2014-06-21 14:44:40 -07:00
Enno Rehling d9972a9da9 call init_skills when not using JSON config 2014-06-21 14:39:56 -07:00
Enno Rehling bfadc4914f add JSON configuration to skills, and tests 2014-06-21 08:53:14 -07:00
Enno Rehling 46f6628a08 remove obsolete commands (PRAY) and parameters 2014-06-21 07:34:36 -07:00
Enno Rehling bff25f3c51 move skill_t into a separate file, give it unit tests.
name functions the same as we did for keyword/direction earlier.
to do: json configuration and lua test.
2014-06-20 23:59:04 -07:00
Enno Rehling ceabbebc90 switch remaining flags from unsigned to int. 2014-06-18 20:53:06 -07:00
Enno Rehling eb567918e5 forgot to init the bindings for game.pkg
next problem to solve: skills
2014-06-17 23:50:13 -07:00
Enno Rehling 3625ba6a95 remove static variables optimizations, they create global state that is bad for testing 2014-06-17 23:10:55 -07:00
Enno Rehling 8166519d30 add a list of valid coasts to ship definition in JSON.
fix endless loop in error-line counting.
2014-06-17 21:33:42 -07:00
Enno Rehling 6788d552cd remove parameters for old PRAY command.
Add an eressea.game module to Lua bindings.
2014-06-17 18:12:24 -07:00
Enno Rehling b6b790d7e7 add a config.reset function to clear configuration state before tests. 2014-06-17 08:46:22 -07:00
Enno Rehling 0675c50c7f keyword lookup macro 2014-06-16 23:05:39 -07:00
Enno Rehling 5c78a3883e cleaning up terrains, reading race flags from a JSON array 2014-06-16 22:43:40 -07:00
Enno Rehling 33928568cf finally have all the scaffolding to write a test with ships.
configure terrain flags from json.
ships are always allowed to enter SEA regions.
2014-06-16 22:19:19 -07:00
Enno Rehling b40ddaeaa1 add test for keyword aliases, add keyword to strings for reverse lookup 2014-06-16 20:41:08 -07:00
Enno Rehling 0af5e96e3a Renaming keyword tokens to English. 2014-06-16 20:16:06 -07:00
Enno Rehling 27374a9329 put keywords into a namespace before giving them english keys (tbd). 2014-06-16 18:45:32 -07:00
Enno Rehling 249a4390c4 read keyword translations from JSON configuration. 2014-06-16 11:30:23 -07:00
Enno Rehling 645a7fcde6 fix keyword translations, they use critbit, not tokens 2014-06-16 10:32:30 -07:00
Enno Rehling 6a20594fd3 renamedtest files in the rest of the makefiles, too. oops. 2014-06-16 08:07:08 -07:00
Enno Rehling 125fd519a8 rename test files.
add tests for keyword.c, incomplete.
2014-06-16 08:01:59 -07:00
Enno Rehling c8dc6be6f2 rename get_keyword, because something else should have that name. 2014-06-16 07:19:22 -07:00
Enno Rehling 64e0c221ec directions can now be read from json configuration.
rename a couple of functions for more consistency across modules.
2014-06-15 22:17:08 -07:00
Enno Rehling acbef7a3a0 fix missing locales initialization 2014-06-15 21:19:47 -07:00
Enno Rehling a9f0538d8e keyword_t and direction_t are moving into their own module.
direction parser gets new initialization function, for use in jsonconf later.
add unit tests for directions.
2014-06-15 18:34:39 -07:00
Enno Rehling 812cb98dff begin binding locales (need to init_locales in the right place, still).
fix indentation in some places.
add some assertions.
2014-06-14 07:52:32 -07:00
Enno Rehling 24dc006e43 fix json config for terrains, some other stuff. 2014-06-13 17:36:05 -07:00
Enno Rehling e27bde06ac bindings for error logging, phase 1.
better error reporting for json parse errors.
2014-06-13 13:02:03 -07:00
Enno Rehling 97c17b1afa Merge branch 'master' of github.com:eressea/server 2014-06-13 08:29:01 -07:00
Enno Rehling 6e56c56d39 read ships from config file (only very basic) and create them in a lua test. 2014-06-13 08:28:33 -07:00
Enno Rehling 5a82350037 fix broken xmlreader after most recent cahnges to
race/ship_type/building_type creation functions.
2014-06-12 22:30:13 -07:00
Enno Rehling d503937999 working on making json config understand ships and buildings.
new tests in progress.
remove giveitem.c attribute, the name clashed with a trigger,
and it was only part of an arena that is gone from the game, I think.
2014-06-12 22:14:07 -07:00
Enno Rehling b84bf7ba56 add json configuration parser to lua bindings. 2014-06-12 17:39:09 -07:00
Enno Rehling 8d2df36430 clean up indentation.
fix duplicate header guard names.
2014-06-12 17:38:45 -07:00
Enno Rehling fa98528d72 remove old SQL patch code, we have sqlite now.
rearrange the SlickEdit projects.
2014-06-11 22:21:52 -07:00
Enno Rehling 28726e2bea update cmake to compile without sqlite3, curses or libxml2 installed.
This is not actually recommended, but your system may not have
this,and you should still be able to contribute. also, libxml2 is on
the way out, I am beginning to really hate it.

Moving a couple of files around.
2014-06-11 20:30:34 -07:00
Enno Rehling 9605fe27ae add a version number header for release management.
add build number to creport.
2014-06-11 07:01:06 -07:00
Enno Rehling 42a86fc910 make sure that the skill bonus for races is signed, even on ARM where
that is not necessarily the default.
2014-06-09 21:36:43 -07:00
Enno Rehling 3dda5d3033 apply USE_LIBXML consistently, so tests can be built without libxml2 2014-06-09 20:51:29 -07:00
Enno Rehling a304b981d5 remove archetypes, they are not used by any existing game.
make compiling with libxml2 optional (USE_LIBXML2)
disable xml reports
2014-06-09 19:05:17 -07:00
Enno Rehling 3c4b6b9dd4 rename message.[hc] to messages.[hc] in kernel because of naming conflict with util/
begin json config files (WIP)
2014-06-09 09:56:49 -07:00
Enno Rehling dceff481d7 json config files, beginning with races 2014-06-07 22:17:48 -07:00
Enno Rehling f43d8a3297 remove old gamecode-diabling logic
it was old, and not in use.
2014-06-07 10:36:50 -07:00
Steffen Mecke dc3eea0c70 take best unit and count amulet at most once for guards blocking movement 2014-06-04 11:04:17 +02:00
Enno Rehling 9940025a96 eliminate multiple warnings about missing default order
fix e3 catalog file syntax
2014-06-02 07:31:46 +02:00
Enno Rehling e17a3fc8fa eliminate remaining traces of the wisps spell 2014-06-02 07:22:07 +02:00
Enno Rehling 08c3d08d7d fix config.xml for test games
update log levels for some common messages.
2014-06-02 05:42:56 +02:00
Enno Rehling 6f29e4dab5 improve logging information (missing race, log levels)
do nothing when thre is no peasant blood
2014-06-01 11:07:22 +02:00
Enno Rehling d388a94f36 report missing itemtype before crashing 2014-05-24 20:35:00 -07:00
Enno Rehling 7038b021de fix counting of units, making it slower but more correct 2014-05-24 20:25:06 -07:00
Enno Rehling 649a43a27e sqlite updater, rewrite 2014-05-16 22:49:28 -07:00
Enno Rehling 515b582144 Merge branch 'master' of github.com:eressea/server 2014-05-10 11:45:14 -07:00
Enno Rehling c2329f7f2b changing unsigned flags to regular ints
the storage library does not understand unsigned at the moment, and using the highest order bit causes trouble
new version of datafile
2014-05-10 18:57:04 +02:00
Enno Rehling 0d087d6bb1 Merge branch 'master' of github.com:eressea/server 2014-05-05 19:15:32 -07:00
Enno Rehling 1e7e5877a1 Merge branch 'master' of github.com:eressea/server 2014-05-05 19:14:55 -07:00
Enno Rehling 86bc4e7aef reading and writing the NPC flag was broken, because flags were a fully loaded unsigned int. making it an int instead, and adding a test.
fixing a bad test in which shadowmasters were deserting to faction null (causing a crash).
2014-05-05 19:11:40 -07:00
Enno Rehling 465f3f7ce9 Merge branch 'master' of github.com:eressea/server 2014-05-05 00:00:10 -07:00
Enno Rehling 19a21772e4 stop tests from crashing 2014-05-04 15:54:56 -07:00
Enno Rehling cb458db9a1 updating eressea.db, not with a fixed game-id 2014-05-04 22:49:06 +02:00
Enno Rehling 535a9e6e53 fix number of units in the report header 2014-04-26 12:24:51 -07:00
Enno Rehling 35c2baafbe do not read turn file for turn 0 2014-04-25 07:47:23 +02:00
Enno Rehling 1588d31a7e fix test runner 2014-04-24 15:39:14 +02:00
Enno Rehling 921ab4947e fixing xml config for e2 and e3 2014-04-24 06:24:35 -07:00
Enno Rehling e5b54ba953 Merge branch 'master' of github.com:eressea/server 2014-04-24 14:41:21 +02:00
Enno Rehling c1b840b0b2 remove -Cef, parse any arguments as a file to run.
new xml config file, work in progress, xinclude is broken
2014-04-24 14:41:04 +02:00
Enno Rehling 2cc21b265d remove GM command, remove gm-attributes from data when writing. 2014-04-22 21:42:32 -07:00
Enno Rehling 45168eb7e9 Merge branch 'master' of github.com:eressea/server 2014-04-22 07:21:34 -07:00
Enno Rehling 0d05ae77a3 remove stupid pragmas 2014-04-22 07:21:29 -07:00
Enno Rehling fa5dc43b98 reorganizing the way configuration data is read (WIP) 2014-04-20 09:36:25 -07:00
Enno Rehling ae68a1beaf add a script that runs all tests
clean up the build scripta bit
bind ship type
2014-04-12 05:25:21 +02:00
Enno Rehling 9aeb0f6b86 make build script figure out how many jobs to run 2014-04-11 19:41:17 -07:00
Enno Rehling 7358c48580 removing some naming conflicts that hapen when trying to re-enable amalgamation builds. 2014-04-11 19:41:17 -07:00
Enno Rehling e99b69d76e need to cast this to (char) after all, for non-arm architectures. 2014-04-11 18:25:07 -07:00
Enno Rehling b769be0f60 invalid tests for some architectures (char is not guaranteed to be signed or unsigned)
fix tests on ARM
2014-04-11 09:46:03 -07:00
Enno Rehling 0d8a196491 create report directory before writing reports.txt 2014-03-22 23:14:36 +01:00
Enno Rehling b399356971 Revert "remove GM command"
there is a saved attribute that needs this
This reverts commit 7e529f2b4c.
2014-03-22 21:49:18 +01:00
Enno Rehling dde8d35b3d test that EXPORT_REGIONS doesn't export anything else 2014-03-22 17:46:08 +01:00
Enno Rehling 6e0286b9a9 fix broken test 2014-03-22 17:43:34 +01:00
Enno Rehling a986640ef6 json export for planes. untested. old tests broken. WIP 2014-03-22 01:56:00 -07:00
Enno Rehling 52e64ac418 this single-use macro doesn't belong there 2014-03-17 00:42:46 -07:00
Enno Rehling 1ec18b8fd9 better SWAP() macro 2014-03-17 00:28:13 -07:00
Enno Rehling 6e3ed568ea fix lua test for blessed harvest. 2014-03-17 08:21:35 +01:00
Enno Rehling 7e529f2b4c remove GM command
this was a command from the very early days, when we had player-made
quests. It is no longer in use.
2014-03-16 23:40:51 -07:00
Enno Rehling edae097591 updated bindings 2014-03-17 04:01:52 +01:00
Enno Rehling a32e1cd127 fix missing includes 2014-03-16 22:34:05 +01:00
Enno Rehling 632322a445 additional testing
improved directory detection in build script
2014-03-16 14:19:51 -07:00
Enno Rehling eba61c1cda handle empty world
and add tests for it
2014-03-16 11:17:47 -07:00
Enno Rehling e350b8a146 rebuild lua bindings
fix json export
add a script to reset submodules
2014-03-16 02:12:49 -07:00
Enno Rehling 7845de0403 json import of regions
this is terribly untested, it barely compiles.
2014-03-16 01:51:08 -07:00
Enno Rehling 3c706cf29b replace bool.h with autoconf
Most of the bool configuration was already happening there, no reason
for a separate file.
2014-03-15 22:24:18 -07:00
Enno Rehling 0ae8737062 rename MIN/MAX to _min/_max 2014-03-16 05:03:17 +01:00
Enno Rehling 70cee3c6e5 remove any dependency on stat. 2014-03-15 20:41:58 -07:00
Enno Rehling 1a4cb16ea8 fix the unused macro, remove inline functions
simplification is good
2014-03-15 20:33:43 -07:00
Enno Rehling 8e42cb8143 remove old inline cruft
fewer macros = better
2014-03-15 14:52:04 -07:00
Enno Rehling 8db8dbeefd fix usage of access()
those were the wrong constants.
2014-03-15 14:36:55 -07:00
Enno Rehling 9fc926864e Fixes for Visual C++
snprintf and strncasecmp are not that.
_access needs to be fixed on gcc, next.
2014-03-15 12:35:20 -07:00
Enno Rehling 1a7d892a96 use cmake for autoconf, slim down platform.h 2014-03-15 19:29:11 +01:00
Enno Rehling fc1a56d46a rename export to json.
this may or may not have been a good idea, but for now, that is what I
choose.
2014-03-14 22:30:07 -07:00
Enno Rehling 7256b4c04f fix json export test
using features from new storage module version.
2014-03-13 23:59:26 -07:00
Enno Rehling dd3de9a1d7 bindings for the json export.
+ unit test (incomplete).
2014-03-13 15:33:44 +01:00
Enno Rehling e8b28725e1 do not run tolua inside MSVC
The cmake rules for this do not work.
2014-03-08 04:28:04 -08:00