Commit graph

172 commits

Author SHA1 Message Date
Enno Rehling
1498f2e1d7 refactor rawmaterial_type.
still have to decide if we need it at all.
2017-02-22 21:10:22 +01:00
Enno Rehling
3274065004 reduce complexity of building_protection. 2017-02-22 19:38:46 +01:00
Enno Rehling
bfb5a9b692 set age_unit and name_unit funpointers in rc_create.
no more <function/> in XML races.
rename juju-zombie => juju.
2017-02-20 22:07:36 +01:00
Enno Rehling
a1dc3dc8e4 remove race.age from XML data (set in rc_create) 2017-02-20 21:19:58 +01:00
Enno Rehling
5ba3d76efb remove race.init_familiar funpointer 2017-02-20 09:32:03 +01:00
Enno Rehling
04154628e6 remove funpointer for spoils 2017-02-20 09:18:04 +01:00
Enno Rehling
59f87edbb1 remove unused race.move_allowed method 2017-02-20 09:00:48 +01:00
Enno Rehling
ba1fdcce59 remove race.describe funpointer 2017-02-20 07:47:36 +01:00
Enno Rehling
4e5f1d05ce Be very strict about C standards.
Compile with -std=c89 in gcc.
remove all // comments (they are nice, but unnecessary).
variables only declared at start of block.
various pedantery.
backwards compatible va_copy for pre-C99 gcc.
2017-02-18 21:15:14 +01:00
Enno Rehling
5b52451d9d remove unused ai.aggression atribute 2017-02-18 19:21:54 +01:00
Enno Rehling
daa7554361 remove race.precombatspell 2017-02-18 18:14:18 +01:00
Enno Rehling
9682d6b48c implement quick-and-dirty gcd 2017-02-18 15:45:57 +01:00
Enno Rehling
0a3e3de5a3 refactor fractions a little bit. 2017-02-17 22:01:51 +01:00
Enno Rehling
2328975dc2 do not use floats for material-save.
abusing variants for storing short fractions.
remove unused RMF_SAVERESOURCE.
2017-02-17 21:45:10 +01:00
Enno Rehling
17ff2ead41 make_locales from config_get 2017-02-12 05:52:46 +01:00
Enno Rehling
e5c95f1501 avoid division by zero when no calendar is configured 2017-02-12 05:09:23 +01:00
Enno Rehling
60497da87b print error message when missing parameter translation. 2017-02-07 20:52:31 +01:00
Enno Rehling
8ffa091936 do not abort xml parsing when there is no calendar 2017-02-06 20:34:11 +01:00
Enno Rehling
28c951bdfd eliminate race.parameters.
move all special properties to race.options
2017-02-06 09:46:36 +01:00
Enno Rehling
67414f29eb wrap ai.scare and at_scare in rc_set_param 2017-02-05 19:26:07 +01:00
Enno Rehling
bd836b76e1 channel XML race.parameters through a single, tested, function 2017-02-05 16:55:51 +01:00
Enno Rehling
bdb50eab75 make migrants.formula a flag.
lookup in race.parameters was slow.
there is only one formula, anyhow.
2017-02-04 23:44:25 +01:00
Enno Rehling
70b12ae6ca refactor handling of race.param in XML 2017-02-03 20:16:44 +01:00
Enno Rehling
250227cad2 store maxaura as an integer, not a float. 2017-02-03 20:06:01 +01:00
Enno Rehling
1c347ca5ba race.healing is now an int percentage, not a float multiplier 2017-02-03 18:18:55 +01:00
Enno Rehling
fd9583df3d fix healing for elves in a forest.
rename _magres back to magres.
rc->parameters is not linked to config_changed invalidation.
add tests.
2017-02-03 17:43:40 +01:00
Enno Rehling
7750297dc2 express race.magres as percentage, not probability (double->int) 2017-02-03 10:57:32 +01:00
Enno Rehling
7009f26ee5 code duplication, lazy_spell was almost the same as spellref. 2017-02-02 20:18:20 +01:00
Enno Rehling
456d1bd196 spellbooks should not use spellref, it's unnecessary. 2017-02-02 20:08:04 +01:00
Enno Rehling
7e69149c40 WIP: spellref everywhere 2017-02-02 16:52:32 +01:00
Enno Rehling
2016a9ef20 unused function 2017-01-28 20:07:31 +01:00
Enno Rehling
11c0330de1 make race::attack use spellref, too. 2017-01-28 19:52:28 +01:00
Enno Rehling
6d15767a18 create a spellref structure.
use this when referring to spells that may not (yet) exist.
use it for race::precombatspell (rare use case).
2017-01-28 19:42:20 +01:00
Enno Rehling
0270b3fb8a rename create_equipment function 2017-01-22 18:28:04 +01:00
Enno Rehling
cacb450567 game.start in eressea.ini overrides calendar 2017-01-22 05:18:32 +01:00
Enno Rehling
8b7dae6977 kill autoconf.h, replace platform.h for C99 compatibility work 2017-01-10 16:31:05 +01:00
Enno Rehling
2c0f708d1b WIP: remove at_guard, GUARD_TREES and GUARD_MINING
TODO: fix tests
TODO: write new guard coverage
2016-10-30 09:18:19 +01:00
Enno Rehling
a5e63a2472 move GUARD_* flags to guard.h 2016-10-30 05:37:12 +01:00
Enno Rehling
38721e2046 remove all mention of centaurs from the code and configuration 2016-10-07 19:33:50 +02:00
Enno Rehling
d3efc265c3 calculating income for dragons is no longer hard-coded 2016-10-04 09:14:49 +02:00
Enno Rehling
cbd1e8c457 Fixing https://bugs.eressea.de/view.php?id=2234
remove the MTF_VITAL materials flag.
remove remaining BLD_MAINTAINED vs BLD_WORKING code.
2016-10-01 18:34:38 +02:00
Enno Rehling
42c44724f8 testing lazy find_spell calls for equipment configuration 2016-09-24 17:29:55 +02:00
Enno Rehling
37a5954c20 NPC races cannot be recruited (and provide no score). 2016-09-22 20:11:14 +02:00
Enno Rehling
ac4f8d6e7b make monsters scaring peasants a per-race configuration.
reduce the number of old_race calls that monster.c makes.
2016-09-22 09:34:23 +02:00
Enno Rehling
ff83d5108a remove old_race call form heal_factor 2016-09-22 09:08:02 +02:00
Enno Rehling
cb381123ff fix some calendar-related leaks and issues 2016-09-09 18:39:38 +02:00
Enno Rehling
0d609f2115 test magicwalls and strongwalls effects on buildings. 2016-08-29 08:53:09 +01:00
Enno Rehling
33701ab891 make describe_braineater more generic (describe_race). 2016-08-28 20:44:45 +01:00
Enno Rehling
0ac30c65a1 refactoring prior to removing static variable 2016-08-28 18:15:00 +01:00
Enno Rehling
e2808eeea9 reqsize defaults to 1.
remove default values from xml to make it smaller and simpler.
2016-08-06 13:53:07 +02:00
Enno Rehling
d0f54bf69a Merge branch 'feature/kill-maintenance' of https://github.com/ennorehling/eressea into ennorehling-feature/kill-maintenance
Conflicts:
	src/kernel/config.c
	src/kernel/config.h
	src/tests.c
2016-07-30 23:27:03 +02:00
Enno Rehling
bc8c39f4bb fix message-crash https://bugs.eressea.de/view.php?id=2199
release version 3.8.7
2016-03-26 22:09:21 +01:00
Enno Rehling
1d57bf527d Merge branch 'master' into develop
Conflicts:
	src/battle.test.c
	src/buildno.h
2015-12-05 17:27:04 +01:00
Enno Rehling
62ee1468b8 https://bugs.eressea.de/view.php?id=2166
* fix magic resistance calculation in calculate_armor.
* add related tests.
* refactor BF_CANATTACK -> BF_NO_ATTACK because it is easier.
2015-12-05 17:17:21 +01:00
Enno Rehling
b3e7fa63e0 Merge pull request #396 from stm2/spell_parameters
fixed treatment of spell parameters (bug 1867)
2015-12-03 11:04:57 +01:00
Steffen Mecke
742a30cc39 fix seaserpents
seaserpents could not do piracy
seaserpents should be able to attack after move
2015-11-17 12:17:28 +01:00
Steffen Mecke
4ab92e3caf fixed descriptions of spells with parameters (bug #2060+1867) 2015-11-13 00:57:14 +01:00
Enno Rehling
4eb4ff40ac https://bugs.eressea.de/view.php?id=2155
monsters do not attack units inside a castle or watch
dragons do not attack guards
2015-11-11 14:36:56 +01:00
Enno Rehling
8675002e68 coverity scan CIDs 22540 22541 22546: resource leak
the calendar should only ever be initialized once, but based on static analysis, I agree that this was sloppy.
2015-10-29 09:56:53 +01:00
Enno Rehling
2372d3aacd coverity scan CID 22516: out-of-bounds write
potentially a bug with bad XML files? only matters if we have those, but we shouldn't
2015-10-29 09:49:26 +01:00
Enno Rehling
8b92003fff coverity scan CID 22487: dereference after null check
we don't use many differnt calendars, so this has never happened.
2015-10-29 09:43:51 +01:00
Enno Rehling
70d4a6af03 coverity scan CID 22553: dereference before null check 2015-10-29 09:06:50 +01:00
Enno Rehling
b0c79b9978 refactor some get_param lookups
kill unused global.functions.maintenance
2015-09-13 10:11:56 +02:00
Enno Rehling
7259a4b45e remove parse_main from xmlreader, everything superseeded by jsonconf 2015-09-12 18:16:23 +02:00
Enno Rehling
c76b118fb8 eliminate game/order from XML data 2015-09-12 17:12:02 +02:00
Enno Rehling
44eb3a4f58 disable keywords through JSON configuration 2015-09-12 17:06:55 +02:00
Enno Rehling
7906cdbcb6 do not read gamename from XML, read it from JSON only (two mechanisms for the same feature are too many) 2015-09-12 16:49:18 +02:00
Enno Rehling
d65e9aaf94 eliminate xml reading of produceexp chance 2015-09-12 16:42:02 +02:00
Enno Rehling
aa32cf190e remove xmlreader code for prefixes 2015-09-12 13:40:10 +02:00
Enno Rehling
f1476c2167 refactoring: split out a module for race prefixes 2015-09-12 12:24:10 +02:00
Enno Rehling
bd51ac7dd7 eliminate terrain parsing from xmlreader.c, it's all in JSON now! 2015-09-11 22:46:47 +02:00
Enno Rehling
9bb2a625f9 fix xmlreader bug introduced by last commit (xpath->node not initialized) 2015-09-11 09:10:00 +02:00
Enno Rehling
1a7d6dd91d xmlreader no longer needs to parse settings, that's all in json now. 2015-09-10 23:29:18 +02:00
Enno Rehling
b8df3f3a5f increase the datatype for scores from int to long long
this fixes https://bugs.eressea.de/view.php?id=2136
2015-09-06 19:04:04 +02:00
Enno Rehling
b72f48c044 enhanced ship speed for selected ships (currently none). 2015-08-07 12:51:20 +02:00
Enno Rehling
c322fbffd5 rename ship_sailors to crew_skill, it's more descriptive 2015-08-07 12:46:32 +02:00
Enno Rehling
414f6d3210 bug 2069: not all E3 magic schools have a familiar.
https://bugs.eressea.de/view.php?id=2069
quick fix: defaulting all additional schools to the illaun familiar.
2015-07-02 09:49:51 +02:00
Enno Rehling
9b7a4e813b functional test for forced leave configuration.
functional test for forced leave after combat.
functional test for MAKE TEMP.
error handling for Lua function building.create().
reduce some errors to warnings.
initialize race.battle_flags correctly (when not created through XML).
re-initialize processor in case config has changed.
handle missing translation of combat status, with error message.
2015-06-19 13:17:01 +02:00
Enno Rehling
84f8a9f746 calculate simple default scores for items that do not have one defined in XML. 2015-06-08 21:15:07 +02:00
Steffen Mecke
2d27442681 apply possible number of racial attacks consequently 2015-05-08 13:02:54 +02:00
Enno Rehling
30e4dc6cdc Fix keepitem flag in XML ("Menschen geben nichts ab") 2015-04-22 12:33:55 +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
Enno Rehling
71d0558403 Bug 2089: remove the giveitem restriction from all races.
https://bugs.eressea.de/view.php?id=2089
2015-04-19 09:49:52 +02:00
Enno Rehling
605711c13a constructor st_get_or_create sets ship_type to default values
xmlreader does not mess with values already set.
2015-02-03 17:10:29 +01:00
Enno Rehling
a4e6f4874c building type construction is in bt_get_or_create, and only there.
+ not in jsonconf
+ not in xmlreader (no test for this)
2015-02-02 19:52:24 +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
dadf7734a5 set defaults in the race constructor, add test. 2015-01-15 17:17:58 +01:00
CTD
34fc1b3d34 Variablen leserlicher gemacht 2015-01-12 10:55:07 +01:00
CTD
ac3195851a Erstmal nur der Burgenbonus
Das mit der Größe kommt noch mal extra, der Übersicht wegen.
Sinvoller weise kann man den Bonus jetzt in der castle.xml einstellen.
Mit neuen Defaultwerten in den XML Dateien.
2015-01-09 15:53:14 +01:00
Enno Rehling
c39be8d599 more casual leak removal. 2014-12-31 01:00:10 +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
01877f5169 cleanup, fix a TODO, eliminate dead code. 2014-12-10 09:39:11 +01: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
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
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
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
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