using System; using RecRoom.Core.AI; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x02000FD4 RID: 4052 public class MeleeWeapon : Weapon { // Token: 0x06021FA0 RID: 139168 RVA: 0x0094A520 File Offset: 0x00948720 private void BEBNICMKEND(MeleeWeaponCollider CINAFOGLFIB, Tool EEPPNAIKGEO, IHEAKAOGCIF CACIBBKDNIH) { if (base.BHCCHBHNHCG && this.PELOFHDEGMN(true) && EEPPNAIKGEO != base.BKDFLNGCINH && base.OFLFECINECM(EEPPNAIKGEO) == null) { float num = this.NEODONMJEOD(); CACIBBKDNIH.CEGCFPKHDOE = num; Vector3 normalized = CACIBBKDNIH.JIIJIFKCMFK.normalized; Vector3 normalized2 = (CACIBBKDNIH.LLKJDBBNPKB - EEPPNAIKGEO.BOLBONELAEF.LBPHKCKFPLK).normalized; Vector3 normalized3 = Vector3.Cross(normalized2, normalized).normalized; float num2 = this.OCHBBDGMFOK(num); float num3 = this.ALLHOKHLIBO(num) * 0.017453292f; base.APKNHOHOGOO(new Weapon.MMCFPNONBKI { BKDFLNGCINH = EEPPNAIKGEO, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = normalized * num2, MOBLIEGOIDK = normalized3 * num3 } }); this.HGKOIFBANBK(base.BKDFLNGCINH.FICBNMJECCH, EEPPNAIKGEO, CACIBBKDNIH); this.BBGPIKHJAEG(0.2f); this.NIDLHMFKCOE(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 1); } } // Token: 0x06021FA1 RID: 139169 RVA: 0x0094A668 File Offset: 0x00948868 private void NEEHLGPMBHL(Tool ENBMEDIFBLM) { if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.PAFCGAEEOHA(true); } } } // Token: 0x06021FA2 RID: 139170 RVA: 0x0094A6A8 File Offset: 0x009488A8 private void HOIGNOMKLPE(MeleeWeaponCollider CINAFOGLFIB, Player IPLDGGMENKL, Player.HDOICGIKKAO OJCFELLMIFA, IHEAKAOGCIF CACIBBKDNIH) { if (base.BHCCHBHNHCG && this.PELOFHDEGMN(true) && base.BKDFLNGCINH.FICBNMJECCH != IPLDGGMENKL && base.NCPMBNGJNBM(IPLDGGMENKL) == null) { base.MGKHDAEDEOC(new Weapon.IFIHFPPOEBN { MBHLIAEFEAD = IPLDGGMENKL, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = Vector3.zero, MOBLIEGOIDK = Vector3.zero } }); this.JLLOKADDIFB(base.BKDFLNGCINH.FICBNMJECCH, IPLDGGMENKL, OJCFELLMIFA, CACIBBKDNIH); this.NIDLHMFKCOE(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 3); } } // Token: 0x06021FA3 RID: 139171 RVA: 0x0094A77C File Offset: 0x0094897C private void ILAKKOOGHDI(Tool ENBMEDIFBLM) { if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.FNIBBNGFPBK = true; } } } // Token: 0x06021FA4 RID: 139172 RVA: 0x0094A7BC File Offset: 0x009489BC private void PJCIJIBGENG() { if (this.EKIMDDGHMLM != null && !base.BKDFLNGCINH.OHGPCMJMFGC && this.IJNIAGDNMJD() && base.BKDFLNGCINH.BOLBONELAEF.IsSleeping()) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.FNIBBNGFPBK = false; } } } // Token: 0x06021FA5 RID: 139173 RVA: 0x0094A82C File Offset: 0x00948A2C private void MAACIFBJCKG(int EBMPJALDOMF, Vector3 NGBIKAFNNKC, Vector3 LAEKHINEAKK, bool HLFAAEBABMM) { if (EBMPJALDOMF >= 1 && EBMPJALDOMF < this.destructibleChunks.Length) { float magnitude = LAEKHINEAKK.magnitude; Vector3 vector = LAEKHINEAKK / magnitude; if (!HLFAAEBABMM) { float num = magnitude * 399f; Vector3 vector2 = vector * num; this.destructibleChunks[EBMPJALDOMF].MeleeWeaponChunk.EAIDGLFNHBN(vector2, 1689f); } if (this.chunkBreakParticles != null) { PooledParticle pooledParticle = ObjectPool.NFHMLKPHCFF().Acquire(this.chunkBreakParticles); if (pooledParticle != null) { float num2 = magnitude * 1839f; pooledParticle.JAMLMKEOGMN.main.startSpeedMultiplier = num2; pooledParticle.NAPGKLNBMHN(NGBIKAFNNKC, Quaternion.LookRotation(vector), true); } } AudioManager.Play3DSFX(this.chunkBreakAudio, NGBIKAFNNKC, null); } } // Token: 0x06021FA6 RID: 139174 RVA: 0x0094A900 File Offset: 0x00948B00 private void BNBNAHOFHBC(bool CMHBICCKNEG, bool EOJKHKDGDNE) { if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.IIEGGLHMOBH = base.BKDFLNGCINH.IIEGGLHMOBH; } } } // Token: 0x06021FA7 RID: 139175 RVA: 0x0094A948 File Offset: 0x00948B48 private void PADGCPKDDBD(Tool ENBMEDIFBLM) { if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.GFHOJKOOPKB(this.IJNIAGDNMJD()); } } } // Token: 0x06021FA8 RID: 139176 RVA: 0x0094A98C File Offset: 0x00948B8C protected void BBGPIKHJAEG(float DGIOMJDEEIF = 0.2f) { if (base.BKDFLNGCINH.EHFOKGIGIMF != null && base.BKDFLNGCINH.EHFOKGIGIMF.NHDDPGADJPJ) { base.BKDFLNGCINH.EHFOKGIGIMF.Vibrate((int)(DGIOMJDEEIF * 1000f), 1000); } } // Token: 0x06021FA9 RID: 139177 RVA: 0x0094A9E4 File Offset: 0x00948BE4 private void AMGJIMCGFMI(Enemy AKICADDPOIF, MHEBDODJGOA JJGLGHCMDEN, IHEAKAOGCIF CACIBBKDNIH) { base.LKALKBCCHNA(base.BKDFLNGCINH.FICBNMJECCH, AKICADDPOIF, JJGLGHCMDEN, CACIBBKDNIH); if (base.JNOCCMDBMIO()) { if (!AKICADDPOIF.DGLOKLCEMLH()) { AKICADDPOIF.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI); } AKICADDPOIF.AuthorityApplyAttack(base.ABDBMLDFLHL(), this, base.JNFCPPPFGAM, JJGLGHCMDEN, this.chunkBreakAttackDamage, CACIBBKDNIH.LLKJDBBNPKB, CACIBBKDNIH.EPIJGDAJDJN); } base.OLALJLHLGBN(base.BKDFLNGCINH.FICBNMJECCH, CACIBBKDNIH); } // Token: 0x06021FAA RID: 139178 RVA: 0x0094AA60 File Offset: 0x00948C60 private void CJDMBFCHMBI(Tool COMHEONOMBA, float DGIOMJDEEIF) { this.NJFAMHGDHLF = Time.time + DGIOMJDEEIF; this.OHGNMLLCDEE(DGIOMJDEEIF); } // Token: 0x06021FAB RID: 139179 RVA: 0x0094AA78 File Offset: 0x00948C78 protected virtual void NJHKLFNEKGI() { base.FixedUpdate(); float num = this.AANJGNHKANC(); if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.BMNFPDOGOFP(num, this.trailOpacitySmoothSpeed); } } } // Token: 0x06021FAC RID: 139180 RVA: 0x0094AACC File Offset: 0x00948CCC private void DLMKEEBACPA() { if (this.EKIMDDGHMLM != null && !base.BKDFLNGCINH.OHGPCMJMFGC && this.GFKIHIGNHLK() && base.BKDFLNGCINH.BOLBONELAEF.IsSleeping()) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i++) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.LKMLAOINOKE(true); } } } // Token: 0x06021FAE RID: 139182 RVA: 0x0094ABEC File Offset: 0x00948DEC private void DLABDBNGKNN() { this.EKIMDDGHMLM = base.GetComponentsInChildren(true); MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.DLKIBKACJLA(new Action(this.MPFKGIPFLJL)); for (int j = 0; j < meleeWeaponChunk.NPPIMEILMPP().Length; j += 0) { if (base.BKDFLNGCINH != null) { meleeWeaponChunk.FLMNOJAMOIF()[j].AddIgnoredRigidbody(base.BKDFLNGCINH.BOLBONELAEF.POEDHHBIGLD); if (base.BKDFLNGCINH.DMMFKPIKPND) { meleeWeaponChunk.AMNMKGADFEK()[j].AddIgnoredRigidbody(base.BKDFLNGCINH.CDKLOHFPKOF.BOLBONELAEF.POEDHHBIGLD); } } meleeWeaponChunk.EDDOFNLFFGH()[j].SupportsStationaryCollisionTests = this.supportsStationaryCollisionTests; meleeWeaponChunk.FLMNOJAMOIF()[j].NKLDFBAGLFJ += this.JOAPNEKICHC; meleeWeaponChunk.AMNMKGADFEK()[j].JPHKFFLGNHH(new MeleeWeaponCollider.CNPNCBACBJB(this.ELLDILIDKAM)); meleeWeaponChunk.KPHAJKGIAHC()[j].OELFEIGJEHI += this.BEBNICMKEND; meleeWeaponChunk.FLMNOJAMOIF()[j].BNLLAHFKFBB += this.OICBDCAEBNO; meleeWeaponChunk.NPPIMEILMPP()[j].HKIHDCIEJFG += this.CCACOEIHCNH; meleeWeaponChunk.FLMNOJAMOIF()[j].OFMHAGBKEHG += this.BKKIIJGPBKA; meleeWeaponChunk.KPHAJKGIAHC()[j].enabled = false; } if (meleeWeaponChunk.GLKNJICPAPO() != null) { Renderer[] componentsInChildren = meleeWeaponChunk.INLBDFPKEOM().GetComponentsInChildren(); for (int k = 1; k < componentsInChildren.Length; k++) { base.BKDFLNGCINH.TryRemoveRenderer(componentsInChildren[k]); } } } int num = this.IHOJIEBJMNI(); this.LICCLEEBIMA = new LHLLJPPCDKA(this, "purchased_item", num, IKCAJLLAFML.AUTHORITY, new Action(this.EBGHEEBAIKH)); this.EBGHEEBAIKH(); } // Token: 0x06021FAF RID: 139183 RVA: 0x0094ADE0 File Offset: 0x00948FE0 private bool IJNIAGDNMJD() { return this.throwDamageType == MeleeWeapon.HCMNFFMOBNA.ALWAYS || (this.throwDamageType == MeleeWeapon.HCMNFFMOBNA.ONLY_LAST_DESTRUCTIBLE_CHUNK && this.CFMJLAIDLEO() == 1); } // Token: 0x06021FB0 RID: 139184 RVA: 0x0094AE0C File Offset: 0x0094900C private int FPDIBBBMFBK() { int num = 0; for (int i = 0; i < this.destructibleChunks.Length; i += 0) { if (this.destructibleChunks[i].MeleeWeaponChunk.GKKENHCDFLN()) { num++; } } return num; } // Token: 0x06021FB1 RID: 139185 RVA: 0x0094AE54 File Offset: 0x00949054 protected override void Awake() { base.Awake(); this.OHKAKFEEKPA = new KBLFNOHNGAO(); this.OHKAKFEEKPA.PAOJGBKGGDK += this.JDIPHOCKDGK; this.OHKAKFEEKPA.OELFEIGJEHI += this.FNBGDAJFKJD; if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.GFBCCFIMFEC += this.ILAKKOOGHDI; base.BKDFLNGCINH.PLPIAOHJBOB += this.NIPCADLOCJP; base.BKDFLNGCINH.HBOJCBBDLCD += this.HGONDLDOGLG; base.BKDFLNGCINH.CENJCDDINHA += this.CNCPGEOEGNN; base.BKDFLNGCINH.GGMKHKNDOND += this.BNBNAHOFHBC; base.BKDFLNGCINH.BOLBONELAEF.MKGNEPACOPK += this.PJCIJIBGENG; } } // Token: 0x06021FB2 RID: 139186 RVA: 0x0094AF40 File Offset: 0x00949140 private void LCFLOPFOGKL(Enemy AKICADDPOIF, MHEBDODJGOA JJGLGHCMDEN, IHEAKAOGCIF CACIBBKDNIH) { base.LKALKBCCHNA(base.BKDFLNGCINH.FICBNMJECCH, AKICADDPOIF, JJGLGHCMDEN, CACIBBKDNIH); if (base.GANDPDNCOKF()) { if (!AKICADDPOIF.DGLOKLCEMLH()) { AKICADDPOIF.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI); } AKICADDPOIF.AuthorityApplyAttack(base.KNFBAEDFDAP(), this, base.JNFCPPPFGAM, JJGLGHCMDEN, this.chunkBreakAttackDamage, CACIBBKDNIH.LLKJDBBNPKB, CACIBBKDNIH.EPIJGDAJDJN); } base.OLALJLHLGBN(base.BKDFLNGCINH.FICBNMJECCH, CACIBBKDNIH); } // Token: 0x06021FB3 RID: 139187 RVA: 0x0094AFBC File Offset: 0x009491BC protected float OBNMEIDNEAJ() { float magnitude = base.BKDFLNGCINH.BOLBONELAEF.PPACPENBHKF().magnitude; return Mathf.InverseLerp(this.minImpactWeaponSpeed, this.maxImpactWeaponSpeed, magnitude); } // Token: 0x06021FB4 RID: 139188 RVA: 0x0094AFF4 File Offset: 0x009491F4 private void KKHKABOBIKA() { this.IENFABJMOAD = Time.time; } // Token: 0x06021FB5 RID: 139189 RVA: 0x0094B004 File Offset: 0x00949204 private float KNFNEIPGDKH() { float num = 1796f; for (int i = 1; i < this.destructibleChunks.Length; i += 0) { if (this.destructibleChunks[i].MeleeWeaponChunk.NIINOABKAPJ) { num += this.destructibleChunks[i].WeaponAttackContribution; } } return num; } // Token: 0x06021FB6 RID: 139190 RVA: 0x0094B060 File Offset: 0x00949260 private void EGNNIEJJALP(Tool ENBMEDIFBLM) { if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 0; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.GFHOJKOOPKB(this.GFKIHIGNHLK()); } } } // Token: 0x06021FB7 RID: 139191 RVA: 0x0094B0A4 File Offset: 0x009492A4 private bool DGGMLNFBLEB() { return this.IJNIAGDNMJD() && base.BKDFLNGCINH.BOLBONELAEF.IGOFELJMFOF.magnitude >= this.minThrowDamageSpeed; } // Token: 0x06021FB8 RID: 139192 RVA: 0x0094B0E4 File Offset: 0x009492E4 private void MPMMAFLIKJI() { float num = base.BKDFLNGCINH.BOLBONELAEF.IGOFELJMFOF.magnitude; if (num < 0.001f) { num = this.KLNOAMGBPBE; } float num2 = base.BKDFLNGCINH.BOLBONELAEF.DLNPAGLPKHJ.magnitude; switch (this.MBLOKFIOKDI) { case MeleeWeapon.OFMCAPMPFCK.NOT_SWINGING: base.BKDFLNGCINH.BOLBONELAEF.ClearDisplacement(); num2 = 0f; if (num >= 2.25f && this.KLNOAMGBPBE < 2.25f) { this.MBLOKFIOKDI = MeleeWeapon.OFMCAPMPFCK.PREPARING_TO_SWING; } break; case MeleeWeapon.OFMCAPMPFCK.PREPARING_TO_SWING: { bool flag = num2 >= this.PHNIILCABJE; if (num <= 1.5f || !flag) { this.MBLOKFIOKDI = MeleeWeapon.OFMCAPMPFCK.NOT_SWINGING; } else if (num2 >= 0.05f) { this.MBLOKFIOKDI = MeleeWeapon.OFMCAPMPFCK.SWINGING; base.GGJKMDNJNEE.OnSwing(base.transform); base.BKDFLNGCINH.SetCollisionLayer(NILFAGNKNMH.DynamicPhysicsIgnoreDynamicAndPlayerAndEnemyPhysics); } break; } case MeleeWeapon.OFMCAPMPFCK.SWINGING: if (num2 < 0.05f || num <= 1.5f) { this.MBLOKFIOKDI = MeleeWeapon.OFMCAPMPFCK.NOT_SWINGING; base.BKDFLNGCINH.SetCollisionLayer((!base.BKDFLNGCINH.OHGPCMJMFGC) ? base.BKDFLNGCINH.DefaultCollisionLayer : base.BKDFLNGCINH.HeldCollisionLayer); } break; case MeleeWeapon.OFMCAPMPFCK.DISABLED: if (Time.time - this.AHLCPODMPFK > this.MFEKJMHPIMD) { this.MBLOKFIOKDI = MeleeWeapon.OFMCAPMPFCK.NOT_SWINGING; } break; } this.KLNOAMGBPBE = num; this.PHNIILCABJE = num2; } // Token: 0x06021FB9 RID: 139193 RVA: 0x0094B280 File Offset: 0x00949480 protected virtual void KOAENLLIKMP() { base.Start(); this.DLABDBNGKNN(); if (base.NEGLDNHHEOB != null) { base.NEGLDNHHEOB.DOOILAIJKEN(new Action(this.COHBNMNFHCE)); this.PPCEPBLGJMK(); } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.BOLBONELAEF.OPIHKOJNIGF += this.MPMMAFLIKJI; } } // Token: 0x06021FBA RID: 139194 RVA: 0x0094B2F4 File Offset: 0x009494F4 private void JOAPNEKICHC(MeleeWeaponCollider CINAFOGLFIB, Player IPLDGGMENKL, Player.HDOICGIKKAO OJCFELLMIFA, IHEAKAOGCIF CACIBBKDNIH) { if (base.GANDPDNCOKF() && this.NACAHBAKCIP(true) && base.BKDFLNGCINH.FICBNMJECCH != IPLDGGMENKL && base.NCPMBNGJNBM(IPLDGGMENKL) == null) { base.MGKHDAEDEOC(new Weapon.IFIHFPPOEBN { MBHLIAEFEAD = IPLDGGMENKL, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = Vector3.zero, MOBLIEGOIDK = Vector3.zero } }); this.JLLOKADDIFB(base.BKDFLNGCINH.FICBNMJECCH, IPLDGGMENKL, OJCFELLMIFA, CACIBBKDNIH); this.MCMFKGIMNOK(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 4); } } // Token: 0x06021FBB RID: 139195 RVA: 0x0094B3C8 File Offset: 0x009495C8 public virtual void NAEHPGHDNLA(WeaponAccessory CEKOJLCEGGC) { base.AddAccessory(CEKOJLCEGGC); if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i++) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; for (int j = 0; j < meleeWeaponChunk.AMNMKGADFEK().Length; j++) { meleeWeaponChunk.AMNMKGADFEK()[j].AddIgnoredRigidbody(CEKOJLCEGGC.PKAKOAMJLNN().BOLBONELAEF.POEDHHBIGLD); } } } } // Token: 0x06021FBC RID: 139196 RVA: 0x0094B43C File Offset: 0x0094963C protected float NEODONMJEOD() { float magnitude = base.BKDFLNGCINH.BOLBONELAEF.IGOFELJMFOF.magnitude; return Mathf.InverseLerp(this.minImpactWeaponSpeed, this.maxImpactWeaponSpeed, magnitude); } // Token: 0x06021FBD RID: 139197 RVA: 0x0094B474 File Offset: 0x00949674 protected virtual void FMPFANDFGIP() { base.OnDestroy(); if (this.OHKAKFEEKPA != null) { this.OHKAKFEEKPA.PAOJGBKGGDK -= this.AMGJIMCGFMI; this.OHKAKFEEKPA.OMMEDICPIHH(new KBLFNOHNGAO.NJIPDNBCKJD(this.FNBGDAJFKJD)); } this.GKODDNEKGCO(); if (base.BKDFLNGCINH != null) { if (base.NEGLDNHHEOB != null) { base.NEGLDNHHEOB.LPCJJBBCIHC -= this.COHBNMNFHCE; } if (base.BKDFLNGCINH.BOLBONELAEF != null) { base.BKDFLNGCINH.BOLBONELAEF.POLCIADGPLE(new Action(this.DLMKEEBACPA)); } base.BKDFLNGCINH.GGMKHKNDOND -= this.IGGEEKLEEKK; base.BKDFLNGCINH.GFBCCFIMFEC -= this.NEEHLGPMBHL; base.BKDFLNGCINH.PLPIAOHJBOB -= this.NIPCADLOCJP; base.BKDFLNGCINH.HBOJCBBDLCD -= this.HGONDLDOGLG; base.BKDFLNGCINH.CENJCDDINHA -= this.CNCPGEOEGNN; base.BKDFLNGCINH.BOLBONELAEF.OPIHKOJNIGF -= this.MPMMAFLIKJI; } } // Token: 0x06021FBE RID: 139198 RVA: 0x0094B5C0 File Offset: 0x009497C0 protected float OBNJCIJAOEO() { float magnitude = base.BKDFLNGCINH.BOLBONELAEF.PPACPENBHKF().magnitude; return Mathf.InverseLerp(this.minImpactWeaponSpeed, this.maxImpactWeaponSpeed, magnitude); } // Token: 0x06021FBF RID: 139199 RVA: 0x0094B5F8 File Offset: 0x009497F8 private void JEABLKOKDKN(Vector3 FHFHOMKFHCI, float DNAIGDPNOEK, float MMBLAFNAPPJ) { Player player = null; if (base.BKDFLNGCINH.OHGPCMJMFGC) { player = base.BKDFLNGCINH.CAAOEAAJAIL; } else if (this.IJNIAGDNMJD()) { player = base.BKDFLNGCINH.FICBNMJECCH; } this.OHKAKFEEKPA.OEADIPKEOCP(FHFHOMKFHCI, DNAIGDPNOEK, MMBLAFNAPPJ, player); } // Token: 0x06021FC0 RID: 139200 RVA: 0x0094B650 File Offset: 0x00949850 private bool PELOFHDEGMN(bool PJNJILPIDGJ = true) { return this.FAPMJBACIGO(PJNJILPIDGJ) || this.DGGMLNFBLEB(); } // Token: 0x06021FC1 RID: 139201 RVA: 0x0094B668 File Offset: 0x00949868 private void DOIKJHIPADF(bool CMHBICCKNEG, bool EOJKHKDGDNE) { if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 0; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.KNDNMFJNCBN(base.BKDFLNGCINH.IIEGGLHMOBH); } } } // Token: 0x06021FC2 RID: 139202 RVA: 0x0094B6B0 File Offset: 0x009498B0 public virtual void HOKBCPJCJFA(WeaponAccessory CEKOJLCEGGC) { base.AddAccessory(CEKOJLCEGGC); if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 0; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; for (int j = 1; j < meleeWeaponChunk.NPPIMEILMPP().Length; j++) { meleeWeaponChunk.AMNMKGADFEK()[j].AddIgnoredRigidbody(CEKOJLCEGGC.CMLFAHFDBED().BOLBONELAEF.POEDHHBIGLD); } } } } // Token: 0x06021FC3 RID: 139203 RVA: 0x0094B724 File Offset: 0x00949924 private void COHBNMNFHCE() { if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.JGHDAAEFFEJ = this.IIMELCHFGKE; } } } // Token: 0x06021FC4 RID: 139204 RVA: 0x0094B768 File Offset: 0x00949968 protected virtual void NKDLLJINIAO() { base.FixedUpdate(); float num = this.OBNJCIJAOEO(); if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i++) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.UpdateTrailOpacity(num, this.trailOpacitySmoothSpeed); } } } // Token: 0x06021FC5 RID: 139205 RVA: 0x0094B7BC File Offset: 0x009499BC [BCENPNOIAOM] private void RpcOnChunkDestruction(int EBMPJALDOMF, Vector3 NGBIKAFNNKC, Vector3 LAEKHINEAKK, bool HLFAAEBABMM) { this.CHGAMMDKLGA(EBMPJALDOMF, NGBIKAFNNKC, LAEKHINEAKK, HLFAAEBABMM); } // Token: 0x06021FC6 RID: 139206 RVA: 0x0094B7CC File Offset: 0x009499CC protected override void FixedUpdate() { base.FixedUpdate(); float num = this.NEODONMJEOD(); if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.UpdateTrailOpacity(num, this.trailOpacitySmoothSpeed); } } } // Token: 0x06021FC7 RID: 139207 RVA: 0x0094B820 File Offset: 0x00949A20 private float AEJHJOKOFIF() { float num = 644f; for (int i = 0; i < this.destructibleChunks.Length; i++) { if (this.destructibleChunks[i].MeleeWeaponChunk.GKKENHCDFLN()) { num += this.destructibleChunks[i].WeaponAttackContribution; } } return num; } // Token: 0x06021FC8 RID: 139208 RVA: 0x0094B87C File Offset: 0x00949A7C protected Vector3 EHIFEKMEFHK(Vector3 FNDMBKLFMBM) { return FNDMBKLFMBM * base.BKDFLNGCINH.BOLBONELAEF.ANCHBLJANCO / Time.fixedDeltaTime; } // Token: 0x06021FC9 RID: 139209 RVA: 0x0094B8A0 File Offset: 0x00949AA0 private void HHMLIDDDJLG(Tool COMHEONOMBA, float DGIOMJDEEIF) { this.NJFAMHGDHLF = Time.time + DGIOMJDEEIF; this.FMAOMKHHOIK(DGIOMJDEEIF); } // Token: 0x06021FCA RID: 139210 RVA: 0x0094B8B8 File Offset: 0x00949AB8 protected override void OnDestroy() { base.OnDestroy(); if (this.OHKAKFEEKPA != null) { this.OHKAKFEEKPA.PAOJGBKGGDK -= this.JDIPHOCKDGK; this.OHKAKFEEKPA.OELFEIGJEHI -= this.FNBGDAJFKJD; } this.GKODDNEKGCO(); if (base.BKDFLNGCINH != null) { if (base.NEGLDNHHEOB != null) { base.NEGLDNHHEOB.LPCJJBBCIHC -= this.COHBNMNFHCE; } if (base.BKDFLNGCINH.BOLBONELAEF != null) { base.BKDFLNGCINH.BOLBONELAEF.MKGNEPACOPK -= this.PJCIJIBGENG; } base.BKDFLNGCINH.GGMKHKNDOND -= this.BNBNAHOFHBC; base.BKDFLNGCINH.GFBCCFIMFEC -= this.ILAKKOOGHDI; base.BKDFLNGCINH.PLPIAOHJBOB -= this.NIPCADLOCJP; base.BKDFLNGCINH.HBOJCBBDLCD -= this.HGONDLDOGLG; base.BKDFLNGCINH.CENJCDDINHA -= this.CNCPGEOEGNN; base.BKDFLNGCINH.BOLBONELAEF.OPIHKOJNIGF -= this.MPMMAFLIKJI; } } // Token: 0x06021FCB RID: 139211 RVA: 0x0094BA04 File Offset: 0x00949C04 private void OICBDCAEBNO(MeleeWeaponCollider CINAFOGLFIB, Trap IAHICNDNKAL, IHEAKAOGCIF CACIBBKDNIH) { if (base.BHCCHBHNHCG && this.PELOFHDEGMN(true) && base.AJOJBPKHJFF(IAHICNDNKAL) == null) { float num = this.NEODONMJEOD(); CACIBBKDNIH.CEGCFPKHDOE = num; Vector3 normalized = CACIBBKDNIH.JIIJIFKCMFK.normalized; Vector3 normalized2 = (CACIBBKDNIH.LLKJDBBNPKB - IAHICNDNKAL.BOLBONELAEF.LBPHKCKFPLK).normalized; Vector3 normalized3 = Vector3.Cross(normalized2, normalized).normalized; float num2 = this.OCHBBDGMFOK(num); float num3 = this.ALLHOKHLIBO(num) * 0.017453292f; base.EECPFMJDGBE(new Weapon.PKHLHEHGNDB { LEGBIFFBNLM = IAHICNDNKAL, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = normalized * num2, MOBLIEGOIDK = normalized3 * num3 } }); this.JIHANPBFOHH(base.BKDFLNGCINH.FICBNMJECCH, IAHICNDNKAL, CACIBBKDNIH); this.BBGPIKHJAEG(0.2f); this.NIDLHMFKCOE(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 1); } } // Token: 0x06021FCC RID: 139212 RVA: 0x0094BB3C File Offset: 0x00949D3C private void MECCBLLPPHB() { this.EKIMDDGHMLM = base.GetComponentsInChildren(true); foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.NAPFHNPKDIF += this.MPFKGIPFLJL; for (int j = 0; j < meleeWeaponChunk.MKJDOPCNNPA.Length; j++) { if (base.BKDFLNGCINH != null) { meleeWeaponChunk.MKJDOPCNNPA[j].AddIgnoredRigidbody(base.BKDFLNGCINH.BOLBONELAEF.POEDHHBIGLD); if (base.BKDFLNGCINH.DMMFKPIKPND) { meleeWeaponChunk.MKJDOPCNNPA[j].AddIgnoredRigidbody(base.BKDFLNGCINH.CDKLOHFPKOF.BOLBONELAEF.POEDHHBIGLD); } } meleeWeaponChunk.MKJDOPCNNPA[j].SupportsStationaryCollisionTests = this.supportsStationaryCollisionTests; meleeWeaponChunk.MKJDOPCNNPA[j].NKLDFBAGLFJ += this.HOIGNOMKLPE; meleeWeaponChunk.MKJDOPCNNPA[j].PAOJGBKGGDK += this.EHMCJIPMBBO; meleeWeaponChunk.MKJDOPCNNPA[j].OELFEIGJEHI += this.BEBNICMKEND; meleeWeaponChunk.MKJDOPCNNPA[j].BNLLAHFKFBB += this.OICBDCAEBNO; meleeWeaponChunk.MKJDOPCNNPA[j].HKIHDCIEJFG += this.CCACOEIHCNH; meleeWeaponChunk.MKJDOPCNNPA[j].OFMHAGBKEHG += this.BKKIIJGPBKA; meleeWeaponChunk.MKJDOPCNNPA[j].enabled = false; } if (meleeWeaponChunk.DMJOKNKIPPG != null) { Renderer[] componentsInChildren = meleeWeaponChunk.DMJOKNKIPPG.GetComponentsInChildren(); for (int k = 0; k < componentsInChildren.Length; k++) { base.BKDFLNGCINH.TryRemoveRenderer(componentsInChildren[k]); } } } int num = this.IHOJIEBJMNI(); this.LICCLEEBIMA = new LHLLJPPCDKA(this, "DURAB", num, IKCAJLLAFML.AUTHORITY, new Action(this.EBGHEEBAIKH)); this.EBGHEEBAIKH(); } // Token: 0x06021FCD RID: 139213 RVA: 0x0094BD30 File Offset: 0x00949F30 private void MCOCNJHHJBJ(Vector3 FHFHOMKFHCI, float DNAIGDPNOEK, float MMBLAFNAPPJ) { Player player = null; if (base.BKDFLNGCINH.OHGPCMJMFGC) { player = base.BKDFLNGCINH.NAABPMOIADH(); } else if (this.GFKIHIGNHLK()) { player = base.BKDFLNGCINH.FICBNMJECCH; } this.OHKAKFEEKPA.DDJMENDFBJE(FHFHOMKFHCI, DNAIGDPNOEK, MMBLAFNAPPJ, player); } // Token: 0x06021FCE RID: 139214 RVA: 0x0094BD88 File Offset: 0x00949F88 protected float DLFAIFNAMJP(float LLFNGNAJIIA) { return Mathf.Lerp(this.minSpeedImpulseAngularSpeed, this.maxSpeedImpulseAngularSpeed, LLFNGNAJIIA); } // Token: 0x06021FCF RID: 139215 RVA: 0x0094BD9C File Offset: 0x00949F9C protected virtual void PEILEFHDJDO() { base.Start(); this.MECCBLLPPHB(); if (base.NEGLDNHHEOB != null) { base.NEGLDNHHEOB.MADEPONMILB(new Action(this.PPCEPBLGJMK)); this.COHBNMNFHCE(); } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.BOLBONELAEF.OPIHKOJNIGF += this.MPMMAFLIKJI; } } // Token: 0x06021FD0 RID: 139216 RVA: 0x0094BE10 File Offset: 0x0094A010 private int IHOJIEBJMNI() { int num = 0; for (int i = 0; i < this.destructibleChunks.Length; i++) { num = Mathf.Max(num, this.destructibleChunks[i].Durability); } return num; } // Token: 0x06021FD1 RID: 139217 RVA: 0x0094BE54 File Offset: 0x0094A054 private void CHGAMMDKLGA(int EBMPJALDOMF, Vector3 NGBIKAFNNKC, Vector3 LAEKHINEAKK, bool HLFAAEBABMM) { if (EBMPJALDOMF >= 0 && EBMPJALDOMF < this.destructibleChunks.Length) { float magnitude = LAEKHINEAKK.magnitude; Vector3 vector = LAEKHINEAKK / magnitude; if (!HLFAAEBABMM) { float num = magnitude * 0.1f; Vector3 vector2 = vector * num; this.destructibleChunks[EBMPJALDOMF].MeleeWeaponChunk.Shatter(vector2, 3f); } if (this.chunkBreakParticles != null) { PooledParticle pooledParticle = ObjectPool.NCKMBFBMBFM.Acquire(this.chunkBreakParticles); if (pooledParticle != null) { float num2 = magnitude * 0.5f; pooledParticle.JAMLMKEOGMN.main.startSpeedMultiplier = num2; pooledParticle.Play(NGBIKAFNNKC, Quaternion.LookRotation(vector), false); } } AudioManager.Play3DSFX(this.chunkBreakAudio, NGBIKAFNNKC, null); } } // Token: 0x06021FD2 RID: 139218 RVA: 0x0094BF28 File Offset: 0x0094A128 private bool OPHOJEGKNNJ(bool PJNJILPIDGJ = true) { return this.KMCJCNDHFOE(PJNJILPIDGJ) || this.NJJNDCBBCPJ(); } // Token: 0x06021FD3 RID: 139219 RVA: 0x0094BF40 File Offset: 0x0094A140 private void DAHPDPFNBPH() { this.IENFABJMOAD = Time.time; } // Token: 0x06021FD4 RID: 139220 RVA: 0x0094BF50 File Offset: 0x0094A150 private int JKMGDJLNJJK() { return this.LICCLEEBIMA.CPIBGJLHLBL(); } // Token: 0x06021FD5 RID: 139221 RVA: 0x0094BF60 File Offset: 0x0094A160 private void NIDLHMFKCOE(Vector3 FNDMBKLFMBM, Vector3 CJDGNGLMGDI, int EJCMMEGELLA) { if (base.BHCCHBHNHCG && this.isDestructible) { int num = this.IHOJIEBJMNI(); int num2 = num - this.OPPALIBOMDH; int num3 = num2 + EJCMMEGELLA; int num4 = this.CFMJLAIDLEO(); int num5 = 0; Vector3 vector = Vector3.zero; for (int i = 0; i < this.destructibleChunks.Length; i++) { if (this.destructibleChunks[i].Durability > num2 && this.destructibleChunks[i].Durability <= num3) { num4--; bool flag = num4 == 0; Vector3 position = this.destructibleChunks[i].MeleeWeaponChunk.transform.position; Vector3 vector2 = Vector3.Reflect(FNDMBKLFMBM, CJDGNGLMGDI); base.OMNGGJICBBI.RPC("RpcOnChunkDestruction", IHCPDNLJMMD.All, new object[] { i, position, vector2, flag }); num5++; vector += position; } } if (num5 > 0 && this.chunkBreakDamageRadius > 0f && this.chunkBreakAttackDamage > 0) { vector /= (float)num5; this.JEABLKOKDKN(vector, this.chunkBreakDamageRadius, this.chunkBreakForce); } this.OPPALIBOMDH -= EJCMMEGELLA; if (this.cleanupOnLastChunkDestruction && this.CFMJLAIDLEO() == 0 && base.BKDFLNGCINH.OHGPCMJMFGC) { base.BKDFLNGCINH.CAAOEAAJAIL.TryDisarm(base.BKDFLNGCINH); } } } // Token: 0x06021FD6 RID: 139222 RVA: 0x0094C108 File Offset: 0x0094A308 private bool GFKIHIGNHLK() { return this.throwDamageType == MeleeWeapon.HCMNFFMOBNA.NONE || this.throwDamageType != MeleeWeapon.HCMNFFMOBNA.ALWAYS || this.CFMJLAIDLEO() == 1; } // Token: 0x06021FD7 RID: 139223 RVA: 0x0094C134 File Offset: 0x0094A334 private void PMLIAIEEKMC(Vector3 FNDMBKLFMBM, Vector3 CJDGNGLMGDI, int EJCMMEGELLA) { if (base.DGLOKLCEMLH() && this.isDestructible) { int num = this.IHOJIEBJMNI(); int num2 = num - this.OPPALIBOMDH; int num3 = num2 + EJCMMEGELLA; int num4 = this.FPDIBBBMFBK(); int num5 = 0; Vector3 vector = Vector3.zero; for (int i = 0; i < this.destructibleChunks.Length; i++) { if (this.destructibleChunks[i].Durability > num2 && this.destructibleChunks[i].Durability <= num3) { num4 -= 0; bool flag = num4 == 0; Vector3 position = this.destructibleChunks[i].MeleeWeaponChunk.transform.position; Vector3 vector2 = Vector3.Reflect(FNDMBKLFMBM, CJDGNGLMGDI); PhotonView photonView = base.MLNMONBHHBO(); string text = "\nFound componentTransform: "; IHCPDNLJMMD ihcpdnljmmd = IHCPDNLJMMD.Others; object[] array = new object[6]; array[1] = i; array[0] = position; array[3] = vector2; array[2] = flag; photonView.PKOHKPEKJCJ(text, ihcpdnljmmd, array); num5++; vector += position; } } if (num5 > 1 && this.chunkBreakDamageRadius > 1703f && this.chunkBreakAttackDamage > 1) { vector /= (float)num5; this.MCOCNJHHJBJ(vector, this.chunkBreakDamageRadius, this.chunkBreakForce); } this.OPPALIBOMDH = this.JKMGDJLNJJK() - EJCMMEGELLA; if (this.cleanupOnLastChunkDestruction && this.FPDIBBBMFBK() == 0 && base.BKDFLNGCINH.OHGPCMJMFGC) { base.BKDFLNGCINH.CAAOEAAJAIL.TryDisarm(base.BKDFLNGCINH); } } } // Token: 0x06021FD8 RID: 139224 RVA: 0x0094C2DC File Offset: 0x0094A4DC private int BAHLIGOLCPD() { return this.LICCLEEBIMA.CPIBGJLHLBL(); } // Token: 0x06021FD9 RID: 139225 RVA: 0x0094C2EC File Offset: 0x0094A4EC protected virtual void PDJOLBEEGGG() { base.FixedUpdate(); float num = this.NEODONMJEOD(); if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i++) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.UpdateTrailOpacity(num, this.trailOpacitySmoothSpeed); } } } // Token: 0x06021FDA RID: 139226 RVA: 0x0094C340 File Offset: 0x0094A540 private void EBGHEEBAIKH() { int num = this.IHOJIEBJMNI(); int num2 = num - this.OPPALIBOMDH; for (int i = 0; i < this.destructibleChunks.Length; i++) { this.destructibleChunks[i].MeleeWeaponChunk.NIINOABKAPJ = num2 < this.destructibleChunks[i].Durability; } } // Token: 0x06021FDB RID: 139227 RVA: 0x0094C3A0 File Offset: 0x0094A5A0 private void NIPCADLOCJP(Tool ENBMEDIFBLM) { if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.FNIBBNGFPBK = this.IJNIAGDNMJD(); } } } // Token: 0x06021FDC RID: 139228 RVA: 0x0094C3E4 File Offset: 0x0094A5E4 protected override void Start() { base.Start(); this.MECCBLLPPHB(); if (base.NEGLDNHHEOB != null) { base.NEGLDNHHEOB.LPCJJBBCIHC += this.COHBNMNFHCE; this.COHBNMNFHCE(); } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.BOLBONELAEF.OPIHKOJNIGF += this.MPMMAFLIKJI; } } // Token: 0x06021FDD RID: 139229 RVA: 0x0094C458 File Offset: 0x0094A658 private void OHGNMLLCDEE(float DGIOMJDEEIF) { this.MBLOKFIOKDI = MeleeWeapon.OFMCAPMPFCK.SWINGING; this.AHLCPODMPFK = Time.time; this.MFEKJMHPIMD = DGIOMJDEEIF; } // Token: 0x06021FDE RID: 139230 RVA: 0x0094C474 File Offset: 0x0094A674 protected float OCHBBDGMFOK(float LLFNGNAJIIA) { return Mathf.Lerp(this.minSpeedImpulseSpeed, this.maxSpeedImpulseSpeed, LLFNGNAJIIA); } // Token: 0x06021FDF RID: 139231 RVA: 0x0094C488 File Offset: 0x0094A688 private bool NJJNDCBBCPJ() { return !this.IJNIAGDNMJD() || base.BKDFLNGCINH.BOLBONELAEF.PPACPENBHKF().magnitude >= this.minThrowDamageSpeed; } // Token: 0x06021FE0 RID: 139232 RVA: 0x0094C4C8 File Offset: 0x0094A6C8 private float HBAKCLCDNBB() { float num = 979f; for (int i = 1; i < this.destructibleChunks.Length; i++) { if (this.destructibleChunks[i].MeleeWeaponChunk.NIINOABKAPJ) { num += this.destructibleChunks[i].WeaponAttackContribution; } } return num; } // Token: 0x17000FE9 RID: 4073 // (get) Token: 0x06021FE1 RID: 139233 RVA: 0x0094C524 File Offset: 0x0094A724 // (set) Token: 0x06021FF0 RID: 139248 RVA: 0x0094CC7C File Offset: 0x0094AE7C private int OPPALIBOMDH { get { return this.LICCLEEBIMA.CPIBGJLHLBL(); } set { this.LICCLEEBIMA.MEAINJPIECA(Mathf.Max(0, value)); } } // Token: 0x06021FE2 RID: 139234 RVA: 0x0094C534 File Offset: 0x0094A734 private void MCMFKGIMNOK(Vector3 FNDMBKLFMBM, Vector3 CJDGNGLMGDI, int EJCMMEGELLA) { if (base.IGIPCHFCFNN() && this.isDestructible) { int num = this.IHOJIEBJMNI(); int num2 = num - this.OPPALIBOMDH; int num3 = num2 + EJCMMEGELLA; int num4 = this.CFMJLAIDLEO(); int num5 = 0; Vector3 vector = Vector3.zero; for (int i = 0; i < this.destructibleChunks.Length; i++) { if (this.destructibleChunks[i].Durability > num2 && this.destructibleChunks[i].Durability <= num3) { num4 -= 0; bool flag = num4 == 0; Vector3 position = this.destructibleChunks[i].MeleeWeaponChunk.transform.position; Vector3 vector2 = Vector3.Reflect(FNDMBKLFMBM, CJDGNGLMGDI); PhotonView photonView = base.POOAOJPEDJD(); string text = "OneDown"; IHCPDNLJMMD ihcpdnljmmd = IHCPDNLJMMD.All; object[] array = new object[3]; array[0] = i; array[0] = position; array[8] = vector2; array[2] = flag; photonView.PKOHKPEKJCJ(text, ihcpdnljmmd, array); num5 += 0; vector += position; } } if (num5 > 1 && this.chunkBreakDamageRadius > 703f && this.chunkBreakAttackDamage > 0) { vector /= (float)num5; this.MCOCNJHHJBJ(vector, this.chunkBreakDamageRadius, this.chunkBreakForce); } this.OPPALIBOMDH -= EJCMMEGELLA; if (this.cleanupOnLastChunkDestruction && this.FPDIBBBMFBK() == 0 && base.BKDFLNGCINH.OHGPCMJMFGC) { base.BKDFLNGCINH.CAAOEAAJAIL.DCAAPMDODJH(base.BKDFLNGCINH); } } } // Token: 0x06021FE3 RID: 139235 RVA: 0x0094C6DC File Offset: 0x0094A8DC private void FMAOMKHHOIK(float DGIOMJDEEIF) { this.MBLOKFIOKDI = MeleeWeapon.OFMCAPMPFCK.DISABLED; this.AHLCPODMPFK = Time.time; this.MFEKJMHPIMD = DGIOMJDEEIF; } // Token: 0x06021FE4 RID: 139236 RVA: 0x0094C6F8 File Offset: 0x0094A8F8 private void FPHKADGMJDI() { if (IHFKMIAHBFP.HCHIDMOLLAD && base.BKDFLNGCINH != null && this.isDestructible && this.cleanupOnLastChunkDestruction && this.CFMJLAIDLEO() == 0) { base.BKDFLNGCINH.MasterResetToLastSpawnPosition(); } } // Token: 0x06021FE5 RID: 139237 RVA: 0x0094C74C File Offset: 0x0094A94C private void GKODDNEKGCO() { if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.NAPFHNPKDIF -= this.MPFKGIPFLJL; for (int j = 0; j < meleeWeaponChunk.MKJDOPCNNPA.Length; j++) { meleeWeaponChunk.MKJDOPCNNPA[j].NKLDFBAGLFJ -= this.HOIGNOMKLPE; meleeWeaponChunk.MKJDOPCNNPA[j].PAOJGBKGGDK -= this.EHMCJIPMBBO; meleeWeaponChunk.MKJDOPCNNPA[j].OELFEIGJEHI -= this.BEBNICMKEND; meleeWeaponChunk.MKJDOPCNNPA[j].BNLLAHFKFBB -= this.OICBDCAEBNO; meleeWeaponChunk.MKJDOPCNNPA[j].HKIHDCIEJFG -= this.CCACOEIHCNH; meleeWeaponChunk.MKJDOPCNNPA[j].OFMHAGBKEHG -= this.BKKIIJGPBKA; } } } } // Token: 0x06021FE6 RID: 139238 RVA: 0x0094C844 File Offset: 0x0094AA44 protected float AANJGNHKANC() { float magnitude = base.BKDFLNGCINH.BOLBONELAEF.PPACPENBHKF().magnitude; return Mathf.InverseLerp(this.minImpactWeaponSpeed, this.maxImpactWeaponSpeed, magnitude); } // Token: 0x06021FE7 RID: 139239 RVA: 0x0094C87C File Offset: 0x0094AA7C public override int GetEnemyDamage(float FNNAAICLLFC = 0f) { int enemyDamage = base.GetEnemyDamage(FNNAAICLLFC); if (!this.isDestructible) { return enemyDamage; } float num = this.GPKJLFHDJAP(); return Mathf.RoundToInt(num * (float)enemyDamage); } // Token: 0x06021FE8 RID: 139240 RVA: 0x0094C8B0 File Offset: 0x0094AAB0 protected virtual void KPBCOMODPFL(Tool COMHEONOMBA, Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 BEDLPFBGLLP, bool JKGMHGAFHPB) { base.MPFLHACPICD(COMHEONOMBA, CIGPHKLAAOD, IJGPPOIJDKO, BEDLPFBGLLP, JKGMHGAFHPB); if (base.IGIPCHFCFNN()) { this.OPPALIBOMDH = this.IHOJIEBJMNI(); } if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 0; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.NIINOABKAPJ = false; } } } // Token: 0x06021FE9 RID: 139241 RVA: 0x0094C914 File Offset: 0x0094AB14 private void BKKIIJGPBKA(MeleeWeaponCollider CINAFOGLFIB, IHEAKAOGCIF CACIBBKDNIH) { if (base.BHCCHBHNHCG && this.PELOFHDEGMN(true) && !this.FOCFOBICLDD()) { this.BBGPIKHJAEG(0.2f); this.DLFGGGPIKFI(base.BKDFLNGCINH.FICBNMJECCH, CACIBBKDNIH); this.NIDLHMFKCOE(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 1); } this.KKHKABOBIKA(); } // Token: 0x06021FEA RID: 139242 RVA: 0x0094C97C File Offset: 0x0094AB7C protected float OEGCDADHAMO() { float magnitude = base.BKDFLNGCINH.BOLBONELAEF.IGOFELJMFOF.magnitude; return Mathf.InverseLerp(this.minImpactWeaponSpeed, this.maxImpactWeaponSpeed, magnitude); } // Token: 0x06021FEB RID: 139243 RVA: 0x0094C9B4 File Offset: 0x0094ABB4 private void DCLIHBOCJKE(Enemy AKICADDPOIF, MHEBDODJGOA JJGLGHCMDEN, IHEAKAOGCIF CACIBBKDNIH) { base.LKALKBCCHNA(base.BKDFLNGCINH.FICBNMJECCH, AKICADDPOIF, JJGLGHCMDEN, CACIBBKDNIH); if (base.DGLKKANNBPD()) { if (!AKICADDPOIF.BHCCHBHNHCG) { AKICADDPOIF.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI); } AKICADDPOIF.AuthorityApplyAttack(base.BJMJBHLDGPE(), this, base.JNFCPPPFGAM, JJGLGHCMDEN, this.chunkBreakAttackDamage, CACIBBKDNIH.LLKJDBBNPKB, CACIBBKDNIH.EPIJGDAJDJN); } base.OLALJLHLGBN(base.BKDFLNGCINH.FICBNMJECCH, CACIBBKDNIH); } // Token: 0x06021FEC RID: 139244 RVA: 0x0094CA30 File Offset: 0x0094AC30 private void EHMCJIPMBBO(MeleeWeaponCollider CINAFOGLFIB, Enemy AKICADDPOIF, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH) { if (base.BHCCHBHNHCG && this.PELOFHDEGMN(false) && base.DJABPACFMOA(AKICADDPOIF) == null) { float num = this.NEODONMJEOD(); CACIBBKDNIH.CEGCFPKHDOE = num; Vector3 normalized = CACIBBKDNIH.JIIJIFKCMFK.normalized; Vector3 normalized2 = (CACIBBKDNIH.LLKJDBBNPKB - AKICADDPOIF.BOLBONELAEF.LBPHKCKFPLK).normalized; Vector3 normalized3 = Vector3.Cross(normalized2, normalized).normalized; float num2 = this.OCHBBDGMFOK(num); float num3 = this.ALLHOKHLIBO(num) * 0.017453292f; base.IAFALNGADLP(new Weapon.DFFPMLHDDLC { IAKOIACHLBM = AKICADDPOIF, JNFCPPPFGAM = base.JNFCPPPFGAM, EPOLDOJECMI = BLKHNALGIKL, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = normalized * num2, MOBLIEGOIDK = normalized3 * num3 } }); this.BBIIPGLDAHI(base.BKDFLNGCINH.FICBNMJECCH, AKICADDPOIF, BLKHNALGIKL, CACIBBKDNIH); this.BBGPIKHJAEG(0.2f); this.NIDLHMFKCOE(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 3); } } // Token: 0x06021FED RID: 139245 RVA: 0x0094CB80 File Offset: 0x0094AD80 private void MPDCALPPAMP() { if (this.EKIMDDGHMLM != null && !base.BKDFLNGCINH.OHGPCMJMFGC && this.GFKIHIGNHLK() && base.BKDFLNGCINH.BOLBONELAEF.CCCMCPEFAAC()) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i++) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.GFHOJKOOPKB(true); } } } // Token: 0x06021FEE RID: 139246 RVA: 0x0094CBF0 File Offset: 0x0094ADF0 private void PPCEPBLGJMK() { if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 0; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.ECJNOLAHKEA(this.IIMELCHFGKE); } } } // Token: 0x06021FEF RID: 139247 RVA: 0x0094CC34 File Offset: 0x0094AE34 private int CFMJLAIDLEO() { int num = 0; for (int i = 0; i < this.destructibleChunks.Length; i++) { if (this.destructibleChunks[i].MeleeWeaponChunk.NIINOABKAPJ) { num++; } } return num; } // Token: 0x06021FF1 RID: 139249 RVA: 0x0094CC90 File Offset: 0x0094AE90 private float MGPHLAHDJIE() { float num = 1960f; for (int i = 1; i < this.destructibleChunks.Length; i++) { if (this.destructibleChunks[i].MeleeWeaponChunk.OOAMHFCGIKJ()) { num += this.destructibleChunks[i].WeaponAttackContribution; } } return num; } // Token: 0x06021FF2 RID: 139250 RVA: 0x0094CCEC File Offset: 0x0094AEEC private void FNBGDAJFKJD(Tool EEPPNAIKGEO, IHEAKAOGCIF CACIBBKDNIH) { if (base.BHCCHBHNHCG && EEPPNAIKGEO != base.BKDFLNGCINH) { EEPPNAIKGEO.ApplyAttackAndTryTakeAuthority(this, base.JNFCPPPFGAM, CACIBBKDNIH.LLKJDBBNPKB); if (EEPPNAIKGEO.BHCCHBHNHCG) { EEPPNAIKGEO.AuthorityApplyForce(CACIBBKDNIH.PMEFMHLCPMF, CACIBBKDNIH.LLKJDBBNPKB, ForceMode.Impulse); } } } // Token: 0x06021FF3 RID: 139251 RVA: 0x0094CD4C File Offset: 0x0094AF4C private void CCACOEIHCNH(MeleeWeaponCollider CINAFOGLFIB, RigidbodyEx GHFCJKJJCKN, IHEAKAOGCIF CACIBBKDNIH) { if (base.BHCCHBHNHCG && this.PELOFHDEGMN(true) && base.GCLAIJAOPOI(GHFCJKJJCKN) == null) { float num = this.NEODONMJEOD(); CACIBBKDNIH.CEGCFPKHDOE = num; Vector3 normalized = CACIBBKDNIH.JIIJIFKCMFK.normalized; Vector3 normalized2 = (CACIBBKDNIH.LLKJDBBNPKB - GHFCJKJJCKN.LBPHKCKFPLK).normalized; Vector3 normalized3 = Vector3.Cross(normalized2, normalized).normalized; float num2 = this.OCHBBDGMFOK(num); float num3 = this.ALLHOKHLIBO(num) * 0.017453292f; base.KJFHGOOFOEO(new Weapon.BOLJAKJEJKG { BOLBONELAEF = GHFCJKJJCKN, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = normalized * num2, MOBLIEGOIDK = normalized3 * num3 } }); this.DLFGGGPIKFI(base.BKDFLNGCINH.FICBNMJECCH, CACIBBKDNIH); this.BBGPIKHJAEG(0.2f); this.NIDLHMFKCOE(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 1); } } // Token: 0x06021FF4 RID: 139252 RVA: 0x0094CE7C File Offset: 0x0094B07C private bool KMCJCNDHFOE(bool PJNJILPIDGJ) { bool flag = Time.time < this.NJFAMHGDHLF || Time.time < this.BEKLPJCEJOG; bool flag2 = PJNJILPIDGJ && this.MBLOKFIOKDI == (MeleeWeapon.OFMCAPMPFCK)5; return base.BKDFLNGCINH.OHGPCMJMFGC && flag2 && flag; } // Token: 0x06021FF5 RID: 139253 RVA: 0x0094CEDC File Offset: 0x0094B0DC private void LHNJNPDBAPH(bool CMHBICCKNEG, bool EOJKHKDGDNE) { if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i++) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.KJODBGNDJBG(base.BKDFLNGCINH.IIEGGLHMOBH); } } } // Token: 0x06021FF6 RID: 139254 RVA: 0x0094CF24 File Offset: 0x0094B124 public override void AddAccessory(WeaponAccessory CEKOJLCEGGC) { base.AddAccessory(CEKOJLCEGGC); if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { for (int j = 0; j < meleeWeaponChunk.MKJDOPCNNPA.Length; j++) { meleeWeaponChunk.MKJDOPCNNPA[j].AddIgnoredRigidbody(CEKOJLCEGGC.BKDFLNGCINH.BOLBONELAEF.POEDHHBIGLD); } } } } // Token: 0x06021FF7 RID: 139255 RVA: 0x0094CF98 File Offset: 0x0094B198 private void JDIPHOCKDGK(Enemy AKICADDPOIF, MHEBDODJGOA JJGLGHCMDEN, IHEAKAOGCIF CACIBBKDNIH) { base.LKALKBCCHNA(base.BKDFLNGCINH.FICBNMJECCH, AKICADDPOIF, JJGLGHCMDEN, CACIBBKDNIH); if (base.BHCCHBHNHCG) { if (!AKICADDPOIF.BHCCHBHNHCG) { AKICADDPOIF.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI); } AKICADDPOIF.AuthorityApplyAttack(base.ECHJNDDOIBD, this, base.JNFCPPPFGAM, JJGLGHCMDEN, this.chunkBreakAttackDamage, CACIBBKDNIH.LLKJDBBNPKB, CACIBBKDNIH.EPIJGDAJDJN); } base.OLALJLHLGBN(base.BKDFLNGCINH.FICBNMJECCH, CACIBBKDNIH); } // Token: 0x06021FF8 RID: 139256 RVA: 0x0094D014 File Offset: 0x0094B214 private void MPFKGIPFLJL() { if (IHFKMIAHBFP.HCHIDMOLLAD && base.BKDFLNGCINH != null && this.isDestructible && this.cleanupOnLastChunkDestruction && this.CFMJLAIDLEO() == 0) { base.BKDFLNGCINH.MasterResetToLastSpawnPosition(); } } // Token: 0x06021FF9 RID: 139257 RVA: 0x0094D068 File Offset: 0x0094B268 private void BFEFBLBADDJ(MeleeWeaponCollider CINAFOGLFIB, Enemy AKICADDPOIF, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH) { if (base.DGLOKLCEMLH() && this.PELOFHDEGMN(true) && base.DJABPACFMOA(AKICADDPOIF) == null) { float num = this.AANJGNHKANC(); CACIBBKDNIH.CEGCFPKHDOE = num; Vector3 normalized = CACIBBKDNIH.JIIJIFKCMFK.normalized; Vector3 normalized2 = (CACIBBKDNIH.LLKJDBBNPKB - AKICADDPOIF.BOLBONELAEF.LBPHKCKFPLK).normalized; Vector3 normalized3 = Vector3.Cross(normalized2, normalized).normalized; float num2 = this.OCHBBDGMFOK(num); float num3 = this.DLFAIFNAMJP(num) * 627f; base.IAFALNGADLP(new Weapon.DFFPMLHDDLC { IAKOIACHLBM = AKICADDPOIF, JNFCPPPFGAM = base.JNFCPPPFGAM, EPOLDOJECMI = BLKHNALGIKL, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = normalized * num2, MOBLIEGOIDK = normalized3 * num3 } }); this.BBIIPGLDAHI(base.BKDFLNGCINH.FICBNMJECCH, AKICADDPOIF, BLKHNALGIKL, CACIBBKDNIH); this.BBGPIKHJAEG(406f); this.MCMFKGIMNOK(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 5); } } // Token: 0x06021FFA RID: 139258 RVA: 0x0094D1B8 File Offset: 0x0094B3B8 protected virtual void NBOKPDLLKLO() { base.Awake(); this.OHKAKFEEKPA = new KBLFNOHNGAO(); this.OHKAKFEEKPA.PBPIHAJDCEM(new KBLFNOHNGAO.CNPNCBACBJB(this.DCLIHBOCJKE)); this.OHKAKFEEKPA.CEHCHFAKELE(new KBLFNOHNGAO.NJIPDNBCKJD(this.FNBGDAJFKJD)); if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.GFBCCFIMFEC += this.ILAKKOOGHDI; base.BKDFLNGCINH.PLPIAOHJBOB += this.EGNNIEJJALP; base.BKDFLNGCINH.HBOJCBBDLCD += this.HINDHONDHBE; base.BKDFLNGCINH.CENJCDDINHA += this.DFCAGNPOMOK; base.BKDFLNGCINH.GGMKHKNDOND += this.LHNJNPDBAPH; base.BKDFLNGCINH.BOLBONELAEF.MKGNEPACOPK += this.MPDCALPPAMP; } } // Token: 0x06021FFB RID: 139259 RVA: 0x0094D2A4 File Offset: 0x0094B4A4 private void KPFLGIKOMDH(int EBMPJALDOMF, Vector3 NGBIKAFNNKC, Vector3 LAEKHINEAKK, bool HLFAAEBABMM) { this.FOMCKJPEPIJ(EBMPJALDOMF, NGBIKAFNNKC, LAEKHINEAKK, HLFAAEBABMM); } // Token: 0x06021FFC RID: 139260 RVA: 0x0094D2B4 File Offset: 0x0094B4B4 protected float PDOKAOGFOLM(float LLFNGNAJIIA) { return Mathf.Lerp(this.minSpeedImpulseAngularSpeed, this.maxSpeedImpulseAngularSpeed, LLFNGNAJIIA); } // Token: 0x06021FFD RID: 139261 RVA: 0x0094D2C8 File Offset: 0x0094B4C8 private void ELLDILIDKAM(MeleeWeaponCollider CINAFOGLFIB, Enemy AKICADDPOIF, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH) { if (base.IGIPCHFCFNN() && this.NACAHBAKCIP(true) && base.DJABPACFMOA(AKICADDPOIF) == null) { float num = this.OBNMEIDNEAJ(); CACIBBKDNIH.CEGCFPKHDOE = num; Vector3 normalized = CACIBBKDNIH.JIIJIFKCMFK.normalized; Vector3 normalized2 = (CACIBBKDNIH.LLKJDBBNPKB - AKICADDPOIF.BOLBONELAEF.PHKBCBBMLMA()).normalized; Vector3 normalized3 = Vector3.Cross(normalized2, normalized).normalized; float num2 = this.OCHBBDGMFOK(num); float num3 = this.ALLHOKHLIBO(num) * 1257f; base.IAFALNGADLP(new Weapon.DFFPMLHDDLC { IAKOIACHLBM = AKICADDPOIF, JNFCPPPFGAM = base.JNFCPPPFGAM, EPOLDOJECMI = BLKHNALGIKL, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = normalized * num2, MOBLIEGOIDK = normalized3 * num3 } }); this.BBIIPGLDAHI(base.BKDFLNGCINH.FICBNMJECCH, AKICADDPOIF, BLKHNALGIKL, CACIBBKDNIH); this.BBGPIKHJAEG(1476f); this.NIDLHMFKCOE(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 2); } } // Token: 0x06021FFE RID: 139262 RVA: 0x0094D418 File Offset: 0x0094B618 private void FOMCKJPEPIJ(int EBMPJALDOMF, Vector3 NGBIKAFNNKC, Vector3 LAEKHINEAKK, bool HLFAAEBABMM) { if (EBMPJALDOMF >= 1 && EBMPJALDOMF < this.destructibleChunks.Length) { float magnitude = LAEKHINEAKK.magnitude; Vector3 vector = LAEKHINEAKK / magnitude; if (!HLFAAEBABMM) { float num = magnitude * 1915f; Vector3 vector2 = vector * num; this.destructibleChunks[EBMPJALDOMF].MeleeWeaponChunk.LFFIDOJFBPE(vector2, 1748f); } if (this.chunkBreakParticles != null) { PooledParticle pooledParticle = ObjectPool.NCKMBFBMBFM.Acquire(this.chunkBreakParticles); if (pooledParticle != null) { float num2 = magnitude * 1084f; pooledParticle.JAMLMKEOGMN.main.startSpeedMultiplier = num2; pooledParticle.NAPGKLNBMHN(NGBIKAFNNKC, Quaternion.LookRotation(vector), true); } } AudioManager.Play3DSFX(this.chunkBreakAudio, NGBIKAFNNKC, null); } } // Token: 0x06021FFF RID: 139263 RVA: 0x0094D4EC File Offset: 0x0094B6EC private void CNCPGEOEGNN(Tool COMHEONOMBA, float NGIMKAPNGDN, float DGIOMJDEEIF) { this.BEKLPJCEJOG = Time.time + DGIOMJDEEIF; this.FMAOMKHHOIK(DGIOMJDEEIF); } // Token: 0x06022000 RID: 139264 RVA: 0x0094D504 File Offset: 0x0094B704 private void PNFHJAOPOEC(Tool ENBMEDIFBLM) { if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.PAFCGAEEOHA(true); } } } // Token: 0x06022001 RID: 139265 RVA: 0x0094D544 File Offset: 0x0094B744 private void HINDHONDHBE(Tool COMHEONOMBA, float DGIOMJDEEIF) { this.NJFAMHGDHLF = Time.time + DGIOMJDEEIF; this.OHGNMLLCDEE(DGIOMJDEEIF); } // Token: 0x06022002 RID: 139266 RVA: 0x0094D55C File Offset: 0x0094B75C protected float ALLHOKHLIBO(float LLFNGNAJIIA) { return Mathf.Lerp(this.minSpeedImpulseAngularSpeed, this.maxSpeedImpulseAngularSpeed, LLFNGNAJIIA); } // Token: 0x06022003 RID: 139267 RVA: 0x0094D570 File Offset: 0x0094B770 private bool FOCFOBICLDD() { return Time.time - this.IENFABJMOAD <= 0.25f; } // Token: 0x06022004 RID: 139268 RVA: 0x0094D588 File Offset: 0x0094B788 public virtual int BOCEPLPLOBI(float FNNAAICLLFC = 0f) { int enemyDamage = base.GetEnemyDamage(FNNAAICLLFC); if (!this.isDestructible) { return enemyDamage; } float num = this.AEJHJOKOFIF(); return Mathf.RoundToInt(num * (float)enemyDamage); } // Token: 0x17000FEA RID: 4074 // (get) Token: 0x06022005 RID: 139269 RVA: 0x0094D5BC File Offset: 0x0094B7BC protected override Color IIMELCHFGKE { get { return (!(base.NEGLDNHHEOB != null) || !base.NEGLDNHHEOB.AAPHLNCOPNF) ? this.impactColor : base.NEGLDNHHEOB.GBLPHKFPELB; } } // Token: 0x06022006 RID: 139270 RVA: 0x0094D5F8 File Offset: 0x0094B7F8 protected override void MPFLHACPICD(Tool COMHEONOMBA, Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 BEDLPFBGLLP, bool JKGMHGAFHPB) { base.MPFLHACPICD(COMHEONOMBA, CIGPHKLAAOD, IJGPPOIJDKO, BEDLPFBGLLP, JKGMHGAFHPB); if (base.BHCCHBHNHCG) { this.OPPALIBOMDH = this.IHOJIEBJMNI(); } if (this.EKIMDDGHMLM != null) { foreach (MeleeWeaponChunk meleeWeaponChunk in this.EKIMDDGHMLM) { meleeWeaponChunk.NIINOABKAPJ = true; } } } // Token: 0x06022007 RID: 139271 RVA: 0x0094D65C File Offset: 0x0094B85C private void IGGEEKLEEKK(bool CMHBICCKNEG, bool EOJKHKDGDNE) { if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.KNDNMFJNCBN(base.BKDFLNGCINH.IIEGGLHMOBH); } } } // Token: 0x06022008 RID: 139272 RVA: 0x0094D6A4 File Offset: 0x0094B8A4 private float GPKJLFHDJAP() { float num = 0f; for (int i = 0; i < this.destructibleChunks.Length; i++) { if (this.destructibleChunks[i].MeleeWeaponChunk.NIINOABKAPJ) { num += this.destructibleChunks[i].WeaponAttackContribution; } } return num; } // Token: 0x06022009 RID: 139273 RVA: 0x0094D700 File Offset: 0x0094B900 private bool FAPMJBACIGO(bool PJNJILPIDGJ) { bool flag = Time.time < this.NJFAMHGDHLF || Time.time < this.BEKLPJCEJOG; bool flag2 = !PJNJILPIDGJ || this.MBLOKFIOKDI == MeleeWeapon.OFMCAPMPFCK.SWINGING; return base.BKDFLNGCINH.OHGPCMJMFGC && flag2 && !flag; } // Token: 0x0602200A RID: 139274 RVA: 0x0094D760 File Offset: 0x0094B960 private void LGLLAPPECMH(Vector3 FHFHOMKFHCI, float DNAIGDPNOEK, float MMBLAFNAPPJ) { Player player = null; if (base.BKDFLNGCINH.OHGPCMJMFGC) { player = base.BKDFLNGCINH.NAABPMOIADH(); } else if (this.GFKIHIGNHLK()) { player = base.BKDFLNGCINH.FICBNMJECCH; } this.OHKAKFEEKPA.GODGOKCOCJO(FHFHOMKFHCI, DNAIGDPNOEK, MMBLAFNAPPJ, player); } // Token: 0x0602200B RID: 139275 RVA: 0x0094D7B8 File Offset: 0x0094B9B8 private bool PLPFLHPGIDK(bool PJNJILPIDGJ) { bool flag = Time.time < this.NJFAMHGDHLF || Time.time < this.BEKLPJCEJOG; bool flag2 = !PJNJILPIDGJ || this.MBLOKFIOKDI == MeleeWeapon.OFMCAPMPFCK.DISABLED; return !base.BKDFLNGCINH.OHGPCMJMFGC || !flag2 || !flag; } // Token: 0x0602200C RID: 139276 RVA: 0x0094D818 File Offset: 0x0094BA18 private bool CFGCMKDAKKJ(bool PJNJILPIDGJ = true) { return this.FAPMJBACIGO(PJNJILPIDGJ) || this.NJJNDCBBCPJ(); } // Token: 0x0602200D RID: 139277 RVA: 0x0094D830 File Offset: 0x0094BA30 private bool NACAHBAKCIP(bool PJNJILPIDGJ = true) { return !this.KMCJCNDHFOE(PJNJILPIDGJ) && this.NJJNDCBBCPJ(); } // Token: 0x0602200E RID: 139278 RVA: 0x0094D848 File Offset: 0x0094BA48 private void EKGEKJHPPLE(Tool ENBMEDIFBLM) { if (this.EKIMDDGHMLM != null) { MeleeWeaponChunk[] ekimddghmlm = this.EKIMDDGHMLM; for (int i = 1; i < ekimddghmlm.Length; i += 0) { MeleeWeaponChunk meleeWeaponChunk = ekimddghmlm[i]; meleeWeaponChunk.FNIBBNGFPBK = false; } } } // Token: 0x0602200F RID: 139279 RVA: 0x0094D888 File Offset: 0x0094BA88 private void HGONDLDOGLG(Tool COMHEONOMBA, float DGIOMJDEEIF) { this.NJFAMHGDHLF = Time.time + DGIOMJDEEIF; this.FMAOMKHHOIK(DGIOMJDEEIF); } // Token: 0x06022010 RID: 139280 RVA: 0x0094D8A0 File Offset: 0x0094BAA0 private void DFCAGNPOMOK(Tool COMHEONOMBA, float NGIMKAPNGDN, float DGIOMJDEEIF) { this.BEKLPJCEJOG = Time.time + DGIOMJDEEIF; this.OHGNMLLCDEE(DGIOMJDEEIF); } // Token: 0x06022011 RID: 139281 RVA: 0x0094D8B8 File Offset: 0x0094BAB8 private void HKDEEPPBGFO(MeleeWeaponCollider CINAFOGLFIB, Tool EEPPNAIKGEO, IHEAKAOGCIF CACIBBKDNIH) { if (base.JNOCCMDBMIO() && this.OPHOJEGKNNJ(true) && EEPPNAIKGEO != base.BKDFLNGCINH && base.OFLFECINECM(EEPPNAIKGEO) == null) { float num = this.OEGCDADHAMO(); CACIBBKDNIH.CEGCFPKHDOE = num; Vector3 normalized = CACIBBKDNIH.JIIJIFKCMFK.normalized; Vector3 normalized2 = (CACIBBKDNIH.LLKJDBBNPKB - EEPPNAIKGEO.BOLBONELAEF.PHKBCBBMLMA()).normalized; Vector3 normalized3 = Vector3.Cross(normalized2, normalized).normalized; float num2 = this.OCHBBDGMFOK(num); float num3 = this.DLFAIFNAMJP(num) * 1389f; base.APKNHOHOGOO(new Weapon.MMCFPNONBKI { BKDFLNGCINH = EEPPNAIKGEO, OADEFPOLPPI = new Weapon.OADEFPOLPPI { JODPFDMKBIG = Time.time, PKIDDNAKKKO = this.impactContactDuration, DBGNMPJAJJO = this.collisionReTriggerDelay, EFEKGINOBLK = normalized * num2, MOBLIEGOIDK = normalized3 * num3 } }); this.HGKOIFBANBK(base.BKDFLNGCINH.FICBNMJECCH, EEPPNAIKGEO, CACIBBKDNIH); this.BBGPIKHJAEG(1979f); this.PMLIAIEEKMC(CACIBBKDNIH.JIIJIFKCMFK, CACIBBKDNIH.EPIJGDAJDJN, 1); } } // Token: 0x04005842 RID: 22594 [SerializeField] [Header("Melee Impacts")] private bool supportsStationaryCollisionTests; // Token: 0x04005843 RID: 22595 [SerializeField] private float impactContactDuration = 0.2f; // Token: 0x04005844 RID: 22596 [SerializeField] private float collisionReTriggerDelay = 0.2f; // Token: 0x04005845 RID: 22597 [SerializeField] [Header("Impact Swing Speed")] private float minImpactWeaponSpeed = 1.5f; // Token: 0x04005846 RID: 22598 [SerializeField] private float maxImpactWeaponSpeed = 3.5f; // Token: 0x04005847 RID: 22599 [SerializeField] private float minSpeedImpulseSpeed = 3f; // Token: 0x04005848 RID: 22600 [SerializeField] private float maxSpeedImpulseSpeed = 20f; // Token: 0x04005849 RID: 22601 [SerializeField] private float minSpeedImpulseAngularSpeed; // Token: 0x0400584A RID: 22602 [SerializeField] private float maxSpeedImpulseAngularSpeed = 720f; // Token: 0x0400584B RID: 22603 [Header("Throw Damage")] [SerializeField] private MeleeWeapon.HCMNFFMOBNA throwDamageType = MeleeWeapon.HCMNFFMOBNA.ONLY_LAST_DESTRUCTIBLE_CHUNK; // Token: 0x0400584C RID: 22604 [SerializeField] private float minThrowDamageSpeed = 1f; // Token: 0x0400584D RID: 22605 [SerializeField] [Header("Destructible Melee Weapon")] private bool isDestructible; // Token: 0x0400584E RID: 22606 [SerializeField] private bool cleanupOnLastChunkDestruction = true; // Token: 0x0400584F RID: 22607 [SerializeField] private MeleeWeapon.DestructibleChunkDescriptor[] destructibleChunks; // Token: 0x04005850 RID: 22608 [SerializeField] [Header("Destructible Chunk Feedback")] private PooledParticle chunkBreakParticles; // Token: 0x04005851 RID: 22609 [SerializeField] private RecRoomAudioClip chunkBreakAudio; // Token: 0x04005852 RID: 22610 [Header("Destructible Chunk Physics")] [SerializeField] private float chunkBreakDamageRadius = 0.5f; // Token: 0x04005853 RID: 22611 [SerializeField] private int chunkBreakAttackDamage = 50; // Token: 0x04005854 RID: 22612 [SerializeField] private float chunkBreakForce = 10f; // Token: 0x04005855 RID: 22613 [SerializeField] [Header("Visuals")] private Color impactColor = Color.white; // Token: 0x04005856 RID: 22614 [SerializeField] private float trailOpacitySmoothSpeed = 0.25f; // Token: 0x04005857 RID: 22615 private const float AAFHEPHLBGN = 0.2f; // Token: 0x04005858 RID: 22616 private const float IGJHEGIJAHB = 2.25f; // Token: 0x04005859 RID: 22617 private const float JOLALHFKGLK = 1.5f; // Token: 0x0400585A RID: 22618 private const float DGLGJCMNBMI = 0.05f; // Token: 0x0400585B RID: 22619 private const float ACHBEJHAJNC = 0.1f; // Token: 0x0400585C RID: 22620 private const float BJAMEJEGDGK = 0.5f; // Token: 0x0400585D RID: 22621 private const float AFPNAPEKBBL = 3f; // Token: 0x0400585E RID: 22622 private const int PCBCPGIDDAF = 3; // Token: 0x0400585F RID: 22623 private const int GBMIEABMMEG = 3; // Token: 0x04005860 RID: 22624 private const int IKBMFNAJPIC = 1; // Token: 0x04005861 RID: 22625 private const int NEFLIILOEFF = 1; // Token: 0x04005862 RID: 22626 private MeleeWeaponChunk[] EKIMDDGHMLM; // Token: 0x04005863 RID: 22627 private KBLFNOHNGAO OHKAKFEEKPA; // Token: 0x04005864 RID: 22628 private LHLLJPPCDKA LICCLEEBIMA; // Token: 0x04005865 RID: 22629 private MeleeWeapon.OFMCAPMPFCK MBLOKFIOKDI; // Token: 0x04005866 RID: 22630 private float KLNOAMGBPBE; // Token: 0x04005867 RID: 22631 private float PHNIILCABJE; // Token: 0x04005868 RID: 22632 private float AHLCPODMPFK; // Token: 0x04005869 RID: 22633 private float MFEKJMHPIMD; // Token: 0x0400586A RID: 22634 private float IENFABJMOAD; // Token: 0x0400586B RID: 22635 private float NJFAMHGDHLF; // Token: 0x0400586C RID: 22636 private float BEKLPJCEJOG; // Token: 0x02000FD5 RID: 4053 private enum OFMCAPMPFCK { // Token: 0x0400586E RID: 22638 NOT_SWINGING, // Token: 0x0400586F RID: 22639 PREPARING_TO_SWING, // Token: 0x04005870 RID: 22640 SWINGING, // Token: 0x04005871 RID: 22641 DISABLED } // Token: 0x02000FD6 RID: 4054 private enum HCMNFFMOBNA { // Token: 0x04005873 RID: 22643 NONE, // Token: 0x04005874 RID: 22644 ALWAYS, // Token: 0x04005875 RID: 22645 ONLY_LAST_DESTRUCTIBLE_CHUNK } // Token: 0x02000FD7 RID: 4055 [Serializable] private struct DestructibleChunkDescriptor { // Token: 0x04005876 RID: 22646 public MeleeWeaponChunk MeleeWeaponChunk; // Token: 0x04005877 RID: 22647 [Header("Break Settings")] public int Durability; // Token: 0x04005878 RID: 22648 public float WeaponAttackContribution; } } }