Commit Graph

4799 Commits

Author SHA1 Message Date
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
TomBraun 41f7f43c8f Merge remote-tracking branch 'eressea/master' 2014-07-14 11:28:14 +02:00
Enno Rehling 2253296924 CMAke 3.0 has been released, and it installs to a new path. 2014-07-08 00:00:03 -07:00
TomBraun c1c0689dc2 Merge remote-tracking branch 'eressea/master' 2014-07-07 10:25:22 +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 896681e189 print log errors after runnign tests 2014-07-06 22:03:00 +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 9e2e7bfe97 test giving silver from the pool 2014-07-06 01:13:09 -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 587df7fd12 Migranten-Konversion gibt es nicht mehr.
http://bugs.eressea.de/view.php?id=1502
2014-07-05 11:01:08 -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 37be445fdf Merge remote-tracking branch 'eressea/master' 2014-07-05 08:58:22 +02:00
TomBraun 21d4d1f59a Solve same conflicts with eressea/server manuale 2014-07-05 08:55:59 +02:00
TomBraun 1c3e5166e6 Update eressea.lua
Spell error in function name
2014-07-05 08:35:45 +02: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 9930324619 Change test for bug 0001976
Conflicts:
	scripts/tests/eressea.lua
2014-07-04 22:44:28 -07:00
Enno Rehling 5011d3f6ff some touching up to the new test here 2014-07-04 22:42:13 -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
TomBraun 8803b9d91f accept fix server don't configure
changes are now in configure fille
2014-07-04 08:20:49 +02:00
TomBraun cbdf486d45 Merge remote-tracking branch 'eressea/master' 2014-07-04 08:01:05 +02:00
Enno Rehling f51e5f91ff strip down the configure script to do only configuration, not builds.
remove distcc support, because I do not have it set up anywhere I can
test it.
2014-07-03 20:44:19 -07:00
Enno Rehling dd408da3f4 resolve naming conflict on windows. 2014-07-03 12:20:50 -07:00
TomBraun 918ab39bef 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-03 15:30:59 +02: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 90120ee5c3 stop side-effect of cd - at the end of these scripts 2014-07-02 21:35:16 -07:00
Enno Rehling 22c5b4d45c Merge branch 'master' of github.com:eressea/server 2014-07-02 21:27:53 -07:00
Enno Rehling 2aaabc0f12 let s/cmake-init take care of mkdir, not configure 2014-07-02 21:22:41 -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
TomBraun 6639fbbbbb Change test for bug 0001976 2014-07-02 15:17:09 +02:00
TomBraun 98354ef3a8 Merge remote-tracking branch 'eressea/server' 2014-07-02 15:01:42 +02:00
TomBraun b70fc76921 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
2014-07-02 13:58:10 +02: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
TomBraun 6e825d5677 Merge remote-tracking branch 'eressea/server' 2014-07-01 07:52:22 +02:00