RF455-093 RF 4.55: most instant skill, force and class-skill effects do nothing (Healing, Focus, Revival, Rebirth, Return Gate, Taunt…)
Game: RF 4.55 (Dragonborn), server v0.3.1, Windows build (stock gameserver.exe).
Client: the supported Taiwan build, RF_Online.bin SHA-256 46528aac…2bbc558 (2025-07-16), Language=Taiwan.
Data: the shipped db\gamedata_rf455.db.
Summary
A skill, force or class skill has two kinds of effect in the data: a timed one (m_nContEffectType, the buff or
debuff) and an instant one (m_nTempEffectType with m_fTempValue[level]: a heal, a revive, a teleport, a dispel,
a taunt…). On v0.3.1 the instant effect is applied for only 5 force types and 2 class-skill types. Every other
instant effect is skipped. The cast itself succeeds (FP is spent, the cooldown starts, the animation plays), so it
looks like it worked.
Read from the code (static); not live-tested: the shipped logs contain no cast of these skills.
The code (v0.3.1, read)
- Forces:
(*Server).applySFTempEffect0x140826000reads the type at row+0x78andm_fTempValue[level]at+0x88. Types 0, 7, 8, 10 and 11 call a handler. Every other type callslogSFTempUnimplemented0x140827900and returns 0:- type 0 →
sfTempAttHPtoDstFP0x140826180; - types 7, 8, 10, 11 →
sfTempHelpRemove0x1408269a0(a dispel); - types 1–6, 9, 12, 13 and ≥ 14 →
logSFTempUnimplemented(branch at0x1408260b4).
- type 0 →
applySFTempEffecthas one caller,handleForceCast(0x140894aaf).handleSkillCastdoesn't call it.- Class skills:
handleClassSkillCast0x1408958e0calls onlycastSFEffectAt(the timed effect) andanimusClassSkillTempEffect0x1407748a0. That one handles type 33 (animusRestoreStoredAnimus) and type 34 (animusArmFreeRecall) and returns 0 for any other type, without logging.
What doesn't work (data read from gamedata_rf455.db)
| Table | Temp type | Rows (code, name) | What the skill should do (inferred from its name and the rfdatabase.net text) |
|---|---|---|---|
| force | 3 | 7104 Healing | heal the target (10–30% by level) |
| force | 6 | 710B Over Healing | a stronger heal |
| force | 4 | 7101 Energize (Restoration) | restore the target |
| force | 5 | 7100 Focus (Bless) | lengthen the target's force buffs by 20–100% |
| force | 2 | 800B Revival | revive a dead player |
| force | 9 | 9506 Refresh | remove the caster's debuffs |
| force | 12, 13 | 950E Defensive Cancellation, 950F Slacken Vigilance | dispel variants |
| skill | 14, 28 | AF003 Aid Stretching (Skill Stretch), AF007 Slam | never dispatched at all (skills don't call applySFTempEffect) |
| classskill | 2 | 7F199 Rebirth, 8F1C3 Rebirth, 4F1EC Instant Repair | revive a fallen ally / repair |
| classskill | 15, 32 | 7F026 Taunt, 8F04F Shout, 4F07A Cry; 7F01C Provoke, 8F047 Disability Forcing, 4F071 Irritate | draw monster aggro |
| classskill | 22 | 7F118 Heal Wind, 7F120 Recovery Circle | area heal |
| classskill | 29, 30, 36 | 7F11E/8F148 Return Gate, 4F0F5 Gate Capsule; 7F11F/8F149 Escape; 7F117 Recall | teleport the party / the caster |
| classskill | 31 | 7F198/8F1C2/4F1ED Gauge Recovery, 4F1F1 Gauge Down | restore / drain the defence gauge |
| classskill | 1 | 7100C/8100C/4100C Long distance firing | (value 50) |
| classskill | 16, 18, 24, 27, 28, 35 | 8F046 Vampire Groan, 4F0EA Flash-Bang, 7F022 Stamina Zero, 7F025 Blood Sucking, 7F09F Divine, 4F0F3 Prey Explosion (Detonate) | each skill's own instant part |
| classskill | 19, 20, 23 | Set Guard Tower, Trapping, Compound/Mightblast Siege | probably fine: towers and traps are placed through item use (GuardTowerFor, TrapItems), and these rows may only gate it (inferred) |
How to reproduce
- Healing: get hurt, cast Healing (
7104) on yourself. HP doesn't change (expected from the code; the levellogSFTempUnimplementedlogs at wasn't checked, sohistory.logmay not show it). - Return Gate: as an Astral or Dark Priest, save a position, then cast Return Gate. Nobody moves.
- Taunt: next to a monster that is attacking a party member, cast Taunt. The monster keeps its target.
Suggested fix
- Route
handleSkillCastandhandleClassSkillCastthrough one instant-effect dispatcher too. - Implement at least the heal (3, 6), revive (2 and class 2), Focus's buff extension (5), the restore (4), the self-cleanse (9), the class-skill aggro (15, 32), the teleports (29, 30, 36), the area heal (22) and the gauge types (31).
- Until then, a cast with an unimplemented instant effect could be refused, so FP isn't spent on nothing.