Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Axis & Allies 1942 Online is now available in Early Access! Buy it on Steam. The FAQ is available.
New Premium Module: Tyrants of the Moonsea! Read More
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Cleric/Druid and Cleric/Druid/Mage Classes

semiticgodsemiticgod Member, Moderator Posts: 13,628
edited 2:31PM in General Modding
This mod adds two new kits to the game, allowing the player to create Cleric/Druids and Cleric/Druid/Mages. They behave as a single-classed cleric kit and multi-classed cleric/mage kit, respectively, with double the priest spell slots, access to both cleric and druid spells from the same spellbook, both cleric and druid item restrictions (so just clubs, staffs, slings, and leather armor), and XP penalties to replicate the effect of a multi-classed or triple-classed character. The XP penalties delay HLAs, so rather than getting HLAs via the HLA menu on reaching epic levels, the Cleric/Druid and Cleric/Druid/Mages simply gets 2 uses of a custom innate ability that lets them choose from any druid, cleric, or mage HLA.

At the moment, the druid stronghold will not be accessible without a different mod, and the kit will not yet be able to use SCS shapeshifting tokens. The cleric/druid can be any race, even those which cannot normally be druids, and human cleric/druids may dual-class to mage, thief, ranger, or fighter.

You can create a Cleric/Druid as a cleric kit during character creation, and create a Cleric/Druid/Mage as a cleric/mage kit. The kit descriptions are below:
CLERIC/DRUID: A cleric/druid is a student both of nature and their patron deity. <PRO_HESHE> may draw upon both forms of magic to cast <PRO_HISHER> spells, but must follow the tenets of both faiths, and is forbidden from using both edged weapons and metal weapons or armor.

Class Features:

- All experience points gained are reduced by 50%.
- May cast twice as many spells per day of each spell level compared to a single-classed cleric.
- May cast both cleric and druid spells.
- May only wear non-metallic armor and use non-metallic weapons.
- 7th level: May Shapeshift into a wolf, black bear, or brown bear once per day.
- 15th level: Becomes immune to poison.
- 18th level: Gains 10% resistance to cold, fire, electricity, and acid; gains a further 10% resistance at levels 21 and 24.
- Alignment restricted to neutral good, lawful neutral, true neutral, chaotic neutral, and neutral evil.
- Chooses High Level Abilities using innate abilities gained at level 15+ rather than during the level up screen.

- Hit Die: d8

Prime Requisites For Dual-Classing: Wisdom, Charisma


CLERIC/DRUID/MAGE: A cleric/druid/mage is a student of nature, the Weave, and their patron deity. <PRO_HESHE> may draw upon all forms of magic to cast <PRO_HISHER> spells.

- All experience points gained are reduced by 33%.
- May cast twice as many priest spells per day of each spell level.
- May cast both cleric and druid spells.
- May only wear non-metallic armor and use non-metallic weapons.
- 7th level: May Shapeshift into a wolf, black bear, or brown bear once per day.
- 15th level: Becomes immune to poison.
- 18th level: Gains 10% resistance to cold, fire, electricity, and acid; gains a further 10% resistance at levels 21 and 24.
- Alignment restricted to neutral good, lawful neutral, true neutral, chaotic neutral, and neutral evil.
- Chooses High Level Abilities using innate abilities gained at level 15+ rather than during the level up screen.

Class Features:

- Hit Die: d8

Post edited by semiticgod at
RaduzielStefanOOrlonKronsteenArtonaPermidion_StarkGusinda

Comments

  • Necromanx2Necromanx2 Member Posts: 1,060
    Nice!
    Now if we can get this to work with the sphere system from DoF ( @Raduziel ), I would really be happy.

  • RaduzielRaduziel Member Posts: 4,598
    Necromanx2 wrote: »
    Nice!
    Now if we can get this to work with the sphere system from DoF ( @Raduziel ), I would really be happy.

    Fine by me, just need @semiticgod 's avail.

  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    @Raduziel Do whatever you need! I just wanted a simple kit that would work like a vanilla cleric/druid would have.

    Since I neglected to mention it before, the kit already gets the IWD spells from SCS v32.

  • RaduzielRaduziel Member Posts: 4,598
    I've pushed the required files on DoF's side to the beta branch.

    And I already sent to @semiticgod what he needs to alter things on his side.

    Cheers.

  • subtledoctorsubtledoctor Member Posts: 11,211
    edited October 10
    semiticgod wrote: »
    The druid stronghold will not be accessible without a different mod;

    Something like:
    ACTION_IF GAME_IS ~bg2ee eet~ BEGIN
    
    <<<<<<<< d5/cechall+.d
    EXTEND_BOTTOM CECHALLE 2
    
     IF ~LevelGT(Player1,13)
    	Global("GreatDruid","GLOBAL",0)
    	!Global("GaveTitle","LOCALS",1)
    	Kit(Player1,THIS_KIT)
    ~ THEN REPLY #55515  DO ~ClearAllActions()
    
    StartCutSceneMode()
    
    StartCutSceneEx("Cut63a",FALSE)
    
    ~ EXIT
    
     IF ~LevelLT(Player1,14)
    	Global("GreatDruid","GLOBAL",0)
    	!Global("GaveTitle","LOCALS",1)
    	Kit(Player1,THIS_KIT)
    ~ THEN REPLY #58673  EXIT
    END
    
    EXTEND_BOTTOM CECHALLE 4
      IF ~  Global("CerndChallenge","GLOBAL",0)
    	Global("PlayerHasStronghold","GLOBAL",0)
    	Kit(Player1,THIS_KIT)
    ~ THEN DO ~SetGlobal("SPRITE_IS_DEADFaldorn","GLOBAL",1)
    SetGlobal("SPRITE_IS_DEADcefaldor","GLOBAL",1)
    SetNumTimesTalkedTo(1)
    ~ GOTO 7
    END
    >>>>>>>> 
    COMPILE ~d5/cechall+.d~
    
    <<<<<<<< d5/cefaldo+.d
    EXTEND_BOTTOM CEFALDOR 2
    
      IF ~See(Player1)
    	!StateCheck(Player1,STATE_SLEEPING)
    	Kit(Player1,THIS_KIT)
    ~ THEN REPLY #9621  GOTO 13
    
      IF ~ !Name("Jaheira",Player2)
    	!Name("Cernd",Player2)
    	See(Player2)
    	!StateCheck(Player2,STATE_SLEEPING)
    	Kit(Player2,THIS_KIT)
    ~ THEN REPLY #9948  GOTO 22
    
      IF ~ !Name("Jaheira",Player3)
    	!Name("Cernd",Player3)
    	See(Player3)
    	!StateCheck(Player3,STATE_SLEEPING)
    	Kit(Player3,THIS_KIT)
    ~ THEN REPLY #9952  GOTO 22
    
      IF ~ !Name("Jaheira",Player4)
    	!Name("Cernd",Player4)
    	See(Player4)
    	!StateCheck(Player4,STATE_SLEEPING)
    	Kit(Player4,THIS_KIT)
    ~ THEN REPLY #9953  GOTO 22
    
      IF ~ !Name("Jaheira",Player5)
    	!Name("Cernd",Player5)
    	See(Player5)
    	!StateCheck(Player5,STATE_SLEEPING)
    	Kit(Player5,THIS_KIT)
    ~ THEN REPLY #9954  GOTO 22
    
      IF ~ !Name("Jaheira",Player6)
    	!Name("Cernd",Player6)
    	See(Player6)
    	!StateCheck(Player6,STATE_SLEEPING)
    	Kit(Player6,THIS_KIT)
    ~ THEN REPLY #9955  GOTO 22
    END
    
    EXTEND_BOTTOM CEFALDOR 5
    
      IF ~ 	Kit(Player1,THIS_KIT)
    ~ THEN REPLY #9866  DO ~SetGlobal("TalkedFaldor1","GLOBAL",1)
    ~ GOTO 0
    END
    >>>>>>>> 
    COMPILE ~d5/cefaldo+.d~
    
    <<<<<<<< d5/druidad+.d
    EXTEND_BOTTOM DRUIDAD 0
    
      IF ~ LevelGT(Player1,13)
    	Global("GreatDruid","GLOBAL",0)
    	Kit(Player1,THIS_KIT)
    ~ THEN GOTO 1
    END
    
    EXTEND_BOTTOM DRUIDAD 10
      IF ~ LevelGT(Player1,13)
    	Global("GreatDruid","GLOBAL",0)
    	Kit(Player1,THIS_KIT)
    ~ THEN GOTO 11
    
      IF ~ False()
    	LevelGT(Player2,13)
    	Global("GreatDruid","GLOBAL",0)
    	Kit(Player2,THIS_KIT)
    ~ THEN GOTO 12
    
      IF ~ False()
    	LevelGT(Player3,13)
    	Global("GreatDruid","GLOBAL",0)
    	Kit(Player3,THIS_KIT)
    ~ THEN GOTO 13
    
      IF ~ False()
    	LevelGT(Player4,13)
    	Global("GreatDruid","GLOBAL",0)
    	Kit(Player4,THIS_KIT)
    ~ THEN GOTO 14
    
      IF ~ False()
    	LevelGT(Player5,13)
    	Global("GreatDruid","GLOBAL",0)
    	Kit(Player5,THIS_KIT)
    ~ THEN GOTO 15
    
      IF ~ False()
    	LevelGT(Player6,13)
    	Global("GreatDruid","GLOBAL",0)
    	Kit(Player6,THIS_KIT)
    ~ THEN GOTO 16
    END
    >>>>>>>> 
    COMPILE ~d5/druidad+.d~
    
    END
    
    Do a global replacement of "THIS_KIT" with your kit's name.

    Post edited by subtledoctor on
  • WarChiefZekeWarChiefZeke Member Posts: 1,637
    If you could do this with the druid/mage, an allowable multi in PnP, you would be my hero.

  • subtledoctorsubtledoctor Member Posts: 11,211
    If you could do this with the druid/mage, an allowable multi in PnP, you would be my hero.

    That would involve a lot more - making clones of every wizard spell, etc. Faiths & Powers enables real multiclass druid/mages... in fact that is precisely where I got the above stronghold code from.

  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    @subtledoctor: Is it possible in Faith and Powers to create a druid/mage without also installing the sphere system?

  • subtledoctorsubtledoctor Member Posts: 11,211
    semiticgod wrote: »
    @subtledoctor: Is it possible in Faith and Powers to create a druid/mage without also installing the sphere system?

    No; that mod has a sphere system, so the sphere system is what it uses to manipulate the available spells for the kit. You need to do something to prevent a cleric/mage from getting cleric spells, and allow it to get druid spells. The more slapdash but also more contained method to do so might be to just remove a list of cleric spells via opcode 172, at every level-up in the kit's clab table. (I think that needs to be done with delayed timing (timing mode 4, duration 1) to work correctly, which means a savvy player could level up while the game is paused and memorize a bunch of forbidden spells before they disappear... but that's not really a big deal. More annoyingly, it would have to cover all mods that add cleric spells, like SR, IWDification, SCS, FnP, etc. It's not at all impossible to create a master list of such spells... just, as I say, annoying.)

    A bigger deal would be altering cleric/mage usability and proficiencies to allow a kit that matches druids while also altering all cleric/mages not of that kit to hew to the vanilla C/M restrictions. Slightly complicated to get right. (Also something that FnP's sphere system handles automatically.)

  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    @subtledoctor: This is a bit beyond the scope of this mod, but would it be possible to alter how item usability works by removing unusability flags on item files and replacing them with Enable/Disable Item Type opcodes in custom spells in all CLAB files, then tweaking CLAB files to fine-tune item restrictions? I got the impression that broad cleric domain mods tended to use this method.

  • subtledoctorsubtledoctor Member Posts: 11,211
    edited October 10
    semiticgod wrote: »
    @subtledoctor: This is a bit beyond the scope of this mod, but would it be possible to alter how item usability works by removing unusability flags on item files and replacing them with Enable/Disable Item Type opcodes in custom spells in all CLAB files, then tweaking CLAB files to fine-tune item restrictions? I got the impression that broad cleric domain mods tended to use this method.

    That is more or less precisely what FnP does. But it is quite complicated. Some weapons of different types are lumped together with the same item type in their .itm file, so the only way to distinguish, say, long swords from scimitars, is to assign some of them to a new item type. But there are only so many item types to go around, and certain ones have weird hard-coded implications, like they cannot be dual-wielded. Additionally, all armors are coded as a single type (2) and if you change that, or change any weapon types, your mod instantly becomes incompatible with any other mod that does as well, or that just expects that values to be unchanged.

    The first 80 lines of the FnP code on this are notes to myself for how I achieved it all... it gives you a sense of how far you have to go for this sort of thing.

    semiticgod
  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    @subtledoctor: I've got one small bug--SCS shapeshifting tokens aren't usable by this kit due to it being coded as a cleric kit, and the shapeshifting tokens are only usable by druids. How would I patch the tokens, or tweak duplicates of the tokens, to make them usable by this kit but not other cleric kits?

  • RaduzielRaduziel Member Posts: 4,598
    edited October 11
    @semiticgod
    COPY ~Blablabla/SCSToken.itm~ ~override/ClericDruidSCSToken.itm~ SAY NAME1 ~Bla~ SAY NAME2 ~Bla~ SAY DESC ~Bla~
    WRITE_BYTE 0x1e (THIS BAND 0b01111111) //Makes it usable by Clerics
    LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 319 target = 1 parameter1 = (YourKitInternalName + 0x4000) parameter2 = 9 timing = 2 power = 1 END //Restricts it only to your kit
    

    Here's an example (DoF restriction to make each Holy Symbol usable only by its kit)
    COPY ~DeitiesOfFaerun/Itm/HolySymbols/RAHS.itm~ ~override/RAHSARVO.itm~ SAY NAME1 @4904 SAY NAME2 @4904 SAY DESC @4905
    LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 319 target = 1 parameter1 = (RAArvo + 0x4000) parameter2 = 9 timing = 2 power = 1 END
    

    But this way the mod would have to be installed after SCS, so Weidu can find its resources. Or you may get in touch with @DavidW and ask for permission to add the tokens to your mod.

  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    Good ideas!

    I am also making a Cleric/Druid/Mage kit, which merges all spells into a single spellbook as a single-classed mage. This was more evenly-leveled than just applying the Cleric/Druid kit to a Cleric/Mage, but comes at the cost of disallowing armor and clubs, and also requires the kit to have 19 Intelligence in order to learn new mage spells, since otherwise all the priest spells would fill out the mage spellbook and prevent scroll scribing (altering the INTMOD.2da is another option, which arguably is better for players and for balance).

    @Raduziel and @subtledoctor, I have one problem: I have compatibility issues with SCS v32's new IWD spells. I can copy them over if SCS is installed, but if SCS is not installed, this code, which copies over Static Charge, would crash WeiDU when the installer can't find SPPR419.spl:
    COPY_EXISTING	~SPPR419.spl~ ~override/USCDW419.spl~
    WRITE_BYTE 28 1
    

    Likewise, I would like to remove duplicate Cause Wounds spells. For instance, this code copies over the vanilla and then the SCS v32 versions of Cause Serious Wounds:
    COPY_EXISTING	~SPPR414.spl~ ~override/USCDW414.spl~
    WRITE_BYTE 28 1
    
    COPY_EXISTING	~SPPR428.spl~ ~override/USCDW428.spl~
    WRITE_BYTE 28 1
    

    But I would only want one of those spells copied over, depending on whether SPPR428 existed or not. What should I change?

  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    Would it be possible to instead make the Cleric/Druid/Mage a Cleric/Mage kit? That would let the kit use shields and helmets as well as priest scrolls and Wands of the Heavens, but I don't know how to implement multi-classed kits.

  • subtledoctorsubtledoctor Member Posts: 11,211
    edited October 14
    semiticgod wrote: »
    Would it be possible to instead make the Cleric/Druid/Mage a Cleric/Mage kit? That would let the kit use shields and helmets as well as priest scrolls and Wands of the Heavens, but I don't know how to implement multi-classed kits.

    That’s a much better idea - basically just implement your cleric/druid kit as a .../mage multiclass. (Pretty much don’t have to change anything - make a kit with identical abilities, set class to 14 instead of 3, and run the QDMulti function after the fl#add_kit_ee function.

  • RaduzielRaduziel Member Posts: 4,598
    semiticgod wrote: »
    Would it be possible to instead make the Cleric/Druid/Mage a Cleric/Mage kit? That would let the kit use shields and helmets as well as priest scrolls and Wands of the Heavens, but I don't know how to implement multi-classed kits.

    Check DoF's Github - there are dozens of examples there.

  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    @subtledoctor: Sounds like an excellent resource for me to use in the future, but right now I've got an error message.

    sycfupsa8m6x.png

    At first I thought it was because I was working with files with 8 characters in the name, but it persisted when I dropped several back down to 7 characters (and even deleted the unused 8-character ones!). If it helps, the full code I'm working with, minus a commented-out part with the obsolete version of the triple-class, is below (I know it says "Cleric/Druid" instead of "Cleric/Druid/Mage"; I fix that later):
    BACKUP ~TestWeiDU/backup~
    AUTHOR [email protected]~
    
    VERSION ~1.0~
    
    //MODDER
    
    AUTO_TRA ~TestWeiDU/tra/%s~
    
    /*
     * This mod does not use any chapter checks
     *
    ALWAYS
      ACTION_IF GAME_IS ~eet~ BEGIN
        OUTER_SET bg2_chapter = 12
      END ELSE BEGIN
        OUTER_SET bg2_chapter = 0
      END
      OUTER_FOR (i=1; i<=10; i=i+1) BEGIN
        OUTER_SET bg2_chapter = bg2_chapter + 1
        OUTER_SPRINT name_source ~bg2_chapter_%i%~
        OUTER_SET EVAL ~%name_source%~ = bg2_chapter
      END
    END
    */
    
    LANGUAGE   ~English~
               ~English~
               ~TestWeiDU/tra/English/TestWeiDU.tra~
    
    BEGIN "Cleric/Druid Kit" //
    INCLUDE "TestWeiDU/lib/fl#add_kit_ee.tpa"
    
    INCLUDE ~TestWeiDU/qd_multiclass.tpa~ 
    
    ADD_KIT ~USCD01~
    	~USCD01 1 1 1 1 1 1 1 1~
          ~USCD01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~
    	~USCD01 0 0 0 0 9 15~
    	~USCD01 0 0 0 0 0 0~
    	~USCD01 0 0 0 0 17 17~
            ~USCD01 0 0 0 0 17 17~
    	~USCD01 0 1 0 1 1 1 0 1 0~
    	~USCD01 1 0 1 1 0 1~
    	~TestWeiDU/CLABUSC.2da~
    	~K_C_H	K_C_D   K_C_G   K_C_E   K_C_HE   K_C_HL   K_C_HO~
    	~0x00020000 14~
    	~USN~
    	~LEAT14 * HELM07 BAG24 RING06 RING31 CLCK02 BOOT01 AMUL19 BRAC16 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN04,2 POTN14,5 HAMM07 SW1H27 STAF08~
    
    	SAY ~cleric/druid~
    	SAY ~Cleric/Druid~
    	SAY ~CLERIC/DRUID: A cleric/druid is a student both of nature and their patron deity. <PRO_HESHE> may draw upon both forms of magic to cast <PRO_HISHER> spells, but must follow the tenets of both faiths, and is forbidden from using both edged weapons and metal weapons or armor.
    
    Class Features:
    
    - All experience points gained are reduced by 50%.
    - May cast twice as many spells per day of each spell level compared to a single-classed cleric.
    - May cast both cleric and druid spells.
    - May only wear non-metallic armor and use non-metallic weapons.
    - 7th level: May Shapeshift into a wolf, black bear, or brown bear once per day.
    - 15th level: Becomes immune to poison.
    - 18th level: Gains 10% resistance to cold, fire, electricity, and acid; gains a further 10% resistance at levels 21 and 24.
    - Alignment restricted to neutral good, lawful neutral, true neutral, chaotic neutral, and neutral evil.
    - Chooses High Level Abilities using innate abilities gained at level 15+ rather than during the level up screen.
    
    - Hit Die: d8
    
    Prime Requisites For Dual-Classing: Wisdom, Charisma
    ~
    
    LAF fl#add_kit_ee
    	INT_VAR
    		biography = RESOLVE_STR_REF (~~)
    		briefdesc = RESOLVE_STR_REF (~CLERIC/DRUID~)
    	STR_VAR
    		kit_name = ~USCD01~
    		clswpbon = ~0 0 3~
    		numwslot = ~2~
    		clascolr = ~30 91 93 23 93~
    		hpclass = ~HPPRS~
    		clsrcreq = ~1 1 1 1 1 1 1~
    		clasthac = ~0~
    END 
    
    LAF qd_multiclass
      STR_VAR 
          kit_name = ~USCD01~ //the internal name for your kit (e.g. QDMAGUS) 
          kit_clab = ~CLABUSC~ //the internal name of your kit's clab file, without the .2da extension
          base_class = ~P~ // this can take 6 values: [F]ighter, [P]riest, [D]ruid, [R]anger, [M]age, [T]hief
    END
    
    COPY ~TestWeiDU/tables/USCD01.2da~ ~override~
    
    COPY ~TestWeiDU/spl/USCD00.spl~ ~override~
    
    COPY ~TestWeiDU/spl/USCDH1.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDH2.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDH3.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDH4.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDH5.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDH6.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDH7.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDH8.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDH9.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDHA.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDHB.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDHC.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDHD.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDHE.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDHF.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDHG.spl~ ~override~
    COPY ~TestWeiDU/spl/USCDHH.spl~ ~override~
    
    COPY ~TestWeiDU/spl/USCD90.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD91.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD92.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD93.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD94.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD95.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD96.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD97.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD98.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD99.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD9A.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    COPY ~TestWeiDU/spl/USCD9B.spl~ ~override~
      SAY NAME1 @0
      SAY NAME2 @0
      SAY UNIDENTIFIED_DESC @1
      SAY IDENTIFIED_DESC @1
    
    COPY ~TestWeiDU/itm/USCDSH1.itm~ ~override~
      SAY NAME1 @2
      SAY NAME2 @2
      SAY DESC @3
    COPY ~TestWeiDU/itm/USCDSH2.itm~ ~override~
      SAY NAME1 @4
      SAY NAME2 @4
      SAY DESC @5
    COPY ~TestWeiDU/itm/USCDSH3.itm~ ~override~
      SAY NAME1 @6
      SAY NAME2 @6
      SAY DESC @7
    COPY ~TestWeiDU/itm/USCDSH4.itm~ ~override~
      SAY NAME1 @8
      SAY NAME2 @8
      SAY DESC @9
    

  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    I notice that DoF has a line that I don't find in the directions on the first page of the QDMULTI thread, right before END.
    LAF qd_multiclass
      STR_VAR 
          kit_name = ~RAAzutCM~
          kit_clab = ~RAAzutCM~
          base_class = ~P~
    	  mc_dir = ~DeitiesOfFaerun/Lib/Multiclass~
    END
    

    It refers to a folder that doesn't come with the QDMULTI, so I'm not sure I have the relevant permission to copy it over. Tagging @Aquadrizzt just in case there's something else wrong with my code that I'm not seeing.

  • AquadrizztAquadrizzt Member Posts: 935
    @semiticgod , is that the most recent version? I thought I had gotten rid of mc_dir when I learned that I could make blank spells from scratch with just WeiDU.

  • semiticgodsemiticgod Member, Moderator Posts: 13,628
    @Aquadrizzt: Apparently not. I got it directly from the Github page, but it looks like the version is 0.3 from November 2017!

  • RaduzielRaduziel Member Posts: 4,598
    @semiticgod I was never able to make the QD function work using the latest version. DoF uses a fork made by @subtledoctor that is based on the previous version of the function, IIRC.

    Feel free to grab the files from DoF and use it as a model - everything should work fine (I personally never had an issue).

  • subtledoctorsubtledoctor Member Posts: 11,211
    edited 3:51AM
    Raduziel wrote: »
    Feel free to grab the files from DoF and use it as a model - everything should work fine (I personally never had an issue).

    Please don’t do that. No offense to @Raduziel but that is bad advice. The QDMulti function has been actively developed... any version that relies on a “mc_dir” variable is a variant of 0.2 (!)... meanwhile, my fork is at (by my reckoning) 0.8, and Argent77’s fork should probably be considered 0.9. Those two should hopefully be functionally identical - and even interchangeable! - but I’m sure his code is cleaner and more presentable than mine.

    Actually check that, Argent77’s is superior in a number of non-trivial ways - e.g. it will still work if you forget to define all the necessary variables. Just grab the .tpa file from my link to his fork, and drop it into your mod replacing the one you have now... should work just fine with your code without any changes. (Do make sure your kit abilities are only 7 letters long... if they are longer it won’t fail the install, but your kit won’t get those abilities.)

  • RaduzielRaduziel Member Posts: 4,598
    edited 10:12AM
    @subtledoctor DoF's version is 0.6 ATM - updated this year.

    But it is good to know that there is a functional update; I remember you delivering the version used by DoF exactly because the one at QD's thread wasn't working.

    Edit: Just checked and DoF's version is the same used by FnP. Maybe the mc dir is just a leftover. I need a coffee.

  • subtledoctorsubtledoctor Member Posts: 11,211
    Raduziel wrote: »
    @subtledoctor DoF's version is 0.6 ATM - updated this year.

    Yeah - so are all my mods. But AionZ found a relatively serious bug with 0.6, which I have endeavored to fix in 0.8. It seems to work fine, but needs real testing, which I cannot do right now. Argent77's update is mostly just to bring it up to speed with the internal version he wrote into his ADD_KIT_EX project, which combines ADD_KIT, fl#add_kit_ee, and QDMulti into a single function that should work across all games and circumstances.
    Raduziel wrote: »
    Edit: Just checked and DoF's version is the same used by FnP. Maybe the mc dir is just a leftover. I need a coffee.

    Yup - I think I still have some instances of that variable hanging around as well. It doesn't do anything any longer, but it doesn't hurt, either.

    Raduziel
Sign In or Register to comment.