[Beta] CDE Inventory Control +Buff Clipping +Alchemy Tuning

Post » Tue Oct 06, 2015 4:43 am

I've been working on this a while and wanted to share a few pieces that are more or less complete; at least they seem stable and working as intended in my play testing.

link: https://www.dropbox.com/s/1gmhzsa7eimzfg3/CDE%20Inventory%20Control%200.9%20Beta.7z?dl=0

If anyone is willing to give it a try, I'd be very much interested in feedback on the implementation and settings.

Note: I will be unable to check/reply on this topic the next several days due to non-modding activities.

===============================================================================================

TITLE: CDE: Inventory Control

This is a subcomponent of the Character Development Enhanced (CDE) project I am working on.
More info at: http://www.gamesas.com/topic/1518059-wip-character-development-enhanced/

Inventory control enforces context dependent "time out"s ( lock out from menumode with
player controls disabled ) for and/or restriction of equipment change and item use actions:
A) Potion, ingredient and enchanted item use time outs
B ) Equipment change during combat time outs + equipment change under* other equipment restriction
C) Equipment change during combat restriction [ only weapons and shields may be changed ]
D) Equipmnet change time outs + equipment change under* other equipment restriction at all times
*includes rings under gloves/guantlets, shirt under* cuirass, cuirass under robe, etc.

Inventory controls A)-D) can be cycled through by holding down Shift-I(nventory)-C(ontrol)
buttons for >1second to cycle through them:
Level 0: Disables the mod for vanilla behavior
Level 1: A) above
Level 2: A)+B )above
Level 3: A)+B )+C) above
Level 4: A)+B )+C)+D) above
The mod will default to Level 3 on first load (for demo purposes)
Both menu mode and quick key item use and/or equiping are affected.
Next/Previous ready enchanted items are restricted to equipped items for Level >=2

The present release requires default key assignments:
"1"-"0" = Quick Keys (outside menu mode)
"-","=" = Next/Previous Ready Item (outside menu mode)
"[","]" = Next/Previous Weapon (outside menu mode)
space = Activate, Pick Up (outside menu mode)
Left Mouse Button = Pick Up / Drop (menu mode)
Right Mouse Button = Enter/Exit Menu mode

The mod should be possible to add / remove from the load order without restriction.

REQUIREMENTS: Morrowind, Bloodmoon, Tribunal,
MWSE v0.9.5-alpha.20150829 ( or later ) [ https://github.com/Merzasphor/MWSE ]
Morrowind Code Patch (MCP) v2.2beta (or later ) [ http://www.nexusmods.com/morrowind/mods/26348/? ]
-- "Incorrect item sound fix" required to detect potion and ingredient consumption
-- "Enchanted item rebalance" optional; 4s MCP cool down will be in parallel with time outs

Detailed Readme:

Spoiler
*****************************************************************

The Elder Scrolls III
MORROWIND Mod:
CDE: Inventory Control

*****************************************************************

Index:

1. Description
2. Installation and Requirements
3. Playing the Plugin
4. Features
5. Version
6. Conflicts & Compatability
7. Thanks
8. Notes
9. Copyright


*****************************************************************

1. PLUGIN DESCRIPTION

*****************************************************************


TITLE: CDE: Inventory Control
VERSION: v0.9

BY: svengineer99
CONTACT: Bethesda software forum sveng

This is a subcomponent of the Character Development Enhanced (CDE) project I am working on.
More info at: http://www.gamesas.com/topic/1518059-wip-character-development-enhanced/

Inventory control enforces context dependent "time out"s ( lock out from menumode with
player controls disabled ) for and/or restriction of equipment change and item use actions:
A) Potion, ingredient and enchanted item use time outs
B ) Equipment change during combat time outs + equipment change under* other equipment restriction
C) Equipment change during combat restriction [ only weapons and shields may be changed ]
D) Equipmnet change time outs + equipment change under* other equipment restriction at all times
*includes rings under gloves/guantlets, shirt under* cuirass, cuirass under robe, etc.

Inventory controls A)-D) can be cycled through by holding down Shift-I(nventory)-C(ontrol)
buttons for >1second to cycle through them:
Level 0: Disables the mod for vanilla behavior
Level 1: A) above
Level 2: A)+B ) above
Level 3: A)+B )+C) above
Level 4: A)+B )+C)+D) above
The mod will default to Level 3 on first load
Both menu mode and quick key item use and/or equiping are affected.
Next/Previous ready enchanted items are restricted to equipped items for Level >=2

The present release requires default key assignments:
"1"-"0" = Quick Keys (outside menu mode)
"-","=" = Next/Previous Ready Item (outside menu mode)
"[","]" = Next/Previous Weapon (outside menu mode)
space = Activate, Pick Up (outside menu mode)
Left Mouse Button = Pick Up / Drop (menu mode)
Right Mouse Button = Enter/Exit Menu mode

The mod should be possible to add/remove from the load order without restriction.


*****************************************************************

2. INSTALLING THE PLUGIN

*****************************************************************S

To install the plugin, unzip the files into the Morrowind/Data Files directory.

The present release requires default key assignments (see above)

REQUIREMENTS: Morrowind, Bloodmoon, Tribunal,
MWSE v0.9.5-alpha.20150829 ( or later ) [ https://github.com/Merzasphor/MWSE ]
Morrowind Code Patch (MCP) v2.2beta (or later ) [ http://www.nexusmods.com/morrowind/mods/26348/? ]
-- "Incorrect item sound fix" required to detect potion and ingredient consumption
-- "Enchanted item rebalance" optional; 4s MCP cool down will be in parallel with time outs

*****************************************************************

3. PLAYING THE PLUGIN

*****************************************************************

From the Morrowind Launcher, select Data Files and check the box
next to the CDE Inventory Control Beta 0.9.esp file

*****************************************************************

4. PLUGIN FEATURES

*****************************************************************

Global option variables:

[ to change, open the console with "~" and enter "set to " ]

1) sve_inv_mbox[short default=1]
Determines if (=1) or if not (=0) inventory control message boxes are
displayed.

2) sve_inv_com_del/dist[floats default=5.0/2000.0]
Defines the dist(ance) in game units that must be exceeded for the
del(ay time) in seconds between the player and any hostile actor before
the player is considered to have exited combat, for inventory control
purposes. Additionally, there must be no line of sight between the player
and any hostile actor or the del(ay) timer is reset.

3) sve_inv_enc_to[float default=2.0]
Defines the timeout (in seconds) after enchanted item use.

4) sve_inv_to_cns_b/cns_m/cns_pow[float defaults=1.0/100.0/0.667]
Defines the timeout (in seconds) after potion or ingredient consumption
time out = b + ( m * weight / ( agility + speed ) )^pow
Examples for PC with agility + speed = 100, default settings:
Consuming a 0.5 weight potion incurs a 1.6second timeout
Consuming a 5.0 weight potion incurs a 3.9second timeout

5a) sve_inv_to_armr_b/armr_m/eqp_pow[float defaults=1.5/25.0/0.667]
5b) sve_inv_to_clth_b/clth_m/eqp_pow[float defaults=1.0/50.0/0.667]
5c) sve_inv_to_weap_b/weap_m/eqp_pow[float defaults=0.5/5.0/0.667]
5d) sve_inv_un_eq_to_rat[float default=0.35]
Defines the timeout (in seconds) to equip armor, clothing or weapons*
time out (equip) = b + ( m * weight / ( agility + speed ) )^pow
time out (un-equip) = b + ( rat * m * weight / ( agility + speed ) )^pow
Equip and Un-Equip times are additive when swapping items.
Examples for PC with ( gility + speed = 100, default settings:
Equipping 3.0 weight steel dagger incurs a 0.8second timeout
Equipping 0.1 weight common ring incurs a 1.2second timeout
Equipping 1.0 weight chiten gauntlet incurs a 1.9second timeout
Equipping 3.0 weight common robe incurs a 2.3second timeout
Equipping 96.0 weight daedric warhammer incurs a 3.3second timeout
Equipping 20.0 steel boots incurs a 4.4second timeout
Equipping 90.0 weight daedric cuirass incurs a 9.5second timeout
Un-equipping 90.0 weight daedric cuirass incurs a 5.5second timeout
*shields, probes and lockpicks are treated as weapons for time out calculations

6) sve_inv_phase_freq [float default=1.0]
Defines the frequency (in Hz = 1/seconds) that equipment is toggled on/off
during timeouts that gives both a visual and real game effect (i.e. being
un-armored for 50% of equipment change timeout durations)

7) sve_inv_def_bon_fac [float default=-5]
Defines the defense bonus (negative = penalty) during time outs
Defensen Bonus = def_bon_fac * time out duration (seconds)
By default, a 5s time out will incur a -25 defense penalty for the duration
of the time out

8) sve_inv_loop [short default=1000]
Defines the maximum # of inventory items processed per frame.
Note that inventory item process is only triggered by inventory access
key or mouse button press release.
Depending on your CPU speed, you may notice lag starting in the range of
~100-500 inventory items. Decreasing this global variable can smooth out
that lag but it will also increase the chance of quick double key or mouse
button press causing the script to miss an inventory access event or possibly
get out of sync; if that happens you can try SHIFT-I-C cycling through the
inventory control level to reset the script.

Known script "defects":

1) Item sub-types are identified by item name sub-strings such as "cuirass"
that will identify "chitin cuirass", "cuirass of the savior's hide", etc but not
"chest of fire" so the former 2 cases will be correctly identified as a cuirass
while the latter one will only be identified as a piece of armor. If the equipment
sub-type can not be identified then those items won't be prohibited from equip
/un-equip but instead will result in a time out. For the core Morrowind+Tribunal+
Bloodmoon.esms >95% of items should be correctly identified. If future MWSE
expansion supports item sub-type functions this could be improved.

2) To kick the Morrowind Engine into re-building the ready item list
with equipped on-use items only, a number of scripting steps are taken
including adding and removing a dummy item from the player's inventory.
In certain situations (such as the trading dialog menu) this results in
messages "Inventory Control Refresh Token added" and "removed" when an inventory
change event is processed (such as purchase or sale of items). It is safe to ignore
these messages.

3) Occassionally the player in combat detect check will return true even though there
is no identifiable hostile actor in the area or return false even though there is.
I'm not sure why this is happening but it seems harmless and gives a sometimes
amusing or unexpected result to break the monotony of gameplay.

4) Multiple items of the same type (for example >=2 "ring of fireball"s) present a
special difficulty. Once one is equipped, the others can not be recognized as
different for the purpose of inventory control. This can result in annoying
behavior when using the previous/next ready buttons, in particular for additional
rings of the same type but different charge that will get redundantly equipped, un-equipping
other rings. If future MWSE expansion supports inventory true references, this could
be improved.

Global modder resource variables:

1) sve_inv_pc_in_com [long]
Toggles between 0 (not in combat) and 1 (in combat) according to the
sve_inv_com_del/dist global variables and formula discussed above. The check
is re-freshed every second.

2) sve_inv_eq_weap_ar [long array]
This is an array of long types.
Index=0 returns the equipped weapon, probe or lockpick id or 0 if none equipped.
Index=1 returns the equipped weapon, probe or lockpick name or 0 if none equipped.

3) sve_inv_eq_id_ar [long array], sve_inv_eq_id_ar_ct [long]
This array contains the item ids for all equipped items. The highest valid index,
starting at 0, is stored in the ar_ct variable; ar_ct=-1 indicates an empty array.
ar_ct=-2 indicates the array is incomplete (during multiple frame construction)

4) sve_inv_itm/pot/ing_tot_ct [longs]
sve_inv_itm_tot_cnt is the total # of player inventory items.
sve_inv_pot_tot_cnt is the total # of player invetory potions.
sve_inv_ing_tot_cnt is the total # of player inventory ingredients.

Extras:

1) Scripted Buff Clipping is included in this .esp. It clips attribute, chameleon,
sanctuary and defense spell effect buffs; by default the allowed buff before clipping
depends a combination of player underlying base attribute and personality. By default
this functionality is off. Toggle on or off by holding down SHIFT-B(uff)-C(ontrol) for
>1second. See the included CDE Buff Control 0.9Beta.txt document for details and
customization options.

2) Alternate (and customizable) crafted potion values and alchemy skill progress
functionality is embedded in the inventory control script. Allows scaling of crafted
potion values by combination of linear and power functions ( for economy purposes ) and
scaling of crafted potion and consumed potion/ingredient skill progress increases based on the
ratio of item value to player alchemy skill. By default it is off. Set sve_inv_pot_val_pow
to 2 to enable with default settings. See the included CDE Alchemy 0.9Beta.txt document
for details and customization options.

*****************************************************************

5. PLUGIN VERSION

*****************************************************************

v0.9 BETA

This is a BETA version. It's functional and stable in my limited
playtesting but lacks any in game user interface to adjust the global
variable settings. Global variable settings, defined in section 4 above,
may be modified through the console that will be saved for future loads.
There may be future bug fixes, changes or enhancements based on additional
author playtesting and/or user feedback.

*****************************************************************

6. CONFLICTS & COMPATABILITY

*****************************************************************

I am not aware of any conflicts with other mods.

During timeouts, access to menu-mode is possible if it does not coincide with
player right mouse button press, to allow the game engine or other mods to
force menu mode open, if needed.

Also during timeouts, the player controls enabled/disable state is checked
before and during the timeout player control disabled enforcement and restored
to the expected state following time out. The only thing that is undetectable is
if the game engine or other script disables the player controls during a time out;
it is assumed that such event would be properly handled on the other side.

Please reports any bugs or problems at:
http://www.gamesas.com/forum/12-morrowind-mods/

*****************************************************************

7. THANKS

*****************************************************************

Merzasphor: For HUGELY extending MWSE including array and enchanted item functions
Hrnchamd: For MCP inventory sound supportand MWE-XE game settings script functions
CDC and the SF MWSE Dev Team: For MWSE development and release up to 0.9.4a
Dave Humphries: For MWEdit
Theodore Ward: for the AstroGrep search tool, for searching scripts in .esm/.esps

Yacoby: For the MWEdit menutest work around documented in PursuitEnhanced
Nigedo: For the menu close and HUD reset method
Fliggarty, Yacoby, Abot, Logitech, Galsiah and many others: for past mods with working
examples of standard and MWSE function usages

Darkelfguy: for Morrowind Modding Showcases and Podcasts inspiration.

The Assimilation Lab: For continuously updated Morrowind Modding Wiki entries
GhanBuriGhan, Yacoby and melian: For Morrowind Scripting for Dummies
Abot: For Morrowind Scripting for Smarties
Greatness7 and Nakashi: For expanded MWSE discussion and feedback

gamesas: Of course, for the game engine of and base construction set for Morrowind

Everyone who commented and contributes on the Bethesda/TES/Morrowind Forums
Everyone who has contributed and continues to contribute mods
Anyone who I may have missed, please let me know

*****************************************************************

8. NOTES

*****************************************************************


*****************************************************************

9. COPYRIGHT

*****************************************************************

This plugin is freely distributable and modifiable, as long as this readme
file accompanies it and credit is given to the original author. But please remember
that not everything here is my work. Refer to section 7.THANKS. By downloading
and running this plugin, you acknowledge the following :

- You have read and understood this readme file.
- You acknowledge that the author of this plugin accepts no responsibility for
damage to your game saves, operating system, computer, etc,
when using this plugin.

NOTE: Please do not upload this plugin for distribution without my permission.

--svengineer99


===============================================================================================

TITLE: CDE: Buff Clipping [ embedded script bundled with CDE Inventory Control ]

This script enforces caps on the maximum attribute, chameleon, sanctuary and resistance
buffs the player can have. Exceeding the caps can result in attribute damage, knock-down,
endurance and health drains. The cap formulas are based on the underlying player attributes
and personality that can be customized through global variables.

To activate (or de-activate) the script, hold down the
SHIFT-B(uff)-C(ontrol) keys for >1second.

The first time this module is activated, it is necessary to save the native (un-buffed)
state of the player (including constant effect birth sign bonuses, etc). A Messagebox
will pop up asking the player to remove all enchanted item, spell and potion magic effects
before the mod is activated.

The "\" key will alternate between messageboxes displaying the governed
stat current and maximum values.

REQUIREMENTS: Morrowind, Bloodmoon, Tribunal,
MWSE v0.9.5-alpha.20150829 ( or later ) [ https://github.com/Merzasphor/MWSE ]

Detailed Readme:

Spoiler
*****************************************************************

The Elder Scrolls III
MORROWIND Mod:
CDE: Buff Clipping [ Inventory Control Extra Feature ]

*****************************************************************

Index:

1. Description
2. Installation and Requirements
3. Playing the Plugin
4. Features
5. Version
6. Conflicts & Compatability
7. Thanks
8. Notes
9. Copyright


*****************************************************************

1. PLUGIN DESCRIPTION

*****************************************************************


TITLE: CDE: Buff Clipping ( A.K.A. Overbuff Kickback )
VERSION: v0.9

BY: svengineer99
CONTACT: Bethesda Forums/sveng

This script enforces caps on the maximum attribute, chameleon, sanctuary and resistance
buffs the player can have. Exceeding the caps can result in attribute damage, knock-down,
endurance and health drains. The cap formulas are based on the underlying player attributes
and personality that can be customized through global variables.


*****************************************************************

2. INSTALLING THE PLUGIN

*****************************************************************

To install the plugin, unzip the files into the Morrowind/Data Files
directory.

REQUIREMENTS: Morrowind, Bloodmoon, Tribunal,
MWSE v0.9.5-alpha.20150829 ( or later ) [ https://github.com/Merzasphor/MWSE ]


*****************************************************************

3. PLAYING THE PLUGIN

*****************************************************************

From the Morrowind Launcher, select Data Files and check the box
next to the CDE Inventory Control Beta 0.9.esp file

To activate (or de-activate) the module, hold down the

SHIFT-B(uff)-C(ontrol) keys for >1second.

The first time this module is activated, it is necessary to save the
native (un-buffed) state of the player (including constant effect birth
sign bonuses, etc). A Messagebox will pop up asking the player to
remove all enchanted item, spell and potion magic effects before proceeding.

The "\" key will alternate between messageboxes displaying the governed
stat current and maximum values.

*****************************************************************

4. PLUGIN FEATURES

*****************************************************************

This mod scans the player's attribute, chameleon, sanctuary
and resistance buffs every few frames, clipping them if they
exceed the defined limits with formula:

Max Attribute Buff =
Max ( Inherent Buff + Base Attribute * /100 + Personality * /100, )
Where
= [global long] sve_base_att_buff_mod ( default=25, min=0 )
= [global long] sve_base_per_att_buff_mod ( default=25, min=0 )
= [global long] sve_min_max ( default=25, min=0 )
So Base Attribute + Personality <= 100 -> Max Buff = 25
and Base Attribute + Personality = 200 -> Max Buff = 50, etc

Max Chameleon/Sactuary/Resistance Buff =
Max ( Inherent Buff + Governing Attribute *
/100, )
Where
= [global long] sve_base_eff_buff_mod (default 50)
= [global long] sve_min_max ( default=25 )
And Governing Attribute = Personality for Chameleon/Sactuary
= Willpower for Magic Resistance
= Endurance for all other Resistances
So Governing Attribute <= 100 -> Max Buff = 25
and Governing Attribute = 200 -> Max Buff = 50, etc

Over-buff Kick-backs (negative effects) kick in starting at:
buff > Max+*/100 -> attributes randomly^ become damaged
buff = /100*Max -> endurance hiccup (knocked down and get back up)
buff > /100*Max -> progressive endurance drain
buff > /100*Max+ -> progressive health drain
buff = /100*Max+ -> endurance exhaustion (knocked down and don't get back up)
buff = /100*Max+ -> health exhaustion (death)
Where: = Max enduracne based resistance buff, as defined above
= [global long] sve_kick_back_M ( default=100, min=0 )
= [global long] sve_kick_back_B1 ( default=40, min=0 )
= [global long] sve_kick_back_B2 ( default=80, min=0 )
= [global long] sve_kick_back_B3 ( default=120, min=B1 )
^this is a well known Morrowind engine bug, that attribute drains
sometimes get converted to damage; in my testing I noticed it seems
to occur in a repeatable way, but I did not do enough testing to
deduce the formula for it. I actually like this semi-random
kick-back; restore attribute can easily reverse it.

Inherent Buffs (racial constant effect resistances, etc) are saved
the first time the module is loaded; so when adding this mod to a saved game
it is necessary to remove all player spell/enchantment/potion buffs before saving
and loading this module for the first time (only).

*****************************************************************

5. PLUGIN VERSION

*****************************************************************

v0.9 BETA

This is a BETA version. It's functional and stable in my limited
playtesting but lacks any in game user interface to adjust the global
variable settings. Global variable settings, defined in section 4 above,
may be modified through the console that will be saved for future loads.
There may be future bug fixes, changes or enhancements based on additional
author playtesting and/or user feedback.

*****************************************************************

6. CONFLICTS & COMPATABILITY

*****************************************************************

I don't know of any conflicts with other mods. Attribute caps are set
and removed using drain attribute ability type=ability spells. Chameleon,
Sanctuary and Resistance caps are set and removed using Set/ModChameleon/
DefendBonus/Resist commands.

Please reports any bugs or problems at http://www.gamesas.com/forum/12-morrowind-mods/

*****************************************************************

7. THANKS

*****************************************************************

Merzasphor: For HUGELY expanding MWSE including xget/seteffect functionality which I requested and used in this mod
Aerelorn: For pre-curser MGE Spell functionality that inspired the development of xget/seteffect
CDC and the SF MWSE Dev Team: For MWSE development and release up to 0.9.4a
Dave Humphries: For MWEdit

Darkelfguy: for Morrowind Modding Showcases and Podcasts inspiration.

The Assimilation Lab: For continuously updated Morrowind Modding Wiki entries
GhanBuriGhan, Yacoby and melian: For Morrowind Scripting for Dummies
Abot: For Morrowind Scripting for Smarties and countless scripting posts on the forums

gamesas: Of course, for the game engine of and base construction set for Morrowind

Everyone who commented and contributes on the Bethesda/TES/Morrowind Forums
Everyone who has contributed and continues to contribute mods
Anyone who I may have missed, please let me know


*****************************************************************

8. NOTES

*****************************************************************


*****************************************************************

9. COPYRIGHT

*****************************************************************

This plugin is freely distributable and modifiable, as long as this readme
file accompanies it and credit is given to the original author. But please remember
that not everything here is my work. Refer to section 7.THANKS. By downloading
and running this plugin, you acknowledge the following :

- You have read and understood this readme file.
- You acknowledge that the author of this plugin accepts no responsibility for
damage to your game saves, operating system, computer, etc,
when using this plugin.

NOTE: Please do not upload this plugin for distribution without my permission.

--svengineer99



===============================================================================================

TITLE: CDE: Alchemy Tuning [ embedded feature inside the CDE Inventory Control script ]

Alternate and customizable crafted potion values and alchemy skill progress
scaling is embedded in the inventory control script. Allows scaling of crafted
potion values by combination of linear and power functions ( for economy purposes ) and
scaling of crafted potion and consumed potion/ingredient skill progress increases based on the
ratio of item value to player alchemy skill.

REQUIREMENTS: Morrowind, Bloodmoon, Tribunal,
MWSE v0.9.5-alpha.20150829 ( or later ) [ https://github.com/Merzasphor/MWSE ]
Morrowind Code Patch (MCP) v2.2beta (or later ) [ http://www.nexusmods.com/morrowind/mods/26348/? ]
-- "Incorrect item sound fix" required to detect potion and ingredient consumption

Detailed Readme:

Spoiler
*****************************************************************

The Elder Scrolls III
MORROWIND Mod:
CDE: Alchemy Tuning [ Inventory Control Script Embedded Feature ]

*****************************************************************

Index:

1. Description
2. Installation and Requirements
3. Playing the Plugin
4. Features
5. Version
6. Conflicts & Compatability
7. Thanks
8. Notes
9. Copyright


*****************************************************************

1. PLUGIN DESCRIPTION

*****************************************************************


TITLE: CDE Alchemy Tuning [ embedded feature inside CDE Inventory Control ]
VERSION: v0.9

BY: svengineer99
CONTACT: Bethesda Forums/sveng

Alternate (and customizable) crafted potion values and alchemy skill progress
scaling is embedded in the inventory control script. Allows scaling of crafted
potion values by combination of linear and power functions ( for economy purposes ) and
scaling of crafted potion and consumed potion/ingredient skill progress increases based on the
ratio of item value to player alchemy skill.


*****************************************************************

2. INSTALLING THE PLUGIN

*****************************************************************

To install the plugin, unzip the files into the Morrowind/Data Files directory.

REQUIREMENTS: Morrowind, Bloodmoon, Tribunal,
MWSE v0.9.5-alpha.20150829 ( or later ) [ https://github.com/Merzasphor/MWSE ]
Morrowind Code Patch (MCP) v2.2beta (or later ) [ http://www.nexusmods.com/morrowind/mods/26348/? ]
-- "Incorrect item sound fix" required to detect potion and ingredient consumption


*****************************************************************

3. PLAYING THE PLUGIN

*****************************************************************

From the Morrowind Launcher, select Data Files and check the box
next to the CDE Inventory Control Beta 0.9.esp file

By default the CDE alchemy functionality is inactive. To activate with default
settings, open the consolue "~" and enter:
set sve_inv_pot_val_pow to 2
To disable, open the consule and enter:
set sve_inv_pot_val_pow to 2


*****************************************************************

4. PLUGIN FEATURES

*****************************************************************

CDE Alchemy does two things, the 2nd depenedent on the 1st:

1) Player crafted potion values can be scaled from vanilla values both
continuously and non-linearly:
Player Crafted Potion Value = http://forums.bethsoft.com/topic/1536972-beta-cde-inventory-control-buff-clipping-alchemy-tuning/( Vanilla_Value * ) ^

Where = [ global float ] sve_inv_pot_val_m (default 1.0)

= [ global float ] sve_inv_pot_val_pow* (default 0/0.667*)
So *when activated by default player crafted potions scale down
8->4, 27->9, 64->16, 125->25, etc.
*note that sve_inv_pot_val_pow=0 deactivates CDE Alchemy functionality by default
this global variable must be changed to positive non-zero value in the console
to activate the functionality; 0.667 is the recommended value.

The idea is to provide better economy adjustment than is available with the
ialchemymod gmst. If someone has an idea for a better formula, let me know!

2) Player alchemy skill progress scales (both up and down) proportional to crafted potion
or consumed potion/ingredient value AND inversely proportional to player alchemy skill.

Player alchemy skill progress scaling factor:
= min( ( ( ( potion/ingred value ) / ) * ( ( player alchemy skill ) / ) ) ^ , )
Where
= [ global float ] sve_inv_alch_skpr_pot/ing_val_base (default 10.0/5.0)
= [ global float ] sve_inv_alch_skpr_base (default 25.0)
= [ global float ] sve_inv_alch_skpr_pow (default 2.0)
= [ global float ] sve_inv_alch_skpr_max (default 5.0)

The only unfortunate thing is that after potion value adjustment it is not possible to stack
potions from different crafting sessions. All same potions from each session still stack OK.


***************************************************************

5. PLUGIN VERSION

*****************************************************************

v0.9 BETA

This is a BETA version. It's functional and stable in my limited
playtesting but lacks any in game user interface to adjust the global
variable settings. The value and progress scaling could benefit from
more playtesting.

*****************************************************************

6. CONFLICTS & COMPATABILITY

*****************************************************************

I don't know of any conflicts with other mods. Crafted potion values are changed using xGet/SetValue at the end
of each crafting session. Alchemy skill progress values are modified using xGet/SetProgressSkill during each
detection of inventory change and skill progress increase.

Please reports any bugs or problems at http://www.gamesas.com/forum/12-morrowind-mods/

*****************************************************************

7. THANKS

*****************************************************************

Merzasphor: For HUGELY extending MWSE including xget/setprogressskill functions which I requested and used in this mod.
Aerelorn: For pre-curser MGE Skill functionality that inspired the development of xget/seteffect.
Hrnchamd: For MCP inventory sounds support and MWE-XE game settings script functions (ported to MWSE alpha)
CDC and the SF MWSE Dev Team: For MWSE development and release up to 0.9.4a
Dave Humphries: For MWEdit

Darkelfguy: for Morrowind Modding Showcases and Podcasts inspiration.

The Assimilation Lab: For continuously updated Morrowind Modding Wiki entries
GhanBuriGhan, Yacoby and melian: For Morrowind Scripting for Dummies
Abot: For Morrowind Scripting for Smarties.

gamesas: Of course, for the game engine of and base construction set for Morrowind

Everyone who commented and contributes on the Bethesda/TES/Morrowind Forums
Everyone who has contributed and continues to contribute mods.
Anyone who I may have missed, please let me know.


*****************************************************************

8. NOTES

*****************************************************************


*****************************************************************

9. COPYRIGHT

*****************************************************************

This plugin is freely distributable and modifiable, as long as this readme
file accompanies it and credit is given to the original author. But please remember
that not everything here is my work. Refer to section 7.THANKS. By downloading
and running this plugin, you acknowledge the following :

- You have read and understood this readme file.
- You acknowledge that the author of this plugin accepts no responsibility for
damage to your game saves, operating system, computer, etc,
when using this plugin.

NOTE: Please do not upload this plugin for distribution without my permission.

--svengineer99

User avatar
Ricky Meehan
 
Posts: 3364
Joined: Wed Jun 27, 2007 5:42 pm

Post » Mon Oct 05, 2015 9:58 pm

This sounds really cool! I'll be sure to try it out once I get some time away from other projects.

User avatar
Max Van Morrison
 
Posts: 3503
Joined: Sat Jul 07, 2007 4:48 pm

Post » Mon Oct 05, 2015 3:44 pm

I posted some screen shots and a few short videos to demonstrate the Inventory Control and Buff Clipping functionality:

Screen shots: https://www.dropbox.com/sh/s4cxws04v4qsnup/AAD9uREtuP8gTBrMqV00FPcba?dl=0

Videos: https://www.dropbox.com/sh/1jh69ayf811owfh/AAC5Z0LqR1sSMtmYMqIv23pFa?dl=0

Sorry for the double mouse cursor in the videos; it's an artifact of my quick/dirty video capture method and not real game play issue.

Credit to Melchior Dahrk's Lyithdonea alpha for the beautiful back drop at Jubaka'im Farm.

User avatar
Andrew
 
Posts: 3521
Joined: Tue May 08, 2007 1:44 am

Post » Tue Oct 06, 2015 1:19 am

Re-did the videos demonstrating Inventory Control Level 3 that disallows most equipment changes when in combat (only). Added fatigue clipping and various other minor changes / tweaks. Same links as above.

I realize these gameplay features won't be to everyone's liking, but am still hopeful that someone on this forum will give it a try. It's highly customizable through the console and easy to toggle on/off the inventory control and/or buff clipping features with in-game key press combinations (shift-i-c or shift-b-c).

Note that buff clipping at least partially obsoletes some other game play improvement mod mechanics, such as weakening or removing some potion types, spell/enchantment magic effect types, etc. That was my main objective with it - to limit some of the most overpowering gameplay aspects (intelligence potions, chameleon stacking, etc) without actually changing any of the base game mechanics, items, etc.

User avatar
Katie Pollard
 
Posts: 3460
Joined: Thu Nov 09, 2006 11:23 pm

Post » Tue Oct 06, 2015 3:40 am

I had trouble understanding this before, but it looks like you've improved the first post, or my brain just works better now. The videos should also help a lot, making some was a great idea. This is pretty intriguing, I'll have to fully comprehend this and consider whether I'd want to permanently play with it, later.
User avatar
Claire
 
Posts: 3329
Joined: Tue Oct 24, 2006 4:01 pm

Post » Tue Oct 06, 2015 1:45 am

My thoughts exactly. A very interesting project.

I was especially impressed to learn that these can work with modded equipment and player-made potions too through keyword searching. Impressive stuff.

User avatar
Samantha Wood
 
Posts: 3286
Joined: Sun Oct 15, 2006 5:03 am

Post » Tue Oct 06, 2015 3:10 am

This sounds great! I will do some testing of this next week.

User avatar
Beast Attire
 
Posts: 3456
Joined: Tue Oct 09, 2007 5:33 am

Post » Mon Oct 05, 2015 9:17 pm

It gets top billing in my readme credits, but I should highlight here this mod was enabled by MWSE expansions provided by Merzasphor including but not limited to:

- xstringmatch fix for item slot differentiation by name string

- xcreate/get/setarray new functions for over a dozen arrays including equipped items, item slot keyword strings, temporary xplace'd item refs to be deleted, ...

- xget/setenchant/info new functions to trick the game engine into building the ready item list with only equipped on-use items

- xseteffectinfo new function to clip attributes using just one drain spell per attribute

- xor/and/not booleans to keep within safe bounds of allowed if statements and script size

User avatar
Tiffany Carter
 
Posts: 3454
Joined: Wed Jul 19, 2006 4:05 am

Post » Mon Oct 05, 2015 4:56 pm

Yeah. Although xStringMatch was in older versions of MWSE, it was partly broken there. Merzasphor's work is very awesome and allows doing much more with MWSE. Thumbs up!
Actually having boolean operations and arrays for a change is quite the joy. :D
User avatar
Kyra
 
Posts: 3365
Joined: Mon Jan 29, 2007 8:24 am


Return to III - Morrowind