2.5 KiB
Add Poison Wing & Poison Cape — Design
Date: 2026-07-19
Status: Approved
Scope: Add TWO wing items (basic: render + equippable + base defense). Source pack: C:\Users\efpa\Downloads\asa devilzmu\asa devilzmu\6 (Wing241, Wing242).
Items
| Item | Slot (group/number) | Model | Name | Classes |
|---|---|---|---|---|
| Wing241 | 12 / 240 | MODEL_WING+240 | Poison Wing | Dark Knight |
| Wing242 | 12 / 241 | MODEL_WING+241 | Poison Cape | Dark Lord + Rage Fighter |
Wings are item group 12; MODEL_WING = MODEL_ITEM + ITEM_WING (12*512), so item (12, N) auto-maps to model MODEL_WING + N. Numbers 240/241 are high/free in standard S6. Model files Wing241.bmd/Wing242.bmd load at MODEL_WING+240/+241 (filename Wing{N} where N=number+1).
Client (vendor/MuMain → D:\AdaMu\AdaMu)
ZzzOpenData.cpp OpenItems():AccessModel(MODEL_WING+240, L"Data\\Item\\", L"Wing", 241)and+241 → "Wing242".OpenItemTextures():OpenTexture(MODEL_WING+240/241, L"Item\\").- Copy
Wing241.bmd+ its texture,Wing242.bmd+ its texture →Data\Item\. Extract the BMD's referenced texture names (decrypt) and copy the matching files (the pack ships.ozt/.tga; the engine loads the encrypted.OZT/.OZJ, so provide those; missing effect textures now log instead of blocking). Item_eng.bmd: add name/stat records at slots 12/240 ("Poison Wing", DK) and 12/241 ("Poison Cape", DL+RF), via the 84-byte-record binary patcher (seeandroid-add-new-weapon-item). Slot field = wing slot.- Rebuild
main.exe+ deploy.
Server (AdamuSw)
VersionSeasonSix/Items/Wings.cs: new methodCreatePoisonWings()with twoCreateWingcalls —CreateWing(240, W, H, "Poison Wing", ...DK flag...)andCreateWing(241, W, H, "Poison Cape", ...DL+RF flags...), basic defense + level table, minimal options. W/H from the item icon size (default 12x12 or per pack).- Register in
Wings.Initialize()(fresh seed) + update-pluginAddPoisonWingsUpdateSeason6.cs(UpdateVersion=98, idempotency guard on 12/240). docker build+ apply via AdminPanel → Updates (existing DB) / auto on fresh seed.
Verify
Give the wings to a character (AdminPanel/inventory edit), equip in the wing slot, confirm: correct name/stats in tooltip (from Item_eng.bmd), 3D model renders on the character's back, class restriction enforced.
Out of scope
Wing options (excellent), flight, per-level ancient/socket bonuses, balance. Just render + equip + base defense.