DSW: The Baker and the Bread Thief [Miraclestone]

View and discuss completed claims
Post Reply
User avatar
Rakanishu
Lead Dev
Posts: 886
Joined: Thu Sep 15, 2016 9:16 pm

DSW: The Baker and the Bread Thief [Miraclestone]

Post by Rakanishu »

From roerich:

Alek, the baker in DSW, asks you to catch a thief who stole a sack of bread. He says they chased them and saw them run towards the refugee caverns under the city. When the player finds the sack hidden somewhere, the scared thief will forcegreet when the player takes the bread (new unique "Sky_qRe_DSW04_Bread" ingredient) inside, claiming hunger and poverty. The player can either:

1. Lead them to the guard barracks to be arrested. (Minor gold reward for bringing in a criminal. Disp loss for Redguard factions)
2. Return the bread but promise to tell Alek that you just found the sack stuffed in an alley somewhere. (Disp boost thief, 5 pieces of bread reward)
3. Offer to pay the baker for the bread (40 gold, highlighting their poverty (and tes iii's broken economy)) (disp boost Redguard factions, no reward from baker)
4. Lie and say you couldn't find neither bread nor thief. (No reward, disp boost thief)

Extra Credit: If the player has generic SHOTN bread in their inventory, present one more option where the player can tell Alek that they already have the bread, which pisses him off (disp loss but can continue the quest).

Please use the prefix Sky_qRe_DSW04_ for everything.

Miraclestone
PT Modder
Posts: 60
Joined: Fri Jun 09, 2017 4:29 am

Post by Miraclestone »

Claimed for Showcase

Miraclestone
PT Modder
Posts: 60
Joined: Fri Jun 09, 2017 4:29 am

Post by Miraclestone »

Submitting for review
Attachments
Sky_qRe_DSW04_Quest.ESP
(54.83 KiB) Downloaded 76 times

User avatar
Rakanishu
Lead Dev
Posts: 886
Joined: Thu Sep 15, 2016 9:16 pm

Post by Rakanishu »

Moving to Reviewing

User avatar
Rakanishu
Lead Dev
Posts: 886
Joined: Thu Sep 15, 2016 9:16 pm

Post by Rakanishu »

Merged into DS section file.

General:
- No dirty entries is great.
- Good ideas and content, but there were a lot of unfinished/unused/missing entries + spelling/punctuation errors.
- The "stolen bread" topic's organization was difficult to follow.

Journal:
- Reworked journal entries after 70.
- Added journal entry for Alek's death.
- Updated initial journal entries to follow the SHOTN format for non-faction quests (that can be accepted/rejected by player):
* I split the acceptance entry into two entries: 1 "introductory" entry with "Quest Finished" and one "accepted" entry with "Quest Restart"
* Moved the "rejected" entry from 1st entry to 2nd, gave it the "Quest Finished" check
- Added missing "Quest Finished" checks to various entries.
- Deleted the original last entry and associated dialogue entries since I don't think the player should be, in this quest, permanently gated due to a low disposition.

NPCs/Creatures:
- Added a new NPC Sky_qRe_DSW04_RhalanPr which is a Rhalan prisoner variant.

Scripting/Dialogue Results:
- Sky_qRe_DSW04_Rhalanscript_sc
* GetDeadCount is a very slow function in larger save files and shouldn't be used. Use the "OnDeath" function when you're checking for an NPC's death in their own script. Compare a global var when you're checking for an NPC's death in a different script. I used OnDeath here.
* CellChanged only fires for the player, so the "player->" portion is unnecessary even though it's in an NPC's script.
* "->" Spacing: "Sky_qRe_DSW04_Rhalan -> ..." should be "Sky_qRe_DSW04_Rhalan->..."
* You don't need an NPC reference if the function is being called from that NPC's script.
* Modified script to emulate prisoner escort behavior in SHOTN bounty quests: prisoner stops following after entering prison.
* Added a MenuMode check.
* Added GetDisabled checks so Rhalan wouldn't be enabled/disabled repeatedly.
* Added a SetDelete 1 check to delete Rhalan after he's been disabled for good.
* Renamed script to Sky_qRe_DSW04_Rhalan_sc to match SHOTN convention.
- Sky_qRe_DWS04_Breadsack_sc
* Added additional check so ForceGreeting doesn't fire while inventory menu is open.
* Added GetDisabled checks.
* Added a SetDelete 1 check to delete the sack after it's been disabled for good.
* Renamed script to Sky_qRe_DSW04_Sack_sc to match SHOTN convention (Object/NPC Sky_qRe_DSW04_ID has script named Sky_qRe_DSW04_ID_sc).
- Sky_qRe_DSW04_RhalanPr_sc
* Added a new script that controls enabling and disabling of Rhalan prisoner NPC.
- Sky_qRe_DSW04_Alek_sc
* Added a new script that handles an OnDeath check for Alek and sets his mercantile discount every cellchange (since the change resets after a few days).
- Sky_qRe_DWS04_BreadCheck_sc
* Added a new script that checks how much bread is in the player's inventory and in the sack when the player talks to Rhalan (edge case: player can put bread on the ground and it'll still count as removing bread from the sack). It's called from Rhalan's G1 dialogue results.
* Added new global Sky_qRe_DSW04_BreadCounter_glb that is used in this script.
- Deleted all Rhalan->PositionCell mechanics from Alek's dialogue results since there's a unique NPC now.
- This is minor, but I recommend avoiding the use of commas and only using quotations when absolutely necessary (anything with a space in its ID, cell name, topic name, etc.). Errors can occur if commas aren't used consistently in commands and don't otherwise offer any benefits.
- Added brackets to choices in Rhalan's entry in "let me go" topic to indicate that they're actions rather than dialogue.

Dialogue:
- Reworked and reorganized the "stolen bread" topic
- Moved all of Rhalan's "my bread" dialogue to his initial G1 ForceGreeting to ensure that edge cases with some bread being left in the bag, placed on the ground, etc. are all captured before advancing the quest.
- Moved all G5 entries from the "KARTHWASTEN" placeholders to "DRAGONSTAR WEST".
- Added new G5 entry for Alek that fires if the player originally declined to help him (Journal == 2).
- Added new G5 entries for Alek since he doesn't have anything after deciding what to do with him.
- Moved the G5 entry filtered for Redguard Guards to the "stolen bread" topic. It's probably safer to force the player to choose quest topics when it comes to generic NPCs since there's a potential for G1/G5 collisions.
- Removed "PC Rank 0" requirements for Choice #15 entries in "stolen bread" topic.
- Added missing dialogue to two blank entries in "let me go" topic.
- Changed "Rhanin" references to "Rhalan".
- Consolidated the entries that had the same dialogue with different skill checks into single entries with if/elseif checks in the dialogue results.

Post Reply

Return to “Completed”