Commit graph

172 commits

Author SHA1 Message Date
Enno Rehling
5796f60f16 spells will always resist magic 2017-02-18 22:00:48 +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
daa7554361 remove race.precombatspell 2017-02-18 18:14:18 +01:00
Enno Rehling
e51742da90 use rc_maxaura wrapper everywhere. 2017-02-03 19:50:48 +01:00
Enno Rehling
7750297dc2 express race.magres as percentage, not probability (double->int) 2017-02-03 10:57:32 +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
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
d94cde67a4 kill autoconf.h, replace platform.h for C99 compatibility work 2017-01-26 18:03:48 +01:00
Enno Rehling
a4badc0a75 remove quicklist shim, use selist everywhere 2017-01-26 17:41:21 +01:00
Enno Rehling
7f9313f1a7 static analysis warnings.
PVS-Studio warnings reduced or suppressed.
2016-11-23 18:56:40 +01:00
Enno Rehling
bc5e744347 i2b is a bullshit macro. 2016-11-17 21:23:49 +01:00
Enno Rehling
ce4a3c14b3 convert from atoi to atoip.
most numbers in commands cannot be negative.
2016-11-14 22:27:44 +01:00
Enno Rehling
2b07ae810c kil xmlreport files.
remove unnecessary includes.
2016-11-14 01:27:59 +01:00
Enno Rehling
03d90c5680 remove BOM from UTF-8 files, replace Umlauts 2016-11-01 17:25:52 +01:00
Enno Rehling
8f1a1fc8c3 tighten up some lookups. 2016-10-03 20:27:36 +02:00
Enno Rehling
423e293745 some more config lookup caching 2016-09-23 20:39:08 +02:00
Enno Rehling
2c0f0bfc1e reduce get_race calls by a few more 2016-09-22 15:51:11 +02:00
Enno Rehling
c352ab9f8e move game-version information fom version.h to gamedata.h 2016-09-10 17:21:17 +02:00
Enno Rehling
a5ce809f41 fix memory leak in umlaut.c with reference counting (sad). 2016-09-06 19:57:07 +01:00
Enno Rehling
3d5c7ba8fb refactoring: move produceexp from unit.c to study.c 2016-03-09 14:50:54 +01:00
Enno Rehling
8a9d617aa3 read_referernce takes a gamedata object.
with all the trimmings that requires,
this is for github issue $479
2016-02-24 11:53:22 +01:00
Enno Rehling
2e41c4972c read_spellbook, use gamedata.version
github issue #479
2016-02-24 11:48:46 +01:00
Enno Rehling
3e584245c0 attrib.read gets a gamedata object
stop using global.data_version
for github issue #479
2016-02-24 11:44:19 +01:00
Enno Rehling
7f6ced99b9 attrib.read gets a gamedata object (remove dependency on global.data_version) 2016-02-24 11:44:18 +01:00
Enno Rehling
0189111876 update key attribute api
prepare to replace at_key. do not return the internals. add basic test.
2016-02-09 06:43:19 +01:00
Enno Rehling
a94a238af0 addparam_region fix: all regions in spell parameters should be in the "normal" plane. 2016-01-29 20:04:05 +01:00
Enno Rehling
91f894b290 teleport.c is the astral space implementation, and it is not one of the core concepts, so move it out of the kernel/ directory 2016-01-28 12:25:16 +01:00
Enno Rehling
2f70054d2f braineaters outside of astral sapce lose 50% of their innate magic resistance. 2016-01-28 10:58:28 +01:00
Enno Rehling
74d8b53ba8 fix a TODO, reduce size of icastle_data 2015-12-17 12:59:12 +01:00
Enno Rehling
5187788f3c pass the parent of an attribute into a_age and attrib_type::age 2015-12-16 22:18:44 +01:00
Enno Rehling
1a9e3db423 Merge branch 'master' into develop
Conflicts:
	src/buildno.h
2015-12-06 20:51:14 +01:00
Enno Rehling
9b7d4adda5 https://bugs.eressea.de/view.php?id=2173#c6397
by request: magic resistance never higher than 90%, so highly skilled monsters cannot become completely invincible to magic.
2015-12-06 20:48:22 +01:00
Enno Rehling
64b84481b2 refactoring: move parsing and allies code out of config.c 2015-11-24 18:52:09 +01:00
Enno Rehling
48c75466b6 kill static caches for floating-point variables 2015-11-22 17:32:35 +01:00
Enno Rehling
2e392b4d7c eliminate even more static variable caches 2015-11-22 16:14:27 +01:00
Enno Rehling
a4cb5e2906 replace all get_param_* for global.parameters with config_get_* 2015-11-22 10:44:46 +01:00
Enno Rehling
66e43caf9d CID 32303 Unchecked return value
appeasing coverity
2015-11-09 20:03:38 +01:00
Enno Rehling
ea8721367a test and fix shock trigger.
https://bugs.eressea.de/view.php?id=2154
2015-11-09 19:43:51 +01:00
Enno Rehling
fed660987a CID 22519 et al (resource leaks)
make the failure case for get_spellbook a little slower, but make static analysis happy.
2015-11-09 19:16:20 +01:00
Enno Rehling
dcc819491f make it easier for coverity to understand this code (there are no resource leaks) 2015-11-05 12:47:34 +01:00
Enno Rehling
0a5bd9d356 22480 Dereference after null check 2015-11-04 14:19:43 +01:00
Enno Rehling
cc89e9c9da fix crash when rules do not define a unicorn item 2015-11-03 17:33:44 +01:00
Enno Rehling
24ff4c301d refactor: separate building_is_active from inside_building 2015-11-02 14:18:50 +01:00
Enno Rehling
6113bc2144 CID 26254: Incorrect expression (DIVIDE_BY_ZERO)
magic should never be zero, but coverity doesn't know that.
2015-10-29 16:46:43 +01:00
Enno Rehling
2f35246f8c memory leak: when freeing factions, also free their spellbooks 2015-10-13 21:47:45 +02:00
Enno Rehling
936c201d0b Merge pull request #312 from eressea/master
pull latest changes from master into develop
2015-10-11 16:47:29 +02:00
Enno Rehling
e8880db447 get the code to compile under vs2015 (disable warnings) 2015-10-11 14:39:43 +02:00
Enno Rehling
cf08cdf3fb configuration type-fixes: int to bool where appropriate (possibly incomplete)
rename some rules to make it more obvious that they are flags or other integer values.
2015-09-11 10:04:08 +02:00
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
dfb0bcaccf Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/kernel/save.c
	src/laws.c
2015-08-20 15:49:36 +02:00
Enno Rehling
ff38d8bf4c I don't think it's good to call update_spells before the turn.
one should only have the spells that are in the previous week's report.
a few comments wouldn't hurt.
2015-08-20 12:12:17 +02:00
Enno Rehling
c0a760a645 Merge branch 'develop' of github.com:eressea/server into develop 2015-08-06 19:54:51 +02:00
Enno Rehling
6c8300a47e Merge branch 'feature/bug-1588-magicpower-limit' of https://github.com/ennorehling/eressea into ennorehling-feature/bug-1588-magicpower-limit
Conflicts:
	scripts/tests/e2/init.lua
	src/battle.c
	src/bind_unit.c
	src/kernel/spellid.h
	src/magic.c
	src/magic.h
2015-08-06 19:53:24 +02:00
Enno Rehling
420574c7e4 add unit-test for casting spells, fix spell-casting (was looking for thisorder), all E3 tests pass again 2015-08-05 10:25:25 +02:00
Enno Rehling
f1b0488a78 missing include 2015-07-12 14:17:35 +02:00
Enno Rehling
0a57933e30 minor optimizations, error checking (static analysis) 2015-07-12 14:17:27 +02:00
Enno Rehling
7087c0e0ab Update to latest submodules, fix iniparser and critbit.
I did this before, must have lost it in the merge. Crazy.
2015-07-12 10:38:01 +02:00
Enno Rehling
e25d3c8ed1 Fix a bug reporting DETROY messages to the correct unit.
Add missing not-null assertions before accessing function parameters.
Eliminate all of the PVS-Studio warnings.
2015-07-07 00:49:12 +02:00
Enno Rehling
05ec74f9ec annotate with finds from PVS Studio trial static analysis 2015-07-06 21:31:27 +02:00
Enno Rehling
d0f8825240 use the syntax_error function where appropriate.
fix bug w. releasing message too soon.
2015-05-18 11:34:52 +02:00
Enno Rehling
df325b243a enable stricter conversion checking for gcc < 4.9, fix code 2015-05-15 20:35:36 +02:00
Enno Rehling
dd8449783a converting float->double in a lot of the code to prevent -Wconversion messages 2015-05-15 19:08:44 +02:00
Enno Rehling
b00d7b6d5a increase magic power for low levels in E3 (instead of divide by 2 sometimes giving powers of < 1.0, cap it below at 1)
several spells have now had problems with powers lower than they were ever designed for, including shapeshift
also added a test and some framework for shapeshift spell (in E2).
https://bugs.eressea.de/view.php?id=1588
2015-04-30 15:59:52 +02: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
6abe180f68 free spellbooks correctly. 2014-12-31 01:38:49 +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
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
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
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
9c0a7c0e2e Merge branch 'version-3-3'
Conflicts:
	src/build.h
2014-11-08 22:56: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
Renamed from src/kernel/magic.c (Browse further)