Jump to content


Photo

Scribe Scrolls HLA revision - [IMPLEMENTED]


  • Please log in to reply
11 replies to this topic

#1 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 08 March 2009 - 12:08 AM

I've also been thinking about revising the Scribe Scrolls HLA for RR v4.1. As with Alchemy, I don't like three things about it:

1) The end results are random i.e. you can't chose which scroll you want
2) Scrolls can be scribed while enemies are nearby (i.e. even during combat)
3) The player can create scrolls out of thin air (no cost) and earn easy money by selling them


In order to rectify that, I've thought about making this HLA dialogue based as well. For example, using Scribe Scrolls will now open up a dialogue tree (with an invisible creature) and allow the player to select precisely which spell he wants to scribe to a scroll. Basically, this allows a Bard to create a scroll from any spell that he knows and can currently memorize. This could be handy for duplicating rare scrolls (i.e. Contagion and Mordenkainen's Sword) and thereby allowing other arcane spellcasters in the party to learn them too. Here's an example: (note that the dialogue is only provisory)

Posted Image


As with potions, scrolls are no longer free either, they now have a raw material cost which needs to be covered. FYI, to get the costs displayed here, I had taken the base prices of the scrolls in question and divided them by half. That way, the player pays for the scrolls much less than he would to a merchant (even with maxed Charisma and Reputation) but still can't make a profit by selling them (though it's pretty close). As with Alchemy, Scribe Scrolls is now restricted to non-combat situations.

Posted Image


Note that the player can only create scrolls from the spells that he has currently memorized. This means that it's not enough to simply have a spell in your spellbook, you actually need to memorize it before scribing it into a scroll. Therefore, a Bard will never be able to scribe 9th level spells. However, I've put that option there in case I decide to grant this HLA to Mages (except Sorcerers) through aTweaks. Anyway, since there are hundreds of spells in BG2, coding and testing the relevant dialogue might take quite a while, so don't expect the new version anytime soon.

Edited by aVENGER, 08 March 2009 - 12:55 AM.


#2 kthxbye

kthxbye
  • Member
  • 233 posts

Posted 08 March 2009 - 07:31 AM

That would be awesome, I really like the idea roleplaying wise. On the other hand, I don't know if paying for the scrolls would make the HLA too expensive to use it more than a very selected amount of times.

I think that in my current game I can choose the scroll to make between a selection of 11 (12 for thieves) spells, and the scroll will be useless past 12 hours from the creation. I think it comes from the HLA Revision mod, beware of clashes. :)
All of the above must be considered totally IMHO.

Rose NPC and ktweaks for BG:T

#3 Jarno Mikkola

Jarno Mikkola

    The Imp in his pink raincoat.

  • Member
  • 10911 posts

Posted 08 March 2009 - 09:16 AM

Well, it would be nice. Just be sure to remove the 1 per day(8 hour) restriction.

Deactivated account. The user today is known as The Imp.


#4 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 08 March 2009 - 10:05 AM

On the other hand, I don't know if paying for the scrolls would make the HLA too expensive to use it more than a very selected amount of times


Well, by the time the party reaches ToB you usually have a truckload of money at your disposal (around 100-200k) so I don't think it will be that much of a problem. ;) Besides, although the raw material cost is mostly the for RP purposes, it should serve as a balancing factor as well.

I think that in my current game I can choose the scroll to make between a selection of 11 (12 for thieves) spells, and the scroll will be useless past 12 hours from the creation.


In my version, the created scrolls will remain available permanently. However, thieves naturally can't scribe them, as they don't have access to this HLA and they can't memorize any spells (which is required for scribing them).

I think it comes from the HLA Revision mod, beware of clashes.


You mean Refinements, right? I think I should be able to work around that as RR's Thief and Bard HLA components are supposed to be installed after it.

#5 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 08 March 2009 - 10:09 AM

Well, it would be nice. Just be sure to remove the 1 per day(8 hour) restriction.


You can pick the Scribe Scrolls HLA as many times as you like.

Therefore, you can scribe several scrolls per day if you pick it multiple times.

#6 Jarno Mikkola

Jarno Mikkola

    The Imp in his pink raincoat.

  • Member
  • 10911 posts

Posted 08 March 2009 - 10:33 AM

Therefore, you can scribe several scrolls per day if you pick it multiple times.

But is is worth it to spend money and multiple HLAs to scribe few scrolls, or sleeping 16 hours... just to get the mage to be able to recast the spell?

Deactivated account. The user today is known as The Imp.


#7 kthxbye

kthxbye
  • Member
  • 233 posts

Posted 09 March 2009 - 12:30 AM

Yup I meant Refinements, see what happens when I try to remember a name without checking.. :rolleyes: Sorry.
All of the above must be considered totally IMHO.

Rose NPC and ktweaks for BG:T

#8 Daulmakan

Daulmakan

    Comfortably numb

  • Member
  • 1065 posts

Posted 10 March 2009 - 08:53 AM

Both revisions sound very nice. Is there any chance of seeing additional non-technical content for next version (IE new quest, perhaps a joinable NPC)?

I'm sorry about my lack of previous feedback, BTW. :blush:

item_pack.jpg   Drows.jpg

 


#9 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 10 March 2009 - 09:44 AM

Both revisions sound very nice. Is there any chance of seeing additional non-technical content for next version (IE new quest, perhaps a joinable NPC)?


Heh, at the moment, I'm pretty comfortable with these "baby steps" style updates. ;) Anything bigger than that will have to wait.

As for new quests, due to the coding complexity (and the current size of the RR tp2) I've decided not to incorporate any more of those into Rogue Rebalancing. If/when I make any, they'll be in done a separate mod which, as you may have guessed, will be called aQuests. :)

#10 Daulmakan

Daulmakan

    Comfortably numb

  • Member
  • 1065 posts

Posted 10 March 2009 - 04:54 PM

As for new quests, due to the coding complexity (and the current size of the RR tp2) I've decided not to incorporate any more of those into Rogue Rebalancing. If/when I make any, they'll be in done a separate mod which, as you may have guessed, will be called aQuests. :)

I have a reserved spot for it already. :D

item_pack.jpg   Drows.jpg

 


#11 GeN1e

GeN1e

    A very GAR character

  • Modder
  • 1604 posts

Posted 11 March 2009 - 06:44 AM

Just noticed the thread. The idea is infinitely close to my Trap Revision mod in progress, so absolutely go for it.

Regarding this:

Anyway, since there are hundreds of spells in BG2, coding and testing the relevant dialogue might take quite a while, so don't expect the new version anytime soon.

I'd consider writing a robust macro, than manually building a .D (which indeed takes a great while). Not only will it save time, but will also automatically attend new mod spells (if any).

Edited by GeN1e, 11 March 2009 - 06:52 AM.

Retired from modding.


#12 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 11 March 2009 - 07:18 AM

I'd consider writing a robust macro, than manually building a .D (which indeed takes a great while). Not only will it save time, but will also automatically attend new mod spells (if any).


In theory, using a macro to code a .D file sounds like a neat idea, but I'm not sure how feasible it would be in practice. For now, I'd rather do things manually than risking to have nonsensical dialogue lines show up due to some obscure typo in the macro code. ;)

FWIW, it's not as bad as I had expected. A large part of the dialogue code is repeated for each reply so copy -> paste works well enough. Here's an example:

BEGIN ~RR#SCRL~

IF ~True()~ THEN BEGIN RR#SCRL99
SAY @8221 // (This ability allows an experienced arcane spellcaster to scribe any spell that he can cast onto a scroll. However, the costs for any raw materials that are used in the process must be paid. In order to scribe a scroll, the respective spell must be currently memorized.)
IF ~~ THEN GOTO RR#SCRL00
END

IF ~~ THEN BEGIN RR#SCRL00
SAY @8222 // (Select a spell level:)
IF ~PartyGoldGT(49)~ THEN REPLY @8230 GOTO RR#SCRL01 // 1st level spells (50 gp)
IF ~PartyGoldGT(99)~ THEN REPLY @8231 GOTO RR#SCRL02 // 2nd level spells (100 gp)
IF ~PartyGoldGT(149)~ THEN REPLY @8232 GOTO RR#SCRL03 // 3rd level spells (150 gp)
IF ~PartyGoldGT(249)~ THEN REPLY @8233 GOTO RR#SCRL04 // 4th level spells (250 gp)
IF ~PartyGoldGT(499)~ THEN REPLY @8234 GOTO RR#SCRL05 // 5th level spells (500 gp)
IF ~PartyGoldGT(999)~ THEN REPLY @8235 GOTO RR#SCRL06 // 6th level spells (1000 gp)
IF ~PartyGoldGT(1499)~ THEN REPLY @8236 GOTO RR#SCRL07 // 7th level spells (1500 gp)
IF ~PartyGoldGT(2499)~ THEN REPLY @8237 GOTO RR#SCRL08 // 8th level spells (2500 gp)
IF ~PartyGoldGT(4999)~ THEN REPLY @8238 GOTO RR#SCRL09 // 9th level spells (5000 gp)
IF ~~ THEN REPLY @8250 EXIT // (Do not scribe any scrolls.)
END


IF ~~ THEN BEGIN RR#SCRL01 //  1st level spells (50 gp)
SAY @8260 // (Choose which spell to scribe onto a scroll.)
IF ~HaveSpell(WIZARD_GREASE)~ THEN REPLY #12030 DO ~TakePartyGold(50) GiveItemCreate("SCRL66",Myself,1,1,1)~ EXIT // Grease
IF ~HaveSpell(WIZARD_ARMOR)~ THEN REPLY #12031 DO ~TakePartyGold(50) GiveItemCreate("SCRL67",Myself,1,1,1)~ EXIT // Armor
IF ~HaveSpell(WIZARD_BURNING_HANDS)~ THEN REPLY #12074 DO ~TakePartyGold(50) GiveItemCreate("SCRL68",Myself,1,1,1)~ EXIT // Burning Hands
IF ~HaveSpell(WIZARD_CHARM_PERSON)~ THEN REPLY #12045 DO ~TakePartyGold(50) GiveItemCreate("SCRL69",Myself,1,1,1)~ EXIT // Charm Person
IF ~HaveSpell(WIZARD_COLOR_SPRAY)~ THEN REPLY #12075 DO ~TakePartyGold(50) GiveItemCreate("SCRL70",Myself,1,1,1)~ EXIT // Color Spray
IF ~HaveSpell(WIZARD_BLINDNESS)~ THEN REPLY #12015 DO ~TakePartyGold(50) GiveItemCreate("SCRL71",Myself,1,1,1)~ EXIT // Blindness
IF ~HaveSpell(WIZARD_FRIENDS)~ THEN REPLY #12046 DO ~TakePartyGold(50) GiveItemCreate("SCRL72",Myself,1,1,1)~ EXIT // Friends
IF ~HaveSpell(WIZARD_PROTECTION_FROM_PETRIFICATION)~ THEN REPLY #12024 DO ~TakePartyGold(50) GiveItemCreate("SCRL73",Myself,1,1,1)~ EXIT // Protection From Petrification
IF ~HaveSpell(WIZARD_IDENTIFY)~ THEN REPLY #12040 DO ~TakePartyGold(50) GiveItemCreate("SCRL75",Myself,1,1,1)~ EXIT // Identify
IF ~HaveSpell(WIZARD_INFRAVISION)~ THEN REPLY #12039 DO ~TakePartyGold(50) GiveItemCreate("SCRL76",Myself,1,1,1)~ EXIT // Infravision
IF ~HaveSpell(WIZARD_MAGIC_MISSILE)~ THEN REPLY #12052 DO ~TakePartyGold(50) GiveItemCreate("SCRL77",Myself,1,1,1)~ EXIT // Magic Missile
IF ~HaveSpell(WIZARD_PROTECTION_FROM_EVIL)~ THEN REPLY #12023 DO ~TakePartyGold(50) GiveItemCreate("SCRL78",Myself,1,1,1)~ EXIT // Protection From Evil
IF ~HaveSpell(WIZARD_SHIELD)~ THEN REPLY #12053 DO ~TakePartyGold(50) GiveItemCreate("SCRL79",Myself,1,1,1)~ EXIT // Shield
IF ~HaveSpell(WIZARD_SHOCKING_GRASP)~ THEN REPLY #12076 DO ~TakePartyGold(50) GiveItemCreate("SCRL80",Myself,1,1,1)~ EXIT // Shocking Grasp
IF ~HaveSpell(WIZARD_SLEEP)~ THEN REPLY #12047 DO ~TakePartyGold(50) GiveItemCreate("SCRL81",Myself,1,1,1)~ EXIT // Sleep
IF ~HaveSpell(WIZARD_CHILL_TOUCH)~ THEN REPLY #12067 DO ~TakePartyGold(50) GiveItemCreate("SCRL82",Myself,1,1,1)~ EXIT // Chill Touch
IF ~HaveSpell(WIZARD_CHROMATIC_ORB)~ THEN REPLY #12054 DO ~TakePartyGold(50) GiveItemCreate("SCRL83",Myself,1,1,1)~ EXIT // Chromatic Orb
IF ~HaveSpell(WIZARD_LARLOCH_MINOR_DRAIN)~ THEN REPLY #12068 DO ~TakePartyGold(50) GiveItemCreate("SCRL84",Myself,1,1,1)~ EXIT // Larloch's Minor Drain
IF ~HaveSpell(WIZARD_REFLECTED_IMAGE)~ THEN REPLY #25866 DO ~TakePartyGold(50) GiveItemCreate("SCRL5U",Myself,1,1,1)~ EXIT // Reflected Image
IF ~HaveSpell(WIZARD_FIND_FAMILAR)~ THEN REPLY #8072 DO ~TakePartyGold(50) GiveItemCreate("SCRL6D",Myself,1,1,1)~ EXIT // Find Familiar
IF ~HaveSpell(WIZARD_SPOOK)~ THEN REPLY #38586 DO ~TakePartyGold(50) GiveItemCreate("SCRLA6",Myself,1,1,1)~ EXIT // Spook
IF ~~ THEN REPLY @8261 GOTO RR#SCRL00 // Select a different spell level
END