Old School Ops

RF455-093 RF 4.55: most instant skill, force and class-skill effects do nothing (Healing, Focus, Revival, Rebirth, Return Gate, Taunt…)

Game server RF Online: Dragonborn v0.3.1 low · filed by cybercyber
New

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).applySFTempEffect 0x140826000 reads the type at row +0x78 and m_fTempValue[level] at +0x88. Types 0, 7, 8, 10 and 11 call a handler. Every other type calls logSFTempUnimplemented 0x140827900 and returns 0:
    • type 0 → sfTempAttHPtoDstFP 0x140826180;
    • types 7, 8, 10, 11 → sfTempHelpRemove 0x1408269a0 (a dispel);
    • types 1–6, 9, 12, 13 and ≥ 14 → logSFTempUnimplemented (branch at 0x1408260b4).
  • applySFTempEffect has one caller, handleForceCast (0x140894aaf). handleSkillCast doesn't call it.
  • Class skills: handleClassSkillCast 0x1408958e0 calls only castSFEffectAt (the timed effect) and animusClassSkillTempEffect 0x1407748a0. 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)

TableTemp typeRows (code, name)What the skill should do (inferred from its name and the rfdatabase.net text)
force37104 Healingheal the target (10–30% by level)
force6710B Over Healinga stronger heal
force47101 Energize (Restoration)restore the target
force57100 Focus (Bless)lengthen the target's force buffs by 20–100%
force2800B Revivalrevive a dead player
force99506 Refreshremove the caster's debuffs
force12, 13950E Defensive Cancellation, 950F Slacken Vigilancedispel variants
skill14, 28AF003 Aid Stretching (Skill Stretch), AF007 Slamnever dispatched at all (skills don't call applySFTempEffect)
classskill27F199 Rebirth, 8F1C3 Rebirth, 4F1EC Instant Repairrevive a fallen ally / repair
classskill15, 327F026 Taunt, 8F04F Shout, 4F07A Cry; 7F01C Provoke, 8F047 Disability Forcing, 4F071 Irritatedraw monster aggro
classskill227F118 Heal Wind, 7F120 Recovery Circlearea heal
classskill29, 30, 367F11E/8F148 Return Gate, 4F0F5 Gate Capsule; 7F11F/8F149 Escape; 7F117 Recallteleport the party / the caster
classskill317F198/8F1C2/4F1ED Gauge Recovery, 4F1F1 Gauge Downrestore / drain the defence gauge
classskill17100C/8100C/4100C Long distance firing(value 50)
classskill16, 18, 24, 27, 28, 358F046 Vampire Groan, 4F0EA Flash-Bang, 7F022 Stamina Zero, 7F025 Blood Sucking, 7F09F Divine, 4F0F3 Prey Explosion (Detonate)each skill's own instant part
classskill19, 20, 23Set Guard Tower, Trapping, Compound/Mightblast Siegeprobably 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 level logSFTempUnimplemented logs at wasn't checked, so history.log may 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 handleSkillCast and handleClassSkillCast through 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.
Reported on version 0.3.1

Replies

Nobody has replied yet.

Sign in to comment.

Top xp sources

How xp works
Loading…

Open the full search page