XML:BINA/ONIE: Difference between revisions

m
no edit summary
m (components for organizing stuff + ghost sound only for AI)
mNo edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{XML_BINA_Header | prev=TMBD | type=ONIE | next=PAR3 | name=Oni Impact Effects}}
{{XML_BINA_Header | prev=OBJC/CHAR | type=ONIE | next=PAR3 | name=Oni Impact Effects}}


===General information===
==General information==
* The XML code on this page is compatible with OniSplit '''v0.9.61.0'''
* The XML code on this page is compatible with OniSplit '''v0.9.61.0'''.
* BINAEINOimpact_effects.oni is stored ''globally'' (in AE/AEInstaller/vanilla/level0_Final.dat)  
* BINAEINOimpact_effects.oni is stored ''globally'' (in AE/AEInstaller/vanilla/level0_Final.dat).
 
 
===File structure===


==File structure==
  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
  <Oni>
  <Oni>
Line 30: Line 28:
                 +-- particle n (multiple (n) particle possible)
                 +-- particle n (multiple (n) particle possible)


 
==List of tags, types, and flags==
 
===List of tags, types, and flags===
{| class="wikitable" width=100%
{| class="wikitable" width=100%
|width=180px| '''XML tag'''
|width=180px| '''XML tag'''
Line 61: Line 57:
::: '''''H2H impacts'''''
::: '''''H2H impacts'''''
<!--:Special ONCC (CBPI) impacts: a specific body part was hit-->
<!--:Special ONCC (CBPI) impacts: a specific body part was hit-->
:Melee: used to let AI know about fights ?
:Melee: used to let AI know about fights?
:Head: blocked and unblocked ?
:Head: blocked and unblocked?
:Head_Blocked
:Head_Blocked
:Head_Hit
:Head_Hit
Line 73: Line 69:
:Special ONCC (ONIA) impacts: target was kicked by attacker with this ONIA link, blocked and unblocked
:Special ONCC (ONIA) impacts: target was kicked by attacker with this ONIA link, blocked and unblocked
:Bar_Super_Kick: SP attack flash for Barabas
:Bar_Super_Kick: SP attack flash for Barabas
:Com_Super_Kick: unused, SP attack flash for Comguy ?
:Com_Super_Kick: unused, SP attack flash for Comguy?
:Eli_Super_Kick: SP attack flash for Elite Striker
:Eli_Super_Kick: SP attack flash for Elite Striker
:Gri_Super_Kick: unused, SP attack flash for Griffin ?
:Gri_Super_Kick: unused, SP attack flash for Griffin?
:Kon_Super_Kick: SP attack flash for Konoko
:Kon_Super_Kick: SP attack flash for Konoko
:Mur_Super_Kick: SP attack flash for Muro
:Mur_Super_Kick: SP attack flash for Muro
Line 83: Line 79:
:Swt_Super_Kick: SP attack flash for SWAT
:Swt_Super_Kick: SP attack flash for SWAT
:Tan_Super_Kick: SP attack flash for Tanker
:Tan_Super_Kick: SP attack flash for Tanker
:Tcl_Super_Kick: unused, SP attack flash for TCTF Lite ?
:Tcl_Super_Kick: unused, SP attack flash for TCTF Lite?
:Thu_Super_Kick: unused, SP attack flash for Thugs
:Thu_Super_Kick: unused, SP attack flash for Thugs
:----
:----
Line 94: Line 90:
:Special ONCC (ONIA) impacts: target was punched by attacker with this ONIA link, blocked and unblocked
:Special ONCC (ONIA) impacts: target was punched by attacker with this ONIA link, blocked and unblocked
:Bar_Super_Punch: SP attack flash for Barabas
:Bar_Super_Punch: SP attack flash for Barabas
:Com_Super_Punch: unused, SP attack flash for Comguy ?
:Com_Super_Punch: unused, SP attack flash for Comguy?
:Eli_Super_Punch: SP attack flash for Elite Striker
:Eli_Super_Punch: SP attack flash for Elite Striker
:Gri_Super_Punch: unused, SP attack flash for Griffin ?
:Gri_Super_Punch: unused, SP attack flash for Griffin?
:Kon_Super_Punch: SP attack flash for Konoko
:Kon_Super_Punch: SP attack flash for Konoko
:Mur_Super_Punch: SP attack flash for Muro
:Mur_Super_Punch: SP attack flash for Muro
Line 104: Line 100:
:Swt_Super_Punch: SP attack flash for SWAT
:Swt_Super_Punch: SP attack flash for SWAT
:Tan_Super_Punch: SP attack flash for Tanker
:Tan_Super_Punch: SP attack flash for Tanker
:Tcl_Super_Punch: unused, SP attack flash for TCTF Lite ?
:Tcl_Super_Punch: unused, SP attack flash for TCTF Lite?
:Thu_Super_Punch: unused, SP attack flash for Thugs
:Thu_Super_Punch: unused, SP attack flash for Thugs
:----
:----
Line 167: Line 163:
| <AISoundRadius>
| <AISoundRadius>
| float
| float
| sound radius
| Radius of sound sphere that allows AI to hear the sound
|-
|-
| <Particles>
| <Particles>
Line 175: Line 171:
| <Particle>
| <Particle>
| -
| -
| There can be multiple particle tags. They close with "</Particle>". Watch out for [[#particle structures|different structures]] when setting the <Location> value.
| There can be multiple particle tags. They close with "</Particle>". Watch out for [[#Particle structures|different structures]] when setting the <Location> value.
|-
|-
| <Name>
| <Name>
Line 193: Line 189:
|
|
: 0 - impact location
: 0 - impact location
: 1 - impact location + impact direction * offset ?
: 1 - impact location + impact direction * offset?
: 4 - impact location; used for decals
: 4 - impact location; used for decals
: 5 - impact location and attach to character?
: 5 - impact location and attach to character?
:: particle is fixed to character if origin is particle-character collision, not fixed if origin is character-character collision*. (* example: look up plasma shot "w3_phr_x02" and add it in particle section of <Impact Name="Kick_Hit">)
:: The particle is fixed to character if the origin is a particle-character collision, but not fixed if the origin is a character-character collision (for example, look up the plasma shot "w3_phr_x02" and add it in the particle section of <Impact Name="Kick_Hit">).
|-
|-
| <Offset>
| <Offset>
Line 243: Line 239:
                         </Particle>
                         </Particle>


 
==Visual guides: weapon, melee, environment==
 
* Red = start node
===Visual guides: weapon, melee, environment===
* Blue = end node
Note about philosophy in here:
* These visual guides don't claim be hundred percent right on a technical level. I can't look into the engine. But they should give a good hint which files are worth caring 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?''
: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 caring 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. =)
:However, if you think you should add information, or shape this in a more accurate way, then do it. =)


{|class="wikitable" width="100%"
{|class="wikitable" width="100%"
|colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to weapons'''
|colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to weapons'''
|-
|-
|width="50%"|'''if weapon shall have impact effect on environment'''
|width="50%"|'''If weapon shall have impact effect on environment'''
|'''if weapon shall have impact effect on characters'''
|'''If weapon shall have impact effect on characters'''
|-
|-
|valign=top|
|valign=top|
Line 263: Line 257:
|}
|}


* weapon fires a particle
* Weapon fires a particle
* particle creates a sound and hits textured environment
* Particle creates a sound and hits textured environment
* texture’s material name is looked up in TMBD (decals do not work)
* Texture’s material name is looked up in TMBD (decals do not work)
* material file is looked up (can hold parent material)
* Material file is looked up (can hold parent material)
* effect is chosen from ONIE by weapon and material
* Effect is chosen from ONIE by weapon and material
* if parent material* exists then it is possible that a second effect is produced
* If parent material* exists then it is possible that a second effect is produced
* ONIE effect leads to a particle and sound file which means the effect (however, sound can be also played from released particle)
* 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".
: *Loser’s material “Explosive” has “Glass” as its parent material, which shatters objects when hit; this can destroy any object - not just the "glassworld".
|valign=top|
|valign=top|
{| border=0 cellspacing=0 cellpadding=0 style="float:right"
{| border=0 cellspacing=0 cellpadding=0 style="float:right"
Line 278: Line 272:
|}
|}


* weapon fires a particle
* Weapon fires a particle
* particle creates a sound and hits character part
* Particle creates a sound and hits character part
* character part has an ID (probably through <!--TRMA and-->TRIA), ID is sent to CBPM
* Character part has an ID (probably through <!--TRMA and-->TRIA), ID is sent to CBPM
* material file is looked up (can hold parent material)
* Material file is looked up (can hold parent material)
* effect is chosen from ONIE by weapon and 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)
* 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 failed test there called "Character")
* It seems that effects on characters cannot be created through TMBD (still you can see a failed test there called "Character")
* custom materials can be used for characters in case they are registered in ONIE
* Custom materials can be used for characters in case they are registered in ONIE
|}
|}


{|class="wikitable" width="100%"
{|class="wikitable" width="100%"
|colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to animations'''
|colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to animations'''
|-
|-
|width="50%"|'''special attack'''
|width="50%"|'''Special attack'''
|'''normal attack'''
|'''Normal attack'''
|-
|-
|
|
Line 327: Line 320:
* Light hurt sound: less than 10 HP.
* Light hurt sound: less than 10 HP.
|}
|}


{|class="wikitable" width="100%"
{|class="wikitable" width="100%"
|colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to characters'''
|colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to characters'''
|-
|-
|width="50%"|'''if character hits ground'''
|width="50%"|'''If character hits ground'''
|'''something left ?'''
|'''Something left?'''
|-
|-
|valign=top|
|valign=top|
Line 368: Line 360:
|}
|}


 
==Examples==
===Examples===
<!--
===Particle - Environment===
===Particle - Environment===
-->
===Particle - Character===
====Particle - Character====
====Extra damage for head hits====
 
=====Extra damage for head hits=====
{{divhide|first beta}}
{{divhide|first beta}}
w1_tap and w2_sap deals additional damage, amount depends on material "head"/"helmet". Feel free to extend/tweak/criticize.
w1_tap and w2_sap deals additional damage, amount depends on material "head"/"helmet". Feel free to extend/tweak/criticize.


 
'''Damage overview:'''
'''damage overview:'''


w1_tap
w1_tap
Line 391: Line 378:
: head: 4-5 damage; 0.8-1.4 knockback
: head: 4-5 damage; 0.8-1.4 knockback


 
'''Basic modifications/new files:'''
'''basic modifications / new files:'''


<font size="-1">
<font size="-1">
Line 517: Line 503:
Known bugs:
Known bugs:
* VDG refused to work properly so I modified it to keep the original effect at least.
* VDG refused to work properly so I modified it to keep the original effect at least.
* Screaming cells do too much damage in a short time.
* Screaming Cells do too much damage in a short time.


Changes:
Changes:
* Particle becomes attached now after spawning, should be more precise than being attracted.
* Particle becomes attached now after spawning, should be more precise than being attracted.
* Added [[AE:New_weapons#w15_smg_Silenced_Machine_Gun|w15_smg]] into ONIE.
* Added [[AE:New_weapons#w15_smg|w15_smg]] into ONIE.
* Material Flesh and Cloth uses same damage dealing particle, "unprotected".
* Material Flesh and Cloth uses same damage dealing particle, "unprotected".


  material damage stun knockback (notes)
  material damage stun knockback (notes)
Line 589: Line 574:
  unprotected +2 +0.2 +0.25
  unprotected +2 +0.2 +0.25
  helmet +3 +0.1 +0.1
  helmet +3 +0.1 +0.1
 
  M=Mean S=StdDev (bell curve values)
  M=Mean S=StdDev (bell curve values)
&nbsp;
&nbsp;
{{divhide|end}}
{{divhide|end}}


I haven't gotten to try these files out yet (hopefully soon), but I like the idea. I just want to give my opinions on a couple things on a conceptual level:
I haven't gotten to try these files out yet (hopefully soon), but I like the idea. I just want to give my opinions on a couple things on a conceptual level:
Line 628: Line 611:
{{divhide|end}}
{{divhide|end}}


<!--
===Character - Character (normal attack)===
===Character - Character (normal attack)===
===Character - Character (special attack)===
===Character - Character (special attack)===
===Character - Environment===
===Character - Environment===
-->


===Mod conflicts===
==Mod conflicts==
Oni allows only one ONIE file to be installed. In that file a lot of links come together and can easily create conflicts (crashes or just missing visuals) if various packages holds a version of that file.
Oni allows only one ONIE file to be installed. In that file a lot of links come together and can easily create conflicts (crashes or just missing visuals) if various packages holds a version of that file.


Line 652: Line 633:


Reason: BINAEINOimpact_effects file from package with highest number gets integrated into level0_Final.
Reason: BINAEINOimpact_effects file from package with highest number gets integrated into level0_Final.


'''Example 2:''' Exploding barrels don't work
'''Example 2:''' Exploding barrels don't work
Line 676: Line 656:
* The Impt files, Mtrl and BINADBMT are shipped normally to level0_Final because they aren't duplicates. As a consequence, Grey Fury fully works while exploding barrels do not.
* The Impt files, Mtrl and BINADBMT are shipped normally to level0_Final because they aren't duplicates. As a consequence, Grey Fury fully works while exploding barrels do not.


 
==Mod ideas==
===Mod ideas===
*'''How about melee attacks dealing more damage on head/helmet?'''
*'''How about melee attacks dealing more damage on head/helmet?'''
:Could be more easily\accurately done with an attached particle on the hit_head animations. [[User:Gumby|Gumby]] 03:54, 10 May 2009 (UTC)
:Could be more easily\accurately done with an attached particle on the hit_head animations. [[User:Gumby|Gumby]] 03:54, 10 May 2009 (UTC)
Line 698: Line 677:
:Also they could explode if you hit their energy cell (low probability).
:Also they could explode if you hit their energy cell (low probability).
:This is quite similar to the "material-dependent damage" a.k.a. head shot mod.
:This is quite similar to the "material-dependent damage" a.k.a. head shot mod.
::I suggest we add two [[XML:Mtrl#vanilla_material_tree|materials to the character section]]: Electric and Electric_Danger. (* Kind of an unspecific name so it can be used for droids, mechs, or even SLD.)
::I suggest we add two [[XML:Mtrl#Vanilla_material_tree|materials to the character section]]: Electric and Electric_Danger. (* Kind of an unspecific name so it can be used for droids, mechs, or even SLD.)
::After that we modify the materials of the ONCCs(*) in question, adding there (CBPM) the new materials.
::After that we modify the materials of the ONCCs(*) in question, adding there (CBPM) the new materials.
::Then we go to the ONIE and add our desired effect to <nowiki><Impact Name="wN_name"><Material Name="NewMaterial"></nowiki>.
::Then we go to the ONIE and add our desired effect to <nowiki><Impact Name="wN_name"><Material Name="NewMaterial"></nowiki>.
::For melee attacks we probably need to modify <Impact Name="Punch"> and the almost empty looking <Impact Name="Kick">. Insert here material "Electric" and "Electric_Danger".
::For melee attacks we probably need to modify <Impact Name="Punch"> and the almost empty looking <Impact Name="Kick">. Insert here material "Electric" and "Electric_Danger".
::Particles: we can probably clone some ninja special attack particles, scaling them down. For "Electric_Danger" it might be fun to spawn a huge explosion by a chance of 0.1% to 1% ? --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 21:24, 5 June 2018 (CEST)
::Particles: we can probably clone some ninja special attack particles, scaling them down. For "Electric_Danger" it might be fun to spawn a huge explosion by a chance of 0.1% to 1% ? --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 21:24, 5 June 2018 (CEST)
::Testing ...
::The blood mod bypasses ONIE by overwriting existing particles. But in order to distinguished between materials we need ONIE.
::It can be argued that blood shouldn't be dropped when armor is hit but damage isn't reduced so one might just go with the "drops" here to emphases that full damage was dealt.
::For showing robot specific damage we need at least one new material. For now we might expand on the '''impact Punch_Hit''', '''Kick_Hit''' and '''Head_Hit''', introducing '''material Electric''' and '''Electric_Danger'''.
::After finishing the SP bot FX code we should see how to exactly incorporate the blood mod.
::In theory weapon impacts will can be dealt with the '''parent impacts Bullet, Energy and Grenade''' avoiding the need to write code for each weapon and making that 99% future-proof.
::To make this actually work weapons wouldn't be allowed to use parent materials Character and Default so Impact Bullet can be looked up when there was nothing found in Impact wN_name.
::Also there's an open question is how to apply the new particles when a Tanker does a head nut on the bot. Self_Damage didn't work.
::How to track it down? With knockdown tests we would not know if we removed the impact with top priority or a fallback (parent impact). But with marker tests (adding additional particle) we will know whether we got the top priority or a parent impact: the top priority impact would show the particle, the parent would not.
::Surprise, it turns out that throws don't make impacts at all, ONIE is totally unrelated at them. You can test this with making an almost empty ONIE, just use impact Default, material Character and a particle. Any H2H will trigger now this impact but not the throws.  --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 21:25, 10 June 2018 (CEST)


{{XML}}
{{XML}}
8,452

edits