5 November 2026
- Show a Double Attack proc as its own strike
f6c5076b
4 November 2026
- The Culvert, Pharaoh, Moonlight Flower and the airship return the player after the clear
81837104 - The Fly Wing's reachability search runs at the first wing used on a map, not at every map load
b44075ff - Energy Release's blast can outlive its caster; trial tests wait for their buffs
0c480060 - What the full suite found: Louie's bells keep the layout story 1014 shows, the quest walker casts its weapon's attack, 82587 is an economic request
7de341f2 - Read the cannon's and the region door's fields through the config views
23b8dfbb - The cannon's shot does its row's flat damage
5dbb2885 - The airship's cannons are the client's own gameplay, aimed at ships it can see
3d52de50 - A story region's closed door answers a step with nothing: Payon Forest's region no longer pops 'This feature is unavailable' once its quest is finished
10d5e56f - One name for the two Monster Hunt fields
5f9a0d9d - Monster Hunt's Area Prize counts the stages reached, as its panel does
baa36326 - From the forks: dungeon first-clear rewards, the treasure boss's marquee and Co-op Chest with their mail templates, Fly Wing on reachable ground
620c829a - More fixes from the forks: skill-only enchantments, quest award rows, quest regions while walking, the walk's end, Payon's scholar, the server list's UTC offset, Pages on upstream only
d611aad5 - Crowd-control enhance and resistance use the client's formulas
75410e65 - Content fixes from the forks: Spirit Tower, Hatchery, card star-up, Growth Classroom awards, Fashion trophies, Louie's bells, Bonus Time's maps, the GM button's spelling
60a8585c - Monster behaviour from the fork review: corpses stop, attackers are kept, obstacles are walked around, spawns stand on open cells, boss ground warnings are drawn
defa9c22 - Combat leftovers from the fork review: a buff's new level, monster shields, heal effects, periodic timing, attributes 23 and 24, stagger on monsters
2672c0c1 - Skills with a first press and a second: High-Energy Impact's flight and landing, Move back Shadow Echo's return, and Ultra Shield Bash's meter, Aerial Bombardment's buffs
81572840 - Class loops a text names: Warg Strike's swings, King of the Wargs, the Guillotine's blades, Firepower Loaded, Joint Beat's parts, Energy Release's countdown, Precision Thrust's charges, King's Grace's stacks
09e16af1 - Envenom on a monster comes from RowProcs since #392; this keeps only the hit on a player
152d05f1 - Skill tuples with no reader: costs, logic data and flat parts, "all skills", and Magnus' and Sanctuary's target counts
523e4bc3 - Reading Spellbook casts the listed skills again for its Book Pages
a23186d2 - Hits a row or buff names in its _kLogicData and cooldowns a text resets: Poisoned, Meteorite, Fear Breeze, Warg Strike's automatic cast, Arrow Barrage, Turn Undead, Melt Down, Charge Up, Warg Bite
58f68ba6 - Card effects: the docs, and the header in order
1967468b - Eddga holds its holder in place
41f28f04 - Orc Hero is immune to Stun and Moonlight Flower to Slow
31350f7d - Auras of every level, party texts and barrier recipients: Battle Chant, Shield Defense, Magnificat, Sacred Lily, Safety Wall, Pneuma
f7ee5a30 - Shadow Card: Angeling turns the armor Holy when hit
e7fef6e1 - Armor element cards change the element a player is hit on
1589764e - Bonus ATK and Bonus DEF of Flash copies count in a hit
87ac885b - Hunting Mastery and Hunting Protection count against monsters
40c4cafc - Areas a skill's text names and its row does not hold: Blitz Beat, Cart Revolution, Arm Cannon, Sharp Shooting, Focused Arrow Strike, Flame Launcher, traps, Rolling Cutter, Venom Splasher's fuse
cdc774a4 - Phen lengthens the variable chant and keeps a cast through a control
946e60f4 - Fearless Charge reads its distance through the row's view
a418c943 - Maya Purple is no effect possible: no monster hides
78239a4a - Marine Sphere's Magnum Break makes Basic Attacks Fire, and Envenom follows with its Poisoned hit
ee9c8592 - Dark Priest burns a player's SP at its chance
81fc24f8 - On-hit cards answer a hit on a player, and Blind limits a monster's sight
d84a986c - Skills that name a move or several hits do them: charges, dives, Fearless Charge, Shield Defense, Axe Tornado, Arm Cannon, Soul Expansion, Tetra Vortex, Gravitational Impact
55b93885 - Maya and Orc Lord reflect a player's single-target skill
f822ec5c - A locked skill with no area hits its target where it stands
4873f515 - Sonic Burst trades Rain of Spears' charges for its Enhance charges
b3e3a605 - Magnus Exorcismus bursts under Holy Cross Judgment
f49c084b - Joint Beat inflicts all four breaks under Joint Destruction
b530343b - Spear Throw throws Rapid Throw's extra spear
25652368 - Bowling Bash deals Critical Attack's extra on a lone enemy
a8795be8 - Ladybug takes its share off the damage while Silenced
82963c33 - Golden Thief Bug nullifies a magic hit at its chance
23272969 - Monster Resistance reads 601-604, status removals follow their text, a buff sets a normal attack's element and a player's armor, and two attributes get their reader
080a0ddf - Download a package over several connections
174813ed
3 November 2026
- A talent's buff tuple changes the column it names
bfbf38ef - Heal hurts the Undead by its own numbers under Holy Healing Light
608ef297 - Resurrection raises its recovery on a target below Base 90 under its talent
69f5c3ff - Resurrection works under its talent
8787101d - Lord of Vermilion keeps its strikes under Thunder Shockwave
d423ebd2 - Immunities hold whoever gave them: Endure and control immunity stop displacement, Berserk refuses Slow, Praefatio spends its charges
f52d33a1 - Hymn of Devotion heals each second, Ganbantein removes ground effects, Heal reaches the caster, Holy Light breaks Kyrie, shields stack per enemy, and a shorter public cooldown no longer replaces a skill's own
8c4f1596 - StrikeBackAsync takes the list it is always given
8831742a - Card procs in the equipment notes and the CardEffects header
eb8a0923 - Card: Osiris's damage reduction after the revive, T2 and T3
4d2f792c - Card: Doppelganger raises the hit after a crit
9b8a9b30 - Parry, Auto Counter, Shield Reflect, Reflect Damage, Shrink, Death Bound and Devotion react when their holder is hit
9820fef4 - Mistress resets a skill's cooldown
71e4342c - Pharaoh's Divine Light on a heal
9c984f77 - Side Winder's Double Attack on a Basic Attack
810bed95 - Bongun and Wind Ghost autocast on a Physical attack
96d66ef1 - Monster family cards raise damage on the tagged monsters
0ff7e7d0 - Lex Aeterna ends on its hit, Chain Lightning jumps, the assassins' dashes move, a cutscene protects, and auto-attack gives up on what it cannot reach
f3397d60 - Attributes 30 and 31 count on their members, from every source
9566cf48 - Sanctuary, Magnus Exorcismus and Gravitation Field stay on the ground; Meteor Storm, Fire Wall and the barriers keep the limits their text gives
f7774650 - SkillConfig already declares _kDamageParamExtra on main
134016d6 - A scripted step's counter reads full once it is completed
96fefa58 - Baphomet cards splash a melee normal attack
ad064590 - A skill's _kDamageFormulaExtra raises its percentage: ASPD, Resonance, AGI, a heal's level
7e7d30fd - A hit takes the damage value its skill's text names: monsters, Undead, a two-handed spear, hiding
aeb54143 - A server that ignores ranges still serves the package, 4 connections by default
f3576fd4 - Cooldown attributes 205/206 shorten what the client is told, and SP cost attributes read the whole sheet
3f2e1a52 - A skill's free level needs no prerequisite: Sight's refund and a switch to an untouched build work
38494a8d - Founding a guild costs its Emperium and needs its responders
09e2e4f8 - STR to LUK from a buff feed the derived stats as gear's do
1b6b874a - Healing reads 207/208 from gear, cards and buffs, and heals crit by the client's formulas
b326d9b2 - A skill reaches past a target's body as the client measures it: Eddga takes a melee swing from 5.4 m, not 3
383767bb - Hits read the damage attributes: bonus and reduction by kind, buff group, skill, race, element, size, penetration, crit
d2e92575 - The resonance panel keeps its level when gear changes
251d883a - Add Friend opens without an error, turning Follow off is accepted
ac6ff44f - A failed refine sends a full 5007, the only sync the client takes levels from
55d90a60 - The Deniro carries its rider: a real seat, led by the server, instead of forced positions
46c6991e - Link the plate sprite patch into Ro3Emu.Setup
8a0716ef - A failed refine gives the client its real level back before the panel redraws
df0e43b9 - Defense scales with the attacker's level
c84821b5 - Keep the grid's refine level in a failed refine reply
c8715f3d - Show the guild name and emblem on player name plates
4f9e693a - Skills deal the hits and the damage source their text gives
2b9155d0 - A control buff gets its state from its category
5be615a5 - A debuff from any source counts toward a monster's stats
25ba3ea8 - Level aura at the highest base level, and a !buff test aid
632d8289 - Gathering shows the items it gave, Vivify Potion stops at its weekly uses
c8bd8baa - The Ant Queen's Nest moves on after the Deniro ride, Maya's nest returns to the field
f1d8424d - The automatic attack keeps the skill's time instead of adding a tick to each swing
1de1e037 - The swing lock spares a dead target, and data tests follow the attack rules
5647f4fc - Player: the Website link opens the server's https site when a reverse proxy serves it
bafec667 - Player: a game without a recorded release reads Installed, not Unknown
9b13d992 - Player: the full launcher's look, a realm card, install and join in-process
e35abc91 - A skill's hostile buffs also land on the enemy player it hits
8bd2d599 - A skill pressed in mid-walk plays out while the walk goes on
370aaaaf - A control state that forbids the running phase ends the player's cast
7cf0689c - Client: the pay manager's first use no longer overflows the Lua stack, so the month card buttons send their order
1b8253fa - The server checks a skill's condition as the client's pre-check does
26496f4d - A swing cancelled by a move holds the next one until a move may end it
b65d4f77 - An unlocked single-target skill does not hit a target out of reach
0c588515 - Usable vigor stops at the limit, and only a vigor change sends 5018
133898ee
2 November 2026
- Profession vigor: spend the Vigor currency (407) before restriction 1004
a8f7dc3b - A normal attack is allowed by its skill group, and the falcon fixtures hold a bow
a13e547e - Purchased and mailed equipment is described as its bag item
88a593e4 - The treasure hunt NPC's window follows the server's clock
fec79696 - Role create and select over the anti-cheat budget are answered, and six fit
71e86274 - Job skill shields now absorb damage
396fa8d9 - A stun, freeze, petrify or root from any source now controls monsters
0e12211b - The normal attack follows the held weapon and mount, on foot too
c13ce645 - A held attack key no longer swings faster than the swing takes
ff561de7 - Client: the wheel over a list no longer zooms the 3D preview
047d72da - The server uses a mount voucher on gain, and at login for one left in the bag
65761153 - The 05:00 reset is paced and queued once per session
eb8c569b - A committed card library is published without a realm-wide reservation
09c8d9ec - Keep players off maps whose scene-editor module the client cannot load
69b83438 - Skill bar: editable after the learn-all GM command; a skill from the window takes a taken slot
39453f0a - Obtaining a card collects it: the client sends nothing when a card is tapped
923cec51 - Damage statistics: pause ends with the scene, ground units credit the caster
bfe0acab - Cards in an empty grid stop counting
edef482e - The party refresh compares cards by value and reads an offline member once
a511cf57 - Session checks are a set lookup, and three per-tick costs go away
1de73cc9 - Blitz Beat fires on basic attacks with the falcon
b013ca10 - Myriad Stars hits along its aim, once per attack point
28913abc - The standing issue report goes through the writer: a plan's fields belong to its receipt fingerprint
ad173aa9 - Time-bound reward items were expired on arrival
927a6539 - A big database is copied and checked less often, a small one as before
2de528db - Warg Strike charges its target, Warg Hunt casts its near or far row
e6232838 - A chain of game loop permits is released in a loop instead of recursing
56b095e2 - One undecodable stored row no longer refuses the realm's economy operations
7f42ac09 - Hit the locked target of a forward-rectangle skill
3a1ffa12 - The game loop reports stuck work with the reservations it holds
4b8cb732 - Write the running AFK clock every 30 seconds instead of every second
5e953080 - Lua info logs off: they cost frames in Auto-Battle
8fc2da33 - The game loop reports stuck work with the reservations it holds
1c337ebe - A backup leaves the live database its disk space and deletes a failed copy
07fab660 - The running Bonus Time clock is saved lazily, every other AFK save stays durable
6c4b51ce - Bonus Time settles the quests once a minute instead of every second
55287f59 - A profile lookup holds nobody's character unless a read ran ahead of a commit
4eff2b79 - A player's own auction lots are served from memory until a lot is written
519d5876 - A tick gives due timers 10 ms instead of 2
d3a49361 - The export keeps the defaults of a grouped table's inner rows
72c288df - The emote widget skips its list while it is closed
74422aee - A seasonal item belongs to the current season
0e8fb39b - A treasure point stands on the ground
e667f126 - A life level row holds what it takes to reach that level
d62cb065 - Mount attack: read the weapon through ItemConfig; test parses the id with the invariant culture
e0bb4755 - A ridden battle mount changes the normal attack on the wheel
5939a7ad - Soul Echo: a random mark slot gets a real element
569ade63 - A treasure map hunts on the map you are on, or says why not
3fb63a4e - A ridden leased wolf no longer follows its rider
48d6e799 - An appearance item of a look you own says so
53b3a8a4 - Life drops from Lv. 2 up unlock with the level
45729b24 - Read stat-sheet inputs once instead of on every rebuild
f7a87c7e - Let the operator remove an item from an online player's bag
3e180323
1 November 2026
- The 1 MiB limit applies to a frame, not to one socket read
66429b14 - A drop pool slot's picks take different rows
c8152efe - A running cast decides whether the next one gets in
e27ac539 - Travel check: a raw 30012 or 30131 only goes where the client sends one
d2bd0021 - Scan the talent effect table once per key
1c3953c2 - A cleanse leaves a buff that cannot be dispersed
94fa6a2c - A refused cleanup step keeps its state for the retry
6b76bf0c - A Leaf revives an ally in a dungeon that revives for free
e47ebaa4 - Market queries leave room for the client's longest tab; SYSTEM is one entry in the access list
5e7635c1 - The ledger reader accepts a Job EXP catch-up receipt
30927b7c - Log calls keep the analyzer baseline: client text is clipped first, debug HTTP lines check the level
01ff4da7 - Client text cannot write log lines; per-connection lines are throttled
555fcd2f - Private files on Windows, a unit that writes only in its folder, and smaller fixes from the review
8d480895 - Job EXP catch-up keeps what the current rank cannot take
95bb2320 - Micro and game requests that take a list cost a bounded amount
3f41434e - One misdated receipt no longer stops receipt compaction
956c04d6 - Panel: the refused-Host warning fires the first time
2623fd0d - Panel: ranks for unban and on an open local server, /64 login budgets, a warning for a refused Host
7f7d1d85 - RecoveryRequired shows in the log, the metrics and the panel
222fe246 - A tunnel or an unlisted proxy never gets the open GM of a local server
c0c92797 - A full database queue no longer locks a role out
d61f1f88 - Recovery close sends the queued reply first
5a65e3e0 - Tests: the lazy job test waits for its blocker, and a bot timeout names what it waited for
11830294 - Stop enforcing ItemUseLimitConfig; find a dungeon's item limit in DungeonConfig
54f0ceef - Index operation_source by its source key
7f0b54f6 - A dead role cannot travel through 30012 or 30131
890ffec7 - HP and SP Recovery also work in combat
3e4bbb31 - Queue one removal per expired buff
fd1a4564 - A player's own cast speed shortens the chant
7df21ea6 - Quest action 115 names a daily activity
cce6a5d9 - The treasure hunt's dig spot can be dug
a3cae3db - The stat panel can lower a stat
3ff88249 - Cleanses remove what their skill names
5e36711e - Read the Job EXP catch-up's fields through JobLvConfig and log through LoggerMessage
f37402bc - One Job EXP grant for roles older than the conversion
8999a93b - Analyzer baseline: fix the rules with a handful of violations
6df9ed09 - Analyzer baseline: apply the collection-expression code fixes
02fd8201 - Every Base EXP brings its share of Job EXP
0f103352 - Operator endpoints need the data dir's token and a loopback Host
67094254 - Micro gate: request budget, encrypted requests only, bounded argument logs
87e71267 - Panel Admin only for listed staff; open GM only on a loopback server
6ac637ea - Launcher refuses plain-http repositories and digest-less updates; private files are 0600
31f11257 - Receipt compaction resumes from a watermark; a refused write is a definite failure
63d99370 - Behind a proxy: admin 2FA is required and login limits use the client address
61de003f - Keep the battle mount ridden under a system mount ride
8b655463 - Collection expressions in the party queue and the counters code (analyzer baseline)
27c558d2 - Push the report button's kill and assist counters in Survivor, Mock Battle and Dragon Coffin Island
d77ed91d - BotCli: take the server's own moves of the bot (31081) as its position
1e161dcb - Push a siege player's kill and assist counters
ca2ed80d - Send the Survivor and Dragon ready check's end in seconds
a08ed458 - Queue a party for Survivor Battle and Dragon Coffin Island as one team
53ca8390 - BotCli: party, match, dungeon, guild and raw message commands for multiplayer checks
f173ca5f - Read the Tavern counters and shop gifts with strict JSON profiles
39d91ac2 - Answer the role cache's Team field
d77b1bff - Send a player's life status before the death or revive base change
ed0422c8 - Put the party id on player units
ce6930a5 - Ant Queen's Nest: the passage's clear moves the player on into 1000301
33884625 - Walk check: a player off the scene's nav is not held to it, so 1000301 no longer snaps every step
fc78e7ec
31 October 2026
- Raid trials review: analyzer baseline, coverage notes
8c46c907 - Orc Hero's Blade Deflection raid trial
28844845 - Baphomet's pillars, illusions and scythes raid trials
33604700 - Pharaoh's coffin, pyramid and marker raid trials
3b4925a0 - Osiris's Dark Pulse and Astral Shift raid trials
be9c8473 - Maya's quicksand, mist and meteor raid trials
b9af6ce3 - Mistress's hornet raid trials
e96c4cb7 - Golden Thief Bug's sandstorm and burrow raid trials
d1cf79f7 - Moonlight Flower's bells and moonlight raid trials
3ac154b0 - Drake's ghost ships and puppets raid trials
9094c2d8 - Orc Hero's giant blade and kunai raid trials
70d3e457 - Mirko's safe zones and musical instruments raid trials
23038be5 - Ilmo's Beat Prison raid trials
b34ac6a0 - Nasha's dance test raid trial
f32cde68 - Raid boss trials engine and Isti's Ocean Concerto
14d15b45 - Bonfire Party transformations and prize draw: Transformation Manuals, CampFireBonus prizes and the fuel performance
b49ab0aa - Territory battle personal score from WarzoneTaskConfig: the capture last hit and listed kills
ee3731e9 - Battle for Prontera guild preparation: donations raise the guild's preparation level and its buff
20bd3dfc - Title PvP counter: TitleBuffConfig raises a hit on lower title levels and lowers it on higher ones
5d7f3f90 - Map-limited items: ItemUseLimitConfig refuses the wings, the Yggdrasil Leaf and quest items on its maps
beaa1d1b - Economy manifest hash after the rebase on main (Purchases, rank_rewards and the preset gm_state together)
6562b450 - Festival koi bet: pay the KoiBetRewardConfig tier of the number of right bets
6ab3eb6b - Leaderboard rank rewards: mail LeaderBoardsGiftConfig bands at each _kPrizesTimeNew settlement
a0474744 - Battle pass privileges: apply BattlePassPrivilegeConfig to stalls, trade favourites and Zeny drops
52806dd5 - Free cash shop: 2001-2004 grant top-ups, the pass and month cards without payment
8aca2976 - Currency Redemption: 2005 ITEM_EXCHANGE pays ItemExchangeConfig rates
35491674 - GM presets' open-all-functions is saved with the character (role.gm_state), so a preset character keeps its skill bar and skill window after a relog or a restart
257766d6 - Panel: the account search and the staff role field are search fields with autocomplete off, so Safari does not offer the saved login on every admin page
7c91b1a7 - A base level up refills HP and SP (inferred, classic RO; from akreao's fork, 28ee48d)
ee0ad9e3 - Count Training Ground Dummy Challenges for quest target 210006
c965431f - Card slots are found by EquipGridConfig _iID: the costume Head, Face and Mouth sockets open at base level 20 and take their card parts (Sketch and Portrait cards in Face and Mouth)
44e35234 - Ro3Emu:Panel:PublicUrl: the server announces its panel's public address (GET /ro3emu/panel), so a launcher that joined finds a panel behind a reverse proxy
12b779c7 - Read the anti-cheat's skill fields through SkillConfig and record its receipt field names
ae06816b - Panel: a Suspicious activity list for staff
e7af6e94 - Refuse forged movement, attacks and reports from a modified client
dde26e42 - Maps the game client has no scene for (Glast Heim, five eastern towns): the export lists them, GM warps and the panel refuse them, and a character saved on one logs in at the spawn map
280b8069 - Mock Battle: the Adamantine Madogear, on seats shared with the war vehicles
0401ac8f - Faction Quest: pay the guild its share of a completed quest
1fa789e0 - Panel: a GM actions button on the character sheet, next to Mailbox
5b7ea555 - Launcher: a Web panel button (the local server's panel, a joined server's when it answers, or launcher.json panelUrl) and RO3Emu.exe panel
b722eb8f - Mock Battle arena: monsters, supply boxes, Pharaoh and the death fight
07ccd9be - Faction Quest: the territory world's daily quest and its sub-tasks
5aec91a6 - Panel: whoever has GM in game is an Admin of the panel (the same check, so an empty GM list on a local server makes every account an Admin there too)
aa07ad28 - Keep the client hooks source as released: the comment update would need rebuilt prebuilt client DLLs
eac5ea8b - Public test server options: refuse game logins of unknown accounts, chat flood protection with a mute, panel sign-up limits per address and per hour (all off by default)
21b26be2 - BotCli: Tavern commands (open, enter, leave, ask for a seat, accept an invitation, give a drink) and voice-echo --tavern, a second member for testing the Tavern from one client
a10312b7 - Tavern: rooms, mic seats, moderation, drink gifts, the room list, channel 10 and voice rooms (82481-82514, 5043)
b4d9a614 - The skill tree's Basic Attack cell is sent (JobAttackConfig groups), so an attack taken off the bar can be dragged back; pet support and lineup slots open on their PetSetLimitConfig conditions only (Assist Slot 2 at 42, not 55)
aca9bd3e - Land skill hits with their animations, splashes and hit effects
c2755b38 - Panel: form fields are 16 px on touch screens, so Safari on a phone does not zoom into them and stay zoomed after the login
53184384 - GateListener: Stop waits for each connection's bookkeeping, not only its serve task, so the outstanding count it reports is already down (flaky GateStopReportsOutstandingServeTaskUntilFrameHandlerCompletes)
18627935 - Panel: an update manager in Server control (check GitHub releases, download and verify the SHA-256, install with a backup and a planned restart, roll back); READMEs and setup say Genesis' update servers, not official ones
331c74c0 - Lineup review: a job advance keeps every saved plan valid (any career's Lineup group at its free level is skipped), the tab's drops load over a taken slot and move a skill (a swap is two Loads), the queue keeps no emptied entry the Skill Bar button would draw as a dot, a base skill whose upgrade is learned cannot be queued, and the Lineup waits once for a cast still running and is replaced by a second press
b6ba3131 - RO1 aggression stays off for a listed monster far above the common monsters of its open field map (Ro1AggressiveMaxLevelGap, 15)
69d561a0 - BotInbox: check the failure under the scan's lock, so a Disconnect added just before the connection fails is still seen
6afdf997 - Egg Thief waves use the client's wave monsters, and quest-limited drops fall while the killer has the quest: the third wave's Poring drops the Card: Poring the card guide needs
759f47b2 - Guild voice invites (83707, 83708, 83716, 83720) and the chat typing bubble (83718 as unit custom data 5000013)
e6df7301 - Keep Treasure Maps at the client's drop chance and trim existing piles
a4658fc5 - Let a mercenary throw away the loot it never sells
b1da5488 - Panel: fixes from a full manual pass
44b5c0a1 - Let a mercenary keep the level and EXP it earned across restarts
f1041273 - Panel: a dark theme, following the system setting until the sun/moon button in the top bar picks one
83111dfe - Panel: long-text tables read as one small card per row on a phone, every database page under Home / Database, a cleaner current-page mark in the side menu; README: the web panel is done
76859cba - Panel: the account page's Admin badge uses role-admin, not admin (the admin area's grid class stretched it and widened the page on phones)
80a70317 - Speed past its cap turns into attack: excess ASPD over 500 adds Physical ATK%, excess cast speed over 400 Magic ATK%
867aa4a2 - Keep a mercenary from standing still on a monster it cannot reach
97b297de - Let a free mercenary learn where and how to hunt
13995064 - Let players send a companion mercenary away and call it back
ef1c3dd5 - Let a mercenary keep the players company as a thief
3a1fb9ee - Stop buying a mercenary talent the server does not raise
1c988934 - Make a mercenary's mind answer whoever talked to it
065bb411 - Let a mercenary's mind try several model endpoints in order
534ebc98 - Panel: cards, crafting, skill trees, pets, mounts, shops, elements, calendar and MVP timers
7fff21d1 - Panel pages for staff roles, security, reports, character actions and server control
76f7ecea - Panel: staff roles, account security, report inbox, character actions and server control
79ddfe0c
26 October 2026
- Merge pull request #93 from pattytrickz/feat/lineup-cast
d1471e78 - Merge pull request #92 from pattytrickz/fix/lineup-hotbar
d54eba0d
25 October 2026
- Merge pull request #89 from pattytrickz/feat/lineup-tab
40197654