kit creation question |
The Black Wyrm's Lair Terms of Use | Help Search Members Calendar |
kit creation question |
Nov 3 2009, 08:48 AM
Post
#21
|
|
Forum Member Posts: 522 Joined: 12-April 06 From: Netherlands |
I will check Refinements regardless, but I think that is only for the vanilla kits because refinements does work for custom kits added into the game (before you add refinements of course). So it should in theory still work for something I would be creating and that would probably include the kitwork. I guess it would be problematic if you gain a level as a bard and you change into a thief to level up and pick a thief HLA from the refinements list and then shift back or something likewise, but that is something I will likely not be able to fix.
There is no way to do a forced-level-up. ChangeClass or ClassChange?!? Argh! Typing mistakes since I'm writing the code from memory rather than pasting it from my scripts (which are at home and I post from work). You are also right about the LOCALS and Myself. That works very well for only changing your class and adding the kit. In my own modding attempt I have some additional design which requires me to check each party member separately and I'm doing some settokenglobal work which for the moment does not work on each party member yet. That is why I'm currently only bugtesting my kit on the protagonist hence all my findings and code blocks posted here are directed to that. Maybe I should write it in a more general fashion. About that problem btw: I have tried to set a local in a dialogue of a summoned creature script but that ends up on the summoned creature rather than the party member, so I am currently setting a global to overcome that problems for the purpose of testing. I will fix that later by copying the dialogue parts and putting a check like: IF ~LastTalkedToBy(Player1)~ THEN BEGIN PLAYER1TALK SAY ~~ IF ~~ THEN DO ~Actions SetGlobal("LR_Player1_Set","GLOBAL",1)~ END IF ~LastTalkedToBy(Player2)~ THEN BEGIN PLAYER2TALK SAY ~~ IF ~~ THEN DO ~Actions SetGlobal("LR_Player2_Set","GLOBAL",1)~ END etc. Still sets globals but at least they will be player dependant. The problem is that when party members leave the group, things may go awry. So then I have to do something to overcome that by attaching the global to the party member as a locals such that it is saved properly on the npc.... bit difficult that, and I like to fix things in the correct order. First get the kit working, then make the dialogue and the globals npc dependant. |
|
|
Nov 3 2009, 01:05 PM
Post
#22
|
|
Forum Member Posts: 80 Joined: 25-January 07 From: We call it Swamp Pit, you call it Finland. |
ChangeClass or ClassChange?!? Well, you could always write the reply at home, when you should be working, and not at work when you sleep... this way you can always use the exported .baf as the source material, and then just put the reply to a .txt file, that you put to a USB stick or something alike, and modify it at work if it needs to.Argh! Typing mistakes since I'm writing the code from memory rather than pasting it from my scripts (which are at home and I post from work). In my own modding attempt... Maybe I should write it in a more general fashion. Nah, you can do your own thing, and then let people know that it doesn't work with other chars, if they ask... as there is far too many things to worry about other than some arbitrary rule of do it this or that way. About that problem btw: I have tried to set a local in a dialogue of a summoned creature script but that ends up on the summoned creature rather than the party member, so I am currently setting a global to overcome that problems for the purpose of testing. I will fix that later by copying the dialogue parts and putting a check like: Well I think that could be easy to adjust, you just put ActionOverride(target,SetGlobal(etc.))IF ~LastTalkedToBy(Player1)~ THEN BEGIN PLAYER1TALK SAY ~~ IF ~~ THEN DO ~Actions SetGlobal("LR_Player1_Set","GLOBAL",1)~ END So it ends up to look like this: CODE THEN DO Of course that does needs the target... and the genie can't see what it just did without it's own local global, but still...
~ActionOverride(Player1,SetGlobal("LR_Player1_Set","LOCALS",1))~ END |
|
|
Nov 3 2009, 01:42 PM
Post
#23
|
|
Forum Member Posts: 522 Joined: 12-April 06 From: Netherlands |
Good idea about the usb. I had not thought about that. I generally have more time during a few breaks at work since all the time I can spare at home I'll be testing.
I had not thought about setting a local using action override. That is quite helpful. Thank you. Back to testing and scripting . |
|
|
Nov 23 2009, 07:56 AM
Post
#24
|
|
Forum Member Posts: 522 Joined: 12-April 06 From: Netherlands |
Update:
- class changing fixed. it is working properly - djinni dialogue fixed for 1 party member (I can do it with the locals, but the dialogue gets messed up when you kick party members out. bonuses should work okay, just the text will be botched) - bardsong change in clab (at level 1) - levelup bonuses not put into the clab (since when you switch classes you regain them all), but put into baf (and it works) - gain some abilities at certain levels (through baf scripting) I will be testing a few last things before finalising everything and then I will release a version for people that are interested in how I did this stuff. I generally don't mind if not many people are interested because this modding attempt is something for myself I will probably bring out 2 versions. - personal version, where the kit has some abilities such as thieving upon level up, spells/skills/abilities per level up, a personal weapon spell, a personal overpowered bardsong and enhanced bardsong, a dialogue to recheck the progress of the thieving skills. - vanilla version only contains class switching and thieving upon level up. nothing else. It will contain the thievingbonuses per level up but no dialogue to recheck the progress (it only has the dialogue to upgrade), no bardsong, no weapon spell, no bardsong change, etc... this is for people who do not like my changes and if they want they can tune the kit whichever they want. Notes will be added such as "do not put anything in the CLAB, but use a baf script". - Next version: djinni dialogue fix for all party members (if I can figure out the code). class switching and thieving per level should probably work in the current version though. ETA: mid to end December 2009. I would like a tip for a reliable hosting site. Any ideas? |
|
|
Nov 23 2009, 09:56 PM
Post
#25
|
|
Forum Member Posts: 80 Joined: 25-January 07 From: We call it Swamp Pit, you call it Finland. |
I would like a tip for a reliable hosting site. Any ideas? Well, if you ask, I am sure Baronius(his profile, our host/site admin) will give you some kind of response, but totally free mod hosting without any strings attached except a log in... I would give the SHS's Miscellaneous Released Mods a go.
This post has been edited by Jarno Mikkola: Nov 23 2009, 10:05 PM |
|
|
Nov 24 2009, 10:22 AM
Post
#26
|
|
Master of energies Council Member Posts: 3319 Joined: 9-July 04 From: Magyarország |
lroumen can always PM me with the details of what he needs if he finds BWL a "reliable hosting site". On a side note, I'm sure most members know here that BWL is "totally free" as well, and (as opposed to SHS, for example) it does not beg/flatter in private messages to lure new modders
-------------------- Mental harmony dispels the darkness.
|
|
|
Nov 24 2009, 01:46 PM
Post
#27
|
|
Forum Member Posts: 522 Joined: 12-April 06 From: Netherlands |
Oh, haha, I didn't mean it like that. If I were to put it up for a permanent download I would ask Baronius for a spot on the dragons hoard for sure. In that case the download would probably be put it in the small tweaks forum.
I meant something for a quick release rather than a complete version which I would append here since I'm guessing that I will get some comments on it first to make it 'pretty' for a final release. |
|
|
Nov 24 2009, 03:44 PM
Post
#28
|
|
Master of energies Council Member Posts: 3319 Joined: 9-July 04 From: Magyarország |
As a forum member, you should be able to attach files to your posts too, if that is suitable. If you want to put it somewhere else as a file (e.g. like some people do on sites such as RapidShare etc., I don't know those), then I understand that you're searching for tips, considering that the free sites obviously don't (and can't) offer high availability. (BWL certainly offers FTP space too, but perhaps you're looking for file storage with a web-based shiny graphical interface, I guess the free hosts provide such.)
-------------------- Mental harmony dispels the darkness.
|
|
|
Nov 24 2009, 05:47 PM
Post
#29
|
|
Forum Member Posts: 80 Joined: 25-January 07 From: We call it Swamp Pit, you call it Finland. |
On a side note, I'm sure most members know here that BWL is "totally free" as well, and (as opposed to SHS, for example) it does not beg/flatter in private messages to lure new modders The SHS holds the bar at 100 MB's not on 2 MB's, which is more reasonable for most of the mods. I am not saying that one wouldn't get more on BWL, but one would obviously need to ask for it. And what comes to the PMs in SHS, it's just the joining part of the forum, besides the forum has enough spam already to fill ... Now, what comes to the RapidShare etc(www.uploading.com, www.mediafire.com), you need to understand that they are not permanent solutions for mod spreading, nor very reliable either, as they will last a day, a week, a few months at most, and you'll hate yourself soon when somebody will come and ask for a new address, see a good example in this very site. |
|
|
Nov 24 2009, 06:58 PM
Post
#30
|
|
Forum Member Posts: 522 Joined: 12-April 06 From: Netherlands |
Oh right, I forgot about being able to attach files to posts.
Thanks for the tips. |
|
|
Nov 25 2009, 03:31 PM
Post
#31
|
|
Master of energies Council Member Posts: 3319 Joined: 9-July 04 From: Magyarország |
Jarno Mikkola: I don't know what megabytes you're talking about, BWL can offer gigabytes of space to the modders whose work needs this (it's another question that we don't host many large mods, but the possibility is still there for new modders who want clean space). My comment merely pointed out that BWL wouldn't ask from SHS' "popularity" for that price BWL is proud that it is a clean place, and can give place for practically any modder who contacts it, and it doesn't try to contact various modders privately to convince them to bring their mods there (terrrrible where this world goes). But enough of this, this is lroumen's topic about kit creation.
-------------------- Mental harmony dispels the darkness.
|
|
|
Dec 22 2009, 01:43 PM
Post
#32
|
|
Forum Member Posts: 522 Joined: 12-April 06 From: Netherlands |
Well.. this is it. All info is in the zip file, but below the readme in detail..
Switch A mod for Baldur's Gate 2, by lroumen === Introduction === One thing that I have always disliked about the game is that certain things are hard-coded for no apparent reason. A bard has thieving abilities but is limited to only picking pockets and is not able to pick any locks. Seems okay for the class itself, but it would have been nice if the developers (who noticed that the fanbase was high and saw that the amount of mods rising), would have allowed some more freedom for the modders. Similarly, monks can find traps, but then they cannot do anything with those traps. Sounds rather silly, because then you still need a thief to do the trap disabling or you can trip it in which case the monk doesn't even need to find it does he? For this reason I have created a small bardkit that allows him to shapeshift into a thief and perform the other thieving abilities in that form. This makes the 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, but you still have a rogue in the party (knock and find traps is rather impractical). === General Content === This mod contains basically two interconverting kits: the "Bardic Switch" and the "Thief Switch". Each starts with an innate ability that allows them to change their class "temporarily" into the other. I say here temporarily because if you want to switch back, you will have to activate the innate ability again of that particular class. It is pretty straightforward really. As a Switch you level up as a normal rogue. The thief and bard XP levels are the same such that you will not run into problems that one class is ahead of the other. I coded in an ability that you will be given upon reaching each new bard level. It will summon the "Master Switch" who will aid you in giving you either picking, trapping or stealth bonuses. Thus artificially, you will gain thief bonuses if you do not level up as a thief but as a bard. If you install the mod Lux way, then you also get other goodies: custom bardsong, custom weaponspell, custom Master Switch dialogue. In a similar fashion, one can create interconverting kits for the paladin-ranger combination (turn undead and have stealth) and the Cleric-Monk (fight with your hands, have magic resistance and use cleric spells... though this provides problems when you switch since you gain all bonuses in the CLAB files again). I will try to make these things work at a later point in time. Anyway... back to the bard-kit === Complications === Since this is a mod that bends the rules, there are several complications and fixes/workarounds, explained below. P1. Race limitations S1. No problems here because all races can pick thief as a class, such that with the click of a button, your thief can become a bard, thus races are no longer limited by classes. If one looks at my baf script for the switch, one can figure out how to get past hard-coded class limitations quite easily (create a fighterkit that changes class after character creation... all races can pick the fighter class). P2. Thieving skills S2. Bards only get pick pocket bonuses, thieves can pick anything. I have made the Switch gain 20% thieving skills if you level up as a thief, and twice 10% thieving skills if you level up as a bard. The latter is performed by granting the Bardic Switch the ability to summon a Master Switch who will increase either your picking skills (10% bonus to pick pockets and pick locks), trapping skills (10% bonus to find traps and detect illusions) and stealth skills (10% bonus to hide in shadows and move silently). If you start as a thief, take this into account if you level up later as a bard. If you level as a thief, you do not get the bardic bonuses, thus leveling out. P3. Spell slots S3. Bards gain spells per level, but thieves do not. If you leveled as a thief and go into Bard form you do not get the extra spell levels. This will be fixed if you cast restoration on yourself. I could code this in, but thinking it could result in cheating (use the level up to get rid of nastiness), I decided that this would be up to the player. Restoration scrolls can be bought and spells can be memorised easily. P4. Weapon Proficiencies S4. Since you will be Bard and Thief, the thief has been given all proficiencies similar to the bard. Bard and thief rate is the same. Weapons will not be usable in thief form of course, thus unequip if appropriate (will be fixed when you get the Use Any Item HLA). P5. Upon switching to the bard state you will be given the the message that you gained a bardsong ability. S5. I can put this in as a level up ability through script, but decided not to. IF this floods your screen too much, please let me know and I can circumvent this by scripting it in the baf. Note: all abilites are thus gained through script and not through the CLAB files. The reason is that when you switch class, you gain all bonuses from level 1 to the current level, even if you had already recieved those bonuses before. That means that if you switch a lot and have a +1AC in your CLAB, you can get as many bonuses to AC. P6. Your trap setting skill is 100% from the start. S6. Bards have a hidden trap setting modification that puts it to 100%, because otherwise they fail at setting the HLA traps. I decided that the Switch kit does not get trapping skills, but will be able to pick trapping HLAs. So basically, this has become a non-issue. If you want you can manage this by scripting the ability in and doing a one-time reduction of the trap setting bonus on the Bard, followed by a trap setting bonus upgradable per level by the Master Switch dialogue. === Switch Kit Abilities per Level Description === - The switch levels up as any rogue - At level 1, if you start as human or half-elf, your avatar changes into a tiefling (fun to code). - At level 1, you will gain a custom bardsong, description below. - At level 1, you will gain the ability to shapeshift into a thief or bard. Shifting back reenables this, thus it should be unlimited. - At level 1, the bard will have a custom weapon spell, the Switchblade. This upgrades four times with new bonuses, description below. - Every time you level up as a bard, you will be given the ability to summon the Master Switch to increase a selection of thieving skills by 10%. This is iteratively, meaning that if you gain multiple levels, the bonuses come one at a time. After choosing which skill to increase, the summoning spell is removed again from your innate abilities. - At level 1, your backstab modifier increases by 1. Thus, a Bardic Switch can backstab for a bonus of +1x the damage, whereas the Thief Switch can backstab at his own level+1. = Thieving skill increase = You will have three choices. Picking, trapping or stealth skills. Picking skills: 10% bonus to Pick pockets Pick locks Trapping skills: 10% bonus to Detect traps Detect illusions Stealth skills: 10% bonus to Hide in shadows Move silently = Djinni talk = I have developed the Switch bardkit such that the tracking of the progression only works for ONE party member for now. I manage the progression talk by setting a global variable and tokens. I find that it becomes too much of a problem to code it in such a way that it will be allround for a multiple switch party... You don't need more than 1 switch in you party. If somebody knows how to fix it, to make it party-friendly, I would be very interested (but do not just give me scraps of code unless you are certain that it works because I already have received lots of scraps that have failed, unfortunately). The skill increases for a 6 Switch party will only work if your switches are the same level. You will probably all change class at the same time too... I advise you not to use more than one in your party or your play-through will be filled with bugs. === Installation === The bardkit can be installed in two ways. BluePrint This allows the protagonist to start as either a thief or bard and switch to and fro. It does not contain checks to keep track of your upgrades, nor does it contain any other bonuses. Thus it will be moddable in accordance with your own wishes, examples are given in the baf-script. Lux way This allows the protagonist to start as either a thief or bard and switch to and fro. Contains custom bardsong, weapon spell, level up abilities and a minor Master Switch progression tracking dialogue. I made separate installers because I wanted to put the mod out into the world rather than tweak the installer-tp2 a million times. === bugs === If you find any bugs, they can be directed at: lucroumen@hotmail.com === acknowledgements === Ardanis, Jarno Mikkola, Hoppy and Wisp for some tips on the coding. CODE VERSION 1.0 Files
----------- readme.txt this file setup-bardkit.tp2 installation datafile Luxway setup-bardkit.exe installation executable Luxway setup-bardkit-reduced.tp2 installation datafile Blueprint setup-bardkit-reduced.exe installation executable Blueprint --- tra --- English LRdjinn.tra: Master Switch Lines English setup.tra: Installation Lines --- 2da --- CLABSWI.2da CLAB for Bardic Switch: lvl1: GA_LRsw014, AP_LRsw008 CLABSWJ.2da CLAB for Thief Switch: lvl1: GA_LRsw015 luSWI.2da HLA for Bardic Switch: Nothing Special, enhanced bardsong (I hope it works) luSWJ.2da HLA for Thief Switch: Nothing Special, enhanced bardsong (I hope it works) CLABSWK.2da CLAB for Bardic Switch: lvl1: GA_LRsw014 Reduced Installation CLABSWL.2da CLAB for Thief Switch: lvl1: GA_LRsw015 Reduced Installation luSWK.2da HLA for Bardic Switch: Nothing Special Reduced Installation luSWL.2da HLA for Thief Switch: Nothing Special Reduced Installation --- cre --- LRdjinn.cre Master Switch (The Unconscious Orog) --- dlg --- LRdjinn.d Master Switch Dialogue (uses LRdjinn.tra) --- itm --- LRswbld1.itm Switch Blade 1: Rng2, Wsp1, Longsw+1, thac0+1, 1d8+1, ProfLsw1, Blurred, ProtBckstb, 10%heal1 , Att/Rnd=1.5 LRswbld2.itm Switch Blade 2: Rng2, Wsp1, Longsw+2, thac0+2, 1d8+2, ProfLsw2 Blurred, ProtBckstb, 15%heal2 , Att/Rnd=2 LRswbld3.itm Switch Blade 3: Rng2, Wsp1, Longsw+3, thac0+3, 1d8+3, ProfLsw3, Blurred, ProtBckstb, 20%heal5 , Att/Rnd=3 LRswbld4.itm Switch Blade 4: Rng2, Wsp1, Longsw+4, thac0+4, 1d8+4, ProfLsw4, Blurred, ProtBckstb, 25%heal10, Att/Rnd=4 --- spl --- LRsw001.spl Give Innate LRsw002 to the Bardic Switch. LRsw002.spl Innate: Spell that creates Magical Weapon (LRswbld1,2,3,4 : lvl cutoffs 1,7,13,19) Duration: 36,36,36,42,48,54,60,66,72,78,84,90,96,102,108,114,120,126,132,138 LRsw003.spl +10% Open Locks +10% Pick Pockets LRsw004.spl +10% Find Traps +10% Detect Illusions LRsw005.spl +10% Hide in Shadows +10% Stealth (Move Silently) LRsw006.spl Backstab Bonus x1 LRsw008.spl Change Bardsong to LRsw009.spl LRsw009.spl BardSong: Prot: Entangle, Web, Hold Cure: Entangle, Web, Hold (works locally, does it work for other people?) Dex+1 LRsw010.spl BardSong: Prot: Entangle, Web, Hold Cure: Entangle, Web, Hold (works locally, does it work for other people?) Dex+3 Invisibility Attacks Per Round +1 LRsw011.spl Change Bardsong to LRsw010.spl (HLA) LRsw013.spl Give Innate LRSW016 to the Bardic Switch. LRsw014.spl Innate: Switch to Thief. (Remove LRsw014.spl from Innates, SetGlobal LRFORM to 2) LRsw015.spl Innate: Switch to Bard. (Remove LRsw015.spl from Innates, SetGlobal LRFORM to 2) LRSW016.spl Innate: Spell to summon the Master Switch (LRdjinn.cre) LRSW017.spl Remove Spell LRSW007.spl from Innates. // not needed Remove Spell LRSW016.spl from Innates. --- baf --- LRdjinn.baf Master Switch Script to get the dialogue running immediately LRswitch.baf Switch Script to do everything for this mod Globals: = LRFORM 1 = do not switch class 2 = switch class (if bard->thief, if thief->bard) SETBY LRSW014/LRSW015 = LRSWPICKINCREASE 0 = Default 1 = Increase picking level by 1 (and token by 1) SETBYDLGWITH(LRSW003.spl) CALLS LRSW199 = LRSWPICK X = Level of picking bonuses = LRSWTRAPINCREASE 0 = Default 1 = Increase trapping level by 1 (and token by 1) SETBYDLGWITH(LRSW004.spl) CALLS LRSW199 = LRSWTRAP X = Level of trapping bonuses = LRSWSTEALTHINCREASE 0 = Default 1 = Increase stealth level by 1 (and token by 1) SETBYDLGWITH(LRSW005.spl) CALLS LRSW199 = LRSWSTEALTH X = Level of stealth bonuses = LRCHOSEN 0 = Has not been a bard yet, use to skip Bardic Master Switch Summon Levels 1 = Default 2 = Master Switch Dialogue bonus has been Chosen CALLS LRSW013 = LRDJINNGAIN X = Every increase is a Master Switch Summon Gained, but only if you are a Bard! = LRLVL X = Your own level. Used to check whether to skip Bardic Master Switch Summon Levels = LRAVATAR 0 = No avatar change 1 = Avatar changed (if human, half-elf, then become tiefling) = LRBLADEGAIN 0 = No Switchblade gained yet 1 = Switchblade gained CALLS LRSW001 = LRBACKSTABGAIN 0 = No backstab gained yet 1 = Backstab gained CALLS LRSW006 Tokens: Necessary for Master Switch Dialogue. Only works well if 1 Switch has ever been in the party. = LRSWTRAP The amount of times trapping has been increased by the Master Switch, (same as the global) = LRSWPICK The amount of times picking has been increased by the Master Switch, (same as the global) = LRSWSTEALTH The amount of times stealth has been increased by the Master Switch, (same as the global)
Attached File(s)
|
|
|
Dec 22 2009, 02:37 PM
Post
#33
|
|
Forum Member Posts: 80 Joined: 25-January 07 From: We call it Swamp Pit, you call it Finland. |
Ah, there's no primary mod folder(*modname* that is alike the setup-*modname*.tp2 and setup-*modname*.exe), so I guess we have to make it and call it as "bardkit"... and bump the .tp2's, the readme.txt file and the other folders into it. and copy it and the .exe's to the game folder and then install it.
And now that I have installed it, it works perfectly, nice. Really nic3. This post has been edited by Jarno Mikkola: Dec 22 2009, 03:07 PM |
|
|
Dec 23 2009, 06:35 AM
Post
#34
|
|
Forum Member Posts: 522 Joined: 12-April 06 From: Netherlands |
Ah yes.
The zip-file should be unpacked in the main BG2 folder. The tp2 and the exe should then be moved from the bardkit folder to the main BG2 folder. You can then install. Things that need fixed, but which can be avoided for now: - the abovementioned installation (I should pack it better) - check for BG2, BGT or BGtutu (though it should work regardless). |
|
|
Dec 23 2009, 07:16 AM
Post
#35
|
|
Forum Member Posts: 80 Joined: 25-January 07 From: We call it Swamp Pit, you call it Finland. |
The zip-file should be unpacked in the main BG2 folder. Ah, but there is no need to move the setup-bardkit.tp2, it can be where ever it's put, even in <gamefolder>\U\C\F\R...\ and it will still work the same way as if it was in the game folder, and the setup-bardkit.exe will start it no matter where the .tp2 file is... the reason I wouldn't put it to the game folder is that it's not so nice to have aaa ten thousand setup-*mod*.* files in game folder. The So pack the mod so that when the unpacking happens, there is no extra folders or others, just the mod folder 'bardkit', the setup-bardkit.exe and setup-bardkit-reduced.exe (as everything else in within the bardkit folder). And remove the backup/0/ folder, it's empty... This post has been edited by Jarno Mikkola: Dec 23 2009, 10:32 AM |
|
|
Jan 19 2010, 02:44 PM
Post
#36
|
|
Forum Member Posts: 522 Joined: 12-April 06 From: Netherlands |
Great, I had to fix a bug with the bardsong already. Seems it does not work fullproof in the first version. The following works on my own PC.
Change: removed enhanced bardsong (because it's overwritten if you switch to a thief and back again) and I made the bardsong upgrade at level 20 instead (which is a bit early but okay). Bardsong now activates on the party rather than on an undefined target (which is probably why it did not work).
Attached File(s)
|
|
|
Lo-Fi Version | Time is now: 19th November 2024 - 06:35 AM |