1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 04:49:54 +00:00
Commit graph

191 commits

Author SHA1 Message Date
Allofich
446c0a4fa8 Play all of a spell's casting effects 2016-09-04 17:42:27 +09:00
Allofich
b4577fe751 Allow multiple spell hit sounds on single target 2016-09-04 17:42:27 +09:00
David Cernat
9764dbb8d2 Merge pull request #52 from OpenMW/master
Add OpenMW commits up to 2 Sep
2016-09-02 06:29:34 +03:00
Allofich
b99c2c54d8 Allow Water Walking on non-submerged creatures 2016-09-01 03:53:53 +09:00
Allofich
22b11c5947 Move Water Walking check into checkEffectTarget() 2016-08-31 23:56:31 +09:00
Allofich
f25c65260c Limit sMagicinvalidEffect to self-cast spells 2016-08-31 17:22:45 +09:00
Allofich
6c3cad238b Use castByPlayer bool 2016-08-31 17:18:23 +09:00
Allofich
a6216d883f Don't allow casting Water Walking in deep water 2016-08-31 04:37:50 +09:00
David Cernat
d9cfd5bac2 Resolve conflicts with OpenMW 2016-08-15 19:14:13 +03:00
Allofich
d617651307 Don't allow re-casting of bound equipment spells 2016-08-14 02:05:23 +09:00
Allofich
4b9aff7a03 Glowupdater fix when using shaders 2016-08-10 00:43:14 +09:00
Allofich
9b2cb2fb8c Cleanups 2016-08-10 00:25:33 +09:00
Allofich
775162ccdf Rewrite spell glow implementation 2016-08-09 22:56:53 +09:00
Allofich
35c14bb9bb Minor rewrite, make "open" spells play glow effect 2016-08-09 22:56:53 +09:00
Allofich
e132b52a69 Handle spell glows within updatecallback 2016-08-09 22:56:53 +09:00
Allofich
3841a8fb40 Make non-actors glow when they cast spells 2016-08-09 22:56:53 +09:00
Allofich
dca7b4beb7 Make non-actors also play spell casting sounds 2016-08-09 22:56:53 +09:00
Aesylwinn
b4a000913c Merge remote-tracking branch 'yar/master' into Even
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwdialogue/filter.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/localscripts.cpp
#	components/CMakeLists.txt
#	components/compiler/exprparser.cpp
#	components/sceneutil/workqueue.cpp
2016-07-17 23:50:52 -04:00
MiroslavR
b0fcad4cb8 Don't stack effects for scrolls of the same type (Fixes #3466) 2016-07-10 03:49:09 +02:00
Koncord
1b259e2d33 Syncing inventory, animations, position, 8 key attributes
Created Package system
2016-07-07 23:50:48 +08:00
Allofich
b1be3596dc Cleanup of #include statements 2016-06-18 10:56:28 +09:00
scrawl
4acfe1a7e4 Move cleanupSummonedCreature to the mechanics manager (Bug #3439) 2016-06-12 02:43:33 +02:00
scrawl
d05603c7fe Directly apply On Target 'When Strikes' enchantments instead of launching a projectile (Fixes #3212) 2016-02-22 19:42:54 +01:00
scrawl
c4d38bb42d Fix clang analyzer warnings 2016-02-16 19:17:04 +01:00
scrawl
832eaae27b Do not apply effects with CasterLinked flag when there is no valid caster 2016-02-01 22:57:08 +01:00
scrawl
4e6a60672d When a spell explodes on an actor do not apply it to that actor twice (Fixes #3142) 2016-01-12 00:40:09 +01:00
scrawl
689dea4cb3 Add instant spell effects to the actor's magic effect list
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&start=20#p36208
2015-12-17 19:49:37 +01:00
scrawl
34f48d63f3 Apply spell absorption once per effect (Fixes #2942) 2015-12-09 00:35:54 +01:00
scrawl
783594033a Optimize MWMechanics::Spells
Use pointers as map keys instead of string IDs. Resolves a nasty performance bottleneck on functions like hasCommonDisease() that previously had to look up all contained spells from the ESM store on every call. hasCommonDisease() is called hundreds of times per frame by the AI target update since it's used to calculate target disposition.

The total cost of hasCommonDisease() was 2.7% of the frame loop, now it's negligible.
2015-11-27 01:07:15 +01:00
scrawl
7b6fe149f2 getSpellSuccessChance return 0 for used powers (Fixes #2944) 2015-10-05 15:41:43 +02:00
Marc Zinnschlag
a52b947efe Merge remote-tracking branch 'dteviot/MagicEffectsRefactorDraft3' 2015-08-23 12:11:30 +02:00
dteviot
5dd0ad6841 Fixed rest of travis errors. 2015-08-21 22:41:31 +12:00
dteviot
77a1d947cc extracted MWMechanics::getPlayer() 2015-08-21 21:12:39 +12:00
dteviot
85bc41dedb replaced FLT_MAX with numeric_limits. 2015-08-21 19:34:28 +12:00
dteviot
0ee7407101 extracted common sub-expressions. 2015-08-20 18:17:02 +12:00
scrawl
d76fb2d266 Apply disintegrate only to weapons and armor (Fixes #2853) 2015-08-14 13:38:39 +02:00
scrawl
1e18a73b1c Don't play magic effect sounds & visual effects for unsuitable targets (Fixes #2811) 2015-08-13 17:08:21 +02:00
scrawl
211deeb63e Don't attempt to lock or unlock unsuitable objects (Fixes #2826) 2015-08-13 17:08:21 +02:00
scrawl
278a078e9d Unify magic effect tick functions
- Removes duplicated code
- Handle some zero-duration instant effects that were not handled before (disintegrate, sun damage, elemental damage)
2015-07-18 20:39:45 +02:00
scrawl
974fda5bde Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	extern/sdl4ogre/sdlwindowhelper.cpp
2015-06-03 03:18:29 +02:00
scrawl
de8e5f0db1 Restore projectiles 2015-06-01 21:41:13 +02:00
scrawl
fd50be0fb8 Restore various gameplay 2015-05-30 01:00:24 +02:00
scrawl
d1b6289cad Don't teleport followers when using teleportation spells 2015-05-22 19:57:02 +02:00
scrawl
8c810e3620 Move rng to components 2015-04-22 17:58:55 +02:00
scrawl
c92592493e OpenMW: create a window and render the starting cell(s) 2015-04-12 15:38:30 +02:00
scrawl
4e69e7cc0f OpenMW compiles and runs w/o render window 2015-04-01 17:02:15 +02:00
dteviot
3f28634d1f consolidate random number logic
Note, I suspect Rng::rollClosedProbability() is not needed.  The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.
2015-03-15 14:07:47 +13:00
scrawl
3879ce6ac1 Get rid of "player" string checks (Fixes #2216) 2015-03-11 23:07:39 +01:00
dteviot
ca8c8c6aa4 fixing MSVC 2013 warning C4244: & C4305
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
2015-03-08 17:42:07 +13:00
dteviot
45b6538820 fixed MSVC 2013 warning C4800
forcing value to bool 'true' or 'false'
2015-03-06 23:19:57 +13:00
scrawl
a653716e2c Fix for damage/restore effects using the instant apply path when they have a duration 2015-03-01 22:22:20 +01:00
scrawl
f82751422d Fix constant effect restore enchantments being applied incorrectly (Fixes #2408) 2015-02-28 16:31:22 +01:00
scrawl
77bb77b367 Fix for instant restore effects (Fixes #2392) 2015-02-23 19:07:12 +01:00
dteviot
8d7de7d1ec Telekinesis allows safe opening of traps (Fixes #1916)
When trap activated at beyond normal activation distance, assume telekinesis used and detonate trap at trapped object's location.
Also some minor code refactoring of spellcasting.
1. Corrected parameter passed to explodeSpell().
2. For loop now correctly does an early exit.
3. Removed duplicated tests.
2015-02-17 22:14:25 +13:00
scrawl
378e91545d Fix Tribunal/BM summon effects not working 2015-01-23 15:34:47 +01:00
Marc Zinnschlag
38a413a483 Merge remote-tracking branch 'scrawl/master' 2015-01-07 20:22:15 +01:00
scrawl
13c5bd5cc2 Enchanting: fix skill-based cast cost bonus being applied twice 2015-01-07 04:41:12 +01:00
scrawl
992b87ea44 Reset existing summons when the spell is re-casted (Fixes #2135) 2015-01-06 16:11:10 +01:00
scrawl
f267497c03 Allow separate summoned creature instances for each spell ID (Fixes #2194) 2015-01-06 16:11:05 +01:00
Marc Zinnschlag
31f6ccdf4d Merge remote-tracking branch 'internecine/bug2031' 2015-01-06 09:43:59 +01:00
Internecine
e1fdcb608e Fixed incorrect index 2015-01-06 15:00:24 +13:00
Internecine
a7a3ab0c78 Fixed instant negative dynamic stat changes being applied as positive 2015-01-01 21:26:09 +13:00
scrawl
363d1f9207 Merge remote-tracking branch 'upstream/master' 2014-12-30 23:01:45 +01:00
scrawl
de9d347018 Fix on touch area effect spells (Fixes #2233) 2014-12-28 01:51:12 +01:00
Internecine
5f9540318a Fixed incorrect indexes 2014-12-27 19:49:14 +13:00
Internecine
a87fe71ddf Added a helper function to handle dynamic stat changes 2014-12-27 19:46:54 +13:00
scrawl
f931ba2efc Fix some static analysis issues (coverity) 2014-12-24 15:45:12 +01:00
Alexander "Ace" Olofsson
462b41a3a8 Missing files, aka; Why you shouldn't stresscommit 2014-12-19 11:26:54 +01:00
Internecine
edc51ab768 Removed debug output 2014-11-05 15:26:13 +13:00
Internecine
6741fbe7a9 Fixes bug #2031 2014-11-05 15:22:44 +13:00
scrawl
8cb09e89ed Make spells cast by scripts always succeed (Fixes #1993) 2014-10-12 17:18:27 +02:00
Marc Zinnschlag
744c56943a Merge remote-tracking branch 'jordan-ayers/topic/misc-cleanup' 2014-10-07 18:03:25 +02:00
scrawl
5c3bc6563b Fix divisions by zero in normalizedEncumbrance 2014-10-05 15:50:01 +02:00
Jordan Ayers
663647bee8 Simplify getEffectMultiplier.
Both return cases were same, except for some overflow conditions.
2014-10-04 15:28:58 -05:00
scrawl
56cd0da522 Fix potential infinite recursion when an area effect spell is reflected (Fixes #1896) 2014-09-09 04:44:14 +02:00
scrawl
58945c557a Add sound for casting enchanted item with insufficent charge (Fixes #1857) 2014-08-30 02:47:35 +02:00
MiroslavR
fc789265e2 Spells that always succeed should not increase your skill when you cast them 2014-08-24 20:36:31 +02:00
scrawl
d8943aef2f Encapsulate magic effect magnitude (Feature #1489) 2014-08-17 03:58:04 +02:00
scrawl
2bfcec53bf Don't show sMagicInvalidTarget for soultrap on NPCs (Fixes #1762)
Note the message was accurate, since NPCs can't be soultrapped. Maybe vanilla doesn't show it to not spam the screen with message boxes when attacking with a "soultrap on strike" weapon...
2014-08-06 20:13:58 +02:00
scrawl
175cc98e64 Make magic effects with no corresponding resistance attribute unresistable (Fixes #1727) 2014-07-31 01:14:44 +02:00
scrawl
78bd516ab4 Show sMagicInvalidTarget for an invalid soultrap target (Fixes #1728) 2014-07-30 15:26:10 +02:00
scrawl
5349699172 Only show "target resists magic" message for spells cast by player 2014-07-28 17:54:48 +02:00
scrawl
90b2709d6c Allow absorption of non-harmful spells (Fixes #1693)
Also fix absorption being calculated for each effect rather than the whole spell.
2014-07-25 19:56:06 +02:00
scrawl
6d794dac69 Add missing messagebox for spell lock and unlock success 2014-07-20 17:09:55 +02:00
scrawl
20a0040bdb Apply elemental shield magnitude to element resistance (Closes #1121) 2014-07-16 10:58:28 +02:00
scrawl
479f248c1d Use spell effect range type, not base effect (applied to spellcasting code) 2014-07-12 18:53:15 +02:00
scrawl
e95483c40f Fix crash for on target spells cast by non-actors (Fixes #1529) 2014-06-18 16:57:53 +02:00
scrawl
fe1e6a2719 Make Weakness effects apply to all subsequent effects within the same spell (Fixes #1150) 2014-06-18 16:57:53 +02:00
scrawl
039398c8ae Basic RefData and CellRef change tracking
Wrapped item charge handling in getItemHealth function
2014-05-25 14:30:07 +02:00
scrawl
e5a21aca53 Refactor projectiles to no longer use MW-objects 2014-05-16 13:33:30 +02:00
scrawl
2f13a17a39 Add some more safety checks to spellcasting 2014-05-15 09:54:10 +02:00
scrawl
a609dc5674 Fix exception when getting hit by a trap 2014-05-15 09:54:10 +02:00
scrawl
9052cc4a57 Savegame: store ActiveSpells 2014-05-14 23:54:15 +02:00
scrawl
dfacf8c044 Change ActiveSpells to use ActorId 2014-05-14 07:14:08 +02:00
scrawl
99b4bc721b Don't attempt to inflict spells on dead actors 2014-05-14 05:37:53 +02:00
scrawl
6c7b3074f5 Fix self-defense for creatures when attacked with a spell 2014-05-14 05:31:19 +02:00
Thoronador
1b8c975d5b minor performance improvements in apps/openmw
Checking for emptiness using size() might be inefficient, because
it can take linear time, while empty() is guaranteed to take only
constant time.

For non-primitive types, postfix ++ operators are inefficient
compared to prefix ++ operators, because post-increment usually
involves keeping a copy of the previous value around.
2014-04-27 19:10:23 +02:00
scrawl
04964595ef Fixes #1270, Fixes #1201: Update active weapon/spell icons every frame 2014-04-26 16:44:20 +02:00
Thomas
f6deca7c80 Fixed various issues caused by late-night coding. Also added "unlock" message to unlocked doors 2014-04-23 13:02:51 -04:00
Thomas
61341d4206 Removed mLocked, kept it as "Negative lock level means unlocked" 2014-04-23 10:00:18 -04:00