Commit graph

836 commits

Author SHA1 Message Date
Enno Rehling
3e4973db25 kill the unused EnhancedQuit feature, reducing the potential use of at_object by one more situation. 2014-12-24 16:33:21 +01:00
Enno Rehling
ea035ac154 convert float values in at_object to integer where it makes sense.
this feature is only used for the embassy_muschel turn, and I am tempted to kill it entirely.
2014-12-24 16:21:01 +01:00
Enno Rehling
67881dfff4 parsing tokens when buffer is too small - skip the entire token. now with tests. 2014-12-24 15:55:55 +01:00
CTD
78c03f831b Zerstöre als langer Befehl
Zerstöre ist damit ein ganz normaler langer Befehl wie Mache oder Lerne.
2014-12-23 15:53:28 +01:00
Enno Rehling
b27491eccd move atoip out of config (small helper) and test it.
remove some unnecessary variables from laws.c
2014-12-23 09:23:37 +01:00
Enno Rehling
5ebf05f625 additional tests for the parser.
move more parsing code out of config.c
2014-12-22 16:45:56 +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
870d8001ef more getstrtoken() removal.
remove obsolete argument to checkpasswd().
2014-12-22 14:34:14 +01:00
Enno Rehling
5cdc85f6bf start to get rid of getstrtoken(), which uses an internal static buffer and causes horrible bugs when called multiple times. 2014-12-22 14:21:24 +01:00
Enno Rehling
4097e43ce6 DESCRIBE would crash if not given a description.
Added a test for DESCRIBE UNIT.
2014-12-20 22:18:38 +01:00
Enno Rehling
4018aa2dfe Merge remote-tracking branch 'eressea/master' 2014-12-20 21:37:14 +01:00
Enno Rehling
f6f193ab76 Monsters should LOOT if the rules don't allow TAX. 2014-12-20 21:37:06 +01:00
Enno Rehling
d67ecdb8cf Merge pull request #64 from CTD1/Bauern
Bauern in leeren Regionen
2014-12-19 20:08:42 +01:00
Enno Rehling
b3bec13051 report the unit limit in NR and CR.
this implements https://bugs.eressea.de/view.php?id=2055
2014-12-19 19:57:24 +01:00
Enno Rehling
2966e1ea3d remove igetstrtoken, a confusing helper function that was hardly used at all. 2014-12-18 17:47:49 +01:00
Enno Rehling
da1d3c49c3 ongoing config.c cleanup: getid() 2014-12-18 07:09:22 +01:00
Enno Rehling
484e52d491 added a test: region owners can set PAY NOT <id> for empty buildings if they are in region_owner_pay_building. 2014-12-17 21:31:02 +01:00
Enno Rehling
d7899a392a Merge pull request #81 from CTD1/BEZAHLE_NICHT_ID
BEZAHLE NICHT ID
2014-12-17 20:18:08 +01:00
Enno Rehling
83f014047b Merge pull request #83 from badgerman/master
cleaning up in config.c and adding tests for pay_cmd
2014-12-17 20:17:20 +01:00
Enno Rehling
bd6b9761b0 add simple tests for pay_cmd. 2014-12-17 20:00:55 +01:00
Enno Rehling
916271ef3a gcc/clang want structs to be defined before used in an argument list 2014-12-17 18:47:01 +01:00
Enno Rehling
bc8f8c74f9 gcc/clang want structs to be defined before used in an argument list 2014-12-17 17:46:21 +01:00
Enno Rehling
1050daac19 remove strlist from config.c, move it to reports.c (where it is used primarily).
this is not the best data structure there is, should replace it some day.
2014-12-17 17:40:36 +01:00
Enno Rehling
2759114414 remove unused header for an attribute that I do not even remember. 2014-12-17 17:35:10 +01:00
Enno Rehling
2a3fdab394 remove the obsolete at_gm attribute.
The code did almost nothing, and player-operated quests are no longer something I want to do.
2014-12-17 17:32:32 +01:00
CTD
aa536a943d BEZAHLE NICHT ID
Man kann jetzt eine Gebäudenummer hinter Bezahle nicht angeben.
Wenn man keine angibt bleibt alles wie es war, sonst wird überprüft ob
man der Besitzer dieses Gebäudes ist, und wenn ja wird für diese Gebäude
der Unterhalt abgeschaltet. Wenn für ein Gebäude die Option das der
Regionsbesitzer  es Bezahlen kann an ist (und es leer ist) ist der
Regionsbesitzer auch automatisch Gebäudebesitzer.
Wenn man ein BEZAHLE NICHT für die Burg des Regionsbesitzers (E2 die
größte Burg) absetzt (implizit oder explizit) werden alle Gebäude in der
Region abgeschaltet, die vom Regionsbesitzer verwaltet werden.
2014-12-17 17:22:26 +01:00
Enno Rehling
8971f59ecc move more things out of config.c.
- lighthouses into their own module.
- lastregion/firstregion into reports.c.
2014-12-17 17:22:26 +01:00
Enno Rehling
fb0eb4dce6 refactoring: moving plagues out of config.c
cleaning up the code, moving chance into the random event code, it is not used by the plague spell (reduce signature by one argument)
2014-12-16 14:18:29 +01:00
CTD
cc09e95887 Bauerngrenze angepasst
Maximum Bauerngrenze bei der noch zusätzlich Bauern hinzukommen können
auf 90 erhöht und auch gleich Konfigurierbar gemacht.
Das sollte immer noch zu wenig sein um ernsthaft missbrauch damit zu
betreiben.
2014-12-15 13:07:39 +01:00
CTD
7f39763ee1 Konfigurierbar
Ich habe zumindest mal fix eine eigene Funktion draus gemacht und es mit
einer XML Option versehen. Es ist Default an, da auch in E3 die Bauern
rückläufig sind, und da E4 auf den selben Regeln aufbaut es auch da
sinnvoll wäre "tote" Regionen wiederzubeleben.
2014-12-15 09:48:43 +01:00
Enno Rehling
d6ce30a9a9 Merge pull request #78 from badgerman/bug-2052
bugfix: could not GIVE to TEMP units.
2014-12-14 16:31:48 +01:00
Enno Rehling
2a113bcd04 Merge pull request #79 from badgerman/bug-2054
Bug 2054: monsters trying to STUDY when they cannot.
2014-12-14 16:29:56 +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
595dc35fb0 bugfix: monster races that cannot learn skills, will not try to study.
This fixes https://bugs.eressea.de/view.php?id=2054
2014-12-14 15:59:20 +01:00
Enno Rehling
684f779501 Merge pull request #77 from badgerman/bug-1660
Bug 1660
2014-12-14 15:43:15 +01:00
Enno Rehling
0645578305 bugfix: could not GIVE to TEMP units.
https://bugs.eressea.de/view.php?id=2052
2014-12-14 15:23:28 +01:00
Enno Rehling
42d75c334d WIP: Familiars check for combat spells in the magician's list of spells, too.
https://bugs.eressea.de/view.php?id=1660
This does not work, because set_combatspell later uses knowsspell to make sure the spell is one the familiar has.
2014-12-14 12:57:09 +01:00
Enno Rehling
b506bed4d9 fix a crash in the parser for USE orders when no item name was given. 2014-12-14 12:56:36 +01:00
Enno Rehling
27b1d55350 enhancement: buildings without an owner report their lack of upkeep to the entire region.
https://bugs.eressea.de/view.php?id=1713
2014-12-14 11:48:15 +01:00
Enno Rehling
dca9d7e9cb bugfixe give_cmd (cannot give more persons than the unit has). 2014-12-14 06:02:08 +01:00
Enno Rehling
4ac7258f96 Merge remote-tracking branch 'eressea/master' 2014-12-13 23:40:37 +01:00
Enno Rehling
455b3dc90e ignore obsolete "lua" attributes in ancient data files.
fix a small bug in the mechanism for reading deprecated attrib_types.
2014-12-13 22:08:57 +01:00
Enno Rehling
968304db96 Merge pull request #72 from badgerman/master
fix two crashes, and undead heroes
2014-12-13 20:42:16 +01:00
Enno Rehling
1ae44db7ca Bugfix: Untote Helden bekamen keine Beute.
https://bugs.eressea.de/view.php?id=1962
2014-12-13 20:16:25 +01:00
Enno Rehling
a3099ed507 Merge pull request #71 from badgerman/module-rename
Update wormholes to the module naming convention.
2014-12-13 18:56:02 +01:00
Enno Rehling
3a1e4ab7f5 fix crash when a GIVE order has no arguments. 2014-12-13 18:40:15 +01:00
Enno Rehling
f8136530ef fix the loading of chaoscount attributes that I broke in the refactoring. 2014-12-13 17:31:55 +01:00
Enno Rehling
522633a2de Update wormholes to the module naming convention.
- register = called before game is loaded
- init = called after game is loaded
- update = called after the turn, before reports are written
2014-12-13 16:43:35 +01:00
Enno Rehling
a2c98778fd Merge pull request #69 from badgerman/chaos-module
Moving the E2 chaos-region code into a separate module
2014-12-13 15:54:13 +01:00
Enno Rehling
5751a9b3a9 Merge pull request #66 from badgerman/getunit-refactor
refactoring getunit
2014-12-13 13:26:32 +01:00
Enno Rehling
fcffb3d8e1 Merge pull request #67 from badgerman/version-cleanup
eliminating support for old datafile versions, prior to binary formats
2014-12-13 13:26:23 +01:00
Enno Rehling
c4b898e968 remove some inactive #define macros and the code that goes with them.
mostly rules that were experimental, but have made it into common use (not worth the effort of making them configurable).
2014-12-13 11:53:16 +01:00
Enno Rehling
2da1d11277 move chaos to a separate module (it is an old E2 feature) 2014-12-13 11:44:14 +01:00
Enno Rehling
1c96c626b6 merge failure, try again. 2014-12-13 00:13:08 +01:00
Enno Rehling
a8849f2b91 remove the obsolete dungeons module.
I don't think this has ever been used, and it has fallen victim to entropy since it was first written. good riddance!
2014-12-13 00:03:24 +01:00
Enno Rehling
0967ccaac6 remove even more obsolete datafile version support. 2014-12-12 23:00:30 +01:00
Enno Rehling
d492487a5b remove support for versions prior to turn 572 (INTPAK_VERSION).
reading anything prior stopped working some time ago, let's not kid ourselves.
nobody needs to read those datafiles, they are more than 7 years old.
less code is better.
if access to these files is needed, check out an old version from source control.
2014-12-12 22:52:23 +01:00
Enno Rehling
63f69ec1cf add the test coverage for getunit.
fix a bug where NULL was not returned when unit is in the wrong region.
2014-12-12 21:55:44 +01:00
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
3d0f8d0101 Merge remote-tracking branch 'eressea/master'
Conflicts:
	.travis.yml
	critbit
	src/buildno.h
	src/test_eressea.c
2014-12-12 17:28:20 +01:00
Enno Rehling
ab71860224 Merge branch 'version-3-3'
Conflicts:
	src/build.h
	src/vortex.test.c
2014-12-12 17:24:00 +01:00
Enno Rehling
b4e13b7cbd segmentation fault caused by free'ing battles twice 2014-12-12 17:21:04 +01:00
CTD
1cce4927a0 Bauern in leeren Regionen
Eine recht einfache Funktion die ein paar zusätzliche Bauern in leeren
Regionen erschafft.
2014-12-12 15:50:02 +01:00
Enno Rehling
440d78596c Add missing keywords, fix disappearing units.
https://bugs.eressea.de/view.php?id=2051
. The orders PASSWORT, FAHRE, KÄMPFE were not recognized (new imperative syntax).
. Added backwards compatibility for FIGHT (now COMBAT).

https://bugs.eressea.de/view.php?id=2050
. units were always giving away ALL persons, not the number in their GIVE command.
2014-12-12 13:32:21 +01:00
Enno Rehling
78f4dfac1d Rewrite the test framwework to report individual suites.
Stop leaking CuTestSuite objects.
2014-12-12 12:19:21 +01:00
Enno Rehling
9334677d81 make tests more valgrind-friendly by not leaking memory 2014-12-12 11:32:12 +01:00
Enno Rehling
cd70b8684d fix escape_string mmeory corruption error.
fix a number of small stuff that happens when loading very old data files (like 572).
2014-12-12 11:28:37 +01:00
Enno Rehling
e1d5033b76 make tests more valgrind-friendly by not leaking memory 2014-12-12 11:13:25 +01:00
Enno Rehling
d7c2fc2b04 remove the R_UNIT resource.
https://bugs.eressea.de/view.php?id=1945
assert that only items can be reserved.
2014-12-11 23:24:00 +01:00
Enno Rehling
20c0dfbb47 fix null-pointer crash (EMAIL order without arguments) 2014-12-11 23:23:11 +01:00
Enno Rehling
aa01d9f21a fix clone effect message. 2014-12-11 23:22:35 +01:00
Enno Rehling
2a8a233c8b remove accidental build.h file 2014-12-11 13:04:09 +01:00
Enno Rehling
cfc0972912 Merge branch 'version-3-3'
Conflicts:
	.travis.yml
	src/build.h
2014-12-11 13:03:31 +01:00
Enno Rehling
1a1ffd06b0 build number update 2014-12-11 11:14:54 +01:00
Enno Rehling
f7e9a2df09 build number update, because version 3.3 had a new release.
really though, build numbers need a different system.
2014-12-11 11:11:19 +01:00
Enno Rehling
3324ced2b1 Print the full version number in the CR. 2014-12-11 10:06:28 +01:00
Enno Rehling
237f055237 Print the full version number in the CR. 2014-12-11 10:05:50 +01:00
Enno Rehling
a16f63fc06 PROMOTE earlier in the turn, after GIVE and before PAY.
https://bugs.eressea.de/view.php?id=1659
2014-12-11 09:58:23 +01:00
Enno Rehling
ef415c66d0 Fix GIVE 0 behavior on oceans. 2014-12-11 08:51:03 +01:00
Enno Rehling
215136465b refactoring: getunitpeasants is an awful global hack, and I am pushing it out of give_men so I can eliminate it more easily. 2014-12-10 23:05:29 +01:00
Enno Rehling
f1662077c3 test giving too many and too few units.
start moving give-to-peasants logic into its own function.
2014-12-10 22:35:35 +01:00
Enno Rehling
33a5e0aa9d test giving men to other faction.
refactor give_men to return a message.
major milestone reached: 200 unit tests.
2014-12-10 21:17:00 +01:00
Enno Rehling
2a61dc4d11 prepare for give_men refactoring by writing some basic tests. 2014-12-10 20:44:33 +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
01877f5169 cleanup, fix a TODO, eliminate dead code. 2014-12-10 09:39:11 +01:00
Enno Rehling
0c54c7e32d always nice to eliminate a few TODO's and kill some bitrot. 2014-12-09 23:27:05 +01:00
Enno Rehling
188e003f7c retrofit tests for alliances. 2014-12-09 14:43:11 +01:00
Enno Rehling
9b56ccf53c cleaning up some alliance code, killing bitrot from WDW. 2014-12-09 14:14:35 +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
bde56aa1f8 eliminate unused variables, fix CI build. 2014-12-09 06:46:45 +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
3428f40f81 load inifile in main, it is only used by the server.
this should fix the broken CI build.
2014-12-09 06:01:10 +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
b30de914aa report volcano outbreaks in affected regions.
https://bugs.eressea.de/view.php?id=2049
2014-12-08 21:19:18 +01:00
Enno Rehling
7d5280196a prevent an error when empty units get zombified to protect magic item loss 2014-12-07 11:14:41 +01:00
Enno Rehling
3dd3761acd prevent an invalid assert when undead heroes are magical 2014-12-07 11:14:14 +01:00
Enno Rehling
4d329b8bf8 fix missing get_faction binding, add faction.get() 2014-11-26 17:44:02 +01:00
Enno Rehling
7b2d1991d8 add missing file, fix factions that lack a locale. 2014-11-23 21:15:09 +01:00
Enno Rehling
f92df416ff monsters need a default locale, or their report will crash (thanks, Don!)
- empty factions have not seen any region, prevent the code from crashing in that case.
- must load the rules even when only writing the reports (taxation affects guards?)
2014-11-23 15:50:22 +01:00
Enno Rehling
7d5109329f tests for entering ships (but not yet full coverage) 2014-11-21 17:13:45 +01:00
Enno Rehling
64a2073033 tests for entering buildings. 2014-11-21 16:39:49 +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
691b81e086 Merge branch 'master' of github.com:badgerman/eressea 2014-11-11 17:22:44 +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
b8306d42f5 remove unarmed damage bonus rule 2014-11-11 12:13:44 +01:00
CTD
f3cce58be5 smal fixes for Linux 2014-11-11 10:53:29 +01:00
CTD
9d3b2f3da9 Flieger und Bewache
Flieger können nur noch durch andere Flieger aufgehalten werden.
Damit können Drachen auch in Bewachten Regionen plündern.
2014-11-11 10:17:55 +01:00
Enno Rehling
ebd115b04a refactor of rc_specialdamage, and move it into battle, nothing else uses it. 2014-11-09 22:31:41 +01:00
Enno Rehling
a28cbc647a loot refactoring and a small armor/shield fix. 2014-11-09 14:39:48 +01:00
Enno Rehling
7bebea4f67 Merge branch 'master' of github.com:eressea/server 2014-11-09 00:25:06 +01:00
Enno Rehling
9c0a7c0e2e Merge branch 'version-3-3'
Conflicts:
	src/build.h
2014-11-08 22:56:53 +01:00
Enno Rehling
1556c07787 fix a crash when missing a token 2014-11-08 22:55:07 +01:00
Enno Rehling
85a5a433bb writing reports should not depend on the monster faction, this is silly. 2014-11-07 23:16:00 +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
d1f7fb571c fix test for get_monsters(), nobody needs the function to ever return NULL. 2014-11-07 21:28:58 +01:00
Enno Rehling
c8f2f33eab clean up some dealings with monsters and NPCs 2014-11-07 21:15:46 +01:00
Enno Rehling
49493fa630 fix typo in last commit.
package is a standard lua module, not a good variable name.
log name of script.
2014-11-06 07:53:15 +01:00
Enno Rehling
143fab9653 Some changes after talking to Don.
moved locale change into its own module.
made monsters get a report by default.
reoved old creation.c code, it was dead.
2014-11-06 07:15:53 +01:00
Enno Rehling
93e20ac7a9 clean up data files after tests are finished. 2014-11-04 08:06:46 +01:00
Enno Rehling
93cdec9ddc fix json test (null-terminate read) 2014-11-04 07:57:29 +01:00
Enno Rehling
8912a59ac4 fix json test. our fault, not the fault of storage 2014-11-04 07:50:33 +01:00
Enno Rehling
dbf60a7ce5 update to latest version of storage library. 2014-11-03 22:29:04 +01:00
Enno Rehling
f623133344 storage takes ownership of the FILE* (really need to change this API). 2014-11-03 19:03:44 +01:00
Enno Rehling
16c03a8e0e typo broke gcc build. 2014-11-03 18:44:49 +01:00
Enno Rehling
fecf3b04f8 bug 2041: group alliances are lost.
added test coverage, too.
2014-11-03 18:10:05 +01:00
Enno Rehling
d14a40b7e7 fix struct declarations. 2014-11-03 17:32:55 +01:00
Enno Rehling
835b0964ef fix gcc 2014-11-03 09:55:29 +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
9a0268ac96 bug 2042, pools not working. 2014-11-03 07:52:00 +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
14bcaf7d71 Merge branch 'version-3-3'
Update build number
2014-11-01 21:58:33 +01:00
Enno Rehling
dc7cbd886c fix the quit command, asserting the wrong keyword (probably copypasta). 2014-11-01 21:57:06 +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
27f94783bc fix gcc build, forward-declare structs in the header.
MSVC allows structs to be declared in a function signature, gcc wants
to know about them earlier.
2014-11-01 13:10:22 +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
17e86ab6cd Merge branch 'master' of github.com:badgerman/eressea 2014-10-31 22:11:09 +01:00
Enno Rehling
af616b5b09 fix segmentation fault in test. 2014-10-31 22:10:52 +01:00