Add Good REP 2 (Loyalty Rewarded) farm script#90
Open
Conversation
Faster Good rep method using quest 1952 (Loyalty Rewarded, Wounds Salved) in PoisonForest. Automatically runs Manor + PoisonForest story prerequisites if not yet completed. Uses RegisterQuests + private room to stay in one instance and avoid room-switching. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Reviewer's GuideAdds a new Good reputation farming script that uses quest 1952 in PoisonForest, automatically runs Manor/PoisonForest prerequisite storylines if needed, and optimizes for single-room, boosted Good rep farming up to a target rank. Sequence diagram for GoodRep2 DoGoodRep2 farming flowsequenceDiagram
actor Player
participant Script as GoodRep2
participant Bot as IScriptInterface
participant Core as CoreBots
participant Farm as CoreFarms
participant PForest as PoisonForest
Player->>Script: ScriptMain(bot)
Script->>Core: SetOptions()
Script->>Script: DoGoodRep2(rank)
Script->>Farm: FactionRank(Good)
alt Rank already >= target
Script-->>Core: SetOptions(false)
Core-->>Player: Script ends
else Rank below target
Script->>Core: isCompletedBefore(1955)
alt Prerequisites not completed
Script->>Core: Logger(Running prerequisites...)
Script->>PForest: StoryLine()
end
Script->>Farm: FactionRank(Good)
alt Rank now >= target
Script-->>Core: SetOptions(false)
else Continue farming setup
Script->>Core: ChangeAlignment(Good)
Script->>Core: EquipClass(Farm)
Script->>Core: PrivateRooms = true
Script->>Core: SavedState(true, PoisonForest)
Script->>Farm: ToggleBoost(Reputation)
Script->>Core: Logger(Farming Good rank...)
Script->>Core: RegisterQuests(1952)
loop Until rank >= target or Bot.ShouldExit
Script->>Core: CheckSaveState()
alt Save state needed
Script->>Core: ExecuteSaveState()
end
Script->>Core: HuntMonster(PoisonForest, Burning Loyalist)
Script->>Farm: FactionRank(Good)
end
Script->>Core: CancelRegisteredQuests()
Script->>Farm: ToggleBoost(Reputation, false)
Script->>Core: SavedState(false)
Script->>Core: PrivateRooms = false
Script->>Core: SetOptions(false)
end
end
Core-->>Player: Script complete
Class diagram for new GoodRep2 farming scriptclassDiagram
class GoodRep2 {
+IScriptInterface Bot
+CoreBots Core
-static CoreFarms _Farm
-static CoreAdvanced _Adv
-static PoisonForest _PForest
+CoreFarms Farm
+CoreAdvanced Adv
+PoisonForest PForest
+void ScriptMain(IScriptInterface bot)
+void DoGoodRep2(int rank)
}
class IScriptInterface {
<<interface>>
+bool ShouldExit
+static IScriptInterface Instance
}
class CoreBots {
+static CoreBots Instance
+void SetOptions(bool changeToDefaults)
+void SetOptions()
+void ChangeAlignment(Alignment alignment)
+void EquipClass(ClassType classType)
+void Logger(string message)
+bool isCompletedBefore(int questId)
+bool PrivateRooms
+void SavedState(bool enable)
+void SavedState(bool enable, string map)
+bool CheckSaveState()
+void ExecuteSaveState()
+void RegisterQuests(int questId)
+void CancelRegisteredQuests()
+void HuntMonster(string map, string monster)
}
class CoreFarms {
+int FactionRank(string faction)
+void ToggleBoost(BoostType boostType)
+void ToggleBoost(BoostType boostType, bool enable)
}
class CoreAdvanced {
}
class PoisonForest {
+void StoryLine()
}
class Alignment {
<<enumeration>>
Good
}
class ClassType {
<<enumeration>>
Farm
}
class BoostType {
<<enumeration>>
Reputation
}
GoodRep2 --> IScriptInterface : uses
GoodRep2 --> CoreBots : uses
GoodRep2 --> CoreFarms : uses
GoodRep2 --> CoreAdvanced : uses
GoodRep2 --> PoisonForest : uses
CoreBots ..> Alignment : uses
CoreBots ..> ClassType : uses
CoreFarms ..> BoostType : uses
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The prerequisite handling comment mentions running both Manor and PoisonForest storylines, but only
PoisonForest.StoryLine()is actually invoked; either call the Manor storyline explicitly or update the comment to reflect the real behavior to avoid confusion. - The script mutates global-like settings (
PrivateRooms,SavedState, reputation boost) without protection; consider wrapping the main farming logic in atry/finallyso these settings are reliably restored even if the script exits early or throws.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The prerequisite handling comment mentions running both Manor and PoisonForest storylines, but only `PoisonForest.StoryLine()` is actually invoked; either call the Manor storyline explicitly or update the comment to reflect the real behavior to avoid confusion.
- The script mutates global-like settings (`PrivateRooms`, `SavedState`, reputation boost) without protection; consider wrapping the main farming logic in a `try/finally` so these settings are reliably restored even if the script exits early or throws.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
- Clarify prerequisite comment: PForest.StoryLine() internally calls Manor.StoryLine(), so both storylines are covered by the single call - Wrap farm loop in try/finally to guarantee PrivateRooms, SavedState, and rep boost are always restored on early exit or exception Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove PrivateRooms (handled by CBO settings automatically) - Remove ChangeAlignment (quest 1952 gives Good rep regardless) - Remove try/finally (not used in other rep farm scripts) - Keep SavedState with PoisonForest as the return-to map Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Farm/REP/GoodRep2.cs, a faster Good reputation farm using quest 1952 (Loyalty Rewarded, Wounds Salved) in PoisonForestRegisterQuestsfor background accept/complete; kills Burning Loyalist in a tight loopTest plan
Generated with Claude Code
Summary by Sourcery
Add a new Good reputation farming script that optimizes REP gain using the Loyalty Rewarded quest in PoisonForest while auto-completing required story prerequisites.
New Features:
Enhancements: