MeriTamas's (Mostly) Magic Mod [v0.6a released]

Show off your mod creations or just a work in progress.
meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod [v0.6a released]

Post by meritamas »

Last change to this post: 2022-10-12
Last change to any development post: 2022-10-12
When can you expect me to be on the forums next: 12-13 November 2022


My DFU modding efforts are concentrated here, around the project I have named MeriTamas's (Mostly) Magic Mod (or "MMM" or "MT's MMM" for short). The original introductory post has been moved into the last development post (the 10th).

There will be periods of time - mostly several weeks long but sometimes even over a month - when I am absent from the forums. I may indicate an approximate time when I will endeavor to return to address the most pressing issues. You can find any such indication above.

Please find the code and releases of my (Mostly) Magic Mod here on github. Releases are available for
DOWNLOAD HERE
Here you can find the dfmod files to add your StreamingAssets/Mods folder.

What can you expect to find on the first page of this thread?

This first development post will include:
  • The status quo - what the mod can actually do
The second post will include:
  • Short-term plans - usually for the next couple of months, up to a year - will include things I am confident I can do and where I am confident enough in the amount of work needed and the time I will have available to actually plan implementing the given task
  • Long-term roadmap - this part will contain an enumeration of any long-term plans - will be similar to the short-term plan but will usually include ideas that didn't fit into the mentioned timeframe
  • Long-term ideas - this part will usually contain an enumeration of any other ideas I would eventually like to see implemented, with a short description
Further development posts may contain
  • Any detailed description related to the aforementioned
  • For my alternative skill and attribute system for DFU see the ninth dev post. I do not plan on hacking the core game any more and will be focusing on implementing the changes I'd like through the mod system. Will be looking to implement this skill and attribute system as part of MMM once it becomes possible.

MeriTamas's (Mostly) Magic Mod ("MMM" or "MT's MMM") - a description

Please find the code and releases of my (Mostly) Magic Mod here on github. Releases are available for
DOWNLOAD HERE
Here you can find the dfmod files to add your StreamingAssets/Mods folder.

I don't express, neither do I imply any warranty. Use at your own risk. Although, I will try to resolve issues if it requires a reasonably small amount of effort.

The most current release is 0.6a. Main features (modules):
  • Unleveled and Extra Strong Enemies - makes dungeon mob level contingent on Dungeon Quality Level, the level of random encounters will be random from 1 to around 25. One of ten Deadra Lords, Ancient Liches, Vampire Ancients, Werewolves and Orc Warlords have some of their characteristics increased.
  • Features related to Everyday Magic - Minimum Magicka Cost Override, Spell Learning, Experience Tallies, Effect Confidentiality Levels, Spell Instructor Themes etc. etc.
  • Effects And Spells - FixItem + Reparo spells, Conjuration and Creation (MultiplyProvisions + SummonSimpleItem), Advanced Teleportation etc.
  • Quality of Life - speeding up simulation when enemies not present
A lot of the individual options can be turned on or off independently of one another.
Disclaimer: Testing has been done only in the context of my own use-cases. I use the mod with nearly all features on. I tried to make available a lot of options, there might be - and probably are - some bugs that need fixing. Please let me know in a forum post below if you find any issues or would like to have something added/fixed.

------------
Unleveled and Extra Strong Enemies

Unleveled Class Enemies
Makes dungeon mob level contingent on Dungeon Quality Level, the level of random encounters will use 10 as a base but a large degree of randomness is also introduced.
The main features are covered relatively accurately in the comments in the code files. If in rush, please read that.
Also, the mod leaves a lot of info in player.log. For a quick summary (hopefully one without big mistakes), please refer to Dev Post #4.

Extra Strong Monsters
Certain enemy types (currently Vampire Ancient, Daedra Lord, Ancient Lich, Werewolf, Orc Warlord) can have certain individuals that are exceptionally strong. Currently, this is all there is to it. Every 10th such creature is exceptionally strong (higher level, more than 2x the max health, 2x-4x the max spell points and buffed attributes.)
I have some ideas to take this further in the future,.

Everyday Magic
  • Unleveled Spells - the strength of a spell effect no longer dependent on player character level, but on 'spell level' that in turn is contingent on 'effective' (lee below at 'Experience Tallies') magic skill, willpower and luck. This is essentially the functionality of the old Unleveled Spells mod . For a few details, please refer to Dev Post #4.
  • Minimum Spell Point Cost - core unmodded game has this value at 5; able to set as low as 1 and as high as 10
  • Guild Base Spell Fee Coefficient - the basic fee an instructor (previously: vendor) will charge for a spell is X times the spell's spell point cost - you can set this value here, the core game has it at 4.0
  • Spell Learning - spells are no longer bought and sold, but learned and taught - apart from gold, it takes time (and so fatigue) and magicka points to learn a spell/effect; expended fatigue and magicka can be restored for gold if you buy 'refreshments' (recharge at guild using potions), but the time cost cannot. Learning/inventing a new spell trains the relevant magic skill too
  • Experience (XP) Tallies - monitors the player's experience with Target Types, Elements and the individual effects, this in turn affects spell costs and efficiency. You get a coefficient for Target Type (Caster On Self, Touch etc.), Element (Fire, Cold etc.) and for each individual effect. If no experience with the given aspect, the coefficient is 0.7. With loads of experience, the coefficient is 1.0. For the purposes of spell cost and spell level, 'effective' magic skill is calculated from the nominal relevant magic skill and these coefficients (with low experience, can be as low as one third of the nominal magic skill). Stronger spells will add more XP than reaker spells.
  • Strong Spells Advance Magic Skills More - If the spell-point cost of a spell in higher that a certain percentage of player Intelligence, casting it will add further points to magic skill tallies.
  • Diversified Spell Experience Required For Magic Skill Advancement - after a certain amount of experience with a given effect has been reached, further practice using that effect will add less and less to the relevant magic skill tally. After an effect is 'maxed out', it will hardly add any to the skill tally (goes as low as 10% of the value that would be added in case of an effect that the player has no experience with).
  • Effect Confidentiality Levels - the 'shroud of secrecy' surrounding magic; you will only be offered certain spells/effects if you have sufficient standing in the given guild.
  • Spell Instructor Themes - not all spell teachers are alike - they all have different interests and experience with the different schools of magic; each place where spells can be taught, belong to a Theme - a school of magic in which its instructors are proficient in. The level of proficiency also varies. You will find it is quite rare to encounter instructors that are able to teach you certain 'difficult' spells shrouded deeply in secrecy (effects with high confidentiality levels).
  • Display Effective Magic Skill - the Effective Magic Skill is the value used to calculate spell cost and spell level for the player at the given time (can be influenced e.g. by XPTallies)
  • Max Length of Displayed Spell Name String - QoL, you can now set how many characters the spell names can be in the SpellBook window
Effects and Spells
  • Fix Item - a spell effect that can be used in spells to repair mundane items; items made of lesser materials (Leather, Iron, Steel) are repaired the fastest while rare materials like Ebony, Orcish and Daedric are repaired only very slowly (will add further effects in a later version to repair higher material items effectively and also ones to repair and recharge magic items)
  • Rebalance SlowFall to Thaumaturgy - an option to have the Slow Fall effect (Gentle Fall) belong to Thaumaturgy
  • ConjurationCreation - Multiply Provisions - If you have some of a given provision (water, rations, arrows), this effect can add to the provision through conjuration. Target: an item that the player is conjuring up. Magnitude: has an exponential effect on how much new provisions are added (strong spells will generate increasingly bigger increases).
  • ConjurationCreation - Summon Simple Item - A modified version of 'create-item'. Target: an item that the player is conjuring up. There is a chance of success - if the spell is successful, the item thus conjured will stay (not disappear after a certain amount of time).
  • Multiple Anchors For Recall - An advanced override to the Teleport effect with support for more anchors. This is the legacy Advanced Teleportation spell, a new improvement is an option Dispel Does Not Erase Anchors. For some further details, please refer to Dev Post #4.
High Magic
This part is currently empty. Will start adding things here when I get to it. For the immediate future, I have other priorities.

Quality of Life
I like to develop skills while manually running around, then camping, resting, battling etc in the wilderness.
This takes time. A lot less time if I can speed things up...
...so, I have included a feature that allows the player to speed up ('+' key) the game if there are no enemies nearby and the PC does not have a disease ('-' key to slow back down).
Last edited by meritamas on Mon Oct 31, 2022 6:55 pm, edited 81 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #2

Post by meritamas »

Last change to this post: 2022-10-12
Last change to any development post: see in the first dev post
When can you expect me to be on the forums next: see in the first dev post


Plans for the near future:
I am currently working on finishing setting up DFU 0.14.4 Beta. The plans for this year include:

1. The release of 0.7 for DFU v0.14.4 (planned date: October-November 2022) that will probably include some of the following
  • unleveled enemies - I am working on integrating most of the functionality of Unleveled Mobs and Meaner Monsters with my logic in the Unleveled and Extra Strong Enemies module
  • effects spells for Ralzar's Climates and Calories mod - wetness control, create foodstuff
  • tons of spells - at least one somewhat usable ready-made spell for the PC to learn at the appropriate guild
  • spell notes - another way of obtaining spells. Some spellcaster class enemies could drop one or more spell notes, which the player could use to learn a new spell (add the spell to the spellbook, not for gold, but still incurring a time, fatigue, magicka etc. cost).
  • spell notes as quest reward - since MMM features substantially increase the cost of mastering new spells, a great way to circumvent these costs would be to earn them through quests
2. A few more things I plan to work on in the nearer future (planned date: January-June 2023).
  • Roads - I think I might be at a point where I would give implementing an automatic road-generating algorithm another go. The things Interkarma suggested, Basic Roads and other mods can serve as sources of inspiration.
  • Unleveled & Extra Strong Enemies - further development (adding further equipment for high level enemies - further enhancing the challenge and the reward)
  • perhaps some High Magic (see below) spell effects - like SlowTime, QuickFlight, properly add Advanced Teleportation to High Magic (not as an override to a classic spell, but instead as a new - appropriately confidential - spell)
I plan to develop new effects and spells as I play and get the ideas for them. Please do let me know of any good ideas that are compatible with my general aims.

Long-term roadmap

First, let's define a goal for 1.0. For a version 1.0, I plan to have
- most if not all High Magic effects implemented and available al least through specific Mages Guild or Temple of Kynareth instructors
- a working Enchantment system (based on an Alteration spell effect)
- a working Alchemy system

My first objective is functionality. Tackling bugs and smoothing the edges around mod features so player experience is nice and smooth, is a secondary issue. But, by 1.0, the mod should not be too rought around the edges.

In the future, versions and releases will be numbered as follows.
1.0 would mean that the mod has the functionality as described above. When that is reached, I probably define new goals for a version 2.0. Not sure if there will ever need to be a 3.0 - at a certain point I plan to stop expanding the mod. When the main - magic related - goals are reached, there will probably still be a few feature changes, but new minor version numbers suffice for those.

Minor version numbers. Feature updates will be marked with new minor version numbers. After 0.6 comes 0.7, then 0.8 etc. So, when the minor version number is increased, that will mean that there is a substantial new feature included (potentially along with bugfixes).

The next release coming up (around) 13 June 2022 is 0.6. Then, bugfix releases will have a suffix added to the minor version number (e.g. 0.6a, 0.6b etc). Likewise, I plan to make technical or structural changes to the code at some points. Clean up old comments, add new ones, re-structure etc. No substantially new feature involved. No goal of fixing any particular bug, either (but will from time to time probably end up creating some new ones ;) ).
0.6, then 0.6a, 0.6b and so on - might be called the 0.6x series.

Schedule
I am doing this as a hobby, so there could easily be large-scale postponments, re-planning, re-scheduling etc. on the way. The current plan is to have 0.6 out in June 2022, then spend the rest of the year playtesting, slow development and tackling bugs I encounter myself or ones reported to me by members of the community.

I think 1.0 should be out sometime in 2023 or 2024.

Long-term ideas - conceptual shifts
  • A conceptual shift. Teaching, learning and creating spells.(outlined in the 6th dev post)
I mainly imagine spells as things to be taught and learned, as opposed to bought and sold. To eradicate the spellbook and create a whole new way of doing things would probably require a lot of effort on my part - something I am not particularly interested in. A better idea is that I will not consider the spellbook to be the artifact enabling spellcasting, but rather as a symbolic representation of the magical knowledge of the PC. So, spells in the book are those that the PC has mastered (and hadn't chosen to forget - 'delete') and is able to cast at the moment.
  • A conceptual shift. Creation. Conjuration. Formation.(outlined in the 6th dev post)
We have a knick-knack spell that allows you to create temporary items. You cast the spell. The item appears. Some time elapses and the item disappears. I see both creation and conjuration as a more permanent thing. You conjure up a thing. You expend magicka to make it appear. It seems reasonable that you would need to expend magicka to make it disappear again (not just to keep it there).
A fine distinction should be drawn between creation (to create from thin air) and conjuration (to teleport an already existing object to you).
Conjuration can also be a new 'skill-like' characteristic. IT can either be that or these spells could be added to Mysticism. If Conjuration spells are added to Mysticism, then other spells would need to be moved to other schools to keep schools relatively balanced.
  • The Imperius Curse - a spell to break an enemy's will and take control over it
This is another idea I've had... I suddenly got inspired again by the Language Skills Overhaul mod where the player can assemble his team from 'pacified' enemies.
As I see it now, given that most of the code is probably already out there, it shouldn't be too hard to give simple instructions to an enemy you 'control' via a spell either.
The Imperius Curse could be an integral part of the logic of conjuring up living creatures to fight on your side (Conjuration in Oblivion for example). When conjuration is successful, the enemy appears. It takes a few seconds for it to orient itself - during these seconds it does not do anything. You have these seconds to cast the Imperius Curse on it if you want to control it. Otherwise, you can leave it there (perhaps fight it). This way you could conjure up weaker creatures to practice figting theire kind.

Long-term ideas - 'skill-like' characteristics
I now prefer to implement Enchanting and Alchemy in this way. Although they pertain to the player character, they will not be connected to it in the code. Rather, related data are maintained in the same place as other mod data (like the wetness of PC clothes is stored in Climates & Calories). This would grant a relatively large discretion in how to implement related features but comes with the limitation of confining these characteristics to the mod (relatively hard to grant access to code outside the mod + it is needed to have MMM's overrides - like SpellBook... - active to deal with these aspects of the PC).
  • Enchanting(outlined in the 6th dev post)
Should be available to the player. Proficiency could be measured via the Alteration skill or a new Enchanting skill. Will probably use the former. Seems a lot of effort to either create a new skill or to re-appropriate an existing one. Enabling the player to enchant, on the other hand, seems quite doable.
  • Alchemy(outlined in the 6th dev post)
Should be available to the player to do through alchemy equipment installed in his home.
  • Extra strong enemies
Take the already implemented functionality a few more steps. This could mean extra spells, enhanced skills, perhaps later different behaviors.

Other long-term ideas
  • Variability in the availability of spells
Not all venues/service providers of the same guild would be offering the same spells. E.g. some temples or some branches of the Mages Guild could favor certain schools of magicka over others.
  • Spell variations
There could be numerous variations of (essentially) the 'same' spell (minor alterations in parameters). Each provider would be offering one particular version. The names of these offered spells could also differ slightly.
  • Realistic Sun and Moon paths on the sky(outlined in the 7th dev post)
  • Quicker Spell Missiles - a way to get spell effects to target faster. Close-to-instantaneous spell-casting on target for the strongest magi.
  • Terrain-sampler. Town and city placement. Roads.
At the present time, I am entertaining the idea that with a new terrain-sampler, several current problems could be tackled at the same time.
  1. Where should roads be? I find my own ideas described in the old Roads of Daggerfall forum thread to be quite (possibly too) hard to implement, but, at the same time, I find the simple roads solution too simplistic. What if the game could generate the roads via some simple optimization algorithm and then generate the terrain so that the roads would not look misplaced? (If I am not mistaken, Simple Roads accomplishes the first part but not the second.) Similarly, appropriate waterways could be added here too (again, if I am not mistaken, this feature is already added in Simple Roads).
  2. The place of settlements with relation to the terrain. You just cannot have a walled city and then a hill growing right beside it and over it and say that seems realistic. No, the walled settlements should be on the top of hills and have higher hills or mountains at least a bit farther away. Similarly, settlements without walls could be in valleys.
  3. There is something odd about all the town being on a big, level plane. Would also be exploring the possibility of having some of the structures higher up than others. It should be possible, but I am not sure of this.
I also add this. When I first brought up the topic of roads to Interkarma, he suggested that a new TerrainSampler will be needed. So, all these months have been good for something. I came to realize he was right. And one other thing. Another thought. If I am to design a new terrain sampler, I can accomplish so much more than just adding roads to the game :)
Another thought. Since Simple Roads is already there, it could speed up the part of the development about actually placing roads and waterways in the game, but - at the same time - decreases my motivation to put work into this because it is already there.
Last edited by meritamas on Wed Oct 12, 2022 3:43 pm, edited 49 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #3

Post by meritamas »

Reserved for development purposes.
Last edited by meritamas on Tue Apr 19, 2022 4:01 pm, edited 29 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #4

Post by meritamas »

Last change to this post: 2022-06-19
Last change to any development post: see in the first dev post
When can you expect me to be on the forums next: see in the first dev post


How things work
Please refer to this dev post for details on how certain parts of the mod work and what they do. Some spoilers might be ahead.
Spoiler!
The Unleveled Enemies module - a quick summary
Makes dungeon mob level contingent on Dungeon Quality Level, the level of random encounters will use 10 as a base but a large degree of randomness is also introduced.

The mod is now processing monsters' equipment too (will set materials to be inline with MMM standards for class enemies, based on monster level.)

Dungeon mobs
As for dungeon mobs, Ralzar's basic idea, that he applied to loot in his Unleveled Loot mod, is a good one: invent a 'Dungeon Quality Level' and make the opponents' level contingent on that.
Here I would add that some difference should be allowed (like from DQL-2 to DQL+2). Ralzar has already invented DQL in Unleveled Loot, we will go with his method for now, with some additions.
There should be some flexibility when it comes to dungeon levels. E.g. having all DragonsDen dungeons at level 18 is a good start, but perhaps having all concrete such dungeons having a level from 18-2 to 18+2 might be even better.
These dungeon levels are not random, it is deterministic, but allowing for some small change over time.
This way any given dungeon can gain or loose some quality as time passes.
An example: any concrete VampireHaunt dungeon should have a level calculated as a base (15) + modifier (from -2 to +2).


Random encounters
A random encounter is an enemy encountered outside a dungeon.
If random encounter, then
- 10%-10%-10% chance of enemy at playerlevel-4 .. .. playerlevel +3
- 10% chance of an enemy level lower than playerlevel-4 (down to playerlevel-10)
- 10% chance of an enemy level higher than playerlevel+3 (up to playerlevel+9)
all this capped at playerlevel=23; above player level 23, the level of class enemies will not be getting higher
Change: We are using 10 instead of playerlevel. (In the next few weeks, I will be looking for a better solution involving a way to take the place of the encounter into account.)


Townguards
A special case are townguards.
If townguard, we implement a method like we have for dungeons :: Town Guard Quality Level
This quality level is contingent on the size and prominance of the town:
- Daggerfall, Wayrest and Sentinel: base level of 21, like the hardest of dungeons as per Ralzar
- other regional capitals LVL18
- other cities LVL15
- smallest of towns LVL7
- general: LVL11

There is also a small (-2..+2) correction based on time to account for the fluctuation of the quality of town guards available from time to time.
AND: The individual guards can deviate form their guard (average) level (-2..+2)


What is affected by enemy level?
Currently: max health, skills, attributes, magicka and spells and equipment materials. The higher level, the bigger the chance of getting equipment made of valuable and rare materials.


Unleveled Spells
Removes character level from the equation when determining the strength of (some) spells; this is essentially the functionality of the old Unleveled Spells mod .

Introduces the concept of Spell Level (SL) and the duration, chance of success and magnitude of player-cast spells is a function of the relevant magic skill, Willpower and Luck.

Formulas introduced by the mod:
Skill Spell Level = (Relevant Magic Skill - 9 ) / 3
Willpower Spell Level = 10 + (Willpower / 5)

- Luck will have a role in that there will be (Luck -50)/ 10 points available to increase (or decrease) the one of the aforementioned with the lower value.
- Overall Spell Level is defined as the lower of Skill Spell Level and Willpower Spell Level after adding or subtracting the Luck-points as appropriate.
- I am open to adding other, alternative formulas in the future if there is substantial interest.


Spell Learning
- You don't buy spells anymore, you learn them. Spell 'merchants' teach spells.
- Time costs and fatigue costs of learning a new standard spell are calculated based on how the spell casting cost relates to PC intelligence (the minimum is 12 minutes and the maximum is 10 hours).
- You cannot attempt to learn a spell if it would take more than 10 hours.
- Learning a spell will also take time and spell points you use up while practicing during instruction.
- On picking a spell from what is on offer, (if you are intelligent, skilled and experienced enough to master the spell - mastering it would not take more than 10 hours), and not too exhausted (have enough fatigue and spell points) or have enough extra gold to afford a recharge of magicka and fatigue expended during learning (refreshments), the 'merchant' (I like to call them instructors) will offer to teach you.
- If you have enough gold for refreshments and are not too tired at that time, you will be asked if you'd like refreshments for extra cost or not.
- Fatigue points are subtracted in proportion to the time of instruction.
- There is also an extra charge per quarter (15 minutes) of instruction (if you are a member, the last quarter only counts if at least 8 minutes are used - without membership each quarter began count as a whole quarter). The higher your rank in the guild, the less the fee. (Apart from these differences, outsiders get double rates - so it literally pays to join the guild you'd like to train you in magic.)
- The spell maker works similarly, but learning a brand new custom spell, or - inventing a new spell together with the instructor - takes more time, there is a coefficient for this that can be set via the mod settings: is at 4.0 default. The part of the cost contingent on needed time is twice that of learning standard spells.
- Learning/inventing a new spell now trains the relevant magic skill too.

Involves an override to the SpellBook and SpellMaker windows (conflict with other mods overriding these windows).


Experience (XP) Tallies
The game now keeps tallies of the player's experience with Target Types, Elements and the individual effects and this in turn affects spell costs and efficiency through an 'effective' magic skill.

Target Types supported:

Code: Select all

[Flags]
    public enum MMMTargetTypes
    {
        None = 0,
        CasterOnly = 1,
        ByTouch = 2,
        SingleTargetAtRange = 4,
        AreaAroundCaster = 8,
        AreaAtRange = 16,
        ThingAlreadyInPosession = 32,
        ThingBeingConjuredCreated = 64,
        ConjuredCreature = 128
    }
For the purposes of spell cost and spell level, 'effective' magic skill is calculated from the nominal relevant magic skill and these coefficients (with low experience, can give a result as low as one third of the nominal magic skill).

Each spell effect cast adds to three tallies: one for the relevant target-type, one for the effect and one for the given element. The tallies start at 0 (later on, I plan to have the mod calculate a starting value on character creation based on the magic skills the character starts with). 1 point is tallied if the effect cast costs 10% of your Intelligence. As many as 7 points can be tallied for stronger spells.
At a tally of about 700, the relevant coefficient maxes out at 1.0.


An example
In your character sheet, you have a Destruction skill of 75. You are trying to cast Single-Target-at-Range spell with a Damage Fatigue effect. You have tons of experience with the Magic (as opposed to Shock, Fire or Cold) element, but have never cast either a Single-Target-at-Range spell, or any spell with the Damage Fatigue effect.
The Element coefficient will be 1.0, the effect coefficient 0.7 and the Target-Type coefficient 0.7. So, overall a coefficient of 0.49 will be applied and the effective skill for this spell will be 36.
This means that for your lack of experience with the given target type and the given concrete effect, despite your Destruction skill of 75, you will be able to cost this spell for the cost and with the effect as if your Destruction skill was 36.


Yes, you can learn and know things in theory, but if you want to be effective, you need practice as well.

Up to a certain proficiency level, tallying is done for certain similar target types as well. Like:
if a Single-Target-at-Range spell is cast, the AreaAroundCaster, the ByTouch gain an increase of 25% of the increase the SingleTargetAtRange got and, similarly, the ThingAlreadyInPosession, AreaAtRange and AreaAroundCaster tallies receive a 1/8 increase.


Strong Spells Advance Magic Skills More
If the spell-point cost of a spell is higher than a certain percentage of player Intelligence, casting it will add further points to magic skill tallies. A maximum of 7 is reached when the spell-point cost equals player Intelligence.

Diversified Spell Experience Required for Magic Skill Advancement
After a certain amount of experience with a given effect has been reached, further practice using that effect will add less and less to the relevant magic skill tally.
Up until a tally amount of 500 (a little less than maxing-out point), the experience is added with a 1.0 coefficient.
After an effect has reached a tally of 950, only 10% of what it initially would have added is added to the tally.
In between 500 and 950, this coefficient shows a linear decrease from 100% to 10%.
This results in that you have to practice one spell effect really much to gain mastery in the magic skill. Around 4-5 different effects may be needed to reach mastery efficiently.


Effect Confidentiality Levels
The 'shroud of secrecy' surrounding magic; you will only be offered certain spells/effects if you have sufficient standing in the given guild.

If you lack sufficient standing, you will not even know of the effect/derived spells from any of the instructors in the given guild - the secret is kept from you and the guild services work as if the effect didn't exist at all. When you reach sufficient rank, the next time you check, you will see the effect/derived spells listed.

The default confidentiality levels (note: confidentiality = 0 means that the effect/derives spells can be available to non-members as well, anything above 0 means that non-members are not informed of these possibilities):

Code: Select all

static Dictionary<string, int> defaultConfidentialityLevels = new Dictionary<string, int> {            
            { "CreateItem", 3 },          { "Teleport-Effect", 0 },      { "FixItem", 1 },              { "MultiplyProvisions", 1 },        
            { "Chameleon-Normal", 0 },    { "Chameleon-True", 6 },                                      { "Charm", 0 },                 { "Climbing", 0 },
            { "ComprehendLanguages", 0 },                                { "ContinuousDamage-Fatigue", 5 }, { "ContinuousDamage-SpellPoints", 5 }, { "ContinuousDamage-Health", 5 },
            { "Cure-Poison", 0 },         { "Cure-Paralyzation", 0 },    { "Cure-Disease", 4 },
            { "Damage-Fatigue", 1 },      { "Damage-Health", 0 },        { "Damage-SpellPoints", 3 },
            { "Detect-Enemy", 3 },        { "Detect-Magic", 3 },         { "Detect-Treasure", 3 },
            { "Disintegrate", 8 },                                       { "Dispel-Daedra", 8 },        { "Dispel-Magic", 0 },          { "Dispel-Undead", 6 },
            { "Drain-Agility", 4 },       { "Drain-Endurance", 4 },      { "Drain-Intelligence", 9 },   { "Drain-Luck", 4 },
            { "Drain-Personality", 6 },   { "Drain-Speed", 4 },          { "Drain-Strength", 4 },       { "Drain-Willpower", 9 },
            { "ElementalResistance-Frost", 1 }, { "ElementalResistance-Fire", 1 }, { "ElementalResistance-Poison", 1 }, { "ElementalResistance-Shock", 1 },
            { "Fortify-Agility", 3 },     { "Fortify-Endurance", 3 },    { "Fortify-Intelligence", 7 }, { "Fortify-Luck", 3 },
            { "Fortify-Personality", 5 }, { "Fortify-Speed", 3 },        { "Fortify-Strength", 3 },     { "Fortify-Willpower", 7 },
            { "FreeAction", 0 },          { "Heal-Health", 0 },          { "Heal-Fatigue", 0 },
            { "Heal-Agility", 1 },        { "Heal-Endurance", 1 },       { "Heal-Intelligence", 3 },    { "Heal-Luck", 1 },
            { "Heal-Personality", 2 },    { "Heal-Speed", 1 },           { "Heal-Strength", 1 },        { "Heal-Willpower", 3 },
            { "Identify", 4 },                                           { "Invisibility-Normal", 0 },  { "Invisibility-True", 6 },
            { "Jumping", 0 },             { "Levitate", 1 },             { "Light", 0 },                { "Lock", 1 },
            { "MageLight-Inferno", 1 },   { "MageLight-Rime", 1 },       { "MageLight-Venom", 1 },      { "MageLight-Storm", 1 },              { "MageLight-Arcane", 1 },
            { "Open", 1 },                { "Pacify-Animal", 0 },        { "Pacify-Undead", 4 },        { "Pacify-Humanoid", 3 },              { "Pacify-Daedra", 7 },
            { "Paralyze", 4 },            { "Regenerate", 5 },           { "Shadow-Normal", 0 },        { "Shadow-True", 6 },
            { "Shield", 0 },              { "Silence", 6 },              { "Slowfall", 0 },             { "SoulTrap", 5 },
            { "SpellAbsorption", 5 },     { "SpellReflection", 5 },      { "SpellResistance", 5 },
            { "Transfer-Agility", 6 },    { "Transfer-Endurance", 6 },   { "Transfer-Intelligence", 11 }, { "Transfer-Luck", 6 },
            { "Transfer-Personality", 8 }, { "Transfer-Speed", 6 },      { "Transfer-Strength", 6 },    { "Transfer-Willpower", 11 },
            { "Transfer-Health", 3 },     { "Transfer-Fatigue", 3 },
            { "WaterWalking", 1 },        { "WaterBreathing", 0 }
        };
It is possible to edit the individual confidentiality levels through editing the save. Once a confidentiality level is established, the game will not check against the defaults, but will save the established level into the mod's save file.
So, the defaults are simply my first-glance preferences. Since, it would have been tedious to include each effect in the mod settings, I decided that the way the player can customize this should be through editing the save.


Spell Instructor Themes
- There are six different Themes: one for each school of magic.
- Each guild house with spell instructors (Mages Guild, Temple of Kynareth) has a Theme assigned, deterministically, from the region ID, location ID and guild ID. So you can count on these not changing - once the player has established that a given hall is an Alteration hall, you know it will always be an Alteration hall.
- Similarly, the hall also has a proficiency level assigned, this can be 2 to 11.
- The Theme and proficiency level apply to all instructors working in the given guild hall. These will be able to provide you with service regarding universally available spell effects and effects from their Theme school where the confidentiality level does not exceed the guild hall proficiency.
- So, there are simple spells/effects (confidentiality level 0 or 1) that are available everywhere but if you want to learn the less-known ones through a guild service, you'd need to find a guild with the appropriate Theme and also a proficiency level high enough to teach you the given effect.
- All this makes trying to learn a little-known (complex, highly confidential, potent) spell/effect via the Guilds an adventure on its own.
- In case somebody is wondering. If you have a high rank in the guild, you are granted knowledge about the highly confidential spells too. Knowledge of their existence, but not necessarily the effect itself. That means, e.g., that you would see the effect in the effect list in the Spell Maker, but - unless the given instructor belongs to an appropriately themed and proficient guild hall - when you click on said effect, the instructor will inform you that he cannot help you. Conversely, if you don't have sufficient status, you would not see the effect in the effect list at all.

Looking for a specific Themed hall?
- Themes are not entirely quasi-random. The chance a given Mages Guild will belong to a certain Theme is strongly contingent on the region it is situated in, more precisely the official deity of the given region.
- The rarest Themes should be Mysticism, Thaumaturgy and Alteration. On the other hand, Restoration, Destruction and Illusion should be quite common.
- This code should be of help to those seeking more details.

Code: Select all

        static DFCareer.MagicSkills[] AkatoshArray = { DFCareer.MagicSkills.Restoration,
        DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction,
                        DFCareer.MagicSkills.Illusion,
                        DFCareer.MagicSkills.Thaumaturgy,
        DFCareer.MagicSkills.Alteration, DFCareer.MagicSkills.Alteration, DFCareer.MagicSkills.Alteration, DFCareer.MagicSkills.Alteration, DFCareer.MagicSkills.Alteration, DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism };    // For Akatosh: 1 Rest, 6 Dest, 1 Ill, 1 Thau, 6 Alt, 1 Myst
        static DFCareer.MagicSkills[] ArkayArray = {
        DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration,
        DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction,
                        DFCareer.MagicSkills.Illusion,
                        DFCareer.MagicSkills.Thaumaturgy,
                        DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism };           // For Arkay: 6 Rest, 6 Dest, 1 Ill, 1 Thau, 1 Alt, 1 Myst
        static DFCareer.MagicSkills[] DibellaArray = {
        DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration,
                        DFCareer.MagicSkills.Destruction,
        DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion,
                        DFCareer.MagicSkills.Thaumaturgy,
                        DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism };           // For Dibella: 6 Rest, 1 Dest, 6 Ill, 1 Thau, 1 Alt, 1 Myst
        static DFCareer.MagicSkills[] JulianosArray = { DFCareer.MagicSkills.Restoration,
                        DFCareer.MagicSkills.Destruction,
                        DFCareer.MagicSkills.Illusion,
                        DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy,
                        DFCareer.MagicSkills.Alteration, DFCareer.MagicSkills.Alteration, DFCareer.MagicSkills.Alteration, DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism, DFCareer.MagicSkills.Mysticism, DFCareer.MagicSkills.Mysticism, DFCareer.MagicSkills.Mysticism, DFCareer.MagicSkills.Mysticism
                        };                                          // For Julianos: 1 Rest, 1 Dest, 1 Ill, 4 Thau, 4 Alt, 5 Myst
        static DFCareer.MagicSkills[] StendarrArray = {
        DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration,
        DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration,
                        DFCareer.MagicSkills.Destruction,
                        DFCareer.MagicSkills.Illusion,
                        DFCareer.MagicSkills.Thaumaturgy,
                        DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism        };        // For Stendarr: 11 Rest, 1 Dest, 1 Ill, 1 Thau, 1 Alt, 1 Myst
        static DFCareer.MagicSkills[] KynarethArray = { DFCareer.MagicSkills.Restoration,
        DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction,
        DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion,
                        DFCareer.MagicSkills.Thaumaturgy,
                        DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism };               // For Kynareth: 1 Rest, 6 Dest, 6 Ill, 1 Thau, 1 Alt, 1 Myst
        static DFCareer.MagicSkills[] MaraArray = {
        DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration,
                        DFCareer.MagicSkills.Destruction,
        DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion,
                        DFCareer.MagicSkills.Thaumaturgy,
                        DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism };                // For Mara: 6 Rest, 1 Dest, 6 Ill, 1 Thau, 1 Alt, 1 Myst
        static DFCareer.MagicSkills[] ZenitharArray ={ DFCareer.MagicSkills.Restoration,       
                        DFCareer.MagicSkills.Destruction,
                        DFCareer.MagicSkills.Illusion,
        DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy,
        DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy, DFCareer.MagicSkills.Thaumaturgy,
                        DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism };               // For Zenithar: 1 Rest, 1 Dest, 1 Ill, 11 Thau, 1 Alt, 1 Myst
        static DFCareer.MagicSkills[] KynarethTempleArray = { DFCareer.MagicSkills.Restoration,
        DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration, DFCareer.MagicSkills.Restoration,
                        DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction, DFCareer.MagicSkills.Destruction,
                        DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion, DFCareer.MagicSkills.Illusion,
                        DFCareer.MagicSkills.Thaumaturgy,
                        DFCareer.MagicSkills.Alteration,
                        DFCareer.MagicSkills.Mysticism };           // For Kynareth-Temples: 7 Rest, 3 Dest, 3 Ill, 1 Thau, 1 Alt, 1 Myst 

The Fix Item spell effect
A spell effect that can be used in spells to repair mundane items; items made of lesser materials (Leather, Iron, Steel) are repaired the fastest while rare materials like Ebony, Orcish and Daedric are repaired only very slowly.

It is also a lot harder to repair broken and nearly broken items than items that are just a bit damaged. When drained to 0% condition points, restoring an item to 10% will require the same amount of magic as restoring the same item
- from 10% to 30%
- from 30% to 60%
- from 60% to 100%.
So, it is worthwhile to fix your things while they're in pretty good shape and not wait until they are completely broken.


Armor and weapons
The spell will restore roughly 80 condition points per casting magnitude to Leather, Chain, Iron and Steel items, when the item is above 60% initially.
Then there is an exponential decrease: for an item that is made of a material two categories rarer, the effect is halved. So, Elven is repaired at a rate that is only half the rate for Steel, Mithril half the rate as for Elven, Ebony half that rate and so on.


ConjurationCreation - the Multiply Provisions spell effect
- If you have some of a given provision (water, rations, arrows), this effect can add to the provision through conjuration.
- A conjuration spell, target: an item that the player is conjuring up.
- The magnitude: has an exponential effect on how much new provisions are added (strong spells will generate increasingly bigger increases). The amount of provisions after the spell will be somewhere around (between 75% and 133% of) the value calculated using the formula PROVISIONS-AFTER = PROVISIONS-BEFORE * 1.1 * 1.025 ^ MAGNITUDE
- So, you have better chances if you have more of the given provision available. But, after a certain magnitude is reached, the spell literally multiplies your provisions.


ConjurationCreation - the Summon Simple Item spell effect
- A modified version of 'create-item', in line with my Conjuration-Creation long-term idea.
- A conjuration spell, target: an item that the player is conjuring up.
- Instead of a duration as in the core game, there is a chance of success. If the spell is successful, the item thus conjured will stay indefinitely (as opposed to disappearing after a certain amount of time as in the core game).
- The base chance of success is the duration the spell would have in core game.
- The effective chance of success is dramatically higher when inside settlements. It is doubled for a hamlet, quadrupled for a town and multiplied 8-fold for a city. It is easier to conjure things up if there is a lot of items nearby...
- The item conjured up will have a condition of 45% to 100%.


Teleportation effect
When cast, the player is presented with a choice:
  • either attempt to set a new anchor
  • or to attempt to teleport to one of the anchors he already has.

Anchor setting.
The player can choose which one of the possible anchors he would like to overwrite. The number of available slots is contingent on Teleport Spell Level (explained lower) - it is twice the amount. The lower the slot is in the list, the less the likelihood of success.

Anchors can be named for easier reference.
If the player attempts to set an anchor, he either succeeds, setting the anchor, or fails, in which case nothing happens (apart from having expended the magicka anyway).


An example: if the player has a Teleport spell level of 8,
- the player will have the first 16 slots available
- about the first 2 of the anchors (a quarter of 8) will work all the time (100%)
- about another 2 anchors (another quarter of 8) will work nearly all the time (99%)
- from then on, the probability of success gradually changes,
- at 8 (equal to Spell Level) the chance is about two thirds
- at about 16 (twice the Spell Level) the chance reaches 0


Teleportation.
The number of anchor slots the player can access is two times Teleport Spell Level.
Only successfully created anchors are permitted targets (so at a Spell Level of 8, you will see only 2 targets if you have only set up two anchors in total).
Once selected a valid target, teleportation is attempted. The more down the list of anchor slots the target is at, the less chance the teleportation succeeds. If teleportation fails, in about one in four cases, nothing happens and in three in four cases, the player is randomly teleported to one of all the anchors he has (could be the one he originally aimed for, the chances are equal).


Compatibility with the old Advanced Teleportation mod
You will not be able to load old saves with the new mod.
However, it should work after you edit the save.

In SaveData.txt,
look for "MTAdvancedTeleportation.MTTeleport+SaveData_v1"
and change to "MTMMM.MTTeleport+SaveData_v1"
Last edited by meritamas on Sun Jun 19, 2022 6:11 am, edited 9 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #5

Post by meritamas »

Last change to this post: 2022-06-19
Last change to any development post: see in the first dev post
When can you expect me to be on the forums next: see in the first dev post


High Magic (HM) - general ideas
A lot should be accomplishable through magic in the game and even lots and lots more, but this magic should not be available just by visiting a Mages Guild or other spell merchants/instructors. Spell confidentiality levels and Instructor Themes (see above) is a good start, but there could be even more. Spoilers ahead.
Spoiler!
There would be quest givers, powerful wizards, who would teach these abilities in exchange for or based on some services the PC would render (in the form of completing quests). I call these parts of magic high magic (HM) and the characters that give you quests in relation to them high magic quest givers (HMQGs)

HM and the beginning of the story-line
I plan to go with the idea that the storm that shipwrecked you into Privateer's Hold was a supernatural storm created by the same high power who (possibly aided by Deadra Princes) cursed you in order to stop you from completing the Emperor's quest.
The curse was unsuccessful in destroying you only because of a strong divine blessing that counteracted some of its effects.
  • This curse explains how you got to entering the game story-line as a level-one character and how could the Emperor have entrusted this all-important quest to such a low-level character. Indeed, you had been a stronger character, but the curse sapped you of some of your skills, attributes and almost all of your life-force.
  • The divine blessing also explains how your character would evolve so quickly in-game. Since even in your pre-curse form you clearly had nowhere near the strength, skill and power that would ensure success, the Gods - whose intervention was triggered by the curse - chose not to annul the curse but instead decided to place a blessing on you right before the curse would have destroyed you: at level 1. The blessing stopped the deterioration and bestowed upon you quick learning. This way, it takes you only months or years to acquire skills, attributes and levels that would cost an average mortal several years or decades of practice to acquire (or be outright impossible).
There could also be a few quests given by a HMQG where as a reward for completing the quests, this quest giver informs you of all this (and sends you to other such quest givers who could in exchange for your services teach you other high magic things).

HM - new spells, effects, features etc

High Thaumaturgy
  • Artificial gravity spell(s) (immobilize enemy or to make it 'fall' somewhere the caster wants)
  • Quick Flight - a spell that allows to fly quickly for a realtively low cost
  • Key to teleporting into Mages Guild service places
  • The magic effect that is needed to create a magic box (a box to store and carry a lot of items - a "magic cart") - space in box expands but weight of items put into a box would be drastically reduced)
High Alteration
  • Fix magic items
  • Enchanting - including making the enchantment that creates a Magic Box (a box to store and carry a lot of items - a "magic cart") - space in box expands but weight of items put into a box would be drastically reduced)
  • Magically merging items - e.g. adding gems to armor (would add up the enchantment point capacity for the item to make possible some really strong enchantments - without the need for soul gems or added dummy irrelevant negative effects)
  • Form artifacts from material (created using Mysticism)
High Illusion
  • the Imperius effect (some text already available in another dev post here but plan to update it)
High Mysticism - some of these should be most difficult to come across and master
  • Conjure up items (also see my thoughts on conjuration vs creation)
  • Conjure up creatures
  • Necromancy
  • Create material (Water-Skin filler might remain available without high magic)
  • Advanced Teleportation1 (multiple/more anchors)
  • Advanced Teleportation2 (teleport to Mages Guild service places)
  • Advanced Teleportation3 (teleport to a selected point on the map)
  • Recharge magic items
  • Portal effect for artifacts - add an enchantment that would allow the artifact to transfer the user to a given location, this could include certain locations in the world but later on also entry into the Daedric realm
  • Mental spell to speed up PC reactions (in effect slow down in-game time)
High Destruction and Restoration
I imagine these to be the most popular and most frequent schools of magic in the Illiac Bay.
I am not planning to add any new spell effects, but as skill levels of above 100 (like 125 or 150) become possible, and the minimum casting cost for a spell is reduced to 1, very - and I mean very - strong spell should become possible.


Alchemy (possibly, but possibly available without completing HM quest) - also see the other dev posts.

HM - how to learn it
The PC should be able to find HMQG-s by various means. These include:
  • Mages Guild quests
  • daedra quests
  • witch coven quests
  • temple quests
  • random encounters
HMQGs should be available only after the PC has enough magic skills and attributes (exact requirements to be specified later).

HM - what is being offered to non-spellcaster classes
I would like to provide for a way non-spellcaster characters could take advantage of High Magic.
One idea that comes to mind is that they too could get into contact with HMQGs at some point and get quests. Particular ideas:
  • Some simpler chores.
  • The HMQG wizard has a nemesis who is strong in physical combat but completely immune to magic. If you get rid of this enemy of his, he will give you (access to a service that sells you) powerful artifacts/potions/compaion(s) etc.
HMQGs should form a group (perhaps a faction) and 'know' each other - the player would eventually find one of them by one of the means listed above. Depending on the circumstances, this character would - perhaps in exchange for the completion of a chore or two - send the player to the most appropriate HMQG to get further quests.

HM and the main quest and the end of the story-line
After most or all HMQs are completed and the PC has already mastered High Magic, he is ready to continue and complete the Emperor's quest. The main quest should be modded in such a way that would make it virtually impossible to complete without High Magic.
Last edited by meritamas on Sun Jun 19, 2022 7:25 am, edited 9 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #6

Post by meritamas »

Last change to this post: 2022-06-19
Last change to any development post: see in the first dev post
When can you expect me to be on the forums next: see in the first dev post


Creating spells.
The player should be able to design his own spells (in a window similar to the spell-maker). It would not cost money this way, but time. It should need some deliberate work and/or some time to elapse, some rest. Could be able to work on more than one spell simultaneously. Details to be worked out later.

Alchemy
For some time now, I have been thinking of enhancing the Alchemy aspect of DFU. This could be done step by step.

How Alchemy could work (after all minor steps have been taken)
  • The player could work Alchemy at a house he controls, if he had installed the required equipment.
  • The equipment could be made of several parts. Following Morrowind, these could be the Mortar and pestle, Alembic, Calcinator and Retort. One aspect would be potion side-effects. If side-effect can be present, retorts make sense, otherwise just the Mortar and pestle, Alembic, Calcinator. Or some other system that makes sense.
  • The individual equipment pieces could all have their quality level.
  • The player would need to acquire these pieces from dungeons or earn them through quests or by getting into contact with special shops who would sell these to him on the black market (Alchemy is supposed to be a regulated profession).
  • To do Alchemy, it should not be enough for the player to have acquired the equipment pieces, he should have to install and assemble them in a house.
Potion creation could happen though a window much akin to the one used in the core game. The strength of the resulting potion would depend on equipment quality and PC skills/stats. The commercially made potions should have strength equal to a potion made by a PC with a relevant skill/stat of 75 using average equipment.

Another interesting aspect could be poisons. Or adding other recipes or ingredients to the game.

The first step could be:
  • The option to have Alchemy equipment installed in your house. This could come in 4 qualitites: below average, average, above average and state-of-the-art.
  • The quality of the equipment could influence how strong your potions turn out. (Need for potion strength as an attribute - so not all potions of the same kind be the same strength,)
  • The potion creation itself could work the same way as the traditional Potion Maker.
Enchanting
I would like the following changes to the way enchanting works in the game.
  • I don't think the enchanter should be able to carefully choose negative effects to offset the positive ones. Side-effects should depend on the kind of enchantment, the kind of item and the skills of the enchanter.
  • Enchanting could happen step by step. At each step you choose the effect you would like added to the item.
  • Then, depending on the skill of the enchanter, the item gains some enchantment effect of the kind chosen and also depending on the skill of the enchanter some enchantment side-effect. The stronger the enchantment (of the kind) already in the item, the lower the (chance of) added bonus and higher the risk of side-effects.
Some examples to illustrate these last points:
- let's say you are adding a cast-when-used fire-damage effect
- first, when the item is totally non-enchanted, you begin by adding some fire-damage effect, like +1, so the item will have a total of +1
- then, in the second step, the item already has +1 to begin with, so if you successfully add another point, you end up with the item having a +2 enchantment
- as you take step after step and come nearer and nearer to the capacity of the item, it becomes less and less likely that you succeed to add another +1 of the desired effect and more and more likely that a point of some side-effect is added
  • Side-effect would be random, but depending on the kind of enchantment added to the item. (e.g. if you are adding a cast-when-used fire damage enchantment, getting a fire-damage-to-caster side-effect could be deemed more likely in comparison to something totally unrelated to fire)
  • When the player is doing the enchanting, the strength of enchantment effect added and the likelihood of success could depend on Alteration skill, while the Mysticism skill could lower the risk of side-effects. When done commercially, some standard skill values could be used in the same formula, possibly also depending on venue quality.
  • Relative item capacities could remain unchanged. Cost of commercial enchantment should be lower per stage (since there are several stages of enchantment), but should be calculated so the compete cost would be comparable to the current complete cost.
  • One important aspect is the power source of enchanting. One possibility is using the enchanter's magicka (would potentially be slow). Another possibility is to have some ingredients the enchanter could consume to supply the power. (Having harvested souls for this purpose is a possibility and I don't mind this as a possibility in the game but would mind it being the only possibility - I have always considered harvesting souls evil and I would not like the only available method of enchanting to be a morally questionable one)
  • Technically, the enchanting could be cone through a window much akin to the current one in the game.
  • Enchanting should take some time, and concentration, so the PC should only be able to do it at a safe place (own houses or possibly other places he is allowed to sleep).
  • The enchanting process could indeed be simulated on an iterative point-by-point basis. That does not mean however that each iteration need be separately manually initiated by the player. I can imagine a solution where the player gives the item that he wants to enchant, the type of enchantment that he wants to add and the time/magicka points/ whatever he would like to invest in the process at that time and then the game would simulate the process step by step and just give the end-result.
Creation. Conjuration. Formation.
A fine distinction should be drawn between creation and conjuration.
Creation means to create something out of thin air. The ability to create an item should probably depend on magical abilities but also on your understanding of the item in question. After all, even the strongest of wizards should not be able to create a bow if he doesn't have a good enough understanding of the concept of bow (what it is, how it is built, what it is like etc).
Conjuration means that the given item existed already. It is just made to appear (and disappear from the place where it was situated before the spell). This has an implication of stealing. If you conjure up someone else's item and get caught with it in your possession, you might get prosecuted for stealing. The chance of getting caught should increase as the item gets rarer. Like, if you conjure up a steel sword, chances are that the owner could not identify it even if you met him. But, if you conjure up somebody's enchanted armor, he might actually miss it and go look for it and you are more likely to get caught.
With items, there should be both ways obtaining them magically. Creation should be more difficult, but it would go without the danger of prosecution for stealing. There could also be a possibility to first use a Mysticism spell to create the material out of thin air, then you could use an Alteration spell to form the item you want (in quite bad a condition) and then use a spell (perhaps Restoration or Alteration) to improve its condition. You should only be able to form or create an item if you have thorough understanding (for a sword, some skill with swords perhaps). Conjuration should involve a certain chance of prosecution for stealing, while it should not require so thorough understanding with the additional possibility of the Conjuration spell yielding something slightly different (perhaps a long sword when a short sword is sought or an enchanted item when a simple item is sought etc).
Later on, I would also consider adding spells to conjure up monsters, beasts, undead or daedra etc. These should work it the following way. You conjure up the thing. It remains bound to you for some time. Then, the bind disappears and the thing might attack you just as it might attack anything or anyone else. You can conjure up living things, but not create them.
Last edited by meritamas on Sun Jun 19, 2022 7:28 am, edited 13 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #7

Post by meritamas »

Last change to this post: 2022-10-12
Last change to any development post: see in the first dev post
When can you expect me to be on the forums next: see in the first dev post


Realistic Sun and Moon paths on the sky - a short summary of my elaborations so far

The Sun and moons always rise exactly in the East and set exactly in the West. This is very strange because on Earth we are used to the time and exact direction the Sun rises above or goes under the horizon being dependent on geographical location as well as time of year. Also, the route it travels on the sky.

Some months ago, I thought maybe modding this would be easy, so I wrote to Interkarma [TODO: include the ideas he gave me here], he gave me some suggestions on where to start and that's when I realized it would take me a lot of effort to accomplish this. Anyway, I did do some thinking about it. Some of what I came up with are the following.
meritamas wrote: Mon Aug 10, 2020 11:21 am Axis Tilt - I'd go with: 'it should be similar to the Earth's because it is one of the main factors which makes four seasons possible' (Not sure if this claim is scientifically accurate, but I definitely recall having heard or read it from a reputable source - haven't looked into it further at this point) - so if Nirn has a Winter, Spring, Summer and Fall, that would imply a tilt of the axis somewhere near 23.5 degrees; for simplicity, I'd go with 22.5 (1/4 of 90) or 20

Place of the continent of Tamriel on the planet:
I was looking at the topmost map here (and others on the Internet).

The lower regions - seem to be likely tropical, but I wouldn't say that of the Imperial Province or Morrowind. So, the Southern part of the map could go down as far as the Equator itself. The Northern part could go up to 80 degrees North.

Looking at the map of Tamriel, the latitudes of the Daggerfall map could be placed roughly in the 3rd quartile from the South. If the whole map was from 0 to 80 North, that would mean 20 degrees, from 40 Degrees North to 60 degrees North.
On the other hand, taking that the DF map has 500 rows of pixels, it would be convenient to say it takes up 25 degrees of latitute and one degree of latitude would correspond to 20 rows of pixels on the map, with each row representing 3 minutes of latitude.
The northernmost part of the map could be just North of the Arctic Circle (22.5 deg), at say 70 deg North. So, the southernmost part would be at 45 deg North.

...Another interesting bit could be the delayed sunrises and sunsets (Timezones)...

So anyway, I'd do it somehow like this. Perhaps an even better way would be to estimate one line of pixels on the map to represent 2 minutes of latitude. That would reduce the differences and make the whole map take up a latitude of 16.67 degrees. The northernmost part could be just over the Arctic Circle. ...a lot of lore could be invented for the stuff that happens on the days the Sun doesn't rise...
2022-10-12: Another thing is this map.
tumblr_nium22Z8PV1sh0p4ro1_500.jpg
tumblr_nium22Z8PV1sh0p4ro1_500.jpg (47.18 KiB) Viewed 861 times
I originally saw it on this forum thread and downloaded it from here.

It seems that the rectangle of the game map and that the current North in DFU is not due North as it should be as per the map of Tamriel. This could be corrected as well.
Last edited by meritamas on Wed Oct 12, 2022 3:34 pm, edited 4 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #8

Post by meritamas »

Last change to this post: 2021-08-25 - post to be updated in the summer when switching to DFU v0.13.5 Beta
Last change to any development post: see in the first dev post
When can you expect me to be on the forums next: see in the first dev post


Mods I like

Will try to develop MMM so that it is compatible and does not interfere with other mods I like.

Mods where issues will probably arise:
  • Enhanced Sky - if I choose to implement the Sun and Moon paths on the sky as described here
  • Unleveled Loot by Ralzar and Roleplay Realism Items by Hazelnut - when I go into implementing my unleveled class enemies module, care will be needed with equipment generation
  • Travel Options - if I choose to implement a way to speed up and automate some of the routine things I used to do to increase certain character skills (e.g. Running Jumping and Climbing)
Mods where issues with MMM are somewhat likely - mods complex enough that it probably requires care to avoid stumbling into one of its features by accident: Mods whose scope is such that a conflict with MMM is unlikely: Questpacks - I think a conflict with MMM is extremely unlikely:
  • 1st DFU QuestPack
  • The Forgotten Questpack
  • Jay_H's Random Little Quests
Last edited by meritamas on Sun Jun 19, 2022 7:30 am, edited 9 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #9

Post by meritamas »

Last change to this post: 2022-02-14
Last change to any development post: see in the first dev post
When can you expect me to be on the forums next: see in the first dev post


My alternative attribute and skill system

The following is a short adaptation of my idea published in the 7th post here: viewtopic.php?t=2042.
This is already implemented, I have played DFU with these changes and they appear to work and I have not detected any bugs.
Disclaimer: this is not implemented as a mod but as an edit to core game files (as I didn't think it could be done through the mod system).

Howto

My idea of how you could do it.
1. Download the DFU source code.
2. Open it in Unity.
3. Build the Addressables.
4. Change the code as per the model code in this GitHub repo.
5. Use Unity to build DFU.
<from this point on, carry on as if you had just downloaded a DFU build>

A short description of the system

I would propose a system in which there are normal circumstances and extraordinary circumstances.
Under normal circumstances, there would be set upper limits, but these would not all be 100, but instead could vary by race. It makes perfect sense to have a High Elf or a Breton able to achieve more in the field of magic naturally, and e.g. a Nord or a Khajiit better naturally suited for physical challenges. I have read through the descriptions of races here and come up with the following (changes highlighted in red made as of 14 February 2022).

Breton: STR -1 END -1 INT +2 WIL +2 SPEED -1 AGI -1
High Elf: STR -2 END -2 INT +2 WIL +2 SPEED +0 AGI +0
Wood Elf: STR -1 END -2 INT 0 WIL -1 SPEED +2 AGI +2
Dark Elf: STR +0 END -2 INT +1 WIL +0 SPEED +0 AGI +1
Redguard: STR +2 END +0 INT -2 WIL -2 SPEED +1 AGI +1
Nord: STR +2 END +2 INT -2 WIL +0 SPEED -1 AGI -1
Khajiit: STR -1 END +1 INT +0 WIL -2 SPEED +1 AGI +1
Argonian: STR -1 END +1 INT +1 WIL +0 SPEED -1 AGI +0

The table is to be interpreted in the following way.
-2 means that the given race has a base maximum of 80 defined for the given attribute. Likewise, -1 implies a maximum of 90, +0 a maximum of 100, +1 a maximum of 111 and +2 a maximum of +125. I tried to set the figures so that it be as well balanced as I could manage. I left out personality and luck so that each race has equal opportunity in these areas.

These modifications could be thought of as follows. We consider 100 to be the pinnacle of mortal achievement, on average, but the individual races have their general tendencies, as discussed above, so 100 is the maximum that a member of a race with an average amount of talent in a given attribute gets. In attributes that the race excels in, it gets a higher maximum and in attributes it is weaker in, it gets a lower maximum.

Then, there would be extraordinary circumstances. E.g. you finish a difficult quest chain for the Gods or Deadra or a very powerful and ancient wizard (quests and quest chains to be modded in, also) and as a reward, you can somehow become even greater at some attribute.

Regarding skills: the basic rule could be that a character of a given race can master a skill to the same maximum as the base maximum stated above for the attribute that governs the given skill + extra points enabled by the fact that the given skill is the character's primary skill etc. (question: any exceptions? - see below):
+25 for Primary skills
+11 for Major skills
+0 for Minor skills
-13 for miscellaneous skills

The skill increase mechanism also needed fine-tuning. I think the amount of effort it takes to develop a given skill should be contingent not on current skill level, but on the difference between its maximum and current state.
Last edited by meritamas on Sat Mar 12, 2022 2:54 pm, edited 15 times in total.

meritamas
Posts: 138
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

MeriTamas's (Mostly) Magic Mod - Dev Post #10

Post by meritamas »

Last change to this post: 2021-09-25
Last change to any development post: see in the first dev post
When can you expect me to be on the forums next: see in the first dev post


A brief introductory message to let you know how I plan to conduct myself in the DFU community in the coming years. Originally posted as a topic opener on 13 June 2021. Text that was altered or edited in after the original message was posted will be highlighted in the color red.

I have been here, with a couple of several-months-long breaks, for years now. I have grown fond of this site and the community. And also the game.

I am currently recovering from an illness. Arguably, the worst part is now behind me, but in all likelihood, I will not be 'running' at full capacity for several more months, perhaps even into the year 2022. But, there is a silver lining. I have a lot of time to think about myself, my life, my things and it seems I have an opportunity now to become a better person and improve my life. What does that mean for the DFU community? Well, first I would like to be more conscious about things.

I am a busy man. A husband and father of two who has a lot of responsibilities but also a lot of other things on his mind, not just DFU. It also occured to me that it might be better if I forgo DFU altogether. In the end, it seems that this is not the case. I think there will be some time in my life for DaggerFall Unity in the future too.

I have come to like this game very much. I think this will be 'my computer game', the computer game I would like to spend a lot of time playing in the rest of my life and the one I would like to mod so I find it even more satisfactory.

So, my primary goal here is not to serve others, gain fame or fortune or be popular. My primary goal in the DFU community is to get the game to fit my liking as much as I can. However, I realize that I have gotten a lot from the developers, from the community, so I would like to return some of that by releasing the ideas and code I create so others can enjoy them, perhaps even build on them. At the same time, to a limited extent, I am also willing to customize them so they fit the liking of other community members too, not only my own. I will also try and help others when I can from time to time.

I will be concentrating my efforts around the project I have named MeriTamas's (Mostly) Magic Mod (or "MMM" or "MT's MMM" for short).

I will not be updating or fixing any of my previous mods (Advanced Teleportation, Unleveled Spells [eventually I will post all their names and links here]). Instead, I plan to make MMM a large singular modular mod, maintain only that one mod and integrate any previous mods' functionality into it. Please be patient. As I mentioned, I am still recovering from an illness and will have limited opportunity to develop anything in the coming months. However, I don't insist on my name being on anything. If there are other authors who produce mods that do the work, I will be happy to use those mods and focus my MMM efforts on areas that are of less (or no) interest to others.

Will also try to develop MMM so that it is compatible and does not interfere with other mods I like. On occasion, I will also attempt to contact other mod authors and attempt to secure cooperation on issues related to MMM's connectivity to their mod (like a spell that only makes sense in the context of another mod - e.g. Ralzar's Cloaks and Calories keeps track of how wet the PC's clothes are, if I make a spell whose purpose is to get the clothes dry, that would only make sense in the context of Ralzar's mod, so cooperation seems preferable).

Mods that I currently like and plan to be using are enumerated in a previous dev post (will try to keep as up-to-date as possible).

I will also not be using Nexus Mods any more. I will be sharing files via a file sharing service and source code via GitHub. This latter I have not used in the past but I have the impression it is worth learning to use and plan to do so. [will post the details when available]

I will be posting the updates mainly in this forum, in this thread, here on the first page (first 10 messages). From time to time, as things progress, I plan to draw your attention to this thread by creating a new post. I also plan to respond to your input that I receive on this thread. For the most part, I will not be looking much at my previous threads, so please post here if you have anything you'd like to share with me (or PM here in the forums).

This will be a long term project, one I am planning to be working on in the years to come. Anytime, the situation might change and/or I may lose interest in the project but that seems unlikely to happen in the foreseeable future. In any such unlikely event, I will let you know and say my farewells.
Last edited by meritamas on Sat Mar 12, 2022 2:54 pm, edited 8 times in total.

Post Reply