Commit graph

138 commits

Author SHA1 Message Date
Enno Rehling
5b807e2057 crash casued by spell conversion.
remove unit from faction, not only region!
also remove spammy warning that has no value.
2017-06-04 14:13:05 +02:00
Enno Rehling
3306488641 Merge pull request #695 from ennorehling/feature/refactor-rcspell
refactor observers, lighthouses
2017-05-28 12:50:05 +02:00
Enno Rehling
9e213d3bcd minor optimization and using fraction code 2017-05-26 19:05:46 +02:00
Enno Rehling
18daa9db2f entirely remove RC_SPELL 2017-05-24 08:52:19 +02:00
Enno Rehling
5d710fa79f merge spell callback changes. 2017-05-01 19:13:40 +02:00
Enno Rehling
fa7a3e246b eliminate spell->id.
clean up some spell functions used by more than one spell.
2017-05-01 17:04:28 +02:00
Enno Rehling
80d696d02a remove the funcpointer from struct spell. 2017-04-30 22:15:18 +02:00
Enno Rehling
724a41ac85 refactor: pass function name to callback, calculate it in call_spell instead. 2017-04-30 21:38:44 +02:00
Enno Rehling
edd3b36a9f add a callbacks module.
make last-chance spell function in lua for spells with none.
2017-04-30 21:38:44 +02:00
Enno Rehling
294b7bf01e route all casting through a single cast_spell function. 2017-04-30 10:00:29 +02:00
Enno Rehling
e6f8c943fa refactor the special fumble functions for spells.
removed from struct spell.
funpointers in structs are bad, mkay.
2017-04-30 03:27:28 +02:00
Enno Rehling
931e705b05 delete unused functions 2017-04-29 20:37:02 +02:00
Enno Rehling
3a985108a6 change all magic resistance to use fractions. 2017-02-24 20:47:47 +01:00
Enno Rehling
27f9490ec1 Merge pull request #661 from ennorehling/develop
pedantic gcc compilation
2017-02-18 22:07:12 +01:00
Enno Rehling
b8302b1f15 Merge branch 'develop' of github.com:eressea/server into develop 2017-02-18 22:03:34 +01:00
Enno Rehling
b744b6d601 Merge branch 'master' into develop 2017-02-18 22:02:58 +01:00
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)