XML talk:Adding Daodan powers to a character

From OniGalore
Jump to navigation Jump to search

Notes on particle systems

Setup

These particle files are all used by Konoko.

They are registered in her ONCC files: konoko_generic, k3, k4_A, k4_F, k4_G, k4_K, k4_L (Konoko's 3D model is in the 4th generation?)

Suggestions on researching these particle. (Like in genetics we could go for a knockout approach.

In later tests the particle is cut off of any child particle then its appearance gets documented.
Then one child particle gets added back. Visible features of the parent particle will be silenced if necessary.
One particle after another re-attached until all have been documented.
The summary should include a gallery in which entire system but also each individual particle is illustrated.


BSL

To cut down startup time, BSL should be changed. Ideally, the level should be just a black room. But changing the fog values might be good enough.

func main
{
	### remove all other BSL files

	### show XYZ position
	#chr_debug_characters = 1
	### teleport Mai onto the streets
	chr_location 0 -500 -2 -940
	### darken her surrounding
	gl_fog_blue=0
	gl_fog_red=0
	gl_fog_green=0
	gl_fog_start=0.9
	### transforming to SSJ
	chr_super 0 1
}


Level plugin

"build level 0 Daodan.bat"
onisplit -create  level0_Daodan level0_Daodan/*.xml
onisplit -import:pc level0_Daodan level0_Daodan.dat

For faster testing level plugins are handy but it is not guaranteed that their content overwrites the old one. You better rename your cloned test files and adjust the internal references.

Since konoko_generic is always successfully overwritten I only need to change her ONCP, knocking out all but one Daodan particle.

           <ONCPParticle>
               <Name>super_l_hand</Name>
               <Type>super_e01new</Type>
               <BodyPart>LeftFist</BodyPart>
           </ONCPParticle>


superglow_e01

           <ONCPParticle>
               <Name>super_glow</Name>
               <Type>superglow_e01</Type>
               <BodyPart>Pelvis</BodyPart>
           </ONCPParticle>


Function
  • Daodan body (aura) particle
Structure
superglow_e01 (Sprite, notfoundtex)
 |
 +-- superglow_p01 (Sprite, lensflare11)


super_e01

           <ONCPParticle>
               <Name>super_l_hand</Name>
               <Type>super_e01</Type>
               <BodyPart>LeftFist</BodyPart>
           </ONCPParticle>
           <ONCPParticle>
               <Name>super_r_hand</Name>
               <Type>super_e01</Type>
               <BodyPart>RightFist</BodyPart>
           </ONCPParticle>
Function
  • Daodan fist particle
Structure
super_e01 (Sprite, lensflare01 (dead?))
 |
 +-- super_p01 (Sprite, lensflare01)
 +-- super_p03 (Sprite, lensflare01)

Is super_p02 never used?


h2h_powerup_e01

Pseudo-Daodan particle. Burst effect at the end of a few levels.

           <ONCPParticle>
               <Name>daodan</Name>
               <Type>h2h_powerup_e01</Type>
               <BodyPart>None</BodyPart>
           </ONCPParticle>

Structure:

h2h_powerup_e01 (Sprite, lensflare01)
 |
 +-- h2h_powerup_p01 (Discus, lensflare11)


h2h_powerup_e01a

Pseudo-Daodan particle. Burst effect at the end of a few levels.

           <ONCPParticle>
               <Name>daodan2</Name>
               <Type>h2h_powerup_e01a</Type>
               <BodyPart>None</BodyPart>
           </ONCPParticle>


Structure
h2h_powerup_e01a (Sprite, lensflare01)
 |
 +-- h2h_powerup_p01 (Discus, lensflare11)
 +-- h2h_powerup_p03 (Flat, lensflare06)


Differences to h2h_powerup_e01
  • <HasDamageOwner>true
  • it has an additional emitter for h2h_powerup_p03
  • it deals damage within a huge radius
               <DamageBlast>
                   <Damage>5</Damage>
                   <StunDamage>0</StunDamage>
                   <KnockBack>5</KnockBack>
                   <Radius>1000</Radius>
                   <FallOff>1</FallOff>
                   <DamageType>5</DamageType>
                   <SelfImmune>1</SelfImmune>
               </DamageBlast>


Consequence for the story
  • At the end of the game Konoko shows this burst effect which makes everyone else fall to the ground.
  • The BSL command begin_cutscene stops all actions of AI and the player and let them go into idle. Sometime AI doesn't get up again.
  • Anyway, damage of 5 is not lethal. Griffin could have survived this. (On a second thought it is also idiotic to assume that the folks around Konoko will die from a little lightshow.)


Temporary notes

Silent emitter

Some emitter might seem to have lensflares but those could be silent. Maybe the devs decided to use a template which has already some properties set while the emitter itself remains invisible.

       <Appearance>
           <DisplayType>Sprite</DisplayType>
           <TexGeom>lensflare01</TexGeom>


HasAttractor

BINA3RAPsuper_p01

<HasAttractor>True seems to be necessary for particle action <AttractSpring>


HasAttachmentMatrix

BINA3RAPsuper_p03

Why do we have here a <HasAttachmentMatrix>true ?