8,452
edits
m (Iritscen moved page OBD talk:BINA/ONIE to XML:BINA/ONIE without leaving a redirect) |
Paradox-01 (talk | contribs) mNo edit summary |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= | {{XML_BINA_Header | prev=OBJC/CHAR | type=ONIE | next=PAR3 | name=Oni Impact Effects}} | ||
==General information== | |||
* 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). | |||
==File structure== | |||
== | |||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<Oni> | <Oni> | ||
Line 36: | Line 28: | ||
+-- particle n (multiple (n) particle possible) | +-- particle n (multiple (n) particle possible) | ||
==List of tags, types, and flags== | |||
== | |||
{| class="wikitable" width=100% | {| class="wikitable" width=100% | ||
|width=180px| '''tag''' | |width=180px| '''XML tag''' | ||
|width=60px| '''type''' | |width=60px| '''Content type''' | ||
| ''' | | '''Description''' | ||
|- | |- | ||
| <Impact Name="<font color="#777777">Impt</font>''name''"> | | <Impact Name="<font color="#777777">Impt</font>''name''"> | ||
| char[128] | | char[128] | ||
| Closes with "</Impact>". | | Closes with "</Impact>". | ||
Impact owner (Impact Name="...") checks on impact target (Material="..."). | |||
While new materials and impacts can be added, the use of conditions is hardcoded. So you can only build on existing resources (used or extend unused) and ONIA. | |||
While ONIA requires TRAM particle links, the other H2H impacts do not. | |||
Impacts: conditions (needs double-checking) | |||
:''[...]'' | |||
::: '''''Char-env impacts''''' (animation-based: footsteps, fall, etc.) | |||
:''[...]'' | |||
::: '''''Weapon "root" impacts''''' (Weapon, Shrapnel, Weapon_Bounce, Damaging, Blast, Projectile, Projectile, Bullet) | |||
:''[...]'' | |||
::: '''''Weapon particle impacts''''' (kinda sorted: ballistic, energy, extra) | |||
:''[...]'' | |||
:Debris: | |||
:Casing: | |||
:---- | |||
::: '''''H2H impacts''''' | |||
<!--:Special ONCC (CBPI) impacts: a specific body part was hit--> | |||
:Melee: used to let AI know about fights? | |||
:Head: blocked and unblocked? | |||
:Head_Blocked | |||
:Head_Hit | |||
:Head_Killed | |||
:---- | |||
:Kick: Kick was unblocked (probably should be blocked and unblocked condition but isn't, ergo: duplicate of Kick_Hit) | |||
:Kick_Blocked: Punch was blocked | |||
:Kick_Hit: Kick was 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 | |||
:Com_Super_Kick: unused, SP attack flash for Comguy? | |||
:Eli_Super_Kick: SP attack flash for Elite Striker | |||
:Gri_Super_Kick: unused, SP attack flash for Griffin? | |||
:Kon_Super_Kick: SP attack flash for Konoko | |||
:Mur_Super_Kick: SP attack flash for Muro | |||
:Nin_Super_Kick: SP attack flash for Ninja | |||
:Red_Super_Kick: SP attack flash for Fury | |||
:Str_Super_Kick: SP attack flash for Striker | |||
:Swt_Super_Kick: SP attack flash for SWAT | |||
:Tan_Super_Kick: SP attack flash for Tanker | |||
:Tcl_Super_Kick: unused, SP attack flash for TCTF Lite? | |||
:Thu_Super_Kick: unused, SP attack flash for Thugs | |||
:---- | |||
:Kick_Killed: Kick killed a foe | |||
:---- | |||
:Punch: Punch was unblocked (probably should be blocked and unblocked condition but isn't, ergo: duplicate of Punch_Hit) | |||
:Punch_Blocked: Punch was blocked | |||
:Punch_Hit: Punch was 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 | |||
:Com_Super_Punch: unused, SP attack flash for Comguy? | |||
:Eli_Super_Punch: SP attack flash for Elite Striker | |||
:Gri_Super_Punch: unused, SP attack flash for Griffin? | |||
:Kon_Super_Punch: SP attack flash for Konoko | |||
:Mur_Super_Punch: SP attack flash for Muro | |||
:Nin_Super_Punch: SP attack flash for Ninja | |||
:Red_Super_Punch: SP attack flash for Fury | |||
:Str_Super_Punch: SP attack flash for Striker | |||
:Swt_Super_Punch: SP attack flash for SWAT | |||
:Tan_Super_Punch: SP attack flash for Tanker | |||
:Tcl_Super_Punch: unused, SP attack flash for TCTF Lite? | |||
:Thu_Super_Punch: unused, SP attack flash for Thugs | |||
:---- | |||
:Punch_Killed: Punch killed a foe | |||
:---- | |||
:Self_Damage: used ingame? | |||
:Self_Damage_Killed: used ingame? | |||
|- | |- | ||
| <Material Name="<font color="#777777">Mtrl</font>''name''"> | | <Material Name="<font color="#777777">Mtrl</font>''name''"> | ||
| char[128] | | char[128] | ||
| Closes with "</Material>". Can hold multiple <ImpactEffect> if the component and/or the modifier is different. | | Closes with "</Material>". Can hold multiple <ImpactEffect>s if the component and/or the modifier is different. | ||
|- | |- | ||
| <ImpactEffect> | | <ImpactEffect> | ||
Line 60: | Line 121: | ||
| | | | ||
: Impact | : Impact | ||
: Damage | : Damage | ||
: Projectile | : Projectile | ||
It seems it doesn't matter what component name you pick. Maybe it's just for organizing. E.g. the Projectile component can also be used in a Kick_Hit impact. | |||
Traditionally Damages is used when ''traces'' such as ghost sounds and decals are left behind. A ghost sound comes always with modifier "Any" and has either no link (<Name />). It remains to be tested if AI actually use (hear) them. If so ghost sounds are probably simply meant to attract AI by [[AI#Vision_and_hearing|rising their alarm level]]. | |||
|- | |- | ||
| <Modifier> | | <Modifier> | ||
Line 70: | Line 135: | ||
: Medium | : Medium | ||
: Light | : Light | ||
Impact inherits modifier value from ONCC <ImpactModifierName>. | |||
|- | |- | ||
| <Sound> | | <Sound> | ||
Line 96: | Line 163: | ||
| <AISoundRadius> | | <AISoundRadius> | ||
| float | | float | ||
| sound | | Radius of sound sphere that allows AI to hear the sound | ||
|- | |- | ||
| <Particles> | | <Particles> | ||
| - | | - | ||
| | | When there are no Particles, you will simply see the tag "<Particles />". | ||
|- | |- | ||
| <Particle> | | <Particle> | ||
| - | | - | ||
| There can be multiple particle | | 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 122: | 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 | :: 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 140: | Line 207: | ||
|} | |} | ||
===Particle structures=== | |||
=== | |||
'''particle location 0''' | '''particle location 0''' | ||
<Particle> | <Particle> | ||
Line 172: | Line 238: | ||
<Location>5</Location> | <Location>5</Location> | ||
</Particle> | </Particle> | ||
==Visual guides: weapon, melee, environment== | ==Visual guides: weapon, melee, environment== | ||
* Red = start node | |||
* Blue = end node | |||
:However, if you think you should add information or shape this in a more accurate way then do it. =) | * 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?'' | ||
:However, if you think you should add information, or shape this in a more accurate way, then do it. =) | |||
{|class="wikitable" width="100%" | |||
{| | |colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to weapons''' | ||
|colspan="2" align="center"|''' | |||
|- | |- | ||
|width="50%"|''' | |width="50%"|'''If weapon shall have impact effect on environment''' | ||
|''' | |'''If weapon shall have impact effect on characters''' | ||
|- | |- | ||
|valign=top| | |valign=top| | ||
{| border=0 cellspacing=0 cellpadding=0 style="float:right" | |||
{| border=0 cellspacing=0 cellpadding=0 | |||
| | | | ||
[ | [[Image:ONWC-ONIE-AKEV.png|right|thumb]] | ||
|} | |} | ||
* | * 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 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 | |||
| | | | ||
[ | [[Image:ONWC-ONIE-ONCC.png|right|thumb]] | ||
|} | |} | ||
* | * Weapon fires a particle | ||
* | * Particle creates a sound and hits character part | ||
* | * Character part has an ID (probably through <!--TRMA and-->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) | * 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") | ||
* | * Custom materials can be used for characters in case they are registered in ONIE | ||
|} | |} | ||
{|class="wikitable" width="100%" | |||
{| | |colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to animations''' | ||
|colspan="2" align="center"|''' | |||
|- | |- | ||
|width="50%"|''' | |width="50%"|'''Special attack''' | ||
|''' | |'''Normal attack''' | ||
|- | |- | ||
| | | | ||
{| border=0 cellspacing=0 cellpadding=0 style="float:right" | |||
{| border=0 cellspacing=0 cellpadding=0 | |||
|valign=top| | |valign=top| | ||
[ | [[Image:ONCC-ONIE-ONCC_sp-a.png|right|thumb]] | ||
|} | |} | ||
Line 247: | Line 307: | ||
|valign=top| | |valign=top| | ||
{| border=0 cellspacing=0 cellpadding=0 style="float:right" | |||
{| border=0 cellspacing=0 cellpadding=0 | |||
| | | | ||
[ | [[Image:ONCC-ONIE-ONCC_n-a.png|right|thumb]] | ||
|} | |} | ||
Main difference is that ONIA is not used here but CBPI. | |||
---- | ---- | ||
Hurt sounds: | Hurt sounds: | ||
Every ONCC provides one death sound and three hurt sounds | Every ONCC provides one death sound, and three hurt sounds which are played occasionally when melee damage is dealt for this much damage: | ||
* Heavy hurt sound | * Heavy hurt sound: 15 HP or more. | ||
* Medium hurt sound | * Medium hurt sound: 10-14 HP. | ||
* Light hurt sound | * Light hurt sound: less than 10 HP. | ||
|} | |} | ||
{|class="wikitable" width="100%" | |||
{| | |colspan="2" align="center"|'''Overview of involved files when modding ONIE in relation to characters''' | ||
|colspan="2" align="center"|''' | |||
|- | |- | ||
|width="50%"|''' | |width="50%"|'''If character hits ground''' | ||
|''' | |'''Something left?''' | ||
|- | |- | ||
|valign=top| | |valign=top| | ||
{| border=0 cellspacing=0 cellpadding=0 style="float:right" | |||
{| border=0 cellspacing=0 cellpadding=0 | |||
| | | | ||
[ | [[Image:ONCC-ONIE-AKEV.png|right|thumb]] | ||
|} | |} | ||
* Character hits textured environment. | * Character hits textured environment. | ||
* Texture is registered in TMBD and leads to material for ONIE. | * Texture is registered in TMBD and leads to material for ONIE. | ||
* The bone | * The bone ID is used for the character's impact. | ||
* Now actual impact file (Impt) is looked up. | * Now actual impact file (Impt) is looked up. | ||
* Effect (particle and sound) is chosen from impact and the material | * Effect (particle and sound) is chosen from impact and the material through ONIE. | ||
---- | ---- | ||
For example, this is used when ''running around''. Every step will trigger a step sound | For example, this is used when ''running around''. Every step will trigger a step sound based on the ground's material: dirt, snow, metal, etc. | ||
|valign=top| | |valign=top| | ||
ONCC holds impact modifier information (Any/Light/Medium/Heavy) for ONIE. | ONCC holds impact modifier information (Any/Light/Medium/Heavy) for ONIE. | ||
* Footstep_Walk | * Footstep_Walk | ||
Line 305: | Line 360: | ||
|} | |} | ||
==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 | w1_tap and w2_sap deals additional damage, amount depends on material "head"/"helmet". Feel free to extend/tweak/criticize. | ||
extend/tweak/criticize. | |||
''' | '''Damage overview:''' | ||
w1_tap | w1_tap | ||
Line 330: | Line 378: | ||
: head: 4-5 damage; 0.8-1.4 knockback | : head: 4-5 damage; 0.8-1.4 knockback | ||
'''Basic modifications/new files:''' | |||
''' | |||
<font size="-1"> | <font size="-1"> | ||
Line 455: | Line 502: | ||
{{divhide|second beta}} | {{divhide|second beta}} | ||
Known bugs: | Known bugs: | ||
* | * 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. | ||
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# | * 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 482: | Line 528: | ||
w4_psm x [4->1] 60-120 M2 S3 (less base damage now) | w4_psm x [4->1] 60-120 M2 S3 (less base damage now) | ||
head +1 +6 +0.7 (because there are more impact triggering particle) | head +1 +6 +0.7 (because there are more impact-triggering particle) | ||
unprotected +0-1 +5 +0.3 ([[Gameplay#Weapon_tips|wall reflected]] beam deals no base damage | unprotected +0-1 +5 +0.3 ([[Gameplay#Weapon_tips|wall reflected]] beam deals no base damage, only the additional, so yes, the beam gets weaker) | ||
helmet +0-1 +1 +0.1 | helmet +0-1 +1 +0.1 | ||
w5_sbg x 30-32 30 25 ("perfect shot" dealt | w5_sbg x 30-32 30 25 ("perfect shot" already dealt over 200 points) | ||
head +5 +4 +1 (therefore let's keep additional damage low here) | head +5 +4 +1 (therefore let's keep additional damage low here) | ||
unprotected +3 +2 +1 | unprotected +3 +2 +1 | ||
Line 528: | 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) | ||
| | ||
{{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 555: | Line 599: | ||
{{divhide|third beta}} | {{divhide|third beta}} | ||
Changes: | Changes: | ||
* modified again | * modified w12 again (fixed damage type) and w15 particle (exchanged stun and knockdown values from unprotected and helmet) | ||
* rejected w6_vdg modification (debug almost completed; "<ImpactEffect>" from w8_mbo was interfering) | * rejected w6_vdg modification (debug almost completed; "<ImpactEffect>" from w8_mbo was interfering) | ||
| | ||
Line 562: | Line 606: | ||
Changes: | Changes: | ||
* fixed more damage types | * fixed more damage types | ||
* w6_vdg wasn't really fixed | * w6_vdg wasn't really fixed until now | ||
* '''[http://mods.oni2.net/node/71 files]''' | * '''[http://mods.oni2.net/node/71 files]''' | ||
| | ||
{{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== | ||
Line 592: | Line 634: | ||
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:''' | |||
folder sub folder | folder sub folder | ||
Line 613: | Line 654: | ||
Reason: | Reason: | ||
* OldChina's BINAEINOimpact_effects gets into level0_Final because that package has the highest number. It supports Hanako/Hayate's Ora impact but also Bgi_NinjaBot/Grey Fury's Grn. | * OldChina's BINAEINOimpact_effects gets into level0_Final because that package has the highest number. It supports Hanako/Hayate's Ora impact but also Bgi_NinjaBot/Grey Fury's Grn. | ||
* The Impt files, Mtrl and BINADBMT are shipped normally to level0_Final because they aren't | * 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== | ||
Line 633: | Line 673: | ||
::Okay, I will add damage dealing particle for flesh/cloth material around next week. [[User:Paradox-01|Paradox-01]] 13:41, 10 May 2009 (UTC) | ::Okay, I will add damage dealing particle for flesh/cloth material around next week. [[User:Paradox-01|Paradox-01]] 13:41, 10 May 2009 (UTC) | ||
:::Coolio. Make sure to upload your files somewhere, or catch me on Yahoo. I'll include it as a package in the next AE. (Not that I don't know how to do it myself, but the installer is taking up all my Oni time atm...) [[User:Gumby|Gumby]] 00:54, 11 May 2009 (UTC) | :::Coolio. Make sure to upload your files somewhere, or catch me on Yahoo. I'll include it as a package in the next AE. (Not that I don't know how to do it myself, but the installer is taking up all my Oni time atm...) [[User:Gumby|Gumby]] 00:54, 11 May 2009 (UTC) | ||
*'''Changes to the "blood mod": Droids shouldn't bleed but show electric discharges''' | |||
: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. | |||
::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. | |||
::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". | |||
::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}} |
edits