XML:Impt: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (copy-edit, "self: empty": looks like old dev notes ('reinsurance'/'double-checked') for "has no child nodes" when I looked through all Impt files)
m (more copy-editing)
Line 1: Line 1:
{{XML_File_Header | type=Impt | prev=IPge | next=M3GM | name=Impact }}
{{XML_File_Header | type=Impt | prev=IPge | next=M3GM | name=Impact}}


===general information===
==General information==
* The xml code on this page is based on onisplit '''v0.9.61.0'''
* 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)
* '''Impt*.oni''' files are global (they can be found in AE/AEInstaller/vanilla/level0_Final.dat).
* They are used by [[XML:ONCC#CBPI:_Character_Body_Part_Impacts|CBPI]], [[XML:ONCC#ONIA:_Oni_Character_Impact_Array|ONIA]] and [[XML:BINA/ONIE|ONIE]].
* They are used by [[XML:ONCC#CBPI:_Character_Body_Part_Impacts|CBPI]], [[XML:ONCC#ONIA:_Oni_Character_Impact_Array|ONIA]] and [[XML:BINA/ONIE|ONIE]].
* Impact is only specified by the file name.
* Impact is only specified by the file name.
* Every impact has a parent impact to organize effects in ONIE.
* Every impact has a parent impact to organize effects in ONIE.


===XML structure===
===XML structure===
 
For example, ImptBar_Super_Kick.xml:
For example:<br>ImptBar_Super_Kick.xml
  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
  <Oni>
  <Oni>
Line 19: Line 17:
  </Oni>
  </Oni>


 
Some Impts are used to detect the regular character-environment collision which comes from a character's movement (see [[XML:ONCC#ONCV.2C_death_particle.2C_TRBS.2C_TRMA.2C_TRAC.2C_TRAS.2C_health.2C_daodan.2C_etc.|ONCC]]). It looks like this:
* Some Impt are used to detect the regular character-environment collision which comes from character's movement. See [[XML:ONCC#ONCV.2C_death_particle.2C_TRBS.2C_TRMA.2C_TRAC.2C_TRAS.2C_health.2C_daodan.2C_etc.|ONCC]]. It looks like this:
         <ImpactModifierName>Heavy</ImpactModifierName>
         <ImpactModifierName>Heavy</ImpactModifierName>
         <Impacts>
         <Impacts>
Line 29: Line 26:
         </Impacts>
         </Impacts>


Flags of <ImpactModifierName>
Flags allowed for <ImpactModifierName>:
: Heavy
: Heavy
: Medium
: Medium
: Light
: Light


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


  Default
  Default
   |
   |
   +--Blunt (groups non-damaging env-obj, env-3rap, but especially env-char collisions ? self: empty)
   +--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>)
   |  +--Fall_Slide (used by? TRAM<ToState>RunSlide : ONCC<ONCCImpact><Name>Fall_Slide</Name></ONCCImpact>)
   |  +--Hit (Groups objects and particle attracted by gravity?)
   |  +--Hit (Groups objects and particles attracted by gravity?)
   |  |  |
   |  |  |
   |  |  +--Fall
   |  |  +--Fall
Line 83: Line 80:
   |          +--Footstep_IronDemon_Turn
   |          +--Footstep_IronDemon_Turn
   |
   |
   +--Damaging (Meant to group items by damage type but is unused because particle hold the information about damage types ?)
   +--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)
   |  +--Blast (Is this used by any instance? Let's check explosive particles: MadBomber, SBG, WMC, ShinBomb)
Line 128: Line 125:
       |  |
       |  |
       |  +--Kick_Blocked
       |  +--Kick_Blocked
       |  +--Kick_Hit (Groups ONIA links. Redundant to ONCP since ONIA <Modifier> is always "Any". Or you think of it as "future-proof" if you add more (actual light and heavy) characters.))
       |  +--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
       |  |  +--Bar_Super_Kick
Line 149: Line 146:
       |  |
       |  |
       |  +--Punch_Blocked
       |  +--Punch_Blocked
       |  +--Punch_Hit (Groups ONIA links. Redundant to ONCP since ONIA <Modifier> is always "Any". Or you think of it as "future-proof" if you add more (actual light and heavy) characters.)
       |  +--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
       |  |  +--Bar_Super_Punch
Line 169: Line 166:
       +--Self_Damage
       +--Self_Damage
       +--Self_Damage_Killed
       +--Self_Damage_Killed


{{XML}}
{{XML}}

Revision as of 17:38, 18 March 2021

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 (head nut, huh?)
     |   |
     |   +--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