XML:BINA/ONIE

From OniGalore
< XML:BINA
Revision as of 22:10, 9 May 2009 by Paradox-01 (talk | contribs) (head shot mod (w1_tap + w2_sap), maybe even AE worthy)
Jump to navigation Jump to search

BINA/ONIE: impact effects

XML notes

More than one particle possible in particle part.


Visual guides: weapon, melee, environment

Note about philosophy in here:

These visual guides don't claim be hundred percent right in technical way. I can't look into engine. But they should give a good hint which files are worth to care about and how to debug a mistake: going through all important files, e.g. Could it be that my new texture is not registered in TMBD?
However, if you think you should add information or shape this in a more accurate way then do it. =)


overview of involved files when modding ONIE in relation to weapons
if weapon shall have impact effect on environment if weapon shall have impact effect on characters

ONWC-ONIE-AKEV_preview.png

  • weapon fires a particle
  • particle creates a sound and hits textured environment
  • texture’s material name is looked up in TMBD (decals do not work)
  • material file is looked up (can hold parent material)
  • effect is chosen from ONIE by weapon and material
  • if parent material* exists then it is possible that a second effect is lunched
  • ONIE effect leads to a particle and sound file which means the effect (however, sound can be also played from released particle)

* Loser’s material “Explosive” has “Glass” as parent material which shatters objects when hit; this can destroy any object - not just the "glassworld".

ONWC-ONIE-ONCC_preview.png

  • weapon fires a particle
  • particle creates a sound and hits character part
  • character part has an Id (probably through TRIA), Id is sent to CBPM
  • material file is looked up (can hold parent material)
  • effect is chosen from ONIE by weapon and material
  • ONIE effect leads to a particle and sound file which means the effect (however, sound can be also played from released particle)
  • it seems that effects on characters cannot be created through TMBD (still you can see a not working test there called "Character")
  • custom materials can be used for characters in case they are registered in ONIE


overview of involved files when modding ONIE in relation to animations
special attack normal attack

ONCC-ONIE-ONCC_sp-a_TN.png

  • Character performs special attack and shouts attack's name (registered in ONCC).
  • TRAM holds link to ONIA, for example: Eliflash1
  • ONIA holds impact type, for example: <Type>Eli_Super_Kick</Type>
  • Impact file is looked up, data is sent to ONIE.
  • Okay, back to TRAM which hits enemy.
  • Enemy's bone is hit, TRIA is looked up and data sent to CBPM.
  • CBPM checks material, data is sent to ONIE.
  • So, final effect is chosen from impact type and material.
  • Particle and sound becomes released.

ONCC(ONIA) holds special attack modifier information (Any/Light/Medium/Heavy) for ONIE.

Main difference is that ONIA is not used here but CBPI.

ONCC-ONIE-ONCC_n-a_TN.png


Hurt sounds:

So far, I'm not sure how hurt sounds (Light/Medium/Heavy) are chosen to be played.


overview of involved files when modding ONIE in relation to characters
if character hits ground something left ?

ONCC-ONIE-AKEV_preview.png

  • Character hits textured environment.
  • Texture is registered in TMBD and leads to material for ONIE.
  • The bone Id is used for the character's impact.
  • Now actual impact file (Impt) is looked up.
  • Effect (particle and sound) is chosen from impact and the material: trough ONIE.

For example, this is used when running around. Every step will trigger a step sound, different to ground's material: dirt, snow, metal, etc..

ONCC holds impact modifier information (Any/Light/Medium/Heavy) for ONIE.

  • Footstep_Walk
  • Footstep_RunMain
  • Footstep_Crouch
  • Fall_Slide
  • Fall_Land
  • Fall_LandHard
  • Fall_Knockdown
  • Fall_Knockdown
  • Fall_Knockdown
  • Footstep_Turn
  • Footstep_RunStart
  • Footstep_SingleStep
  • Footstep_RunStop
  • Footstep_WalkStop
  • Footstep_RunSprint


examples

Particle - Character

Extra damage for head hits

Okay, here's a beta. w1_tap and w2_sap deals additional damage, amount depends on material "head"/"helmet". Feel free to extend/tweak/criticize.

>> put files into level0_Final


damage overview:

w1_tap

helmet: 4-5 damage; 0.6-1.7 knockback
head: 8-10 damage; 1.7-2.8 knockback

w2_sap

helmet: 2-3 damage; 0.3-0.8 knockback
head: 4-5 damage; 0.8-1.4 knockback


basic modifications / new files:

MtrlHelmet.xml

<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.37.0">
    <Instance id="0" type="Mtrl">
        <ParentMaterial>MtrlArmor</ParentMaterial>
    </Instance>
</Oni>

------------------------------------------------------------------------

MtrlHead.xml

<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.37.0">
    <Instance id="0" type="Mtrl">
        <ParentMaterial>MtrlFlesh</ParentMaterial>
    </Instance>
</Oni>

------------------------------------------------------------------------

ONCCelite_hard_01.xml (Helmet is registered in eleventh link)

[...]
    <Instance id="3" type="CBPM">
        <Materials>
            [...]
            <Link>MtrlHelmet</Link>
            [...]
[...]

------------------------------------------------------------------------

BINA3RAPhitheadW2_e01.xml
[...]
       <Events>
           <HitCharacter>
               <DamageChar>
                   <Damage>
                       <Random Min="4" Max="5" />
                   </Damage>
                   <StunDamage>0</StunDamage>
                   <KnockBack>
                       <Random Min="0.8" Max="1.4" />
                   </KnockBack>
                   <DamageType>0</DamageType>
                   <SelfImmune>1</SelfImmune>
               </DamageChar>
               <Die />
           </HitCharacter>
           <Create>
               <FindAttractor>
                   <DelayTime>0.1</DelayTime>
               </FindAttractor>
               <AttractHoming>
                   <TurnSpeed>400</TurnSpeed>
                   <PredictPosition>10</PredictPosition>
                   <HorizontalOnly>0</HorizontalOnly>
               </AttractHoming>
           </Create>
       </Events>
   [...]

------------------------------------------------------------------------
 
BINA3RAPhithead_e01.xml, BINA3RAPhithelmet_e01.xml, BINA3RAPhithelmetW2_e01.xml similar to above

------------------------------------------------------------------------

BINAEINOimpact_effects.xml

<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.37.0">
    <ImpactEffects>
        [...]
        <Impact Name="w1_tap">
            [...]
            <Material Name="Helmet">
                <ImpactEffect>
                    <Component>Impact</Component>
                    <Modifier>Any</Modifier>
                    <Sound>
                        <Name>ap_hit_hard</Name>
                        <AICanHear>false</AICanHear>
                        <AISoundType>0</AISoundType>
                        <AISoundRadius>0</AISoundRadius>
                    </Sound>
                    <Particles>
                        <Particle>
                            <Name>hithelmet_e01</Name>
                            <Orientation>0</Orientation>
                            <Location>0</Location>
                        </Particle>
                    </Particles>
                </ImpactEffect>
            </Material>
            <Material Name="Head">
                <ImpactEffect>
                    <Component>Impact</Component>
                    <Modifier>Any</Modifier>
                    <Sound>
                        <Name>ap_hit_body</Name>
                        <AICanHear>false</AICanHear>
                        <AISoundType>0</AISoundType>
                        <AISoundRadius>0</AISoundRadius>
                    </Sound>
                    <Particles>
                        <Particle>
                            <Name>hithead_e01</Name>
                            <Orientation>0</Orientation>
                            <Location>0</Location>
                        </Particle>
                    </Particles>
                </ImpactEffect>
            </Material>
            [...]


Mod ideas

  • How about melee attacks dealing more damage on head/helmet?
  • Footprints in snow. Should be possible through character-environment collision plus decals or particle which becomes fixed to the ground.