## About The Pull Request
If you butcher marked one after you kill him you will get second loot
crate with crusher trophy and his regular loot. Butchering him now will
only result in bones. The first crate should correctly contain his
crusher trophy
## Why It's Good For The Game
I don't think it was intentional to have double the loot from them
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
<img width="280" height="171" alt="kill"
src="https://github.com/user-attachments/assets/12eacf02-dc70-4c90-a712-4136e9e4bbbf"
/>
</details>
## Changelog
🆑
fix: You can no longer get duplicated loot from marked one
fix: marked one crusher trophy now correctly drops after you kill him
with crusher
/🆑
## About The Pull Request
This PR returns Ashtongue as it was before for ashwalkers, and gives
Draconic 30% mutual understanding with Ashtongue. The inverse is not
true.
## Why It's Good For The Game
Ashtongue adds a lot to Ashwalker RP by introducing a language barrier
that can be overcome in various ways.
## Proof Of Testing
Compiles
## Changelog
🆑 ReturnToZender
add: Ashtongue returns, with Draconic able to understand 30% of it. The
inverse is not true
add: Ashwalkers can now select Xenocommon, Sylvan, or Draconic as extra
languages
/🆑
## About The Pull Request
Removes Ashtongue, the language. Ashwalkers speak Draconic again, as TG
design has it.
## Why It's Good For The Game
I beleive TG's design is better than the Skyrat one we inherited.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
</details>
## Changelog
🆑
del: removed ashtongue
/🆑
---------
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
## About The Pull Request
Basically: we're re-adding the marked one, nerfing the stats on it's
armor into the ground- (and technically below ground too!) so it's more
in line with the design goals of the maintainers. The concept is simple;
by directly making it so you'll take *more* damage by wearing the armor,
it would be monumentally idiotic to go out and try to "frag out for
valids" in armor which renders you more vulnerable to conventional
weapons. You'd be better off using a basic survival suit than this set
of armor.
## Why It's Good For The Game
re-adds a long, long lost fight from a while ago- essentially putting
more content back in the game and a optional "final boss" for the
experienced, or not-so-experienced shaft miner to try their hand at.
It also addresses a long standing gripe- that shaft miners take their
fancy new toys and steam roll other players / antagonists, or go
proto-murderboning in their suits of indestructible fuck-you armor. This
armor *literally* is worse than wearing nothing; thus severely limiting
it's practicality to lavaland only and it's related ecosystem.
## Proof Of Testing
Going to comment my proof of concept because github isn't working right
for me, standbye.
## Changelog
🆑
balance: heavily nerfs the berserker armor's stats to make it more in
line with a SEVA suit
balance: drastically increases the difficulty of the marked one fight,
giving his attacks armor penetration
balance: re-adds the marked one ruin and bossfight now that he's no
longer lobotomized.
/🆑
de-lobotomizes everyone's favorite megafauna
## About The Pull Request
Essentially makes him capable of speech and fighting again- he will no
longer just stand there like a potato and take hits for no reason.
Basically: no one else wanted to maintain this code, so I'm kinda taking
it upon myself to get the marked one acting as he should.
## Why It's Good For The Game
Megafauna should *probably* hit you back when your hitting them.
## Proof Of Testing
<img width="493" height="297" alt="yupheskillingme"
src="https://github.com/user-attachments/assets/c6b6096c-6572-4103-abf0-314ce37f563e"
/>
I spawned him in in his arena on a private server, and watched as my ass
majestically flew across the room and was promptly gutted by Markiplier
## Changelog
🆑
fix: fixed the marked one's ability to do anything, as well as his
ability to speak.
/🆑
## About The Pull Request
"Readds" the berserker armor from the Marked one megafauna, just as a
craftable varient from the Red berserker armor that you can obtained
from the lavaland chest, the stats of both are the exact same just a
different look, the armor rating remains unchanged.
This PR also adds the cape from Marked one as "Tettered Cloak" into the
loadout menu
## Why It's Good For The Game
More armor variety for lavaland armor and a cool looking "new" cloak
## Proof Of Testing
compiles and works on my end


## Changelog
🆑
add: Added new reskin for the berserker armor
add: Added new cloak in the loadout
/🆑
## About The Pull Request
Nerfs the marked one armour a bit. The base form has slightly better
values than normal berserker armour, the upgraded version is largely the
same but with some extra melee padding
## Why It's Good For The Game
Currently Marked One armour is largely the same as Deathsquad armour
with an ash hide upgrade.
I have, however, taken an axe to this problem, and severely nerfed the
berserker armour and marked one armour by making it a lot less obscenely
powerful when upgraded with an ash drake hide.
The armour is now largely comparable to HECK suit and Ash Drake Armour
when upgraded, so its less obscene, if still slightly better because the
marked one is a challenging boss.
## Proof Of Testing
## Changelog
🆑
balance: Berserker armour's upgrading capability greatly nerfed.
balance: Marked One armour is scaled back from its upgraded values to be
much closer to its base berserker armour.
/🆑
Reverts Bubberstation/Bubberstation#2388
Overcompensation and the sword got admittidely nerfed to the floor. Its
original damage values were pretty reasonable, except with the 35 armor
pen. But the issues come mostly in the minmaxing you can do with the
armor as you can still do that with any other melee item.
Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
## About The Pull Request
_This is part one of my Marked One on-station nerfs._
Nerfs the dragonslayer considerably when in a pressurized environment
(i.e. on-station).
For reference the original was:
force = 20
wound_bonus = 10
armour_penetration = 35
block_chance = 25
While the new variables are:
force = 18
wound_bonus = 8
armour_penetration = 15
block_chance = 10
## Why It's Good For The Game
This will hopefully cut down on people powergaming as antagonists and
validhunting with miner loot by making it less viable of a weapon
on-station.
## Proof Of Testing
It compiled and ran, see the screenshot below for proof of the new stats
updating.
<details>
<summary>Screenshots/Videos</summary>

</details>
## Changelog
🆑
balance: nerfed the dragonslayer's stats when in pressurized
environments
/🆑
Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
## About The Pull Request

TG zerker suit (Left) and Skyrat zerker suit (right) in digi form
Turns out the tg berserker suit used to have a sprite that got lost, see
[here](https://github.com/Skyrat-SS13/Skyrat-tg/pull/17861)
As for the skyrat one, Wolf751 sprited the new one and I was asked to
implement it.
## Why It's Good For The Game
It's better than the invalid icon sprite
## Proof Of Testing
N/A, see above
## Changelog
🆑 @Majkl-J, @Wolf-751
fix: Brings back the red berserker suit digi sprites, originally by
Erol509
image: Adds digi sprites to marked one's berserker suit (By Wolf-751)
/🆑
* Stabilizes code that flicks overlays to view/all clients (#76937)
## About The Pull Request
Rather then using images and displaying them with client.images, we can
instead simply make an object, give it the passed in image/MA's
appearance, and then vis_contents it where we want.
If you want to animate things, you can just use the atom we return from
the proc call.
This ends up costing about 25% of the best case scenario (one guy
online)
It will save more time with more users, but it also allows us to avoid
the hypersuffering that is passing GLOB.clients into the flick proc. So
I think I'm happy enough with this.
For context, here's average per call cost for flick_overlay_view() right
now.
It winds between 5e-5 and 1e-4. With these changes we should pretty
consistently hit the low end of this, because none of our work really
varies all that much.

(I was using sswardrobe for this, but it ends up being a lot slower so
like, why yaknow)
```
/atom/movable/flick_visual
New: 3.65625ms
Provide: 7.4375ms
Qdel: 9.4375ms
Stash: 9.46875ms
```
## Why It's Good For The Game
Using our tools should not make your code eat cpu time for no reason.
Hearers is expensive, iterating clients is expensive, let's not be
expensive.
* Stabilizes code that flicks overlays to view/all clients
* Not every client needs to see this
* and these could be using SECONDS
* grr DM
* Convert these modular files to seconds too
* Update dance_machine.dm
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* look out he's got a CANNON
* dragonslayer 64x64 inhands
* dragonslayer edits
* woop woop offset fixes
* cannon removal for a later date because wow that's buggy
* higher roll cost and lowered invuln time to prevent invincible semi-functional flight
* even higher roll stamcost because wow that should be more than 3 or 6
* [no gbp] removes all duplicate armor datums (#72354)
closes#72348
Title
My bad
Heres the script I used this time if you want to
```cs
var baseDir = Environment.CurrentDirectory;
var allFiles = Directory.EnumerateFiles($@"{baseDir}\code", "*.dm", SearchOption.AllDirectories).ToList();
var known = new Dictionary<string, List<KeyValuePair<string, int>>>();
foreach (var file in allFiles)
{
var fileLines = File.ReadAllLines(file);
for (var i = 0; i < fileLines.Length; i++)
{
var line = fileLines[i];
if (line.StartsWith("/datum/armor/"))
{
var armorName = line.Replace("/datum/armor/", "").Trim();
if (!known.ContainsKey(armorName))
known[armorName] = new List<KeyValuePair<string, int>>();
var knownList = known[armorName];
knownList.Add(new KeyValuePair<string, int>(file, i));
}
}
}
Console.WriteLine($"There are {known.Sum(d => d.Value.Count)} duplicate armor datums.");
var duplicates = new Dictionary<string, List<int>>();
foreach (var (_, entries) in known)
{
var actuals = entries.Skip(1).ToList();
foreach (var actual in actuals)
{
if (!duplicates.ContainsKey(actual.Key))
duplicates[actual.Key] = new List<int>();
duplicates[actual.Key].Add(actual.Value);
}
}
Console.WriteLine($"There are {duplicates.Count} files to update.");
foreach (var (file, idxes) in duplicates)
{
var fileContents = File.ReadAllLines(file).ToList();
foreach (var idx in idxes.OrderByDescending(i => i))
{
string line;
do
{
line = fileContents[idx];
fileContents.RemoveAt(idx);
}
while (!String.IsNullOrWhiteSpace(line));
}
File.WriteAllLines(file, fileContents);
}
```
* modular
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
* HAI
* YAI
* FORCES
* HAI
* YAI
* FORCES
* HAI
* YAI
* FORCES
* marked one sprites
* god willing
* minor spelling mistake
* woohooo
* yeeehooo
* shoop da woop
* bug fixing's a good job mate
* i love this shit
* Update gladiator_items.dm
* what is it good for
* cave johnson, we're done here
* final touch
* speen
* sprite fix
* quality of life descriptions
* BA
* SA
* KAAAA
* final bug fix 1
* arena remake !!
* finishing touches
* berkin' time
* linterfucker 9000
* final final real final fix
* real real actual final stuff
* actual real final fixes
* CLANG
* real clang hours
* clang x2
* CLONG
* fuck()
* wry
* \proper
* #def
* redundancy
* span text my ass
* define my nuts
* fix it fucker
* fuck
* ehhh linters doc
* hai yo
* fuck map
* attempted blood shit fix
* does this work let's find out
* FIX IT
* FIX IT
* overlay my nuts
* concession
* CLA
* AAA
* ANG
* examine formatting
* more fixes
* changes
* _ PHASE
* phase tweaks
* (
* //code doc
* stain-b-gone
* you drive me to drink
* why
* in
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* get_fucked
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* more fixin'
* get_fucked (2)
* slight fixes
* marked one corpse inspect
* charge fixes
* fixes slow lava
* hope this works
* piercing
* woop
* CLANG
* global proc gaming
* stomp attack
* fix
* last one i swear
* powaaa
* no more invisi-click
* balanced armor feat. tf4
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* more balanced stomp
* no more spoopy
* \proper
* way fairer stomp attacks
* whoops
* fixes repeat messages
* murder murder in my mind
* spinnin'
* bulkin'
* -1000 health
* doc these nuts
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* a series of failed attempts and compromises
* dumb gimmick code
* goodbye das1
* trimming the fat, dodgeroll lock for full iframes
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
* The Marked One's Code
* more marked one code updates
* yet more code updates
* aeiou
* updated looties
* agateram balancing n shiet
* agateram obj icons
* AND IT WILL COME
* LIKE A FLOOD OF PAIN
* POURING DOWN ON ME
* AND IT WILL NOT LET UP UNTIL THE END IS NEAR
* AND IT WILL COME
* IN THE DARKEST DAY
* IN MY FINAL HOUR
* updato
* final code fixes
* woot woott
* almost there
* FIXED YAY
* woaw
* lets fucking goooo
* finally
* here it comes
* HE
* arena stuff
* THE ARENAAA
* replace
* replacementeee
* song attribution
* code updates
* agateram no longer does the shooty shoot
* making the mother of all omelettes here maintainer, can't fret over every proc
* i mixed up cleave/cleaves wowza
* health balance update
* Update modular_skyrat/modules/gladiator/markedone.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* lol, said the coderbus
* lmao
* rofl, even
* more coding
* less go
* woo
* for christmas i want more invalid vars
* whew
* shoop da woop
* i fucking hate debugging
* new song!!
* Create attribution.md
* LET'S GO
* wee
* i love code
* (i dont like code)
* Boots agateram damage against mobs to compete with the crusher
* Balance updates after tearing
* agateram now a claymore subtype
It just works
* Undefined var my beloved
* ZAMN
* glass eater remastered
* i may be stupid
* wound causes massive ouch ouch oof
* i am literally a goofy goober holy shit
* HNNGNGNGHG JESSE I AM GONNA HAVE A STROKE
* updated map (very epic)
* balance edit
* final map edits
* epic hit sounds
* epic hit sounds part 2
* the sus
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Bob <bobjogaiscoding@gmail.com>