Enno Rehling
5e10bc4093
wait, no. tests did not pass when that change was made (for good reason, I assume).
2014-12-31 13:19:44 +01:00
Enno Rehling
f524f23cd4
superfluous semicolons and other small stuff.
...
missing strings are an error, not a warning.
2014-12-31 13:17:54 +01:00
Enno Rehling
e8ad542430
more thorough cleanup of tokens.
2014-12-31 01:50:54 +01:00
Enno Rehling
3b5653b353
all good tests cleanup after themselves.
2014-12-31 01:40:46 +01:00
Enno Rehling
6abe180f68
free spellbooks correctly.
2014-12-31 01:38:49 +01:00
Enno Rehling
e9c3a00f7d
it sucks that get_translations sometimes returns tokens, and sometimes critbit_trees. How is anyone supposed to free that correctly?
2014-12-31 01:29:10 +01:00
Enno Rehling
2fbb04140c
at_deprecated was causing a small memory leak.
2014-12-31 01:17:49 +01:00
Enno Rehling
c39be8d599
more casual leak removal.
2014-12-31 01:00:10 +01:00
Enno Rehling
80be0a8e89
I broke the Lua tests, must initialize resources in eressea.free_game binding
2014-12-31 00:20:19 +01:00
Enno Rehling
e04a541167
do not initialize resources in test_cleanup, that makes no sense.
2014-12-31 00:16:24 +01:00
Enno Rehling
0566dca971
Merge branch 'master' of github.com:badgerman/eressea
2014-12-30 23:50:01 +01:00
Enno Rehling
228983202d
properly free items at cleanup.
2014-12-30 23:49:50 +01:00
Enno Rehling
9f09b9b915
fixed memory leaks in tests, thanks to valgrind
2014-12-30 23:34:24 +01:00
Enno Rehling
a55cb13924
make valgrind happy when running tests (cleanup)
2014-12-30 02:02:10 +01:00
Enno Rehling
49a77cdcde
plug some more memory leaks.
2014-12-30 01:44:28 +01:00
Enno Rehling
89ce04a6c3
this obviously cannot be const, then. fix the build.
2014-12-30 00:02:27 +01:00
Enno Rehling
077a0aeeef
plug some new memory leaks
2014-12-30 00:00:57 +01:00
Enno Rehling
95ab2826ec
avoid running over the array of locales in order.c when re-creating locales for tests.
2014-12-29 23:53:00 +01:00
Enno Rehling
43351e03cd
parsing needs to return a static buffer if it has no argument
2014-12-29 07:44:00 +01:00
Enno Rehling
335f37a9ec
clarify some parsing code that valgrind complains about.
2014-12-28 22:07:53 +01:00
Enno Rehling
975b930f44
Merge branch 'version-3-3'
...
Conflicts:
src/build.h
2014-12-27 23:57:16 +01:00
Enno Rehling
df3ce116a7
limit eternath gates to 1-person units, avoid crash
2014-12-27 23:51:48 +01:00
Enno Rehling
f1008fa231
fix floating point exception.
2014-12-26 01:41:19 +01:00
Enno Rehling
108a909131
kill gc_add and gc_done, they were terrible ideas.
2014-12-25 22:38:01 +01:00
Enno Rehling
4e94a95835
remove dead code, move weight(unit) to unit.c
2014-12-25 19:40:40 +01:00
Enno Rehling
901c70efd9
config cleanup contd.
...
createunit => create_unit, everywhere.
make_undead_unit in zombies.c
2014-12-25 18:40:46 +01:00
Enno Rehling
4bb65873da
shipspeed should be in ship.c, not in config.c
2014-12-25 18:16:24 +01:00
Enno Rehling
4f962ae999
remove dead code
2014-12-25 00:45:52 +01:00
Enno Rehling
000bdebc82
Merge remote-tracking branch 'eressea/master'
2014-12-24 23:50:55 +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
ea035ac154
convert float values in at_object to integer where it makes sense.
...
this feature is only used for the embassy_muschel turn, and I am tempted to kill it entirely.
2014-12-24 16:21:01 +01:00
Enno Rehling
67881dfff4
parsing tokens when buffer is too small - skip the entire token. now with tests.
2014-12-24 15:55:55 +01:00
CTD
78c03f831b
Zerstöre als langer Befehl
...
Zerstöre ist damit ein ganz normaler langer Befehl wie Mache oder Lerne.
2014-12-23 15:53:28 +01:00
Enno Rehling
b27491eccd
move atoip out of config (small helper) and test it.
...
remove some unnecessary variables from laws.c
2014-12-23 09:23:37 +01:00
Enno Rehling
5ebf05f625
additional tests for the parser.
...
move more parsing code out of config.c
2014-12-22 16:45:56 +01:00
Enno Rehling
c8b9044f78
rename to gettoken, use more widely, add a basic test.
2014-12-22 16:28:17 +01:00
Enno Rehling
870d8001ef
more getstrtoken() removal.
...
remove obsolete argument to checkpasswd().
2014-12-22 14:34:14 +01:00
Enno Rehling
5cdc85f6bf
start to get rid of getstrtoken(), which uses an internal static buffer and causes horrible bugs when called multiple times.
2014-12-22 14:21:24 +01:00
Enno Rehling
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
4018aa2dfe
Merge remote-tracking branch 'eressea/master'
2014-12-20 21:37:14 +01:00
Enno Rehling
f6f193ab76
Monsters should LOOT if the rules don't allow TAX.
2014-12-20 21:37:06 +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
b3bec13051
report the unit limit in NR and CR.
...
this implements https://bugs.eressea.de/view.php?id=2055
2014-12-19 19:57:24 +01:00
Enno Rehling
2966e1ea3d
remove igetstrtoken, a confusing helper function that was hardly used at all.
2014-12-18 17:47:49 +01:00
Enno Rehling
da1d3c49c3
ongoing config.c cleanup: getid()
2014-12-18 07:09:22 +01:00
Enno Rehling
484e52d491
added a test: region owners can set PAY NOT <id> for empty buildings if they are in region_owner_pay_building.
2014-12-17 21:31:02 +01:00
Enno Rehling
d7899a392a
Merge pull request #81 from CTD1/BEZAHLE_NICHT_ID
...
BEZAHLE NICHT ID
2014-12-17 20:18:08 +01:00
Enno Rehling
83f014047b
Merge pull request #83 from badgerman/master
...
cleaning up in config.c and adding tests for pay_cmd
2014-12-17 20:17:20 +01:00
Enno Rehling
bd6b9761b0
add simple tests for pay_cmd.
2014-12-17 20:00:55 +01:00
Enno Rehling
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