XML:Impt

From OniGalore
Revision as of 23:01, 18 March 2021 by Iritscen (talk | contribs) (→‎Impact tree: wording)
Jump to navigation Jump to search
Impt : Impact
XML modding tips
  • See HERE to start learning about XML modding.
  • See HERE if you are searching for information on how to handle object coordinates.
  • See HERE for some typical modding errors and their causes.
XML.png
XML

IPge << Other file types >> M3GM

switch to OBD page

General information

  • The XML on this page is based on OniSplit v0.9.61.0.
  • Impt*.oni files are global (they can be found in AE/AEInstaller/vanilla/level0_Final.dat).
  • They are used by CBPI, ONIA and ONIE.
  • Impact is only specified by the file name.
  • Every impact has a parent impact to organize effects in ONIE.

XML structure

For example, ImptBar_Super_Kick.xml:

<?xml version="1.0" encoding="utf-8"?>
<Oni>
   <Impt id="0">
       <ParentImpact>ImptKick_Hit</ParentImpact>
   </Impt>
</Oni>

Some Impts are used to detect the regular character-environment collision which comes from a character's movement (see ONCC). It looks like this:

       <ImpactModifierName>Heavy</ImpactModifierName>
       <Impacts>
           <ONCCImpact>
               <Name>Footstep_Walk</Name>
           </ONCCImpact>
           [...]
       </Impacts>

Flags allowed for <ImpactModifierName>:

Heavy
Medium
Light

Impact tree

If an impact (effect) links to an empty node, it will go up the hierarchy until it finds content and matching conditions.

Default
 |
 +--Blunt (groups non-damaging env/OBJC collisions, env/PAR3 (particle) collisions, and especially env/CHAR collisions)
 |   |
 |   +--Fall_Slide (used by? TRAM<ToState>RunSlide : ONCC<ONCCImpact><Name>Fall_Slide</Name></ONCCImpact>)
 |   +--Hit (Groups objects and particles attracted by gravity?)
 |   |   |
 |   |   +--Fall
 |   |   |   |
 |   |   |   +--Fall_Knockdown
 |   |   |   +--Fall_Land
 |   |   |       |
 |   |   |       +--Fall_LandHard
 |   |   |
 |   |   +--Fall_Object
 |   |   |   |
 |   |   |   +--Powerup
 |   |   |   +--Weapon
 |   |   |
 |   |   +--Shrapnel (used by: BINA3RAPw5_sbg_f05, BINA3RAPw11_ba1_f03)
 |   |   +--Weapon_Bounce (used by: BINA3RAPw5_sbg_p01, BINA3RAPw9_scr_p08, BINA3RAPw9_scr_p01, BINA3RAPw10_sni_p01)
 |   |
 |   +--Footstep
 |       |
 |       +--Footstep_Run
 |       |   |
 |       |   +--Footstep_RunMain
 |       |   +--Footstep_RunSprint
 |       |   +--Footstep_RunStop
 |       |   +--Footstep_Shuffle
 |       |       |
 |       |       +--Footstep_RunStart
 |       |       +--Footstep_SingleStep
 |       |       +--Footstep_Turn
 |       |
 |       +--Footstep_Walk
 |       |   |
 |       |   +--Footstep_WalkMain
 |       |   +--Footstep_WalkStop
 |       |   +--Footstep_Crouch
 |       |
 |       +--Footstep_Zombie
 |       +--Footstep_IronDemon
 |           |
 |           +--Footstep_IronDemon_Turn
 |
 +--Damaging (Meant to group items by damage type, but is unused because particles hold the information about damage types?)
 |   |
 |   +--Blast (Is this used by any instance? Let's check explosive particles: MadBomber, SBG, WMC, ShinBomb)
 |   +--Projectile (Groups ONWC names by ONWC flags??? [0x00/0x01 = UsesAmmo?], UsesCells, Explosive)
 |       |
 |       +--Bullet
 |       |   |
 |       |   +--w1_tap
 |       |   +--w2_sap
 |       |   +--w7_scc
 |       |   +--w8_mbo
 |       |
 |       +--Energy
 |       |   |
 |       |   +--w3_phr
 |       |   +--w4_psm
 |       |   +--w6_vdg
 |       |   +--w10_sni
 |       |   +--w12_ba2
 |       |   +--w13_muro
 |       |   +--w14_muro
 |       |
 |       +--Grenade
 |           |
 |           +--w5_sbg
 |           +--w9_scr (Is actually an energy weapon (ONWC flag "UsesCells"), wrong cat.?)
 |           +--w11_ba1
 |
 +--Debris (FX?)
 |   |
 |   +--Casing
 |   +--Glass_Shard
 |   +--Spark
 |
 +--Melee (H2H attack impacts)
     |
     +--Head (headbutt, anyone?)
     |   |
     |   +--Head_Blocked
     |   +--Head_Hit
     |   +--Head_Killed
     |
     +--Kick
     |   |
     |   +--Kick_Blocked
     |   +--Kick_Hit (Groups ONIA links. Redundant of ONCP since ONIA's <Modifier> is always "Any". Or you could think of it as "future-proof" if you add more (actual light and heavy) characters.))
     |   |   |
     |   |   +--Bar_Super_Kick
     |   |   +--Com_Super_Kick
     |   |   +--Eli_Super_Kick
     |   |   +--Gri_Super_Kick
     |   |   +--Kon_Super_Kick
     |   |   +--Mur_Super_Kick
     |   |   +--Nin_Super_Kick
     |   |   +--Red_Super_Kick
     |   |   +--Str_Super_Kick
     |   |   +--Swt_Super_Kick
     |   |   +--Tan_Super_Kick
     |   |   +--Tcl_Super_Kick
     |   |   +--Thu_Super_Kick
     |   |
     |   +--Kick_Killed
     |
     +--Punch
     |   |
     |   +--Punch_Blocked
     |   +--Punch_Hit (Groups ONIA links. Redundant of ONCP since ONIA's <Modifier> is always "Any". Or you could think of it as "future-proof" if you add more (actual light and heavy) characters.)
     |   |   |
     |   |   +--Bar_Super_Punch
     |   |   +--Com_Super_Punch
     |   |   +--Eli_Super_Punch
     |   |   +--Gri_Super_Punch
     |   |   +--Kon_Super_Punch
     |   |   +--Mur_Super_Punch
     |   |   +--Nin_Super_Punch
     |   |   +--Red_Super_Punch
     |   |   +--Str_Super_Punch
     |   |   +--Swt_Super_Punch
     |   |   +--Tan_Super_Punch
     |   |   +--Tcl_Super_Punch
     |   |   +--Thu_Super_Punch
     |   |
     |   +--Punch_Killed
     |
     +--Self_Damage
     +--Self_Damage_Killed