Guest Cair

"Holocron Quest" Discussion

Recommended Posts

Do you know of any other modder's that are looking into this? I tried searching on google and found nothing. It seems that this idea of a pretty interesting Holocron quest is dead. So sad. :crybaby:

Unfortunately the best ideas tend to get left behind when the original mod makers get busy. It's why a lot of us become modders to make those ideas into reality.

 

Alternatively, you could always go out and ask around if others want to help you make your own take on it.

Share this post


Link to post
Share on other sites

How much holocrons would this mod have? Also, does the dialogues say were they are? Are they just sith holocrons, jedi holocrons or both?

I know that there is the disciple voice lines, but english is not my first language and I still have trouble hearing.

Share this post


Link to post
Share on other sites

I have the files somewhere that I attempted to put together. As I've probably said thousands of times, I'll try to find it and post it here

Share this post


Link to post
Share on other sites

I've thought about this before and I think it's a mod that's possible and worth doing, but it comes with some complications.

 

First, the holocrons referenced in the Disciple's dialogue would be difficult to implement. Many of them would grant Force powers that are already learned through some other means, very late in the game, including Force Enlightenment and some prestige class abilities. Do you get something else if you already learned an ability with a holocron? Or does the holocron merely give you early access? What you already have the ability before finding the holocron? Do you get a different holocron? And would a version of the quest be available without the Disciple, either for male player characters or before you recruit him? There's a lot to decide here.

 

Second, it's not really clear how the final holocron mission would play out. Some dialogue suggests the Disciple didn't know the Exile was meant to be his master so many years ago, while the other dialogue has him give the Exile's holocron to her because he knew, and he knew all along in the original release of the game as well, of course. Likewise, some dialogue seems to have him find the holocron by happenstance during the quest, while other dialogue has him take the Exile to the final holocron after all the others have been found. Perhaps both were possible, depending on things such as the order in which the holocrons were found, how much influence the player has with the Disciple, and when the Disciple is trained as a Jedi. Some coherent series of events would need to be realized.

 

Third, any attempt at this mod would require editing the Disciple's global dialogue file, placing holocron items in numerous different locations throughout the game, and adding new journal entries and/or global variables. Naturally, compatibility with other mods would be a concern.

 

Finally, it would be nice if it were possible for new planet mods to add holocrons to the quest. That would be another compatibility challenge, but it's something I would appreciate. If, for example, someone wanted to add a Sith holocron to M4-78, that should be possible. Or if a new Coruscant mod were to be made, as has been discussed, it would make sense for it to come with a holocron or two. I wouldn't make a holocron mod that didn't allow for that, and that's the main reason I've yet to attempt one.

 

I think rather than a standalone mod, the holocron quest should be made as a sort of mod resource. I would include a system that could be edited to include any number of additional holocrons. Of course, the Disciple only has a few lines of dialogue, and therefore could not elaborate on the specifics of each one, but perhaps he could have something generic to say for the others. For the holocrons beyond the scope of the original plan, the items could randomly give you light or dark side points, or an ability you don't have, or some similar bonus, like what you when you access the dark side mist in the Tomb of Freedon Nadd. To account for a variable number of possible holocrons, the mod would have a sort of "next holocron" script to determine which one you find, much like learning the lightsaber forms. That would generate either the next holocron that has specific dialogue attached to it or one of the generic holocrons, depending on circumstances.

 

Those are just some rough ideas for it, anyway. It's not like I've written code for it or anything. I'm busy with a few other projects at the moment, but I might lay out the core structure of what I've mentioned if I get some free time. I'm willing to offer assistance if anyone else wants to attempt it, also. But I wouldn't undertake such an endeavor lightly. This is almost as complicated as a planet mod.

  • Like 3

Share this post


Link to post
Share on other sites

Maybe instead of giving the new abilities to the exile, the disciple himself could get them, so it wouldnt be a problem if you played a male character, and they would be always be new to the disciple since the new force powers are prestige class.

  • Like 1

Share this post


Link to post
Share on other sites

I started translating some of my ideas into code.

 

This script is essentially a copy of the script for the dark side taint in the Tomb of Freedon Nadd:

 

 

////////////////////////////////////////////////////////////////////////////////



/* holo_a_dspower



   Rewards either the player or the Disciple with a dark power, depending on

   what they already have, or Force points if they already have all the powers.



   The power progression is based on that of the dark side taint in the Tomb of

   Freedon Nadd.



   Run "Disciple" as the string parameter for the Disciple; otherwise, leave it

   blank for the player. */



// JC 2018-04-14



////////////////////////////////////////////////////////////////////////////////







void main() {



int nSpell;



object oUser;

if( GetScriptStringParameter() == "Disciple" ) oUser = GetObjectByTag("Disciple");

else oUser = GetFirstPC();



/* DARK POWERS



   SLOW = 45

   FEAR = 16

   WOUND = 50

   SHOCK = 43



   AFFLICTION = 7

   HORROR = 30

   CHOKE = 9

   LIGHTNING = 35



   PLAGUE = 38

   INSANITY = 31

   KILL = 32

   STORM = 25



*/



// SLOW

if( !GetHasSpell(45, oUser) ) nSpell = 45;

else {

    // FEAR

    if( !GetHasSpell(16, oUser) ) nSpell = 16;

    else {

        // WOUND

        if( !GetHasSpell(50, oUser) ) nSpell = 50;

        else {

            // SHOCK

            if( !GetHasSpell(43, oUser) ) nSpell = 43;

            else {



                // AFFLICTION

                if( !GetHasSpell(7, oUser) ) nSpell = 7;

                else {

                     // HORROR

                    if( !GetHasSpell(30, oUser) ) nSpell = 30;

                    else {

                       // CHOKE

                        if( !GetHasSpell(9, oUser) ) nSpell = 9;

                        else {

                            // LIGHTNING

                            if( !GetHasSpell(35, oUser) ) nSpell = 35;

                            else {



                                // PLAGUE

                                if( !GetHasSpell(38, oUser) ) nSpell = 38;

                                else {

                                    // INSANITY

                                    if( !GetHasSpell(31, oUser) ) nSpell = 31;

                                    else {

                                        // KILL

                                        if( !GetHasSpell(32, oUser) ) nSpell = 32;

                                        else {

                                            // STORM

                                            if( !GetHasSpell(25, oUser) ) nSpell = 25;

                                            else {



                                                // FORCE POINTS

                                                AddBonusForcePoints(oUser, 10);

                                                }

                                            }

                                        }

                                    }

                                }

                            }

                        }

                    }

                }

            }

        }

    }



GrantSpell(nSpell, oUser);



}

 

 

 

I've set it up so it can be applied to the player or the Disciple, or both. It grants a Force power based on a certain progression tree. If by any chance the character has all the powers it'll give them 10 bonus Force points instead.

 

I've also drawn up a light side version:

 

 

////////////////////////////////////////////////////////////////////////////////



/* holo_a_lspower



   Rewards either the player or the Disciple with a light power, depending on

   what they already have, or Force points if they already have all the powers.



   The power progression is based on that of the dark side taint in the Tomb of

   Freedon Nadd, but with light side powers instead.



   Run "Disciple" as the string parameter for the Disciple; otherwise, leave it

   blank for the player. */



// JC 2018-04-14



////////////////////////////////////////////////////////////////////////////////







void main() {



int nSpell;



object oUser;

if( GetScriptStringParameter() == "Disciple" ) oUser = GetObjectByTag("Disciple");

else oUser = GetFirstPC();



/* LIGHT POWERS



   SPEED = 8

   STUN = 46

   PUSH = 23

   CURE = 10



   KNIGHT SPEED = 34

   STASIS = 29

   WHIRLWIND = 27

   HEAL = 28



   MASTER SPEED = 37

   STASIS FIELD = 44

   WAVE = 26

   MASTER HEAL = 134 */



// SPEED

if( !GetHasSpell(8, oUser) ) nSpell = 8;

else {

    // STUN

    if( !GetHasSpell(46, oUser) ) nSpell = 46;

    else {

        // PUSH

        if( !GetHasSpell(23, oUser) ) nSpell = 23;

        else {

            // CURE

            if( !GetHasSpell(10, oUser) ) nSpell = 10;

            else {



                // KNIGHT SPEED

                if( !GetHasSpell(34, oUser) ) nSpell = 34;

                else {

                     // STASIS

                    if( !GetHasSpell(29, oUser) ) nSpell = 29;

                    else {

                       // WHIRLWIND

                        if( !GetHasSpell(27, oUser) ) nSpell = 27;

                        else {

                            // HEAL

                            if( !GetHasSpell(28, oUser) ) nSpell = 28;

                            else {



                                // MASTER SPEED

                                if( !GetHasSpell(37, oUser) ) nSpell = 37;

                                else {

                                    // STASIS FIELD

                                    if( !GetHasSpell(44, oUser) ) nSpell = 44;

                                    else {

                                        // WAVE

                                        if( !GetHasSpell(26, oUser) ) nSpell = 26;

                                        else {

                                            // MASTER HEAL

                                            if( !GetHasSpell(134, oUser) ) nSpell = 134;

                                            else {



                                                // FORCE POINTS

                                                AddBonusForcePoints(oUser, 10);

                                                }

                                            }

                                        }

                                    }

                                }

                            }

                        }

                    }

                }

            }

        }

    }



GrantSpell(nSpell, oUser);



}

 

 

 

I've picked light side powers that I think correspond to the dark ones in the original script.

 

Finally, these two scripts will check what power is supposed to be given without actually giving it:

 

 

////////////////////////////////////////////////////////////////////////////////



/* holo_c_dspower



   Checks which dark side power should be granted by holo_a_dspower.



   This conditional script can be attached to dialogue nodes so the player will

   know what they're getting. This script does NOT give the reward. The script

   holo_a_dspower must be fired afterwards.



   Run "Disciple" as the string parameter for the Disciple; otherwise, leave it

   blank for the player.



   Parameter 1 is the spell to be checked. */



////////////////////////////////////////////////////////////////////////////////







int StartingConditional() {



int nSpell;



object oUser;

if( GetScriptStringParameter() == "Disciple" ) oUser = GetObjectByTag("Disciple");

else oUser = GetFirstPC();



/* DARK POWERS



   SLOW = 45

   FEAR = 16

   WOUND = 50

   SHOCK = 43



   AFFLICTION = 7

   HORROR = 30

   CHOKE = 9

   LIGHTNING = 35



   PLAGUE = 38

   INSANITY = 31

   KILL = 32

   STORM = 25



*/



// SLOW

if( !GetHasSpell(45, oUser) ) nSpell = 45;

else {

    // FEAR

    if( !GetHasSpell(16, oUser) ) nSpell = 16;

    else {

        // WOUND

        if( !GetHasSpell(50, oUser) ) nSpell = 50;

        else {

            // SHOCK

            if( !GetHasSpell(43, oUser) ) nSpell = 43;

            else {



                // AFFLICTION

                if( !GetHasSpell(7, oUser) ) nSpell = 7;

                else {

                     // HORROR

                    if( !GetHasSpell(30, oUser) ) nSpell = 30;

                    else {

                       // CHOKE

                        if( !GetHasSpell(9, oUser) ) nSpell = 9;

                        else {

                            // LIGHTNING

                            if( !GetHasSpell(35, oUser) ) nSpell = 35;

                            else {



                                // PLAGUE

                                if( !GetHasSpell(38, oUser) ) nSpell = 38;

                                else {

                                    // INSANITY

                                    if( !GetHasSpell(31, oUser) ) nSpell = 31;

                                    else {

                                        // KILL

                                        if( !GetHasSpell(32, oUser) ) nSpell = 32;

                                        else {

                                            // STORM

                                            if( !GetHasSpell(25, oUser) ) nSpell = 25;

                                            }

                                        }

                                    }

                                }

                            }

                        }

                    }

                }

            }

        }

    }



if( nSpell == GetScriptParameter(1) ) return TRUE;

return FALSE;



}

 

 

 

 

 

////////////////////////////////////////////////////////////////////////////////



/* holo_c_lspower



   Checks which light side power should be granted by holo_a_lspower.



   This conditional script can be attached to dialogue nodes so the player will

   know what they're getting. This script does NOT give the reward. The script

   holo_a_lspower must be fired afterwards.



   Run "Disciple" as the string parameter for the Disciple; otherwise, leave it

   blank for the player.



   Parameter 1 is the spell to be checked. */



////////////////////////////////////////////////////////////////////////////////







int StartingConditional() {



int nSpell;



object oUser;

if( GetScriptStringParameter() == "Disciple" ) oUser = GetObjectByTag("Disciple");

else oUser = GetFirstPC();



/* LIGHT POWERS



   SPEED = 8

   STUN = 46

   PUSH = 23

   CURE = 10



   KNIGHT SPEED = 34

   STASIS = 29

   WHIRLWIND = 27

   HEAL = 28



   MASTER SPEED = 37

   STASIS FIELD = 44

   WAVE = 26

   MASTER HEAL = 134 */



// SPEED

if( !GetHasSpell(8, oUser) ) nSpell = 8;

else {

    // STUN

    if( !GetHasSpell(46, oUser) ) nSpell = 46;

    else {

        // PUSH

        if( !GetHasSpell(23, oUser) ) nSpell = 23;

        else {

            // CURE

            if( !GetHasSpell(10, oUser) ) nSpell = 10;

            else {



                // KNIGHT SPEED

                if( !GetHasSpell(34, oUser) ) nSpell = 34;

                else {

                     // STASIS

                    if( !GetHasSpell(29, oUser) ) nSpell = 29;

                    else {

                       // WHIRLWIND

                        if( !GetHasSpell(27, oUser) ) nSpell = 27;

                        else {

                            // HEAL

                            if( !GetHasSpell(28, oUser) ) nSpell = 28;

                            else {



                                // MASTER SPEED

                                if( !GetHasSpell(37, oUser) ) nSpell = 37;

                                else {

                                    // STASIS FIELD

                                    if( !GetHasSpell(44, oUser) ) nSpell = 44;

                                    else {

                                        // WAVE

                                        if( !GetHasSpell(26, oUser) ) nSpell = 26;

                                        else {

                                            // MASTER HEAL

                                            if( !GetHasSpell(134, oUser) ) nSpell = 134;

                                            }

                                        }

                                    }

                                }

                            }

                        }

                    }

                }

            }

        }

    }



if( nSpell == GetScriptParameter(1) ) return TRUE;

return FALSE;



}

 

 

 

These will let the game say "here's what power you're going to get" in the dialogue file before it gives it to you.

 

I think that should cover the rewards for generic holocrons the Disciple doesn't have anything to say about. I've yet to look at the ones he does say about in detail, though I imagine the player would find at least one generic one before getting any of the special ones.

Holocron_Quest_Source_Scripts_v1.zip

  • Like 2

Share this post


Link to post
Share on other sites

I know this thread is ages old, but I have loved this game for as long as I can remember and after following this thread to the end I would love to see the day where it is implemented. I have some ideas if this is ever picked up again:

- The Disciple is available to either Male or Female PC pick. While he's not in the Male party, I believe that you can still talk to the Disciple as a male in Khoonda even after the battle. So even though he couldn't be in the male party, maybe we could make it possible to have the Disciple unlock the holocron's each time the player finds one (so making it available to be an item would be awesome for that).

- Place the Holocrons:

- 1 on Khoonda locked in a private room (belonging to Vrook - maybe title the room "Master Vrook's Room" ), you get access to the room after killing him and grabbing his key card, or after saving Khoonda it is given as an item with the lightsaber given to the player

- 1 in the enclave: in a locked room or in the Library with the Disciple (he makes a comment in your intro that he's looking to learn the knowledge of the Jedi, might as well give him something that he was studying with)

- 1 on Nar Shada in the private room that Ez-Kai-El has (same as Mira's room) maybe inside of a locked container that you can only get access to by killing or being trained by him

- 1 should be at the end of the vision cave found inside the caves on Koriban (at the end after battling Revan would be a great place to put "Revan's Holocron")

- 1 could be placed inside of the top of Freedom Nad and found by the Players Party

- 1 could be placed inside of Atris's room that you gain access to after defeating her (Although this could be problematic because IDK if the player could still access the Disciple after this point... maybe somewhere else inside there that you could break into inside the Hidden Academy?)

- 1 could be given to the player after killing Kavar or being trained by him (he liked the Exile WAY more than the other masters anyways)

- 1 more could be placed inside the Academy on Koriban inside the Library that is locked?

As for the points that are awarded you don't have to make up a new point system for it. The development team was able to implement 1 single, completely operational, holocron on Koriban behind the blast doors. With a high enough demolition skill you can safely get past the door without the holocron being damaged. I think you get XP for accessing the holocron/room and that should suffice as a great equivalent. (at the very least, maybe you're awarded XP for getting access to the holocrons through skill checks ie, security skill, learning from the masters, etc.)

Anyways, Those are some ideas and I hope this Content is completely restored and operational one day <3

Share this post


Link to post
Share on other sites

What of the cut lines mentioned a Holocron that could only be opened by the one it was intended for. Perhaps this was for finding the Holocron on Korriban as a Lightsider?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.