Jump to content

[In progress] Faiths and Pantheons mod


yarpen

Recommended Posts

Hello. I'm currently starting to (yup, again...) develope my own mod project which is currently called Faiths and Pantheons. If you have any alternative, sensible title you can tell me about it. But what I'm going to do and why I'm also bothering you with that?

 

Introduction

Faiths and Pantheons mod aims to improve divine-based classes (mainly cleric, but also paladins and rangers) and give to player much wider range of character's developement possibilities thanks to new, unlimited deity's selecting system (limited only by my capabilities of creating new item icons). Vanilla cleric kits are deprecated and instead of them there come three now, not connected to any FR's god.

 

New Kits

That's the main thing which needs Your support, opinions and criticising. I think that current three kit templates are fine (I've covered most important cleric types - battlepriest who's fighting skills are near to warrior's one; mystic clerics who connects arcane and divine magic; and leader-cleric type), but their abilities, skills and powers aren't at final version. They need a lot of tuning, so please, comment.

 

CRUSADER/DEFENDER OF FAITH/BATTLEPRIEST

- Can use any type of weapon

- Fighter's THAC0 progress

- At 7th level achieve specialisation in his deity's favourite weapon. At 14th level achieve mastery.

- Once per day per 4 level (starts at 7th level) can use Bane of Infidels which grants him +1 to thaco and damage and additional 1/2 attack per round for 1 round per level. At 14th level it grants +2 to thaco, damage, full additional attack per round and makes him always deal maximum damage.

 

- Cannot access 6th and 7th level spells.

- Cannot use greater holy symbols.

- Cannot turn undead.

 

(He's using fighter's limited HLA table (doesn't have access to Greater Whirlwind and Smite) with addition of Holy/Unholy Word.)

 

MYSTIC/ADEPT

- Can cast wizard's spells from (lesser) Divination school

- Can learn 1-7 level spells of one school of magic (with exception from Divination)

- Can cast wizard spells from scrolls

 

- Can use items only available to cleric/wizard

- Mage's THAC0 progress

- Cannot turn undead

 

(Gain access to additional HLAs: Maze, Time Stop, Alcatricity)

 

PILGRIM/PROPETH/BETTER TITLE PLEASE

- Starts with +1 bonus to all saves

- Once per day per 4 levels can use Speech ability. Good and neutral aligned pilgrim's speech boosts their allies defense capabilities and removes fear, when evil one's weakens enemies attack and tries to scare them away.

 

Good/neutral aligned pilgrim's Speech effects:

1st level: +1 to AC and saving throws. Removes fear.

10th level: +2 to AC and saving throws. Immunity to fear and charm.

20th level: +4 to AC and saving throws. Immunity to fear, charm and instant-death effects.

 

Evil aligned pilgrim's Speech effects:

1st level: -1 to Thac0 and Damage. Save vs. spells negates fear.

10th level: -2 to ThaC0 and Damage. Save vs. spells negates fear (-2 mod.)

20th level: -2 to ThaC0 and Damage. Save vs. spells negates fear (-4 mod.). Save vs. death negates instant death.

 

- Cannot turn undead.

 

Kits are sometimes specifing which deities are good for you. Pilgrim-type of cleric wouldn't be a good follower of Tempus, when Helm isn't a good patron of Mystic. Here are some examples of class-kit/deity distribution.

 

BATTLEPRIEST: Tempus, Red Knight, Helm, Iyachtu Xwim

MYSTIC: Azuth, Mystra, Selune, Shar, Oghma

PROPETH: Ilmater, Lathander, Sune, Cyric, Talos

 

CLERIC/MAGE: Azuth, Mystra, Selune, Oghma

CLERIC/THIEF: Mask, Cyric

CLERIC/FIGHTER: Tempus, Red Knight, Helm, Iyachtu Xwim

CLERIC/RANGER: Melikki

 

Holy Symbols

Instead of kit, cleric can select (at the beginning of BG1:TotSC, BG2: SoA and BG2: ToB) holy symbol of a god who's he choosing as his patron. Without holy symbol he cannot use his abilities (casting spells, turning undead) so there's no more any place for "generalist" priest. Symbols are coming in three versions - Lesser (usable by: clerics, paladins, rangers), normal (usable by: clerics) and Greater (usable by: non-kitted, single-class clerics). Some of them can be worn only by characters of certain alignment, other are usable only by certain kits/multiclasses so there's a lot of diversion between them. Holy Symbols aren't only granting possibility of casting spells and turning undead but also they provide some additional powers which are dependent on domain of god, from who's this symbol came. Also powers are different at different levels of symbols.

 

After selecting your god you cannot remove your holy symbol (and you cannot change your faith alone). Maybe there will be a one or two chances for that, but they're going to be unique ones and quest-related.

 

Current model of Holy Symbol's bonuses is quite simplified. I'm thinking about granting Domain Powers everytime cleric gets access to new spell's level - but that's under heavy discussion.

 

LATHANDER

 

Immunity to level drain

Once per day can cast Sunschorch (Lesser power)

Once per day can cast Minor Restoration (Average power)

Once per day can cast False Dawn (Greater power)

(for Battlepriest: specialisation/after 14th level mastery in Maces)

 

HELM

 

Immunity to backstab

Once per day can cast Shield (Lesser power)

Once per day can cast Glyph of Warding (Average power)

Once per day can cast True Sight (Greater power)

(for Battlepriest: specialisation/after 14th level mastery in Bastard Swords)

 

TALOS

 

+20% electricity resistance for Lesser Symbol; +40% for Symbol; +80% for Greater Symbol

Once per day can cast Shocking Grasp (Lesser power)

Once per day can cast Call of Lighgning (Average power)

Once per day can cast Chain Lightning (Greater power)

(for Battlepriest: specialisation/after 14th level mastery in Spears)

 

So...

... I think it's interesting solution. Mod is in early stage of developement but it doesn't involve really heavy coding. I'm looking forward for any hints, opinions and offers for help. Later I'll probably need a lot of help from someone who's proficient in writing in english, because my language as you can see - isn't at it's best.

 

Sooo, thank you for your attention. See ya.

- Yarp

Link to comment

I have some compatibility concerns with regards to BioWare and mod NPC clerics.

 

First of all, you would have to assign kits to BioWare NPCs for them to function. Since they're BioWare, you're free to do that, but what if your players don't like the choices you make? Suppose you assign Anomen a Battlepriest kit and the player would prefer that he be a specialized priest of Helm?

 

Now, on to mod NPCs. By removing existing kits, you're going to break my mod. Gavin is a kitted cleric of Lathander. Since you're eliminating existing kits, what would his current kit flags be in your system? I would prefer that he be a specialized priest of Lathander, not a battle priest, not a pilgrim/prophet, not a mystic. However, since he is not a PC, and since he is not a BioWare NPC, he wouldn't be able to cast any spells or turn undead, since he doesn't have a holy symbol. Since holy-symbols are non-removable, and since one of Gavin's ring slots is already filled, buying one would prevent him from using any other rings.

 

Since players, too, might not want to be hobbled by a non-removable item in a ring slot just to cast a spell or turn undead, why not make the item function from inventory, instead. After all, you'd have a riot on your hands if you forced mages to take up a ring slot just to cast spells or fighters to equip gauntlest just to handle weapons.

 

Which brings up another point. Since players choose the deities for their PCs on character generation, and since Gavin is a mod NPC who never goes through character generation, you would basically prevent him from having any kit-specific abilities at all. That would really suck.

 

Also, I want to point out that it's unlikely that Gavin will be the only mod to use a Kit(Player1,GODLATHANDER) check in dialogue. Removing existing cleric kits is bound to create the kind of issues under discussion in cmorgan's 'What happens when a kit is called but it isn't installed' thread. In this case, it would mean unpredictable PC reply options, some of which could create buggy behavior in my mod. Not looking forward to troubleshooting that.

 

Player bug report: "I had nine PC response options, four of which said the same thing, 'I would never sacrifice my faith for the sake of another.' I picked the fourth at random, and Gavin said 'I understand, but it does mean that we're going to have some differences that we're never going to be able to overcome.' After that, Gavin's RA was at 3. What gives?"

 

Me: "You've got Faiths and Avatars installed, don't you? It removes the standard cleric kits, so you're seeing all the choices, rather than just the one. So if you picked option 4, it means that you said you would never give up your faith in Talos. Yes, I know that you're really a cleric of Sune, but you weren't supposed to see all those choices."

 

A mod that breaks another is uncool.

 

Also, you're removing Boon of Lathander, which, in my opinion, is one of the best features of the kit.

 

So I want to know what you're planning on doing about compatibility.

Link to comment

Well, at first, current version of all kits, overall system and handling most of the stuff is far from that what you can read here. I'm currently waiting for replies of rest of Gibberlings to get hosting here, so in brand, new, shiny forum you'll have possibility of reading all of it.

 

Compatibility

Compatibility is one of the biggest pain in the ass in creating such a mod, but it's also one of my top goals to achieve during creation of this mod. I'd really love to have possibility of handling most (all?) cleric NPCs, especially Gavin who's I think most popular and just well-written. With your permission I'd love to add some special checks for Gavin existing in-game and then granting to him Holy Symbol of Lathander and one of the selected kit. (according to PnP as a cleric of Lathander he can be trueclass Cleric, Crusader or Speciality Priest (Morninglord of Lathander). I think that allowing to player selecting any of those would be just fine, don't you think? :suspect: Yeah, there's also Mystic kit, who also slightly fits to Gavin but still, I don't want to violate some of the important rules of AD&D. Uhm, here you cannot read anything about my implementation of Morninglord of Lathander. So, I'm currently implementing revised version of DR's sphere system and Speciality Priests are far closer to PnP than those from DR. :3

 

Well, yes. Problem with checking for Priest kit do exists, I hope that with current state of modern coding and Jarno's help (who's really, really awesome at making impossible possible and easy) it is going to be possible to overcome via changing all of the Kit detection into item's detection. And also my solution (of detecting your faith via item instead of .ids file) allows you to make Gavin comment all of the already implemented religions of your character. We've had this discussion with cmorgan, who was trying to make Aran comment PC's kit but failed at mod kits because of some problems with ids files. Checking item is sure, will never print false statement if properly implemented and just grants more possibilities. That's what I think.

 

I was thinking about making Holy Symbols appear at quick item slot, I'm not sure that those are treated as 'equipped'. I hope so. And I'm not only NOT removing Boon of Lathander (it's currently available in Morninglord's spellbook) but also adding more Lathander's-specific spells such as Rosemantle (2nd level spell, which works as limited Free Action) or Lathander's Shield (5th level shield which works as 1 round of Protection from Normal Weapon on selected target) or Greater Lathander's Shield (complete immunity to any weapons and magic, also lasts 1 round). All of those come from Faiths and Avatars sourcebook.

 

Modularity

I do intend to allow to players selecting all of the available for certain characters kits. For example decision of making Branwen Crusader or Speciality Priest of Tempus would be quite hard. Similiar for Viconia's Nightcloak or Mystic. Personally I'm against spamming game with hundreds of Speciality Priests (they are usually something like 10-20% of whole church) but we shouldn't be discussing about tastes.

 

I hope that's enough for now. :laugh: And I hope it'll help a bit in not seeing my tiny, humble project as a sort of danger for your Gavin. :3

 

As a bit of bonus, here you can read current description of Morninglord of Lathander.

 

Greater Holy Symbol of Lathander

A powerful, exuberant god, Lathander is known as the Commander of Creativity and the Morninglord. As the god of beginnings, Lathander traditionally receives prayer from many inhabitants of Faerun at the start of a journey or endeavor. Lathander's name is invoked to seal alliances and start new ventures of companies. As a result, the god is very popular among the merchant classes. Though depicted as young, Lathander's noble bearing and demeanor serve him well among the nobility, who also favor his worship in many places.

 

Only characters of Neutral Good alignment can become Morninglords (Speciality Priests of Lathander).

 

STATISTICS:

 

Sphere access:

- Major: all, astral, charm, creation, elemental, healing, necromantic (restorative forms only), plant, thought, sun, wards, weather

- Minor: combat, divination, guardian, time

 

Advantages:

- Holy Symbol: is required for Morninglord to use abilities like divine spellcasting or Turning Undead.

- Protection of Life: +2 bonus to saves vs. death/paralyse/poisons

- Domain Spells: Morninglords obtain at certain levels spell-like abilities which are coming directly from Lathander and reflects different aspects of Sun and Reneval.

1st level: Sunschorch

3rd level: Aid

5th level: Hold Undead

7th level: Lesser Restoration

9th level: Sunfire

11th level: False Dawn

14th level: Greater Restoration

- Additional spells: Rosemantle (2nd level), Lathander's Boon (4th level), Lathander's Shield (5th level), Greater Lathander's Shield (7th level).

 

Disadvantages:

- Can cast one spell less per level.

 

Usable by:

Speciality Priest

Link to comment

Probably the easiest way to get crossmod compatibility would be to make sure that this was installed after all other mods except possibly Virtue.

 

 

It would be cumbersome, would take half an eternity to run, and would need thorough testing, but you might be able to do a bulk "search and replace" of all instances of Kit(Player1,GODLATHANDER) with HasItem(Player1,"MyItem")

 

 
COPY_EXISTING_REGEXP ~.*\.dlg~ ~override~ 
DECOMPILE_DLG_TO_D 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player1,GODLATHANDER)~ ~OR(3) HasItem(Player1,"MyLathanderItem") HasItem(Player1,"MyLesserLathanderItem") HasItem(Player1,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player1,GODHELM)~ ~OR(3) HasItem(Player1,"MyHelmItem") HasItem(Player1,"MyLesserHelmItem") HasItem(Player1,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player1,GODTALOS)~ ~OR(3) HasItem(Player1,"MyTalosItem") HasItem(Player1,"MyLesserTalosItem") HasItem(Player1,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player1,GODLATHANDER)~ ~!HasItem(Player1,"MyLathanderItem") !HasItem(Player1,"MyLesserLathanderItem") !HasItem(Player1,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player1,GODHELM)~ ~!HasItem(Player1,"MyHelmItem") !HasItem(Player1,"MyLesserHelmItem") !HasItem(Player1,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player1,GODTALOS)~ ~!HasItem(Player1,"MyTalosItem") !HasItem(Player1,"MyLesserTalosItem") !HasItem(Player1,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player2,GODLATHANDER)~ ~OR(3) HasItem(Player2,"MyLathanderItem") HasItem(Player2,"MyLesserLathanderItem") HasItem(Player2,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player2,GODHELM)~ ~OR(3) HasItem(Player2,"MyHelmItem") HasItem(Player2,"MyLesserHelmItem") HasItem(Player2,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player2,GODTALOS)~ ~OR(3) HasItem(Player2,"MyTalosItem") HasItem(Player2,"MyLesserTalosItem") HasItem(Player2,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player2,GODLATHANDER)~ ~!HasItem(Player2,"MyLathanderItem") !HasItem(Player2,"MyLesserLathanderItem") !HasItem(Player2,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player2,GODHELM)~ ~!HasItem(Player2,"MyHelmItem") !HasItem(Player2,"MyLesserHelmItem") !HasItem(Player2,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player2,GODTALOS)~ ~!HasItem(Player2,"MyTalosItem") !HasItem(Player2,"MyLesserTalosItem") !HasItem(Player2,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player3,GODLATHANDER)~ ~OR(3) HasItem(Player3,"MyLathanderItem") HasItem(Player3,"MyLesserLathanderItem") HasItem(Player3,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player3,GODHELM)~ ~OR(3) HasItem(Player3,"MyHelmItem") HasItem(Player3,"MyLesserHelmItem") HasItem(Player3,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player3,GODTALOS)~ ~OR(3) HasItem(Player3,"MyTalosItem") HasItem(Player3,"MyLesserTalosItem") HasItem(Player3,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player3,GODLATHANDER)~ ~!HasItem(Player3,"MyLathanderItem") !HasItem(Player3,"MyLesserLathanderItem") !HasItem(Player3,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player3,GODHELM)~ ~!HasItem(Player3,"MyHelmItem") !HasItem(Player3,"MyLesserHelmItem") !HasItem(Player3,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player3,GODTALOS)~ ~!HasItem(Player3,"MyTalosItem") !HasItem(Player3,"MyLesserTalosItem") !HasItem(Player3,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player4,GODLATHANDER)~ ~OR(3) HasItem(Player4,"MyLathanderItem") HasItem(Player4,"MyLesserLathanderItem") HasItem(Player4,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player4,GODHELM)~ ~OR(3) HasItem(Player4,"MyHelmItem") HasItem(Player4,"MyLesserHelmItem") HasItem(Player4,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player4,GODTALOS)~ ~OR(3) HasItem(Player4,"MyTalosItem") HasItem(Player4,"MyLesserTalosItem") HasItem(Player4,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player4,GODLATHANDER)~ ~!HasItem(Player4,"MyLathanderItem") !HasItem(Player4,"MyLesserLathanderItem") !HasItem(Player4,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player4,GODHELM)~ ~!HasItem(Player4,"MyHelmItem") !HasItem(Player4,"MyLesserHelmItem") !HasItem(Player4,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player4,GODTALOS)~ ~!HasItem(Player4,"MyTalosItem") !HasItem(Player4,"MyLesserTalosItem") !HasItem(Player4,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player5,GODLATHANDER)~ ~OR(3) HasItem(Player5,"MyLathanderItem") HasItem(Player5,"MyLesserLathanderItem") HasItem(Player5,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player5,GODHELM)~ ~OR(3) HasItem(Player5,"MyHelmItem") HasItem(Player5,"MyLesserHelmItem") HasItem(Player5,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player5,GODTALOS)~ ~OR(3) HasItem(Player5,"MyTalosItem") HasItem(Player5,"MyLesserTalosItem") HasItem(Player5,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player5,GODLATHANDER)~ ~!HasItem(Player5,"MyLathanderItem") !HasItem(Player5,"MyLesserLathanderItem") !HasItem(Player5,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player5,GODHELM)~ ~!HasItem(Player5,"MyHelmItem") !HasItem(Player5,"MyLesserHelmItem") !HasItem(Player5,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player5,GODTALOS)~ ~!HasItem(Player5,"MyTalosItem") !HasItem(Player5,"MyLesserTalosItem") !HasItem(Player5,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player6,GODLATHANDER)~ ~OR(3) HasItem(Player6,"MyLathanderItem") HasItem(Player6,"MyLesserLathanderItem") HasItem(Player6,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player6,GODHELM)~ ~OR(3) HasItem(Player6,"MyHelmItem") HasItem(Player6,"MyLesserHelmItem") HasItem(Player6,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player6,GODTALOS)~ ~OR(3) HasItem(Player6,"MyTalosItem") HasItem(Player6,"MyLesserTalosItem") HasItem(Player6,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player6,GODLATHANDER)~ ~!HasItem(Player6,"MyLathanderItem") !HasItem(Player6,"MyLesserLathanderItem") !HasItem(Player6,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player6,GODHELM)~ ~!HasItem(Player6,"MyHelmItem") !HasItem(Player6,"MyLesserHelmItem") !HasItem(Player6,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player6,GODTALOS)~ ~!HasItem(Player6,"MyTalosItem") !HasItem(Player6,"MyLesserTalosItem") !HasItem(Player6,"MyGreaterTalosItem")~ 
COMPILE_D_TO_DLG 

COPY_EXISTING_REGEXP ~.*\.bcs~ ~override~ 
DECOMPILE_BCS_TO_BAF 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player1,GODLATHANDER)~ ~OR(3) HasItem(Player1,"MyLathanderItem") HasItem(Player1,"MyLesserLathanderItem") HasItem(Player1,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player1,GODHELM)~ ~OR(3) HasItem(Player1,"MyHelmItem") HasItem(Player1,"MyLesserHelmItem") HasItem(Player1,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player1,GODTALOS)~ ~OR(3) HasItem(Player1,"MyTalosItem") HasItem(Player1,"MyLesserTalosItem") HasItem(Player1,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player1,GODLATHANDER)~ ~!HasItem(Player1,"MyLathanderItem") !HasItem(Player1,"MyLesserLathanderItem") !HasItem(Player1,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player1,GODHELM)~ ~!HasItem(Player1,"MyHelmItem") !HasItem(Player1,"MyLesserHelmItem") !HasItem(Player1,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player1,GODTALOS)~ ~!HasItem(Player1,"MyTalosItem") !HasItem(Player1,"MyLesserTalosItem") !HasItem(Player1,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player2,GODLATHANDER)~ ~OR(3) HasItem(Player2,"MyLathanderItem") HasItem(Player2,"MyLesserLathanderItem") HasItem(Player2,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player2,GODHELM)~ ~OR(3) HasItem(Player2,"MyHelmItem") HasItem(Player2,"MyLesserHelmItem") HasItem(Player2,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player2,GODTALOS)~ ~OR(3) HasItem(Player2,"MyTalosItem") HasItem(Player2,"MyLesserTalosItem") HasItem(Player2,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player2,GODLATHANDER)~ ~!HasItem(Player2,"MyLathanderItem") !HasItem(Player2,"MyLesserLathanderItem") !HasItem(Player2,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player2,GODHELM)~ ~!HasItem(Player2,"MyHelmItem") !HasItem(Player2,"MyLesserHelmItem") !HasItem(Player2,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player2,GODTALOS)~ ~!HasItem(Player2,"MyTalosItem") !HasItem(Player2,"MyLesserTalosItem") !HasItem(Player2,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player3,GODLATHANDER)~ ~OR(3) HasItem(Player3,"MyLathanderItem") HasItem(Player3,"MyLesserLathanderItem") HasItem(Player3,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player3,GODHELM)~ ~OR(3) HasItem(Player3,"MyHelmItem") HasItem(Player3,"MyLesserHelmItem") HasItem(Player3,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player3,GODTALOS)~ ~OR(3) HasItem(Player3,"MyTalosItem") HasItem(Player3,"MyLesserTalosItem") HasItem(Player3,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player3,GODLATHANDER)~ ~!HasItem(Player3,"MyLathanderItem") !HasItem(Player3,"MyLesserLathanderItem") !HasItem(Player3,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player3,GODHELM)~ ~!HasItem(Player3,"MyHelmItem") !HasItem(Player3,"MyLesserHelmItem") !HasItem(Player3,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player3,GODTALOS)~ ~!HasItem(Player3,"MyTalosItem") !HasItem(Player3,"MyLesserTalosItem") !HasItem(Player3,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player4,GODLATHANDER)~ ~OR(3) HasItem(Player4,"MyLathanderItem") HasItem(Player4,"MyLesserLathanderItem") HasItem(Player4,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player4,GODHELM)~ ~OR(3) HasItem(Player4,"MyHelmItem") HasItem(Player4,"MyLesserHelmItem") HasItem(Player4,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player4,GODTALOS)~ ~OR(3) HasItem(Player4,"MyTalosItem") HasItem(Player4,"MyLesserTalosItem") HasItem(Player4,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player4,GODLATHANDER)~ ~!HasItem(Player4,"MyLathanderItem") !HasItem(Player4,"MyLesserLathanderItem") !HasItem(Player4,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player4,GODHELM)~ ~!HasItem(Player4,"MyHelmItem") !HasItem(Player4,"MyLesserHelmItem") !HasItem(Player4,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player4,GODTALOS)~ ~!HasItem(Player4,"MyTalosItem") !HasItem(Player4,"MyLesserTalosItem") !HasItem(Player4,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player5,GODLATHANDER)~ ~OR(3) HasItem(Player5,"MyLathanderItem") HasItem(Player5,"MyLesserLathanderItem") HasItem(Player5,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player5,GODHELM)~ ~OR(3) HasItem(Player5,"MyHelmItem") HasItem(Player5,"MyLesserHelmItem") HasItem(Player5,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player5,GODTALOS)~ ~OR(3) HasItem(Player5,"MyTalosItem") HasItem(Player5,"MyLesserTalosItem") HasItem(Player5,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player5,GODLATHANDER)~ ~!HasItem(Player5,"MyLathanderItem") !HasItem(Player5,"MyLesserLathanderItem") !HasItem(Player5,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player5,GODHELM)~ ~!HasItem(Player5,"MyHelmItem") !HasItem(Player5,"MyLesserHelmItem") !HasItem(Player5,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player5,GODTALOS)~ ~!HasItem(Player5,"MyTalosItem") !HasItem(Player5,"MyLesserTalosItem") !HasItem(Player5,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player6,GODLATHANDER)~ ~OR(3) HasItem(Player6,"MyLathanderItem") HasItem(Player6,"MyLesserLathanderItem") HasItem(Player6,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player6,GODHELM)~ ~OR(3) HasItem(Player6,"MyHelmItem") HasItem(Player6,"MyLesserHelmItem") HasItem(Player6,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~ Kit(Player6,GODTALOS)~ ~OR(3) HasItem(Player6,"MyTalosItem") HasItem(Player6,"MyLesserTalosItem") HasItem(Player6,"MyGreaterTalosItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player6,GODLATHANDER)~ ~!HasItem(Player6,"MyLathanderItem") !HasItem(Player6,"MyLesserLathanderItem") !HasItem(Player6,"MyGreaterLathanderItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player6,GODHELM)~ ~!HasItem(Player6,"MyHelmItem") !HasItem(Player6,"MyLesserHelmItem") !HasItem(Player6,"MyGreaterHelmItem")~ 
	REPLACE_TEXTUALLY CASE_INSENSITIVE ~!Kit(Player6,GODTALOS)~ ~!HasItem(Player6,"MyTalosItem") !HasItem(Player6,"MyLesserTalosItem") !HasItem(Player6,"MyGreaterTalosItem")~ 
COMPILE_BAF_TO_BCS

 

I'm sure you can see how that might bog down the installer for a while. And I'm not sure how it would handle Kit() vs. !Kit(), since I've never tried using it this way.

 

If you tied the "special priest" powers to the greater holy symbols, you could just use extended headers for the spells, and they'd be accessible through the "Use Item" icon, not through the "Special powers" icon.

Link to comment

Just to clarify the original post I made. The intent was not to sound accusatory, but rather to provide a detailed explanation of my concerns as concisely as possible. Sometimes, that reads as terse. Sorry if it came across that way.

 

I do have concerns, but if they can be resolved in a compatibility friendly fashion, then I'm all for it.

Link to comment

Hey, wait a second --

 

how about building this as an add-on to the original kits, using ideas from Geomantic Sorceror, and Zrayen's Hidden Kits, and such - hearkening back to the Grand Old Days of modding, where scripted applications of a new kit were the standard?

 

f you are setting up information for the spell selectin, kit, etc., etc. by adding an unremovable ring-slot item, you can add that via dialog for player choice by having the mod add a cutscene for initial playthroughs and enabling temples/merchants to provide that hly symbol.

 

Then, adjusting everything from there could be accomplished using a script to build off of that, right? Meaning, in the following situation:

 

1. I have DR, and all the BigWorld monster-list-of-kits installed.

2. I have all sorts of mods that expect vanilla game kits behavior to allow pathways (including the vanilla BG2 Cleric Stronghold Quests).

3. I want my PC to be a Faiths and Pantheons kit.

 

So I install the mod, and get the added kits available installed, but until I have met up and picked up my holy symbol, I have a standard kit.

 

Then, I get finished with the initial dungeon (BG2) or the very start of BG content (BGT or Tutu), where I am asked to declare my faith by an NPC, and based on responses, I can "leave things the way they are", or declare the appropriate God and kit. Then the follow up is like Geomantic Sorceror or Hidden Kits - scripted changes for the player to that item reference, resetting what clab, etc., and so forth. basically, PC is changed to either a base class, or with the "Faiths" kit, which is really a null... because that "faiths" kit will be swapped for an item-driven set of possibilities.

 

 

Thinking about it, what I am really thinking of here is like having an upgradable-by-level ring that has scripts to change things to an empty kit and then the rest of the mod materials drive how that ring is upgraded. A similar system might be a leveling sword (level 1 to 5, +1, level 6 1to 10, +3, etc.)...

 

 

ok, enough brainstorming. i am starting to confuse myself.

Link to comment

Well, currently my version of system looks like that.

- three new kits: Crusader (sort of battlepriest who can use all weapons, got fighter's thaco and is mastered in his deity's favoured weapon), Mystic (pilgrim-like cleric) and Speciality Priest.

- all of the priest needs to use item known as Holy Symbol of X. For normal priests, Mystics and Paladins it means only possibility of spellcasting and turning undead. Crusaders also get mastery in deity's favoured weapon. Also Holy Symbol adds spells to your spellbook (sphere system, handled thanks to Give Innate Ability opcode)

- but if your character is Speciality Priest, in addition your character's kit is changed into "selected one". Connection of handling everything via item and kit allows me to properly implement sphere system and 'One spell less per level' feature. :3

- You can obtain Holy Symbol in one of few places. Priest of Oghma in Candlekeep, charmseller in Athkatla and Saradush. Yup, there's a bit of realism - no Holy Symbol in Irenicus Chateu (for cheesy players component which introduces all holy symbols there). I don't like obtaining it via dialogue. I'll create few merchants who are just charm sellers and I hope that's enough. I'll add additional 'green guy' to Candlekeep to inform you about Holy Symbols etc.

- there's going to be only one Holy Symbol of each faith, rest will be handled via .eff files.

- in my mod cleric flag 'trueclass' also get's screwed because of my method of making kit which can use more things than original class.

- Well, those compatibility problems starts looking serious. Maybe the only one thing possible to do is adding to mod a pack of manualy modified scripts and dialogues.

Link to comment

(sight) Long short story. Being trueclass Cleric/Mystic/Crusader of any faith doesn't bring any profits (well, minor exception of mastery in favoured deity's weapon) that's why you don't have all of those kits. And what about Speciality Priest, after wearing Holy Symbol his kit is changed so yes, there'd be Cleric of Lathander kit - but sorry, original 2DA entry will be occupied by Mystic or trueclass cleric 'kit' :suspect:

Link to comment

What are the problems with this scenario?

 

  • Existing clerics (vanilla or mod-added) with vanilla kits are turned into specialty priests and given appropriate holy symbols
  • Existing clerics (vanilla or mod-added) without vanilla kits are given a custom "plain cleric" kit that shares usability with specialty priest
  • Existing items unusable by vanilla kits are collected and applied as "Can't use item" effects on holy symbols
  • Existing items unusable by normal clerics are changed so they are unusable by specialty priests (using one of the now unneeded Talos/Helm/Lathander flags) and usable by normal clerics
  • Items that should or should not be usable by mystics and crusaders are adjusted via the two remaining unneeded Talos/Helm/Lathander flags
  • There is one holy symbol for each faith; the differences between mystics, crusaders, and specialty priests is handled via EFF targeting on kit
  • Existing Kit(X, GODHELM) checks are swapped for HasItemEquipped("godhelm", X)
  • New player characters must choose their faith in-game after deciding if they wish to be mystics, crusaders, or specialty priests (or plain clerics?)

Link to comment

Yup, plain cleric is someone different than Speciality Priest. I think (and hope) that Mike is right in the matter of 'nothing wrong' with that. The only thing is, making ALL of the vanilla kitted priests Speciality Ones isn't so obvious. Speciality Priests are someone really special, even in their church - usually they are something like 5~20% of the whole church. You can be non-kitted priest and venerate f.e. Lathander. You're getting generic cleric's sphere access, don't have one spell per level removed (and exchanged into Domain Spells).

 

I'm also implementing DR's sphere system, but I think we've found solution to not use those macros, because if you're using opcode of Gain innate ability with cleric's spell as a resource, you don't get any unwanted XP reward. But sphere system has one great drawback - lack of spells. Watcher of Helm had only two spells at 4th level, as example. But thanks to having a lot of sources I think I'll be capable of implementing few new spells.

 

After doing some research for F&A system, the only thing which will need to be done is the graphics, but I'm working on it. As example, icon of new spell - Impregnable Mind.

spwi319b.png

Link to comment
Yup, plain cleric is someone different than Speciality Priest. I think (and hope) that Mike is right in the matter of 'nothing wrong' with that. The only thing is, making ALL of the vanilla kitted priests Speciality Ones isn't so obvious. Speciality Priests are someone really special, even in their church - usually they are something like 5~20% of the whole church. You can be non-kitted priest and venerate f.e. Lathander. You're getting generic cleric's sphere access, don't have one spell per level removed (and exchanged into Domain Spells).

In the vanilla game, you won't find ANY clerics who have kits. Divine Remix assigns kits to about 30 vanilla clerics, and there are a few new kitted clerics that come from other mods. There are so few you could actually go through and decide what to do about each one, with a default case for creatures from future mods.

Link to comment
In the vanilla game, you won't find ANY clerics who have kits. Divine Remix assigns kits to about 30 vanilla clerics, and there are a few new kitted clerics that come from other mods. There are so few you could actually go through and decide what to do about each one, with a default case for creatures from future mods.

Yeah, but still I have to assign Holy Symbol to ALL of the priests in-game. Did I said that I'm using my own version of DR's spell system where spells are assigned via item and Gain innate ability opcode? :3 So without Holy Symbol priest's don't have any spells?

 

Well, to make it far more compatible with mods like SCS, I'll probably create special item which grants all priest's spells. I'm planning some custom scripts for Speciality Priests - those would be quite cool, especially for Lathander, Helm and Talos. :3

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...