From 9272335a250aa5eeb05fbe9b20b910390860e67e Mon Sep 17 00:00:00 2001 From: Angel Date: Thu, 21 May 2020 22:27:10 +0200 Subject: [PATCH] Final v2 preparations --- README.md | 5 +- mih_sp/arcane/arcane_aftercare.tpa | 4 +- mih_sp/arcane/arcane_core.tpa | 4 + mih_sp/divine/divine_aftercare.tpa | 2 +- mih_sp/divine/spells/mh#prs23.spl | Bin 6882 -> 6882 bytes mih_sp/docs/arcane_spell_list.html | 58 +++++++ mih_sp/docs/divine_spell_list.html | 86 ++++++++++- mih_sp/docs/readme-mih_sp.html | 145 ++++++++++++++---- mih_sp/docs/scroll_codes.txt | 2 - mih_sp/lib/always.tph | 2 +- mih_sp/lib/missing_ids.tpa | 2 + mih_sp/{setup-mih_sp.ini => mih_sp.ini} | 0 mih_sp/setup-mih_sp.tp2 | 22 +-- mih_sp/sfo/filetype/lib_eff.tpa | 4 + .../cleric_druid_spell_restrictions.tpa | 57 ------- mih_sp/tweaks/revised_constitution_table.tpa | 5 + mih_sp/tweaks/spell_improvements.tpa | 10 +- 17 files changed, 292 insertions(+), 116 deletions(-) rename mih_sp/{setup-mih_sp.ini => mih_sp.ini} (100%) delete mode 100644 mih_sp/tweaks/cleric_druid_spell_restrictions.tpa diff --git a/README.md b/README.md index 193b569..bd713d3 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,8 @@ A spell pack for Baldur's Gate 1 and Baldur's Gate 2. ## Version History -Version 2 - ??? +Version 2 - 21 May 2020 +- Almost complete rewrite using the SFO library -Version 1 - 2 May 2018 +Version 1 - 1 June 2019 - Initial version diff --git a/mih_sp/arcane/arcane_aftercare.tpa b/mih_sp/arcane/arcane_aftercare.tpa index 36b319c..785113b 100644 --- a/mih_sp/arcane/arcane_aftercare.tpa +++ b/mih_sp/arcane/arcane_aftercare.tpa @@ -21,13 +21,13 @@ BEGIN "mh#wiz51" => "WIZARD_SUPERHEROISM" "mh#wiz52" => "WIZARD_SPELL_MATRIX" "mh#wiz53" => "WIZARD_RAMAZITHS_SLIME_SUMMONS" - "mh#wiz54" => "WIZARD_DISMISSAL" + //"mh#wiz54" => "WIZARD_DISMISSAL" "mh#wiz55" => "WIZARD_STARFIRE" "mh#wiz61" => "WIZARD_MORDENKAINENS_LUCUBRATION" "mh#wiz62" => "WIZARD_ISAACS_GREATER_MISSILE_STORM" "mh#wiz71" => "WIZARD_FAERIE_SWORD" "mh#wiz72" => "WIZARD_STYGIAN_ICE_STORM" - "mh#wiz73" => "WIZARD_BANISHMENT" + //"mh#wiz73" => "WIZARD_BANISHMENT" "mh#wiz81" => "WIZARD_DEATHBOLT" "mh#wiz82" => "WIZARD_MAJOR_GLOBE_OF_INVULNERABILITY" "mh#wiz83" => "WIZARD_POLAR_RAY" diff --git a/mih_sp/arcane/arcane_core.tpa b/mih_sp/arcane/arcane_core.tpa index bd12e32..6708d53 100644 --- a/mih_sp/arcane/arcane_core.tpa +++ b/mih_sp/arcane/arcane_core.tpa @@ -275,6 +275,7 @@ BEGIN END + /* // mh#wiz54 - Dismissal LAUNCH_ACTION_FUNCTION install_spell @@ -284,6 +285,7 @@ BEGIN location = "spells" editstring = "say_name=>49" END + */ // mh#wiz55 - Starfire @@ -359,6 +361,7 @@ BEGIN END + /* // mh#wiz73 - Banishment LAUNCH_ACTION_FUNCTION install_spell @@ -368,6 +371,7 @@ BEGIN location = "spells" editstring = "say_name=>50" END + */ // mh#wiz81 - Deathbolt diff --git a/mih_sp/divine/divine_aftercare.tpa b/mih_sp/divine/divine_aftercare.tpa index 2abe045..685dc07 100644 --- a/mih_sp/divine/divine_aftercare.tpa +++ b/mih_sp/divine/divine_aftercare.tpa @@ -50,7 +50,7 @@ BEGIN END MAKE_PATCH - clone_effect_inline=>~match=>"opcode = 83 and parameter2 = 227" number_to_add=>2 opcode=>"entry_index from [205 221] parameter1=>0 parameter2=>%sectype%~ + clone_effect_inline=>~match=>"opcode = 83 and parameter2 = 227" number_to_add=>2 opcode=>"entry_index from [205 221]" parameter1=>0 parameter2=>%sectype_value%~ END END diff --git a/mih_sp/divine/spells/mh#prs23.spl b/mih_sp/divine/spells/mh#prs23.spl index 210afef4ddea950f1ca02ea12085ba98b87d694f..df2a7c6fce0e49dbe2608bc71ebc8c1d0a98a918 100644 GIT binary patch delta 12 TcmaE4`p9&GA|t~_r2|p`A

This spell creates a shower of purple sparks at the point designated by the caster. Every creature caught within will be shocked for 4d4 points of electrical damage unless they save versus spell, in which case they will take half damage.

+

Seeking
@@ -32,6 +33,7 @@ Saving Throw: None

This spell slightly twists the normal laws of momentum and gravity in the recipient's favor, making her arrows, bolts or other projectiles veer towards their intended target, even dodging around obstacles if needed. For the duration, the recipient has a +4 bonus on all to-hit rolls with ranged weapons.

+

Improved Magic Missile
@@ -44,6 +46,7 @@ Saving Throw: None

Like the 1st-level spell Magic Missile, Improved Magic Missile creates missiles of magical energy that dart from the wizard's fingertips and unerringly strike their target, which must be a creature of some sort. However, this spell creates up to eleven such missiles instead of only five. The damage is still the same, 1d4+1 per missile. For a caster below 11th level this spell works just like Magic Missile, but at 11th level she gets 6 missiles, then 7 at 13th level and so on up to 11 missiles at 21th level. The Shield spell and other effects that specifically counter Magic Missile will also block the missiles created by this spell.

+

Heroism
@@ -56,6 +59,7 @@ Saving Throw: None

This spell causes the recipient's life energy to surge, making her perform at a higher level than she actually is. Base THAC0 is improved by 10%, and the recipient's hit points are raised by 10%, this may cause the recipient to have more hit points than her current maximum. Any damage taken reduces these magically gained hit points first, if any remain after the spell expires these will be lost, but the recipient will not take any additional damage.

+

Blink
@@ -68,6 +72,7 @@ Saving Throw: None

Upon casting this spell, the caster starts rapidly winking in- and out of existence, making it difficult to strike her with any weapons. However, the caster has no control over where and when she winks into existence, making it more difficult to strike opponents and possibly placing her in a dangerous situation. For the duration of the spell, the caster's AC is improved by 4 and all physical attacks deal half their normal damage, but the caster has a -4 penalty to hit.

+

Scintillating Sphere
@@ -80,6 +85,7 @@ Saving Throw: 1/2

This spell creates a burst of electricity, shocking anyone unfortunate enough to be in the area for 1d6 damage per level of the caster (up to a maximum of 10d6). A grape-sized sphere appears near the caster and travels to the designated point at a high velocity, where it bursts into the scintillating sphere. Creatures failing their Saves vs. Spell take full damage from the shock. Those who roll succesful Saving Throws have managed to partially evade the blast and receive half damage.

+

Minor Malison
@@ -92,6 +98,7 @@ Saving Throw: None

The spell allows the caster to adversely affect all the Saving Throws of her enemies. The effect is applied to all hostile creatures within the area of effect. Opponents under the influence of this spell make all Saving Throws at a penalty of -2.

+

Ball Lightning
@@ -104,6 +111,7 @@ Saving Throw: 1/2

This spell creates glowing, floating orbs of electrical energy that unerringly seek out targets designated by the caster. Upon contact, the floating orb shocks the victim for 4d12 points of electrical damage. The caster gains one orb for every five levels, up to four. Each orb can be targetted at a different creature.

+

Iron Maiden
@@ -116,6 +124,7 @@ Saving Throw: None

This secret spell of the Harpers creates a construct known as a "helmed horror" which appears as an animated suit of armor wielding a flaming long sword. The creature will fight as directed by the caster for the duration of the spell, after which it falls apart into worthless junk. Because this is a construct created on the spot and not a creature conjured from elsewhere, the iron maiden is not vulnerable to effects that specifically target summoned creatures.

+

Command Elementals
@@ -128,6 +137,7 @@ Saving Throw: Neg.

This spell enables the caster to command (or wrest command of) a single creature from one of the elemental or para-elemental planes.

+

Rary's Mnemonic Enhancer
@@ -140,6 +150,7 @@ Saving Throw: None

This spell restores previously cast spells to memory so they may be cast again. Up to three spells will be restored, one of which can be up to third level, one up to second, and the final one of first level. Only arcane spells can be restored.

+

Evard's Black Tentacles
@@ -152,6 +163,7 @@ Saving Throw: Neg.

By means of this spell, the wizard calls forth a mass of writhing tentacles that grab on to any creature in the area, holding them in place and dealing 1d6+4 crushing damage per round. A succesful save versus spell allows a victim to escape, but as long as they remain in the area they may be grabbed again.

+

Isaac's Lesser Missile Storm
@@ -165,6 +177,27 @@

This spell bombards all hostile creatures in the designated area with magic missiles similar to that of the Magic Missile spell. Each hostile creature will be randomly targetted by 1d3 missiles, each of which deals 1d6 damage with no saving throw. This spell will not harm party members. The missiles can be stopped by anything that also stops the Magic Missile spell, such as the Shield spell.

This spell was developed in the city of Neverwinter.

+ +
+

+ Tenser's Giant Strength
+ (Alteration)

+

Level: 4
+ Range: Touch
+ Duration: 1 round/level
+ Casting Time: 1 round
+ Area of Effect: Target creature
+ Saving Throw: None

+

This variation of the Strength spell gives the recipient the strength of one of the true giant races. The exact strength given depends on the caster's level:
+- 7- 9: Hill Giant Strength (19)
+- 10-12: Stone Giant Strength (20)
+- 13-15: Frost Giant Strength (21)
+- 16-18: Fire Giant Strength (22)
+- 19-21: Cloud Giant Strength (23)
+- 22-24: Storm Giant Strength (24)
+- 25+ : Titanic Strength (25)

+
+

Superheroism
@@ -177,6 +210,7 @@ Saving Throw: None

This spell causes the recipient's life energy to surge, making her perform at a higher level than she actually is. Base THAC0 is improved by 20%, and the recipient's hit points are raised by 20%, this may cause the recipient to have more hit points than her current maximum. Any damage taken reduces these magically gained hit points first, if any remain after the spell expires these will be lost, but the recipient will not take any additional damage. In addition to this, the spike of positive energy will render the recipient immune to fear and energy drain for the duration of the spell.

+

Spell Matrix
@@ -190,6 +224,7 @@

This spell allows a wizard to store two spells and activate them both at the same time from her Special Ability button. Both spells must be of 3rd level or lower. To create a matrix, a Mage must memorize not only Spell Matrix but also the spells she intends to store in it (a Sorcerer can store spells of any level for which she still has spell slots). After casting Spell Matrix, the player will be prompted to choose the sequenced spells from those she has memorized.

A matrix lasts until activated and, once used, releases its spells immediately (no casting time). The Special Ability icon also disappears until the next time a matrix is formed. A wizard can possess only one Spell Matrix at a time, and it may not be given to other characters.

+

Ramazith's Slime Summons
@@ -202,6 +237,20 @@ Saving Throw: None

This spell was developed by the evil mage Ramazith of Baldur's Gate. The mage casts this spell at a specially prepared foul brew which then comes to life as a mustard jelly under her control. There is a 50% chance that the mustard jelly splits in two immediately after forming. All jellies created by this spell will fight for the mage until slain or the duration elapses.

+ +
+

+ Starfire
+ (Invocation/Evocation)

+

Level: 5
+ Range: 90 yards
+ Duration: 3 rounds
+ Casting Time: 3
+ Area of Effect: 15-foot radius
+ Saving Throw: 1/2

+

Upon casting this spell, the mage causes a rain of golden fire to descend into the area of effect. The fire deals 5d6 points of damage to anyone caught in the area, with a save versus spell allowed for half damage.

+
+

Mordenkainen's Lucubration
@@ -214,6 +263,7 @@ Saving Throw: None

This spell restores previously cast spells to memory so they may be cast again. Up to three spells will be restored, one of which can be up to fifth level, one up to fourth, and the final one up to third level. Only arcane spells can be restored.

+

Isaac's Greater Missile Storm
@@ -227,6 +277,7 @@

This spell bombards all hostile creatures in the designated area with magic missiles similar to that of the Magic Missile spell. Each hostile creature will be randomly targetted by 1d3+1 missiles, each of which deals 1d6 damage with no saving throw. This spell will not harm party members. The missiles can be stopped by anything that also stops the Magic Missile spell, such as the Shield spell.

This spell was developed in the city of Neverwinter.

+

Faerie Sword
@@ -246,6 +297,7 @@

  • disintegrated (allows save vs. death)
  • +

    Stygian Ice Storm
    @@ -259,6 +311,7 @@

    Few know the true terror of Baator, let alone the gruesome Fifth Layer. This devastating spell summons the harshest cold and bitter ice of the Fifth Layer of Baator, Stygia, to annihilate all enemies within range. As the River Styx flows through the Stygian Ice, so it does in this spell as well. Perhaps if the victims are strong enough to survive this devastation they may live to tell others about the true terror... but the River Styx has a tendency to make people forget.

    Ice from Stygia is summoned to crush all creatures within sight for 8d8 points of cold damage, with no saving throw. Finally, all creatures must save vs. spell or suffer confusion for five rounds due to the immediate contact with the frozen, forgetful waters of the River Styx.

    +

    Deathbolt
    @@ -272,6 +325,7 @@

    Death comes in many forms, but none so painful as this. For even if you evade Death's Touch, it will always leave a mark.

    This spell calls forth a magical bolt of death energy that kills a specified target, unless it makes a successful saving throw vs. spell. Even on a successful saving throw, the victim suffers 10d6 points of electrical damage.

    +

    Major Globe of Invulnerability @@ -284,6 +338,7 @@ Saving Throw: None

    This spell creates an immobile, faintly shimmering magical sphere around the caster that prevents any 1st-, 2nd-, 3rd-, 4th-, or 5th-level spell effects from penetrating (i.e., the area of effect of any such spells does not include the area of the Major Globe of Invulnerability). This includes innate abilities and effects from devices. However, any type of spell can be cast out of the magical sphere, and these pass from the caster of the globe to their subject without affecting the globe. 6th- and higher level spells are not affected by the globe, and magical attacks of 6th-level or higher, such as Spellstrike and Pierce Magic, can bring it down.

    +

    Polar Ray
    @@ -296,6 +351,7 @@ Saving Throw: None

    Upon casting this spell, the mage projects a ray of intense cold that freezes everything in its path. Everyone and everything crossing the ray will take 1d6 points of cold damage per caster level (max. 25d6).

    +

    Mechanus' Cannon
    @@ -309,6 +365,7 @@

    The true, logical justice of Primus shall be delivered unto the illogical, as pure energy descends from Mechanus.

    This spell summons the ultimate form of 'equalization' from Primus: A huge energy blast that comes from the very heart of Mechanus and fires toward the target specified by the caster, via a portal. A temporary portal will appear 10 ft. from the target and Mechanus' Logical Justice will be handed down, inflicting 20d4+10 points of magical damage, with no saving throw.

    +

    Rune of Torment
    @@ -324,3 +381,4 @@

    + diff --git a/mih_sp/docs/divine_spell_list.html b/mih_sp/docs/divine_spell_list.html index 98dbc69..9644e17 100644 --- a/mih_sp/docs/divine_spell_list.html +++ b/mih_sp/docs/divine_spell_list.html @@ -21,6 +21,7 @@ Saving Throw: None

    By touching the recipient's weapon, the priest bestows a combat blessing which increases melee damage dealt by +4. It has no effect on ranged attacks or spells.

    +

    Faerie Fire
    @@ -34,6 +35,7 @@ Saving Throw: None

    This spell outlines one or more creatures with a pale violet glow, making positions and movements easily visible. Outlined creatures are easier to strike, giving them an Armor Class penalty of -2.

    +

    Seeking
    @@ -45,8 +47,23 @@ Casting Time: 2
    Area of Effect: 1 creature
    Saving Throw: None

    -

    This spell slightly twists the normal laws of momentum and gravity in the recipient's favor, making arrows, bolts or other projectiles veer towards their intended target, even dodging around obstacles if needed. For the duration, the recipient has a +4 bonus on all to-hit rolls with ranged weapons.

    +

    This spell slightly twists the normal laws of momentum and gravity in the recipient's favor, making their arrows, bolts or other projectiles veer towards their intended target, even dodging around obstacles if needed. For the duration, the recipient has a +4 bonus on all to-hit rolls with ranged weapons.

    +
    + +
    +

    + Resist Acid/Corrosion
    + (Alteration)

    +

    Level: 2
    + Sphere: Protection
    + Range: Touch
    + Duration: 1 round/level
    + Casting Time: 5
    + Area of Effect: Creature touched
    + Saving Throw: None

    +

    When this spell is placed upon a creature by a priest, the creature's body is toughened to withstand acidic and corrosive fluids and gasses. Mild corrosives cannot harm the subject at all. The recipient can somewhat resist intense acids and corrosives (whether natural or magical in origin), such as: Melf's Acid Arrow, Vitriolic Sphere, Death Fog, Acid Storm, the touch of various slimes and puddings, ankheg spittle and the breath of black- or green dragons. In all of these cases, the corrosive agent affects the creature to some extent. The recipient has all damage sustained by acid or poison reduced by 50%. Note that they can however still be poisoned, although the spell does grant a +3 bonus to the saving throw.

    +

    Sticks to Snakes
    @@ -60,6 +77,7 @@ Saving Throw: None

    After casting this spell, the priest tosses a handful of sticks on the ground. 1d4 of these sticks will then transform into giant snakes. The snakes remain and fight for the caster until they are slain or the duration expires.

    +

    Heroism
    @@ -71,8 +89,23 @@ Casting Time: 6
    Area of Effect: 1 creature
    Saving Throw: None -

    This spell causes the recipient's life energy to surge, making perform at a higher level than actually is. Base THAC0 is improved by 10%, and the recipient's hit points are raised by 10%, this may cause the recipient to have more hit points than current maximum. Any damage taken reduces these magically gained hit points first, if any remain after the spell expires these will be lost, but the recipient will not take any additional damage.

    +

    This spell causes the recipient's life energy to surge, making her perform at a higher level than she actually is. Base THAC0 is improved by 10%, and the recipient's hit points are raised by 10%, this may cause the recipient to have more hit points than her current maximum. Any damage taken reduces these magically gained hit points first, if any remain after the spell expires these will be lost, but the recipient will not take any additional damage.

    +
    + +
    +

    + Repel Insects
    + (Abjuration)

    +

    Level: 4
    + Sphere: Animal
    + Range: Caster
    + Duration: 1 turn
    + Casting Time: 1
    + Area of Effect: 15-foot radius
    + Saving Throw: None

    +

    With this spell the druid can keep normal insects and arachnids away from the caster and her party. This includes insects summoned by the spells Summon Insects, Insect Plague and Creeping Doom. Any insects currently in the area will be driven off immediately and no more can be summoned until the duration of this spell expires.

    +

    Lightning Storm
    @@ -99,6 +132,21 @@ Saving Throw: Special

    Upon completion of this spell, the target bursts into flames, taking 6d6 points of fire damage with no save. Each round thereafter, the flames continue to burn, dealing one die less of additional fire damage. Thus, the victim takes 5d6 fire damage on the second round, 4d6 on the third and so on, until the victim makes a succesful save versus spell or the spell burns out after six rounds.

    + +
    +

    + Break Enchantment
    + (Abjuration)

    +

    Level: 5
    + Sphere: Protection
    + Range: Touch
    + Duration: Permanent
    + Casting Time: 6
    + Area of Effect: Special
    + Saving Throw: Special

    +

    This powerful abjuration frees the recipient of many unwanted enchantments, curses and other negative effects. It releases victims of paralysation and petrification, allows cursed items to be dropped, dispels magical blindness, deafness and silence, removes magically induced fear and insanity, and dispels spells of the Enchantment school up to 6th level.

    +
    +

    Superheroism
    @@ -110,8 +158,9 @@ Casting Time: 5
    Area of Effect: 1 creature
    Saving Throw: None

    -

    This spell causes the recipient's life energy to surge, making perform at a higher level than actually is. Base THAC0 is improved by 20%, and the recipient's hit points are raised by 20%, this may cause the recipient to have more hit points than current maximum. Any damage taken reduces these magically gained hit points first, if any remain after the spell expires these will be lost, but the recipient will not take any additional damage. In addition to this, the spike of positive energy will render the recipient immune to fear and energy drain for the duration of the spell.

    +

    This spell causes the recipient's life energy to surge, making him perform at a higher level than he actually is. Base THAC0 is improved by 20%, and the recipient's hit points are raised by 20%, this may cause the recipient to have more hit points than his current maximum. Any damage taken reduces these magically gained hit points first, if any remain after the spell expires these will be lost, but the recipient will not take any additional damage. In addition to this, the spike of positive energy will render the recipient immune to fear and energy drain for the duration of the spell.

    +

    Celestial Protection
    @@ -123,7 +172,7 @@ Casting Time: 8
    Area of Effect: 1 creature
    Saving Throw: None

    - Upon casting this spell, the priest bestows a powerful protection on the recipient. For the duration of the spell, will have all the immunities and resistances of a celestial creature such as a deva or planetar. These are:

    + Upon casting this spell, the priest bestows a powerful protection on the recipient. For the duration of the spell, she will have all the immunities and resistances of a celestial creature such as a deva or planetar. These are:

    • 50% resistance to acid, cold and electricity.
    • Immunity to all kinds of poison and disease.
    • @@ -131,6 +180,21 @@

    This spell can only be cast by priests of good or neutral alignment.

    + +
    +

    + Conjure Water Elemental
    + (Conjuration/Summoning)

    +

    Level: 6
    + Sphere: Elemental
    , Summoning + Range: Visual sight of
    caster + Duration: 1 turn/level
    + Casting Time: 1 round
    + Area of Effect: Special
    + Saving Throw: None

    +

    Upon casting a conjure water elemental spell, the caster opens a special gate to the elemental plane of Water, and a water elemental is summoned to the vicinity of the spellcaster. It is 60% likely that a 12-hit-dice elemental appears, 35% likely that a 16-hit-dice elemental appears, and 5% likely that a 24-hit-dice elemental appears. The elemental will do the bidding of the caster until it is slain, or the duration of the spell runs out. All of the commands given to the elemental are done telepathically so there is no time lost due to miscommunication, and no need to know the language of the summoned creature. Unlike the mage elemental conjuring spells, priests do not have to engage in a battle of the minds to control their elemental.

    +
    +

    Mass Negative Plane Protection
    @@ -144,6 +208,20 @@ Saving Throw: None

    This spell affords the caster's entire party partial protection from undead monsters with Negative Energy Plane connections (such as vampires), and certain weapons and spells that drain energy levels. The Negative Plane Protection spell opens a channel to the Positive Energy Plane, possibly offsetting the effects of the negative energy attack. A protected creature struck by a negative energy attack is protected against any form of level draining for the duration of the spell. The protected creature suffers only normal Hit Point damage from the attack and does not suffer any drain of experience. This spell cannot be cast on the Negative Energy Plane.

    + +
    +

    + Conjure Air Elemental
    + (Conjuration/Summoning)

    +

    Level: 7
    + Sphere: Elemental, Summoning
    + Range: Visual sight of caste
    r + Duration: 1 turn/level
    + Casting Time: 1 round
    + Area of Effect: Special
    + Saving Throw: None

    +

    Upon casting a conjure air elemental spell, the caster opens a special gate to the elemental plane of Air, and an air elemental is summoned to the vicinity of the spellcaster. It is 60% likely that a 12-hit-dice elemental appears, 35% likely that a 16-hit-dice elemental appears, and 5% likely that a 24-hit-dice elemental appears. All of the commands given to the elemental are done telepathically, so there is no time lost due to miscommunication, and it is not necessary to know the language of the summoned creature. Priests do not have to engage in a battle of the wits to control their summoned elemental (unlike mages). The elemental will remain under the caster's control until slain or until the spell duration expires.

    +
    diff --git a/mih_sp/docs/readme-mih_sp.html b/mih_sp/docs/readme-mih_sp.html index 6e27e47..5a27df2 100644 --- a/mih_sp/docs/readme-mih_sp.html +++ b/mih_sp/docs/readme-mih_sp.html @@ -13,7 +13,7 @@

    Made in Heaven: Spell Pack

    A Gibberlings Three Mod
    Author: Angel

    -

    Version 1 - Check for the most recent version
    +

    Version 2 - Check for the most recent version
    Languages: English
    Platforms: Windows, Mac OS X, and Linux

    @@ -24,7 +24,7 @@

    Overview

    Compatibility

    This mod has been designed to work with BGEE, BG2EE and should be backwards compatible with BG2: ToB. The mega-mods EET and BGT are also supported. This mod is not compatible with older versions of the games. -

    As a WeiDU mod, this mod should be compatible with all other WeiDU mods. There are currently no known conflicts with other mods. As for installation order, you should install the item pack fairly early, before any 'tweak' mods.

    +

    As a WeiDU mod, this mod should be compatible with all other WeiDU mods. The core components have no known compatibility issues with any mods. The tweaks might conflict with other mods that do similar things, like Spell Revisions. As a spell pack, this mod should be installed fairly early, before any 'tweak' mods.

    Installation

    @@ -33,7 +33,7 @@

    Installation

    Vanilla BG2 and Baldur's Gate Trilogy
    Before installing this mod, you must install the latest official patch, and you must also install the Throne of Bhaal Extender (ToBEx) and the G3 Fixpack version 11 or higher. This mod will not work correctly without those two installed!

    BG1EE and Siege of Dragonspear
    - If you obtained your version of the game through Steam or GoG, you must run a program called 'modmerge' before installing any WeiDU mods like this one. If you obtained your game from Beamdog, this is not required.

    + If you obtained your version of the game through Steam or GoG, you must either run a 'modmerge' or install 'A7-DlcMerger' before installing this mod (or any WeiDU-based mods, really). If you obtained your game from Beamdog, this is not required.

    BG2EE and Extended Edition Trilogy
    There are no requirements at this time. For EET, install this mod after EET has been installed but before the EET installation is finalized.

    Windows
    @@ -53,38 +53,122 @@

    Installation

    Component Descriptions

    +

    Core Components

    This mod consists of several components, each of which can be installed or removed independently from the others.

    -

    MiH Arcane Spell Pack
    +

    Arcane Spell Pack
    This installs new spells for wizards and bards. The spells will be available on the selection screen when creating a new character, and spell scrolls are distributed throughout the environment.

    Arcane Spell List

    -

    MiH Divine Spell Pack
    + +

    Divine Spell Pack
    This installs new spells for clerics and druids. The new spells will be added to the spell list as the characters level up, just like other spells for these classes.

    Divine Spell List

    -

    Additional Paladin Powers
    + +

    Paladin Powers Pack
    This gives paladins a few additional powers. Most paladins can now use Smite Evil once per day (as in Icewind Dale), dealing 1d6 points of magical damage for every three levels of the paladin. Undead Hunters instead gain Smite Undead, and Blackguards (EE only) gain Smite Good. In addition to these, all paladins cwwho can Lay on Hands (true paladin and cavalier) will gain an extra use of this ability every seven levels.

    -

    Alaghar of Clangeddin Kit
    - This introduces a new priest kit, the Alaghar of Clangeddin, for dwarven priests. When installed on BG1, Yeslick will recieve a modified version of this kit as well.

    -

    Improved Flame Blade
    - This component improves the Flame Blade spell, giving it roughly its 3.5e stats. The Flame Blade is now wielded as a scimitar and deals 1d10 points of fire damage, +1 per level (max. +10). It has +4 to hit, and counts as a +2 weapon for purposes of what it can hit.

    -

    Restored Cure Blindness/Deafness
    + +

    Spell Effect Tweaks

    +

    Restore Cure Blindness/Deafness (EXPERIMENTAL)
    This component restores the dummied out Cure Blindness/Deafness spell, separating this function from the Cure Disease spell. The stronger Neutralize Poison will still retain its ability to cure blindness and deafness.

    -

    Correct Cleric/Druid Spell Use
    - This alters a few spells that clerics or druids should not have according to P&P rules. The current list of modified spells is as follows:

    + +

    Level 4 Animate Dead for Wizards (EXPERIMENTAL)
    + This makes Animate Dead a fourth level spell for wizards. This only works if the character hasn't learned Animate Dead yet. The fifth level version remains available and enemy spell lists are not affected.

    + +

    Protection from Evil Block Domination
    + Per P&P rules, the various Protection from Alignment spells should block domination effects, but in Baldur's Gate, Protection from evil doesn't do this. This tweak makes it so. Note that it does not prevent charm effects.

    + +

    Prevent Damage during Time Stop
    + This tweak makes it impossible to deal damage to time-stopped creatures, they will be 100% resistant to everything. This is mostly to prevent the incredibly cheap Time Stop melee tactic.

    + +

    Remove All Time Stop Immunity
    + This tweak will remove immunity to Time Stop from all creatures. Casters remain of course immune to their own Time Stop spells.

    + +

    No Elemental Mind Battle
    + This removes the three-round "mind battle" from the arcane versions of the Conjure Elemental spells., making these spells actually useful.

    + +

    Spell Improvements
    + This is a collection of minor tweaks to various spells.

    +
      +
    • Larloch's Minor Drain: This spell will now slightly scale with level, draining 1d4 +1/level hit points from the target (+10 maximum).
    • +
    • Shillelagh: The Shillelagh is treated as a magical club with a +1 enhancement bonus and no penalty for non-proficiency.
    • +
    • Barkskin: If the recipient already has a better armor class than what the spell gives, they will still get an AC bonus of +1 to +5.
    • +
    • Flame Blade: The flaming sword is treated as a magical scimitar with no penalty for non-proficiency. It can strike any target not immune to fire with a +4 to hit and deals 1d8 points of fire damage, +1 for every two levels. Strength does not apply.
    • +
    + +

    Spell Availability Tweaks

    +

    Temples sell Priest Scrolls
    + Temples in the game will now sell a selection of priest scrolls. Available are Cure Light/Serious/Critical Wounds, Slow Poison, Neutralize Poison, Free Action, Chaotic Commands, Heal and Resurrection (the last two only in BG2)

    + +

    Thalantyr the *Conjurer*
    + Thalantyr of Beregost is both canonically and in-game a Conjurer, but you cannot tell by his selection of spells for sale. This component actually gives him a couple of scrolls from the conjuration school, and removes scrolls he wouldn't be able to make due to his barred school of divination.

    +

    TODO: Give him more appropriate guardians than flesh golems.

    + +

    Game Rule Tweaks

    +

    Revised Strength Table
    + This patches the tables associated with strength to be more like 3.5e. Bonuses start at 12 instead of 16 and the effects of exceptional strength are towned down a notch.

    + + + + + + + + + + + + + + + + + + + + +
    TO_HITDAMAGE
    1201
    1311
    1412
    1522
    1623
    1733
    18/0134
    18/2544
    18/5045
    18/7555
    18/0056
    1966
    1067
    2177
    2278
    2388
    2489
    2599
    +

    BEND_BARS_LIFT_GATES and WEIGHT_ALLOWANCE remain as is, as do stats for strength below 12.

    + +

    Revised Dexterity Table
    + This installs a revised dexterity table. Bonus start at 12 and the effects of very high dexterity are toned down somewhat.

    + + + + + + + + + + + + + + + + +
    REACTIONMISSILEAC
    12100
    13110
    1411-1
    1521-1
    1622-1
    1722-2
    1832-2
    1933-2
    2033-3
    2143-3
    2244-3
    2344-4
    2454-4
    2555-4
    +

    Effects of dexterity below 12 remain unchanged. Note: REACTION is displayed on your character sheet but has no effect in-game.

    + +

    Revised Constitution Table
    + This installs a revised constitution table. Bonus start at 12 and the effects of very high constitution are toned down somewhat.

    - - - - - - - - - - + + + + + + + + + + + + + + +
    SpellCleric?Druid?
    Barkskinnoyes
    Doomyesno
    Flame Bladenoyes
    Negative Plane Protectionyesno
    Protection from Firenoyes
    Protection from Lightningnoyes
    Remove Curseyesyes
    Resist Fire and Coldyesno
    Shillelaghnoyes
    OTHERWARRIORMIN_ROLL
    12111
    13111
    14121
    15221
    16231
    17231
    18341
    19341
    20351
    21452
    22462
    23463
    24573
    25574
    -

    This list is based on spell lists in the Priests' Spell Compendium (2E). Others may be added later

    -

    Prevent damage during Time Stop
    - This tweak makes it impossible to deal damage to time-stopped creatures, they will be 100% resistant to everything. This is mostly to prevent the Time Stop melee cheese tactic. Use that time for healing and buffing already! To balance things out, all immunities to Time Stop will be removed.

    +

    REGENERATION_RATE and FATIGUE_BONUS remain unchanged, as do the effects of constitution below 12.

    The .ini File

    @@ -95,8 +179,6 @@

    The .ini File

    place_spell_scrolls_in_sodSet to zero if you don't want new spell scrolls to show up in Siege of Dragonspear. place_spell_scrolls_in_bg2Set to zero if you don't want new spell scrolls to show up in Shadows of Amn. place_spell_scrolls_in_tobSet to zero if you don't want new spell scrolls to show up in Throne of Bhaal. - Alaghar of Clangeddin Kit - make_yeslick_alagharSet to zero if you don't want Yeslick to get the Alaghar of Clangeddin kit.

    Contact Information

    @@ -110,6 +192,8 @@

    Shout Outs

    DLTCEP by Avenger

    BAM Batcher by Miloch

    People who Contributed in some way
    + DavidW, for writing the SFO library that this mod uses.
    + kjeron, who provided the projectile for Scintilliating Sphere.
    All people brave enough to try and install my early beta versions...
    The people at Bioware and Beamdog, for creating respectively the original games and the Enhanced Editions in the first place.
    Anyone else I forgot? (Please let me know!)

    @@ -121,8 +205,11 @@

    Credits and Copyright Information

    Version History

    -

    Version 2 - ???

    +

    Version 2 - May 2020

      +
    • Almost complete rewrite using DavidW's SFO library.
    • +
    • Added some new spells and a couple of tweaks.
    • +
    • Some bug fixes and balancing tweaks.

    Version 1 - June 2019

      diff --git a/mih_sp/docs/scroll_codes.txt b/mih_sp/docs/scroll_codes.txt index 0f7df53..db8ff7d 100644 --- a/mih_sp/docs/scroll_codes.txt +++ b/mih_sp/docs/scroll_codes.txt @@ -18,7 +18,6 @@ mh#wiz46 Tenser's Giant Strength mh#wiz51 Superheroism mh#wiz52 Spell Matrix mh#wiz53 Ramazith's Slime Summons -mh#wiz54 Dismissal mh#wiz55 Starfire mh#wiz61 Mordenkainen's Lucubration @@ -26,7 +25,6 @@ mh#wiz62 Isaac's Greater Missile Storm mh#wiz71 Faerie Sword mh#wiz72 Stygian Ice Storm -mh#wiz73 Banishment mh#wiz81 Deathbolt mh#wiz82 Major Globe of Invulnerability diff --git a/mih_sp/lib/always.tph b/mih_sp/lib/always.tph index f69273a..ff015dd 100644 --- a/mih_sp/lib/always.tph +++ b/mih_sp/lib/always.tph @@ -62,7 +62,7 @@ BEGIN // Read the .ini file - OUTER_SPRINT ini_to_read "%mod_root%/setup-%mod_root%.ini" + OUTER_SPRINT ini_to_read "%mod_root%/%mod_root%.ini" LAUNCH_ACTION_MACRO SFO_read_ini_file END // done_init diff --git a/mih_sp/lib/missing_ids.tpa b/mih_sp/lib/missing_ids.tpa index f8c124c..a403f71 100644 --- a/mih_sp/lib/missing_ids.tpa +++ b/mih_sp/lib/missing_ids.tpa @@ -6,6 +6,8 @@ APPEND "class.ids" "219 ELEMENTAL_WATER" UNLESS "ELEMENTAL_WATER" APPEND "race.ids" "183 REPTILE" UNLESS "REPTILE" +APPEND "stats.ids" "115 PROFICIENCYCLUB" UNLESS "PROFICIENCYCLUB" + CLEAR_IDS_MAP diff --git a/mih_sp/setup-mih_sp.ini b/mih_sp/mih_sp.ini similarity index 100% rename from mih_sp/setup-mih_sp.ini rename to mih_sp/mih_sp.ini diff --git a/mih_sp/setup-mih_sp.tp2 b/mih_sp/setup-mih_sp.tp2 index 4806ece..eeb6cef 100644 --- a/mih_sp/setup-mih_sp.tp2 +++ b/mih_sp/setup-mih_sp.tp2 @@ -46,7 +46,7 @@ LAUNCH_ACTION_FUNCTION run END -// Made in Heaven: Paladin Powers +// Made in Heaven: Paladin Powers Pack BEGIN ~Made in Heaven: Paladin Powers~ @@ -59,7 +59,7 @@ END // Restore Cure Blindness & Deafness -BEGIN ~Restore Cure Blindness/Deafness~ +BEGIN ~Restore Cure Blindness/Deafness (EXPERIMENTAL)~ GROUP ~Spell Effect Tweaks~ FORBID_FILE "sppr316.spl" ~Some other mod already provides or supercedes this component.~ @@ -72,21 +72,9 @@ LAUNCH_ACTION_FUNCTION run END -// P&P Cleric/Druid Spell Restrictions - -BEGIN ~P&P Cleric/Druid Spell Restrictions~ -GROUP ~Spell Effect Tweaks~ - -LAUNCH_ACTION_FUNCTION run - STR_VAR - file = "cleric_druid_spell_restrictions" - location = "tweaks" -END - - // Level 4 Animate Dead -BEGIN ~Level 4 Animate Dead (for wizards)~ +BEGIN ~Level 4 Animate Dead for Wizards (EXPERIMENTAL)~ GROUP ~Spell Effect Tweaks~ LAUNCH_ACTION_FUNCTION run @@ -123,9 +111,9 @@ LAUNCH_ACTION_FUNCTION run END -// Remove all Timestop immunity +// Remove All Time Stop Immunity -BEGIN ~Remove all Timestop immunity~ +BEGIN ~Remove All Time Stop Immunity~ GROUP ~Spell Effect Tweaks~ REQUIRE_PREDICATE GAME_INCLUDES "bg2" ~This component is not applicable to your game.~ diff --git a/mih_sp/sfo/filetype/lib_eff.tpa b/mih_sp/sfo/filetype/lib_eff.tpa index 1f0f12a..94cf607 100644 --- a/mih_sp/sfo/filetype/lib_eff.tpa +++ b/mih_sp/sfo/filetype/lib_eff.tpa @@ -5,12 +5,14 @@ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// DEFINE_ACTION_FUNCTION clone_effect + INT_VAR allow_missing = 0 STR_VAR effect="" edits="" editstring="" BEGIN LAUNCH_ACTION_FUNCTION clone_template + INT_VAR allow_missing STR_VAR file_list= ~%effect%~ file_ext=~EFF~ edits= ~%edits%~ @@ -26,12 +28,14 @@ END ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// DEFINE_ACTION_FUNCTION edit_effect + INT_VAR allow_missing = 0 STR_VAR effect="" edits="" editstring="" BEGIN LAUNCH_ACTION_FUNCTION edit_template + INT_VAR allow_missing STR_VAR file_list= ~%effect%~ file_ext=~EFF~ edits diff --git a/mih_sp/tweaks/cleric_druid_spell_restrictions.tpa b/mih_sp/tweaks/cleric_druid_spell_restrictions.tpa deleted file mode 100644 index 64b7c11..0000000 --- a/mih_sp/tweaks/cleric_druid_spell_restrictions.tpa +++ /dev/null @@ -1,57 +0,0 @@ -DEFINE_ACTION_FUNCTION cleric_druid_spell_restrictions -BEGIN - // Druid-only spells - - LAUNCH_ACTION_FUNCTION edit_spell - STR_VAR - spell = "sppr110 sppr202 sppr206 sppr306 sppr407" - editstring = "unusable_cleric=>1 unusable_druid=>0" - END - - - // Cleric-only spells - - LAUNCH_ACTION_FUNCTION edit_spell - STR_VAR - spell = "sppr113 sppr210 sppr413" - editstring = "unusable_cleric=>0 unusable_druid=>1" - END - - - // General priest spells - - LAUNCH_ACTION_FUNCTION edit_spell - STR_VAR - spell = "sppr307" - editstring = "unusable_cleric=>0 unusable_druid=>0" - END - - - // Forget forbidden spells - - COPY_EXISTING_REGEXP ".+\.cre" "override" - READ_BYTE 0x0273 class - - PATCH_IF class == IDS_OF_SYMBOL("class" "cleric") - OR class == IDS_OF_SYMBOL("class" "fighter_cleric") - OR class == IDS_OF_SYMBOL("class" "cleric_mage") - OR class == IDS_OF_SYMBOL("class" "cleric_thief") - OR class == IDS_OF_SYMBOL("class" "fighter_mage_cleric") - OR class == IDS_OF_SYMBOL("class" "paladin") - BEGIN - REMOVE_MEMORIZED_SPELL "sppr110" "sppr206" "sppr306" "sppr407" - REMOVE_KNOWN_SPELL "sppr110" "sppr206" "sppr306" "sppr407" - END - - PATCH_IF class == IDS_OF_SYMBOL("class" "druid") - OR class == IDS_OF_SYMBOL("class" "fighter_druid") - OR class == IDS_OF_SYMBOL("class" "ranger") - BEGIN - REMOVE_MEMORIZED_SPELL "sppr113" "sppr210" "sppr413" - REMOVE_KNOWN_SPELL "sppr113" "sppr210" "sppr413" - END - - BUT_ONLY_IF_IT_CHANGES -END // correct_cleric_druid_use - - diff --git a/mih_sp/tweaks/revised_constitution_table.tpa b/mih_sp/tweaks/revised_constitution_table.tpa index 0a2924e..427767d 100644 --- a/mih_sp/tweaks/revised_constitution_table.tpa +++ b/mih_sp/tweaks/revised_constitution_table.tpa @@ -7,6 +7,11 @@ BEGIN SET other = (i - 9) / 3 SET min_roll = (i - 17) / 2 + PATCH_IF min_roll < 1 + BEGIN + SET min_roll = 1 + END + LAUNCH_PATCH_FUNCTION write_table_entry STR_VAR column = "WARRIOR" diff --git a/mih_sp/tweaks/spell_improvements.tpa b/mih_sp/tweaks/spell_improvements.tpa index 6e143e8..cfc7a90 100644 --- a/mih_sp/tweaks/spell_improvements.tpa +++ b/mih_sp/tweaks/spell_improvements.tpa @@ -21,10 +21,18 @@ BEGIN // Shillelagh // ========== + MAKE_PATCH + magical=>1 + enchantment=>1 + proficiency=>PROFICIENCYCLUB + add_effect_global_inline=>"opcode=>233 target=>1 timing=>2 parameter1=>1 parameter2=>115" + patch_ability_inline=>"to_hit=>1 damage_bonus=>1" + END + LAUNCH_ACTION_FUNCTION edit_item STR_VAR item = "shille" - editstring = "magical=>1 enchantment=>1" + edits = "patch_data" END