Commit graph

166 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
74582aeb2f fix remaining getstrtoken uses without null-check. 2014-09-21 16:43:17 +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
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
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
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
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
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
Enno Rehling
1918f56990 indentation + whitespace changes 2014-08-08 01:16:35 +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
b90b744287 removing unused RECRUIT_CLASSIC option. Dead code is dead. 2014-08-04 19:53:16 +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
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
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
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
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
c3dfbdea18 eliminate new_race array in favor of a function (TODO: make it fast) 2014-06-29 18:10:02 -07:00
Enno Rehling
89e7a7826f added some tests for building buildings. 2014-06-28 16:19:46 -07:00
Enno Rehling
a75d91fb6d remove the last of the static item_type variables. 2014-06-24 23:13:18 -07:00
Enno Rehling
dc8a8cdd71 rt_find -> get_resourcetype optimization 2014-06-24 08:19:11 -07:00
Enno Rehling
d581737744 optimization: caching resource types in get_resourcetype.
eliminate some it_find calls.
eliminate static variables, they make testing hard.
2014-06-24 07:42:45 -07:00
Enno Rehling
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
2c831230a0 Added a test for expensive skills.
When resetting the game rules, make sure basic resources (money, hp, person) are initialized.
2014-06-22 07:55:14 -07:00
Enno Rehling
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
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
0d05ae77a3 remove stupid pragmas 2014-04-22 07:21:29 -07:00
Enno Rehling
0ae8737062 rename MIN/MAX to _min/_max 2014-03-16 05:03:17 +01: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/economy.c (Browse further)