Jump to content


Photo

Stuff of the Magi


  • Please log in to reply
171 replies to this topic

#121 kevmus

kevmus
  • Member
  • 56 posts

Posted 07 June 2008 - 07:09 PM

Firstly, thanks for the help. I'm not very experienced at modding so it's good having someone thrash improve my code. :)


You can always add it to the tp2 the same way you did CD_STATE_NOTVALID :)

Quick suggestions:

BACKUP
AUTHOR

as is, then

VERSION ~v1~ // or ~Alpha1~, gives you version # in the tp2 and will let the bigg's new versions of weidu automatically jump to the new parser instead of the old (I am pretty sure).

README ~StuffofTheMagi/README_PLEASE.txt~ // take out the space or replace with underscore for WeiDU - pops the readme up alongside the install at the start, so folks can read along as they install.

Added for next version.

if you lowercase all of the filenames and folders (the tp2 doesn't care if it is CaSe or CASE or casE, but some OS's do) then creating an OS X and Linux version is easy for this mod (just a matter of swapping out WeiDU stuff and adding a file here and there).

Will change. (By the way, can you PM me a link to a tutorial so I can make it OSX/Linux compatible? What to change/add, etc?)

wzrdlic3.baf is empty

Oops. *cough* deleted for next version.

for wzrdset.baf, take a quick lok at DavidW's stuff for SCS and SCSII.


What part of SCSII and SCS?

You may save some hassles by setting a timer after a check so it runs far less frequently, if you want.

Ok. I'll do that.

in wzrdlich.baf,
IF
Detect([PC])
Allegiance(Myself,NEUTRAL)
THEN
RESPONSE #100
Dialogue(Player1)
END

suggest adding a global - just in case something goes wrong somewhere, you don't want an open loop like that - I suggest setting the variable for the wanted dialog, then advancing it through that dialog. That should take care of any potential problems, remote though they may seem:


IF
Global("LK#StartTalking","GLOBAL",0)
Detect([PC])
Allegiance(Myself,NEUTRAL)
!StateCheck(Myself,CD_STATE_NOTVALID)
!StateCheck(Player1,CD_STATE_NOTVALID)
THEN
RESPONSE #100
SetGlobal("LK#StartTalking","GLOBAL",1)
Dialogue(Player1)
END


Will do.

APPEND whatever


Where would this go?

IF ~GlobalGT("LK#StartTalking","GLOBAL",1)~ THEN
SAY ~Fascinating. I have not had my EscapeArea or Death thrust upon me. Contact my creator and thrash him soundly.~
IF ~~ THEN EXIT
END

IF ~Global("LK#StartTalking","GLOBAL",0)~ THEN
SAY ~Begone, vagabonds. You have no claim here. Besides, something messed up in the scripting. Or you are silenced or turned to stone, so I can't talk to you.~
IF ~~ THEN EXIT
END

This seems good. Will add to next version.

END


Any reason for this extra END?



Again, thanks for all the help!

#122 kevmus

kevmus
  • Member
  • 56 posts

Posted 07 June 2008 - 10:15 PM

Version 2.4 is now up.

It includes all of Cmorgan's help and a fix to add some scrolls to Erevain's Scrollcase.

The link, as always, is http://www.shsforums...mp;showfile=643

#123 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 08 June 2008 - 05:39 AM

Sorry - I saw good stuff in there with the READLN and started doing "shorthand" instead of "long-form" talk on suggestions!

With dialog coding, you have CHAIN and APPEND. So in your current wzrdlich.d,

BEGIN wzrdlich // enables the dialog references for the engine

APPEND  wzrdlich // adds the following states to wzrdlich.dlg

/* the ~True()~ is not needed, you can do IF ~~ THEN REPLY ~text~ */

IF ~GlobalGT("LK#StartTalking","GLOBAL",1)~ THEN BEGIN LK#Erevain_e1
SAY ~Fascinating. I have not had my EscapeArea or Death thrust upon me. Contact my creator and thrash him soundly.~ 
IF ~~ THEN REPLY ~Ok.~ EXIT
END

/* I was being silly with the dialog so that you would know what was going on - I would make these more FR appropriate, so that you have something that cures in problems but at the same time isn't so obvios. Then set up the .bcs so that if the player attacks he goes hostile, and a borked install can keep playing having the fight and resolution. But that is my subjective opinion, as it is you guys' mod! */

IF ~Global("LK#StartTalking","GLOBAL",0)~ THEN BEGIN LK#Erevain_e2
SAY ~Begone, vagabonds. You have no claim here. Besides, something messed up in the scripting. Or you are silenced or turned to stone, so I can't talk to you.~ 
IF ~~ THEN REPLY ~Ok.~ EXIT
END

END // we need to end the APPEND before placing CHAIN in the .d file 

/* now start the CHAINs */

CHAIN IF ~Global("LK#StartTalking","GLOBAL",1)~ THEN wzrdlich LK#Erevain_d
~Foolish mortal, how dare you seek to claim my magical accoutrements!?~ 
DO ~SetGlobal("LK#StartTalking","GLOBAL",2)~
END
++ ~Who are you?~ + LK#Erevain_1
++ ~Get out of my Pocket Plane!~ + LK#Erevain_1
++ ~What do you want?~ + LK#Erevain_1


As for SCS/SCSII, I wish I could narrow it down - DavidW helped us with an areacheck for BG1NPC that used this technique, taken from his work. Unfortunately, G3 is down, including workrooms, so my notes are offline - I will get back to you as soon as I can! I think it was placing a delay, so that you run the block once, then set a timer to expire. That would make the script run only at the designated interval. And since you are using

EXTEND_TOP ~baldur.bcs~ ~StuffofTheMagi/scripts/wzrdset.baf~

that means a loadout on the global script. Are there areas where the items can be found that you could append to, instead of BALDUR.BCS? Area scripts are usually much lighter loaded.

#124 kevmus

kevmus
  • Member
  • 56 posts

Posted 08 June 2008 - 08:57 AM

Sorry - I saw good stuff in there with the READLN and started doing "shorthand" instead of "long-form" talk on suggestions!


I keep the Weidu docs open at all times, and I looked at the Widescreen mod and how it used the READLN. (I'm rather good at stealing borrowing bits of code and changing them to suit my purposes. :))

With dialog coding, you have CHAIN and APPEND. So in your current wzrdlich.d,

BEGIN wzrdlich // enables the dialog references for the engine

APPEND  wzrdlich // adds the following states to wzrdlich.dlg

/* the ~True()~ is not needed, you can do IF ~~ THEN REPLY ~text~ */

IF ~GlobalGT("LK#StartTalking","GLOBAL",1)~ THEN BEGIN LK#Erevain_e1
SAY ~Fascinating. I have not had my EscapeArea or Death thrust upon me. Contact my creator and thrash him soundly.~ 
IF ~~ THEN REPLY ~Ok.~ EXIT
END

/* I was being silly with the dialog so that you would know what was going on - I would make these more FR appropriate, so that you have something that cures in problems but at the same time isn't so obvios. Then set up the .bcs so that if the player attacks he goes hostile, and a borked install can keep playing having the fight and resolution. But that is my subjective opinion, as it is you guys' mod! */

IF ~Global("LK#StartTalking","GLOBAL",0)~ THEN BEGIN LK#Erevain_e2
SAY ~Begone, vagabonds. You have no claim here. Besides, something messed up in the scripting. Or you are silenced or turned to stone, so I can't talk to you.~ 
IF ~~ THEN REPLY ~Ok.~ EXIT
END

END // we need to end the APPEND before placing CHAIN in the .d file 

/* now start the CHAINs */

CHAIN IF ~Global("LK#StartTalking","GLOBAL",1)~ THEN wzrdlich LK#Erevain_d
~Foolish mortal, how dare you seek to claim my magical accoutrements!?~ 
DO ~SetGlobal("LK#StartTalking","GLOBAL",2)~
END
++ ~Who are you?~ + LK#Erevain_1
++ ~Get out of my Pocket Plane!~ + LK#Erevain_1
++ ~What do you want?~ + LK#Erevain_1


Changing as I type.

EDIT: Would it be possible to add a DO ~ActionOverride("wzrdlich",Enemy())~
before the exit on both of the 'error messages'?

That way the lich doesn't wait without his PfMW for someone to Azuredge him.

As for SCS/SCSII, I wish I could narrow it down - DavidW helped us with an areacheck for BG1NPC that used this technique, taken from his work. Unfortunately, G3 is down, including workrooms, so my notes are offline - I will get back to you as soon as I can! I think it was placing a delay, so that you run the block once, then set a timer to expire. That would make the script run only at the designated interval. And since you are using

EXTEND_TOP ~baldur.bcs~ ~StuffofTheMagi/scripts/wzrdset.baf~

that means a loadout on the global script. Are there areas where the items can be found that you could append to, instead of BALDUR.BCS? Area scripts are usually much lighter loaded.


Well, the idea is that whenever someone in the party equips the items the effect will run, and if someone unequips the items the opposite effect will run.
I think adding it to all the areas would be nastier than baldur.bcs...

I'll look at scsii for the delay thing though, it doesn't matter much if it takes a round or two to apply the effects.

Edited by kevmus, 08 June 2008 - 09:05 AM.


#125 Jarno Mikkola

Jarno Mikkola

    The Imp in his pink raincoat.

  • Member
  • 10911 posts

Posted 08 June 2008 - 09:22 AM

Oops, my 'small change' to the default Erevain script assumed G3BG2Fixpack was installed, try downloading v2.x and see if that works... Sorry, I guess that's what happens when you mod with the g3 fixpack installed.

Well, the 2.4 works now. ^_^
And as for the apology, there was never need for it, as I just wanted try and so to let you know, the small bug I encountered, with a mod trial edition of my BG2 . :D

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


#126 kevmus

kevmus
  • Member
  • 56 posts

Posted 08 June 2008 - 09:38 AM

Oops, my 'small change' to the default Erevain script assumed G3BG2Fixpack was installed, try downloading v2.x and see if that works... Sorry, I guess that's what happens when you mod with the g3 fixpack installed.

Well, the 2.4 works now. ^_^
And as for the apology, there was never need for it, as I just wanted try and so to let you know, the small bug I encountered, with a mod trial edition of my BG2 . :D

That's great.

Thanks for reporting the bug (otherwise it'd still be fixpack dependant). Let me know what you think about teh phat lewt when you find it. :)

Edited by kevmus, 08 June 2008 - 09:38 AM.


#127 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 08 June 2008 - 10:56 AM

Sure thing on the Enemy().

BALDUR it is, then, but remember BALDUR vs BALDUR25... and you will want to test. Currently, the script only runs once when an item is equipped, not a cionstantly running DisplayStringHead, right? (no way to test here until next weekend).

Edited by cmorgan, 08 June 2008 - 10:57 AM.


#128 kevmus

kevmus
  • Member
  • 56 posts

Posted 08 June 2008 - 11:13 AM

Sure thing on the Enemy().

BALDUR it is, then, but remember BALDUR vs BALDUR25... and you will want to test. Currently, the script only runs once when an item is equipped, not a cionstantly running DisplayStringHead, right? (no way to test here until next weekend).


It should only run once, display the string and then not run anymore until an item is unequipped.

Hmm, baldur25, I'll have to test that...

#129 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 08 June 2008 - 03:16 PM

If you do, remember to set a disabling or "blocking" variable once the quest is completed, or you will have the DSH run all through ToB :)

#130 Rastamage

Rastamage
  • Member
  • 60 posts

Posted 11 June 2008 - 11:50 AM

Any updates on completion?

#131 kevmus

kevmus
  • Member
  • 56 posts

Posted 11 June 2008 - 12:06 PM

Any updates on completion?


As far as I know, it's done. :)

Check the download link.

#132 Jarno Mikkola

Jarno Mikkola

    The Imp in his pink raincoat.

  • Member
  • 10911 posts

Posted 11 June 2008 - 12:10 PM

Rastamage, you might want to edit the first post, so it reflects that indeed the WeiDU version is available.

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


#133 kevmus

kevmus
  • Member
  • 56 posts

Posted 11 June 2008 - 12:14 PM

Rastamage, you might want to edit the first post, so it reflects that indeed the WeiDU version is available.


That's a good idea, maybe edit the title too? [is that possible?]

#134 Rastamage

Rastamage
  • Member
  • 60 posts

Posted 11 June 2008 - 12:33 PM

Yay! Thanks to everyone for making this new (imo better) mod possible. I didn't realize it was done because of the code banter going back and forth the past few days. I'm highly anticipating finishing BG1 to try this bad boy out! Special thanks to you, kevmus.

*****
EDIT: I updated the first post and title, btw

Edited by Rastamage, 11 June 2008 - 12:33 PM.


#135 -corporal-

-corporal-
  • Guest

Posted 16 June 2008 - 09:58 AM

Does anyone know if this mod is compatible with the Rolles item upgrade v2 mod?
The reason that I ask is because the Rolles mod contains an upgrade to the Staff of the Magi.

Thanks in advance!

#136 Jarno Mikkola

Jarno Mikkola

    The Imp in his pink raincoat.

  • Member
  • 10911 posts

Posted 16 June 2008 - 11:00 AM

Does anyone know if this mod is compatible with the Rolles item upgrade v2 mod?
The reason that I ask is because the Rolles mod contains an upgrade to the Staff of the Magi.

Most likely it's partially compatible, as in if you install the Roller item first and then this, it's Staff of Mage will be overwritten by this one's(but the other stuff will remain the same), and if you install Stuff of the Magi first and then Roller... the Staff of Mage is the Roller one's. So you can't have it both ways, but you wouldn't want that anyway...

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


#137 DayFly

DayFly
  • Member
  • 1 posts

Posted 26 July 2008 - 02:16 PM

Okay guys, I've got a problem/question. Firstly, are the Ring of Acuity from Lavok and Staff of the Magi from the Twisted Rune mage part of the set? I am kinda sure the Staff of the Magi is, but I don't know about the other one.
And my next question is about Kangaax: Where are the boots supposed to be found? I didn't find anything on Kangaax' corpse, it would be nice if you told me what I did wrong and how I can remedy the situation. I would prefer not use item codes and such, but if it can't be helped please feel free to pm me.
Thanks in advance
DayFly

#138 Jarno Mikkola

Jarno Mikkola

    The Imp in his pink raincoat.

  • Member
  • 10911 posts

Posted 27 July 2008 - 01:29 AM

Okay guys, I've got a problem/question. Firstly, are the Ring of Acuity from Lavok and Staff of the Magi from the Twisted Rune mage part of the set? I am kinda sure the Staff of the Magi is, but I don't know about the other one.

- Kevmus

Adds the Stuff of the Magi to the following creatures:
Robe: Vongoethe
Amulet: Demogorgon
Boots: Kangaxx
Staff: Mage in Twisted Rune
Bracers: Firkraag
Helmet: Sendai
Belt: Matron Mother Ardulace
Cloak: Imprisoned mage in underdark
Ring: Lavok


And my next question is about Kangaax: Where are the boots supposed to be found? I didn't find anything on Kangaax' corpse, it would be nice if you told me what I did wrong and how I can remedy the situation. I would prefer not use item codes and such, but if it can't be helped please feel free to pm me.

Did you freeze him? Did you disintegrated him, stone kill him etc. ... they all destroy the equipment. + The surest option is to start a new game after the mod is installed.

Edited by Jarno Mikkola, 27 July 2008 - 01:32 AM.

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


#139 Icendoan

Icendoan

    "An Infinite Deal of Nothing"

  • Member
  • 1723 posts

Posted 27 July 2008 - 01:45 AM

Actually, just turn Gore off. Even if they are disintergrated or frozen, you still get the phat lewt.

Icen
Proud member of the 'I HATE Elminster!' Club!

Mods in development: Keeping Yoshimo

#140 DeusEx

DeusEx

    Disappearing Member

  • Member
  • 757 posts

Posted 27 July 2008 - 06:37 AM

Or he could just install p5 tweak and never worry about destroyed equipment again :). Also the only problem with staff of the magi and rolles is that if you upgrade the staff you will get the one with stats from rolles (I installed the stuff after rolles).