Skip to content

ArmyFarmVoidAurasv2 & UltraDarkonv2 - #134

Open
tapsilog74 wants to merge 4 commits into
auqw:Skuafrom
tapsilog74:Skua
Open

ArmyFarmVoidAurasv2 & UltraDarkonv2#134
tapsilog74 wants to merge 4 commits into
auqw:Skuafrom
tapsilog74:Skua

Conversation

@tapsilog74

@tapsilog74 tapsilog74 commented Aug 6, 2026

Copy link
Copy Markdown

ArmyFarmVoidAurasv2

Added

  • private room number so all of them stays in the same room
  • added HelpOthers function so It still helps even its already max stacks (sample : account 1 is still not done in Carnax Essence, account 2-4 will still help kill carnax)

UltraDarkonv2

  • fix respawn after death not going back to boss room

Tested on Skua 1.4.4.0
Tested on VibeSkua 1.8.3

Summary by Sourcery

Add an army-coordinated Void Aura farming script with shared private rooms and helper behavior, and improve Ultra Darkon to respawn back in the boss room after death.

New Features:

  • Introduce ArmyFarmVoidAurasv2 script to coordinate multi-account Void Aura farming with stage-based essence progression.
  • Add shared private room configuration and army synchronization for Void Aura and essence farming, including optional class and enhancement sync.
  • Allow completed accounts to remain in combat to help other army members finish their Void Aura and essence requirements.

Bug Fixes:

  • Ensure UltraDarkonv2 sets the spawn point in the boss room so players respawn correctly after death.

@sourcery-ai

sourcery-ai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Reviewer's Guide

Adds a new coordinated army farming script for Void Auras with shared private room and helper-mode behavior, and updates UltraDarkon to set a spawn point in the boss room so players respawn correctly after death.

Sequence diagram for helper-mode army stage combat in ArmyFarmVoidAurasv2

sequenceDiagram
    participant Script as ArmyFarmVoidAurasv2
    participant Ultra as CoreUltrav3
    participant ArmyGen as ArmyGeneral
    participant Core as CoreBots
    participant Player as Bot_Player

    Script->>Script: RetrieveVoidAuras(quant, useArmySync)
    Script->>Script: GetOwnStage(essenceQuant)
    Script->>ArmyGen: PublishAndGetArmyStage(Ultra, Bot, ownStage, stageSyncFile, armySize)
    ArmyGen-->>Script: stageIndex
    loop perStage
        Script->>Ultra: CheckArmyProgressBool(() => Core.CheckInventory(stage.essence, essenceQuant), syncFile)
        alt stageCompleteAndHelper
            Script->>Script: RunStageCombat(stage, isHelper:true, useArmySync, ref stageSkillsEnabled)
            Script->>Script: EnsureStageSkills(ref stageSkillsEnabled)
            Script->>Script: JoinStageMap(stage.map)
            Script->>Script: PrepareHelperPosition(stage)
            Script->>Player: SetSpawnPoint()
            Script->>Script: HelperAttack(stage)
        else normalFarmer
            Script->>Script: RunStageCombat(stage, isHelper:false, useArmySync, ref stageSkillsEnabled)
            Script->>Script: FarmStage(stage, 100, useArmySync)
        end
        Script->>Script: ResetCombatOptions()
    end
Loading

Sequence diagram for UltraDarkonv2 boss fight spawn handling

sequenceDiagram
    participant Player as Player
    participant Script as UltraDarkonv2_Fight
    participant Ultra as CoreUltrav3
    participant Core as CoreBots

    Player->>Script: Fight()
    Script->>Ultra: WaitForArmy(armySize-1, Ultra_Darkon.sync)
    Script->>Core: ChooseBestCell(boss)
    Script->>Player: SetSpawnPoint()
    Script->>Core: EnableSkills()

    rect rgb(230,230,230)
    note over Player,Script: During fight
    Player--xScript: Player dies
    Script-->>Player: Respawn at SetSpawnPoint (boss room)
    end
Loading

File-Level Changes

Change Details Files
Ensure UltraDarkon players respawn back at the boss room after death by setting the spawn point when the fight starts.
  • Call SetSpawnPoint() on the player immediately after choosing the best cell for the boss.
  • Keep the rest of the fight setup (army wait and skill enabling) unchanged.
Ultrasv2/UltraDarkonv2.cs
Introduce ArmyFarmVoidAurasv2, an army-aware Void Aura farming script with private-room coordination, stage sync across essences, and helper behavior for finished accounts.
  • Add configurable options for target Void Aura quantity, army size, shared private room number, army sync toggles, helper mode, and class/enhancement presets.
  • Implement a staged essence progression pipeline (10 essence maps) with per-stage sync so all army members farm the same essence at a time.
  • Add helper-mode logic so accounts that have enough essence or Void Auras remain in combat to assist slower accounts, including spawn-point setting and positioning helpers onto the correct monster cell.
  • Integrate with Ultra/ArmyGeneral sync utilities to coordinate stage indices, progress files for Void Auras and essences, and class synchronization.
  • Set up private rooms with a shared room number across accounts, validating the configured number and falling back to a generated room when invalid.
  • Centralize combat orchestration (map joins, target selection by name or MapID, aggro options, and skill toggling) so both solo and army modes reuse the same stage combat routines.
  • Calculate quest turn-in count based on minimum essence stacks and repeatedly complete quest 4432 until the desired Void Aura quantity is reached.
Army/ArmyFarmVoidAurasv2.cs

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue, and left some high level feedback:

  • The RunStageCombat method takes a useArmySync parameter that is never used; consider removing it from the signature and call sites to keep the API minimal and avoid confusion about its purpose.
  • The essence quantity target 100 is hard-coded in multiple locations (e.g., essenceQuant = 100 in RetrieveVoidAuras and the FarmStage(stage, 100, ...) call); consider extracting this into a single named constant to reduce duplication and make future tuning easier.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The `RunStageCombat` method takes a `useArmySync` parameter that is never used; consider removing it from the signature and call sites to keep the API minimal and avoid confusion about its purpose.
- The essence quantity target `100` is hard-coded in multiple locations (e.g., `essenceQuant = 100` in `RetrieveVoidAuras` and the `FarmStage(stage, 100, ...)` call); consider extracting this into a single named constant to reduce duplication and make future tuning easier.

## Individual Comments

### Comment 1
<location path="Army/ArmyFarmVoidAurasv2.cs" line_range="246-248" />
<code_context>
+        FarmStage(stage, 100, useArmySync);
+    }
+
+    private void EnsureStageSkills(ref bool stageSkillsEnabled)
+    {
+        if (stageSkillsEnabled || !Bot.Config!.Get<bool>("DoEnh"))
+            return;
+
</code_context>
<issue_to_address>
**issue (bug_risk):** Skill enabling is incorrectly gated by the `DoEnh` option, which can disable combat skills when enhancements are turned off.

Because this method returns when `DoEnh` is false, `Engine.EnableSkills()` is never called if the user disables enhancements, so stage combat skills won’t run and the bot may idle. Please decouple enhancement application from skill enabling (e.g., remove the `DoEnh` check here or introduce a separate config option for skill usage) so turning off enhancements doesn’t also disable combat skills.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +246 to +248
private void EnsureStageSkills(ref bool stageSkillsEnabled)
{
if (stageSkillsEnabled || !Bot.Config!.Get<bool>("DoEnh"))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (bug_risk): Skill enabling is incorrectly gated by the DoEnh option, which can disable combat skills when enhancements are turned off.

Because this method returns when DoEnh is false, Engine.EnableSkills() is never called if the user disables enhancements, so stage combat skills won’t run and the bot may idle. Please decouple enhancement application from skill enabling (e.g., remove the DoEnh check here or introduce a separate config option for skill usage) so turning off enhancements doesn’t also disable combat skills.

@l0newolf12

Copy link
Copy Markdown
Collaborator

go to the discord, in the #skua-script-reports channel, make a post and @tato if you want this merged. make sure u explain why and such

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants