Solarismin's Showcase

8 posts / 0 new
Last post
solarismin's picture
solarismin
Quest Developer
Joined:
2017-06-23 06:17
Last seen:
10 hours 48 min ago

I have implemented the quest https://www.tamriel-rebuilt.org/claims/oe-misc-quest-hlarsis-v-alju-deekus as my showcase. As per the quest planning documenet there are four ways to complete the quest. Some important topics I would like feedback in.

How does the dialogue feel?

How are the rewards? I remember in the Hlaalu Thirr file buying a slave costs 1000 gold, so that is the amount I went with.

Are the options used to turn Hlarsis in okay for gameplay reasons? I know in real life you can't just turn in a person like that.

How are the options used in the attempt to convince the Ministry of Justice to give back the slave? I would imagine that she is trained in bullshit dectecting so I made this path in the quest very hard and almost impossible to achieve.

That is it! I hope you have fun testing my showcase.

AttachmentSizeDate
Binary Data Clean_TR_m3_OE_HlarsisVAlju-Deekus.esp31.08 KB2019-08-12 00:35
Dillonn241's picture
Dillonn241
Interior DeveloperQuest Developer
Joined:
2017-10-17 19:03
Last seen:
1 month 4 days ago

I did some thorough digging through the CS and a little bit of playtesting. I found quite a few problems with dialogue, and several new lines were needed to make others not appear at the wrong time. The new lines are simply suggestions, but I think they work well.

Note that I didn't test any of the filter changes, so those need some thorough testing once they are implemented.

 

General
- File relies on TR_Data.esm as a master. Remove this with Wrye Mash.
- File is not clean. Changes to the topic Favor and all of its entries should be removed, Rathys and Calsa's greetings in Greeting 5, and most Cell and NPC edits (I assume everything except Mols Hlarsis and Alju-Deekus is dirty? Those two are only to add the scripts. Can't imagine this quest should be editing cells or the other NPCs.)

Journal
- Need to check for Mols' death in his script and end the quest if he dies (only if journal >= 10).
    - Index 100: Mols Hlarsis is dead.
- Have an index 5 for if you refuse to help Mols in the beginning.
    - Index 5: I met Mols Hlarsis inside Ebon Tower's Curia. He asked me to seek retribution on Alju-Deekus, an Argonian slave of his who blinded him in one eye and escaped to Old Ebonheart, becoming a free citizen. I refused to help him.
    - Mark this as Finished and index 10 as Restart.
- Mark indices 60 through 90 as Finished.

Index 0: Mark Quest Name.
Index 10:
    - "Hlarsis' former Argonian slave who escaped and assaulted him, which resulted Hlarsis becoming blind in one eye" -> "an Argonian slave of his who blinded him in one eye and escaped to Old Ebonheart, becoming a free citizen."
    - "If I can not find Alju-Deekus whereabouts, Hlarsis recommends me asking his lawyer, Gnaea Ellerian, for them" -> "If I have trouble finding Alju-Deekus, Hlarsis recommends that I ask his lawyer, Gnaea Ellerian"
    - "town's" -> "city's"
    - "Barristers'" -> "Barristers"
Index 20: "Mol" -> "Mols"
Index 30: "the Old Ebonheart's" -> "Old Ebonheart's"
Index 40:
    - "In attempt" -> "In an attempt"
    - Add period at the end.
Index 60: Add period at the end.
Index 70 and 80: "welcomed" -> "welcome"

Dialogue

Greeting 5
- "What do you..."
    - Filter for journal = 0 (makes index 5 possible).
    - "prehaps" -> "perhaps"
- "Unless you want..."
    - Remove addtopic.
- Add response to Mols Hlarsis filtered for journal = 5: "Have you come back to help me enact my retribution?"

Alju-Deekus
- Add journal >= 10 filters to the four lines with nothing but an ID filter.
- Add response for Mols Hlarsis filtered for journal < 10: "Yes, that is the name of the slave."
- Add response for Mols Hlarsis filtered for journal = 50: "I'll have to buy another slave soon to replace him."
- Add response for Mols Hlarsis filtered for journal = 60: "You have some nerve mentioning that name."
- Add response for Mols Hlarsis filtered for journal = 70: "He got what he deserved. I'll buy a replacement soon enough."
- Add response for Mols Hlarsis filtered for journal = 80: "He has plenty of work in store for him back at the plantation."
- Add response for Gnaea Ellerian filtered for journal = 100: "Mols Hlarsis is dead, so I suppose we can put this business behind us."
- Add response for Alju-Deekus filtered for journal = 100: "I did not wish for the death of my former master, though it eases my mind knowing he can no longer hunt me down."
- Add response for Belisatha Mede filtered for journal = 100: "Hlarsis is dead, so why are you asking?"
- "Yes, that is my client. You can...": Remove space between -> and Additem.
- "Yes, I gave you the key already. He is in the basement.": Change filter to = 30.
- "You're going to help him in his case against Hlarsis? Thank you .":
    - Change filter to journal = 40.
    - Remove space before period.
- "I heard Hlarsis was arrested. I'm sure he is happy about this.":
    - Filter for journal = 60.
    - "he" -> "Alju-Deekus"
- "I can't believe the court...": Need to duplicate this to filter for journal = 20.
- "I heard from him you were able to convience..." (x2): "convience" -> "convince"
- "I'm not going down without a fight!"
    - Also do SetFight 100
    - Combine the duplicate entry filtered for Choice 11 with this one.
- "Did you tell...": Combine Choice into one function.
- "I heard he turned up dead. How strange": Add "..." at the end for consistency with duplicate line above.
- "Thank you for informing us on this.": "on this" -> "of Hlarsis' plans"
- "Why should he...": "Morrowinds" -> "Morrowind's"

retribution
- Filter for Mols Hlarsis on all entries without an ID filter.
- Add response to Mols Hlarsis filtered for journal = 5: "What will it be, outlander?" Choice "Yes.", 2, "No.", 3
- "Yes outlander, retribution...":
    - "He fought back so hard that he managed to escape and knocked out my vision in my left eye!" -> "He fought back so hard that he blinded me in my left eye and managed to escape!"
    - "trial bring" -> "trial to bring"
    - Filter for journal = 0 (makes index 5 possible).
    - AddTopic "Alju-Deekus" here instead of when you accept the quest in case you decline.
- "However, it seems...": "interestred" -> "interested"
- "Great! I knew...": "S'wit" -> "s'wit"
- "Unfortunatly I do...":
    - "Unfortunatly" -> "Unfortunately"
    - "get it out her" -> "get it out of her"
    - Remove AddTopic (see above). It was a typo by the way and would have done nothing.
- "Well, that's a..."
    - Journal 5 here. This will allow you to implement the alternate response when you ask the topic again.
- (All entries filtered by Choice and journal = 10): Change journal filter to >= 10.
- "And why should...": Insert comma before "outlander".
- "You don't know...": Insert comma before "outlander".
- "Fine. If you...": Add periods to choices.
- "You don't have...": Period at the end.
- "Great! Very well...": No idea what StartScript GetPCGold is doing, but it's not necessary for a simple removal of gold like this.
- "I heard... I'm still...": "would of" -> "would have"
- "I heard... Get out...": "back stabber" -> "backstabber"

Scripts

HlarsisScript
- Rename to TR_m3_NPC_OE_Hlarsis.

TR_m3_Alju-Deekus
- Rename to TR_m3_NPC_OE_Alju-Deekus.
- Should also disable him if journal = 20.

Dillonn241's picture
Dillonn241
Interior DeveloperQuest Developer
Joined:
2017-10-17 19:03
Last seen:
1 month 4 days ago

Answering your questions:
1. Besides the typos and sentence flow changes above, the dialogue is solid. I noticed that Alju-Deekus spoke in first person, and I'm uncertain how often this is done. I don't believe it is wrong, especially for a Hlaalu slave. I got the impression too that Hlarsis was overusing the word "outlander". He does come off as a generally not nice person though, so it works.
2. Alju-Deekus' reward (i.e. nothing) is realistic but he could do better. Maybe he tells you where some good loot is on his old plantation (which one is it supposed to be by the way?) The rewards from Hlarsis make sense and backstabbers get nothing.
3. I did something similar for the quest Cutthroat Bureaucracy. Morrowind's legal system appears to be "guilty if there's probable cause". In any case, I can't think of a better way to implement this in the quest.
4. This part is well written in my opinion. More options with different responses and varying skill check requirements would be interesting but not necessary.

solarismin's picture
solarismin
Quest Developer
Joined:
2017-06-23 06:17
Last seen:
10 hours 48 min ago

New file implementing Dillonn241 suggestions.

Dillonn241's picture
Dillonn241
Interior DeveloperQuest Developer
Joined:
2017-10-17 19:03
Last seen:
1 month 4 days ago

Great job implementing the changes I suggested, though you missed a few. The quest is very playable at this point and the dialogue nearly error free. I came across a few special cases that need to be accounted for. Fortunately, none are quest breaking.

If you get all of these changes correctly implemented, I'll recommend you for quest dev! I'll take a final look after that and do more playtesting, then we can get this merged hopefully before the next release!

 

General
- Again, the file relies on TR_Data.esm. Remove this using Wrye Mash (and delete TR_Data from your computer!?)
- File is still not clean. Remove all changes to cells and to Gnaea Ellerian and Aurelia Draconis, the Favor topic, and Calsa Attius' greeting in Greeting 5. I suggest using TESAME, but you can also use the Construction Set itself by clicking Details with the esp highlighted in the Data Files window.

Journal

Index 10: "Barristers'" -> "Barristers"
Index 50: Mark as Finished. Not ideal, but you can theoretically kill Alju-Deekus instead of getting index 90, leaving the quest stuck in your journal. Consider index 90 an optional epilogue.
Index 100: Mark as Finished.

Dialogue

Greeting 5
- "Have you come back...": Remove addtopic as it's impossible to get this line without the index 0 line which does the same addtopic.
- There are two fairly bad situations that occur if you kill Alju-Deekus before the quest starts or without agreeing to work for Mols. Mols asks how his retribution is going and it's like you accepted the quest. One fix for this is to add two more greetings for him filtered for journal = 45 and a new local variable, questState. In this way you don't have to disable the quest or anything like that.
    - If questState = 0: "Strange. I came to Old Ebonheart seeking retribution against an Argonian named Alju-Deekus, a slave of mine who escaped and found freedom here. I've received news of his death; not by my hand mind you. And here you are, smelling of lizard blood. Don't tell me if it was you, but take this gold all the same. If you are ever in the area, feel free to stop at my plantation."
        addtopic "retribution"
        addtopic "Alju-Deekus"
        Journal "TR_m3_OE_HlarsisvAlju-Deekus" 70
        "player"->AddItem, "gold_001", 100
    - If questState = 1: "You came back and with something to show for it! I smell Argonian blood on you, outlander. I'm glad to see that some foreigners still respect our laws and traditions. Please, take this gold I was going to offer you. If you are ever in the area, feel free to stop at my plantation."
        Journal "TR_m3_OE_HlarsisvAlju-Deekus" 70
        "player"->AddItem, "gold_001", 100
     - For this to work, questState needs to be added as a short variable to Hlarsis' script and you have to set questState to 1 when you set journal to 5 and set questState to 2 when you set journal to 10. Make sure to put these greetings above "How goes my retribution, outlander?"

Alju-Deekus
- ""I'll have to...": Remove quote at the beginning.
- "I heard from..." filtered for journal = 50:
    - This line makes no sense for Gnaea at this stage. Alju-Deekus didn't know Hlarsis gave up so he couldn't have told her. Also, if you didn't talk to her previously, she will never tell you where Alju-Deekus is hiding and doesn't give you the key to the basement anymore, making index 90 harder to achieve than it should be.
    - To fix this, I propose a short dialogue where you ask her for the key:
    - Change this line to "Truly, Hlarsis has given up? That's great news! You should go down to the basement and tell Alju-Deekus yourself."
    - Results for this line:
        if ( GetItemCount, "TR_m3_OE_key_barristers" > 0 )
            Choice "I need a key." 1
        else
            Goodbye
        endif
- Add response for Gnaea filtered for choice = 1: "Oh, of course! Here it is."
    - Results:
        Removeitem "TR_m3_OE_key_barristers", 1
        "player"->Additem "TR_m3_OE_key_barristers", 1
- "Yes, that is my client. You can...":
    - Add to results before player additem:
        Removeitem "TR_m3_OE_key_barristers", 1
- "I heard from..." filtered for journal = 90:
    - The change to the other response makes this one odd as well in the most common case since she already heard from you.
    - Change line to "You've done a great deed convincing Hlarsis to give up. Alju-Deekus is happier than any Argonian I've seen in a long time." (can modify the end, but I think it reinforces the simple reward of doing good)
- "I'm not going down without a fight!": Should still combine both of these since they are identical (or at least add SetFight to the other one). I suggest using Choice 3 and change any references to 11 to 3. By the way, the Choice options only need to be different per person, not through the whole topic. So Choice 12 can become 4 and Belisatha's Choices can change to her own 1, 2, 3, and 4.
- "Yes, that is my client. You can...": Remove space between -> and Additem.

Scripts

- Make sure there are spaces between the parentheses and the text within them: if ( OnDeath == 1 ). 1 instance in Alju-Deekus' script and 3 in Hlarsis'.

TR_m3_NPC_OE_Hlarsis
- OnDeath journal check can be >= 5, since it's relevant even if you declined the quest.
- Can optimize a bit (reduce average number of if checks by having OnDeath and CellChanged at the top; they are only true for 1 frame):
Begin TR_m3_NPC_OE_Hlarsis

if ( OnDeath == 1 )
    if ( GetJournalIndex "TR_m3_OE_HlarsisvAlju-Deekus" >= 5 )
        Journal "TR_m3_OE_HlarsisvAlju-Deekus" 100
    endif
endif

if ( CellChanged == 1 )
    if ( GetJournalIndex "TR_m3_OE_HlarsisvAlju-Deekus" >= 50 )
        if ( GetDisabled == 0)
            Disable
        endif
    endif
endif
End

solarismin's picture
solarismin
Quest Developer
Joined:
2017-06-23 06:17
Last seen:
10 hours 48 min ago

New file implenting Dillonn241's changes.

AttachmentSizeDate
Binary Data Clean Clean_TR_m3_OE_HlarsisVAlju-Deekus.esp31.04 KB2019-08-14 04:30
Dillonn241's picture
Dillonn241
Interior DeveloperQuest Developer
Joined:
2017-10-17 19:03
Last seen:
1 month 4 days ago

With the exception of one typo-caused error, the quest works without any issues that I can find. The writing is solid, and overall I feel that this quest will make a good addition to the game.

There are a few last changes I want to make, but I will make them myself for the ready-to-merge file since they are so minor and won't show any more how well you can implement the quest. In particular, there are a few issues I pointed out twice and still weren't fixed. Not sure whether you disagree with the changes or simply missed them, but I will be making them in the review version anyway.

The typo-caused error was addtopic "Alju-Deeks" in the topic retribution, which prevented the quest from starting. Worked in OpenMW, but vanilla fails to show the Continue when addtopic is given an invalid topic name. In general, try to give the quest a quick run through in both engines before submitting a claim to catch these quest-breaking bugs.

With all that out of the way, I definitely recommend solarismin for promotion to quest dev!

Jani's picture
Jani
ModeratorInterior DeveloperQuest Developer
Joined:
2017-10-08 01:57
Last seen:
3 days 16 hours ago

Promoted. I've also also assigned you to the claim, in case you'd like to upload new files.