AE:Glass: Difference between revisions

5,359 bytes added ,  7 May 2022
m
→‎Glass-breaking combos: localized images
m (...)
m (→‎Glass-breaking combos: localized images)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{|align=right
{{fmbox
  | text = This page documents old modding efforts and is obsolete. Search the [[AEI]] for "Dangerous Glass" and "Glass Breaking Moves" to find mod packages that encompass most of what is discussed here.
  }}
{|style="float:right"
![[AE:ONK|Oni ni Kanabô]]
![[AE:ONK|Oni ni Kanabô]]
|-
|-
|[[Image:ONK.png]]
|[[Image:ONK.png|link=AE:ONK]]
|}
|}
This is for various modifications of Oni's glass and its behaviour.
This is for various modifications of Oni's glass and its behaviour.
:Glass-breaking combos will be covered here as a specific case of [[AE:Melee|melee modding]]
:Glass-breaking combos will be covered here as a specific case of melee modding
;Overview
;Overview
We all know most of Oni's glass can be shot. However :
We all know most of Oni's glass can be shot. However :
Line 19: Line 22:
:Glass shards can be modified so that they hurt nearby characters when falling.
:Glass shards can be modified so that they hurt nearby characters when falling.
;See it in action
;See it in action
:[http://video.google.com/videoplay?docid=3161530428428979921 Google video] by [[User:EdT|EdT]]
:[http://edt.oni2.net/mov/deadlyglass.mov Video] by [[User:EdT|EdT]]
;Get it as a patch
;Get it as a .oni file
:[http://svn.oni2.net/onk/level0_Final/BINA/0/3RAPglass_shard.BINA HERE] (it's not actually there yet ^^)
:http://gumby.oni2.net/AE/oni%20files/glass/BINA3RAPglass_shard.oni (already in AE, does 8 damage)
:When it's there, you'll just import it over the original data of 3RAPglass_shard.BINA, in OUP's '''Binary .raw editor'''
;Get the XML version
:http://gumby.oni2.net/AE/oni%20files/glass/XML/BINA3RAPglass_shard.xml
;Do it yourself
;Do it yourself
* Open '''level0_Final.dat''' with [[OBD:OUP|OniUnPacker]]
* Use the Binary.raw editor to select the file '''3RAPglass_shard.BINA'''
* Find the 0x0B at 0x10B4 (0xB=13 is the ID of the "Die" event)
**change it to 0x1A (0x1A is the ID of the "Damage Char" event)
* Find the 0x00 at 0x117C (unused)
**change it to 0x03 (type of "damage" : float)
* Find the 0x00000000 at 0x1180
**change it to 0x00000040 (value of "damage" : 2.0)
**
http://edt.oni2.net/images/deadlyglass.jpg


#Extract the BINA3RAPglass_shard.oni file as .xml.
#Add the part in red
#Change the "8" in <Damage>8</Damage> to how much damage the glass should do
#Convert the xml back into a .oni file and import it back into your game data
<Font size = 2>
<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.32.0">
    <Particle Name="glass_shard">
        <Options>
            <Lifetime>10</Lifetime>
            <DisableDetailLevel>Never</DisableDetailLevel>
            <Decorative>true</Decorative>
            <CollideWithWalls>true</CollideWithWalls>
            <CollideWithChars>true</CollideWithChars>
            <InitiallyHidden>false</InitiallyHidden>
            <DrawAsSky>false</DrawAsSky>
            <DontAttractThroughWalls>false</DontAttractThroughWalls>
            <ExpireOnCutscene>false</ExpireOnCutscene>
            <DieOnCutscene>false</DieOnCutscene>
            <LockPositionToLink>false</LockPositionToLink>
            <CollisionRadius>0</CollisionRadius>
            <AIDodgeRadius>0</AIDodgeRadius>
            <AIAlertRadius>0</AIAlertRadius>
            <FlyBySoundName />
        </Options>
        <Properties>
            <HasVelocity>true</HasVelocity>
            <HasOrientation>true</HasOrientation>
            <HasPositionOffset>false</HasPositionOffset>
            <HasAttachmentMatrix>false</HasAttachmentMatrix>
            <HasUnknown>false</HasUnknown>
            <HasDecalState>false</HasDecalState>
            <HasTextureStartTick>true</HasTextureStartTick>
            <HasTextureTick>true</HasTextureTick>
            <HasDamageOwner>false</HasDamageOwner>
            <HasContrailData>false</HasContrailData>
            <HasLensFlareState>false</HasLensFlareState>
            <HasAttractor>false</HasAttractor>
            <HasCollisionCache>false</HasCollisionCache>
        </Properties>
        <Appearance>
            <DisplayType>Flat</DisplayType>
            <TexGeom>glass_shard</TexGeom>
            <Invisible>false</Invisible>
            <IsContrailEmitter>false</IsContrailEmitter>
            <ScaleToVelocity>false</ScaleToVelocity>
            <Scale>2.8</Scale>
            <UseSeparateYScale>false</UseSeparateYScale>
            <YScale>1</YScale>
            <Rotation>0</Rotation>
            <Alpha>1</Alpha>
            <XOffset>0</XOffset>
            <XShorten>0</XShorten>
            <UseSpecialTint>false</UseSpecialTint>
            <Tint>128 128 128</Tint>
            <FadeOutOnEdge>false</FadeOutOnEdge>
            <OneSidedEdgeFade>false</OneSidedEdgeFade>
            <EdgeFadeMin>0</EdgeFadeMin>
            <EdgeFadeMax>0</EdgeFadeMax>
            <MaxContrailDistance>0</MaxContrailDistance>
            <LensFlare>false</LensFlare>
            <LensFlareDistance>0</LensFlareDistance>
            <LensFlareFadeInFrames>0</LensFlareFadeInFrames>
            <LensFlareFadeOutFrames>0</LensFlareFadeOutFrames>
            <DecalFullBrightness>false</DecalFullBrightness>
            <MaxDecals>100</MaxDecals>
            <DecalFadeFrames>60</DecalFadeFrames>
            <DecalWrapAngle>60</DecalWrapAngle>
        </Appearance>
        <Attractor>
            <Target>None</Target>
            <Selector>Distance</Selector>
            <Class />
            <MaxDistance>150</MaxDistance>
            <MaxAngle>30</MaxAngle>
            <AngleSelectMin>3</AngleSelectMin>
            <AngleSelectMax>20</AngleSelectMax>
            <AngleSelectWeight>3</AngleSelectWeight>
        </Attractor>
        <Variables>
            <Float Name="rotate_x">
                <BellCurve Mean="0" StdDev="50" />
            </Float>
            <Float Name="rotate_z">
                <BellCurve Mean="0" StdDev="50" />
            </Float>
        </Variables>
        <Emitters />
        <Events>
            <Update>
                <MoveLine />
                <MoveGravity>
                    <Fraction>0.4</Fraction>
                </MoveGravity>
                <RotateZ>
                    <Space>0</Space>
                    <Rate>rotate_z</Rate>
                    <RotateVelocity>0</RotateVelocity>
                </RotateZ>
                <RotateX>
                    <Space>0</Space>
                    <Rate>rotate_x</Rate>
                    <RotateVelocity>0</RotateVelocity>
                </RotateX>
            </Update>
            <HitWall>
                <ImpulseSound>
                    <Sound>glass_small</Sound>
                </ImpulseSound>
                <CollisionEffect>
                    <Effect>glass_hit</Effect>
                    <WallOffset>0.01</WallOffset>
                    <Orientation>2</Orientation>
                    <Attach>1</Attach>
                </CollisionEffect>
                <Die />
            </HitWall><FONT COLOR="red">
            <HitCharacter>
                <CollisionEffect>
                    <Effect>glass_hit</Effect>
                    <WallOffset>0.01</WallOffset>
                    <Orientation>2</Orientation>
                    <Attach>1</Attach>
                </CollisionEffect>
                <DamageChar>
                    <Damage>8</Damage>
                </DamageChar>
                <Die />
            </HitCharacter></FONT>
            <Lifetime>
                <FadeOut>
                    <TimeToDie>1</TimeToDie>
                </FadeOut>
            </Lifetime>
        </Events>
    </Particle>
</Oni>
</Font>
If you want to get really fancy, try changing <Damage>8</Damage> into something like...
<Font size = 2>
    <Damage>
        <Random Min="8" Max="10" />
    </Damage>
</Font>
This will make glass do random damage between 8 and 10 health points.


----
----
Line 43: Line 181:
:The glass can be broken by kicks after modifying the 3RAPh2h_dust_p01.BINA file.  
:The glass can be broken by kicks after modifying the 3RAPh2h_dust_p01.BINA file.  
;See it in action
;See it in action
:A few movies by [[User:geyser|geyser]] (WMV) :
:A few movies by [[User:geyser|geyser]] (WMV):
*[http://geyser.oni2.net/_VIDEO_/WMV/glass_lab.wmv Bio-Research lab]
*[http://geyser.oni2.net/_VIDEO_/WMV/glass_lab.wmv Bio-Research lab]
*[http://geyser.oni2.net/_VIDEO_/WMV/glass_state.wmv Regional State Building]
*[http://geyser.oni2.net/_VIDEO_/WMV/glass_state.wmv Regional State Building]
*[http://geyser.oni2.net/_VIDEO_/WMV/glass_compound.wmv Syndicate Mountain Compound]
*[http://geyser.oni2.net/_VIDEO_/WMV/glass_compound.wmv Syndicate Mountain Compound]
:A snapshot by [[User:EdT|EdT]] :
:A snapshot by [[User:EdT|EdT]]:
http://edt.oni2.net/shots/ss8.jpg
[[Image:Glass breaking demonstration.jpg]]
;Get it as a patch
;Get it as a patch
:No link so far, but there will be downloadable particle files (trails rather than dust) as well as TRAM particle tracks specifically adapted for them.
:No link so far, but there will be downloadable particle files (trails rather than dust) as well as TRAM particle tracks specifically adapted for them.
Line 58: Line 196:
**change it to 0x1E (0x1E=30 is the ID of the "Glass Charge" event)
**change it to 0x1E (0x1E=30 is the ID of the "Glass Charge" event)
* Go to the 0x00 at 0x0x634
* Go to the 0x00 at 0x0x634
**change it to 0x03 (type for the "radius" parameter of "Glass Charge" : float)
**change it to 0x03 (type for the "radius" parameter of "Glass Charge": float)
* Go to the 0x00000000 at 0x0x638
* Go to the 0x00000000 at 0x0x638
**change it to 0x00000040 or 0x00000041 (value for the "radius" parameter of "Glass Charge" : 2.0 or 8.0)
**change it to 0x00000040 or 0x00000041 (value for the "radius" parameter of "Glass Charge": 2.0 or 8.0)
:''NOTE TO EXPERTS : we've left the first argument of set 2 ("blast-vel" for "Glass Charge") as is. "Linear Change"s "rate" was of the right type (float), and the value (6.0) is nothing extreme.
:''NOTE TO EXPERTS: we've left the first argument of set 2 ("blast-vel" for "Glass Charge") as is. "Linear Change"s "rate" was of the right type (float), and the value (6.0) is nothing extreme.
:''Look at the second variable of h2h_dust_p01 : it's the 0x34=52 byte chunk between 0x340 and 0x374.
:''Look at the second variable of h2h_dust_p01: it's the 0x34=52 byte chunk between 0x340 and 0x374.
:''There's the name ("alpha") right at the start. The initialisation value you can see at 0x35C (it's a float, since the type at 0x358 is 0x03).
:''There's the name ("alpha") right at the start. The initialisation value you can see at 0x35C (it's a float, since the type at 0x358 is 0x03).
:''If we just make this float 0.125 (make the 0x00000000 at 0x35C a 0x0000003E) we'll have 12.5%-transparent dust right away.
:''If we just make this float 0.125 (make the 0x00000000 at 0x35C a 0x0000003E) we'll have 12.5%-transparent dust right away.
The changes will look like this:
The changes will look like this:


http://edt.oni2.net/images/breakglass.jpg
[[Image:Glass breaking hex changes.jpg]]




----
----
----
----
==Glass-breaking Scram Cannon==
==Glass-breaking Scram Cannon==
Getting there... that's almost a [[AE:Weapons|weapon-modding]] issue.
Getting there... that's almost a [[AE:Weapons|weapon-modding]] issue.
Line 80: Line 219:


==Flagging environment as glass==
==Flagging environment as glass==
Getting there too... Hope to find the flag soon ^^
See [[OBD:BINA/TMBD]]
[[Category:Obsolete AE mods]]