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

344 commits

Author SHA1 Message Date
scrawl
c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 2016-02-27 12:53:07 +01: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
fb219fea17 Fix respawning of NPCs/creatures when they were moved to a different cell 2016-02-10 19:07:01 +01:00
scrawl
effe022bb2 Move preload model list to MWClass, preload NPC head/hair 2016-02-08 20:52:32 +01:00
scrawl
32d5dece58 Add count argument to getToolTipInfo 2015-12-19 16:29:07 +01:00
scrawl
0d4729dcd5 Use the const version of CustomData::as* 2015-12-19 16:19:52 +01:00
scrawl
b0894ea20d Accept a ConstPtr in hasToolTip 2015-12-19 16:15:45 +01:00
scrawl
04f7a8f8eb Remove redundant getId function 2015-12-18 16:58:38 +01:00
scrawl
303521002d Accept a ConstPtr in adjustScale 2015-12-18 16:46:02 +01:00
scrawl
09bdb0ad4b Accept a ConstPtr in getServices 2015-12-18 16:44:35 +01:00
scrawl
3c98f8dde3 Accept a ConstPtr in isPersistent 2015-12-18 16:41:37 +01:00
scrawl
3fe3091275 Accept a ConstPtr in isEssential 2015-12-18 16:39:35 +01:00
scrawl
4a47fc32fa Accept a ConstPtr in getBloodTexture 2015-12-18 16:39:08 +01:00
scrawl
5b082be79f Accept a ConstPtr in getBaseGold 2015-12-18 16:28:20 +01:00
scrawl
da7ebfde99 Accept a ConstPtr in copyToCell 2015-12-18 16:27:18 +01:00
scrawl
954186fe1e Accept a ConstPtr in canFly, canSwim & canWalk 2015-12-18 16:27:18 +01:00
scrawl
b09bdd6af5 Accept a ConstPtr in isBipedal 2015-12-18 16:27:18 +01:00
scrawl
92a3acfa56 Accept a ConstPtr in getBaseFightRating 2015-12-18 16:12:35 +01:00
scrawl
f258c5c508 Accept a ConstPtr in getModel 2015-12-18 15:51:05 +01:00
scrawl
d9bbd83b09 Accept a ConstPtr in getToolTipInfo
Accept a ConstPtr in functions used by getToolTipInfo
2015-12-18 15:47:16 +01:00
scrawl
ed3486e816 Improve const-correctness in writeAdditionalState 2015-12-18 00:19:06 +01:00
scrawl
b48445dea7 Accept a ConstPtr in getScript 2015-12-18 00:12:03 +01:00
scrawl
eb51e2838f Utilize the mHasCustomData flag in writeAdditionalState 2015-12-18 00:07:40 +01:00
scrawl
271fcb80c6 Remove container scripts before deleting container 2015-12-14 02:57:55 +01:00
scrawl
fc449233be Restore support for inserting objects into a cell 2015-12-04 18:29:41 +01:00
scrawl
0975f60d59 Stub out CellStore::get<T> accessors in preparation of reference movement between cells 2015-12-04 18:29:41 +01:00
scrawl
cd4a1ffd16 Fast version of dynamic_cast for MWClass 2015-11-29 14:26:52 +01:00
scrawl
bd9dc58560 Use the correct scale for actor swim height (Fixes #2833) 2015-11-01 21:45:58 +01:00
dteviot
300c48329d Creature::isFlagBitSet() changed to free function. 2015-08-28 18:38:05 +12:00
dteviot
95d2d82abf extracted isFlagBitSet() 2015-08-27 18:36:46 +12:00
dteviot
bb54bbd273 Pulled duplicated functions into common base class 2015-08-24 19:54:02 +12:00
dteviot
77a1d947cc extracted MWMechanics::getPlayer() 2015-08-21 21:12:39 +12:00
dteviot
0ee7407101 extracted common sub-expressions. 2015-08-20 18:17:02 +12:00
scrawl
67bd6cd708 Remove empty line at the beginning of files
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
2015-08-18 23:06:12 +02:00
scrawl
7f66339790 Remove a redundant function 2015-07-24 20:23:27 +02:00
scrawl
4637750601 Savegame loading optimization 2015-06-30 16:47:41 +02:00
scrawl
882e359008 Move attackStrength to the CharacterController, where it should have been to begin with
Only relevant for actors in active cells, so doesn't belong in CreatureStats. This change should slightly reduce the game's memory usage.
2015-06-26 05:15:07 +02:00
scrawl
04010b8a1a Set OnPcHitMe even for missed hits 2015-06-18 15:00:04 +02:00
scrawl
7bacb9418d Various math code ported to osg 2015-06-03 19:41:19 +02:00
scrawl
de8e5f0db1 Restore projectiles 2015-06-01 21:41:13 +02:00
scrawl
22f01b1232 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/launcher/graphicspage.cpp
	apps/opencs/editor.cpp
	apps/opencs/model/doc/document.cpp
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/mousestate.cpp
	apps/opencs/view/render/textoverlay.cpp
	apps/opencs/view/render/worldspacewidget.cpp
	apps/openmw/mwclass/creature.cpp
	apps/openmw/mwclass/npc.cpp
	apps/openmw/mwgui/inventorywindow.cpp
	apps/openmw/mwgui/loadingscreen.cpp
	apps/openmw/mwgui/mapwindow.cpp
	apps/openmw/mwgui/pickpocketitemmodel.cpp
	apps/openmw/mwgui/waitdialog.cpp
	apps/openmw/mwmechanics/combat.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwrender/globalmap.cpp
	apps/openmw/mwworld/physicssystem.cpp
	apps/openmw/mwworld/refdata.cpp
	apps/openmw/mwworld/scene.cpp
	apps/openmw/mwworld/worldimp.cpp
	components/sdlutil/sdlinputwrapper.cpp
	extern/shiny/Main/Factory.cpp
	extern/shiny/Main/MaterialInstance.cpp
	extern/shiny/Main/Platform.cpp
	extern/shiny/Main/ShaderSet.cpp
2015-05-23 20:33:44 +02:00
scrawl
85345e663a Restore getHitContact 2015-05-22 04:36:33 +02:00
scrawl
375b736e74 Use SDL to create the window
No input nor event loop handling yet, so the window will "stop responding" after a few seconds.

Thanks to KittyCat for the GraphicsWindowSDL2 code.
2015-05-13 02:53:09 +02:00
scrawl
e8ec4387d6 Creature collision fix 2015-05-12 16:50:11 +02:00
scrawl
5abeab21ed Various integer/floating point roll adjustments based on wiki 2015-05-11 16:55:09 +02:00
scrawl
c31b416ba1 Move physicssystem to a new mwphysics module 2015-05-10 01:09:00 +02:00
scrawl
9f12e53956 Scale NPCs by their Weight property (Fixes #814) 2015-04-24 14:49:20 +02:00
scrawl
8c810e3620 Move rng to components 2015-04-22 17:58:55 +02:00
scrawl
68f93294da Port EffectManager 2015-04-19 17:55:56 +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
767624f518 Combat mechanic fixes 2015-03-12 03:08:58 +01:00
scrawl
3879ce6ac1 Get rid of "player" string checks (Fixes #2216) 2015-03-11 23:07:39 +01:00
dteviot
e197f5318b 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 13:07:29 +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
bea88c3643 Stolen item tracking overhaul part 2 (Fixes #2338) 2015-02-06 01:27:16 +01:00
scrawl
7e33471edb Fix code duplication 2015-01-31 22:40:43 +01:00
scrawl
9014dc48ee Don't require the object type id for reading references from savegames
This is redundant, since we can look it up from the RefID.
2015-01-20 00:42:25 +01:00
scrawl
41b3a9dba9 Rewrite animated collision shape support (Fixes #2123) 2015-01-13 05:37:37 +01:00
dteviot
7aa0f887c0 Minor changes to ESM::RefNum
1. Changed mIndex to unsigned, to solve potential implementation defined behavior with right shift.
2. Refactoring to minimize use of magic number -1 to indicate "no Content File".
2015-01-11 12:20:22 +13:00
dteviot
7fe2f86d06 Slaughter fish attacks when player only knee deep in water (Fixes #2076) 2015-01-09 21:40:53 +13:00
scrawl
e0d083f702 Add hand-to-hand combat mechanics for bipedal creatures
You can now have a fistfight with vivec, if you so desire.
2015-01-01 03:38:54 +01:00
scrawl
377b79d5ba Use SoundGen fallback for type Land only (Fixes #2228) 2014-12-28 02:39:54 +01:00
scrawl
3912ee2b1d Fix faction rank not being set on items in faction-owned containers 2014-12-24 15:45:13 +01:00
scrawl
1b9209df4a Allow blocking of hand-to-hand attacks 2014-12-24 15:45:11 +01:00
scrawl
d642512f71 Error message fix 2014-12-17 00:57:04 +01:00
scrawl
4e0d16da8c Take Scale field in creature record into account (Fixes #2214) 2014-12-15 13:34:04 +01:00
scrawl
2b78e9795d Implement Calm effect removing combat packages (Fixes #1985) 2014-12-14 19:35:34 +01:00
scrawl
4acc25f59c Use SoundGen with no creature field as fallback
This fixes the adorable "thump" sounds in the Scrib's idle animation not playing.
2014-12-14 17:52:06 +01:00
scrawl
192626c6f5 SoundGen fix: use Original Creature field only if non-empty 2014-12-14 17:44:03 +01:00
scrawl
88a2e4c043 Graceful error handling for missing spells/factions (Fixes #1825, Bug #2176, Bug #2203) 2014-12-14 02:38:27 +01:00
scrawl
f42420bc19 Use the Original Creature field for SoundGen lookups 2014-12-12 01:24:35 +01:00
scrawl
886903d70e Implement HitAttemptOnMe function (Bug #2078) 2014-12-11 22:25:41 +01:00
scrawl
e48dc45ede Fix creatures not being able to move with 0/0 encumbrance 2014-10-27 21:53:00 +01:00
scrawl
d9165593d9 Fix footstep sounds played during water-walking 2014-10-05 22:27:25 +02:00
scrawl
5c3bc6563b Fix divisions by zero in normalizedEncumbrance 2014-10-05 15:50:01 +02:00
scrawl
e868a48a63 Don't trigger OnPcHitMe for friendly hits (Fixes #1950)
Don't consider actors as followers if they are also in combat with the follow target
2014-09-26 22:08:07 +02:00
scrawl
be7839873a Don't trigger dynamic stats recalculation when setting up actor initial stats (Fixes #1927)
This caused the magicka value set in the CS to be ignored completely, so flame atronachs were spawning with 50 magicka instead of 105.
2014-09-18 03:47:45 +02:00
scrawl
157c53bed4 Handle spellcasting for creatures with no casting animation (Fixes #1856) 2014-09-15 10:42:44 +02:00
scrawl
1270dada34 Don't set Attacked flag when the actor is already in combat with the attacker (Fixes #1909) 2014-09-14 10:35:57 +02:00
scrawl
cb916594d9 Always show tooltips for dead actors 2014-09-09 02:12:44 +02:00
scrawl
f18d4b4ac4 Don't show crosshair tooltips for actors in combat 2014-09-09 00:47:26 +02:00
scrawl
c54ab2e846 Don't allow talking to creatures that are in combat 2014-09-09 00:39:38 +02:00
scrawl
adbc50366b Use random attack strength for creatures (Bug #1876)
Determining the attack strength from the time the wind-up animation was held will not work properly, as most creatures don't have this animation.

This fixes another balancing issue with Rieklings (they were previously using an attack strength of 1 every time).
2014-09-07 18:55:59 +02:00
scrawl
d8943aef2f Encapsulate magic effect magnitude (Feature #1489) 2014-08-17 03:58:04 +02:00
scrawl
accab47724 Don't knock down from fall damage in onHit (CharacterController is doing that already) 2014-08-08 15:46:32 +02:00
scrawl
639ae7e06c Implement friendly hits on followers (Fixes #1139) 2014-08-03 16:24:16 +02:00
scrawl
216ebac2e9 Implement weapon condition damage for ranged weapons (Fixes #1746) 2014-08-03 16:24:11 +02:00
scrawl
b58b8c6f8f Adjust player position to ground when using a door marker, even if the player is levitating (Fixes #1737) 2014-07-31 04:28:02 +02:00
scrawl
d81e9cfefd Implement actors fighting for the actor they are following (Fixes #1141) 2014-07-27 20:33:45 +02:00
scrawl
5629803a08 Implement correct armor mitigation mechanics 2014-07-20 23:45:31 +02:00
scrawl
1636fd66db Don't add creature base damage to weapon damage (UESP was wrong) 2014-07-20 22:26:26 +02:00
scrawl
28a0899d2b Implement difficulty scaling (Fixes #1505) 2014-07-20 16:38:20 +02:00
scrawl
5bbf07976f Consider Shield spell effect for creature armor rating 2014-07-20 14:41:39 +02:00
scrawl
691ba02115 Reduce wepaon condition even if attack misses 2014-07-20 14:12:27 +02:00
scrawl
123157b216 Implement elemental shield damage to attacker (Feature #1121) 2014-07-16 10:58:28 +02:00
scrawl
3d9bdad8ba Correct run speed for creatures (by Hrnchamd - Fixes #1136) 2014-06-25 00:51:02 +02:00
scrawl
cc3c6ae7b8 Fix very slow movement on some creatures, e.g. rats (Bug #1136)
Neither fAthleticsRunBonus, fBaseRunMultiplier or the creature's athletics skill (i.e. Combat stat) have any effect on the run speed (tested by setting those to absurd values). The new formula is just a guess and doesn't seem to be completely accurate.
2014-06-19 02:36:10 +02:00
scrawl
6760f4c897 Make cached GMSTs in MWClass::Npc/Creature safer 2014-06-19 02:09:46 +02:00
scrawl
4234c70232 Savegame: Disable CustomData load optimization for npcs and creatures for now to preserve compatibility (still enabled for containers) 2014-06-19 02:00:40 +02:00
scrawl
2193977eec Savegame: Don't fill CustomData from ESM records if the savegame overwrites it anyway
This gets rid of some junk in ContainerStores (since clear() only sets count to 0 and doesn't really delete references), and significantly speeds up loading savegames (by about 80% in my test)
2014-06-18 22:59:18 +02:00
scrawl
28feb260eb Implement disposition/distance based aggression (Fixes #1520) 2014-06-16 20:05:53 +02:00
scrawl
3b7119ba0d Make Bipedal creatures always able to walk and swim (Fixes #1509)
This is necessary since the vanilla CS greys out the walk/swim checkboxes when Bipedal is checked.
2014-06-16 02:52:24 +02:00
scrawl
395f98e476 Fix triggering changed flag for all references when cell is visited
The InsertFunctor for cells was calling localRotateObject() for all references which set the mChanged flag in RefData to true.

Also clean up RefData interface slightly.
2014-06-15 14:18:16 +02:00
scrawl
881ae33b74 Don't allow Creatures with no movement abilities to move (Fixes #1457) 2014-06-10 02:15:09 +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
Emanuel Guevel
1e4a854433 Remove static method MWWorld::Class::get(&Ptr)
It was just adding a level of indirection to Ptr.getClass().
All the call were replaced by that instead. The number of lines changed
is important, but the change itself is trivial, so everything should be
fine. :)
2014-05-22 20:50:00 +02:00
scrawl
a872c9f83a Feature #1323: handle restocking levelled items 2014-05-18 12:53:21 +02:00
scrawl
b4ed828e21 Feature #1323: Implement restocking items (does not handle levelled lists yet) 2014-05-17 14:30:31 +02:00
scrawl
ae66d28c87 Feature #32: Implement respawn for containers, creatures and NPCs 2014-05-17 09:09:00 +02:00
scrawl
67e942e733 Bug #869: Some fixes to the previous fix 2014-05-14 07:13:12 +02:00
scrawl
1c8c26072d Crime and self defense fixes
- NPCs should still shout messages such as "thief" even if they did not report the crime
 - Fixed self defense for NPCs (they no longer attack the player when they were attacked by a non-player actor)
 - Fixed self defense for creatures (Fixes #1203)
2014-05-06 19:15:43 +02:00
Jeffrey Haines
9efef31bb8 Feature #953 Trader Gold - Unused code/warning resolved
Removed unused code
getBaseGold throws proper error
2014-03-28 17:27:23 -04:00
Jeffrey Haines
401d21b4ee getBaseGold implemented in MWWorld::Class for NPC and Creature
Implemented a getBaseGold() to get the vendor gold base
NPC gold base now can come from mNpdt12 and mNpdt52
2014-03-28 14:21:38 -04:00
Jeffrey Haines
895748f18d Gold Pool implemented for Vendors
It appears that my solution breaks persuasion gold for some reason. I
may be wrong. I can’t see where this could be happening as the files
I’ve changes should not affect persuasion at all.
2014-03-28 12:01:56 -04:00
Jeffrey Haines
6896142db1 Trader Gold Reset Delay
Trade Time initialized to 0
Gold pot set correctly for npc’s and creatures
2014-03-27 07:30:24 -04:00
Jeffrey Haines
2a8bf46607 Trader Gold Reset Delay
Implemented traded gold reset delay.

Note:
Traders gold pool is still in inventory.
2014-03-27 01:23:56 -04:00
scrawl
c8c0e5de38 Fixed code issues found with unity build. Missing include guards, duplicated functions, ... 2014-03-16 23:49:06 +01:00
cc9cii
43757efdc4 Feature #1030 - partial fix to stop creatures unable to walk/fly to come out of water. Does not necessarily handle situations where they are already out of water, however. 2014-03-16 08:09:14 +11:00
scrawl
072dc6d438 Feature #50: Implement marksman mechanics. 2014-03-08 06:03:45 +01:00
Marc Zinnschlag
83ded18af0 encapsulated reference collections 2014-02-23 21:21:27 +01:00
Marc Zinnschlag
367919200f moved CellRefList into a separate file 2014-02-23 20:11:05 +01:00
Marc Zinnschlag
9788bbcab9 partially store creature state in saved game files (only attributes and dynamics for now) 2014-02-16 15:56:36 +01:00
scrawl
e1e7a492e2 Fix movement speed formula for flying creatures 2014-02-05 05:18:10 +01:00
Marc Zinnschlag
1b5301eec0 Merge branch 'savedgame'
Conflicts:
	apps/openmw/mwbase/mechanicsmanager.hpp
	apps/openmw/mwbase/soundmanager.hpp
	apps/openmw/mwgui/mapwindow.hpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
	apps/openmw/mwsound/soundmanagerimp.hpp
	components/esm/loadcell.cpp
2014-02-01 18:16:32 +01:00
Marc Zinnschlag
5b04c10e1d added creature/NPC state to saved games (only container/inventory for now) 2014-02-01 17:36:23 +01:00
scrawl
305e78c981 Fix creature attack bug 2014-01-29 15:37:27 +01:00
mrcheko
5ee1dc6be8 attacktypes error fix 2014-01-28 21:07:26 +02:00
scrawl
194413c955 Feature #1119: Implement Resistance/Weakness to normal weapons magic effect. Handle fWereWolfSilverWeaponDamageMult. 2014-01-22 12:26:53 +01:00
scrawl
16f5f5862d Feature #956: Implement blocking melee attacks 2014-01-21 23:25:24 +01:00
scrawl
1617a4f7d9 Use fCombatDistance 2014-01-21 12:30:23 +01:00
scrawl
851a7d5014 Feature #957: Handle area effects for "on touch" range 2014-01-21 12:30:15 +01:00
scrawl
0adc0f56ed Issue #777: Consider weapons in Creature::hit 2014-01-19 16:13:16 +01:00
scrawl
9723263730 Bug #1126: Tweak creature attack distance a bit (still no idea where this should come from) 2014-01-19 14:47:58 +01:00
scrawl
198bb0de60 Issue #777: Add CreatureAnimation variant for creatures with weapons/shields 2014-01-19 13:05:26 +01:00
scrawl
589fbbd871 Issue #777: Create InventoryStore for creatures with weapons/shields 2014-01-19 11:43:23 +01:00
scrawl
149d77dedf Feature #960: Add knockdown and hit recovery for creatures 2014-01-17 17:41:16 +01:00
scrawl
9b32b1403b Feature #960: Implement Creature::hit 2014-01-17 17:19:08 +01:00
scrawl
805843d7ff Closes #1086: Implement blood effects 2014-01-17 11:27:13 +01:00
scrawl
f070d9966d Implement movement speed formula for creatures. Still moving a bit too slow. 2014-01-17 10:55:46 +01:00
scrawl
ea8f60eddf Implement movement speed formula for creatures. Still moving a bit too slow. 2014-01-15 16:30:16 +01:00
scrawl
d544551f61 Added getSkill to Class interface, since creatures also have skills (which are provided by generalized Combat, Magic and Stealth attributes which substitute for the specific skills, in the same way as specialization)
Information provided by Hrnchamd.
2014-01-15 15:50:45 +01:00
scrawl
0f5dc59176 Remove useless dependencies on InventoryWindow for getting player gold. Don't use string literals for gold_001 id, just to be sure. 2014-01-08 23:37:46 +01:00
scrawl
0285d18fc2 Respect items belonging to a faction 2014-01-07 20:24:01 +01:00
scrawl
ce013315ba Nothing to see here, move along.
Fine... it's flying cliff racers. But did you really want to know?
2014-01-05 16:09:06 +01:00
scrawl
14b70a3ce6 Implement AI related magic effects (calm, frenzy, rally, demoralize, turn undead) 2014-01-05 01:34:35 +01:00
scrawl
2a8ab932ef Bug #951: Only recalculate derived stats when attributes change 2013-12-28 17:19:35 +01:00
Emanuel Guevel
fc8bd1aacb Allow fatigue stat to become negative when fatigue damages are taken 2013-12-09 21:53:04 +01:00
scrawl
b6c22ad5d9 Add starting gold for NPCs and creatures. Refactor gold removal in some gui windows (use containerstore method instead of a dependency on TradeWindow). Use real gold amount in trade window, not refill amount. 2013-11-21 17:19:30 +01:00