Jump to content

Multiclassing Kits?


Grand_Dracolich

Recommended Posts

Yes, there is.. I've actually jsut completed a mod doing just that.. "The Bladesinger Kit"..

 

You cannot directly assign a kit to multiclass character, as you do with other classes.. It is ony available to gnomes to multiclass as Illusionists/something..

 

The trick is to add a single-class kit. Might be fighter or thief, doesn't matter much.. at in his CLAB-file, add an ability at 1st level (my file doing that is the "srba_ab.spl"). This file calls a script ("srbsingr.bcs") that contains this code:

 

IF
Global("multypart1a","LOCALS",0)
THEN
RESPONSE #100
	ChangeClass(Myself,FIGHTER_MAGE)
	SetGlobal("multypart1a","LOCALS",1)
END

 

This changes you class from, in my case, a Fighter(Bladesinger) into a Fighter(Bladesinger)/Mage. All his assinged abilities, from the CLAB, is locked to the Fighter Class, so is you want him having bonuses to spellcsating, he will have to gain them through his fighter class..

 

Please note, that you probably can't get his kits kit description to show in game.. I can't seem to do that..

 

Feel free to look in my files..

 

Was this clear? I don't know how much you know about modding.. so it might be a little too technical..

Link to comment
Please note, that you probably can't get his kits kit description to show in game.. I can't seem to do that..

 

The TDD kit changes the name of the kit so you might want to take another look at those files again.

 

ronin

 

Yes, on the inventory and the record screen the name is showing as "Bladesinger/Mage", but your kit description is that of a Fighter/Mage..

 

It might be, that the use of AddKit() after ChangeClass() will add the description too, but I don't know for sure.. I'll have to figure out what to put in the AddKit()-function.. You wouldn't know, by chance?

 

EDIT: In TDDsinTDD they this script, in stead of my much simpler:

IF
Global("multypart1a","LOCALS",0)
XPLT(Myself,250000)
THEN
RESPONSE #100
	ChangeClass(Myself,FIGHTER_MAGE)
	SetGlobal("multypart1a","LOCALS",1)
END

IF
Global("multypart1a","LOCALS",1)
XPGT(Myself,499999)
CheckStat(Myself,8,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",0)
	SpellNoDecRES("SPBSBL",Myself)
	ChangeClass(Myself,FIGHTER)
	AddKit(16417)
	SmallWait(5)
	PauseGame()
END

IF
Global("multypart1a","LOCALS",0)
CheckStat(Myself,9,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",1)
	SpellNoDecRES("SPBSAL",Myself)
	ChangeClass(Myself,FIGHTER_MAGE)
	AddKit(16417)
END

IF
Global("multypart1a","LOCALS",1)
XPGT(Myself,1999999)
CheckStat(Myself,11,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",0)
	SpellNoDecRES("SPBSBL",Myself)
	ChangeClass(Myself,FIGHTER)
	AddKit(16417)
	SmallWait(5)
	PauseGame()
END

IF
Global("multypart1a","LOCALS",0)
CheckStat(Myself,12,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",1)
	SpellNoDecRES("SPBSAL",Myself)
	ChangeClass(Myself,FIGHTER_MAGE)
	AddKit(16417)
END

IF
Global("multypart1a","LOCALS",1)
XPGT(Myself,3499999)
CheckStat(Myself,14,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",0)
	SpellNoDecRES("SPBSBL",Myself)
	ChangeClass(Myself,FIGHTER)
	AddKit(16417)
	SmallWait(5)
	PauseGame()
END

IF
Global("multypart1a","LOCALS",0)
CheckStat(Myself,15,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",1)
	SpellNoDecRES("SPBSAL",Myself)
	ChangeClass(Myself,FIGHTER_MAGE)
	AddKit(16417)
END

IF
Global("multypart1a","LOCALS",1)
XPGT(Myself,4999999)
CheckStat(Myself,17,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",0)
	SpellNoDecRES("SPBSBL",Myself)
	ChangeClass(Myself,FIGHTER)
	AddKit(16417)
	SmallWait(5)
	PauseGame()
END

IF
Global("multypart1a","LOCALS",0)
CheckStat(Myself,18,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",1)
	SpellNoDecRES("SPBSAL",Myself)
	ChangeClass(Myself,FIGHTER_MAGE)
	AddKit(16417)
END

IF
Global("multypart1a","LOCALS",1)
XPGT(Myself,6499999)
CheckStat(Myself,20,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",0)
	SpellNoDecRES("SPBSBL",Myself)
	ChangeClass(Myself,FIGHTER)
	AddKit(16417)
	SmallWait(5)
	PauseGame()
END

IF
Global("multypart1a","LOCALS",0)
CheckStat(Myself,21,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",1)
	SpellNoDecRES("SPBSAL",Myself)
	ChangeClass(Myself,FIGHTER_MAGE)
	AddKit(16417)
END

IF
Global("multypart1a","LOCALS",1)
XPGT(Myself,7999999)
CheckStat(Myself,23,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",0)
	SpellNoDecRES("SPBSBL",Myself)
	ChangeClass(Myself,FIGHTER)
	AddKit(16417)
	SmallWait(5)
	PauseGame()
END

IF
Global("multypart1a","LOCALS",0)
CheckStat(Myself,24,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",1)
	SpellNoDecRES("SPBSAL",Myself)
	ChangeClass(Myself,FIGHTER_MAGE)
	AddKit(16417)
END

IF
Global("multypart1a","LOCALS",1)
XPGT(Myself,9499999)
CheckStat(Myself,26,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",0)
	SpellNoDecRES("SPBSBL",Myself)
	ChangeClass(Myself,FIGHTER)
	AddKit(16417)
	SmallWait(1)
	PauseGame()
END

IF
Global("multypart1a","LOCALS",0)
CheckStat(Myself,27,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",1)
	SpellNoDecRES("SPBSAL",Myself)
	ChangeClass(Myself,FIGHTER_MAGE)
	AddKit(16417)
END

IF
Global("multypart1a","LOCALS",1)
XPGT(Myself,10999999)
CheckStat(Myself,29,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",0)
	SpellNoDecRES("SPBSBL",Myself)
	ChangeClass(Myself,FIGHTER)
	AddKit(16417)
	Wait(1)
	PauseGame()
END

IF
Global("multypart1a","LOCALS",0)
CheckStat(Myself,30,LEVEL)
THEN
RESPONSE #100
	SetGlobal("multypart1a","LOCALS",1)
	SpellNoDecRES("SPBSAL",Myself)
	ChangeClass(Myself,FIGHTER_MAGE)
	AddKit(16417)
END

 

As you can see they're using AddKit(16417), but I can't figure out how they've found that number..

Link to comment

Darn, I was hoping there was a mod out there that lets you pick a multiclass, then pick a kit for each class. It would be SOOOO cool.

 

And don't worry, while I have absolutely no modding experience, I can understand the general idea of what those codes (I don't know the general terms) do. It's remarkably similar to trigger making in Starcraft.

Link to comment
I think that the 16417 is the StringRef. You could try to use AddKit(BladeSinger)

 

You mean the internal name for my kit? That might work..

 

 

AddKit(somenumber) takes the kit's number out of kit.ids.

 

I figured that.. What I don't understand is how they can be sure of their kit being installed with that number..

 

@Grand_Dracolich: You'd probably have to have an npc asking you at the beginning of the game what kit you wanted to play and then make him change you into that.. Or if you're wanting to use a kit allready in the game: Use ShadowKeeper to modify your save-game..

Link to comment

AddKit(BladeSinger) works because TDD uses it and I have never had a problem with the correct kit name appearing anywhere. Assuming that AddKit is in the .tp2 before the .baf is compiled.

 

 

@Grand_Dracolich: sorry for hijacking your thread, if someone wants to move this to a more appropriate place please do.

 

ronin

Link to comment
AddKit(BladeSinger) works because TDD uses it and I have never had a problem with the correct kit name appearing anywhere. Assuming that AddKit is in the .tp2 before the .baf is compiled.

 

It does work.. But the kit description in-game is still missing.. I guess it's some kind of hardcode..

 

@Grand_Dracolich: sorry for hijacking your thread, if someone wants to move this to a more appropriate place please do.

 

yes, Draco, sorry for stealing it..

Link to comment

Archived

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

×
×
  • Create New...