Skip to content

MegaMod 3.13: Mazzy Romance, Clara NPC, Darkside Anomen, Flying Aerie, For The Evil, & more! (DONE)

14041424446

Comments

  • rossbach451rossbach451 Member Posts: 168
    BCaesar wrote: »

    Yeah, all that the Prelate says is "It is good to see you again, Keldorn." That is it. I do have the stronghold mod (where NPCs can get the stronghold, right?), but I am unsure of the mod order. Thank you for tackling this, it is annoying but not a show-stopper. Thanks again!

    If he talks at all that's good. I can work with that. I'm pretty sure I coded it to work if you have the Paladin stronghold too. What does the Prelate say if you talk to him with Player 1 instead of Keldorn?

    I'm going to install the game and mod and open up Near Infinity and see if I can figure this out.

    He says the same thing to MC as he does to Keldorn.
  • BCaesarBCaesar Member Posts: 480

    He says the same thing to MC as he does to Keldorn.

    Okay, Ratatoskr is correct. The Stronghold mod changes the Prelate's default dialogue to that, so then you can't do our responses.

    A way to fix it would be to uninstall the NPC stronghold mod, then uninstall our mod, then reinstall the NPC stronghold mod, then reinstall ours. That shouldn't break anything.

    As long as our mod is installed after the NPC stronghold mod, it'll find that line of dialogue, and it'll attach our responses. And that should work even with an existing save. If you do that and it still doesn't work then let us know.
  • rossbach451rossbach451 Member Posts: 168
    BCaesar wrote: »

    He says the same thing to MC as he does to Keldorn.

    Okay, Ratatoskr is correct. The Stronghold mod changes the Prelate's default dialogue to that, so then you can't do our responses.

    A way to fix it would be to uninstall the NPC stronghold mod, then uninstall our mod, then reinstall the NPC stronghold mod, then reinstall ours. That shouldn't break anything.

    As long as our mod is installed after the NPC stronghold mod, it'll find that line of dialogue, and it'll attach our responses. And that should work even with an existing save. If you do that and it still doesn't work then let us know.

    I will try! Thanks!
  • rossbach451rossbach451 Member Posts: 168
    BCaesar wrote: »

    He says the same thing to MC as he does to Keldorn.

    Okay, Ratatoskr is correct. The Stronghold mod changes the Prelate's default dialogue to that, so then you can't do our responses.

    A way to fix it would be to uninstall the NPC stronghold mod, then uninstall our mod, then reinstall the NPC stronghold mod, then reinstall ours. That shouldn't break anything.

    As long as our mod is installed after the NPC stronghold mod, it'll find that line of dialogue, and it'll attach our responses. And that should work even with an existing save. If you do that and it still doesn't work then let us know.

    Yes, it worked! Now the only other question, does the game update the quests when Wesselan tells Mazzy to rescue Imoen? There was no change to the quest log.

    Regardless, thank you for all of your help!
  • BCaesarBCaesar Member Posts: 480

    Yes, it worked! Now the only other question, does the game update the quests when Wesselan tells Mazzy to rescue Imoen? There was no change to the quest log.

    Regardless, thank you for all of your help!

    Excellent.

    Yes, correct, that one time there's no change to the quest log. It's a quirk of how we coded the dialogues. To put a quest update there was too difficult coding-wise. But it will update the quest when you bring her back.
  • neuroghastneuroghast Member Posts: 10
    have you guys ever thought about breaking the main component into optional parts?
    i'd love to give it a shot to jaheira-wilson romance, but i'm really not interested in clara and mazzy is not my favorite character ever to keep around, so seems like a few things could be ignored on my end

    i obviously don't know if that's something interesting for you guys, but there's the suggestion. cheers!
  • BCaesarBCaesar Member Posts: 480
    edited April 21
    neuroghast wrote: »
    have you guys ever thought about breaking the main component into optional parts?
    i'd love to give it a shot to jaheira-wilson romance, but i'm really not interested in clara and mazzy is not my favorite character ever to keep around, so seems like a few things could be ignored on my end

    i obviously don't know if that's something interesting for you guys, but there's the suggestion. cheers!

    From a coding and testing perspective it worked much better to have it all as one, and breaking it up now would require dozens and dozens of hours of new coding and testing to make sure it all worked properly, so it won't happen.

    However, you can always install it and still not pick up Clara or Mazzy. Just about everything can be turned off in the in-game dialogue; like for Mazzy's recurring talks you can tell her just to be quiet. Same with any of the NPC-NPC friendships or romances, and also Aerie's wing talks. Sometimes the dialogue to turn something off doesn't show up until the 2nd or 3rd talk, but it should always be there relatively early on.
  • GeraldOne2GeraldOne2 Member Posts: 2
    amendara wrote: »
    Thanks for all the help.

    I fixed it!

    And the result was pretty awesome. This definitely is a must have mod for any playthrough. It was really interesting to be able to take Viconia down this path.

    The problem was demlord.bcs file was some other one, so I am guessing some later installed mod in my order overwrote it.

    These lines:

    Detect([PC])
    IfValidForPartyDialogue("Viconia")
    Global("_bDemonWalks","GLOBAL",1)
    AreaCheck("AR2201") //Temple of Lolth

    Were not even there. So I copied the baf from the All Things Mazzy folder of demlord.bcs and simply added to the file in Near Infinity. Then everything worked fine, and I got to have a much more satisfying journey to the surface, wiping out the elves and installing the demon at the new temple.




    Is there a way to fix this without using Near Infinity? I'm really enjoying the mod and would love to experience this. I'm on my second playthrough with this mod and I couldn't get the demon lord to respond either time. I satisfy all the requirements and the Globals are correct. I did a full reinstall for each playthrough and the only repeat mods are Ascension, eeuitweaks, cdtweaks, Talents of Faerun, and SCS. The first two were installed before the MegaMod. I'm not sure which mod could be causing this.
  • BCaesarBCaesar Member Posts: 480
    edited April 30
    GeraldOne2 wrote: »
    amendara wrote: »
    Thanks for all the help.

    I fixed it!

    And the result was pretty awesome. This definitely is a must have mod for any playthrough. It was really interesting to be able to take Viconia down this path.

    The problem was demlord.bcs file was some other one, so I am guessing some later installed mod in my order overwrote it.

    These lines:

    Detect([PC])
    IfValidForPartyDialogue("Viconia")
    Global("_bDemonWalks","GLOBAL",1)
    AreaCheck("AR2201") //Temple of Lolth

    Were not even there. So I copied the baf from the All Things Mazzy folder of demlord.bcs and simply added to the file in Near Infinity. Then everything worked fine, and I got to have a much more satisfying journey to the surface, wiping out the elves and installing the demon at the new temple.




    Is there a way to fix this without using Near Infinity? I'm really enjoying the mod and would love to experience this. I'm on my second playthrough with this mod and I couldn't get the demon lord to respond either time. I satisfy all the requirements and the Globals are correct. I did a full reinstall for each playthrough and the only repeat mods are Ascension, eeuitweaks, cdtweaks, Talents of Faerun, and SCS. The first two were installed before the MegaMod. I'm not sure which mod could be causing this.

    If it's the same problem as last time, one of the mods installed after our mod replaces Demlord.bcs (which is an error in their mod, or at least obnoxious). I don't know which mod it is that's doing this. Essentially if our mod is installed after the other mod it should work, but if the other mod is installed after ours then it replaces the demlord.bcs file and breaks our mod.

    Try uninstalling our mod and then reinstalling it and that should add our scripts back into demlord.bcs. That shouldn't break the other mod either, since our mod adds the scripts in rather than replacing the whole file. Then once you've reinstalled our mod try the demon again. Please let us know if that fixes it.

  • GeraldOne2GeraldOne2 Member Posts: 2
    Thanks for the advice. I will try this once I finish my current playthrough. I don't want to risk reinstalling just in case I mess something else up.
  • RatatoskrRatatoskr Member Posts: 726
    If you don't want to reinstall now, I believe the only other option would be to copy our code into your game's demon script file. But that would require Near Infinity (which was actually free to download last I checked but can have a bit of a learning curve).
  • RatatoskrRatatoskr Member Posts: 726
    edited May 2
    If we could figure out which mod is overwriting the demon script, we could at least add a compatibility warning for the future 🤔
    There's no way for us to stop the issue from happening if things are installed with Mazzy first.

    It shouldn't be cdtweaks since I use that and I'm not familiar with Talents of Faerun. I could see it being SCS if you install the whole thing since that makes a ton of script changes. But I thought it's pretty good about extending files.

    It sounds like it wouldn't be Ascension or eeui if you installed them first, unless Ascension somehow renames the script entirely.

    If I have the time at some point, maybe I'll do some digging. @BCaesar do you still have Ascension downloaded?
    Post edited by Ratatoskr on
  • BCaesarBCaesar Member Posts: 480
    edited May 2
    GeraldOne2 wrote: »
    Thanks for the advice. I will try this once I finish my current playthrough. I don't want to risk reinstalling just in case I mess something else up.

    Sounds good. If you close BG2, uninstall our mod, and then reinstall it before you start BG2 again it shouldn't break anything, but I can understand wanting to play it safe.
    Ratatoskr wrote: »
    @BCaesar do you still have Ascension downloaded?

    I actually never had Ascension. I thought about it because I dislike playing ToB and thought that maybe having Ascension might make ToB more fun, but I wanted to do my first ToB playthrough without mods, and then was so sick of it by the end that I didn't want to do it again, even modded. The only way I'd ever play ToB again would be if I ever expanded Bodhi-the-Elf and wanted to test it (but that isn't going to happen anytime soon if ever).
  • RatatoskrRatatoskr Member Posts: 726
    @GeraldOne2 Just FYI, I did some testing and the 'Improved fiends and celestials' component of SCS appears to be what's breaking our Ust Natha content. That mod replaces the DEMLORD.bcs file that we use.

    Since the issue is the other mod overriding the script file, there's nothing we can do about it on our end. You'd have to either skip that component, uninstall it or edit the file to put our code back with Near Infinity. So just something to note for future runs.

    It doesn't seem like the main SCS component causes any issues, though I didn't have time to test every single component. The fiends one seems likely to be the only problem though.


    As a general note, I've updated the initial mod post with known compatibility issues. I'm currently trying to decide if it's worth a whole version number just to update the ReadMe. :sweat_smile:
  • BCaesarBCaesar Member Posts: 480
    Ratatoskr wrote: »
    @GeraldOne2 Just FYI, I did some testing and the 'Improved fiends and celestials' component of SCS appears to be what's breaking our Ust Natha content. That mod replaces the DEMLORD.bcs file that we use.

    Well that's good to know. So just install our mod after SCS and it should be fine. I don't know that uninstalling that part of SCS will fix it because the code we put in might already have been replaced. I forget how Weidu does that. But installing (or reinstalling) our mod after you've installed SCS should fix the problem for sure.
  • RatatoskrRatatoskr Member Posts: 726
    edited May 9
    Uninstalling that component worked for me when I tested it.

    At least until I completely broke my game install by force closing Weidu halfway through the install process on a later test (never do that. It causes Weidu not to register that the mod is installed so you can't undo the changes properly) 😁
  • BCaesarBCaesar Member Posts: 480
    Ratatoskr wrote: »
    Uninstalling that component worked for me when I tested it.

    At least until I completely broke my game install by force closing Weidu halfway through the install process on a later test (never do that. It causes Weidu not to register that the mod is installed so you can't undo the changes properly) 😁

    Tsk, tsk, that's like turning off your game system while saving.
  • BCaesarBCaesar Member Posts: 480
    Ratatoskr wrote: »
    Uninstalling that component worked for me when I tested it.

    At least until I completely broke my game install by force closing Weidu halfway through the install process on a later test (never do that. It causes Weidu not to register that the mod is installed so you can't undo the changes properly) 😁

    Thinking about it, you could probably uninstall every mod, then delete everything still remaining in your override folder, then reinstall every mod, and you'd be fine. Depending how many mods that is it'd be a little tedious.
  • RatatoskrRatatoskr Member Posts: 726
    BCaesar wrote: »
    Thinking about it, you could probably uninstall every mod, then delete everything still remaining in your override folder, then reinstall every mod, and you'd be fine. Depending how many mods that is it'd be a little tedious.

    Given the number of mods I have installed, that probably isn't worth it. Next time I need to test something, I'll just have to find my old 'All mods installed' backup of the game and copy it back to my computer. It'll mess up the dialogue strings on my old saved games a bit more, but that particular ship has well sailed by now :smile:
  • zelazkozelazko Member Posts: 88
    edited May 19
    2. The 'Improved fiends and celestials' component of Sword Coast Stratagems breaks our Ust Natha expansion because it replaces a script file that we use. You'll either need to install that component before this mod, skip that component, or do some Near Infinity editing afterwards.

    What demons files/ creature names are we talking about here? And what is the name of the script from MMM mod so I can 'merge' them using NI.
  • BCaesarBCaesar Member Posts: 480
    edited May 20
    zelazko wrote: »
    2. The 'Improved fiends and celestials' component of Sword Coast Stratagems breaks our Ust Natha expansion because it replaces a script file that we use. You'll either need to install that component before this mod, skip that component, or do some Near Infinity editing afterwards.

    What demons files/ creature names are we talking about here? And what is the name of the script from MMM mod so I can 'merge' them using NI.

    It's the demon in Ust Natha that you can give the dragon eggs to. His script file is DEMLORD.BCS. Our mod adds to that file if you install our "For the Evil" component, but apparently Sword Coast Stratagems replaces the file entirely.

    You'd need to open up that file and paste our code above the existing code (don't delete any of the code already there):
    Our code is:
    //The Demon Lord's Script Name is also demlord
    //This is the script for the demon in Ust Natha should you do Viconia's quest and give him the eggs.
    
    IF
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    	Global("_bDemonWalks","GLOBAL",1)
    	AreaCheck("AR2201") //Temple of Lolth
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([1179.1031])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	SetGlobal("_bDemonWalks","GLOBAL",2)
    END
    
    IF
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    	Global("_bDemonWalks","GLOBAL",2)
    	AreaCheck("AR2201") //Temple of Lolth
    THEN
    	RESPONSE #100
    	Wait(1)
    	MoveToPointNoInterrupt([734.1727])
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",3)
    	MoveBetweenAreasEffect("AR2200","SPPORTAL",[4092.2503],S)  // Ust Natha
    END
    
    IF
    	AreaCheck("AR2200")  // Ust Natha
    	Global("_bDemonWalks","GLOBAL",3)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    		MoveToPointNoInterrupt([3848.2617])
    		MoveToPointNoInterrupt([3823.2847])
    		MoveToPointNoInterrupt([3711.2939])
    		MoveToPointNoInterrupt([3469.2961])
    		Wait(1)
    		MoveToPointNoInterrupt([3316.2769])
    		MoveToPointNoInterrupt([3329.2594])
    		MoveToPointNoInterrupt([2974.2309])
    		Wait(1)
    		MoveToPointNoInterrupt([2799.2161])
    		SetGlobal("_bDemonWalks","GLOBAL",4)
    END
    
    IF
    	AreaCheck("AR2200")  // Ust Natha
    	Global("_bDemonWalks","GLOBAL",4)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([2376.2166])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	MoveToPointNoInterrupt([1843.2659])
    	Wait(1)
    	MoveToPointNoInterrupt([1576.2712])
    	Wait(1)
    	MoveToPointNoInterrupt([1472.2973])
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",5)
    END
    
    IF
    	AreaCheck("AR2200")  // Ust Natha
    	Global("_bDemonWalks","GLOBAL",5)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    		CreateVisualEffectObject("SPPORTAL",Myself)
    		Wait(1)
    		JumpToPoint([1303.3073])
    		CreateVisualEffectObject("SPPORTAL",Myself)
    		Wait(1)
    		MoveToPointNoInterrupt([1290.3234])
    		Wait(1)
    		MoveToPointNoInterrupt([902.3765])
    		SetGlobal("_bDemonWalks","GLOBAL",6)
    END
    
    IF
    	AreaCheck("AR2200")  // Ust Natha
    	Global("_bDemonWalks","GLOBAL",6)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonWalks","GLOBAL",7)
    	MoveBetweenAreasEffect("AR2100","SPPORTAL",[4892.237],S) //Underdark Main Area
    END
    
    IF
    	AreaCheck("AR2100")  // Underdark Main Area
    	Global("_bDemonWalks","GLOBAL",7)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	MoveToPointNoInterrupt([4093.1019])
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",8)
    	MoveBetweenAreasEffect("AR2102","SPPORTAL",[311.417],S) //Dragon's Lair
    END
    
    //First dialogue between Demon and Dragon
    IF
    	AreaCheck("AR2102")  // Dragon's Lair
    	Global("_bDemonWalks","GLOBAL",8)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    	!Dead("udsilver")
    THEN
    	RESPONSE #100
    	MoveToPointNoInterrupt([1253.1337])
    	SetGlobal("_bDemonWalks","GLOBAL",9)
    	Continue()
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",9)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Dialog("udsilver")
    END
    
    //2nd Dialogue
    IF
    	AreaCheck("AR2102")  // Dragon's Lair
    	Global("_bDemonWalks","GLOBAL",10)
    	!Dead("udsilver")
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonWalks","GLOBAL",11)
    	Continue()
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",11)
    THEN
    	RESPONSE #100
    	StartDialogNoSet(Player1)
    END
    
    //3rd Dialogue
    IF
    	AreaCheck("AR2102")  // Dragon's Lair
    	Global("_bDemonWalks","GLOBAL",12)
    	!Dead("udsilver")
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonWalks","GLOBAL",13)
    	Continue()
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",13)
    THEN
    	RESPONSE #100
    	StartDialogNoSet(Player1)
    END
    
    //4th dialogue
    IF
    	Global("_bDemonWalks","GLOBAL",14)
    	Global("_bDemonPanics","GLOBAL",0)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	SetGlobal("_bDemonPanics","GLOBAL",1)
    	Continue()
    END
    
    IF
    	Global("_bDemonPanics","GLOBAL",1)
    THEN
    	RESPONSE #100
    	StartDialogNoSet(Player1)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",14)
    	!Dead("udsilver")
    	Global("_bDemonPanics","GLOBAL",2)
    THEN
    	RESPONSE #100
    	MoveToPointNoInterrupt([311.417])
    END
    
    //Code once the dragon dies.
    IF
    	AreaCheck("AR2102")  // Dragon's Lair
    	Global("_bDemonWalks","GLOBAL",14)
    	Dead("udsilver")
    	!Dead("UDDEMON")
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonWalks","GLOBAL",15)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",15)
    THEN
    	RESPONSE #100
    	MoveToPoint([1522.1497])
    	Dialog([PC])
    END
    
    //Code to start timer after demon talks after dragon dies.
    IF
    	!Dead("UDDEMON")
    	Global("_bDemonWalks","GLOBAL",16)
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobalTimer("_bDemonRestsAfterDragon","GLOBAL",EIGHT_HOURS)
    	SetGlobal("_bDemonWalks","GLOBAL",17)
    END
    	
    IF	
    	Global("_bDemonWalks","GLOBAL",17)
    	GlobalTimerExpired("_bDemonRestsAfterDragon","GLOBAL")
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonWalks","GLOBAL",18)
    END
    
    IF 
    	Global("_bDemonWalks","GLOBAL",18)
    THEN
    	RESPONSE #100
    	StartDialogNoSet(Player1)
    END
    
    //Code to leave the silver dragon's cave.
    IF
    	Global("_bDemonWalks","GLOBAL",19)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	MoveToPointNoInterrupt([311.417]) //Near door of dragon's cave.
    	SetGlobal("_bDemonWalks","GLOBAL",20)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",20)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonWalks","GLOBAL",21)
    	MoveBetweenAreasEffect("AR2100","SPPORTAL",[4093.1019],S) //Underdark Main Area
    END
    
    //Code to kill any enemies in Underdark. Also to heal if in the elven temple.
    IF
    	AreaCheck("AR2500") //Elven Temple Outside UnderDark
    	HPLT(Myself,10)
    THEN
    	RESPONSE #100
    	StartDialogueNoSet(Player1)
    END
    
    IF
    	OR(4)
    		AreaCheck("AR2100") //Underdark Main Area
    		AreaCheck("AR2402") //Western Tunnels
    		AreaCheck("AR2401") //Exit Tunnels
    		AreaCheck("AR2500") //Elven Temple Outside UnderDark
    	Detect(NearestEnemyOf([PC]))
    	!Allegiance(Myself,ENEMY)
    THEN
    	RESPONSE #100
    	ReallyForceSpell(NearestEnemyOf([PC]),CLERIC_FLAME_STRIKE)
    END
    
    IF
    	OR(2)
    		AreaCheck("AR2100") //Underdark Main Area
    		AreaCheck("AR2402") //Western Tunnels
    	!Allegiance(Myself,NEUTRAL)
    THEN
    	RESPONSE #100
    	ChangeEnemyAlly(Myself,NEUTRAL)
    END
    
    IF
    	OR(2)
    		AreaCheck("AR2401") //Exit Tunnels
    		AreaCheck("AR2500") //Elven Temple Outside UnderDark
    	!Allegiance(Myself,ALLY)
    	!Global("_bDemonatSurface","GLOBAL",4)
    THEN
    	RESPONSE #100
    	ChangeEnemyAlly(Myself,ALLY)
    END
    
    IF
    	AreaCheck("AR2500") //Elven Temple Outside UnderDark
    	!Allegiance(Myself,NEUTRAL)
    	Global("_bDemonatSurface","GLOBAL",4)
    THEN
    	RESPONSE #100
    	ChangeEnemyAlly(Myself,NEUTRAL)
    	Wait(1)
    	MoveToPointNoInterrupt([1521.1111])
    END
    
    //Code to walk in Underdark.
    IF
    	Global("_bDemonWalks","GLOBAL",21)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	MoveToPointNoInterrupt([4138.1604])
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",22)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",22)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([3914.2000])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",23)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",23)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	MoveToPointNoInterrupt([273.1870])
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",24)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",24)
    	Detect([PC])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	ApplySpell(Myself,HEAL_NO_VISUAL)
    	SetGlobal("_bDemonWalks","GLOBAL",25)	
    	MoveBetweenAreasEffect("AR2402","SPPORTAL",[400.1873],S) //Western Tunnels
    END
    
    //Code to Move Demon in Western Tunnels
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",0)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([661.1914])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bWesternTunnelDemonHop","GLOBAL",1)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",1)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([848.1667])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bWesternTunnelDemonHop","GLOBAL",2)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",2)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([1270.1693])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bWesternTunnelDemonHop","GLOBAL",3)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",3)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([1638.1624])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bWesternTunnelDemonHop","GLOBAL",4)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",4)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([1832.1453])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bWesternTunnelDemonHop","GLOBAL",5)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",5)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([1934.1166])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bWesternTunnelDemonHop","GLOBAL",6)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",6)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([2211.924])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bWesternTunnelDemonHop","GLOBAL",7)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",7)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([1958.712])	
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bWesternTunnelDemonHop","GLOBAL",8)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",25)
    	Detect([PC])
    	Global("_bWesternTunnelDemonHop","GLOBAL",8)
    	!Detect([ENEMY])
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([1730.673])		
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",26)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",26)
    	IfValidForPartyDialogue("Viconia")
    	OR(2)
    		Dead("uddoor02")
    		Global("_bDemonMakesGateGuardsFlee","GLOBAL",1)
    THEN
    	RESPONSE #100
    	MoveToPointNoInterrupt([1048.488])
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",27)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",27)
    	Detect([PC])
    THEN
    	RESPONSE #100
    	ApplySpell(Myself,HEAL_NO_VISUAL)
    	
    	SetGlobal("_bDemonWalks","GLOBAL",28)
    	MoveBetweenAreasEffect("AR2401","SPPORTAL",[1261.1220],S) //Exit Tunnels
    END
    
    //Code to move in Exit Tunnels
    IF
    	Global("_bDemonWalks","GLOBAL",33)
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	ApplySpell(Myself,HEAL_NO_VISUAL)
    	MoveToPointNoInterrupt([1267.747])
    	Wait(1)
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([1056.397])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	OpenDoor("Door01")
    	OpenDoor("Door02")
    	OpenDoor("Door03")
    	OpenDoor("Door04")
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",34)
    END
    
    //Dialogue after everyone is dead.
    IF
    	AreaCheck("AR2401")
    	Global("_bDemonWalks","GLOBAL",34)
    	!Detect([ENEMY])
    	Detect([PC])
    THEN
    	RESPONSE #100
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	JumpToPoint([659.598])
    	CreateVisualEffectObject("SPPORTAL",Myself)
    	Wait(1)
    	SetGlobal("_bDemonWalks","GLOBAL",35)
    END
    
    IF
    	Global("_bDemonWalks","GLOBAL",35)
    	CombatCounter(0)
    	!Detect([ENEMY])
    	Global("_bDemonTalksAtExit","GLOBAL",0)
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonTalksAtExit","GLOBAL",1)
    END
    
    IF
    	Global("_bDemonTalksAtExit","GLOBAL",1)
    THEN
    	RESPONSE #100
    	StartDialogNoSet(Player1)
    END
    
    IF
    	Global("_bDrowReturnUstNatha","GLOBAL",1)
    	CombatCounter(0)
    THEN
    	RESPONSE #100
    	RandomWalk()
    END
    
    IF
    	Global("_bDrowAttackElves","GLOBAL",4)
    	AreaCheck("AR2401")
    THEN
    	RESPONSE #100
    	MoveBetweenAreas("AR2500",[1906.1128],W) //Elven Temple Outside UnderDark
    END
    
    //Last dialogue in Elven Temple
    IF
    	AreaCheck("AR2500") //Elven Temple Outside UnderDark
    	!Detect([ENEMY])
    	Global("_bDemonatSurface","GLOBAL",0)
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonatSurface","GLOBAL",1)
    END
    
    IF
    	Global("_bDemonatSurface","GLOBAL",1)
    THEN
    	RESPONSE #100
    	MoveToPointNoInterrupt([1521.1111])
    	Wait(1)
    	SetGlobal("_bDemonatSurface","GLOBAL",2)
    END
    
    IF
    	Global("_bDemonatSurface","GLOBAL",2)
    	IfValidForPartyDialogue("Viconia")
    THEN
    	RESPONSE #100
    	SetGlobal("_bDemonatSurface","GLOBAL",3)
    END
    	
    IF
    	Global("_bDemonatSurface","GLOBAL",3)
    THEN
    	RESPONSE #100
    	StartDialogNoSet(Player1)
    END
    
    Post edited by BCaesar on
  • RatatoskrRatatoskr Member Posts: 726
    @BCaesar You might want to spoiler the code section to make the post shorter. That way people can expand it only if they need it. The length is a bit ridiculous right now :)
  • zelazkozelazko Member Posts: 88
    Thank you Ratatoskr and BCaesar for prompt help. :)
  • BCaesarBCaesar Member Posts: 480
    Ratatoskr wrote: »
    @BCaesar You might want to spoiler the code section to make the post shorter. That way people can expand it only if they need it. The length is a bit ridiculous right now :)

    The code is beautiful and brilliant and should be required reading!

    But fine, I did.
  • RatatoskrRatatoskr Member Posts: 726
    It is very nice code. But some people may not want to be spoiled in advance 😄
  • AldarisvetAldarisvet Member Posts: 8
    I've returned to report that the bug with Neb had nothing with Mazzy mod. If was because of PPE mod (that provides portraits for every NPC). I've solved it by deleting two neb files including neb.cre file in the 'override' folder.
  • BCaesarBCaesar Member Posts: 480
    Aldarisvet wrote: »
    I've returned to report that the bug with Neb had nothing with Mazzy mod. If was because of PPE mod (that provides portraits for every NPC). I've solved it by deleting two neb files including neb.cre file in the 'override' folder.

    Oh that's great news. Thanks for telling us! I hate when we have bugs and can't find them.

    Portraits Portraits Everywhere is awesome. It's one of the mods I almost always used.
  • zelazkozelazko Member Posts: 88
    Is there chance for Korgan and Mazzy romance? :D
  • BCaesarBCaesar Member Posts: 480
    edited June 5
    zelazko wrote: »
    Is there chance for Korgan and Mazzy romance? :D

    Never :D . But the mod expands upon the in-game relationship (The existing in-game dialogues lead to him liking her, and she grudgingly tolerating his existence.) I'm fond of our Korgan-Mazzy stuff. We did it relatively early in the life of development and it was the most ambitious coding I'd done by that time. And unlike a lot of our Mazzy stuff we didn't feel the need to rewrite it too heavily near the end.
  • zelazkozelazko Member Posts: 88
    Ah shame they would make a perfect couple if Korgan could change alignment to chaotic neutral.
Sign In or Register to comment.