Jump to content


Photo

The Rogue Class Switching Mod (Bard to Thief and vice versa)


  • Please log in to reply
30 replies to this topic

#1 lroumen

lroumen
  • Member
  • 19 posts

Posted 07 April 2010 - 01:51 AM

File Name: The Rogue Class Switching Mod (Bard to Thief and vice versa)
File Submitter: lroumen
File Submitted: 07 Apr 2010
File Updated: 28 Jun 2010
File Category: Miscellaneous Released Mods

Rogue Switch
A bard kit for Baldur's Gate 2, by lroumen. Preserved prefix: LR

This mod introduces a kit for both bard or thief that allows one to shapeshift into the other at will (through an innate ability) without a timer and without a limitation to the amount of switches per day. The intent is to make this particular bardkit into a stand-alone character that can either be a thief or a bard, effectively negating the necessity for a thief in the party.

The mod makes use of the changeclass option in the game and keeps track of personal progression of the character. Should you level up as a bard, then you gain 20% bonus to thieving skills similar as to what you get when you level up as a thief. These points are distributed to one of three disciplines.

picking skills: 10% pick locks and 10% pick pockets
trapping skills: 10% find traps and 10% detect illusions
stealth skills: 10% to hide in shadows and 10% to move silently

Should you level up as a thief, you do not gain the spell level per bonus, but this can be corrected by having an NPC cast a restoration spell on you.
This does not seem to work. In version 1.3 I have corrected this by deleveling the character after you have switched to a bard and providing a releveling the character. Once you have releveled you have obtained the correct spell levels. In this process I temporarily remove the switching ability to enforce you to level up again as a bard. In addition, you do not gain HLAs as a thief, but with the delevel-relevel you will gain a HLA as a bard.
The only problem is that I have been unable to fix the additional proficiency stars that you get (at certain levels you get one as a thief and upon delevel-relevel you get one again as a bard). It is up to you to try not to abuse this. Since you do not obtain mastery in any weapon I find it not too imbalancing, but it does not deserve a beauty price for good modding on my account.

When you change class the character buttons (F1 to F12) will be those of the original class. Reclick your character to get the correct button set. Thus, it is possible to switch to a thief and have bard buttons and sing the bardsong if you had not reclicked your character. A minor bonus which is not really helpful at all and there is no way to overcome this.
This has been fixed by applying a scripted doubleclick on the character, which centers the character in the screen.


Two installation options are available.
BluePrint: includes class changing and thieving bonus upon level up.
Lux way: includes BluePrint as well as a Custom Bardsong, Custom Weaponspell, Custom Dialogue for level up of thieving abilities.


Kit descriptions.
Bardic Switch: The Switch is a nimble rogue who sings songs and rights wrongs. In his youth the Switch has been trained by a mysterious creature called the Master Switch, whom you can expect to see again.
Becoming a Switch entitled that he focused the development of muscles on speed and nimbleness rather than strength and force.

Due to this training the Switch incurs a penalty of 1 in strength which is in turn gained in dexterity.

Advantages:
- Dexterity +1
- Can change class into a thief
- Must be of neutral alignment
- May use all levels in weapon styles

Disadvantages:
- Strength -1
- May not be of lawful alignment

Thief Switch: Same as above ;).

Custom Bardsong:
Levle 1-19: Protection from web, entangle and hold. Cures hold. Dex +1.
Level 20: Protection from web, entangle and hold. Cures hold. Dex +3. Attacks per round +1. Invisibility.

Custom Weapon: Switch Blade
Tier 1: 1d8+1, thac0+1, profs longsword = 1, blurred, 10% chance to heal 1HP, attack per round = 1.5
Tier 1: 1d8+2, thac0+2, profs longsword = 2, blurred, 15% chance to heal 2HP, attack per round = 2
Tier 1: 1d8+3, thac0+3, profs longsword = 3, blurred, 20% chance to heal 5HP, attack per round = 3
Tier 1: 1d8+4, thac0+4, profs longsword = 4, blurred, 25% chance to heal 10HP, attack per round = 4


Version History:

VERSION 1.3 Changes
- Fixed button bar
- Fixed bard spell slots
- Fixed TOB behaviour


VERSION 1.2 Changes
- Innate abilities have no casting speed to prevent interruption.
- Foldername change (used to be bardkit_finalised, currently RogueSwitch)
- BWL closed free access to forum. Mod uploaded to SHS Miscellaneous Mods.

VERSION 1.1 Fixes
- bardsong did not work properly and enhanced bardsong was overwritten when you switched classes. The enhanced bardsong has been removed and instead the normal bardsong upgrades to it at level 20.
- SPL LRSW009.spl has been fixed. LRSW010.spl and LRSW011.spl are now obsolete.
- Uploaded to BlackWyrmLair. Very greatful for the exposure.

VERSION 1.0
- Uploaded to BlackWyrmLair. Very greatful for the exposure.


Acknowledgements:

Ardanis, Jarno Mikkola, Hoppy, Kwiat_W, Wisp and the bigg for some tips on the coding.


Known Issues:
Character class changing and Level progression of the Switch is monitored through a global variable protocol which does not work for multiple Switches in the same party. Please only use one Switch or you will run into problems (both switches may change class at the same time or the wrong level up is given for each switch resulting in too few or too many bonus thieving skills).



Construction:
This mod is made using DLTCEP and Weidu.

De-construction:
If you in any way wish to change the stats and bonuses of the bardic and thief switches I will fully understand. I just gave it a bit more flair by adding a few bonuses such as the weapon spell and custom bardsong. All of the bonuses are added through the baf file since putting them in the clab 2da file will reapply them again when you change class a few times, thus giving you multiple of the same bonuses.
More bonuses can be added through the baf file by checking the level of your character. You are welcome to remove or change these bonuses and/or add your own in your installation (just use // to disable them in the baf and edit the kit 2da file). Be sure not to mess with the character level checking and thieving bonus provision though or you break the core part of the mod. Also, with regard to the 2da, do not put your bonuses in the clab file or they will be duplicated every time you change class. Please put them in the baf file (and probably for all 6 players with a similar check as shown in the baf).
A full description of each global is added to the readme in order to give you an idea about what is important to the core of the mod and what is flair. If someone wants to know, I can dissect it even further and do a step-by-step thing.

I am currently working on a similar concept for ranger/paladin and cleric/monk although the latter will probably fail due to issues with the monks clab file (since when you change class, all bonuses in the clab are applied to the character again).

Kind Regards,

Luc

Click here to download this file

Edited by lroumen, 27 June 2010 - 11:00 PM.


#2 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 07 April 2010 - 02:35 AM

Nice. Too lazy to try it out, but

Should you level up as a thief, you do not gain the spell level per bonus, but this can be corrected by having an NPC cast a restoration spell on you.

Isn't it possible to apply Lesser Restoration every time you switch back to bard?

When you change class the character buttons (F1 to F12) will be those of the original class. Reclick your character to get the correct button set. Thus, it is possible to switch to a thief and have bard buttons and sing the bardsong if you had not reclicked your character. A minor bonus which is not really helpful at all and there is no way to overcome this.

You can (maybe) try to MakeUnselectable(1) on the character to unselect him, or see if the buttons refresh after applying effect 214 Select Spell on the character.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#3 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 07 April 2010 - 05:00 AM

Hey, Iroumen, I will take a look, but

Character class changing and Level progression of the Switch is monitored through a global variable protocol which does not work for multiple Switches in the same party.

I have played around with this idea a little bit before, searching for a way of setting up things to advance in a mod on two separate lines (one for PC nd one for an NPC) and one way I have found is setting multiple variables with distinct references to player slots (Player1, Player2, Player3, Player4, Player5, Player6). The mod sounds like an interesting idea; I don't know if you want to enable this for multiple players (as it effectively is a dualclass Thief/Bard and might push it a bit far to have more than one per party per playthrough) but you might be able to expand this idea for multiplayer folks by playing around with Amber's .bcs work dealing with multiplayer Player2 romances (in Amber, using Multiplayer, either Player1 or Player2 can romance Amber - so far, it is the most extensive mod for multiplayer support).

Edited by cmorgan, 07 April 2010 - 05:01 AM.


#4 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 07 April 2010 - 08:20 AM

Referencing PlayerX is unreliable because when a party member leaves the PlayerX numbers are all messed up. It'd be better to use the default2/3 scripts and advise players to keep party AI on.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#5 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 07 April 2010 - 10:12 AM

Good point - I had forgotten that. Party AI is probably a good deal better.

#6 salomonkane

salomonkane
  • Member
  • 166 posts

Posted 12 April 2010 - 11:07 AM

This Sounds Great ! :woot:
Well done ! :lol: ,
We must try this Now !... :doh:

THANK YOU :D .
Quo Vadis ?

#7 lroumen

lroumen
  • Member
  • 19 posts

Posted 17 May 2010 - 10:54 AM

Sorry for the extremely late reply, but I have had to find some time to test these things before posting a reply. I should have left a note saying that I was on the case. My sincere apologies since you took the time to look at my work.

Isn't it possible to apply Lesser Restoration every time you switch back to bard?

Indeed this is possible and it was what I had in an unreleased version. Sadly, it means that one can cheat their way out of level drain by simply switching to either thief or bard, so I don't think that's a good work-around. I think it is a minor inconvenience to the player should they wish to level up as a thief instead of a bard. You don't level up that often after all and it's a memorizable spell or buyable and relatively cheap.

You can (maybe) try to MakeUnselectable(1) on the character to unselect him, or see if the buttons refresh after applying effect 214 Select Spell on the character.

I have tried this but unfortunately I couldn't get the effect to work. Maybe a better modder than myself can figure out the details, but after trying it about 10 times I've given up on it. Not sure if it is really necessary, so I'll put it up as an aesthetic flaw. I'll probably try a few more times though.

Hey, lroumen, I will take a look, but I have played around with this idea a little bit before, searching for a way of setting up things to advance in a mod on two separate lines (one for PC nd one for an NPC) and one way I have found is setting multiple variables with distinct references to player slots (Player1, Player2, Player3, Player4, Player5, Player6). The mod sounds like an interesting idea; I don't know if you want to enable this for multiple players (as it effectively is a dualclass Thief/Bard and might push it a bit far to have more than one per party per playthrough) but you might be able to expand this idea for multiplayer folks by playing around with Amber's .bcs work dealing with multiplayer Player2 romances (in Amber, using Multiplayer, either Player1 or Player2 can romance Amber - so far, it is the most extensive mod for multiplayer support).

As mentioned by thebigg. Player2 etc will mess up when the player is booted from the party. I believe I mentioned that in the text above or it is mentioned in the readme instead. I have tried a few more things but I cannot get the character to remember its own level progression and switching progression even if I create all LOCALS instead of GLOBAL. I've done a lot of checking and recoding but so far no luck.

Referencing PlayerX is unreliable because when a party member leaves the PlayerX numbers are all messed up. It'd be better to use the default2/3 scripts and advise players to keep party AI on.

I'm not certain what you mean by this. It's DPLAYER2/DPLAYER3 that you mean, correct? But I'm not certain what you imply as a fix. Could you emphasize (if you ever check the topic because I know I'm REALLY LATE with replying)?


This Sounds Great ! :woot:
Well done ! :lol: ,
We must try this Now !... :doh:

THANK YOU :D .

Thank you very much. I hope you are enjoying it.

#8 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 17 May 2010 - 11:08 AM

I'm not certain what you mean by this. It's DPLAYER2/DPLAYER3 that you mean, correct? But I'm not certain what you imply as a fix. Could you emphasize (if you ever check the topic because I know I'm REALLY LATE with replying)?

Yes, I was suggesting to move the scripts from baldur.bcs to dplayer2/dplayer3 (thus using local variables and allowing more than 1 person with the kit); however, those scripts don't run if party AI is switched off.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#9 lroumen

lroumen
  • Member
  • 19 posts

Posted 17 May 2010 - 10:46 PM


I'm not certain what you mean by this. It's DPLAYER2/DPLAYER3 that you mean, correct? But I'm not certain what you imply as a fix. Could you emphasize (if you ever check the topic because I know I'm REALLY LATE with replying)?

Yes, I was suggesting to move the scripts from baldur.bcs to dplayer2/dplayer3 (thus using local variables and allowing more than 1 person with the kit); however, those scripts don't run if party AI is switched off.

Alright, that makes sense. I was unaware that people played with party AI on though. Most of the time they do not seem to do so. I will see what I can do. It seems pretty straightforward.

#10 salomonkane

salomonkane
  • Member
  • 166 posts

Posted 24 May 2010 - 06:48 AM

I just tried this mod with the concept is really Sensational :rolleyes: ,
I think it allows to circumvent certain limitations of the code ( relating to certain classes and kits, and this is really awesome :woot: ! ),

- But I wonder if possible :

- To use The Rogue Class Switching Mod in TOB (1) ?
- To use It in a multi/dual/class , and how (2) ?

In advance thank you for your answers and Greetings :D ...

(1) I have tried many (new games, imports saves, use SK etc.) I have the impression that slayer-switch creates a conflict .
(2) I have the ambition to use your Kit to dual-class it with an another kit that I appreciate particularly (acid elementalist warrior/Elementalist Kits by Tioma : http://www.sorcerers...osted_misc2.php , for my Custom multi-solo Characters in my TOB/Weimer Ascension http://weidu.org/asc.html Modding-Game)

Edited by salomonkane, 25 May 2010 - 12:08 AM.

Quo Vadis ?

#11 Kwiat_W

Kwiat_W
  • Modder
  • 290 posts

Posted 24 May 2010 - 07:11 AM

When you change class the character buttons (F1 to F12) will be those of the original class. Reclick your character to get the correct button set. Thus, it is possible to switch to a thief and have bard buttons and sing the bardsong if you had not reclicked your character. A minor bonus which is not really helpful at all and there is no way to overcome this.

Using spell effect 111 - Create Magical Weapon, to create a nonexistent item for duration of 1 second will refresh the buttons. If it won't stop bard song you can additionally use script action 149 EquipMostDamagingMelee().

icon11.gif W_GUI - a GUI replacement for Baldur's Gate 2/TUTU/BGT/CA
icon11.gif W_PackMule - Your own pack mule for Baldur's Gate 2/Tutu/BGT/CA, BGEE and BG2:EE

icon11.gif Psionics Unleashed - play as a Psion, mod for Baldur's Gate 2/Tutu/BGT/CA

 


#12 lroumen

lroumen
  • Member
  • 19 posts

Posted 24 May 2010 - 11:35 PM

- To use The Rogue Class Switching Mod in TOB (1) ?

It should be okay but it feels a bit artificial with regards to the thieving bonus distribution. I coded the bonuses through the innate such that you should be able to start at any level. I checked it in my own TOB start and it was fine.

- To use It in a multi/dual/class , and how (2) ?

I currently disabled it because you change your class in an active manner. If you are a thief dualed to a cleric (would be my pick) and then switch to a bard, the recovery script (going back from bard to something else) will at the moment put you back as a thief. So you will lose your clerical side. You can circumvent it by changing the class in the BAF-file (more below).

The main reason for disabling dualclassing was XP gain and leveling of the character as well as obtaining bonuses through the clab files.

I am optimistic if I say that it could work if I (or you) would put in some checks on the class AND kit at the same time, to keep track of what you dualed into and put a few mode globals in the switching trigger. I am rather uncertain whether the script will successfully recover the dual levels.

It is a difficult case and therefore I disabled it. I will try a few things to see if I can get it to work well.

(1) I have tried many (new games, imports saves, use SK etc.) I have the impression that slayer-switch creates a conflict .

I will have a look at it after work. I cannot recall whetehr I have tested other shapeshifting items and abilities with the class. I really should have. I will report back my findings.

(2) I have the ambition to use your Kit to dual-class it with an another kit that I appreciate particularly (acid elementalist warrior : http://www.sorcerers...isc2.phpwarrior, for my Custom multi-solo Characters in my TOB/Weimer Ascension http://weidu.org/asc.html Modding-Game)

If you can get it to work I have no problems with mimicking my class switching method. I do advise you to be careful with the dualclassing though because I have not investigated it in any manner as of yet.

I'm thinking the following may give you some inspiration, but I have not had time to check whether it does what you want it to do. Primarily it will make you a multiclass. Secondarily, it will probably only give you the acid fighter kit because I think the second AddKit option will override the first one. I will try it out myself to see what happens. If it does not, then you only have the option to integrate the acid kit with the thief kit in another fashion.

Change the lines in LRswitch.baf:
ChangeClass(Player1,THIEF)
ActionOverride(Player1, AddKit(LRswitchthief))
into:
ChangeClass(Player1,FIGHTER_THIEF)
ActionOverride(Player1, AddKit(LRswitchthief))
ActionOverride(Player1, AddKit(ACID_ELM))


I tested this and AddKit() overrides previous kits. You cannot play the game with both kits in a multiclass. You can play the game by having a class/kit switching script (such as my mod).

Edited by lroumen, 28 May 2010 - 12:40 AM.


#13 lroumen

lroumen
  • Member
  • 19 posts

Posted 24 May 2010 - 11:37 PM

Using spell effect 111 - Create Magical Weapon, to create a nonexistent item for duration of 1 second will refresh the buttons. If it won't stop bard song you can additionally use script action 149 EquipMostDamagingMelee().

Thanks for the tip. I will check this as soon as possible. Sounds like it will fix the inconvenience of the button refresh.

#14 salomonkane

salomonkane
  • Member
  • 166 posts

Posted 25 May 2010 - 12:28 AM

(2) I have the ambition to use your Kit to dual-class it with an another kit that I appreciate particularly (acid elementalist warrior/Elementalist Kits by Tioma : http://www.sorcerers...osted_misc2.php , for my Custom multi-solo Characters in my TOB/Weimer Ascension http://weidu.org/asc.html Modding-Game)

-Edition of the correct link kit : Acid Elementalist Warrior/Elementalist Kits by Tioma : http://www.sorcerers...osted_misc2.php ,
@lroumen : Thank You for your quick reply :D .


Supplementary Question :
Would know if you forward the Concept Of Switch could apply to a change of G.U.I. :P ,
Which could for example assign different sets ( like in diablo 2 U.I. ) depending on the class used or the strategy ....
It would be great to turn uses a set of warrior / thief or true thief vs ninja thief etc ... depending on the scenario / action etc ... :woot:

Edited by salomonkane, 25 May 2010 - 01:36 AM.

Quo Vadis ?

#15 lroumen

lroumen
  • Member
  • 19 posts

Posted 25 May 2010 - 02:17 AM

You could make different innates to switch to different classes. That wouldn't be a major problem. The question is whether game balance is still going to be okay. With the goodies and tweaks I've added to my own kit I already find that in some cases it's too powerful and can be majorly abused. Still, if you play the game in a fair roleplaying manner.

GUI changes like changing portraits and changing the avatar of the character would be doable too. I do not think it a big problem, except that a bard and a thief look the same so there was no real reason to (except I did fiddle with it a bit for myself by putting in a trigger to make humans into tieflings. It's probably still in the mod right now).

Does that answer your question or did I misunderstand?

#16 salomonkane

salomonkane
  • Member
  • 166 posts

Posted 25 May 2010 - 02:46 AM

I wrote about the interface equipment, in diablo 2 you can choose two different sets of equipment via the UI



Posted Image


If you could like this game, have access to two different equipment for Carach or NPC via a switch in the Baldur G.U.I. it would increase considerably the gameplay ... :woot:

-Here we could use the equipment of the Bard or Thief, or in other cases the Paladin or the Ranger , etc. ... :lol:

Edited by salomonkane, 25 May 2010 - 03:07 AM.

Quo Vadis ?

#17 salomonkane

salomonkane
  • Member
  • 166 posts

Posted 25 May 2010 - 04:24 AM

Regarding the compatibility with other mods (that I enjoy too)

I wonder if the mods :

-Single-Script Thief
-Single-Bard script mod: from Avenger's Tweak Pack

http://readme.spellh...ME_aTweaks.HTML

-Shohy's Bard Song and Switching (Icewind Mode)

http://www.shsforums...de-for-bg2-v14/

- or : Pickpocket Options By Kwiat_W

http://www.shsforums...ns/page__st__20


... may encounter conflict with Rogue Class Switching Mod ... ?

... Thank You ... :D

Edited by salomonkane, 25 May 2010 - 05:12 AM.

Quo Vadis ?

#18 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 25 May 2010 - 06:40 AM

@salomonkane: Sorry for the OT but which D2 mod is that?? :woot:

"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#19 salomonkane

salomonkane
  • Member
  • 166 posts

Posted 25 May 2010 - 10:45 PM

@Lollorian :whistling: :
Hell on Earth + PlugY + UberQuest etc ...
See OTP : Faust ; http://www.portableg...o-2-thread.html

Hell on Earth (By G&S) : http://webcache.goog...lient=firefox-a
Hell on Earth 2 : http://www.planetdia...es/hellonearth/




-A small interface Mod :
http://thefaustviii....erface-82353754

Posted Image


- 2 links and the best known mods

1 ) http://modsbylaz.hugelaser.com/
2 ) http://www.moddb.com/mods/snej-mod


- And a short video to finish :


Edited by salomonkane, 25 May 2010 - 10:48 PM.

Quo Vadis ?

#20 lroumen

lroumen
  • Member
  • 19 posts

Posted 25 May 2010 - 10:56 PM

Atweaks: simple-scripts for thief and bard.
I tested the thief and bard scripts and they seem to perform as they should. They use hotkeys, which my mod does not contain, so that goes well. Not tested thoroughly (i.e. longtime gameplay) but I do not expect it to cause any problems.

Shohy's Bard Song and Switching (Icewind Mode):
There was no problem for the vanilla bard and bard kits when both mods are installed. Regardless of the order, the Switch does not gain the different songs that Shohy's nice mod provides. Not tested thoroughly, but there should be no problems with respect to them working in the same installation.

Pickpocket Options By Kwiat_W:
No problem encountered here either. Interesting mod indeed.