Enno Rehling
de808bf146
change effskill signature to take a region, change eff_skill to work on a skill * to avoid multiple lookups.
2015-08-27 16:16:55 +02:00
Enno Rehling
bc1c3dd712
move NEWATSROI out of item_modification
2015-08-26 19:59:11 +02:00
Enno Rehling
afbc4c816b
refactoring ship speed, extract total skills of sailors into a function.
2015-08-07 12:43:18 +02:00
Enno Rehling
8dc4e93e90
fix missing units from CR, add a test, partially convert from FILE* to stream
2015-08-05 14:45:46 +02:00
Enno Rehling
2288b8fb27
Merge remote-tracking branch 'upstream/master' into develop
...
Conflicts:
.travis.yml
s/build
s/cmake-init
s/runtests
src/buildno.h
src/kernel/config.c
src/kernel/save.c
src/kernel/unit.c
src/laws.c
src/move.c
2015-08-03 19:43:26 +02:00
Enno Rehling
9938b3fb66
eliminate update_gbdream completely, make code smaller and simpler.
...
simplify tests (no need to use create_spell if we don't use it)
increase build no for hotfix.
2015-08-02 23:16:41 +02:00
Enno Rehling
d99ffaf1ed
filter by curse-type before trying to call update_gbdreams.
2015-08-02 22:45:59 +02:00
Enno Rehling
a119f7617f
add some assertions to make sure update_gbdream is not called without a magician
2015-08-02 21:17:21 +02:00
Enno Rehling
59745c7ed0
parentheses to fix operator precedence.
2015-07-03 16:13:24 +02:00
Enno Rehling
8e5fc28bfc
refactoring more of goodies.h into strings.h
2015-05-18 08:59:38 +02:00
Enno Rehling
bf5fae2ef5
Fix visual studio compilation for Solthar's curse changes (float/int conversions, uninitialized variable).
2015-05-11 23:54:21 -07:00
Steffen Mecke
d9f8479055
removed duplication in good/bad dreams code
2015-05-07 17:54:59 +02:00
Enno Rehling
88d370a7b8
fixing sea serpent names
...
https://bugs.eressea.de/view.php?id=2057
2015-04-21 12:35:39 +02:00
Enno Rehling
f06e3371a0
Bug 2089 again. rename giveitem flag to keepitem, because races should default to not holding on to their stuff.
2015-04-19 12:49:39 +02:00
Steffen Mecke
d416a8eef1
fix NAME FOREIGN UNIT
...
RENAME FOREIGN UNIT used a somewhat naive approach to check if a
unit still had its generic name. Fixed that.
2015-02-11 23:10:43 +01:00
Steffen Mecke
a31898ceb5
fix bug in generic_name, minor improvements
...
Amusingly, names::generic_name used u->no instead of u->number to determine
singular or plural.
2015-02-11 23:10:27 +01:00
Enno Rehling
83e610ee03
Fixing bug 1802 again, CR contains no Monster names.
2015-02-11 07:57:38 +01:00
Enno Rehling
c54cbfd472
fix copyright notice
2015-01-30 22:10:29 +01:00
Enno Rehling
abca25d1d5
fix indentation in every file
...
fix copyright date
remove vi ts=2 code
remove a couple of superfluous extern declarations
2015-01-30 20:37:14 +01:00
Enno Rehling
798b3d6ad6
Implement tests for magicpath. They are failing (Bug 2066).
...
Also move spell and race initialization code from being server-only into game_init, where tests can use it.
2015-01-12 08:18:41 +01:00
Enno Rehling
23b8f2bc8a
call init_locales after parse_json from Lua, downgrade missing string warnings during that to DEBUG (because it's quite common not to have them).
...
also, these int to bool conversion warnings made a good point, even if I could not reproduce them.
2015-01-08 20:55:29 +01:00
Enno Rehling
4e94a95835
remove dead code, move weight(unit) to unit.c
2014-12-25 19:40:40 +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
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
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
9394c4324e
units without a name will use their race as a default name.
2014-12-09 06:45:21 +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
3dd3761acd
prevent an invalid assert when undead heroes are magical
2014-12-07 11:14:14 +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
e9084d9678
when free_gamedata, also unhash all factions. speed up is_monsters().
2014-11-07 22:58:29 +01:00
Enno Rehling
59c1c23324
refactor config.c, move the find* functions into the modules they belong to.
2014-11-01 18:34:53 +01:00
Enno Rehling
1af315ebf2
move magic out of kernel, into src.
...
clean up/remove a ton of includes, especially of types.h (include in header if you need it, not in every .c file).
2014-11-01 12:57:01 +01:00
Enno Rehling
81bfb598d0
refactoring modules, cleaning out the config.c kitchen sink.
...
- cansee_* rules to laws.c
- translations to language.c
- stealth to attributes/,
- rename build.h -> buildno.h
2014-11-01 12:09:56 +01:00
Enno Rehling
a29e6a7f40
fix segmentation fault in new assert (units without a faction)
2014-10-31 22:20:07 +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
e9c13cc328
cosmetic changes, quick and easy assert to prevent too many magicians.
2014-10-30 17:48:02 +01: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
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
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
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
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
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
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