Commit graph

408 commits

Author SHA1 Message Date
Steffen Mecke
51d52aaf7f implementing a much faster version of peasant growth calculation 2015-01-15 02:53:15 +01:00
Steffen Mecke
dff34f8e92 increase speed of peasant growth calculation 2015-01-14 01:55:04 +01:00
Enno Rehling
73e1632dee Merge branch 'bug-2059-force-leave' of github.com:badgerman/eressea into bug-2059-force-leave
Conflicts:
	src/laws.c
	src/laws.test.c
2015-01-13 07:48:46 +01:00
Enno Rehling
4f2d9260d1 add a message to the unit that gets kicked, with tests 2015-01-13 07:43:30 +01:00
Enno Rehling
f52e00d574 do not eject units from a ship when on the ocean. 2015-01-13 07:32:24 +01:00
Enno Rehling
698aa5e99a Bug 2059: building owners kick out anyone they don't HELP GUARD. 2015-01-13 07:32:23 +01:00
Enno Rehling
23b8f2bc8a call init_locales after parse_json from Lua, downgrade missing string warnings during that to DEBUG (because it's quite common not to have them).
also, these int to bool conversion warnings made a good point, even if I could not reproduce them.
2015-01-08 20:55:29 +01:00
Enno Rehling
d968aa2ed5 do not eject units from a ship when on the ocean. 2015-01-05 22:09:08 +01:00
Enno Rehling
73da256461 Bug 2059: building owners kick out anyone they don't HELP GUARD. 2015-01-05 18:14:55 +01:00
Enno Rehling
4f962ae999 remove dead code 2014-12-25 00:45:52 +01:00
Enno Rehling
3e4973db25 kill the unused EnhancedQuit feature, reducing the potential use of at_object by one more situation. 2014-12-24 16:33:21 +01:00
Enno Rehling
b27491eccd move atoip out of config (small helper) and test it.
remove some unnecessary variables from laws.c
2014-12-23 09:23:37 +01:00
Enno Rehling
c8b9044f78 rename to gettoken, use more widely, add a basic test. 2014-12-22 16:28:17 +01:00
Enno Rehling
870d8001ef more getstrtoken() removal.
remove obsolete argument to checkpasswd().
2014-12-22 14:34:14 +01:00
Enno Rehling
5cdc85f6bf start to get rid of getstrtoken(), which uses an internal static buffer and causes horrible bugs when called multiple times. 2014-12-22 14:21:24 +01:00
Enno Rehling
4097e43ce6 DESCRIBE would crash if not given a description.
Added a test for DESCRIBE UNIT.
2014-12-20 22:18:38 +01:00
Enno Rehling
d67ecdb8cf Merge pull request #64 from CTD1/Bauern
Bauern in leeren Regionen
2014-12-19 20:08:42 +01:00
Enno Rehling
d7899a392a Merge pull request #81 from CTD1/BEZAHLE_NICHT_ID
BEZAHLE NICHT ID
2014-12-17 20:18:08 +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
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
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
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
5751a9b3a9 Merge pull request #66 from badgerman/getunit-refactor
refactoring getunit
2014-12-13 13:26:32 +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
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
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
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
20c0dfbb47 fix null-pointer crash (EMAIL order without arguments) 2014-12-11 23:23:11 +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
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
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
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
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
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
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
526c561b90 some minor cleanup in laws.h 2014-10-29 21:08:16 +01:00
Enno Rehling
6bd52012c0 read keywords from json configuration, use German imperative forms. 2014-10-29 19:40:09 +01: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
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
1c19a6948c kill some dead code. 2014-10-15 18:19:16 +02:00
Enno Rehling
4527ffdda2 refactoring and tests for wormhole module. 2014-09-29 23:19:59 +02:00
Enno Rehling
74582aeb2f fix remaining getstrtoken uses without null-check. 2014-09-21 16:43:17 +02:00
CTD
3484acfa43 Arbeitsplätze
Regionen haben jetzt immer mindestens 10% ihrer size als freie Freie
Arbeitsplätzt, höchstens jedoch 200.  Das sorgt dafür das die Bäume
nicht alle Bauern umbringen. Diese ernähren sich quasi durch Jagt statt
Ackerbau.
Sinnlose Variable MAXPEASANTS_PER_AREA entfernt.
2014-09-18 12:10:42 +02:00
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
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
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
1c069da921 segmentation fault caused by new getstrtoken semantics 2014-08-24 12:40:00 +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
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
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
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
dfec8d8001 Merge remote-tracking branch 'origin/Verlasse-zu-spät-in-Befehlsreihenfolge'
Conflicts:
	src/laws.c
2014-08-14 00:14:51 +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
1918f56990 indentation + whitespace changes 2014-08-08 01:16:35 +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
Enno Rehling
afd41286b5 config file reading based on game name and install location. 2014-08-03 20:37:05 +02:00
Enno Rehling
64ef71143a Use two-phase RESERVE in regular process_orders 2014-08-01 13:12:18 +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
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
51207167c8 allow reading the configuration from a different directory (-c dir). 2014-07-23 08:10:14 +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
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
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
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
c3dfbdea18 eliminate new_race array in favor of a function (TODO: make it fast) 2014-06-29 18:10:02 -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
92f43a7b51 eliminate it_find calls, replace it_find with something backed by rt_find 2014-06-24 22:44:05 -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
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
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
3625ba6a95 remove static variables optimizations, they create global state that is bad for testing 2014-06-17 23:10:55 -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
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
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
fa98528d72 remove old SQL patch code, we have sqlite now.
rearrange the SlickEdit projects.
2014-06-11 22:21:52 -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
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
7038b021de fix counting of units, making it slower but more correct 2014-05-24 20:25:06 -07:00
Enno Rehling
465f3f7ce9 Merge branch 'master' of github.com:eressea/server 2014-05-05 00:00:10 -07:00
Enno Rehling
2cc21b265d remove GM command, remove gm-attributes from data when writing. 2014-04-22 21:42:32 -07:00
Enno Rehling
0d05ae77a3 remove stupid pragmas 2014-04-22 07:21:29 -07: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
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
0ae8737062 rename MIN/MAX to _min/_max 2014-03-16 05:03:17 +01: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
03c247c788 I am killing the core/ directory.
Lots of files are moving to a new location in src/
Some intersting CMake changes.
2014-02-18 05:45:00 +01:00
Renamed from core/src/gamecode/laws.c (Browse further)