415 lines
12 KiB
C#
415 lines
12 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x02000190 RID: 400
|
|
[Token(Token = "0x2000190")]
|
|
public class CrystalBall : AttackableObject
|
|
{
|
|
// Token: 0x170000B0 RID: 176
|
|
// (get) Token: 0x06001274 RID: 4724 RVA: 0x0002A450 File Offset: 0x00028650
|
|
[Token(Token = "0x170000B0")]
|
|
private StageFlagData Flags
|
|
{
|
|
[Token(Token = "0x6001274")]
|
|
[Address(RVA = "0x14894D0", Offset = "0x1487CD0", VA = "0x1814894D0")]
|
|
get
|
|
{
|
|
return Game.GameSave.flags;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06001275 RID: 4725 RVA: 0x0002A470 File Offset: 0x00028670
|
|
[Token(Token = "0x6001275")]
|
|
[Address(RVA = "0x14881A0", Offset = "0x14869A0", VA = "0x1814881A0", Slot = "4")]
|
|
public override void Init()
|
|
{
|
|
base.Init();
|
|
float intensity = this.PLight.intensity;
|
|
Light plight = this.PLight;
|
|
this.g_fLightDefIntensity = intensity;
|
|
this.g_fLightRandomIntensity = 0f;
|
|
int num = 0;
|
|
plight.intensity = (float)num;
|
|
Shake g_Shake = this.g_Shake;
|
|
Transform transform = base.transform;
|
|
ulong num2;
|
|
g_Shake.Start(transform, num2 != 0UL);
|
|
ulong num3;
|
|
this.PS_BlackSmoke.Play(num3 != 0UL);
|
|
GameObject se_BlackSmoke = this.SE_BlackSmoke;
|
|
Transform transform2 = base.transform;
|
|
SoundEffect soundEffectOfPrefabs = Common.GetSoundEffectOfPrefabs(se_BlackSmoke, transform2);
|
|
this.g_SEBlackSmoke = soundEffectOfPrefabs;
|
|
Game.BindStageTimeScale(this.g_SEBlackSmoke);
|
|
GameObject se_ReceiveLight = this.SE_ReceiveLight;
|
|
Transform transform3 = base.transform;
|
|
SoundEffect soundEffectOfPrefabs2 = Common.GetSoundEffectOfPrefabs(se_ReceiveLight, transform3);
|
|
this.g_SEReceiveLight = soundEffectOfPrefabs2;
|
|
Game.BindStageTimeScale(this.g_SEReceiveLight);
|
|
GameObject se_Complete = this.SE_Complete;
|
|
Transform transform4 = base.transform;
|
|
SoundEffect soundEffectOfPrefabs3 = Common.GetSoundEffectOfPrefabs(se_Complete, transform4);
|
|
this.g_SEComplete = soundEffectOfPrefabs3;
|
|
Game.BindStageTimeScale(this.g_SEComplete);
|
|
GameObject se_CompleteLoop = this.SE_CompleteLoop;
|
|
Transform transform5 = base.transform;
|
|
SoundEffect soundEffectOfPrefabs4 = Common.GetSoundEffectOfPrefabs(se_CompleteLoop, transform5);
|
|
this.g_SECompleteLoop = soundEffectOfPrefabs4;
|
|
Game.BindStageTimeScale(this.g_SECompleteLoop);
|
|
CrystalBall.CystalBallPos scriptEventType = this.ScriptEventType;
|
|
this.g_fRLVolume = 0f;
|
|
this.g_fRLPitch = 0.6f;
|
|
if (scriptEventType != CrystalBall.CystalBallPos.CrystalBall01To02)
|
|
{
|
|
if (scriptEventType != CrystalBall.CystalBallPos.CrystalBall01To02)
|
|
{
|
|
if (scriptEventType != CrystalBall.CystalBallPos.CrystalBall01To02)
|
|
{
|
|
if (scriptEventType != CrystalBall.CystalBallPos.CrystalBall01To02)
|
|
{
|
|
if (scriptEventType != CrystalBall.CystalBallPos.CrystalBall03)
|
|
{
|
|
return;
|
|
}
|
|
StageFlagData flags = this.Flags;
|
|
}
|
|
StageFlagData flags2 = this.Flags;
|
|
}
|
|
StageFlagData flags3 = this.Flags;
|
|
}
|
|
StageFlagData flags4 = this.Flags;
|
|
}
|
|
if (this.Flags.stage04Room01To02CrystalBall)
|
|
{
|
|
this.SaveClose();
|
|
}
|
|
}
|
|
|
|
// Token: 0x06001276 RID: 4726 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6001276")]
|
|
[Address(RVA = "0x1489160", Offset = "0x1487960", VA = "0x181489160", Slot = "6")]
|
|
protected override void Update()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06001277 RID: 4727 RVA: 0x0002A600 File Offset: 0x00028800
|
|
[Token(Token = "0x6001277")]
|
|
[Address(RVA = "0x1488430", Offset = "0x1486C30", VA = "0x181488430", Slot = "8")]
|
|
protected override void LateUpdate()
|
|
{
|
|
base.LateUpdate();
|
|
float hp = this.HP;
|
|
this.g_fHPBefore = hp;
|
|
}
|
|
|
|
// Token: 0x06001278 RID: 4728 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6001278")]
|
|
[Address(RVA = "0x1488AC0", Offset = "0x14872C0", VA = "0x181488AC0")]
|
|
public void SetReceiveLight(float fDistance)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06001279 RID: 4729 RVA: 0x0002A624 File Offset: 0x00028824
|
|
[Token(Token = "0x6001279")]
|
|
[Address(RVA = "0x1488140", Offset = "0x1486940", VA = "0x181488140")]
|
|
public bool GetIsReceiveLight()
|
|
{
|
|
return this.g_bIsReceiveLight;
|
|
}
|
|
|
|
// Token: 0x0600127A RID: 4730 RVA: 0x0002A638 File Offset: 0x00028838
|
|
[Token(Token = "0x600127A")]
|
|
[Address(RVA = "0x1488150", Offset = "0x1486950", VA = "0x181488150", Slot = "9")]
|
|
public override void HitPhysical(AttackData AD)
|
|
{
|
|
Shake g_Shake = this.g_Shake;
|
|
int num = 0;
|
|
ulong num2;
|
|
g_Shake.SetRandomShake(0.2f, 6f, 0.6f, (float)num, num2 != 0UL);
|
|
}
|
|
|
|
// Token: 0x0600127B RID: 4731 RVA: 0x0002A66C File Offset: 0x0002886C
|
|
[Token(Token = "0x600127B")]
|
|
[Address(RVA = "0x1488150", Offset = "0x1486950", VA = "0x181488150", Slot = "10")]
|
|
public override void HitMagic(AttackData AD)
|
|
{
|
|
Shake g_Shake = this.g_Shake;
|
|
int num = 0;
|
|
ulong num2;
|
|
g_Shake.SetRandomShake(0.2f, 6f, 0.6f, (float)num, num2 != 0UL);
|
|
}
|
|
|
|
// Token: 0x0600127C RID: 4732 RVA: 0x0002A6A0 File Offset: 0x000288A0
|
|
[Token(Token = "0x600127C")]
|
|
[Address(RVA = "0x1488830", Offset = "0x1487030", VA = "0x181488830")]
|
|
public void SaveClose()
|
|
{
|
|
Light plight = this.PLight;
|
|
float num = this.g_fLightDefIntensity;
|
|
plight.intensity = num;
|
|
ParticleSystem ps_BlackSmoke = this.PS_BlackSmoke;
|
|
this.g_bIsReceiveLight = false;
|
|
ps_BlackSmoke.Stop(true);
|
|
this.PS_ReceiveLight.Stop(true);
|
|
this.PS_Complete.Play(true);
|
|
int length = this.ReleaseSceneEvent.Length;
|
|
int num2 = 0;
|
|
if (length > 0)
|
|
{
|
|
SceneEvent sceneEvent = this.ReleaseSceneEvent[num2];
|
|
int num3 = 0;
|
|
if (sceneEvent != num3)
|
|
{
|
|
GameObject gameObject = this.ReleaseSceneEvent[num2].gameObject;
|
|
int num4 = 0;
|
|
gameObject.SetActive(num4 != 0);
|
|
}
|
|
num2++;
|
|
}
|
|
if (this.ReleasePSFog.Length > 0)
|
|
{
|
|
ParticleSystem particleSystem = this.ReleasePSFog[num2];
|
|
int num5 = 0;
|
|
if (particleSystem != num5)
|
|
{
|
|
GameObject gameObject2 = this.ReleasePSFog[num2].gameObject;
|
|
int num6 = 0;
|
|
gameObject2.SetActive(num6 != 0);
|
|
}
|
|
num2++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600127D RID: 4733 RVA: 0x0002A7A0 File Offset: 0x000289A0
|
|
[Token(Token = "0x600127D")]
|
|
[Address(RVA = "0x1489110", Offset = "0x1487910", VA = "0x181489110", Slot = "11")]
|
|
public override void SetTimeScale(float fTimeScale)
|
|
{
|
|
Common.SetEffectTimeScale(this.PS_BlackSmoke, fTimeScale);
|
|
Common.SetEffectTimeScale(this.PS_ReceiveLight, fTimeScale);
|
|
Common.SetEffectTimeScale(this.PS_Complete, fTimeScale);
|
|
}
|
|
|
|
// Token: 0x0600127E RID: 4734 RVA: 0x0002A7D4 File Offset: 0x000289D4
|
|
[Token(Token = "0x600127E")]
|
|
[Address(RVA = "0x1488450", Offset = "0x1486C50", VA = "0x181488450")]
|
|
private new void OnEnable()
|
|
{
|
|
ParticleSystem ps_BlackSmoke;
|
|
for (;;)
|
|
{
|
|
ps_BlackSmoke = this.PS_BlackSmoke;
|
|
if (this.g_bIsReceiveLight)
|
|
{
|
|
break;
|
|
}
|
|
ps_BlackSmoke.Stop(true);
|
|
this.PS_ReceiveLight.Stop(true);
|
|
this.PS_Complete.Play(true);
|
|
SoundEffect soundEffect = this.g_SEBlackSmoke;
|
|
int num = 0;
|
|
if (soundEffect != num)
|
|
{
|
|
this.g_SEBlackSmoke.Stop();
|
|
}
|
|
SoundEffect soundEffect2 = this.g_SECompleteLoop;
|
|
int num2 = 0;
|
|
if (soundEffect2 != num2)
|
|
{
|
|
this.g_SECompleteLoop.PlayRandom(1f, 1f);
|
|
}
|
|
if (this.ReleasePSFog.Length > 0)
|
|
{
|
|
goto Block_7;
|
|
}
|
|
}
|
|
ps_BlackSmoke.Play(true);
|
|
this.PS_ReceiveLight.Stop(true);
|
|
this.PS_Complete.Stop(true);
|
|
if (this.ReleasePSFog.Length > 0)
|
|
{
|
|
int num3 = 0;
|
|
ParticleSystem particleSystem = this.ReleasePSFog[num3];
|
|
int num4 = 0;
|
|
if (particleSystem != num4)
|
|
{
|
|
this.ReleasePSFog[num3].Play(true);
|
|
}
|
|
num3++;
|
|
}
|
|
SoundEffect soundEffect3 = this.g_SEBlackSmoke;
|
|
int num5 = 0;
|
|
if (soundEffect3 != num5)
|
|
{
|
|
this.g_SEBlackSmoke.PlayRandom(1f, 1f);
|
|
}
|
|
SoundEffect soundEffect4 = this.g_SECompleteLoop;
|
|
int num6 = 0;
|
|
if (soundEffect4 != num6)
|
|
{
|
|
this.g_SECompleteLoop.Stop();
|
|
}
|
|
return;
|
|
Block_7:
|
|
int num7 = 0;
|
|
ParticleSystem particleSystem2 = this.ReleasePSFog[num7];
|
|
int num8 = 0;
|
|
if (particleSystem2 != num8)
|
|
{
|
|
this.ReleasePSFog[num7].Stop(true);
|
|
}
|
|
num7++;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600127F RID: 4735 RVA: 0x0002A960 File Offset: 0x00028B60
|
|
[Token(Token = "0x600127F")]
|
|
[Address(RVA = "0x14894C0", Offset = "0x1487CC0", VA = "0x1814894C0")]
|
|
public CrystalBall()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04001CAA RID: 7338
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4001CAA")]
|
|
public Light PLight;
|
|
|
|
// Token: 0x04001CAB RID: 7339
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x4001CAB")]
|
|
private float g_fLightDefIntensity;
|
|
|
|
// Token: 0x04001CAC RID: 7340
|
|
[FieldOffset(Offset = "0x74")]
|
|
[Token(Token = "0x4001CAC")]
|
|
private float g_fLightRandomIntensity;
|
|
|
|
// Token: 0x04001CAD RID: 7341
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x4001CAD")]
|
|
public ParticleSystem PS_BlackSmoke;
|
|
|
|
// Token: 0x04001CAE RID: 7342
|
|
[FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x4001CAE")]
|
|
public ParticleSystem PS_ReceiveLight;
|
|
|
|
// Token: 0x04001CAF RID: 7343
|
|
[FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x4001CAF")]
|
|
public ParticleSystem PS_Complete;
|
|
|
|
// Token: 0x04001CB0 RID: 7344
|
|
[FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x4001CB0")]
|
|
public GameObject SE_BlackSmoke;
|
|
|
|
// Token: 0x04001CB1 RID: 7345
|
|
[FieldOffset(Offset = "0x98")]
|
|
[Token(Token = "0x4001CB1")]
|
|
public GameObject SE_ReceiveLight;
|
|
|
|
// Token: 0x04001CB2 RID: 7346
|
|
[FieldOffset(Offset = "0xA0")]
|
|
[Token(Token = "0x4001CB2")]
|
|
public GameObject SE_Complete;
|
|
|
|
// Token: 0x04001CB3 RID: 7347
|
|
[FieldOffset(Offset = "0xA8")]
|
|
[Token(Token = "0x4001CB3")]
|
|
public GameObject SE_CompleteLoop;
|
|
|
|
// Token: 0x04001CB4 RID: 7348
|
|
[FieldOffset(Offset = "0xB0")]
|
|
[Token(Token = "0x4001CB4")]
|
|
private SoundEffect g_SEBlackSmoke;
|
|
|
|
// Token: 0x04001CB5 RID: 7349
|
|
[FieldOffset(Offset = "0xB8")]
|
|
[Token(Token = "0x4001CB5")]
|
|
private SoundEffect g_SEReceiveLight;
|
|
|
|
// Token: 0x04001CB6 RID: 7350
|
|
[FieldOffset(Offset = "0xC0")]
|
|
[Token(Token = "0x4001CB6")]
|
|
private SoundEffect g_SEComplete;
|
|
|
|
// Token: 0x04001CB7 RID: 7351
|
|
[FieldOffset(Offset = "0xC8")]
|
|
[Token(Token = "0x4001CB7")]
|
|
private SoundEffect g_SECompleteLoop;
|
|
|
|
// Token: 0x04001CB8 RID: 7352
|
|
[FieldOffset(Offset = "0xD0")]
|
|
[Token(Token = "0x4001CB8")]
|
|
public SceneEvent[] ReleaseSceneEvent;
|
|
|
|
// Token: 0x04001CB9 RID: 7353
|
|
[FieldOffset(Offset = "0xD8")]
|
|
[Token(Token = "0x4001CB9")]
|
|
public SceneEvent[] OpenSceneEvent;
|
|
|
|
// Token: 0x04001CBA RID: 7354
|
|
[FieldOffset(Offset = "0xE0")]
|
|
[Token(Token = "0x4001CBA")]
|
|
public ParticleSystem[] ReleasePSFog;
|
|
|
|
// Token: 0x04001CBB RID: 7355
|
|
[FieldOffset(Offset = "0xE8")]
|
|
[Token(Token = "0x4001CBB")]
|
|
private float g_fHPBefore;
|
|
|
|
// Token: 0x04001CBC RID: 7356
|
|
[Token(Token = "0x4001CBC")]
|
|
private const float g_AutoCureHP = 0.45f;
|
|
|
|
// Token: 0x04001CBD RID: 7357
|
|
[FieldOffset(Offset = "0xEC")]
|
|
[Token(Token = "0x4001CBD")]
|
|
private bool g_bIsReceiveLight = true;
|
|
|
|
// Token: 0x04001CBE RID: 7358
|
|
[FieldOffset(Offset = "0xF0")]
|
|
[Token(Token = "0x4001CBE")]
|
|
private float g_fRLVolume;
|
|
|
|
// Token: 0x04001CBF RID: 7359
|
|
[FieldOffset(Offset = "0xF4")]
|
|
[Token(Token = "0x4001CBF")]
|
|
private float g_fRLPitch;
|
|
|
|
// Token: 0x04001CC0 RID: 7360
|
|
[FieldOffset(Offset = "0xF8")]
|
|
[Token(Token = "0x4001CC0")]
|
|
public CrystalBall.CystalBallPos ScriptEventType;
|
|
|
|
// Token: 0x04001CC1 RID: 7361
|
|
[FieldOffset(Offset = "0xFC")]
|
|
[Token(Token = "0x4001CC1")]
|
|
private bool g_bSwitch;
|
|
|
|
// Token: 0x02000191 RID: 401
|
|
[Token(Token = "0x2000191")]
|
|
public enum CystalBallPos
|
|
{
|
|
// Token: 0x04001CC3 RID: 7363
|
|
[Token(Token = "0x4001CC3")]
|
|
CrystalBall01To02,
|
|
// Token: 0x04001CC4 RID: 7364
|
|
[Token(Token = "0x4001CC4")]
|
|
CrystalBall03,
|
|
// Token: 0x04001CC5 RID: 7365
|
|
[Token(Token = "0x4001CC5")]
|
|
CrystalBall01To04,
|
|
// Token: 0x04001CC6 RID: 7366
|
|
[Token(Token = "0x4001CC6")]
|
|
CrystalBall04,
|
|
// Token: 0x04001CC7 RID: 7367
|
|
[Token(Token = "0x4001CC7")]
|
|
CrystalBall05
|
|
}
|
|
}
|