Commit graph

802 commits

Author SHA1 Message Date
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