Jump to content

Grammarsalad

Modders
  • Posts

    664
  • Joined

  • Last visited

Posts posted by Grammarsalad

  1. Okay, so I'm trying to display the gender of the character in the class descriptions (rather than the protagonist gender).  I have tried REPLACE_TEXTUALLY replacing (e.g.) <PRO_MANWOMAN> with <MANWOMAN> in the class description, but in this case the gender doesn't display at all.  

    The same seems to be the case with tokentxt.2da.  I can get this to work (which references the protagonist info):

     

    2DA V1.0
    *
               TOKEN_TEXT PROTAGONIST STAT       VALUE      EQUALITY   STRINGT    STRINGF    
    0           RESERVE    *             *           *         *            *         *
    1      NP_MANWOMAN   1            35           2         0          woman     man

    But not this (which doesn't seem to reference anything):

    2DA V1.0
    *
               TOKEN_TEXT PROTAGONIST STAT       VALUE      EQUALITY   STRINGT    STRINGF    
    0           RESERVE    *             *           *         *            *         *
    1      NP_MANWOMAN   0            35           2         0          woman     man

     

    Any way to get this to work?

     

     

     

  2. 7 hours ago, DavidW said:

    “This”, “that” and “their” are all grammatically fine (I don’t like “that” stylistically but tastes vary.)

    “Their” has a long history as a valid singular pronoun in English - Shakespeare uses it.

     

    Agreed.

    The real problem would be if the text had to be uncertain about temporal sequence. The English language is obsessed with time:

     

    https://www.amazon.com/Through-Language-Glass-Different-Languages-ebook/dp/B00403MO0M

  3. 9 hours ago, DreamSlaveOne said:

    Yeah, I was really sad when Demi disappeared. While SR and IR in really good hands, KR fate not as glorious. Or maybe I'm just a little mad that many spell icons that Demi requested will not be implemented :D

    Do you still have those??? I could certainly use a few icons... Just sayin'

    :D

  4.  

     

     

     

     

    yup. It just allows for so much more. It+s far from perfect (it's fairly prone to crashes) but some stuff EE allows for is really good.

     

    did you switch to EE in the end?

     

     

    You were supposed to defeat the EE, not join them

    We are the borg. Existence as you know it is over. Resistance is futile

  5. How is nwn_spell_deflection.tpa handled for spells added via ADD_SPELL?

    Er, I didn't address that at all.

     

    Right now, I've finished the first step and Mike is working with it. I think he has a plan.

     

    Though, I'm happy to do whatever grunt work needs to be done if required

  6. Eh I must say that after giving it a second thought what Ulb says makes sense. Again.

     

    Perhaps it'd be best to leave the panic effect for the insects spells.

     

    I like DavidW's idea about a fixed duration for the Flesh to Stone petrified effect. And I like it even better with n-ghost's additional semi-permanent penalty.

    I agree with all of this (and thus Ulb's comments on insect spells, DavidW's on fts duration and ghosts comments on the semi permanent penalty)
  7. @Ulb

     

    I don't understand what's the differnece in case you're solo. Domination = instant death = stoning = permanent hold = feeblemind etc. In all cases, it's game over.

    I can get around permanent/item equiped immunities, that's not an issue.

     

    @Grammarsalad

    Likewise.

     

    Mike contacted me about your work with ADD_SPELL, when I'm done with SR base (and EE stuff....I've just spent 2 hours delving into code and fixing stuff..meh) we should merge our work.

    Sounds good. I will hopefully be done with the bulk of it today. The only stuff I've done in addition to ADD_SPELL is this:

     

    - Added scroll bam icon for Wiz protection from elements. I got the BAM from IWDEE.
    - 4th level d.jump (spwi402.spl) disabled for IWDEE, etc. It was selectable at character creation in IWDEE Heart of Winter though by the description it should only be a 1st level spell.
    - 4th level monster summoning II disabled for IWDEE, etc. Same reason as D. Jump.

     

    I'll keep Contagion as it is for now unless I hear otherwise.

  8. Hey Kreso, good to see you.

     

    I want to talk about Contagion. I noticed that right now it overwrites Rigid Thinking in Non-IWDEE games. Right now, I'm ADD_SPELLing it in IWDEE so it gets added in that game. Honestly, I'm not sure why it is not overwriting Rigid Thinking in IWDEE, but I'm thinking that it should either overwrite Rigid Thinking in all games or just be ADD_SPELLed in all games.

  9.  

     

    • Dimension Jump (SPWI109) IWDEE --> WIZARD_DIMENSION_JUMP
    This spell is using a new spell slot and should therefore be ADD_SPELLed.

    Sounds good. Will correct. Edit: Done

     

     

     

     

    2. Create and run a little WeiDU function (I can code this) that searches through all .spl, .eff, .itm files included in SR's folders (and perhaps IR's too) for effects with a resource value that matches one of these filenames and replace them with a placeholder like "dvfaerfi" or "dvstrsto" depending on which value matched.

    I've created the function. Once we update it with the final list of spells that will be ADD_SPELLed, it can be applied to the current files to replace references to old resource names.

     

    I'll need to add code to SR to replace these placeholders with the newly assigned names, but most of the work's done: it will be reusing the replace_spell_resources.tpa file.

    Sounds good

  10.  

    Break Enchantment (SPPR307) --> CLERIC_BREAK_ENCHANTMENT

    I would keep this as CLERIC_REMOVE_CURSE. The name has been changed but the spell performs the same function at the same level, so I think it's work standardizing the IDS names and preventing duplicates.

     

    The regenerate x wounds spells all protect against each other in the vanilla games. This changes to 321 effects in the EE engines (which is better, of course). Wouldn't it make more sense to have each version of the spell protect against lesser versions of the spell in the vanilla games (e.g. regenerate moderate wounds protects against regenerate minor wounds--and no other regenerate spell--but regenerate minor wounds wouldn't protect against regenerate moderate wounds--or better regenerate spells? I forget exactly what this would do, but if it would just override the previous spell, it makes sense to allow more powerful regenerate spells to override weaker regenerate spells.

    Yeah I was going to suggest this but then I saw you already posted it. My suggestion would be to have more-powerful versions override the less-powerful versions. That works with opcode 321 of course... but not for the non-EE opcode 206 versions. I suggest adding some custom code setting this up at the end of the EE .tpa file that adds 321.

     

    Cool. Taking Mike's advice, we should suggest this in another thread. I'm going to collect suggestions as I go and then post them later

     

     

     

    Okay, just about done with priest spells. Will start on mage spells next

    Great. I'll try to write up that function before Monday.

     

    Good stuff. I might be finished by Monday. It's moving along pretty quickly, so I'll be finished pretty soon regardless. I'll keep updating the OP as I progress

     

    Edit: Nope. There are more moving parts with Mage Scrolls. Moving along a bit slower, but making progress daily.

  11. Okay, just about done with priest spells. Will start on mage spells next

     

    A couple of things:

    • I notice that Contagion does not replace rigid thinking in IWDEE, though I'm not exactly sure why. If its an AI thing, why is it not an issue in non IWDEE games? Should the spell just be ADD_SPELLed, or is it okay to replace the IWDEE version of rigid thinking? Right now, I am ADD_SPELLing it in IWDEE, but replacing rigid thinking in non-IWDEE games.
    • The regenerate x wounds spells all protect against each other in the vanilla games. This changes to 321 effects in the EE engines (which is better, of course). Wouldn't it make more sense to have each version of the spell protect against lesser versions of the spell in the vanilla games (e.g. regenerate moderate wounds protects against regenerate minor wounds--and no other regenerate spell--but regenerate minor wounds wouldn't protect against regenerate moderate wounds--or better regenerate spells? I forget exactly what this would do, but if it would just override the previous spell, it makes sense to allow more powerful regenerate spells to override weaker regenerate spells.
  12. I have a few thoughts:

     

    1. Considerations for IWDEE shouldn't compromise any other part of the mod. SR wasn't designed for IWDEE. If the SR versions of spells would cause the IWDEE AI to mess up, we should simply avoid installing those spells on IWDEE. Later, we can examine ways to improve the IWDEE experience.

     

    2. Any truly new spell added by SR (i.e. taking up a new spell slot rather than overwriting an existing spell) should be switched to ADD_SPELL. This will prevent and avoid a wide variety of compatibility problems.

     

    3. "New" spells that are actually overwriting existing spells are probably best left alone. We can add IDS entries for them (aliases) if that helps.

     

    Okay. I can do that. That's actually easier for me. I want to still be transparent with this, so I'll modify the op with spells that are (e.g.) not installed in iwdee.

     

    And I have a few suggestions for implementing ADD_SPELL:

     

     

    1. First, identify all SPWI and SPPR spells that are going to be changed to ADD_SPELL and create a list of the filenames.

    No problem.

     

    2. Create and run a little WeiDU function (I can code this) that searches through all .spl, .eff, .itm files included in SR's folders (and perhaps IR's too) for effects with a resource value that matches one of these filenames and replace them with a placeholder like "dvfaerfi" or "dvstrsto" depending on which value matched.

     

    3. At install time, use ADD_SPELL for the files. After everything is installed, use the same WeiDU function from before to search through all .spl, .eff, and .itm files in the game and match the changed values (e.g. "dvfaerfi") with the newly assigned filenames.

     

    Likewise, we'll want to search the .tpa/.tph files to see if the old filenames are referenced in any libraries and modify those so they fetch the new filename from SPELL.IDS at install-time.

     

    Can anyone think of any references to old filenames that wouldn't be caught by this?

    I'll need help with that weidu function, but otherwise, sounds good
  13. List and TO DO:

    * NOT installed in IWDEE *

    DONE

    --> CASTER_SPELL_NAME (add to IDS)

    ADD_SPELL: CASTER_SPELL_NAME (self explanatory)

    [spell Name] eff Rename: [Old sp Name.eff] --> [New sp Name.eff]

    [spell Name] Sec Spell Rename: [Old sp Name.spl] --> [New sp Name.spl]

     

    Note: Only assigning Alias IDS entries to 'replacement' spells if done here: http://gibberlings3.net/forums/index.php?showtopic=29674&st=0

    Assigning IDS values according to this thread under the assumption that SCS uses them.

     

    Renamed Sec Spells:
    Faerie Fire: sppr114f.spl --> DVPR114F.spl
    Cause Light Wounds: sppr119d.spl --> DVPR119D.spl
    Cause Moderate Wounds: sppr219d.spl --> DVPR219D.spl
    Contagion: sppr311d.spl --> DVPR311D.spl
    Cause Serious Wounds: sppr321d.spl --> DVPR321D.spl
    Cause Critical Wounds: sppr414d.spl --> DVPR414D.spl
    Animal Growth: sppr525d.spl --> DVPR525D.spl
    Ball Lightning: spwi526d.spl --> DVWI524D.spl //yes, that's correct
    Mestil's Acid Sheath: spwi526d.spl --> DVWI526D.spl
    Renamed Effs:
    Spike Growth: sppr325i.eff --> DVPR325I.eff
    Renamed 2DAs:
    Protection from Elemental Energy: spwi426.2da --> DVWI426.2da

     

    Additional Alias IDS Entries:

     

    1209 => CLERIC_KNOW_OPPONENT (has the same value as CLERIC_KNOW_ALIGNMENT so either can be used)

    1307 => CLERIC_BREAK_ENCHANTMENT (has the same value as, CLERIC_REMOVE_CURSE so either can be used)

    1402 => CLERIC_ANIMAL_SUMMONING_SR_4 (has the same value as CLERIC_ANIMAL_SUMMONING_1 so either can be used)

    1501 => CLERIC_ANIMAL_SUMMONING_SR_5 (has the same value as CLERIC_ANIMAL_SUMMONING_2 so either can be used)

    1602 => CLERIC_ANIMAL_SUMMONING_SR_6 (has the same value as CLERIC_ANIMAL_SUMMONING_3 so either can be used)

     

    2207 => WIZARD_BATTERING_RAM (has the same value as WIZARD_KNOCK so either can be used)

    2208 => WIZARD_KNOW_OPPONENT (has the same value as WIZARD_KNOW_ALIGNMENT so either can be used)

    2309 => WIZARD_MONSTER_SUMMONING_SR_3 (same value as WIZARD_MONSTER_SUMMONING_1 so either can be used)

    2410 => WIZARD_BREAK_ENCHANTMENT (same value as WIZARD_REMOVE_CURSE so either can be used)

    2423 => WIZARD_MONSTER_SUMMONING_SR_4 (same value as WIZARD_SPIDER_SPAWN so either can be used)

    2605 => WIZARD_BANISHMENT (Same value as WIZARD_DEATH_SPELL so either can be used)

    2801 => WIZARD_GHOSTFORM (same value as WIZARD_DELETED in BG(2)EE or WIZARD_MONSTER_SUMMONING_6 in IWDEE

     

    New ADD_SPELL values

     

    CLERIC_POLYMORPH_OTHER (SPPR519) Druid polymorph other

    CLERIC_ANIMAL_SUMMONING_SR_7 (SPPR716) Animal Summoning VII

     

    WIZARD_KNOW_ALIGNMENT_SR_1 (SPWI126) Detect Alignment, 1st level version

    WIZARD_RESIST_ELEMENTS (SPWI225) Resist Elements, wiz 2nd level version

    WIZARD_BALL_LIGHTNING (SPWI524) Ball Lightning (not created yet, it appears--same value as prot from fire below)

    WIZARD_PROTECTION_FROM_FIRE_SR_5 (SPWI524) 5th lev prot from fire (yes, currently same value as ball lightning)

    WIZARD_PROTECTION_FROM_COLD_SR_5 (SPWI525) 5th lev prot from cold

     

     

    Changes outside the scope of ADD_SPELL: Any other changes (and justification for those changes) will be noted here.

     

    - Added scroll icon for wiz Resist Elements (used cleric Resist Elements from IWDEE). Reason:: The scroll was missing a proper icon and a suitable bam was available and easy to add.

    - 4th level d.jump (spwi402.spl) disabled for IWDEE, etc. It was showing up in spell selection in IWDEE (at least) at 4th level during character creation (by the description is a 1st level spell)

    - 4th level monster summoning II (SPWI407) disabled for IWDEE, etc. It was showing up in spell selection in IWDEE (at least) at 4th level during character creation (shouldn't exist alongside SR Monster Summoning IV)

     

    Suggestions:

    - ADD_SPELL Contagion in all games (rather than replacing Rigid Thinking)

    - Regenerate spells only protect vs. lower level/less effective versions of regenerate

    - Use IWDEE icon bams for Expeditious Retreat (both IWDEE and non-iwdee version--currently uses prot from petrification)

     

    General Issues:

     

    - IWDEE: SPPR210, SPPR619, SPWI326 are added to Hidespl.2da making spells with these values unavailable (only an issue with SPPR210 Resist Elements)

     

    Priest Spells

     

    Level 1:

     

    • Faerie Fire (SPPR114): ADD_SPELL: CLERIC_FAERIE_FIRE
    • Faerie Fire Sec Spell name change: sppr114f.spl --> DVPR114F.spl
    • Strength of Stone (SPPR115) ADD_SPELL: CLERIC_STRENGTH_OF_STONE
    • Sunscorch (SPPR116): ADD_SPELL: CLERIC_SUNSCORCH
    • Regenerate Light Wounds (SPPR117): ADD_SPELL: CLERIC_REGENERATE_LIGHT_WOUNDS
    • Issue: Protects vs. SPPR217, SPPR619/711/217/323/419 (i.e. other regen spells)
    • Goodberry (SPPR118) ADD_SPELL: CLERIC_GOODBERRY_DRUID_VERSION
    • * Cause Light Wounds (SPPR119) ADD_SPELL: CLERIC_CAUSE_LIGHT_WOUNDS *
    • Cause Light Wounds Sec Spell name change: sppr119d.spl --> DVPR119D.spl
    • Animal Summoning I (SPPR120) ADD_SPELL: CLERIC_ANIMAL_SUMMONING_SR_LEVEL_1
    • Obscuring Mist (SPPR121) ADD_SPELL: CLERIC_OBSCURING_MIST
    • Obscuring Mist eff Rename: sppr121i.eff --> DVPR121i.eff
    • Remove unnecessary ALTER_EFFECTS, etc.

     

    Level 2:

     

    • Know Opponent (SPPR209) --> CLERIC_KNOW_OPPONENT
    • Resist Elements (SPPR210) --> CLERIC_RESIST_ELEMENTS
    • Cure Moderate Wounds (SPPR215) ADD_SPELL: CLERIC_CURE_MODERATE_WOUNDS
    • Fire Trap (SPPR216): ADD_SPELL: CLERIC_FIRE_TRAP
    • Regenerate Moderate Wounds (SPPR217): ADD_SPELL: CLERIC_REGENERATE_MODERATE_WOUNDS
    • Issue: Protects vs. SPPR619/711/117/323/419 (i.e. other regen spells)
    • Gust of Wind (Druid) (SPPR218) ADD_SPELL: CLERIC_GUST_OF_WIND_DRUID_VERSION
    • * Cause Moderate Wounds (SPPR219) ADD_SPELL: CLERIC_CAUSE_MODERATE_WOUNDS *
    • Cause Moderate Wounds Sec Spell Rename: sppr219d.spl --> DV
    • Animal Summoning II (SPPR220) ADD_SPELL: CLERIC_ANIMAL_SUMMONING_SR_LEVEL_2
    • Remove unnecessary ALTER_EFFECTS, etc.

     

    Level 3:

    • Break Enchantment (SPPR307) --> CLERIC_BREAK_ENCHANTMENT
    • Contagion (SPPR311) Does not replace rigid thinking in IWDEE. ADD_SPELL in IWDEE: CLERIC_CONTAGION Non IWDEE: --> CLERIC_CONTAGION
    • Contagion Sec Spell Name Change: sppr311d.spl --> DVPR311D.spl
    • Issue:Why does this spell not replace Rigid Thinking in IWDEE??? Should it just be added by ADD_SPELL in all games?
    • Contagion Sec Spell Name Change sppr311d.spl --> DVPR311D.spl
    • Gust of Wind (SPPR (Cleric version?) --> CLERIC_GUST_OF_WIND
    • Animal Summoning III (SPPR320) ADD_SPELL: CLERIC_ANIMAL_SUMMONING_SR_LEVEL_3
    • * Cause Serious Wounds (SPPR321) ADD_SPELL: CLERIC_CAUSE_MEDIUM_WOUNDS *
    • Cause Serious Wounds Sec Spell Rename: sppr321d.spl --> DVPR321D.spl
    • Storm Shield (SPPR322) ADD_SPELL: CLERIC_STORM_SHIELD
    • Issue: Storm Shield: Protects vs. SPWI213/502/614/810, WAND13, SPPR319/517/717/319B/517B/717B/322
    • Regenerate Serious Wounds (SPPR323) ADD_SPELL: CLERIC_REGENERATE_SERIOUS_WOUNDS
    • Issue: Protects vs. SPPR619/711/117/217/419 (i.e. other regen spells)
    • Magic Fang (SPPR324) ADD_SPELL: CLERIC_MAGIC_FANG
    • Issue: Why not installed in IWDEE??? Installing in IWDEE
    • * Spike Growth (SPPR325) ADD_SPELL: CLERIC_SPIKE_GROWTH *
    • Spike Growth Eff Name change: sppr325i.eff --> DVPR325I.eff
    • Issue: Why not installed in IWDEE??? Not needed (already a version in IWDEE)
    • Icelance (SPPR326) ADD_SPELL: CLERIC_ICELANCE
    • Remove unnecessary ALTER_EFFECTS, etc.

     

    Level 4:

    • Protection from Lightning Disabled in IWDEE as in other games
    • * Cause Critical Wounds (SPPR414) *
    • Ice Storm (SPPR418) ADD_SPELL: CLERIC_ICE_STORM
    • Regenerate Critical Wounds (SPPR419) ADD_SPELL: CLERIC_REGENERATE_CRITICAL_WOUNDS
    • Issue: Protects vs. SPPR619/711/117/217/323 (i.e. other regen spells)

     

    Level 5:

    • * Cause Wounds (SPPR510) Disabled *
    • * Slay Living * (SPPR511) *
    • Polymorph Other (SPPR519) ADD_SPELL: CLERIC_POLYMORPH_OTHER
    • Protection from Acid (SPPR520) ADD_SPELL: CLERIC_PROTECTION_FROM_ACID
    • Protection from Cold (SPPR521) ADD_SPELL: CLERIC_PROTECTION_FROM_COLD
    • Protection from Lightning (SPPR522) ADD_SPELL: CLERIC_PROTECTION_FROM_LIGHTNING
    • Protection from Fire (SPPR523) ADD_SPELL: CLERIC_PROTECTION_FROM_FIRE
    • Mass Regenerate (SPPR524) ADD_SPELL: CLERIC_MASS_REGENERATE
    • Animal Growth (SPPR525) ADD_SPELL: CLERIC_ANIMAL_GROWTH

    Level 6:

    • * Harm (SPPR608) *
    • Regeneration (SPPR619) ADD_SPELL: CLERIC_REGENERATION_DRUID_VERSION
    • Banishment (SPPR620) ADD_SPELL: CLERIC_BANISHMENT
    • Conjure Air Elemental (SPPR621) ADD_SPELL: CLERIC_CONJURE_AIR_ELEMENTAL
    • Conjure Earth Elemental (SPPR622) ADD_SPELL: CLERIC_CONJURE_EARTH_ELEMENTAL
    • Animate Skeleton Warrior (SPPR623) ADD_SPELL: CLERIC_ANIMATE_SKELETON_WARRIOR
    Level 7:
    • Animal Summoning VII (SPPR716) ADD_SPELL: CLERIC_ANIMAL_SUMMONING_SR_7

    Mage Spells

     

     

    Level 1:

     

    • Monster Summoning I (SPWI107) --> WIZARD_MONSTER_SUMMONING_SR_1
    • Obscuring Mist (SPWI106) --> WIZARD_OBSCURING_MIST
    • Expeditious Retreat (SPWI108) ADD_SPELL IN IWDEE: WIZARD_EXPEDITIOUS_RETREAT Non IWDEE: --> WIZARD_EXPEDITIOUS_RETREAT
    • Dimension Jump (SPWI109) ADD_SPELL: WIZARD_DIMENSION_JUMP
    • True Strike (SPWI111) --> WIZARD_TRUE_STRIKE
    • Detect Alignment (SPWI126) ADD_SPELL: WIZARD_KNOW_ALIGNMENT_SR_1

    Level 2:

     

    • Detect Alignment (SPWI202) No problem: disables detect evil
    • Battering Ram (SPWI207) --> WIZARD_BATTERING_RAM
    • Know Opponent (SPWI208) --> WIZARD_KNOW_OPPONENT
    • Sound Burst (SPWI223) --> WIZARD_SOUND_BURST
    • Resist Elements (SPWI225) ADD_SPELL: WIZARD_RESIST_ELEMENTS
    • Monster Summoning II (SPWI226) ADD_SPELL: WIZARD_MONSTER_SUMMONING_SR_2

     

    Level 3:

     

    • Monster Summoning III (SPWI309) --> WIZARD_MONSTER_SUMMONING_SR_3
    • Icelance (SPWI327) ADD_SPELL: WIZARD_ICELANCE

     

    Level 4:

     

    • Dimension Door (disabled at this lvl) (SPWI402) Disabled for selection at creation in IWDEE, etc. (moved to 1st level)
    • Monster Summoning II (Disabled at this lvl) (SPWI407) Disabled for selection at creation in IWDEE, etc.
    • Break Enchantment (SPWI410) --> WIZARD_BREAK_ENCHANTMENT
    • Monster Summoning IV(SR)(SPWI423) --> WIZARD_MONSTER_SUMMONING_SR_4
    • Protection from Elemental Energy (SPWI426) ADD_SPELL: WIZARD_PROTECTION_FROM_ELEMENTAL_ENERGY
    • Vitriolic Sphere (SPWI427) ADD_SPELL: WIZARD_VITRIOLIC_SPHERE

     

    Level 5:

    • Summon Shadow (SPWI501) --> WIZARD_SUMMON_SHADOW
    • Waves of Fatigue (SPWI508) --> WIZARD_WAVES_OF_FATIGUE
    • Dispelling Screen (SPWI510) --> WIZARD_DISPELLING_SCREEN
    • Ball Lightning (SPWI524) ADD_SPELL: WIZARD_BALL_LIGHTNING //see protect from fire below--same file name (SPWI524)
    • Protection from Fire (SPWI524) ADD_SPELL: WIZARD_PROTECTION_FROM_FIRE_SR_5 (5th level version)
    • Protection from Cold (SPWI525) ADD_SPELL: WIZARD_PROTECTION_FROM_COLD_SR_5 (5th level version)
    • Mestl's Acid Sheath (SPWI526) ADD_SPELL: WIZARD_MESTILS_ACID_SHEATH

    Level 6:

     

    • Banishment (SPWI605) --> WIZARD_BANISHMENT
    • Monster Summoning IV (SPWI619) --> WIZARD_MONSTER_SUMMONING_4 // DavidW: special case
    • Animate Skeleton Warrior (SPWI623) --> WIZARD_ANIMATE_SKELETON_WARRIOR

    Level 7:

     

    • Summon Death Knight (SPWI707) --> WIZARD_SUMMON_DEATH_KNIGHT
    • Monster Summoning VII (SPWI724) ADD_SPELL: WIZARD_MONSTER_SUMMONING_5
    Level 8:

     

    • Ghostform (SPWI2801) --> WIZARD_GHOSTFORM
    • Mind Blank (SPW802) --> WIZARD_MIND_BLANK
    • Symbol of Weakness (SPWI811) --> WIZARD_SYMBOL_WEAKNESS
    • Monster Summoning VIII (SPWI819) ADD_SPELL: WIZARD_MONSTER_SUMMONING_6

    Level 9:

     

    • Monster Summoning VIIII (SPWI2906) --> WIZARD_MONSTER_SUMMONING_7
  14. While it might have been better in the first place if SR had been coded with ADD_SPELL, Im unconvinced that at this point it is worth it, given the sheer amount of work and the very large number of bugs it would risk. (I had to do essentially the same thing for IWD-in-BG2, and again for my automated conversion of the IWDEE spell system; it is not trivial, even if you have sufficiently advanced WEIDU-fu to automate most of it.)

     

    You can achieve 90% of the compatibility goals by just adding IDS entries for the SR spells and mandating that SR is installed before other spell mods (which is structurally a good idea anyway given how systematic its changes are - the spell system is not really all that modular). I posted some suggested IDS code last month; it doesnt even have to be in SR itself (I install it in SCS v32).

    ...that actually seems like a Much better solution. Would it. Be feasible to add that code to Sr at install to just assign the Sr spells IDS entries at install?

     

    Grammarsalad: Do you plan on doing add_spell for ALL of SR's spells, or just the problematic new spells DavidW mentions as destructively overwriting other spells?

    Well, I'm not so sure now. There might be better ways to do it, suggested above...

     

     

    Spells that exist in IWDEE can either 1) if GAME_IS IWDEE, simply overwrite the existing spell; 2) otherwise, leave SR's COPY alone and simply add an IDS entry via DavidW's function.

     

    Then maybe tackle the hopefully small number of spells that 1) are completely new and added to new SPPR___/SPWI___ slots with no IDS name at all; and 2) do not exist in IWDEE. Hopefully that's a manageable number of spells to work with. Stuff like internal 206 effects and subspells can be dealt with by patching while copying - something like

     

    ALTER_EFFECT INT_VAR match_opcode = 146 STR_VAR match_resource = ~sppr116d~ resource = EVAL ~%SOURCE_RES%d~ END
    Note that a fair amount of weidu in the /lib folder might need to be changed to account for no longer knowing the RES of every spell.

     

    If this ADD_SPELL code occurs after the IWDEE spells are copied and given IDS names, then they shoukd work seamlessly together. Result would be, you can tear out my hackneyed IWDEE compatibility code, it would now work perfectly on that game. :)

    Yeah, something like this.

     

    @DavidW, where can I find that code?...er, and obviously, do you mind if I use it for something like this?

  15.  

    Oh, the new spells still aren't using addspell. Is that planned for the future? If you're looking for volunteers, I'm happy to do it

    If you want to give it a go, feel free.

     

    The biggest obstacle is accounting for the changed filenames. Everything that's moved over to ADD_SPELL will be assigned a different filename, and there may be references to the original filename in subspells or in other spells (e.g. Glitterdust, Protection from Fire, Globe of Invulnerability).

     

    Cool cool!

     

    Yeah, I know. It's a whole thing. It's still worth it to me, as a fully add_spelled sr will facilitate compatibility with other spell mods (which is pretty much all I create these days)

  16.  

    I *suspect* you could probably

     

    - change the UI so that shamans auto-select some fixed spell(s) on levelling without the player noticing;

    - take those spells away again via CLAB.

    CHARGEN applies the CLAB after spell selection, level-up applies the CLAB before spell selection.

    It's the same issue other divine casters face with removing spells at level-up.

    The CLAB would have to remove them both instantly and on a delay, to remove the spells for both situations.

     

    Each kit utilizing it would need a combination of 5 spells per level that they either cannot or must have, so the UI has enough to select at every level.

    These spells would have to be available for selection to all shamans, but adding dummy spells for this would likely cause conflict with mods that add Priest spells, since there are only 50 slots per level.

     

    The mod would now have to worry about compatibility issues with UI mods - would probably be best if a separate mod implements the UI changes, and others just tie-in when it's been installed.

     

    This method would otherwise work.

     

    The same section of UI.menu is used by Shamans and Sorcerers for spell selection, so Sorcerers could use this as well.

    Any shaman/sorcerer using it would then provide a way to select spells each level (likely though dialog menus).

    I don't suppose that there is a way to do some ui magic to create a custom spell selection screen during character creation--and level up--is there?

  17. Oh spit! Simple mistake. I was copying the wrong descriptor from the spl file (i.e. 0x0054 when it should have been 0x0050)--thanks for that Subtle. This worked:

     

    Edit: this is lightly better:

    
    
    //Scroll of Detect evil
    
    
    COPY_EXISTING ~SPPR104.spl~ ~override~
              READ_ASCII 0x0008 name
              READ_ASCII  0x0050 desc
    
    
    COPY ~%mod_folder%/data/scrolls/priest_1/B_PS104.itm~ ~override~   //Actual scroll
           WRITE_ASCIIE 0x0008 ~%name%~
           WRITE_ASCIIE 0x000c ~%name%~
           WRITE_ASCIIE 0x0054 ~%desc%~
  18. Solved. See 3rd post

     

    I'm trying to create a number of cleric scrolls. In order to increase compatibility (especially with Spell Revisions), I would like to be able to copy the spell description and then apply it to the scroll description. I can do this will the file name, no problem. So, for example, for the scroll of detect evil, I have this:

     

    //get spl name: Detect Evil
    COPY_EXISTING ~SPPR104.spl~ ~override~
              READ_ASCII 0x0008 name
    
    
    COPY_EXISTING ~B_PS104.itm~ ~override~ //scroll of detect evil (etc.)
           WRITE_ASCIIE 0x0008 ~%name%~
           WRITE_ASCIIE 0x000c ~%name%~

    Great, it copies the spell text/string ref--not sure which--from the spell and applies it to the scroll. That is, this doesn't work:

    //get spl name: Detect Evil
    COPY_EXISTING ~SPPR104.spl~ ~override~
              READ_ASCII 0x0054 desc
    
    
    COPY_EXISTING ~B_PS104.itm~ ~override~ //scroll of detect evil (etc.)
           WRITE_ASCIIE 0x0054 ~%desc%~
    

    What am I doing wrong?

     

×
×
  • Create New...