Commit graph

135 commits

Author SHA1 Message Date
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
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
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
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
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
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
Enno Rehling
11a264742b appearance is something only items have, so move it to item_type 2014-06-29 17:35:37 -07:00
Enno Rehling
2a00301949 unused variable 2014-06-29 17:31:33 -07:00
Enno Rehling
062ba71bd7 fix reading items in xmlreader (still has no tests) 2014-06-29 17:29:41 -07:00
Enno Rehling
5d32896407 rt_register is no longer required, new_resourcetype replaced by rt_get_or_create. 2014-06-29 17:02:45 -07:00
Enno Rehling
95929a99b5 we are about to remove rt_register, but not quite yet. 2014-06-29 16:46:42 -07:00
Enno Rehling
773f3767d3 eliminate cb_items 2014-06-29 16:41:03 -07:00
Enno Rehling
7ee6f0444d reduce use of cb_items, because we want to remove it. 2014-06-29 16:39:53 -07:00
Enno Rehling
7249630e3c Eliminate some Visual Studio warnings, rename itemnames->resourcenames. 2014-06-29 15:41:04 -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
a48cca5db8 building naming function configured from JSON (this needs work).
started writing tests for castles.
2014-06-28 16:55:28 -07:00
Enno Rehling
612dfea36f Merge branch 'master' of github.com:eressea/server 2014-06-28 16:39:54 -07:00
Enno Rehling
89e7a7826f added some tests for building buildings. 2014-06-28 16:19:46 -07:00
TomBraun
c31c436cc7 change u->number >> 0 to u->number>0 2014-06-28 20:45:17 +02:00
Enno Rehling
34ce9a0573 JSON configuration can read strings, with test. 2014-06-28 10:37:40 -07:00
TomBraun
b346788e43 Merge remote-tracking branch 'eressea/server' 2014-06-27 07:35:21 +02:00
Enno Rehling
39f78354b9 Merge branch 'master' of github.com:eressea/server 2014-06-26 22:06:38 -07:00
Enno Rehling
68aa903130 make tests pass through valgrind
introduce more #ifdef LOMEM to bitfield structs.
2014-06-26 21:48:01 -07:00
Enno Rehling
c5cf8bb3be add some asserts, chasing a valgrind message 2014-06-26 21:27:50 -07:00
Enno Rehling
5e835618f3 fix weight calculation, uninitialized value 2014-06-26 21:02:03 -07:00
Enno Rehling
dba51bf0f7 remove duplicate handling of "speed" attribute in JSON
add weight and capacity in this test (still broken)
2014-06-26 19:11:34 -07:00
TomBraun
99da4de9ad Define "pf_generic cast = 0" and "pf_generic fumble = 0" early
Visual Studio 2013 express don't compile without errors if
this definition comes to late.
2014-06-26 07:20:59 +02:00