Game: RF 4.55 (Dragonborn), server v0.5.0, Windows build (stock gameserver.exe).
Client: the supported Taiwan build, RF_Online.bin SHA-256 46528aac…2bbc558 (2025-07-16), Language=Taiwan.
Follow-up to RF455-127Fixed, The mechanism is the one from RF455-127Fixed and is not repeated here: a
combinetable2 row whose outputs are all -1 is dropped by loadCombineRecipe, and the combine is refused with
"unknown manual index" before anything the player did is looked at.
The three groups are in different states, so they are separated below. Group B can be taken straight from the
table the items are already there and the pattern is fixed by nine rows that already work. Group A's
recipe-to-weapon mapping is read from the data (the civil masks pin it). Group C
needs a decision: the data names a grade and a level but never the item list, so what I give is
the candidate set, not an answer.
First, a heads-up on RF455-127Fixed's own fix
m_nOperationCount is how many times combineDraw runs, and each run takes one output that has not been taken
yet (0x14088bec0: the loop bound is the recipe's +0x30, the taken-markers are the byte slice written at
0x14088c152 and tested at 0x14088caf1, and the chosen entry's m_dwPdProp is subtracted from the 10000
ceiling at 0x14088c198).
That is how the Armor Set Coupons grant five pieces: combinetable2 10069–10104 each have five outputs at
m_dwPdProp 2000 and m_nOperationCount 5, so the five draws take the five pieces, one each.
All 18 rows in RF455-127Fixed carry m_nOperationCount 1 (29922–29930 and 30137–30145, every one). If the fix
only fills their outputs and leaves that at 1, each coupon will hand over one random piece of the five
instead of the set. They need m_nOperationCount 5 as well. The same applies to every five-piece row proposed
below.
A. The Halloween weapon recipes (combinetable2 27676–27686)
Each row takes a recipe item plus iyetw13 장난 사탕 ×10, with a 100,000 fee, and has no output.
The weapon each row is for is read, not guessed: the row's m_strCivil matches the weapon type's own
m_strCivil exactly, type by type, the Staff row is 11110000 against the Staff weapon's 11110, the two
Launcher rows are 00001000 against the Launchers' 00001, and the other eight are 11111000 against 11111.
Four weapon families share each type and each civil value, so the type is pinned and only the family is open.
combinetable2 row | Materials | Row civil | Weapon type | Day (permanent) | Candy (permanent) | Day [30d] | Candy [30d] | Weapon civil |
|---|
| 27676 | iyetw01 x1, iyetw13 x10 | 11111000 | 빔 세이버 | iwetw26 | iwetw37 | iwetw04 | iwetw15 | 11111 OK |
| 27677 | iyetw02 x1, iyetw13 x10 | 11111000 | 빔 소드 | iwetw27 | iwetw38 | iwetw05 | iwetw16 | 11111 OK |
| 27678 | iyetw03 x1, iyetw13 x10 | 11111000 | 부로바 | iwetw28 | iwetw39 | iwetw06 | iwetw17 | 11111 OK |
| 27679 | iyetw04 x1, iyetw13 x10 | 11111000 | 빔 프래셔 | iwetw29 | iwetw40 | iwetw07 | iwetw18 | 11111 OK |
| 27680 | iyetw05 x1, iyetw13 x10 | 11110000 | 스태프 | iwetw30 | iwetw41 | iwetw08 | iwetw19 | 11110 OK |
| 27681 | iyetw06 x1, iyetw13 x10 | 11111000 | 랜스 | iwetw31 | iwetw42 | iwetw09 | iwetw20 | 11111 OK |
| 27682 | iyetw07 x1, iyetw13 x10 | 11111000 | 시즈 보우 | iwetw32 | iwetw43 | iwetw10 | iwetw21 | 11111 OK |
| 27683 | iyetw08 x1, iyetw13 x10 | 11111000 | 게틀링 | iwetw33 | iwetw44 | iwetw11 | iwetw22 | 11111 OK |
| 27684 | iyetw09 x1, iyetw13 x10 | 00001000 | 프레임 런처 | iwetw34 | iwetw45 | iwetw12 | iwetw23 | 00001 OK |
| 27685 | iyetw10 x1, iyetw13 x10 | 00001000 | 그레네이드 런쳐 | iwetw35 | iwetw46 | iwetw13 | iwetw24 | 00001 OK |
| 27686 | iyetw11 x1, iyetw13 x10 | 11111000 | 윙 | iwetw36 | iwetw47 | iwetw14 | iwetw25 | 11111 OK |
The one choice: the four families are 할로윈 데이 ("Halloween Day") and 할로윈 캔디 ("Halloween Candy"), each
in a permanent and a [30일] 30-day form (m_bIsTime 1). The material is candy, which hints at the Candy
family, but nothing in the data settles it, all four carry the same civil per type, and the recipe items are
named just "할로윈 <type> 레시피". Pick a column; the row only needs that one output at m_dwPdProp 10000,
m_nOperationCount 1.
Two leftovers in the same block:
iyetw12 할로윈 스페셜 패키지[Cash] ("Halloween Special Package"), combinetable2 27843, one material, fee 0, no output. A package's contents are not derivable from anything in the data, it needs your list.iyetw13 장난 사탕 is a material in those 11 rows and an output of none, and it appears in no cashshop, storelist, specialstore, itemcombine, boxitem, itemlooting or event-looting row, so even with the recipes filled, the candy has no source and the chain still cannot run. Worth deciding whether that block is meant to be live at all.
B. The nine Level 50 Armor Set Coupons (no recipe row at all)
iygco90–iygco98 are named exactly like iygco18–iygco53, the Armor Set Coupons that already work, but they
have no row in either combine table so the combine window cannot even be opened for them. They are not in
cashshop either.
Every Level 50 piece already exists in the item tables. The nine rows below are the Level 53 rows with 53
changed to 50 in the five output codes; all 45 codes were checked to exist.
| Coupon | Name | civil (from the Level 53 row) | The five outputs |
|---|
iygco90 | Bellato Warrior Armor Set Coupon [Level 50] | 11111000 (row 10069, iygco18) | ihbwb50 iubwb50 igbwb50 ilbwb50 isbwb50 |
iygco91 | Bellato Ranger Armor Set Coupon [Level 50] | 11111000 (row 10070, iygco19) | ihbrb50 iubrb50 igbrb50 ilbrb50 isbrb50 |
iygco92 | Bellato Force Armor Set Coupon [Level 50] | 11111000 (row 10071, iygco20) | ihbfb50 iubfb50 igbfb50 ilbfb50 isbfb50 |
iygco93 | Cora Warrior Armor Set Coupon [Level 50] | 11111000 (row 10081, iygco30) | ihcwb50 iucwb50 igcwb50 ilcwb50 iscwb50 |
iygco94 | Cora Ranger Armor Set Coupon [Level 50] | 11111000 (row 10082, iygco31) | ihcrb50 iucrb50 igcrb50 ilcrb50 iscrb50 |
iygco95 | Cora Force Armor Set Coupon [Level 50] | 11111000 (row 10083, iygco32) | ihcfb50 iucfb50 igcfb50 ilcfb50 iscfb50 |
iygco96 | Accretia Warrior Armor Set Coupon [Level 50] | 11111000 (row 10093, iygco42) | ihawb50 iuawb50 igawb50 ilawb50 isawb50 |
iygco97 | Accretia Ranger Armor Set Coupon [Level 50] | 11111000 (row 10094, iygco43) | iharb50 iuarb50 igarb50 ilarb50 isarb50 |
iygco98 | Accretia Launcher Armor Set Coupon [Level 50] | 11111000 (row 10095, iygco44) | ihafb50 iuafb50 igafb50 ilafb50 isafb50 |
Build each like its model row: five outputs, m_nOutNum 1, m_dwPdProp 2000 each, m_nOperationCount 5,
m_bSelectItem 0, m_dwCommit 1000, m_bCombineExist 1. The combine index is 60376 + the new row number, and
the row's m_strCode follows it (cocsa<index>), as every other row does.
C. The self-select vouchers (combinetable2 37659–37685, 37803–37804)
29 rows, all the same shape: one material (the voucher, ×1), fee 0, m_bCombineExist 1,
m_nOperationCount 1, m_bSelectItem 0, no output.
This group needs a decision, and here is why. The names say 自選券 or "self-select voucher", but
m_bSelectItem is 0 on every one of them, so as the data stands they would draw at random rather than let the
player choose. Only nine rows in the whole of combinetable2 have m_bSelectItem 1 (22834, 22837, 22838,
22840 and the rest of the daily-certificate block); each offers three outputs at m_dwPdProp 10000 with
m_nOperationCount 1, and that is the only worked example of a pick list in the data. If these vouchers are
meant to let the player choose, they need m_bSelectItem 1 as well as outputs.
The names give a grade, a level and sometimes a race, but never an item list. What follows is the candidate
set each name points at, not a decode of the intended reward, you will have to confirm or replace it.
Weapon vouchers, the eight standard weapon types at that grade and level:
| Voucher | Name | row | Candidates |
|---|
iyetw34 | 55B武器+0自選券 | 37659 | iwknb55 iwswb55 iwaxb55 iwmab55 iwspb55 iwbob55 iwfib55 (7) |
iyetw35 | 60B武器+0自選券 | 37660 | iwknb60 iwswb60 iwaxb60 iwmab60 iwspb60 iwbob60 iwfib60 iwdab60 (8) |
iyetw36 | 65B武器+0自選券 | 37661 | iwknb65 iwswb65 iwaxb65 iwmab65 iwspb65 iwbob65 iwfib65 iwdab65 (8) |
iyetw37 | 70B武器+0自選券 | 37662 | iwknb70 iwswb70 iwaxb70 iwmab70 iwspb70 iwbob70 iwfib70 iwdab70 (8) |
iyetw38 | 75B武器+3自選券 | 37663 | iwknb75 iwswb75 iwaxb75 iwmab75 iwspb75 iwbob75 iwfib75 iwdab75 (8) |
iyetw39 | 60B武器+4自選券 | 37664 | iwknb60 iwswb60 iwaxb60 iwmab60 iwspb60 iwbob60 iwfib60 iwdab60 (8) |
iyetw40 | 65B武器+4自選券 | 37665 | iwknb65 iwswb65 iwaxb65 iwmab65 iwspb65 iwbob65 iwfib65 iwdab65 (8) |
iyetw41 | 75B武器+4自選券 | 37666 | iwknb75 iwswb75 iwaxb75 iwmab75 iwspb75 iwbob75 iwfib75 iwdab75 (8) |
iyetw42 | 75B武器+5自選券 | 37667 | iwknb75 iwswb75 iwaxb75 iwmab75 iwspb75 iwbob75 iwfib75 iwdab75 (8) |
iyetw61 | 60D武器+0自選券 | 37803 | iwknd60 iwswd60 iwaxd60 iwmad60 iwspd60 iwbod60 iwfid60 iwdad60 (8) |
iyetw62 | 75D武器+0自選券 | 37804 | iwknd75 iwswd75 iwaxd75 iwmad75 iwspd75 iwbod75 iwfid75 iwdad75 (8) |
Armour vouchers, five pieces, race from the name, class not stated:
| Voucher | Name | row | civil | Warrior | Ranger | Force/Launcher |
|---|
iyetw43 | 60B防具5件+0自選券[阿克雷提亞] | 37668 | 00001000 | ihawb60 iuawb60 igawb60 ilawb60 isawb60 | iharb60 iuarb60 igarb60 ilarb60 isarb60 | ihafb60 iuafb60 igafb60 ilafb60 isafb60 |
iyetw44 | 60B防具5件+0自選券[貝爾托] | 37669 | 11000000 | ihbwb60 iubwb60 igbwb60 ilbwb60 isbwb60 | ihbrb60 iubrb60 igbrb60 ilbrb60 isbrb60 | ihbfb60 iubfb60 igbfb60 ilbfb60 isbfb60 |
iyetw45 | 60B防具5件+0自選券[克拉] | 37670 | 00110000 | ihcwb60 iucwb60 igcwb60 ilcwb60 iscwb60 | ihcrb60 iucrb60 igcrb60 ilcrb60 iscrb60 | ihcfb60 iucfb60 igcfb60 ilcfb60 iscfb60 |
iyetw46 | 65B防具5件+0自選券[阿克雷提亞] | 37671 | 00001000 | ihawb65 iuawb65 igawb65 ilawb65 isawb65 | iharb65 iuarb65 igarb65 ilarb65 isarb65 | ihafb65 iuafb65 igafb65 ilafb65 isafb65 |
iyetw47 | 65B防具5件+0自選券[貝爾托] | 37672 | 11000000 | ihbwb65 iubwb65 igbwb65 ilbwb65 isbwb65 | ihbrb65 iubrb65 igbrb65 ilbrb65 isbrb65 | ihbfb65 iubfb65 igbfb65 ilbfb65 isbfb65 |
iyetw48 | 65B防具5件+0自選券[克拉] | 37673 | 00110000 | ihcwb65 iucwb65 igcwb65 ilcwb65 iscwb65 | ihcrb65 iucrb65 igcrb65 ilcrb65 iscrb65 | ihcfb65 iucfb65 igcfb65 ilcfb65 iscfb65 |
iyetw49 | 75B防具5件+0自選券[阿克雷提亞] | 37674 | 00001000 | ihawb75 iuawb75 igawb75 ilawb75 isawb75 | iharb75 iuarb75 igarb75 ilarb75 isarb75 | ihafb75 iuafb75 igafb75 ilafb75 isafb75 |
iyetw50 | 75B防具5件+0自選券[貝爾托] | 37675 | 11000000 | ihbwb75 iubwb75 igbwb75 ilbwb75 isbwb75 | ihbrb75 iubrb75 igbrb75 ilbrb75 isbrb75 | ihbfb75 iubfb75 igbfb75 ilbfb75 isbfb75 |
iyetw51 | 75B防具5件+0自選券[克拉] | 37676 | 00110000 | ihcwb75 iucwb75 igcwb75 ilcwb75 iscwb75 | ihcrb75 iucrb75 igcrb75 ilcrb75 iscrb75 | ihcfb75 iucfb75 igcfb75 ilcfb75 iscfb75 |
Shield and cape vouchers:
| Voucher | Name | row | Candidates |
|---|
iyetw52 | 75B盾牌+2自選券 | 37677 | idaab75 idbcb75 |
iyetw53 | 75B盾牌+3自選券 | 37678 | idaab75 idbcb75 |
iyetw54 | 75B盾牌+4自選券 | 37679 | idaab75 idbcb75 |
iyetw55 | 黑色榮耀推進器+3混沌兌換券 | 37680 | ikbf051 ikcf051 ikaf051 |
iyetw56 | 金色攻擊披風+3混沌兌換券 | 37681 | ikbf053 ikcf053 ikaf053 |
iyetw57 | 黑色防禦披風+4混沌兌換券 | 37682 | ikbf052 ikcf052 ikaf052 |
(every code above was checked to exist in its item table)
What the data does not say for group C
- The weapon lists above are a judgement call. 83 different items match
iw??b55; the eight in the table are the eight standard weapon-type stems (kn sw ax ma sp bo fi da) that combinetable2 30146–30153 already use as a set at d75, and at each grade and level they form one consistent named family (Divine / Saint / Patron / Beelzebub). iwdab55 does not exist, so 55B has seven, not eight. Is the intended list is a different series? - The armour vouchers name a race but not a class. One row each, three class sets per race, the three are in the table. The machinery cannot pick a class and then grant that class's five pieces from a single row, so either these need one row per class (27 rows instead of 9, like the Armor Set Coupons), or the fifteen pieces go in one row with
m_bSelectItem 1 and a different grant shape. Your call. - The "+0 / +2 / +3 / +4 / +5" in the names is an enhancement level, which lives in the output's
m_dwUpt. Rows that already do this are combinetable2 1350–1373, where otherwise identical rows step the top nibble (0x1fffffff, 0x2fffffff, 0x3fffffff …). Which bits mean "+N" is not decoded here, so the exact values are yours. iyetw58, iyetw59, iyetw60 (rows 37683–37685) have no name at all m_strName is just the item code. They look like placeholders; probably they should have m_bCombineExist cleared rather than a reward.- None of these 29 vouchers is in
cashshop, so unlike RF455-127Fixed nothing here is being sold. The cost of leaving them is a combine window that opens and always fails, not a wasted purchase.
Suggested order
- Group B is ready to apply as it stands.
- Group A needs one choice (which weapon family), then the eleven rows are mechanical.
- Group C needs the reward lists from retail; the rows and candidates above are the groundwork.
And in all three: set m_nOperationCount to the number of items the recipe is meant to hand over, not 1, the
point from the top of this report, which also applies to the RF455-127Fixed fix.
Local workaround
None. As with RF455-127Fixed, a GM can hand out the items directly.