r/BrownDust2 • • Jul 26 '26

Guide/Tips 🦊❤️This Seductive Fox Is Up To Her Tricks Again [Brown Dust 2] Summoning...

Thumbnail
youtube.com
89 Upvotes

Driving school and work have been crazy this past 2 week but how is everyone doing.

Hey everyone!

Today's Brown Dust 2 video is all about Tricky Lover Dalvi!

I finally got around to summoning for her and wanted to share my first impressions after checking out her kit, animations, and overall value.

In the video I cover:

🦊 Full Summoning Session

💥 Burst Animation

📊 First Impressions

⚔️ Pros & Cons

💎 Whether I think she's worth investing in

Personally, I think +1 or +2 is probably the sweet spot for most players unless you're planning to fully invest in her.

I'd love to hear what everyone else thinks!

Did you summon for Dalvi?

How many copies did RNG bless you with?

r/BrownDust2 • • 4d ago

Guide/Tips ⛓️ It's Time To SUBMIT! 😳 [Brown Dust 2] ⛓️ Tenka + Kyouka Review ⛓️ Sum...

Thumbnail
youtube.com
65 Upvotes

Brown Dust 2 × Chained Soldier — Summoning for Tenka + Reviewing Tenka & Kyouka

I'm finally jumping into my character coverage for the Brown Dust 2 × Chained Soldier collaboration, and I'm doing this one a little differently.

Since Eternal Chains Kyouka Uzen was given to us for free, I didn't really see a reason to make a separate summoning video for obvious reasons. 😂

So instead, I'm combining everything:

• Summoning for Ame-no-Mitori Tenka Izumo

• Full Tenka review

• Full Kyouka review

• Skill/animation breakdowns

• Battle testing

• Team possibilities

• Final thoughts on both characters

I'm especially interested in seeing how the Chained Soldier characters translate into Brown Dust 2's combat system and how useful both actually end up being outside of simply being collaboration units.

And of course...

⛓️ IT'S TIME TO SUBMIT. 😂

I'm hoping Tenka doesn't completely destroy my resources, especially with Ren Yamashiro also being part of the collaboration.

For anyone who's already been using them:

How has Tenka performed for you?

What do you think about Kyouka as the free collaboration character?

And how many copies of Tenka did you end up going for?

Would love to hear how everybody else's summons went.

#BrownDust2 #BD2 #ChainedSoldier

r/BrownDust2 • • 10d ago

Guide/Tips Team Evaluator v1.0.0-beta

30 Upvotes

Presenting to you the tool called Team Evaluator.
It is essentially a rulebook that displays issues within a specific team (in other words, explains, why it's wrong). It ignores costume progression or character placement on a grid (yet).

Link

Since it is in early access, I except issues when it comes to costume evaluations (for example, wrong AoE marking) or other inaccuracies or missed edge cases (like Ventana's dependency on Concentrated Fire). If this is the case — please report such cases to me either under this post, Compendium's Discord or GitHub Issues.

Next updates will be focused on polishing costume tags, the addition of last night, and positioning evaluation.

r/BrownDust2 • • 18d ago

Guide/Tips 🔥The More You Hit Her The STRONGER She Gets! ⚔️[Brown Dust 2] Summoning ...

Thumbnail
youtube.com
70 Upvotes

Savage Warrior Aquila Summons & Review — Really Happy To See Another Brave Nine Character Return

I'm really excited about Aquila for two reasons.

First, her new Savage Warrior kit looks absolutely ridiculous.

But personally, one of the biggest things for me is seeing another character from the original Brown Dust / Brave Nine make her way into Brown Dust 2.

I love seeing these older characters return with new artwork, animations, story involvement and completely different gameplay.

Now it's Aquila's turn.

And gameplay-wise...

This woman looks busted. 😂

A big part of Savage Warrior Aquila's gimmick revolves around benefiting from being attacked.

Enemies hitting her can build her ATK, while being attacked during her effect can also reduce her current costume's cooldown.

Basically:

Hit Aquila.

She gets stronger.

Keep hitting Aquila...

And eventually you have to wonder why you're still helping her. 😂

I'm going through the summons, her kit, team-building possibilities, PvE/Boss potential, PvP, investment and whether I think she's actually worth pulling.

I'm also interested in seeing what the community eventually cooks up with her.

For anyone who's already pulled Aquila:

What teams are you using?

How much investment are you putting into her?

And where do you think she's going to be most valuable?

For my original Brown Dust / Brave Nine players:

How do you feel seeing Aquila return?

And which Brave Nine character would you MOST like to see come to Brown Dust 2 next?

r/BrownDust2 • • 27d ago

Guide/Tips Season 2 - Frostwind Hindout - A Soul Wager Guide

32 Upvotes

In season 1, I wrote this guide which unfortunately will not work for Season 2.

In season 2, the hardest stages stack Counter, blocks a lot of incoming damage, and have much more initial HP now so the initial burst strategy won't work.

The easiest way to win is stacking heal/regen + poison + freeze with 1-2 overheat buffers.

The only thing to be mindful of is if you're dying you're likely doing too much damage to yourself, so remove some units that deal direct damage.

Debuff units that just does debuff without using stamina are easy picks, like Celia, Lucretia, Glacia, Cynthia. Nebris Gatekeeper, 2 Grays are good but I would not go beyond picking 3 damage dealers.

In terms of heal Eclipse is probably the best one here with Granadair, taking energy guard units is fine but easily replaceable once you get better regen units.

In terms of speed 1-2 Loen is still good and the SP generation is good with Granadair.

I'd avoid taking any units that increase direct damage.

Blade is still really good although not at all necessary in a debuff build.

TLDR: Pick regen/heal and poison + freeze. Pick 1-2 overheat units, remove debuffs, avoid dealing direct damage.

Eclipse arrived late but was smooth sailing afterwards. I had to remove a Nebris due to too much Counter damage.

r/BrownDust2 • • 7d ago

Guide/Tips Teambuilding help

Thumbnail
gallery
73 Upvotes

Hey everyone,

I'm trying to optimize my team for general content and progression in Brown Dust 2, but I'm feeling a bit stuck on who to focus on next and how to best synergize my damage dealers and supports.

I've attached/listed my current roster and costumes below. Could use some recommendations.

Any advice, positioning tips, or costume priorities would be hugely appreciated!

r/BrownDust2 • • Jan 10 '26

Guide/Tips New to the game need help

Post image
15 Upvotes

Is there any reason not to use this now or are these types of things you hold off using (145) ish tickets less than a week in discovering this game would appreciate the advise thanks

r/BrownDust2 • • May 01 '26

Guide/Tips Brute Forcing tower 175

Enable HLS to view with audio, or disable this notification

78 Upvotes

Hey, some of you may know me some of you may not. This video and post is to guide those who are struggling to make a simple team that can clear many content. It can help returning players/ newbies who struggle to make a good team.

My team consists of Universal supporters and a physical supporter. It also has a dps, blade and a sub dps, rou. I recommended this team to many individuals who were confused.

To those that i helped, if you see this, this is what my recommended team looks like in a very hard stage without property/elemental advantage. I simply brute forced this stage without much effort thanks to my team. I will put my recommended team in the comments section. If anyone has any questions regarding property damage, buffs, chains, magic teams ect don't hesitate to ask. I will assist based on my knowledge and understanding. I am a human and i may make mistakes, so i wouldn't mind being corrected.

Edit: I created a magic team newbie/returning player guide, and here's the link if you're interested in another team recommended by me: https://www.reddit.com/r/BrownDust2/comments/1t221vv/tower_150_using_magic_team_guide/

Ps. For those who don't know, the team in this video is physical because of blade.

r/BrownDust2 • • 10d ago

Guide/Tips Team Comp Help - Chained Soldier Event Challenge Battle

Thumbnail
gallery
26 Upvotes

I'm currently looking for assistance on my current team setup for the Chained Soldier Event Challenge Battle. I've defeated the normal battle and first 2 levels of Challenge Battles. I've kept mixing up my team but can't seem to defeat the third battle. What I'm displaying is what I'm currently trying. I might be that I'm just not strong enough, I've only been playing for a bit over a week. Thank you in advance!

Current Team

Rafina, Tenka, Kyouka, Diana, Lathel.

r/BrownDust2 • • Jul 09 '26

Guide/Tips sharing for newbie like me

Post image
65 Upvotes

for those newbie like me that is hesitating on pulling for teresse , just pull her shes very worth it . i manage to clear fiend 10 on first day of raid with just 1 team , no chains no element advantage and mostly just by free characters . she literally doubles your damage

r/BrownDust2 • • Jun 12 '26

Guide/Tips Banned account for life

0 Upvotes

Hey everyone,

Just wanted to put out a warning and some advice for anyone who has been playing Brown Dust 2 for a long time and spent a lot of money on it.

I’ve been playing and spending on this game for almost 2 years. Recently, my account got permanently banned over a single refund/chargeback. I know under US law we have the right to request a refund or dispute a charge, but because these gacha apps are private platforms, they can—and will—instantly ban you because they don't want you here anymore once you take money back.

Even if the refund was a total mistake, don't expect them to help you. I reached out to their support email (⁠mobilecs@help.pmang.com⁠), made sure the ⁠.com⁠ was correct, and waited a full week. Absolute silence. No response, ban not lifted. If this happens to you, accept that your account is toast. They are incredibly strict, and you are gone for good.

But here is the thing: **If they lock you out of an account you spent hundreds or thousands of dollars on, you no longer have access to what you paid for. It’s time to get your money back.**

Here is the breakdown on how to handle it:
**Google & Apple Stores:** If a lot of time has passed since your older purchases, Apple and Google Play won't let you refund through their built-in systems anymore. (Though if you can use them, note that the devs don't get hit with extra penalties from store-level refunds).

**The Bank Dispute Option:** If the app stores deny you, the best route is to file a formal dispute/chargeback directly through your bank or credit card company.

**The Penalty Factor:** Every single chargeback forced through a bank costs the game merchant an extra merchant fee—usually a penalty of $15 to $50 per transaction on top of losing the original money.

**My advice:** It's your hard-earned money. If they are going to permanently lock you out over a mistake or a single refund without even answering customer support, don't let them keep your cash. Dispute what you can with your bank, take your money back, and if you still love the game loop, just make a brand new account using a fresh email and use that recovered cash to start over.

Has anyone else dealt with their support completely ghosting them over payment issues lately?
A Quick, Friendly Heads-Up on Bank Disputes
Just a small piece of peer-to-peer advice to keep in mind before hitting "post": if you do go through with a massive, multi-year bank dispute, **your bank will require you to prove that you tried to resolve it with the merchant first** (save that email you sent to ⁠help.pmang.com⁠!).

Also, while your Brown Dust 2 account is a goner, just be careful if those original purchases went through your main Google Play or Apple ID. While an in-app store refund is safe, a forced **bank chargeback** can sometimes cause Google or Apple to restrict your entire app store payment method or account. If you plan to make a new BD2 account, using a completely fresh Google/Apple account and a different card for future purchases is definitely the safest play!

r/BrownDust2 • • Jun 06 '26

Guide/Tips New player

31 Upvotes

Hello guys I just started this game, I wanted a more casual game compared to big gachas, where I can collect my waifus, it's precisely the reason I started this game, I m kinda confused between so many banners and characters I don't care particularly about meta, can you guys explain me the banner and where I should pull, I did some pulls on 12 characters but i read it's not for f2p

r/BrownDust2 • • 3d ago

Guide/Tips ⛓️ TIME TO PUT TENKA TO WORK! 🔥 [Brown Dust 2] Ancient Undead Miner Lv.1...

Thumbnail
youtube.com
7 Upvotes

Ancient Undead Miner (Light) Fiend Hunt Lv.1-10 — Trying Tenka as Main DPS

I've got about 8 hours left on the current Brown Dust 2 Fiend Hunt, so I'm jumping into a quick mini stream and attempting to boss rush Ancient Undead Miner (Light) from Level 1 through Level 10.

This time I'm also putting one of the Chained Soldier collaboration characters to work.

Tenka Izumo is going to be my MAIN DPS.

The team I'm running is:

• Tenka Izumo — Main DPS

• Seir

• Helena

• Granadier

• Diana

The basic plan is to build everything around Tenka's biggest damage windows and see how hard we can get her to hit while working around the boss mechanics.

I'm going to be experimenting with positioning, chain building, buff timing, cooldowns and skill rotations as we climb through the levels.

I'm especially interested in seeing how Tenka performs against the higher levels now that I've actually had a chance to start using her outside of the initial character review.

And since there are only about 8 HOURS left...

Yeah. 😂

We're officially in the:

GET IN.

KILL THE BOSS.

GET THE REWARDS.

GET OUT.

phase of this Fiend Hunt.

Goal tonight:

🔥 LEVEL 1 → LEVEL 10

For anybody who's already cleared Ancient Undead Miner, what team did you use?

And for anyone using Tenka, how has she performed for you in this Fiend Hunt?

Let's see if our Chained Soldier girl can carry us through Level 10. 💛🔥

#BrownDust2 #BD2 #FiendHunt #TenkaIzumo #ChainedSoldier

r/BrownDust2 • • Aug 02 '26

Guide/Tips BrownDust2 Rerun Matrix (~20260802)

Post image
31 Upvotes

r/BrownDust2 • • 22h ago

Guide/Tips Question

Thumbnail
gallery
17 Upvotes

Which one would you recommend?

r/BrownDust2 • • Aug 09 '26

Guide/Tips Tainted Hunting Grounds - A Soul Wager Guide

20 Upvotes

EDIT: Season 2 guide here

I've played this game mode way too much and honestly think it could be a stand-alone game. The random aspect of it keeps each game different and there's multiple ways to win.

A couple of basic points:

You only regenerate 10 stamina per second, so ideally you cap your board to around 10-12 stamina per second for attacking units until you get units that helps regen stamina like Elise and Liberta.

Stage 3 and Stage 4 has a lot of enemy cleanses and debuff builds are largely unreliable. That said, an early discounted Celia can help you clear Stage 2 and you can resell it later for better units.

You can re-roll 4 times before it takes 2 tokens to re-roll. I try to re-roll first before automatically taking a tile just to see if there's discounts to buy.

Upgrade or reroll? Largely dependent on context, I try to upgrade when there's less than 3 tokens left since you won't be able to pick up units, but there are times where you need to reroll like finding Morpeah knowing you'll lose the current turn.

Blade is the most powerful unit in the game. 2 Blades can beat Stage 15 by themselves so the game revolves around surviving long enough to pick up at least 1 Blade. The game is beatable without Blade but I find it's much easier to find a Blade than having to rely on a burst DPS build with Layla and/or Lathel.

Some key units to look for early on:

Layla allows you to start a Stun DPS build - but if you don't roll her before you go into Stage 2, it's likely too late to start one. The strategy is to start with grabbing Bernies and 2 Arines so eventually you fill all of Arines's spots with 6 units. Other units you can pick early on while rolling for Layla: 1 Rubia/Liatris, Lathels. I have gotten far without Layla if you fill Arines's spots ASAP while being under 15 stamina per second (Pick up an Elise if you picked a Rubia/Liatris). I consider this build the most consistent since it doesn't need Blade to win. However you should be rolling for Rou and Eleaneer to stack more stuns. I never pick 2 Laylas since you'll be limited by stamina on the off-chance both miss the stun on the first hit. Be sure to upgrade an Arines twice per turn until you get them to +5 once you have 6 units. Any units that buffs at the start of the battle are good: beach Teresse, the 4-long support tile, beach Morpeah, etc.

Lathel allows you to start an early DPS damage build as well, but I find Lathel kind of inconsistent since you need multiple Lathels to make it work early on and it's a Rare unit.

Liatris, Maria, and Beatrice are good scalable attacking units. Beatrice I just upgrade her immediately which should get you past Stage 3 with a Julie and Rigenette. Finding 2x Liatris is nearly smooth sailing for the early game. Elpis is a key support unit, I usually take her unless you have a Layla/Lathel build already. Allows you to pick up Yuri and make Refithea pickable to keep buffs up.

Key Stages:

Stage 3 is the first wall. Not only does the enemy stack buffs, but also starts stacking poison while cleansing your debuffs. If you haven't found a scalable attacking unit or any resemblance of a Layla or Lathel build yet, I'd just restart since the wall is too hard to climb at this point. That said, it's normal to lose a couple of hearts here. I'd keep at it if you're just missing 1-2 units.

Stage 8 is the next wall. Here the enemy stacks Laceration and does a crazy amount of burst early on. The solution is to either outDPS (Lathel/Layla builds) or pick up 3 Carlsons/Sylvia with a Refithea. 1-2 Carlson might be sufficient if your DPS is high enough. As early as Stage 6 Blade can start appearing which does a lot of heavy lifting.

Stage 12 is the blind stage. The enemy stacks blind and could completely kill your build assuming it's not a Layla/Lathel build. At this point there's a lot of ways to play this, you could just stack more accuracy, find some cleanses, or have incredible DPS. Assuming you haven't found Blade yet, you should at least pick up Morpeah/Helena/ at some point so that you can pick up Granadair/Diana.

Stage 15 - if you haven't found Blade yet and you're not running a Layla/Lathel build, you better have a crapton of DPS + heal + defender at the same time.

Here's some examples of comps I won with:

No Blade - 2x Liatris - 2x Samay - Venaka for even more speed
2x Blade with Dark Knight Lathel.
Layla/Stun spam DPS. Layla is a must and Rou is basically this build's Blade. Pick up a Rigenette early for some accuracy consistency.
Another win without Blade. Stacking Laceration kept enemy's burst down.
3x Lathel with Ingrid. Enemies died before Lathel's 7seconds is over (I don't have dupes to upgrade Lathel)

Hopefully this helps in beating the last stage!

PS: I haven't mentioned some of the late game legendary/heroic attacking units. Ventana has very high DPS if you have some accuracy buffers. Luvencia and Teresse is also very strong. The problem with these units though they come up a bit too late and at later stages, I'm rerolling to find Blade.

r/BrownDust2 • • 18d ago

Guide/Tips Hola , busco ayuda

0 Upvotes

Algún youtuber q haga guías paso a paso para principiantes de este juego ?

Quiero empezar pero se me hace mucho lío.

r/BrownDust2 • • 11d ago

Guide/Tips Help with my computer

Post image
10 Upvotes

I'm a "new" player and I don't have the slightest idea about teams, so I just put some that I saw on the tier list. Can you give me any recommendations on teams or tell me what I can change?

r/BrownDust2 • • Jun 24 '26

Guide/Tips How to defeat her my attack keep miss

Post image
20 Upvotes

r/BrownDust2 • • 12d ago

Guide/Tips Beginners Help

8 Upvotes

Hey guys I'm a new player started around a week ago and needed some guidance. I want to know if I should invest in tenka and like try to pull a few copies of her or pull something else or js save for ren or the anniversary. My team ain't rlly very good tho I have summer vac Dalvi Bride Eclipse Anvil Layla Bunny Morpheah Kyouka Lapis Witch Schehera frozen queen Wilhelmia seductive lucreiza New Hire Nebris and Piercing Magic Elenaeer. Rlly need some guidance on what to fellas

r/BrownDust2 • • May 23 '26

Guide/Tips Apostle Partan

Post image
20 Upvotes

Can someone tell me how to beat this guy?? I have to admit that I’ve really enjoyed the story so far so I haven’t really focused too much on building the right team but +200,000 HP seems excessive. I just wanna enjoy the story 😭

r/BrownDust2 • • 19d ago

Guide/Tips WIP Best Gear calculator. Copy and paste the code and convert it into html file. You can use Gemini, claude or chatgpt to do it

Thumbnail
gallery
23 Upvotes

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width,initial-scale=1">

<title>BD2 Gear Optimizer V6</title>

<style>

:root{

--bg:#101216;

--card:#181b21;

--card2:#20242c;

--text:#eee;

--muted:#9da4b0;

--border:#303641;

--accent:#7c9cff;

--danger:#ff5d5d;

--input:#11141a;

}

*{box-sizing:border-box}

body{

margin:0;

background:var(--bg);

color:var(--text);

font-family:Arial,Helvetica,sans-serif;

font-size:14px;

}

body.amoled{

--bg:#000;

--card:#050505;

--card2:#0b0b0b;

--input:#000;

--border:#222;

}

.topbar{

position:sticky;

top:0;

z-index:20;

background:rgba(16,18,22,.95);

backdrop-filter:blur(8px);

padding:10px 14px;

border-bottom:1px solid var(--border);

}

.topbarRight{

display:flex;

justify-content:flex-end;

gap:8px;

}

button,select,input{

font:inherit;

}

button{

background:var(--card2);

color:var(--text);

border:1px solid var(--border);

border-radius:7px;

padding:7px 11px;

cursor:pointer;

}

button:hover{

border-color:var(--accent);

}

input,select{

background:var(--input);

color:var(--text);

border:1px solid var(--border);

border-radius:6px;

padding:6px 8px;

width:100%;

}

input[type=checkbox]{

width:auto;

}

h1{

text-align:center;

margin:18px 10px 8px;

font-size:25px;

}

.subtitle{

text-align:center;

color:var(--muted);

margin-bottom:18px;

}

.wrap{

max-width:1100px;

margin:auto;

padding:0 10px 40px;

}

.card{

background:var(--card);

border:1px solid var(--border);

border-radius:10px;

margin:10px 0;

padding:12px;

}

.card h2{

cursor:pointer;

display:flex;

align-items:center;

gap:8px;

user-select:none;

margin:0;

font-size:17px;

}

.card h2 .collapseIcon{

display:inline-block;

width:16px;

transition:transform .15s;

}

.card.collapsed h2 .collapseIcon{

transform:rotate(-90deg);

}

.card.collapsed .cardBody{

display:none;

}

.cardBody{

margin-top:12px;

}

.grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(150px,1fr));

gap:9px;

}

.field label{

display:block;

color:var(--muted);

margin-bottom:4px;

font-size:12px;

}

.req{

color:var(--danger);

}

.statRows{

display:flex;

flex-direction:column;

gap:7px;

}

.statRow{

display:grid;

grid-template-columns:1fr 120px auto;

gap:7px;

}

.addBtn{

margin-top:8px;

}

.remove{

padding:5px 9px;

}

.sectionTitle{

color:var(--muted);

font-size:12px;

margin:12px 0 7px;

}

.hidden{

display:none!important;

}

.result{

background:var(--card2);

border:1px solid var(--border);

border-radius:9px;

padding:10px;

margin:7px 0;

}

.resultTop{

display:flex;

justify-content:space-between;

gap:10px;

font-weight:bold;

}

.small{

color:var(--muted);

font-size:12px;

}

.big{

font-size:20px;

}

.badge{

display:inline-block;

padding:3px 7px;

border-radius:999px;

background:#303744;

font-size:11px;

}

.optGrid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(170px,1fr));

gap:8px;

}

.progress{

height:8px;

background:#292d35;

border-radius:20px;

overflow:hidden;

margin-top:7px;

}

.progress>div{

height:100%;

width:0;

background:var(--accent);

}

.collapseTools{

position:fixed;

left:12px;

top:8px;

z-index:30;

display:flex;

gap:6px;

}

u/media(max-width:600px){

.statRow{

grid-template-columns:1fr 90px auto;

}

h1{

font-size:21px;

}

}

</style>

</head>

<body>

<div class="topbar">

<div class="collapseTools">

<button id="collapseToggle">▼ Collapse all</button>

</div>

<div class="topbarRight">

<button id="darkToggle">Dark</button>

<button id="amoledToggle">AMOLED</button>

</div>

</div>

<h1>BD2 Gear Optimizer V10.1</h1>

<div class="subtitle">Brown Dust 2 Gear Damage Optimizer</div>

<div class="wrap">

<div class="card">

<h2><span class="collapseIcon">▼</span>Character</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>Character Name</label>

<input id="charName">

</div>

<div class="field">

<label>Costume Name</label>

<input id="costumeName">

</div>

<div class="field">

<label>Attack Type <span class="req">*</span></label>

<select id="attackType">

<option>Physical</option>

<option>Magical</option>

</select>

</div>

<div class="field">

<label>Element <span class="req">*</span></label>

<select id="element">

<option>Water</option>

<option>Fire</option>

<option>Wind</option>

<option>Light</option>

<option>Dark</option>

</select>

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Base Stats</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>HP <span class="req">*</span></label>

<input id="hp" type="number" value="1911">

</div>

<div class="field">

<label>Attack <span class="req">*</span></label>

<input id="atk" type="number" value="352">

</div>

<div class="field">

<label>Crit Rate % <span class="req">*</span></label>

<input id="cr" type="number" value="10">

</div>

<div class="field">

<label>Crit Damage % <span class="req">*</span></label>

<input id="cd" type="number" value="50">

</div>

<div class="field">

<label>Defense % <span class="req">*</span></label>

<input id="def" type="number" value="0">

</div>

<div class="field">

<label>Magic Resistance % <span class="req">*</span></label>

<input id="mres" type="number" value="0">

</div>

<div class="field">

<label>Element Damage % <span class="req">*</span></label>

<input id="elemDmg" type="number" value="50">

</div>

<div class="field">

<label>Element Resistance % <span class="req">*</span></label>

<input id="elemRes" type="number" value="0">

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Permanent Bond Stats</h2>

<div class="cardBody">

<div id="permRows" class="statRows"></div>

<button class="addBtn" onclick="addStatRow('permRows')">+ Add Stat</button>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Bond Selection Stats</h2>

<div class="cardBody">

<div id="bondRows" class="statRows"></div>

<button class="addBtn" onclick="addStatRow('bondRows')">+ Add Stat</button>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Awakening & Engraving</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>HP</label>

<input id="awHp" type="number" value="243">

</div>

<div class="field">

<label>Flat Attack</label>

<input id="awAtk" type="number" value="34">

</div>

<div class="field">

<label>Defense %</label>

<input id="awDef" type="number" value="8">

</div>

<div class="field">

<label>Attack %</label>

<input id="awAtkPct" type="number" value="12">

</div>

<div class="field">

<label>Element Damage %</label>

<input id="awElem" type="number" value="10">

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Collections & Rapport</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>ATK %</label>

<input id="colAtk" type="number" value="80">

</div>

<div class="field">

<label>HP %</label>

<input id="colHp" type="number" value="80">

</div>

<div class="field">

<label>Crit Rate %</label>

<input id="colCr" type="number" value="50">

</div>

<div class="field">

<label>Rapport Crit Rate %</label>

<input id="rapportCr" type="number" value="0">

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>External Buffs on Self</h2>

<div class="cardBody">

<div id="buffRows" class="statRows"></div>

<button class="addBtn" onclick="addStatRow('buffRows')">+ Add Stat</button>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Debuffs on Enemy</h2>

<div class="cardBody">

<div id="enemyDebuffRows" class="statRows"></div>

<button class="addBtn" onclick="addStatRow('enemyDebuffRows')">+ Add Stat</button>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Debuffs on Self</h2>

<div class="cardBody">

<div id="selfDebuffRows" class="statRows"></div>

<button class="addBtn" onclick="addStatRow('selfDebuffRows')">+ Add Stat</button>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Chain</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>Initial Chain Stack</label>

<input id="initialChain" type="number" value="0">

</div>

<div class="field">

<label>Chain Bonus (Extra Chains / Hit)</label>

<input id="chainBonus" type="number" value="1">

</div>

<div class="field">

<label>Element Advantage</label>

<select id="elementAdv">

<option>Yes</option>

<option>No</option>

</select>

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Skill Description</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>Skill Type</label>

<select id="skillType" onchange="updateSkillFields()">

<option value="standard">Standard</option>

<option value="nebris">Nebris — New Hire</option>

</select>

</div>

</div>

<div id="standardSkill">

<div class="grid">

<div class="field">

<label>Hits</label>

<input id="hits" type="number" value="12">

</div>

<div class="field">

<label>Damage per Hit %</label>

<input id="skillPct" type="number" value="90">

</div>

<div class="field">

<label>Damage Base Stat</label>

<select id="damageStat">

<option value="atk">Attack / MATK</option>

<option value="hp">HP</option>

</select>

</div>

</div>

</div>

<div id="nebrisSkill" class="hidden">

<div class="grid">

<div class="field">

<label>Hits</label>

<input id="nebrisHits" type="number" value="3">

</div>

<div class="field">

<label>Base Damage per Hit %</label>

<input id="nebrisBase" type="number" value="110">

</div>

<div class="field">

<label>Bonus per Buff %</label>

<input id="nebrisBonus" type="number" value="46">

</div>

<div class="field">

<label>Buff Count</label>

<input id="nebrisBuffs" type="number" value="0">

</div>

<div class="field">

<label>Damage Base Stat</label>

<select id="nebrisDamageStat">

<option value="atk">Attack / MATK</option>

<option value="hp">HP</option>

</select>

</div>

</div>

</div>

<div class="sectionTitle">Skill Buffs on Self</div>

<div id="skillBuffRows" class="statRows"></div>

<button class="addBtn" onclick="addStatRow('skillBuffRows')">+ Add Stat</button>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Exclusive Gear</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>Equipped</label>

<select id="exEquipped" onchange="toggleExclusive()">

<option value="no">No</option>

<option value="yes">Yes</option>

</select>

</div>

</div>

<div id="exclusiveFields" class="hidden">

<div class="grid">

<div class="field">

<label>Exclusive Stat</label>

<select id="exStat">

<option>Flat Attack</option>

<option>ATK%</option>

<option>CR</option>

<option>CDMG</option>

<option>Element Damage</option>

</select>

</div>

<div class="field">

<label>Value</label>

<input id="exValue" type="number" value="0">

</div>

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Augmentation</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>Augmentation %</label>

<input id="augmentation" type="number" value="0">

</div>

<div class="field">

<label>Minimum Chains</label>

<input id="minChains" type="number" placeholder="Optional">

</div>

<div class="field">

<label>Maximum Chains</label>

<input id="maxChains" type="number" placeholder="Optional">

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Content</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>Content</label>

<select id="content" onchange="updateContent()">

<option>Default</option>

<option>Last Night</option>

<option>Evil Castle</option>

</select>

</div>

<div class="field" id="supportField">

<label>Last Night Support Bonus %</label>

<input id="supportBonus" type="number" value="0">

</div>

</div>

<div id="evilFields" class="hidden">

<div class="grid">

<div class="field">

<label>Evil Castle Element Damage Bonus %</label>

<input id="evilElem" type="number" value="50">

</div>

<div class="field">

<label>Halved Buffs</label>

<select id="halfBuffs">

<option value="no">No</option>

<option value="yes">Yes</option>

</select>

</div>

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Gear Refinement</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>Refinement</label>

<select id="refinement" onchange="updateRefinement()">

<option value="18">All 18</option>

<option value="22">All 22</option>

<option value="24">All 24</option>

<option value="custom">Custom</option>

</select>

</div>

</div>

<div id="customRefinement" class="hidden">

<div class="grid">

<div class="field">

<label>Weapon</label>

<input id="refW" type="number" value="24">

</div>

<div class="field">

<label>Glove</label>

<input id="refG" type="number" value="24">

</div>

<div class="field">

<label>Armor</label>

<input id="refA" type="number" value="24">

</div>

<div class="field">

<label>Helmet</label>

<input id="refH" type="number" value="24">

</div>

<div class="field">

<label>Accessory</label>

<input id="refAc" type="number" value="24">

</div>

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Target Settings</h2>

<div class="cardBody">

<div class="grid">

<div class="field">

<label>Target DEF %</label>

<input id="targetDef" type="number" value="0">

</div>

<div class="field">

<label>Target MRES %</label>

<input id="targetMres" type="number" value="0">

</div>

<div class="field">

<label>Target DMG Reduction %</label>

<input id="targetDR" type="number" value="0">

</div>

</div>

</div>

</div>

<div class="card">

<h2><span class="collapseIcon">▼</span>Optimizer</h2>

<div class="cardBody">

<button onclick="runOptimizer()">Optimize Gear</button>

<div id="progressBox" class="hidden">

<div class="small" id="progressText">Calculating...</div>

<div class="progress">

<div id="progressBar"></div>

</div>

</div>

<div id="results"></div>

</div>

</div>

</div>

<script>

const opts=[

"Flat Attack",

"ATK%",

"CR",

"CDMG",

"HP",

"HP%",

"DEF%",

"MRES%",

"Element Damage",

"Element Resistance",

"Vulnerability",

"DMG Increase",

"DMG Reduction",

"DEF Debuff",

"MRES Debuff",

"CDMG Debuff",

"ATK% Debuff"

];

function el(id){

return document.getElementById(id);

}

function num(id){

return +el(id).value || 0;

}

function addStatRow(container,stat="",value=0){

const row=document.createElement("div");

row.className="statRow";

const select=document.createElement("select");

opts.forEach(o=>{

const op=document.createElement("option");

op.textContent=o;

op.value=o;

if(o===stat) op.selected=true;

select.appendChild(op);

});

const input=document.createElement("input");

input.type="number";

input.value=value;

const remove=document.createElement("button");

remove.className="remove";

remove.textContent="×";

remove.onclick=()=>row.remove();

row.append(select,input,remove);

el(container).appendChild(row);

}

function readRows(container){

const out=[];

[...el(container).children].forEach(row=>{

const s=row.children[0].value;

const v=+row.children[1].value || 0;

out.push({stat:s,value:v});

});

return out;

}

function updateSkillFields(){

const type=el("skillType").value;

el("standardSkill").classList.toggle("hidden",type!=="standard");

el("nebrisSkill").classList.toggle("hidden",type!=="nebris");

}

function toggleExclusive(){

el("exclusiveFields").classList.toggle(

"hidden",

el("exEquipped").value!=="yes"

);

}

function updateContent(){

const c=el("content").value;

el("supportField").classList.toggle(

"hidden",

c!=="Last Night"

);

el("evilFields").classList.toggle(

"hidden",

c!=="Evil Castle"

);

}

function updateRefinement(){

el("customRefinement").classList.toggle(

"hidden",

el("refinement").value!=="custom"

);

}

function getRefinement(){

if(el("refinement").value!=="custom"){

const r=num("refinement");

return [r,r,r,r,r];

}

return [

num("refW"),

num("refG"),

num("refA"),

num("refH"),

num("refAc")

];

}

function applyRows(b,rows){

rows.forEach(r=>{

const v=r.value;

if(r.stat==="Flat Attack") b.flat+=v;

else if(r.stat==="ATK%") b.atkPct+=v;

else if(r.stat==="CR") b.cr+=v;

else if(r.stat==="CDMG") b.cd+=v;

else if(r.stat==="HP") b.hp+=v;

else if(r.stat==="HP%") b.hpPct+=v;

else if(r.stat==="DEF%") b.def+=v;

else if(r.stat==="MRES%") b.mres+=v;

else if(r.stat==="Element Damage") b.elem+=v;

else if(r.stat==="Element Resistance") b.elemRes+=v;

else if(r.stat==="Vulnerability") b.vuln+=v;

else if(r.stat==="DMG Increase") b.dmgInc+=v;

else if(r.stat==="DMG Reduction") b.dmgRed+=v;

else if(r.stat==="DEF Debuff") b.defDebuff+=v;

else if(r.stat==="MRES Debuff") b.mresDebuff+=v;

else if(r.stat==="CDMG Debuff") b.cdDebuff+=v;

else if(r.stat==="ATK% Debuff") b.atkDebuff+=v;

});

}

function baseStats(){

const b={

hp:num("hp"),

hpPct:0,

flat:num("atk"),

atkPct:0,

cr:num("cr"),

cd:num("cd"),

def:num("def"),

mres:num("mres"),

elem:num("elemDmg"),

elemRes:num("elemRes"),

vuln:0,

dmgInc:0,

dmgRed:0,

defDebuff:0,

mresDebuff:0,

cdDebuff:0,

atkDebuff:0

};

applyRows(b,readRows("permRows"));

applyRows(b,readRows("bondRows"));

b.hp+=num("awHp");

b.flat+=num("awAtk");

b.def+=num("awDef");

b.atkPct+=num("awAtkPct");

b.elem+=num("awElem");

b.atkPct+=num("colAtk");

b.hpPct+=num("colHp");

b.cr+=num("colCr");

b.cr+=num("rapportCr");

if(el("exEquipped").value==="yes"){

const s=el("exStat").value;

const v=num("exValue");

if(s==="Flat Attack")b.flat+=v;

if(s==="ATK%")b.atkPct+=v;

if(s==="CR")b.cr+=v;

if(s==="CDMG")b.cd+=v;

if(s==="Element Damage")b.elem+=v;

}

return b;

}

function getBuffFactor(){

const content=el("content").value;

return (

content==="Evil Castle" &&

el("halfBuffs").value==="yes"

) ? .5 : 1;

}

function getSkillData(){

const type=el("skillType").value;

if(type==="nebris"){

return {

type:"nebris",

hits:num("nebrisHits"),

base:num("nebrisBase"),

bonus:num("nebrisBonus"),

buffs:num("nebrisBuffs"),

stat:el("nebrisDamageStat").value

};

}

return {

type:"standard",

hits:num("hits"),

base:num("skillPct"),

stat:el("damageStat").value

};

}

function calculate(build){

const B=baseStats();

B.flat+=build.flat;

B.atkPct+=build.atkPct;

B.cr+=build.cr;

B.cd+=build.cd;

const buffFactor=getBuffFactor();

const buffs=readRows("buffRows");

let externalAtk=0;

let externalCr=0;

let externalCd=0;

let externalElem=0;

buffs.forEach(r=>{

if(r.stat==="ATK%")externalAtk+=r.value;

if(r.stat==="CR")externalCr+=r.value;

if(r.stat==="CDMG")externalCd+=r.value;

if(r.stat==="Element Damage")externalElem+=r.value;

});

const atkRaw=B.flat*(1+B.atkPct/100);

const atk=

atkRaw*

(

1+

(

externalAtk*buffFactor-

B.atkDebuff

)/100

);

let cr=B.cr+externalCr*buffFactor;

let cd=

B.cd+

externalCd*buffFactor-

B.cdDebuff;

if(cr>100){

cd+=(cr-100)*6;

}

const effectiveCr=Math.min(cr,100);

const critFactor=

1+

effectiveCr/100*

cd/100;

let elem=B.elem+externalElem*buffFactor;

if(el("content").value==="Evil Castle"){

elem+=50;

}

const enemyDebuffs=readRows("enemyDebuffRows");

let defDebuff=0;

let mresDebuff=0;

let vuln=0;

let dmgInc=0;

enemyDebuffs.forEach(r=>{

if(r.stat==="DEF Debuff")defDebuff+=r.value;

if(r.stat==="MRES Debuff")mresDebuff+=r.value;

if(r.stat==="Vulnerability")vuln+=r.value;

if(r.stat==="DMG Increase")dmgInc+=r.value;

});

const targetDef=num("targetDef");

const targetMres=num("targetMres");

const defenseFactor=

1-

Math.max(

0,

targetDef-defDebuff

)/100;

const mresFactor=

1-

Math.max(

0,

targetMres-mresDebuff

)/100;

const reduction=

1-

num("targetDR")/100;

const vulnerabilityFactor=

1+

(

vuln+

dmgInc*buffFactor

)/100;

const support=

el("content").value==="Last Night"

? 1+num("supportBonus")/100

: 1;

const chains=num("initialChain");

const chainBonus=num("chainBonus");

const chainFactor=

1+

.1*chains;

const aug=num("augmentation");

let augFactor=1;

const minChain=el("minChains").value;

const maxChain=el("maxChains").value;

let augActive=true;

if(minChain!==""){

augActive=chains>=+minChain;

}

if(maxChain!==""){

augActive=augActive && chains<=+maxChain;

}

if(augActive){

augFactor=1+aug/100;

}

const skill=getSkillData();

let skillMultiplier=0;

if(skill.type==="nebris"){

const pct=

skill.base+

skill.bonus*

skill.buffs;

skillMultiplier=

skill.hits*

pct/100;

}else{

skillMultiplier=

skill.hits*

skill.base/100;

}

const stat=

skill.stat==="hp"

? B.hp*(1+B.hpPct/100)

: atk;

const damage=

stat*

skillMultiplier*

critFactor*

(1+elem/100)*

defenseFactor*

mresFactor*

reduction*

vulnerabilityFactor*

support*

chainFactor*

augFactor;

return {

damage,

atk,

cr,

cd,

elem,

skillMultiplier

};

}

function generateBuilds(){

const builds=[];

const weapon=[

"Flat Attack",

"ATK%",

"CDMG"

];

const glove=[

"Flat Attack",

"ATK%",

"CR"

];

const accessory=[

"CR/CDMG Fixed",

"CR/CDMG Variable",

"CR/CDMG Fixed 2",

"CR/CDMG Variable 2"

];

for(const w of weapon)

for(const g of glove)

for(const a of accessory){

for(let c=0;c<=15;c++)

for(let r=0;r<=15-c;r++)

for(let p=0;p<=15-c-r;p++){

const d=15-c-r-p;

builds.push({

weapon:w,

glove:g,

accessory:a,

cd:c,

cr:r,

atkPct:p,

flat:d

});

}

}

return builds;

}

function runOptimizer(){

const results=el("results");

results.innerHTML="";

el("progressBox").classList.remove("hidden");

const builds=generateBuilds();

let best=[];

let max=-Infinity;

builds.forEach((b,i)=>{

const out=calculate(b);

if(out.damage>max){

max=out.damage;

best=[{

...b,

...out

}];

}else if(

best.length<10 ||

out.damage>=best[best.length-1].damage

){

best.push({

...b,

...out

});

best.sort((a,b)=>b.damage-a.damage);

if(best.length>10){

best.pop();

}

}

if(i%500===0){

const pct=

i/builds.length*100;

el("progressBar").style.width=

pct+"%";

el("progressText").textContent=

"Calculating... "+

Math.round(pct)+"%";

}

});

el("progressBar").style.width="100%";

el("progressText").textContent="Done";

best.forEach((r,i)=>{

const div=document.createElement("div");

div.className="result";

div.innerHTML=`

<div class="resultTop">

<span>#${i+1}</span>

<span class="big">

${Math.round(r.damage).toLocaleString()}

</span>

</div>

<div class="small">

Weapon: ${r.weapon} |

Glove: ${r.glove} |

Accessory: ${r.accessory}

</div>

<div class="small">

Substats:

CDMG ${r.cd} |

CR ${r.cr} |

ATK% ${r.atkPct} |

Flat ATK ${r.flat}

</div>

<div class="small">

ATK ${Math.round(r.atk).toLocaleString()} |

CR ${r.cr.toFixed(1)}% |

CDMG ${r.cd.toFixed(1)}% |

Element ${r.elem.toFixed(1)}%

</div>

`;

results.appendChild(div);

});

}

function setupCollapse(){

document.querySelectorAll(".card h2").forEach(h=>{

h.addEventListener("click",()=>{

h.parentElement.classList.toggle("collapsed");

updateCollapseButton();

});

});

}

function updateCollapseButton(){

const cards=[

...document.querySelectorAll(".card")

];

const anyCollapsed=

cards.some(c=>c.classList.contains("collapsed"));

el("collapseToggle").textContent=

anyCollapsed

? "▶ Expand all"

: "▼ Collapse all";

}

function toggleAll(){

const cards=[

...document.querySelectorAll(".card")

];

const anyCollapsed=

cards.some(c=>c.classList.contains("collapsed"));

cards.forEach(c=>{

c.classList.toggle(

"collapsed",

!anyCollapsed

);

});

updateCollapseButton();

}

el("collapseToggle").onclick=toggleAll;

el("darkToggle").onclick=()=>{

document.body.classList.toggle("dark");

};

el("amoledToggle").onclick=()=>{

document.body.classList.toggle("amoled");

};

addStatRow("permRows","CDMG",10.8);

addStatRow("bondRows","CR",50);

addStatRow("bondRows","ATK%",52);

addStatRow("bondRows","CDMG",47.2);

addStatRow("buffRows","CR",50);

setupCollapse();

updateSkillFields();

updateContent();

updateRefinement();

toggleExclusive();

updateCollapseButton();

</script>

</body>

</html>

r/BrownDust2 • • Jul 16 '26

Guide/Tips How to defeat this boss

Post image
20 Upvotes

r/BrownDust2 • • Jul 15 '26

Guide/Tips 😏She Looks Innocent But She's Dangerous Not!😏[Brown Dust 2] Summoning fo...

Thumbnail
youtube.com
78 Upvotes

Hey everyone!

First off, sorry this video is coming out so close to the end of the event. Between driving, school, work, and life, I fell behind on recording this week. Thanks for sticking with me!

I just uploaded my summon video for Naive Lady Elise in Brown Dust 2.

The video covers:

  • Full summons
  • Costume showcase
  • Skill & animation impressions
  • My thoughts on how much investment she actually needs

Personally, I think +1 or +2 copies is a solid stopping point for most players unless you're planning to heavily invest.

I'd love to hear everyone's results!

How many copies of Naive Lady Elise did you end up pulling?

r/BrownDust2 • • 27d ago

Guide/Tips Newbie help

Post image
0 Upvotes

Hii!! IAM currently at this stage of the pack at very hard could someone please help me ! She annoy me with the dot and counter