ATK

From OHRRPGCE-Wiki
Jump to navigation Jump to search
Mobile-phone.png
This article is about the OHRRPGCE FMF project, which is an alternate implementation of the OHRRPGCE for Java mobile phones. Technical implementation details discussed here should not be confused with those of the RPG format

ATTACK.BIN and .DT6 combine to form the (significantly smaller) .ATK lump. Basically, each field was re-worked from an INT to whatever capacity was necessary to encapsulate its full range of values. This is intentionally ad-hoc and sub-optimal, so large lumps may eventually split like .SEZ.

.ATK is headerless, with variable-length records. The number of attacks is defined in .GEN.

Attack Record Format[edit]

Data'*+ Meaning
STR Attack Name
STR Attack Caption
STR Description in "Spells" menu
BYTE Animation palette
BIT(11)
BIT(5)
Animation picture
Base Attack Stat(Atk,Mag,HP,Lost HP,Random[0..999],100,HP,MP,Atk,Aim,Def,Dog,Mag,Wil,Spd,Ctr,Focus,Extra Hits,Previous attack,Last damage to attacker,Last damage to target)
BIT(4)
BIT(4)
Attacker Animation(Strike,Cast,Dash In,SpinStrike,Jump,Land,Null,Standing Cast,Teleport)
Attack Animation(Normal,Projectile,Reverse projectile,Drop,Ring,Wave,Scatter,Sequential Projectile,Meteor,Driveby,Null)
BIT(2)
BIT(14)
Animation pattern(Cycle forward,Cycle backward,Oscillate,Random)
Caption Delay[0..16383]
BIT(15)
BIT(1)
Caption Display Time +1 [0..16384]
wasted
BIT(4)
BIT(3)
BIT(1)
Target Class(Enemy,Ally excluding dead,Self,All,Ally including dead,Ally excluding self,Revenge (last hit),Revenge (whole battle),Previous target,Recorded target,Dead allies (heroes only))
Target Setting(Focused,Spread,Optional spread,Random focus,First target)
wasted
BIT(4)
BIT(4)
Target Stat (HP,MP,Atk,Aim,Def,Dog,Mag,Wil,Spd,Ctr,Focus,extra Hits,Poison register,Regen register,Stun register,Mute register)
Base Def. Stat (Default (Wil if base attack stat is Mag, Def otherwise),HP,MP,Atk,Aim,Def,Dog,Mag,Wil,Spd,Ctr,Focus,extra Hits)
BIT(11)
BIT(5)
Attack Delay (ticks)
Number of hits[1..20]
BIT(3)
BIT(3)
BIT(7)
BIT(11)
Damage Equation(Normal,Blunt,Sharp,Pure Damage,No Damage,MaxSet,Current Set)
Aim Math(Normal,Poor,Bad,Never misses,Magic)
Chain rate %
Chain-to attack number + 1, 0 for none
BIT(11)
BIT(5)
Extra Damage % + 100
Additional Bitsets(Mutable, Fail if Poisoned, Fail if Regened, Fail if Stunned, Fail if Muted)
INT MP Cost (can be negative)
INT HP Cost (can be negative)
INT Money cost (can be negative)
BIT(64) Attack Bitsets(see:.DT6)
BIT(3)
BIT(3)
BIT(1)
BIT(1)
Tag Condition 1(Never, Always, Hit, Miss, Kill)
Tag Condition 2(Never, Always, Hit, Miss, Kill)
No Tag Check 1
No Tag Check 2
If "Tag condition" is "Never", then the two ints below are not present. Additionally, if "No Tag Check 1" is set, then only 1 int follows.
INT?
INT?
Tag to set #1(<0 to un-set)
Tag Check #1(<0 to check if OFF)
INT?
INT?
Tag To Set #2
Tag Check #2

'Note: All "STR" variables in .ATK are null-terminated Strings.
*Additionally: "BIT(7)?" means that the next 7 bits may or may not be present. Red text is usually the limiting factor.
+Also: Data types in red require expansion to include current or WIP features.


Again, complaints roll in: "It's too volatile" is the most common one, and valid. Just rest assured that we are keeping this in mind. Most importantly, consider that the .RPG format itself is preserving, so you can always "re-convert" your game to .XRPG.


List of Lumps specific to the XRPG format. Other lumps comply with existing .RPG lump specifications.

HEADER.LMP . _FNT.png . .PT4_# . .PT6_# . .HERO_#.png . SEZ . EFX . BFF . FOE . _TIL_#.png . _MXS_#.png . ###.MAP . HRO . ATK . SCRIPTS_#.HF . SCRIPTS.LST