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