using System; using System.Collections.Generic; using System.IO; using UnityEngine; // Token: 0x02000079 RID: 121 public class Archives : MonoBehaviour { // Token: 0x06000BAF RID: 2991 RVA: 0x000E15D5 File Offset: 0x000DF7D5 public void LoadCharacter(GameObject go) { this.loadedCharacters.Add(go); } // Token: 0x06000BB0 RID: 2992 RVA: 0x000E15E4 File Offset: 0x000DF7E4 public void RemoveCharacter(GameObject go) { int num = this.loadedCharacters.IndexOf(go); if (num > -1) { this.loadedCharacters.RemoveAt(num); } } // Token: 0x06000BB1 RID: 2993 RVA: 0x000E1610 File Offset: 0x000DF810 public void CreateArchives() { this.tr = base.transform; this.rot = Quaternion.identity; this.vec = new Vector3(10000f, 0f, 0f); int num = this.characterPrefabs.Count; for (int i = 0; i < num; i++) { this.characterPrefabNames.Add(this.characterPrefabs[i].name); } num = this.characterHeads.Count; for (int j = 0; j < num; j++) { this.characterHeadNames.Add(this.characterHeads[j].name); } num = this.characterAnimations.Count; for (int k = 0; k < num; k++) { this.characterAnimationNames.Add(this.characterAnimations[k].name); } num = this.characterSkins.Count; for (int l = 0; l < num; l++) { this.characterSkinNames.Add(this.characterSkins[l].name.ToLower()); } num = this.boatPrefabs.Count; for (int m = 0; m < num; m++) { this.boatPrefabNames.Add(this.boatPrefabs[m].name); } num = this.items.Count; for (int n = 0; n < num; n++) { this.itemNames.Add(this.items[n].name); } num = this.itemsHud.Count; for (int num2 = 0; num2 < num; num2++) { this.itemHudNames.Add(this.itemsHud[num2].name); } num = this.itemsFull.Count; for (int num3 = 0; num3 < num; num3++) { this.itemFullNames.Add(this.itemsFull[num3].name); } num = this.itemPrefabs.Count; for (int num4 = 0; num4 < num; num4++) { this.itemPrefabNames.Add(this.itemPrefabs[num4].name); } num = this.abilities.Count; for (int num5 = 0; num5 < num; num5++) { this.abilityNames.Add(this.abilities[num5].name); } num = this.itemBodyPrefabs.Count; for (int num6 = 0; num6 < num; num6++) { this.itemBodyPrefabNames.Add(this.itemBodyPrefabs[num6].name); } num = this.effectHeadIcons.Count; for (int num7 = 0; num7 < num; num7++) { this.effectHeadIconNames.Add(this.effectHeadIcons[num7].name); } } // Token: 0x06000BB2 RID: 2994 RVA: 0x000E18F0 File Offset: 0x000DFAF0 public AnimatorOverrideController GetOverrideController(string n) { int count = this.characterAnimations.Count; for (int i = 0; i < count; i++) { if (this.characterAnimationNames[i] == n) { return this.characterAnimations[i]; } } return null; } // Token: 0x06000BB3 RID: 2995 RVA: 0x000E1938 File Offset: 0x000DFB38 public Sprite GetEffectImageMedium(string n) { int count = this.effectsMedium.Count; for (int i = 0; i < count; i++) { if (this.effectNames[i] == n) { return this.effectsMedium[i]; } } return null; } // Token: 0x06000BB4 RID: 2996 RVA: 0x000E1980 File Offset: 0x000DFB80 public Sprite GetEffectImage(string n) { int count = this.effects.Count; for (int i = 0; i < count; i++) { if (this.effectNames[i] == n) { return this.effects[i]; } } return null; } // Token: 0x06000BB5 RID: 2997 RVA: 0x000E19C8 File Offset: 0x000DFBC8 public Sprite GetEffectImageHiRes(string n) { int count = this.effectsLarge.Count; for (int i = 0; i < count; i++) { if (this.effectNames[i] == n) { return this.effectsLarge[i]; } } return null; } // Token: 0x06000BB6 RID: 2998 RVA: 0x000E1A10 File Offset: 0x000DFC10 public Sprite GetItem(string n) { int num = this.items.Count; for (int i = 0; i < num; i++) { if (this.itemNames[i] == n) { return this.items[i]; } } num = this.itemsFull.Count; for (int j = 0; j < num; j++) { if (this.itemFullNames[j] == n) { return this.itemsFull[j]; } } return null; } // Token: 0x06000BB7 RID: 2999 RVA: 0x000E1A90 File Offset: 0x000DFC90 public Sprite GetItemFull(string n) { int count = this.itemsFull.Count; for (int i = 0; i < count; i++) { if (this.itemFullNames[i] == n) { return this.itemsFull[i]; } } return null; } // Token: 0x06000BB8 RID: 3000 RVA: 0x000E1AD8 File Offset: 0x000DFCD8 public Sprite GetItemHud(string n) { int count = this.itemsHud.Count; for (int i = 0; i < count; i++) { if (this.itemHudNames[i] == n) { return this.itemsHud[i]; } } return null; } // Token: 0x06000BB9 RID: 3001 RVA: 0x000E1B20 File Offset: 0x000DFD20 public Sprite GetAbilitySprite(string n) { int count = this.abilities.Count; for (int i = 0; i < count; i++) { if (this.abilityNames[i] == n) { return this.abilities[i]; } } return null; } // Token: 0x06000BBA RID: 3002 RVA: 0x000E1B68 File Offset: 0x000DFD68 public Texture GetSkinTexture(string skin, string armor, string race, bool isHead, bool male, bool isNPC) { int count = this.characterSkins.Count; for (int i = 0; i < count; i++) { string text = this.characterSkinNames[i]; if (text.Contains(skin) && (text.Contains(armor) || isHead) && text.Contains(race)) { if (isHead) { if ((text.Contains("head") || text.Contains("npc")) && ((male && text.Contains("male") && !text.Contains("female") && !isNPC) || (!male && text.Contains("female") && !isNPC) || (isNPC && text.Contains("npc")))) { return this.characterSkins[i]; } } else if (!text.Contains("head") && !text.Contains("npc")) { return this.characterSkins[i]; } } } return null; } // Token: 0x06000BBB RID: 3003 RVA: 0x000E1C64 File Offset: 0x000DFE64 public void ClearBetweenLevels() { this.clearing = true; for (int i = 0; i < this.itemBodyArchives.Count; i++) { if (this.itemBodyArchives[i]) { Object.Destroy(this.itemBodyArchives[i]); } } this.itemBodyArchives.Clear(); this.itemBodyArchiveNames.Clear(); this.itemBodyArchiveTimes.Clear(); for (int j = 0; j < this.itemArchives.Count; j++) { if (this.itemArchives[j]) { Object.Destroy(this.itemArchives[j]); } } this.itemArchives.Clear(); this.itemArchiveNames.Clear(); this.itemArchiveTimes.Clear(); for (int k = 0; k < this.characterArchives.Count; k++) { if (this.characterArchives[k]) { Object.Destroy(this.characterArchives[k]); } } this.characterArchives.Clear(); this.characterArchiveNames.Clear(); this.characterArchiveTimes.Clear(); for (int l = 0; l < this.headArchives.Count; l++) { if (this.headArchives[l]) { Object.Destroy(this.headArchives[l]); } } this.headArchives.Clear(); this.headArchiveNames.Clear(); this.headArchiveTimes.Clear(); for (int m = 0; m < this.boatArchives.Count; m++) { if (this.boatArchives[m]) { Object.Destroy(this.boatArchives[m]); } } this.boatArchives.Clear(); this.boatArchiveNames.Clear(); this.boatArchiveTimes.Clear(); for (int n = 0; n < this.deathArchives.Count; n++) { if (this.deathArchives[n]) { Object.Destroy(this.deathArchives[n]); } } this.deathArchives.Clear(); this.deathArchivesID.Clear(); this.deathArchivesTypes.Clear(); this.clearing = false; } // Token: 0x06000BBC RID: 3004 RVA: 0x000E1EB0 File Offset: 0x000E00B0 public GameObject GetItemPrefabBody(string n) { int count = this.itemBodyPrefabs.Count; GameObject gameObject = this.CheckRecycledItemsBody(n); if (gameObject) { gameObject.SetActive(true); return gameObject; } for (int i = 0; i < count; i++) { if (string.Equals(n, this.itemBodyPrefabNames[i], StringComparison.OrdinalIgnoreCase)) { this.go = Object.Instantiate(this.itemBodyPrefabs[i], this.vec, this.rot, null); this.go.SetActive(true); return this.go; } } return null; } // Token: 0x06000BBD RID: 3005 RVA: 0x000E1F3C File Offset: 0x000E013C public void RecycleItemBody(GameObject item, string xmlName) { if (!this.itemBodyArchives.Contains(item)) { this.itemBodyArchives.Add(item); this.itemBodyArchiveNames.Add(xmlName); if (Records.x.typing) { this.itemBodyArchiveTimes.Add(Time.realtimeSinceStartup); } else { this.itemBodyArchiveTimes.Add(Time.realtimeSinceStartup + Random.Range(0.1f, 0.2f)); } item.SetActive(false); item.transform.SetParent(this.tr, false); } } // Token: 0x06000BBE RID: 3006 RVA: 0x000E1FC8 File Offset: 0x000E01C8 public GameObject CheckRecycledItemsBody(string itemName) { int count = this.itemBodyArchives.Count; int num = -1; for (int i = 0; i < count; i++) { if (this.itemBodyArchiveNames[i] == itemName && Time.realtimeSinceStartup > this.itemBodyArchiveTimes[i] + 0.5f) { num = i; break; } } if (num > -1) { this.go = this.itemBodyArchives[num]; this.itemBodyArchives.RemoveAt(num); this.itemBodyArchiveNames.RemoveAt(num); this.itemBodyArchiveTimes.RemoveAt(num); return this.go; } return null; } // Token: 0x06000BBF RID: 3007 RVA: 0x000E2064 File Offset: 0x000E0264 public GameObject GetItemPrefab(string n, Transform par) { int count = this.itemPrefabs.Count; GameObject gameObject = this.CheckRecycledItems(n); if (gameObject) { gameObject.transform.SetParent(par); return gameObject; } this.go = Object.Instantiate(this.itemPrefabs[0], this.vec, this.itemPrefabs[0].transform.rotation, par); return this.go; } // Token: 0x06000BC0 RID: 3008 RVA: 0x000E20D8 File Offset: 0x000E02D8 public void RecycleItem(GameObject item, string xmlName) { if (!this.itemArchives.Contains(item)) { this.itemArchives.Add(item); this.itemArchiveNames.Add(xmlName); this.itemArchiveTimes.Add(Time.realtimeSinceStartup + 0.5f); item.transform.SetParent(this.tr, false); } } // Token: 0x06000BC1 RID: 3009 RVA: 0x000E2134 File Offset: 0x000E0334 public GameObject CheckRecycledItems(string itemName) { int count = this.itemArchives.Count; int num = -1; for (int i = 0; i < count; i++) { if (Time.realtimeSinceStartup > this.itemArchiveTimes[i] + 0.5f) { num = i; break; } } if (num > -1) { this.go = this.itemArchives[num]; this.itemArchives.RemoveAt(num); this.itemArchiveNames.RemoveAt(num); this.itemArchiveTimes.RemoveAt(num); return this.go; } return null; } // Token: 0x06000BC2 RID: 3010 RVA: 0x000E21BC File Offset: 0x000E03BC public GameObject InstantiateBody(string characterModel, Transform par) { this.go = this.CheckRecycled(characterModel); if (this.go) { this.go.transform.SetParent(par, false); this.go.transform.localPosition = this.vec; this.go.transform.localRotation = this.rot; this.go.SetActive(true); return this.go; } int count = this.characterPrefabs.Count; int num = -1; for (int i = 0; i < count; i++) { if (this.characterPrefabNames[i] == characterModel) { num = i; break; } } if (num > -1) { this.go = Object.Instantiate(this.characterPrefabs[num], this.vec, this.rot, par); if (!this.go.GetComponent()) { this.go.AddComponent(); } return this.go; } return null; } // Token: 0x06000BC3 RID: 3011 RVA: 0x000E22B4 File Offset: 0x000E04B4 public void RecycleBody(GameObject body, string modelName, string fromName) { Body component = body.GetComponent(); if (component.anim) { component.anim.updateMode = AnimatorUpdateMode.Normal; } component.ReturnItems(); component.inMenu = false; component.isPortrait = false; if (!this.characterArchives.Contains(body)) { this.characterArchives.Add(body); this.characterArchiveNames.Add(modelName); if (Records.x.typing) { this.characterArchiveTimes.Add(Time.realtimeSinceStartup); } else { this.characterArchiveTimes.Add(Time.realtimeSinceStartup + 0.5f); } } body.transform.SetParent(this.tr, false); body.transform.localPosition = Vector3.zero; body.SetActive(false); } // Token: 0x06000BC4 RID: 3012 RVA: 0x000E2378 File Offset: 0x000E0578 public GameObject CheckRecycled(string characterName) { int count = this.characterArchives.Count; int num = -1; bool flag = false; for (int i = 0; i < count; i++) { if (!flag && i < this.characterArchiveNames.Count && this.characterArchiveNames[i] == characterName && Time.realtimeSinceStartup >= this.characterArchiveTimes[i] && this.characterArchives[i].transform.parent == this.tr && !this.characterArchives[i].activeSelf) { num = i; this.go = this.characterArchives[num]; this.characterArchives.RemoveAt(num); this.characterArchiveNames.RemoveAt(num); this.characterArchiveTimes.RemoveAt(num); this.go.SetActive(true); break; } } if (num > -1) { this.go.SetActive(true); return this.go; } return null; } // Token: 0x06000BC5 RID: 3013 RVA: 0x000E2480 File Offset: 0x000E0680 public GameObject InstantiateHead(string characterModel, Transform par) { this.go = this.CheckRecycledHead(characterModel); if (this.go) { this.go.transform.SetParent(par, false); this.go.transform.localPosition = this.vec; this.go.transform.localRotation = this.rot; this.go.SetActive(true); return this.go; } int count = this.characterHeads.Count; int num = -1; for (int i = 0; i < count; i++) { if (this.characterHeadNames[i] == characterModel) { num = i; break; } } if (num > -1) { this.go = Object.Instantiate(this.characterHeads[num], this.vec, this.rot, par); this.go.SetActive(true); return this.go; } return null; } // Token: 0x06000BC6 RID: 3014 RVA: 0x000E2568 File Offset: 0x000E0768 public void RecycleHead(GameObject head, string modelName, string fromName) { if (!this.headArchives.Contains(head)) { this.headArchives.Add(head); this.headArchiveNames.Add(modelName); if (Records.x.typing) { this.headArchiveTimes.Add(Time.realtimeSinceStartup); } else { this.headArchiveTimes.Add(Time.realtimeSinceStartup + 0.5f); } } head.transform.SetParent(this.tr, false); head.SetActive(false); } // Token: 0x06000BC7 RID: 3015 RVA: 0x000E25E8 File Offset: 0x000E07E8 public GameObject CheckRecycledHead(string characterName) { int count = this.headArchives.Count; int num = -1; bool flag = false; for (int i = 0; i < count; i++) { if (!flag && i < this.headArchiveNames.Count && this.headArchiveNames[i] == characterName && Time.realtimeSinceStartup >= this.headArchiveTimes[i] && this.headArchives[i].transform.parent == this.tr && !this.headArchives[i].activeSelf) { num = i; this.go = this.headArchives[num]; this.headArchives.RemoveAt(num); this.headArchiveNames.RemoveAt(num); this.headArchiveTimes.RemoveAt(num); break; } } if (num > -1) { this.go.SetActive(true); return this.go; } return null; } // Token: 0x06000BC8 RID: 3016 RVA: 0x000E26E4 File Offset: 0x000E08E4 public GameObject InstantiateBoat(string boatModel, Transform par) { this.go = this.CheckRecycledBoat(boatModel); if (this.go) { this.go.transform.SetParent(par, false); this.go.transform.localPosition = this.vec; this.go.transform.localRotation = this.rot; this.go.SetActive(true); return this.go; } int count = this.boatPrefabs.Count; int num = -1; for (int i = 0; i < count; i++) { if (this.boatPrefabNames[i] == boatModel) { num = i; break; } } if (num > -1) { this.go = Object.Instantiate(this.boatPrefabs[num], this.vec, this.rot, par); return this.go; } return null; } // Token: 0x06000BC9 RID: 3017 RVA: 0x000E27C0 File Offset: 0x000E09C0 public void RecycleBoat(GameObject body, string modelName, string fromName) { if (!this.boatArchives.Contains(body)) { this.boatArchives.Add(body); this.boatArchiveNames.Add(modelName); this.boatArchiveTimes.Add(Time.realtimeSinceStartup + Random.Range(0.1f, 0.2f)); } body.transform.SetParent(this.tr, false); body.SetActive(false); } // Token: 0x06000BCA RID: 3018 RVA: 0x000E282C File Offset: 0x000E0A2C public GameObject CheckRecycledBoat(string boatName) { int count = this.boatArchives.Count; int num = -1; bool flag = false; for (int i = 0; i < count; i++) { if (!flag && i < this.boatArchiveNames.Count && this.boatArchiveNames[i] == boatName && Time.realtimeSinceStartup > this.boatArchiveTimes[i] + 0.5f) { num = i; this.go = this.boatArchives[num]; this.boatArchives.RemoveAt(num); this.boatArchiveNames.RemoveAt(num); this.boatArchiveTimes.RemoveAt(num); break; } } if (num > -1) { this.go.SetActive(true); return this.go; } return null; } // Token: 0x06000BCB RID: 3019 RVA: 0x000E28EC File Offset: 0x000E0AEC public GameObject InstantiateEffectIcon(string effectModel, Transform par) { this.go = this.CheckRecycledEffectIcons(effectModel); if (this.go) { this.go.transform.SetParent(par, false); this.go.transform.localPosition = this.vec; this.go.transform.localRotation = this.rot; this.go.SetActive(true); return this.go; } int count = this.effectHeadIconNames.Count; int num = -1; for (int i = 0; i < count; i++) { if (this.effectHeadIconNames[i] == effectModel) { num = i; break; } } if (num > -1) { this.go = Object.Instantiate(this.effectHeadIcons[num], this.vec, this.rot, par); return this.go; } return null; } // Token: 0x06000BCC RID: 3020 RVA: 0x000E29C8 File Offset: 0x000E0BC8 public void RecycleEffectIcons(GameObject icon, string modelName) { if (!this.effectHeadIconArchives.Contains(icon)) { this.effectHeadIconArchives.Add(icon); this.effectHeadIconArchiveNames.Add(modelName); this.effectHeadIconArchiveTimes.Add(Time.realtimeSinceStartup + Random.Range(0.1f, 0.2f)); } icon.transform.SetParent(this.tr, false); icon.SetActive(false); } // Token: 0x06000BCD RID: 3021 RVA: 0x000E2A34 File Offset: 0x000E0C34 public GameObject CheckRecycledEffectIcons(string n) { int count = this.effectHeadIconArchives.Count; int num = -1; bool flag = false; for (int i = 0; i < count; i++) { if (!flag && i < this.effectHeadIconArchiveNames.Count && this.effectHeadIconArchiveNames[i] == n && Time.realtimeSinceStartup > this.effectHeadIconArchiveTimes[i] + 0.5f) { num = i; this.go = this.boatArchives[num]; this.effectHeadIconArchives.RemoveAt(num); this.effectHeadIconArchiveNames.RemoveAt(num); this.effectHeadIconArchiveTimes.RemoveAt(num); break; } } if (num > -1) { this.go.SetActive(true); return this.go; } return null; } // Token: 0x06000BCE RID: 3022 RVA: 0x000E2AF4 File Offset: 0x000E0CF4 public void InstantiateGore(int deathID) { if (deathID != 1) { int num = 0; int count = this.deathArchivesID.Count; for (int i = 0; i < count; i++) { if (this.deathArchivesID[i] == deathID) { num++; } } if (num < 4) { GameObject death = Links.x.library.GetDeath(deathID, "Random"); if (death) { this.go = Object.Instantiate(death, this.vec, this.rot, this.tr); this.go.SetActive(false); this.deathArchives.Add(this.go); this.deathArchivesID.Add(deathID); this.deathArchivesTypes.Add("Random"); this.go.AddComponent().Setup(); } } if (num == 0) { GameObject gameObject = Links.x.library.GetDeath(deathID, "Head"); if (gameObject) { this.go = Object.Instantiate(gameObject, this.vec, this.rot, this.tr); this.go.SetActive(false); this.deathArchives.Add(this.go); this.deathArchivesID.Add(deathID); this.deathArchivesTypes.Add("Head"); this.go.AddComponent().Setup(); } gameObject = Links.x.library.GetDeath(deathID, "Critical"); if (gameObject) { this.go = Object.Instantiate(gameObject, this.vec, this.rot, this.tr); this.go.SetActive(false); this.deathArchives.Add(this.go); this.deathArchivesID.Add(deathID); this.deathArchivesTypes.Add("Critical"); this.go.AddComponent().Setup(); } } } } // Token: 0x06000BCF RID: 3023 RVA: 0x000E2CD8 File Offset: 0x000E0ED8 public void RecycleDeath(GameObject body, string type, int deathID) { if (body != null) { this.deathArchives.Add(body); this.deathArchivesID.Add(deathID); this.deathArchivesTypes.Add(type); body.transform.SetParent(this.tr, false); body.SetActive(false); Gore component = body.GetComponent(); if (component) { component.DoReset(); return; } Debug.Log(((body != null) ? body.ToString() : null) + " no gore script!"); } } // Token: 0x06000BD0 RID: 3024 RVA: 0x000E2D60 File Offset: 0x000E0F60 public GameObject CheckRecycledDeaths(int deathID, string type) { int count = this.deathArchives.Count; int num = -1; for (int i = 0; i < count; i++) { if (this.deathArchivesID[i] == deathID && !this.deathArchives[i].activeSelf) { num = i; break; } } if (num > -1) { this.go = this.deathArchives[num]; this.deathArchivesID.RemoveAt(num); this.deathArchivesTypes.RemoveAt(num); this.deathArchives.RemoveAt(num); return this.go; } return null; } // Token: 0x06000BD1 RID: 3025 RVA: 0x000E2DF0 File Offset: 0x000E0FF0 public Sprite AddRune(string n, string path, string partyName, string abilityName) { Sprite sprite = null; if (!this.GetRune(out sprite, n, partyName)) { Sprite sprite2 = this.LoadSprite(path, abilityName); this.runes.Add(sprite2); this.runeNames.Add(n); this.runeParty.Add(partyName); return sprite2; } if (sprite == null) { return this.emptySprite; } return sprite; } // Token: 0x06000BD2 RID: 3026 RVA: 0x000E2E4C File Offset: 0x000E104C public bool GetRune(out Sprite runeSprite, string n, string partyName) { runeSprite = null; for (int i = 0; i < this.runes.Count; i++) { if (this.runeNames[i] == n && partyName == this.runeParty[i]) { runeSprite = this.runes[i]; return true; } } return false; } // Token: 0x06000BD3 RID: 3027 RVA: 0x000E2EAC File Offset: 0x000E10AC public void OverrideRune(string n, string path, string partyName, string abilityName) { Sprite sprite = null; bool rune = this.GetRune(out sprite, n, partyName); Debug.Log(string.Concat(new string[] { rune.ToString(), " ", n, " ", path, " ", partyName })); if (rune) { for (int i = 0; i < this.runes.Count; i++) { if (this.runeNames[i] == n && partyName == this.runeParty[i]) { Sprite sprite2 = this.LoadSprite(path, abilityName); this.runes[i] = sprite2; } } return; } Sprite sprite3 = this.LoadSprite(path, abilityName); this.runes.Add(sprite3); this.runeNames.Add(n); this.runeParty.Add(""); } // Token: 0x06000BD4 RID: 3028 RVA: 0x000E2F94 File Offset: 0x000E1194 public Sprite LoadSprite(string path, string abilityName) { if (File.Exists(path)) { byte[] array = File.ReadAllBytes(path); Texture2D texture2D = new Texture2D(1, 1); texture2D.LoadImage(array); return Sprite.Create(texture2D, new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height), new Vector2(0.5f, 0.5f)); } if (Records.x.editor) { string text = Application.persistentDataPath + "/" + abilityName + ".png"; if (File.Exists(text)) { byte[] array2 = File.ReadAllBytes(text); Texture2D texture2D2 = new Texture2D(1, 1); texture2D2.LoadImage(array2); return Sprite.Create(texture2D2, new Rect(0f, 0f, (float)texture2D2.width, (float)texture2D2.height), new Vector2(0.5f, 0.5f)); } } return null; } // Token: 0x06000BD5 RID: 3029 RVA: 0x000E3070 File Offset: 0x000E1270 public string GetArmorModel(string armor, string race, float sex, Character character) { if (race != "Yeti") { if (armor == "Robes1") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Robes_Light"; } return "Player_LazureGuardsman_Male_Robes_Light"; } else if (armor == "Robes2") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Robes_Light"; } return "Player_LazureGuardsman_Male_Robes_Light"; } else if (armor == "Robes3") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Robes_Light"; } return "Player_LazureGuardsman_Male_Robes_Light"; } else if (armor == "Robes4") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Robes_Light"; } return "Player_LazureGuardsman_Male_Robes_Light"; } else if (armor == "Crimscale1") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Crimscale_Light"; } return "Player_LazureGuardsman_Male_Crimscale_Light"; } else if (armor == "Crimscale2") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Crimscale_Light"; } return "Player_LazureGuardsman_Male_Crimscale_Light"; } else if (armor == "Crimscale3") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Crimscale_Light"; } return "Player_LazureGuardsman_Male_Crimscale_Light"; } else if (armor == "Crimscale4") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Crimscale_Light"; } return "Player_LazureGuardsman_Male_Crimscale_Light"; } else if (armor == "Pearl1") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Pearl_Light"; } return "Player_LazureGuardsman_Male_Pearl_Light"; } else { if (armor == "Pearl2") { return "Player_LazureGuardsman_Either_Pearl_Medium"; } if (armor == "Pearl3") { return "Player_LazureGuardsman_Either_Pearl_Medium"; } if (armor == "Pearl4") { return "Player_LazureGuardsman_Either_Pearl_Medium"; } if (armor == "Stonewood1") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Stonewood_Light"; } return "Player_LazureGuardsman_Male_Stonewood_Light"; } else if (armor == "Stonewood2") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Stonewood_Light"; } return "Player_LazureGuardsman_Male_Stonewood_Light"; } else if (armor == "Stonewood3") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Stonewood_Light"; } return "Player_LazureGuardsman_Male_Stonewood_Light"; } else if (armor == "Stonewood4") { if (sex < 0.5f) { return "Player_LazureGuardsman_Female_Stonewood_Light"; } return "Player_LazureGuardsman_Male_Stonewood_Light"; } else { if (sex < 0.5f) { return "Player_LazureGuardsman_Female"; } return "Player_LazureGuardsman_Male"; } } } else { if (!(race == "Yeti")) { return character.stats.model; } if (armor == "Robes1") { return "Player_LazureGuardsman_Yeti_Robes_Light"; } if (armor == "Crimscale1") { return "Player_LazureGuardsman_Yeti_Crimscale_Light"; } if (armor == "Pearl1") { return "Player_LazureGuardsman_Yeti_Pearl_Light"; } if (armor == "Stonewood1") { return "Player_LazureGuardsman_Yeti_Stonewood_Light"; } return "Player_LazureGuardsmanYeti"; } } // Token: 0x040011F0 RID: 4592 [Header("Characters")] public List characterPrefabs = new List(); // Token: 0x040011F1 RID: 4593 private List characterPrefabNames = new List(); // Token: 0x040011F2 RID: 4594 public List characterHeads = new List(); // Token: 0x040011F3 RID: 4595 private List characterHeadNames = new List(); // Token: 0x040011F4 RID: 4596 public List characterSkins = new List(); // Token: 0x040011F5 RID: 4597 private List characterSkinNames = new List(); // Token: 0x040011F6 RID: 4598 public List characterAnimations = new List(); // Token: 0x040011F7 RID: 4599 private List characterAnimationNames = new List(); // Token: 0x040011F8 RID: 4600 public List characterArchives = new List(); // Token: 0x040011F9 RID: 4601 public List characterArchiveNames = new List(); // Token: 0x040011FA RID: 4602 public List headArchives = new List(); // Token: 0x040011FB RID: 4603 private List headArchiveNames = new List(); // Token: 0x040011FC RID: 4604 private List characterArchiveTimes = new List(); // Token: 0x040011FD RID: 4605 private List headArchiveTimes = new List(); // Token: 0x040011FE RID: 4606 public List boatPrefabs = new List(); // Token: 0x040011FF RID: 4607 public List boatArchives = new List(); // Token: 0x04001200 RID: 4608 private List boatArchiveNames = new List(); // Token: 0x04001201 RID: 4609 public List boatPrefabNames = new List(); // Token: 0x04001202 RID: 4610 private List boatArchiveTimes = new List(); // Token: 0x04001203 RID: 4611 public List loadedCharacters = new List(); // Token: 0x04001204 RID: 4612 [Header("Gore")] public List deathArchives = new List(); // Token: 0x04001205 RID: 4613 private List deathArchivesID = new List(); // Token: 0x04001206 RID: 4614 private List deathArchivesTypes = new List(); // Token: 0x04001207 RID: 4615 [Header("Effects")] public List effects = new List(); // Token: 0x04001208 RID: 4616 public List effectsLarge = new List(); // Token: 0x04001209 RID: 4617 public List effectsMedium = new List(); // Token: 0x0400120A RID: 4618 public List effectNames = new List(); // Token: 0x0400120B RID: 4619 public List effectHeadIcons = new List(); // Token: 0x0400120C RID: 4620 private List effectHeadIconNames = new List(); // Token: 0x0400120D RID: 4621 private List effectHeadIconArchives = new List(); // Token: 0x0400120E RID: 4622 private List effectHeadIconArchiveNames = new List(); // Token: 0x0400120F RID: 4623 private List effectHeadIconArchiveTimes = new List(); // Token: 0x04001210 RID: 4624 public Sprite[] staminaSprites1; // Token: 0x04001211 RID: 4625 public Sprite[] staminaSprites2; // Token: 0x04001212 RID: 4626 public Sprite[] staminaVulnerable; // Token: 0x04001213 RID: 4627 public Sprite[] staminaRecover; // Token: 0x04001214 RID: 4628 public Sprite[] armorSprites; // Token: 0x04001215 RID: 4629 public Sprite[] armorSpritesBreak; // Token: 0x04001216 RID: 4630 public Sprite[] armorVulnerable; // Token: 0x04001217 RID: 4631 public Sprite[] armorBuffed; // Token: 0x04001218 RID: 4632 public Sprite arrowUp1; // Token: 0x04001219 RID: 4633 public Sprite arrowDown1; // Token: 0x0400121A RID: 4634 public Sprite arrowUp2; // Token: 0x0400121B RID: 4635 public Sprite arrowDown2; // Token: 0x0400121C RID: 4636 public Sprite arrowUp3; // Token: 0x0400121D RID: 4637 public Sprite arrowDown3; // Token: 0x0400121E RID: 4638 [Header("Abilities")] public List abilities = new List(); // Token: 0x0400121F RID: 4639 private List abilityNames = new List(); // Token: 0x04001220 RID: 4640 public List runes = new List(); // Token: 0x04001221 RID: 4641 public List runeNames = new List(); // Token: 0x04001222 RID: 4642 public List runeParty = new List(); // Token: 0x04001223 RID: 4643 public Sprite emptySprite; // Token: 0x04001224 RID: 4644 [Header("Items")] public List items = new List(); // Token: 0x04001225 RID: 4645 private List itemNames = new List(); // Token: 0x04001226 RID: 4646 public List itemsHud = new List(); // Token: 0x04001227 RID: 4647 private List itemHudNames = new List(); // Token: 0x04001228 RID: 4648 public List itemsFull = new List(); // Token: 0x04001229 RID: 4649 private List itemFullNames = new List(); // Token: 0x0400122A RID: 4650 public List itemPrefabs = new List(); // Token: 0x0400122B RID: 4651 private List itemPrefabNames = new List(); // Token: 0x0400122C RID: 4652 public List itemBodyPrefabs = new List(); // Token: 0x0400122D RID: 4653 private List itemBodyPrefabNames = new List(); // Token: 0x0400122E RID: 4654 [Header("Recycling")] public List itemArchives = new List(); // Token: 0x0400122F RID: 4655 public List itemArchiveNames = new List(); // Token: 0x04001230 RID: 4656 public List itemArchiveTimes = new List(); // Token: 0x04001231 RID: 4657 public List itemBodyArchives = new List(); // Token: 0x04001232 RID: 4658 public List itemBodyArchiveNames = new List(); // Token: 0x04001233 RID: 4659 public List itemBodyArchiveTimes = new List(); // Token: 0x04001234 RID: 4660 private GameObject go; // Token: 0x04001235 RID: 4661 private Vector3 vec; // Token: 0x04001236 RID: 4662 private Quaternion rot; // Token: 0x04001237 RID: 4663 public Transform tr; // Token: 0x04001238 RID: 4664 public bool clearing; }