Update log
Full Argentum Online update
The complete published notes, normalized for clean reading and source attribution.
Extracted changes
- Server
- Gameplay
- Store
- Maps
- Balance
🖥️ Server Persistence Optimization: Update only modified skills instead of the entire NUMSKILLS batch #1227 (Morgolock)
Added per-skill execution flags `SkillDirty(1 To NUMSKILLS) As Boolean` to the `t_UserStats` type to track modified skills without schema changes.
More info at: https://github.com/ao-org/argentum-online-server/pull/1227
Persistence Optimization: Batch replacement of inventory skins using asynchronous execution #1228 (Morgolock)
Removed per-item searches using `Database_Queries.Exists(...)` and per-item calls to `Database.Execute` within `SaveInventorySkins` in `Code/CharacterPersistence.bas`, replacing them with a batch strategy.
More info at: https://github.com/ao-org/argentum-online-server/pull/1228
Skin persistence optimization: unique key and batch UPSERT #1229 (Morgolock)
Added the migration ScriptsDB/20260208-01-inventory skin unique index.sql which deduplicates inventory_item_skins, keeping the row with MAX(id) by (user_id, skin_id), and then creates a unique index uq_inventory_item_skins_user_skin on (user_id, skin_id) within a transaction.
More info at: https://github.com/ao-org/argentum-online-server/pull/1229
🎮 Client Support for Disabled NPCs in BattleServer #759 (Temis-gt)
The DisabledInBattleServer property has been added to the client's NPC data structure as an Integer.
The logic for counting and displaying NPCs on maps has been adjusted to respect this flag when the client is running in BattleServer mode.
Impact:
In normal builds, the behavior remains unchanged: all NPCs are counted.
In BattleServer builds, NPCs with DisabledInBattleServer = 1 are excluded from listings and counts.
Add SUPERFISH_MESSAGE to Language Files #758 (Aledg994)
A new localization key, SUPERFISH_MESSAGE, has been added to Languages/1.json (Spanish), Languages/2.json (English), Languages/3.json (Portuguese), Languages/4.json (French), and Languages/5.json (Italian).
This string provides an in-game fishing message that instructs the player to press the P key when the marker is in the green zone to catch a big fish.
Display NPC Drop Probability in the Map Interface #760 (Aledg994)
The QuizaProb field has been added to NpcDatas and loaded from resources so that NPC drop probability is available at runtime.
The lblPercentageDrop tag has been added to frmMapaGrande, and its visibility and text have been updated when listing NPC drops (calculating the percentage with Round(1 / QuizaProb * 100)). It is cleared when previewing or clearing.
⚔️ Items MINHITTONPC= / MAXHITTONPC= has been assigned to Tier 1 weapons. This damage bonus applies only to hits against NPCs.
Dagger +1: NPC Hit 2/4 (was 1/3 → now 2/4)
Bronze Knuckle: NPC Hit 6/8 (was 5/7 → now 6/8)
Reinforced Bow: NPC Hit 3/7 (was 2/6 → now 3/7)
Arrow: NPC Hit 2/4 (was 1/4 → now 2/4)
Arrow +1: NPC Hit 3/4 (was 2/4 → now 3/4)
Saber: NPC Hit 6/9 (was 5/8 → now 6/9)
Stone Axe: NPC Hit 7/10 (was 6/9 → now 7/10)
Scimitar: NPC Hit 8/12 (was 7/11 → now 8/12)
Long Axe: NPC Hit 9/13 (was 8/12 → now 9/13)
Greatsword: NPC Hit 10/14 (was 9/13 → now 10/14)
🎣 Fishing Following the buff received by the working class when selling items, the values of the following fish have been adjusted:
Salmon: Value 5 (was 6 → now 5)
Sea Catfish: Value 7 (was 9 → now 7)
Tiger Fish: Value 9 (was 12 → now 9)
Rockfish: Value 12 (was 15 → now 12)
Red Corvina: Value 15 (was 18 → now 15)
Fungus: Value 18 (was 21 → now 18)
Kelp: Value 19 (was 21 → now 19)
Bluefin: Value 21 (was 24 → now 21)
Largemouth Bass: Value 24 (was 27 → now 24)
Shrimp: Value 29 (was 33 → now 29)
Hammerhead Shark (E): Value 60 (was 150 → now 60)
Shrimp (E): Value 135 (was 90 → now 135)
Swordfish (E): Value 165 (was 120 → now 165)
Deep-Sea Grouper: Value 240
Source
