Commit Graph

83 Commits (master)

Author SHA1 Message Date
David Cernat 0eedf8fd9f Add OpenMW commits up to 30 Sep 2020
# Conflicts:
#   apps/openmw/mwmechanics/aicombat.cpp
#   apps/openmw/mwmechanics/character.cpp
#   apps/openmw/mwmechanics/summoning.cpp
#   components/CMakeLists.txt
4 years ago
Andrei Kortunov 753ca91556 Set a minimum 1gp cost for services (regression #5600) 4 years ago
David Cernat 053a5a6258 Add OpenMW commits up to 9 May 2020
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/aiextensions.cpp
5 years ago
Capostrophic 8d22e075e6 Separate functions that don't belong to CastSpell class 5 years ago
David Cernat f8c557fbc0 [General] Read and use weapon quantity in RecordDynamic packets 5 years ago
David Cernat 25a632c650 Add OpenMW commits up to 13 Apr 2020
# Conflicts:
#	CMakeLists.txt
#	README.md
#	apps/openmw/engine.cpp
#	apps/openmw/mwclass/creaturelevlist.cpp
#	apps/openmw/mwgui/quickkeysmenu.cpp
5 years ago
Capostrophic ad333e88fe Handle enchantment autocalc flag as a flag (bug #5363) 5 years ago
David Cernat a58f09fd6c Add OpenMW commits up to 2 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/enchanting.cpp
#	apps/openmw/mwworld/scene.cpp
5 years ago
Andrei Kortunov 71e1d576cd Allow to enchant multiple projectiles at once (feature #3517) 5 years ago
David Cernat 0c98c5d09e Add OpenMW commits up to 19 Nov 2019
# Conflicts:
#	apps/openmw/mwmechanics/aipursue.cpp
#	apps/openmw/mwmechanics/summoning.cpp
5 years ago
Andrei Kortunov af41e9acc1 Initialize variables to avoid undefined values 5 years ago
David Cernat 54301f5f89 Add OpenMW commits up to 29 Oct 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
#	apps/openmw/mwworld/inventorystore.cpp
5 years ago
Capostrophic fc7b4d73a8 Remove on-strike enchantment support for ranged weapon types (bug #5190) 5 years ago
David Cernat ed05125f6a Add OpenMW commits up to 2 Aug 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
5 years ago
David Cernat b57c0bcafe Add OpenMW commits up to 6 June 2019
# Conflicts:
#	apps/openmw/mwgui/hud.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 95a5607509 Add OpenMW commits up to 22 Feb 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/containerextensions.cpp
5 years ago
David Cernat fba07194cf Add OpenMW commits up to 29 Oct 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/aicombat.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 889bcec7f8 Add OpenMW commits up to 1 Sep 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/difficultyscaling.cpp
#	apps/openmw/mwscript/transformationextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 0339958e21 [General] Rename Log class into TimedLog 5 years ago
Capostrophic cbb22f0f63 Correct cast style behavior when there's no object (bug #5075) 6 years ago
Capostrophic 3f73766304 Make enchanting make more sense (bug #5038) 6 years ago
Capostrophic c03ed4cd50 Include cleanup 6 years ago
Capostrophic 09aecb955c getSkill usage cleanup (bug #4671) 6 years ago
Capostrophic 7ef6fa9f61 Remove deprecated GMST get* functions 6 years ago
David Cernat 3bd8aa82fe [General] Reduce inventory-sending hooks to just 2 in ContainerStore
Whenever an item is added to or removed from the player's ContainerStore, that player sends a PlayerInventory packet with just that addition or removal.

This eliminates all the unnecessary packet spam related to oversized PlayerInventory packets that had existed in one form or another since the initial implementation of inventory sync in 1b259e2d33

Additionally, move booleans from BasePlayer to LocalPlayer when they are only needed on the client, and make the usage of the isReceivingQuickKeys boolean consistent with the new isReceivingInventory boolean by having them both in the processors of their associated packets.
6 years ago
David Cernat 03832f933b [Client] Send only individual items in PlayerInventory packets
For a long time, whenever a PlayerInventory packet was sent, it contained all the items in the player's inventory, because that's how Koncord originally implemented it and I always had too many other priorities to go back and rework it.

From now on, clients only send PlayerInventory packet with the one item added or removed, with the single exception being trading with merchants, where the entire inventory is still sent for the time being.
6 years ago
David Cernat b57807407a [General] Implement RecordDynamic packet, part 1
Spell, potion, enchantment, creature, NPC, armor, book, clothing, miscellaneous and weapon record data can now be sent in a RecordDynamic packet. Additionally, the packets include data related to associated magical effects (for spells, potions and enchantments), data related to default inventory contents (for creatures and NPCs) and data related to body parts affected (for armor and clothing).

The server now has associated script functions for setting most of the details of the above, with the main exception being individual creature and NPC stats.

Records can either be created entirely from scratch or can use an existing record (set via the baseId variable) as a starting point for their values. In the latter case, only the values that are specifically set override the starting values. Creature and NPC records also have an inventoryBaseId that can be used on top of the baseId to base their inventories on another existing record.

The client's RecordHelper class has been heavily expanded to allow for the above mentioned functionality.

When players create spells, potions and enchantments as part of regular gameplay, they send RecordDynamic packets that provide the server with the complete details of the records that should be created. When they create enchantments, they also provide the server with armor, book, clothing and weapon records corresponding to the items they've enchanted.

This functionality added by this packet was originally supposed to be exclusive to the rewrite, but I've gone ahead and tried to provide it for the pre-rewrite in a way that can mostly be reused for the rewrite.
7 years ago
scrawl 870c658500
Remove missing souls, remove some runaway exceptions (Fixes #4111) 7 years ago
Andrei Kortunov 46c8842808 Fixed enchant points calculations formula 8 years ago
Allofich ff3e307059 Pass parameters by const reference 8 years ago
Allofich b1be3596dc Cleanup of #include statements 9 years ago
dteviot 77a1d947cc extracted MWMechanics::getPlayer() 10 years ago
scrawl 8c810e3620 Move rng to components 10 years ago
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.
10 years ago
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
10 years ago
Alexander "Ace" Olofsson df5a08b6de Move manualref code out of header 10 years ago
scrawl 4ed3e7bbb7 Enchanting code cleanup 10 years ago
scrawl cda2eea906 Enchanting: use fEnchantmentConstantDurationMult and fEffectCostMult 10 years ago
scrawl 13c5bd5cc2 Enchanting: fix skill-based cast cost bonus being applied twice 10 years ago
scrawl ef1b0a191b Revert "Enchanting: fix inverted self-enchant success chance"
It wasn't inverted to begin with. The author of this commit is an idiot.
10 years ago
scrawl 623783cd6a Enchanting: fix cast cost for "on use" enchantments being set incorrectly 10 years ago
scrawl ead6bf1601 Enchanting: cast the enchant points for the item to int (Fixes #2202) 10 years ago
scrawl 7e10818bdf Fix uninitialized flags for custom-made spells 10 years ago
scrawl 7252cb63a6 Fix cppcheck issues 10 years ago
scrawl 315b022d2d Add transfer gold from all services to NPC trade gold pool 11 years ago
scrawl 09607f992e Enchanting: fix inverted self-enchant success chance (Fixes #1701) 11 years ago
scrawl 039398c8ae Basic RefData and CellRef change tracking
Wrapped item charge handling in getItemHealth function
11 years ago
scrawl a05c8fd3ce Make applyEnchantment return the record ID instead of modifying Ptr 11 years ago
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. :)
11 years ago
scrawl 190512156d Use some more GMSTs for enchanting 11 years ago