using System; using System.Collections; using System.Collections.Generic; using LOS; using TheVegetationEngine; using TMPro; using ToonyColorsPro.Runtime; using UnityEngine; using UnityEngine.Scripting; // Token: 0x02000087 RID: 135 public class Links : MonoBehaviour { // Token: 0x06000D74 RID: 3444 RVA: 0x001019D4 File Offset: 0x000FFBD4 private void Awake() { Links.x = base.gameObject.GetComponent(); Links.origin = base.gameObject; this.gaia = Links.origin.GetComponent(); this.partyColorHex = ColorUtility.ToHtmlStringRGB(this.partyColor); this.peacefulColorHex = ColorUtility.ToHtmlStringRGB(this.peacefulColor); this.hostileColorHex = ColorUtility.ToHtmlStringRGB(this.hostileColor); for (int i = 0; i < this.partyColors.Length; i++) { this.partyColorsHex[i] = ColorUtility.ToHtmlStringRGB(this.partyColors[i]); this.partyColorsHexRichText[i] = ""; } this.openPartyColors.Add(0); this.openPartyColors.Add(1); this.openPartyColors.Add(2); this.openPartyColors.Add(3); this.openPartyColors.Add(4); GarbageCollector.GCMode = GarbageCollector.Mode.Enabled; this.characterSheet.canvas.enabled = true; if (this.creation) { this.creation.gameObject.SetActive(false); } this.menuCamera.enabled = true; Shader.SetGlobalFloat("_Pocket", 0f); this.mainCameraMask = this.worldCamera.cullingMask; Links.x.camera3D.enabled = true; } // Token: 0x06000D75 RID: 3445 RVA: 0x00101B3C File Offset: 0x000FFD3C private void Update() { Links.x.gameplay.mk = true; Links.x.gameplay.joy = false; if (Records.x.usingController && Links.x.gameplay.currentControllerCount > 0) { Links.x.gameplay.mk = false; Links.x.gameplay.joy = true; } this.mk = Links.x.gameplay.mk; this.joy = Links.x.gameplay.joy; bool flag = this.hasMain; if (this.main) { this.hasMain = true; } else { this.hasMain = false; } if (AstarPath.active != null) { this.gaia.noAstar = false; return; } this.gaia.noAstar = true; } // Token: 0x06000D76 RID: 3446 RVA: 0x00101C1C File Offset: 0x000FFE1C public int GetPartyID(Character obj) { int count = this.party.Count; for (int i = 0; i < count; i++) { if (obj == this.party[i]) { return i; } } return -1; } // Token: 0x06000D77 RID: 3447 RVA: 0x00101C58 File Offset: 0x000FFE58 public Character GetCreationID(int x) { int count = this.party.Count; for (int i = 0; i < count; i++) { if (this.party[i] && this.party[i].party && this.party[i].stats.partyID == x) { return this.party[i]; } } return null; } // Token: 0x06000D78 RID: 3448 RVA: 0x00101CCC File Offset: 0x000FFECC public int GetPortraitIndex(Character obj, bool ignoreNull) { int count = this.portraitOrder.Count; if (!ignoreNull) { for (int i = 0; i < count; i++) { if (obj == this.party[i]) { return i; } } } else { int num = 0; for (int j = 0; j < count; j++) { if (obj == this.portraitOrder[j]) { return num; } if (this.portraitOrder[j] && this.portraitOrder[j].selected) { num++; } } } return -1; } // Token: 0x06000D79 RID: 3449 RVA: 0x00101D5C File Offset: 0x000FFF5C public int GetPortraitIndexWaypoints(Character obj) { int count = this.portraitOrder.Count; if (obj == this.main) { return 0; } int num = 1; for (int i = 0; i < count; i++) { if (obj == this.portraitOrder[i]) { return num; } if (this.portraitOrder[i] && !this.portraitOrder[i].mainSelected) { num++; } } return -1; } // Token: 0x06000D7A RID: 3450 RVA: 0x00101DD4 File Offset: 0x000FFFD4 public int GetPartyIDReal(Character obj) { int count = this.party.Count; int num = 0; for (int i = 0; i < count; i++) { if (obj == this.party[i]) { return num; } if (this.party[i] && this.party[i].selected) { num++; } } return -1; } // Token: 0x06000D7B RID: 3451 RVA: 0x00101E3C File Offset: 0x0010003C public bool InParty(Character c) { return this.portraitOrder.Contains(c); } // Token: 0x06000D7C RID: 3452 RVA: 0x00101E50 File Offset: 0x00100050 public int GetPartySummonsIDReal(Character obj) { int count = this.party.Count; int num = 0; for (int i = 0; i < count; i++) { if (obj == this.party[i]) { return num; } if (this.party[i] && this.party[i].summoned) { num++; } } return -1; } // Token: 0x06000D7D RID: 3453 RVA: 0x00101EB8 File Offset: 0x001000B8 public Character GetPortraitID(int id) { if (id < this.portraitOrder.Count) { return this.portraitOrder[id]; } return null; } // Token: 0x06000D7E RID: 3454 RVA: 0x00101ED8 File Offset: 0x001000D8 public Character GetHotKeyCharacter(int key) { int count = this.portraitOrder.Count; this.tempPortraitOrder.Clear(); for (int i = 0; i < count; i++) { if (i == 0) { this.tempPortraitOrder.Add(this.portraitOrder[i]); } else { bool flag = false; for (int j = 0; j < this.tempPortraitOrder.Count; j++) { if (!flag && this.portraitOrder[i].stats.partyID < this.tempPortraitOrder[j].stats.partyID) { flag = true; this.tempPortraitOrder.Insert(j, this.portraitOrder[i]); } } if (!flag) { this.tempPortraitOrder.Add(this.portraitOrder[i]); } } } for (int k = 0; k < this.tempPortraitOrder.Count; k++) { if (k == key) { return this.tempPortraitOrder[k]; } } return null; } // Token: 0x06000D7F RID: 3455 RVA: 0x00101FD5 File Offset: 0x001001D5 public int GetPortraitCount() { return this.portraitOrder.Count; } // Token: 0x06000D80 RID: 3456 RVA: 0x00101FE4 File Offset: 0x001001E4 public int GetPortraitOrder(Character obj) { int count = this.portraitOrder.Count; for (int i = 0; i < count; i++) { if (obj == this.portraitOrder[i]) { return i; } } return -1; } // Token: 0x06000D81 RID: 3457 RVA: 0x00102020 File Offset: 0x00100220 public void OrderPortraitList() { int count = this.portraitOrder.Count; this.tempPortraitOrder.Clear(); for (int i = 0; i < count; i++) { if (i == 0) { this.tempPortraitOrder.Add(this.portraitOrder[i]); } else { bool flag = false; for (int j = 0; j < this.tempPortraitOrder.Count; j++) { if (!flag && this.portraitOrder[i].stats.formationGroup < this.tempPortraitOrder[j].stats.formationGroup) { flag = true; this.tempPortraitOrder.Insert(j, this.portraitOrder[i]); } } if (!flag) { this.tempPortraitOrder.Add(this.portraitOrder[i]); } } } for (int k = 0; k < count; k++) { this.portraitOrder[k] = this.tempPortraitOrder[k]; } } // Token: 0x06000D82 RID: 3458 RVA: 0x0010211C File Offset: 0x0010031C public int GetSelectedCount() { int count = this.party.Count; int num = 0; for (int i = 0; i < count; i++) { if (this.party[i] && this.party[i].selected) { num++; } } return num; } // Token: 0x06000D83 RID: 3459 RVA: 0x00102170 File Offset: 0x00100370 public int GetSummonsCount(int type) { int count = this.party.Count; int num = 0; for (int i = 0; i < count; i++) { if (this.party[i].summoned && !this.party[i].dead && !this.party[i].missing) { string xmlName = this.party[i].stats.xmlName; bool flag = false; if (xmlName.Contains("Summon")) { flag = true; } string race = this.party[i].stats.race; if (!flag && ((type == 0 && race != "Vol") || (type == 1 && race == "Vol"))) { num++; } } } return num; } // Token: 0x06000D84 RID: 3460 RVA: 0x00102244 File Offset: 0x00100444 public Character GetFirstInFormation() { for (int i = 0; i < this.formationOrder.Count; i++) { if (this.formationOrder[i] && this.formationOrder[i].IsSentient()) { return this.formationOrder[i]; } } return null; } // Token: 0x06000D85 RID: 3461 RVA: 0x0010229C File Offset: 0x0010049C public void SetFormationOrder() { this.formationOrder.Clear(); for (int i = 0; i < this.portraitOrder.Count; i++) { if (i == 0) { this.formationOrder.Add(this.portraitOrder[i]); } else { bool flag = false; for (int j = 0; j < this.formationOrder.Count; j++) { if (!flag && this.portraitOrder[i].stats.formationGroup < this.formationOrder[j].stats.formationGroup) { this.formationOrder.Insert(j, this.portraitOrder[i]); flag = true; } } if (!flag) { this.formationOrder.Add(this.portraitOrder[i]); } } } } // Token: 0x06000D86 RID: 3462 RVA: 0x00102369 File Offset: 0x00100569 public int GetOpenPartyColor() { if (this.openPartyColors.Count > 0) { int num = this.openPartyColors[0]; this.openPartyColors.RemoveAt(0); return num; } return 5; } // Token: 0x06000D87 RID: 3463 RVA: 0x00102394 File Offset: 0x00100594 public int MatchTerrainColors(Color32 singleColor) { Color color = this.terrainColors[0]; for (int i = 0; i < this.terrainColors.Length; i++) { color = this.terrainColors[i]; float num = (float)singleColor.r / 255f - color.r; if (num < 0f) { num *= -1f; } if (num < 0.01f) { float num2 = (float)singleColor.g / 255f - color.g; if (num2 < 0f) { num2 *= -1f; } if (num2 < 0.01f) { float num3 = (float)singleColor.b / 255f - color.b; if (num3 < 0f) { num3 *= -1f; } if (num3 < 0.01f) { return i; } } } } return 0; } // Token: 0x06000D88 RID: 3464 RVA: 0x00102480 File Offset: 0x00100680 public Vector3 GetMainPosition() { if (this.hasMain) { return Links.x.main.torsoPosition; } return Vector3.zero; } // Token: 0x06000D89 RID: 3465 RVA: 0x001024A0 File Offset: 0x001006A0 public void GetOpenPartyColorFromSave(int id) { if (this.openPartyColors.Count > 0) { int num = this.openPartyColors.IndexOf(id); if (num >= 0) { this.openPartyColors.RemoveAt(num); } } } // Token: 0x06000D8A RID: 3466 RVA: 0x001024D8 File Offset: 0x001006D8 public void ReturnPartyColor(int id) { if (id < 5) { this.openPartyColors.Add(id); } } // Token: 0x06000D8B RID: 3467 RVA: 0x001024EC File Offset: 0x001006EC public int GetPartyCount() { int count = this.portraitOrder.Count; int num = 0; for (int i = 0; i < count; i++) { if (this.portraitOrder[i]) { num++; } } return num; } // Token: 0x06000D8C RID: 3468 RVA: 0x0010252C File Offset: 0x0010072C public int GetFreePartyNode() { int count = this.portraitOrder.Count; for (int i = 0; i < 14; i++) { int num = i; bool flag = true; for (int j = 0; j < count; j++) { if (this.portraitOrder[j] && this.portraitOrder[j].nodeStationaryID == num) { flag = false; } } if (flag) { return num; } } return 6; } // Token: 0x06000D8D RID: 3469 RVA: 0x00102598 File Offset: 0x00100798 public int SentientPartyCount() { int count = this.portraitOrder.Count; int num = 0; for (int i = 0; i < count; i++) { if (this.portraitOrder[i] && !this.portraitOrder[i].isBoro && this.portraitOrder[i].IsSentient()) { num++; } } return num; } // Token: 0x06000D8E RID: 3470 RVA: 0x00102600 File Offset: 0x00100800 public Character GetFirstAvailableParty(Vector3 point) { int count = this.portraitOrder.Count; for (int i = 0; i < count; i++) { if (this.portraitOrder[i] && !this.portraitOrder[i].isBoro && this.portraitOrder[i].IsSentient()) { return this.portraitOrder[i]; } } return null; } // Token: 0x06000D8F RID: 3471 RVA: 0x0010266C File Offset: 0x0010086C public Character GetSecondAvailableParty(Vector3 point, Character firstCharacter) { int count = this.portraitOrder.Count; if (firstCharacter) { for (int i = 0; i < count; i++) { if (this.portraitOrder[i] && this.portraitOrder[i] != firstCharacter && !this.portraitOrder[i].isBoro) { return this.portraitOrder[i]; } } } return null; } // Token: 0x06000D90 RID: 3472 RVA: 0x001026E4 File Offset: 0x001008E4 public Character GetThirdAvailableParty(Vector3 point, Character firstCharacter, Character secondCharacter) { int count = this.portraitOrder.Count; if (firstCharacter) { point = firstCharacter.tr.position; for (int i = 0; i < count; i++) { if (this.portraitOrder[i] && this.portraitOrder[i] != firstCharacter && this.portraitOrder[i] != secondCharacter && !this.portraitOrder[i].isBoro) { return this.portraitOrder[i]; } } } return null; } // Token: 0x06000D91 RID: 3473 RVA: 0x0010277C File Offset: 0x0010097C public Character GetFourthAvailableParty(Vector3 point, Character firstCharacter, Character secondCharacter, Character thirdCharacter) { int count = this.portraitOrder.Count; if (firstCharacter) { point = firstCharacter.tr.position; for (int i = 0; i < count; i++) { if (this.portraitOrder[i] && this.portraitOrder[i] != firstCharacter && this.portraitOrder[i] != secondCharacter && this.portraitOrder[i] != thirdCharacter && !this.portraitOrder[i].isBoro) { return this.portraitOrder[i]; } } } return null; } // Token: 0x06000D92 RID: 3474 RVA: 0x0010282C File Offset: 0x00100A2C public int GetPartyCountNoSummons() { int count = this.party.Count; int num = 0; for (int i = 0; i < count; i++) { if (this.party[i] && this.party[i].party && this.party[i].IsSentient()) { num++; } } return num; } // Token: 0x06000D93 RID: 3475 RVA: 0x00102894 File Offset: 0x00100A94 public Character GetNonLeader() { int count = this.party.Count; for (int i = 0; i < count; i++) { if (this.party[i] && this.party[i].party && this.party[i].IsSentient() && !this.party[i].mainSelected) { return this.party[i]; } } return null; } // Token: 0x06000D94 RID: 3476 RVA: 0x00102914 File Offset: 0x00100B14 public Character GetPartyFromName(string n) { int count = this.party.Count; for (int i = 0; i < count; i++) { if (this.party[i] && this.party[i].party && n == this.party[i].stats.GetName()) { return this.party[i]; } } return null; } // Token: 0x06000D95 RID: 3477 RVA: 0x0010298C File Offset: 0x00100B8C public Vector3 NearestIncense(Vector3 point) { float num = float.PositiveInfinity; int num2 = -1; for (int i = 0; i < this.party.Count; i++) { Character character = this.party[i]; if (character && character.party && character.hasIncenseTorch) { float sqrMagnitude = this.SubtractVectors(character.tr.position, point).sqrMagnitude; if (sqrMagnitude < num) { num = sqrMagnitude; num2 = i; } } } if (num2 > -1) { return this.party[num2].currentPosition; } return Links.x.main.currentPosition; } // Token: 0x06000D96 RID: 3478 RVA: 0x00102A34 File Offset: 0x00100C34 public Character GetNearestParty(Vector3 point) { float num = float.PositiveInfinity; int num2 = -1; for (int i = 0; i < this.party.Count; i++) { Character character = this.party[i]; if (character && !character.dead && character.party) { float sqrMagnitude = this.SubtractVectors(character.tr.position, point).sqrMagnitude; if (sqrMagnitude < num) { num = sqrMagnitude; num2 = i; } } } if (num2 > -1) { return this.party[num2]; } return null; } // Token: 0x06000D97 RID: 3479 RVA: 0x00102AC8 File Offset: 0x00100CC8 public Character GetNearestParty(Vector3 point, Character exclude, float max) { float num = float.PositiveInfinity; int num2 = -1; for (int i = 0; i < this.party.Count; i++) { Character character = this.party[i]; if (character && !character.dead && character != exclude) { float sqrMagnitude = this.SubtractVectors(character.tr.position, point).sqrMagnitude; if (sqrMagnitude < num && sqrMagnitude < max) { num = sqrMagnitude; num2 = i; } } } if (num2 > -1) { return this.party[num2]; } return null; } // Token: 0x06000D98 RID: 3480 RVA: 0x00102B64 File Offset: 0x00100D64 public Character GetNearestPartyInRoom(Vector3 point, Character exclude, float max, string area, bool sentient) { float num = float.PositiveInfinity; int num2 = -1; for (int i = 0; i < this.party.Count; i++) { Character character = this.party[i]; if (character && !character.dead && character != exclude && character.indoorID == area) { float sqrMagnitude = this.SubtractVectors(character.tr.position, point).sqrMagnitude; if (sqrMagnitude < num && sqrMagnitude < max && (!sentient || (sentient && character.IsSentient()))) { num = sqrMagnitude; num2 = i; } } } if (num2 > -1) { return this.party[num2]; } return null; } // Token: 0x06000D99 RID: 3481 RVA: 0x00102C20 File Offset: 0x00100E20 public Vector3 SubtractVectors(Vector3 a, Vector3 b) { Vector3 vector; vector.x = a.x - b.x; vector.y = a.y - b.y; vector.z = a.z - b.z; return vector; } // Token: 0x06000D9A RID: 3482 RVA: 0x00102C6C File Offset: 0x00100E6C public Character GetNearestPortraitParty(Vector3 point) { float num = float.PositiveInfinity; int num2 = -1; for (int i = 0; i < this.portraitOrder.Count; i++) { if (this.portraitOrder[i] && !this.portraitOrder[i].dead) { float sqrMagnitude = (this.portraitOrder[i].tr.position - point).sqrMagnitude; if (sqrMagnitude < num) { num = sqrMagnitude; num2 = i; } } } if (num2 > -1) { return this.portraitOrder[num2]; } return null; } // Token: 0x06000D9B RID: 3483 RVA: 0x00102D04 File Offset: 0x00100F04 public Character GetCharacterWithAction() { for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && this.party[i].IsSentient() && this.party[i].CanChooseActions()) { return this.party[i]; } } return null; } // Token: 0x06000D9C RID: 3484 RVA: 0x00102D6E File Offset: 0x00100F6E public Character GetPartyFromID(int n) { if (n < this.party.Count) { return this.party[n]; } return null; } // Token: 0x06000D9D RID: 3485 RVA: 0x00102D8C File Offset: 0x00100F8C public void RemoveOtherLeaders(Character leader) { for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && this.party[i] != leader) { this.party[i].mainSelected = false; if (this.party[i].circleAnimator) { this.party[i].circleAnimator.SetBool("Main", false); this.party[i].circleAnimator.enabled = true; } } } } // Token: 0x06000D9E RID: 3486 RVA: 0x00102E39 File Offset: 0x00101039 public Character GetPartyAtIndex(int n) { if (n < this.portraitOrder.Count) { return this.portraitOrder[n]; } return null; } // Token: 0x06000D9F RID: 3487 RVA: 0x00102E58 File Offset: 0x00101058 public Character GetProtagonist() { for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && this.party[i].protagonist) { return this.party[i]; } } return null; } // Token: 0x06000DA0 RID: 3488 RVA: 0x00102EB0 File Offset: 0x001010B0 public bool AllDead() { bool flag = true; for (int i = 0; i < this.portraitOrder.Count; i++) { if (this.portraitOrder[i] && !this.portraitOrder[i].dead) { flag = false; } } return flag; } // Token: 0x06000DA1 RID: 3489 RVA: 0x00102F00 File Offset: 0x00101100 public int PartyMembersAlive() { int num = 0; for (int i = 0; i < this.portraitOrder.Count; i++) { if (this.portraitOrder[i] && !this.portraitOrder[i].dead) { num++; } } return num; } // Token: 0x06000DA2 RID: 3490 RVA: 0x00102F50 File Offset: 0x00101150 public int PartySummonsAlive() { int num = 0; for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && !this.party[i].dead) { num++; } } return num; } // Token: 0x06000DA3 RID: 3491 RVA: 0x00102FA0 File Offset: 0x001011A0 public bool AllStunned() { bool flag = true; for (int i = 0; i < this.portraitOrder.Count; i++) { if (this.portraitOrder[i] && !this.portraitOrder[i].stunned) { flag = false; } } return flag; } // Token: 0x06000DA4 RID: 3492 RVA: 0x00102FF0 File Offset: 0x001011F0 public void ChangePartyList(Character obj, bool adding, bool mainParty) { int num = this.party.IndexOf(obj); if (num == -1 && adding) { if (mainParty) { this.portraitOrder.Add(obj); int num2 = this.portraitOrder.IndexOf(obj); this.party.Insert(num2, obj); } else { this.party.Add(obj); } if (this.main && this.main.inCircle) { this.fellowship.AddPartyToCircle(obj); } } if (num > -1 && !adding) { if (obj.inCircle) { this.fellowship.RemovePartyFromCircle(obj); } this.party.RemoveAt(num); if (mainParty) { num = this.portraitOrder.IndexOf(obj); this.portraitOrder.RemoveAt(num); } } this.party.RemoveAll((Character item) => item == null); this.UpdatePartyColors(); } // Token: 0x06000DA5 RID: 3493 RVA: 0x001030E4 File Offset: 0x001012E4 public void ChangeBoatList(Boat obj, bool adding) { int num = this.boats.IndexOf(obj); if (num == -1 && adding) { this.boats.Add(obj); } if (num > -1 && !adding) { this.boats.RemoveAt(num); } this.boats.RemoveAll((Boat item) => item == null); } // Token: 0x06000DA6 RID: 3494 RVA: 0x00103150 File Offset: 0x00101350 public void UpdatePartyColors() { foreach (Character character in this.party) { if (character && !character.dead) { character.UpdateArrowColor(); character.CircleAnimation(""); } } } // Token: 0x06000DA7 RID: 3495 RVA: 0x001031C0 File Offset: 0x001013C0 public void ChangeNPCList(Character obj, bool adding) { int num = this.npcs.IndexOf(obj); if (num == -1 && adding) { this.npcs.Add(obj); } if (num > -1 && !adding) { this.npcs.RemoveAt(num); } } // Token: 0x06000DA8 RID: 3496 RVA: 0x00103201 File Offset: 0x00101401 public void ClearNPCs() { this.npcs.RemoveAll((Character item) => item == null); } // Token: 0x06000DA9 RID: 3497 RVA: 0x00103230 File Offset: 0x00101430 public void ChangeDeadList(Character obj, bool adding) { int num = this.deads.IndexOf(obj); if (num == -1 && adding) { this.deads.Add(obj); } if (num > -1 && !adding) { this.deads.RemoveAt(num); } } // Token: 0x06000DAA RID: 3498 RVA: 0x00103271 File Offset: 0x00101471 public void ClearDeads() { this.deads.RemoveAll((Character item) => item == null); } // Token: 0x06000DAB RID: 3499 RVA: 0x0010329E File Offset: 0x0010149E public void AddRemovedCompanion(Character character) { this.removedParty.Add(character); this.UpdatePartyColors(); } // Token: 0x06000DAC RID: 3500 RVA: 0x001032B2 File Offset: 0x001014B2 public void AddQuad(Culling quad) { if (!this.quads.Contains(quad)) { this.quads.Add(quad); } } // Token: 0x06000DAD RID: 3501 RVA: 0x001032D0 File Offset: 0x001014D0 public void ChangeTimeOfDay() { for (int i = 0; i < this.boats.Count; i++) { this.boats[i].ChangeTimeOfDay(); } if (Links.x.gaia.boat) { Links.x.gaia.boat.ChangeTimeOfDay(); } } // Token: 0x06000DAE RID: 3502 RVA: 0x0010332E File Offset: 0x0010152E public void RemoveScene() { base.StartCoroutine(this.RemovingScene()); } // Token: 0x06000DAF RID: 3503 RVA: 0x0010333D File Offset: 0x0010153D private IEnumerator RemovingScene() { if (this.sensory) { this.sensory.SwitchingScenes(); } this.gaia.gameSecondCounter.RemoveAllTimeEffects(); this.diorama.RemoveResourcePrefabs(); this.diorama.ReturnItemsPrefabs(); this.critters.RemoveScene(); int num = 0; this.tempCharacters.Clear(); for (int j = 0; j < this.party.Count; j++) { this.tempCharacters.Add(this.party[j]); } int count = this.tempCharacters.Count; int num2; for (int i = 0; i < this.tempCharacters.Count; i = num2 + 1) { this.tempCharacters[i].RemovingScene(); num++; if (num > 20) { yield return new WaitForSecondsRealtime(0.0001f); num = 0; } num2 = i; } this.tempCharacters.Clear(); for (int k = 0; k < this.npcs.Count; k++) { this.tempCharacters.Add(this.npcs[k]); } int count2 = this.tempCharacters.Count; for (int i = 0; i < this.tempCharacters.Count; i = num2 + 1) { this.tempCharacters[i].RemovingScene(); if (num > 20) { yield return new WaitForSecondsRealtime(0.0001f); num = 0; } num2 = i; } this.tempCharacters.Clear(); for (int l = 0; l < this.deads.Count; l++) { this.tempCharacters.Add(this.deads[l]); } int count3 = this.tempCharacters.Count; for (int i = 0; i < this.tempCharacters.Count; i = num2 + 1) { this.tempCharacters[i].RemovingScene(); if (num > 20) { yield return new WaitForSecondsRealtime(0.0001f); num = 0; } num2 = i; } for (int m = 0; m < this.boats.Count; m++) { this.boats[m].RemoveBoat(); } if (Links.x.gaia.partyBoat) { Links.x.gaia.boat.RemoveBoatNode(); } this.cellar.ReturnGorePiles(); Links.x.gaia.waitingToRemoveScene = false; yield break; } // Token: 0x06000DB0 RID: 3504 RVA: 0x0010334C File Offset: 0x0010154C public void ClearSceneLists() { this.quads.Clear(); this.npcs.Clear(); this.removedParty.Clear(); } // Token: 0x06000DB1 RID: 3505 RVA: 0x0010336F File Offset: 0x0010156F public void ClearQuads() { this.quads.Clear(); } // Token: 0x06000DB2 RID: 3506 RVA: 0x0010337C File Offset: 0x0010157C public void ReorderPortraits() { for (int i = this.party.Count - 1; i >= 0; i--) { if (this.party[i]) { Portrait portrait = this.party[i].portrait; if (portrait) { portrait.gameObject.transform.SetAsFirstSibling(); this.party[i].characterSheetPortrait.gameObject.transform.SetAsFirstSibling(); } } } this.UpdatePartyColors(); } // Token: 0x06000DB3 RID: 3507 RVA: 0x00103404 File Offset: 0x00101604 public void SetFormationParty() { for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && this.party[i].party) { this.party[i].stats.FormationTactics(); } } } // Token: 0x06000DB4 RID: 3508 RVA: 0x00103464 File Offset: 0x00101664 public Character SharingFormation(Character character, int formationGroup) { bool flag = false; Character character2 = null; for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && this.party[i] != character && this.party[i].party && this.party[i].stats.formationGroup == formationGroup) { if (character.stats.isLeader) { return character; } if (this.party[i].stats.isLeader) { return this.party[i]; } character2 = this.party[i]; flag = true; } } if (flag) { return character2; } return null; } // Token: 0x06000DB5 RID: 3509 RVA: 0x00103530 File Offset: 0x00101730 public void ChangePartyPosition(Transform portraitParent) { List list = new List(); for (int i = 0; i < this.party.Count; i++) { if (this.party[i]) { list.Add(this.party[i]); } } this.party.Clear(); Character character = null; foreach (object obj in portraitParent) { Portrait component = ((Transform)obj).gameObject.GetComponent(); if (component && component.character) { this.party.Add(component.character); Debug.Log(component.character); component.SetSelection(); if (!character) { character = component.character; } } } this.UpdatePartyColors(); } // Token: 0x06000DB6 RID: 3510 RVA: 0x0010362C File Offset: 0x0010182C public void ChangePartyPositionFromLeader(Character leader) { List list = new List(); for (int i = 0; i < this.party.Count; i++) { if (this.party[i]) { list.Add(this.party[i]); } } this.party.Clear(); this.party.Add(leader); for (int j = 0; j < list.Count; j++) { if (list[j] != leader) { this.party.Add(list[j]); } } this.UpdatePartyColors(); } // Token: 0x06000DB7 RID: 3511 RVA: 0x001036C9 File Offset: 0x001018C9 public TMP_SpriteAsset GetSpriteSheetAsset(int index) { return this.spriteAssets[index]; } // Token: 0x06000DB8 RID: 3512 RVA: 0x001036D7 File Offset: 0x001018D7 public string GetCharacterTextColor(Character character) { if (!character.npc) { return this.partyColorHex; } if (character.hostility < 2 && !character.attackingUntilBribe) { return this.peacefulColorHex; } return this.hostileColorHex; } // Token: 0x06000DB9 RID: 3513 RVA: 0x00103706 File Offset: 0x00101906 public string GetPartyColor(int num) { return this.partyColorsHexRichText[num]; } // Token: 0x06000DBA RID: 3514 RVA: 0x00103710 File Offset: 0x00101910 public Material GetPartyMaterial(int num, int type) { if (!Records.x.coloredCircles) { num = 5; } if (type == 4) { return this.partyArrows[num]; } if (type == 0) { return this.partyCirclesUnselected[num]; } if (type == 1) { return this.partyCirclesUnselectedHover[num]; } if (type == 2) { return this.partyCirclesSelected[num]; } if (type == 3) { return this.partyCirclesSelectedHover[num]; } return null; } // Token: 0x06000DBB RID: 3515 RVA: 0x0010376D File Offset: 0x0010196D public Color GetPortraitColor(int num) { return this.partyPortraitColors[num]; } // Token: 0x06000DBC RID: 3516 RVA: 0x0010377C File Offset: 0x0010197C public Color GetPartyColorRGB(Character character) { for (int i = 0; i < this.party.Count; i++) { if (character == this.party[i]) { return this.partyColors[i]; } } return this.partyColors[0]; } // Token: 0x06000DBD RID: 3517 RVA: 0x001037CC File Offset: 0x001019CC public void SetCursor(string type, bool cursor2D) { Texture2D texture2D = null; if (!cursor2D) { if (Links.x.rtsCamera.inspecting) { type = "Point"; } else if (Links.x.rtsCamera.panning) { type = "EmptyCursor"; type = "Point"; } } if (Links.x.joy) { type = "EmptyCursor"; } Vector2 vector = new Vector2(0f, 0f); for (int i = 0; i < this.cursors.Length; i++) { if (this.cursorNames[i] == type) { texture2D = this.cursors[i]; } } if (texture2D) { string text = type; if (texture2D && this.previousCursor != text) { float num = 32f; if (type.Contains("Beach")) { vector = new Vector2(num / 2f, num / 2f); } if (type.Contains("UIInteract")) { vector = new Vector2(num / 4f, 0f); } if (type.Contains("Resize")) { vector = new Vector2(num / 2f, num / 2f); } if (Records.x.filming) { Cursor.SetCursor(texture2D, vector, CursorMode.ForceSoftware); } else { Cursor.SetCursor(texture2D, vector, CursorMode.Auto); } this.previousCursor = text; } } } // Token: 0x06000DBE RID: 3518 RVA: 0x00103928 File Offset: 0x00101B28 public int PartyNeedsSpiritPickup() { int num = 0; for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && !this.party[i].isBoro && !this.party[i].summoned && this.party[i].party && this.party[i].stats.HasSpellbook() && this.party[i].stats.magicPoints < 80) { if (this.party[i].stats.magicPoints < 40) { num++; num++; } else { num++; } } } return num; } // Token: 0x06000DBF RID: 3519 RVA: 0x00103A00 File Offset: 0x00101C00 public Character GetBinder(string type) { Character character = null; float num = -1f; for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && !this.party[i].isBoro && !this.party[i].summoned && this.party[i].party) { float num2 = this.party[i].stats.GetSkill(23); if (this.party[i].stats.GetSkill(24) > num2 && type == "Forest") { num2 = this.party[i].stats.GetSkill(24); } if (this.party[i].stats.GetSkill(25) > num2 && type == "Shroom") { num2 = this.party[i].stats.GetSkill(25); } if (num2 > num) { character = this.party[i]; num = num2; } } } return character; } // Token: 0x06000DC0 RID: 3520 RVA: 0x00103B40 File Offset: 0x00101D40 public Character GetPagan() { Character character = null; float num = -1f; for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && !this.party[i].isBoro && !this.party[i].summoned && this.party[i].party) { int num3; float num2 = this.party[i].stats.Stat("Pagan", true, out num3); if (num2 > num) { character = this.party[i]; num = num2; } } } return character; } // Token: 0x06000DC1 RID: 3521 RVA: 0x00103BF8 File Offset: 0x00101DF8 public Character HasCompanion(string companionName, Vector3 point) { if (companionName == "Leader") { return Links.x.main; } float num = 30f; if (companionName == null) { return null; } if (companionName == "Tank") { Character character = null; float num2 = -1f; for (int i = 0; i < this.party.Count; i++) { if (this.party[i] && !this.party[i].isBoro && !this.party[i].summoned && this.party[i].party && this.PartyClose(this.party[i], point, num)) { int num4; float num3 = this.party[i].stats.Stat("Strength", true, out num4); if (num3 > num2) { character = this.party[i]; num2 = num3; } } } return character; } if (companionName == "Pagan") { Character character2 = null; float num5 = -1f; for (int j = 0; j < this.party.Count; j++) { if (this.party[j] && !this.party[j].isBoro && !this.party[j].summoned && this.party[j].party && this.PartyClose(this.party[j], point, num)) { int num7; float num6 = this.party[j].stats.Stat("Pagan", true, out num7); if (num6 > num5) { character2 = this.party[j]; num5 = num6; } } } return character2; } if (companionName == "Ranger") { Character character3 = null; float num8 = -1f; for (int k = 0; k < this.party.Count; k++) { if (this.party[k] && !this.party[k].isBoro && !this.party[k].summoned && this.party[k].party && this.PartyClose(this.party[k], point, num)) { float num9 = this.party[k].stats.GetSkill(32); if (this.party[k].stats.GetSkill(31) > num9) { num9 = this.party[k].stats.GetSkill(31); } if (this.party[k].stats.GetSkill(30) > num9) { num9 = this.party[k].stats.GetSkill(30); } if (this.party[k].stats.GetSkill(33) > num9) { num9 = this.party[k].stats.GetSkill(33); } if (this.party[k].stats.GetSkill(34) > num9) { num9 = this.party[k].stats.GetSkill(34); } if (num9 > num8) { character3 = this.party[k]; num8 = num9; } } } return character3; } if (companionName == "Barterer") { Character character4 = null; float num10 = -1f; for (int l = 0; l < this.party.Count; l++) { if (this.party[l] && !this.party[l].isBoro && !this.party[l].summoned && this.party[l].party && this.PartyClose(this.party[l], point, num)) { float skill = this.party[l].stats.GetSkill(22); if (skill > num10) { character4 = this.party[l]; num10 = skill; } } } return character4; } if (companionName == "Divine") { Character character5 = null; float num11 = -1f; for (int m = 0; m < this.party.Count; m++) { if (this.party[m] && !this.party[m].isBoro && !this.party[m].summoned && this.party[m].party && this.PartyClose(this.party[m], point, num)) { float skill2 = this.party[m].stats.GetSkill(16); if (skill2 > num11) { character5 = this.party[m]; num11 = skill2; } } } return character5; } if (companionName == "Thief") { Character character6 = null; float num12 = -1f; for (int n = 0; n < this.party.Count; n++) { if (this.party[n] && !this.party[n].isBoro && !this.party[n].summoned && this.party[n].party && this.PartyClose(this.party[n], point, num)) { float skill3 = this.party[n].stats.GetSkill(21); if (skill3 > num12) { character6 = this.party[n]; num12 = skill3; } } } return character6; } if (companionName == "DumbDumb") { Character character7 = null; float num13 = -1f; for (int num14 = 0; num14 < this.party.Count; num14++) { if (this.party[num14] && !this.party[num14].isBoro && !this.party[num14].summoned && this.party[num14].party && this.PartyClose(this.party[num14], point, num)) { int num16; float num15 = this.party[num14].stats.Stat("Sensory", true, out num16); if (num15 < num13) { character7 = this.party[num14]; num13 = num15; } } } return character7; } if (companionName == "Intellect") { Character character8 = null; float num17 = -1f; for (int num18 = 0; num18 < this.party.Count; num18++) { if (this.party[num18] && !this.party[num18].isBoro && !this.party[num18].summoned && this.party[num18].party && this.PartyClose(this.party[num18], point, num)) { int num20; float num19 = this.party[num18].stats.Stat("Sensory", true, out num20); if (num19 > num17) { character8 = this.party[num18]; num17 = num19; } } } return character8; } if (companionName == "Musician") { Character character9 = null; float num21 = -1f; for (int num22 = 0; num22 < this.party.Count; num22++) { if (this.party[num22] && !this.party[num22].isBoro && !this.party[num22].summoned && this.party[num22].party && this.PartyClose(this.party[num22], point, num)) { float num23 = this.party[num22].stats.GetSkill(26); if (this.party[num22].stats.GetSkill(27) > num23) { num23 = this.party[num22].stats.GetSkill(27); } if (this.party[num22].stats.GetSkill(28) > num23) { num23 = this.party[num22].stats.GetSkill(28); } if (this.party[num22].stats.GetSkill(29) > num23) { num23 = this.party[num22].stats.GetSkill(29); } if (num23 > num21) { character9 = this.party[num22]; num21 = num23; } } } return character9; } if (companionName == "Charmer") { Character character10 = null; float num24 = -1f; for (int num25 = 0; num25 < this.party.Count; num25++) { if (this.party[num25] && !this.party[num25].isBoro && !this.party[num25].summoned && this.party[num25].party && this.PartyClose(this.party[num25], point, num)) { float num26 = this.party[num25].stats.GetSkill(23); if (this.party[num25].stats.GetSkill(24) > num26) { num26 = this.party[num25].stats.GetSkill(24); } if (this.party[num25].stats.GetSkill(25) > num26) { num26 = this.party[num25].stats.GetSkill(25); } if (num26 > num24) { character10 = this.party[num25]; num24 = num26; } } } return character10; } if (companionName == "Taratorith" || companionName == "Ameythevian" || companionName == "Varuchov" || companionName == "Pasaaren" || companionName == "Yeti") { for (int num27 = 0; num27 < this.party.Count; num27++) { if (!this.party[num27].isBoro && !this.party[num27].summoned && this.party[num27].party && this.party[num27].stats.race == companionName) { return this.party[num27]; } } } if (companionName == "Male") { for (int num28 = 0; num28 < this.party.Count; num28++) { if (!this.party[num28].isBoro && !this.party[num28].summoned && this.party[num28].party && this.PartyClose(this.party[num28], point, num) && this.party[num28].stats.sex >= 0.5f) { return this.party[num28]; } } } if (companionName == "Female") { for (int num29 = 0; num29 < this.party.Count; num29++) { if (!this.party[num29].isBoro && !this.party[num29].summoned && this.party[num29].party && this.PartyClose(this.party[num29], point, num) && this.party[num29].stats.sex < 0.5f) { return this.party[num29]; } } } return null; } // Token: 0x06000DC2 RID: 3522 RVA: 0x0010494C File Offset: 0x00102B4C public bool PartyClose(Character character, Vector3 point, float dist) { point.y = character.tr.position.y; return (character.tr.position - point).sqrMagnitude < dist * dist; } // Token: 0x0400155A RID: 5466 public static GameObject origin; // Token: 0x0400155B RID: 5467 public static Links x; // Token: 0x0400155C RID: 5468 [Header("LISTS")] public List party = new List(); // Token: 0x0400155D RID: 5469 public List npcs = new List(); // Token: 0x0400155E RID: 5470 public List quads = new List(); // Token: 0x0400155F RID: 5471 public List removedParty = new List(); // Token: 0x04001560 RID: 5472 public List deads = new List(); // Token: 0x04001561 RID: 5473 public List deadTimes = new List(); // Token: 0x04001562 RID: 5474 public List deadStates = new List(); // Token: 0x04001563 RID: 5475 private List tempCharacters = new List(); // Token: 0x04001564 RID: 5476 public List portraitOrder = new List(); // Token: 0x04001565 RID: 5477 public List formationOrder = new List(); // Token: 0x04001566 RID: 5478 public List summons = new List(); // Token: 0x04001567 RID: 5479 public List boats = new List(); // Token: 0x04001568 RID: 5480 private List tempPortraitOrder = new List(); // Token: 0x04001569 RID: 5481 [Header("REFERENCE OBJECTS")] public AllSounds allSounds; // Token: 0x0400156A RID: 5482 public Archives archives; // Token: 0x0400156B RID: 5483 public Cellar cellar; // Token: 0x0400156C RID: 5484 public SaveKeeper saveKeeper; // Token: 0x0400156D RID: 5485 public Gaia gaia; // Token: 0x0400156E RID: 5486 public CameraControls cameraControls; // Token: 0x0400156F RID: 5487 public Fellowship fellowship; // Token: 0x04001570 RID: 5488 public Library library; // Token: 0x04001571 RID: 5489 public Sensory sensory; // Token: 0x04001572 RID: 5490 public CameraEffects cameraEffects; // Token: 0x04001573 RID: 5491 public Merchant merchant; // Token: 0x04001574 RID: 5492 public PlanarReflection reflection; // Token: 0x04001575 RID: 5493 public Combat combat; // Token: 0x04001576 RID: 5494 public Manual manual; // Token: 0x04001577 RID: 5495 public InputControls inputControls; // Token: 0x04001578 RID: 5496 public CharacterQuips quips; // Token: 0x04001579 RID: 5497 public Soundtrack soundtrack; // Token: 0x0400157A RID: 5498 public MainMenu mainMenu; // Token: 0x0400157B RID: 5499 [Header("SCENE OBJECTS")] public Light directionalLight; // Token: 0x0400157C RID: 5500 public Light pointLight; // Token: 0x0400157D RID: 5501 public FOWSystem fogOfWar; // Token: 0x0400157E RID: 5502 public FOWSystemInterior fogOfWarInterior; // Token: 0x0400157F RID: 5503 public Diorama diorama; // Token: 0x04001580 RID: 5504 public Camera worldCamera; // Token: 0x04001581 RID: 5505 public RtsCamera rtsCamera; // Token: 0x04001582 RID: 5506 public OverworldMap overworldMap; // Token: 0x04001583 RID: 5507 [Header("GAMEPLAY OBJECTS")] public Transform follow; // Token: 0x04001584 RID: 5508 public Character protagonist; // Token: 0x04001585 RID: 5509 public Character main; // Token: 0x04001586 RID: 5510 public bool hasMain; // Token: 0x04001587 RID: 5511 public Gameplay gameplay; // Token: 0x04001588 RID: 5512 public Bag secondaryBag; // Token: 0x04001589 RID: 5513 public Animator domeAnimator; // Token: 0x0400158A RID: 5514 public Material domeMaterial; // Token: 0x0400158B RID: 5515 public Transform domeTr; // Token: 0x0400158C RID: 5516 public GameObject domeColliders; // Token: 0x0400158D RID: 5517 public MeshRenderer domeRenderer; // Token: 0x0400158E RID: 5518 public CollectCharacters characterCollector; // Token: 0x0400158F RID: 5519 public Critters critters; // Token: 0x04001590 RID: 5520 public Transform lineOfSightCone; // Token: 0x04001591 RID: 5521 public Transform attackCone1; // Token: 0x04001592 RID: 5522 public Transform attackCone2; // Token: 0x04001593 RID: 5523 public LineOfSightCone coneEffects; // Token: 0x04001594 RID: 5524 public AttackShapes attackConeEffects; // Token: 0x04001595 RID: 5525 public Camera lineOfSightCamera; // Token: 0x04001596 RID: 5526 public TVEElement element; // Token: 0x04001597 RID: 5527 public GameObject attackDome; // Token: 0x04001598 RID: 5528 public GameObject attackDomeMinimum; // Token: 0x04001599 RID: 5529 public GameObject beachCollider; // Token: 0x0400159A RID: 5530 public GameObject hoverObject; // Token: 0x0400159B RID: 5531 public PartyCollider partyColliderCombat; // Token: 0x0400159C RID: 5532 public PartyCollider partyColliderAdventure; // Token: 0x0400159D RID: 5533 public GameObject tileEffects; // Token: 0x0400159E RID: 5534 public QuestEnd questEnd; // Token: 0x0400159F RID: 5535 public RallyStage rallyStage; // Token: 0x040015A0 RID: 5536 public GameObject footstep; // Token: 0x040015A1 RID: 5537 public GameObject prewarm; // Token: 0x040015A2 RID: 5538 [Header("UI OBJECTS")] public GameObject hud; // Token: 0x040015A3 RID: 5539 public HUD hudControl; // Token: 0x040015A4 RID: 5540 public Canvas hudCanvas; // Token: 0x040015A5 RID: 5541 public Canvas miscCanvas; // Token: 0x040015A6 RID: 5542 public Transform quipHolder; // Token: 0x040015A7 RID: 5543 public Transform timelineHolder; // Token: 0x040015A8 RID: 5544 public GameObject fps; // Token: 0x040015A9 RID: 5545 public Camera menuCamera; // Token: 0x040015AA RID: 5546 public Camera camera3D; // Token: 0x040015AB RID: 5547 public Inventory inventory; // Token: 0x040015AC RID: 5548 public Material walkLine; // Token: 0x040015AD RID: 5549 public SaveLoad saveLoad; // Token: 0x040015AE RID: 5550 public Formation formation; // Token: 0x040015AF RID: 5551 public GameFeed gameFeed; // Token: 0x040015B0 RID: 5552 public RoleSheet characterSheet; // Token: 0x040015B1 RID: 5553 public Options options; // Token: 0x040015B2 RID: 5554 public Tooltip tooltip; // Token: 0x040015B3 RID: 5555 public Tooltip characterTooltip; // Token: 0x040015B4 RID: 5556 public Tooltip mapTooltip; // Token: 0x040015B5 RID: 5557 public Tooltip warbookTooltip; // Token: 0x040015B6 RID: 5558 public Tooltip spellbookTooltip; // Token: 0x040015B7 RID: 5559 public Tooltip formationTooltip; // Token: 0x040015B8 RID: 5560 public RectTransform canvasRT; // Token: 0x040015B9 RID: 5561 public KeyControl keyControl; // Token: 0x040015BA RID: 5562 public SceneMap sceneMap; // Token: 0x040015BB RID: 5563 public Animator fadeAnimator; // Token: 0x040015BC RID: 5564 public Dialogue dialogue; // Token: 0x040015BD RID: 5565 public Creation creation; // Token: 0x040015BE RID: 5566 public Journal journal; // Token: 0x040015BF RID: 5567 public Rest rest; // Token: 0x040015C0 RID: 5568 public GameCard gameCard; // Token: 0x040015C1 RID: 5569 public ItemCard itemCard; // Token: 0x040015C2 RID: 5570 public MapConfirm mapConfirm; // Token: 0x040015C3 RID: 5571 public OverworldMapMenu mapMenu; // Token: 0x040015C4 RID: 5572 public SkillButton currentSkillHover; // Token: 0x040015C5 RID: 5573 public RenderPortraits renderPortraits; // Token: 0x040015C6 RID: 5574 public RenderPortraits renderPortraitsHud; // Token: 0x040015C7 RID: 5575 public ArrowKit arrowKit; // Token: 0x040015C8 RID: 5576 public Spellcrafting spellcrafting; // Token: 0x040015C9 RID: 5577 public RectTransform itemPickupFX; // Token: 0x040015CA RID: 5578 public RectTransform itemPickupFX2; // Token: 0x040015CB RID: 5579 public RectTransform removeFX; // Token: 0x040015CC RID: 5580 public RectTransform repairFX; // Token: 0x040015CD RID: 5581 public RectTransform cinematicFX; // Token: 0x040015CE RID: 5582 public GameObject saveVisual; // Token: 0x040015CF RID: 5583 public GameObject deathScreen; // Token: 0x040015D0 RID: 5584 public Forfeits forfeits; // Token: 0x040015D1 RID: 5585 public Animator inspectTextAnimator; // Token: 0x040015D2 RID: 5586 public KeyboardScript keyboardScript; // Token: 0x040015D3 RID: 5587 public MenuCameraCrossFade cameraCrossfade; // Token: 0x040015D4 RID: 5588 public Pocket pocketWheel; // Token: 0x040015D5 RID: 5589 public PlayVideo cinematicVideos; // Token: 0x040015D6 RID: 5590 public Minigame minigame; // Token: 0x040015D7 RID: 5591 public QTE qte; // Token: 0x040015D8 RID: 5592 [Header("CULLING MASKS")] public LayerMask geometry = 4260609; // Token: 0x040015D9 RID: 5593 public LayerMask allObstacles = 4260673; // Token: 0x040015DA RID: 5594 public LayerMask sightBlockers = 197121; // Token: 0x040015DB RID: 5595 public LayerMask dialogueBlockers = 197185; // Token: 0x040015DC RID: 5596 public LayerMask walls = 197120; // Token: 0x040015DD RID: 5597 public LayerMask floor = 4194433; // Token: 0x040015DE RID: 5598 public LayerMask mainCameraMask; // Token: 0x040015DF RID: 5599 [Header("GRAPHICS")] public Mesh cubeMesh; // Token: 0x040015E0 RID: 5600 public Mesh capsuleMesh; // Token: 0x040015E1 RID: 5601 public Mesh sphereMesh; // Token: 0x040015E2 RID: 5602 public Material hoverMaterial1; // Token: 0x040015E3 RID: 5603 public Material hoverMaterial2; // Token: 0x040015E4 RID: 5604 public Material hoverMaterial3; // Token: 0x040015E5 RID: 5605 public Material hoverMaterial4; // Token: 0x040015E6 RID: 5606 public Material lineOfSightBlockerMaterial; // Token: 0x040015E7 RID: 5607 public Material hoverCharacterMaterial; // Token: 0x040015E8 RID: 5608 public Material stealthMaterial; // Token: 0x040015E9 RID: 5609 public Material selectionCircleParty; // Token: 0x040015EA RID: 5610 public Material selectionCirclePartyUnseletedHover; // Token: 0x040015EB RID: 5611 public Material selectionCirclePartySelected; // Token: 0x040015EC RID: 5612 public Material selectionCirclePartyHover; // Token: 0x040015ED RID: 5613 public Material selectionCircleEnemy; // Token: 0x040015EE RID: 5614 public Material selectionCircleEnemyHover; // Token: 0x040015EF RID: 5615 public Material selectionCircleNeutral; // Token: 0x040015F0 RID: 5616 public Material selectionCircleNeutralHover; // Token: 0x040015F1 RID: 5617 public Material selectionCircleNeutralTarget; // Token: 0x040015F2 RID: 5618 public Material selectionCircleEnemyAction; // Token: 0x040015F3 RID: 5619 public Material selectionCircleEnemyTarget; // Token: 0x040015F4 RID: 5620 public Material selectionCircleLargeParty; // Token: 0x040015F5 RID: 5621 public Material selectionCircleLargePartyUnseletedHover; // Token: 0x040015F6 RID: 5622 public Material selectionCircleLargePartySelected; // Token: 0x040015F7 RID: 5623 public Material selectionCircleLargePartyHover; // Token: 0x040015F8 RID: 5624 public Material selectionCircleLargeEnemy; // Token: 0x040015F9 RID: 5625 public Material selectionCircleLargeEnemyHover; // Token: 0x040015FA RID: 5626 public Material selectionCircleLargeEnemyTarget; // Token: 0x040015FB RID: 5627 public Material selectionCircleFlee; // Token: 0x040015FC RID: 5628 public Material selectionCircleFleeTarget; // Token: 0x040015FD RID: 5629 public Material equippedMaterial; // Token: 0x040015FE RID: 5630 public Material mapIconMaterial; // Token: 0x040015FF RID: 5631 public Material itemGroundMaterial; // Token: 0x04001600 RID: 5632 public Material groundItemSprite; // Token: 0x04001601 RID: 5633 public Material groundItemSpriteHover; // Token: 0x04001602 RID: 5634 public Material groundItemSpriteInRange; // Token: 0x04001603 RID: 5635 public RuntimeAnimatorController characterAnimatorController; // Token: 0x04001604 RID: 5636 public Texture emptyTexture; // Token: 0x04001605 RID: 5637 public List spriteAssets = new List(); // Token: 0x04001606 RID: 5638 public Shader characterMenu; // Token: 0x04001607 RID: 5639 public Shader characterGame; // Token: 0x04001608 RID: 5640 public Shader characterPortrait; // Token: 0x04001609 RID: 5641 public Shader quadShader; // Token: 0x0400160A RID: 5642 public Shader backgroundShader; // Token: 0x0400160B RID: 5643 public Shader backgroundShaderGhosts; // Token: 0x0400160C RID: 5644 public Shader crossfadeShader; // Token: 0x0400160D RID: 5645 public Material healthNPC; // Token: 0x0400160E RID: 5646 public Material healthPC; // Token: 0x0400160F RID: 5647 public Material healthFlee; // Token: 0x04001610 RID: 5648 public Material bracketColor1; // Token: 0x04001611 RID: 5649 public Material bracketColor2; // Token: 0x04001612 RID: 5650 public Material bracketColor3; // Token: 0x04001613 RID: 5651 public Material spriteEffectMaterial; // Token: 0x04001614 RID: 5652 public Material doorIconHover; // Token: 0x04001615 RID: 5653 public Material doorIconNormal; // Token: 0x04001616 RID: 5654 public Sprite doorIconLocal; // Token: 0x04001617 RID: 5655 public Sprite doorIconGlobal; // Token: 0x04001618 RID: 5656 public Sprite doorIconLocked; // Token: 0x04001619 RID: 5657 public Sprite doorIconWater; // Token: 0x0400161A RID: 5658 [Header("GRAPHICS")] public Texture2D cinematicLachoTextureSwap1; // Token: 0x0400161B RID: 5659 public Texture2D cinematicLachoTextureSwap2; // Token: 0x0400161C RID: 5660 public Texture2D cinematicLachoTextureSwap3; // Token: 0x0400161D RID: 5661 [Header("COLORS")] public Color partyColor; // Token: 0x0400161E RID: 5662 public Color peacefulColor; // Token: 0x0400161F RID: 5663 public Color hostileColor; // Token: 0x04001620 RID: 5664 private string partyColorHex; // Token: 0x04001621 RID: 5665 private string peacefulColorHex; // Token: 0x04001622 RID: 5666 private string hostileColorHex; // Token: 0x04001623 RID: 5667 public Color[] partyColors = new Color[5]; // Token: 0x04001624 RID: 5668 public Color[] partyPortraitColors = new Color[5]; // Token: 0x04001625 RID: 5669 public string[] partyColorsHex = new string[5]; // Token: 0x04001626 RID: 5670 public string[] partyColorsHexRichText = new string[5]; // Token: 0x04001627 RID: 5671 public Material[] partyArrows = new Material[5]; // Token: 0x04001628 RID: 5672 public Material[] partyCirclesUnselected = new Material[5]; // Token: 0x04001629 RID: 5673 public Material[] partyCirclesUnselectedHover = new Material[5]; // Token: 0x0400162A RID: 5674 public Material[] partyCirclesSelected = new Material[5]; // Token: 0x0400162B RID: 5675 public Material[] partyCirclesSelectedHover = new Material[5]; // Token: 0x0400162C RID: 5676 public List openPartyColors = new List(); // Token: 0x0400162D RID: 5677 public Color32[] terrainColors = new Color32[0]; // Token: 0x0400162E RID: 5678 public Color torchColor; // Token: 0x0400162F RID: 5679 public Color partyLightColor; // Token: 0x04001630 RID: 5680 public Color incenseTorchColor; // Token: 0x04001631 RID: 5681 public Color currentPartyLightColor; // Token: 0x04001632 RID: 5682 [Header("CURSORS")] public Texture2D[] cursors = new Texture2D[0]; // Token: 0x04001633 RID: 5683 public string[] cursorNames = new string[0]; // Token: 0x04001634 RID: 5684 public string previousCursor; // Token: 0x04001635 RID: 5685 public bool mk; // Token: 0x04001636 RID: 5686 public bool joy; // Token: 0x04001637 RID: 5687 public bool pathfind; // Token: 0x04001638 RID: 5688 [Header("PHYSICS")] public PhysicsMaterial zeroFriction; // Token: 0x04001639 RID: 5689 public PhysicsMaterial heavyFriction; // Token: 0x0400163A RID: 5690 public PhysicsMaterial bounceFriction; }