4316 lines
105 KiB
C#
4316 lines
105 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using DarkTonic.MasterAudio;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.UI;
|
|
|
|
// Token: 0x020000CC RID: 204
|
|
public class Pocket : MonoBehaviour
|
|
{
|
|
// Token: 0x060012AA RID: 4778 RVA: 0x00168B00 File Offset: 0x00166D00
|
|
private void Awake()
|
|
{
|
|
this.spellbook.SetActive(false);
|
|
this.ControllerMessage(false);
|
|
this.controllerWheel2.SetActive(false);
|
|
this.controllerWheel4.SetActive(false);
|
|
this.arrow.enabled = false;
|
|
this.rallyWheel.SetActive(false);
|
|
this.selectedRallyRTs = this.selectedAmmoImage.GetComponentsInChildren<RectTransform>();
|
|
}
|
|
|
|
// Token: 0x060012AB RID: 4779 RVA: 0x00168B64 File Offset: 0x00166D64
|
|
private string GetSelected()
|
|
{
|
|
if (this.character == this.c1)
|
|
{
|
|
return this.selected1;
|
|
}
|
|
if (this.character == this.c2)
|
|
{
|
|
return this.selected2;
|
|
}
|
|
if (this.character == this.c3)
|
|
{
|
|
return this.selected3;
|
|
}
|
|
if (this.character == this.c4)
|
|
{
|
|
return this.selected4;
|
|
}
|
|
this.UpdateCharacterLists(false);
|
|
return "Light Attack";
|
|
}
|
|
|
|
// Token: 0x060012AC RID: 4780 RVA: 0x00168BE8 File Offset: 0x00166DE8
|
|
private void SaveSelected()
|
|
{
|
|
if (this.character == this.c1)
|
|
{
|
|
this.selected1 = this.selected;
|
|
return;
|
|
}
|
|
if (this.character == this.c2)
|
|
{
|
|
this.selected2 = this.selected;
|
|
return;
|
|
}
|
|
if (this.character == this.c3)
|
|
{
|
|
this.selected3 = this.selected;
|
|
return;
|
|
}
|
|
if (this.character == this.c4)
|
|
{
|
|
this.selected4 = this.selected;
|
|
return;
|
|
}
|
|
this.UpdateCharacterLists(true);
|
|
}
|
|
|
|
// Token: 0x060012AD RID: 4781 RVA: 0x00168C7C File Offset: 0x00166E7C
|
|
private void UpdateCharacterLists(bool save)
|
|
{
|
|
bool flag = false;
|
|
if (this.c1 == null)
|
|
{
|
|
this.c1 = this.character;
|
|
flag = true;
|
|
}
|
|
if (!flag && !this.c2)
|
|
{
|
|
this.c2 = this.character;
|
|
flag = true;
|
|
}
|
|
if (!flag && !this.c3)
|
|
{
|
|
this.c3 = this.character;
|
|
flag = true;
|
|
}
|
|
if (!flag && !this.c4)
|
|
{
|
|
this.c4 = this.character;
|
|
flag = true;
|
|
}
|
|
if (!flag)
|
|
{
|
|
if (!Links.x.portraitOrder.Contains(this.c1))
|
|
{
|
|
this.c1 = null;
|
|
}
|
|
if (!Links.x.portraitOrder.Contains(this.c2))
|
|
{
|
|
this.c2 = null;
|
|
}
|
|
if (!Links.x.portraitOrder.Contains(this.c3))
|
|
{
|
|
this.c3 = null;
|
|
}
|
|
if (!Links.x.portraitOrder.Contains(this.c4))
|
|
{
|
|
this.c4 = null;
|
|
}
|
|
if (this.c1 == null)
|
|
{
|
|
this.c1 = this.character;
|
|
flag = true;
|
|
}
|
|
if (!flag && !this.c2)
|
|
{
|
|
this.c2 = this.character;
|
|
flag = true;
|
|
}
|
|
if (!flag && !this.c3)
|
|
{
|
|
this.c3 = this.character;
|
|
flag = true;
|
|
}
|
|
if (!flag && !this.c4)
|
|
{
|
|
this.c4 = this.character;
|
|
flag = true;
|
|
}
|
|
}
|
|
if (save && flag)
|
|
{
|
|
this.SaveSelected();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012AE RID: 4782 RVA: 0x00168E00 File Offset: 0x00167000
|
|
private void SetPocketImg(GameObject go)
|
|
{
|
|
bool flag = true;
|
|
if (this.selected.Contains("Attack"))
|
|
{
|
|
if (Links.x.combat.ItemCardCount() == 0)
|
|
{
|
|
flag = false;
|
|
}
|
|
}
|
|
else if (this.selected.Contains("Charm") && Links.x.combat.TargetCount() == 0)
|
|
{
|
|
flag = false;
|
|
}
|
|
if (flag)
|
|
{
|
|
Links.x.partyColliderAdventure.actionImage.sprite = go.GetComponent<Image>().sprite;
|
|
Links.x.partyColliderAdventure.ToggleAction(true);
|
|
return;
|
|
}
|
|
Links.x.partyColliderAdventure.ToggleAction(false);
|
|
}
|
|
|
|
// Token: 0x060012AF RID: 4783 RVA: 0x00168E9E File Offset: 0x0016709E
|
|
public void SetDirection(string toBtn)
|
|
{
|
|
}
|
|
|
|
// Token: 0x060012B0 RID: 4784 RVA: 0x00168EA0 File Offset: 0x001670A0
|
|
public void UpdateRotation(float rotationAmount)
|
|
{
|
|
if (Links.x.gameplay.currentEventObject)
|
|
{
|
|
Links.x.hudControl.SetJoyBox(Links.x.gameplay.currentEventObject.GetComponent<UITriggerButton>());
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012B1 RID: 4785 RVA: 0x00168EDB File Offset: 0x001670DB
|
|
public void GetSelectedFromRotatation()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060012B2 RID: 4786 RVA: 0x00168EE0 File Offset: 0x001670E0
|
|
private void SelectJoyObject()
|
|
{
|
|
Button button = null;
|
|
if (this.selected == "Light Attack")
|
|
{
|
|
this.selectedLightAtk.enabled = true;
|
|
button = this.lightAtkBtn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedLightAtk.enabled = false;
|
|
}
|
|
if (this.selected == "Special Attack 1" && this.special1.enabled)
|
|
{
|
|
this.selectedSpecial1.enabled = true;
|
|
button = this.specialBtn1;
|
|
}
|
|
else
|
|
{
|
|
this.selectedSpecial1.enabled = false;
|
|
}
|
|
if (this.selected == "Medium Attack")
|
|
{
|
|
this.selectedMediumAtk.enabled = true;
|
|
button = this.mediumAtkBtn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedMediumAtk.enabled = false;
|
|
}
|
|
if (this.selected == "Heavy Attack")
|
|
{
|
|
this.selectedHeavyAtk.enabled = true;
|
|
button = this.heavyAtkBtn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedHeavyAtk.enabled = false;
|
|
}
|
|
if (this.selected == "Item 1")
|
|
{
|
|
this.selectedItem1.enabled = true;
|
|
button = this.item1Btn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedItem1.enabled = false;
|
|
}
|
|
if (this.selected == "Item 2")
|
|
{
|
|
this.selectedItem2.enabled = true;
|
|
button = this.item2Btn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedItem2.enabled = false;
|
|
}
|
|
if (this.selected == "Item 3")
|
|
{
|
|
this.selectedItem3.enabled = true;
|
|
button = this.item3Btn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedItem3.enabled = false;
|
|
}
|
|
if (this.selected == "Charm")
|
|
{
|
|
this.selectedCharm.enabled = true;
|
|
button = this.charmBtn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedCharm.enabled = false;
|
|
}
|
|
if (this.selected == "Spellbag")
|
|
{
|
|
this.selectedSpells.enabled = true;
|
|
button = this.spellsBtn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedSpells.enabled = false;
|
|
}
|
|
if (this.selected == "Shout")
|
|
{
|
|
this.selectedShout.enabled = true;
|
|
button = this.shoutBtn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedShout.enabled = false;
|
|
}
|
|
if (this.selected == "Sneak")
|
|
{
|
|
this.selectedSneak.enabled = true;
|
|
button = this.sneakBtn;
|
|
}
|
|
else
|
|
{
|
|
this.selectedSneak.enabled = false;
|
|
}
|
|
if (button)
|
|
{
|
|
EventSystem.current.SetSelectedGameObject(button.gameObject);
|
|
Links.x.hudControl.SetJoyBox(button.gameObject.GetComponent<UITriggerButton>());
|
|
this.SetPocketImg(button.gameObject);
|
|
}
|
|
this.RemoveCommandUI();
|
|
}
|
|
|
|
// Token: 0x060012B3 RID: 4787 RVA: 0x00169174 File Offset: 0x00167374
|
|
private string GetJoystickDirection(float angle)
|
|
{
|
|
if (angle >= 0f && angle < 45f)
|
|
{
|
|
return "Up";
|
|
}
|
|
if (angle >= 315f && angle <= 360f)
|
|
{
|
|
return "Up";
|
|
}
|
|
if (angle >= 225f && angle < 315f)
|
|
{
|
|
return "Left";
|
|
}
|
|
if (angle >= 135f && angle < 225f)
|
|
{
|
|
return "Down";
|
|
}
|
|
if (angle >= 45f)
|
|
{
|
|
return "Right";
|
|
}
|
|
return "Right";
|
|
}
|
|
|
|
// Token: 0x060012B4 RID: 4788 RVA: 0x001691F4 File Offset: 0x001673F4
|
|
public void SetButtonsForCharacter()
|
|
{
|
|
int num = 5;
|
|
if (this.character.stats.HasSpellbook())
|
|
{
|
|
this.spellsGo.SetActive(true);
|
|
num++;
|
|
}
|
|
else
|
|
{
|
|
this.spellsGo.SetActive(false);
|
|
}
|
|
if (Links.x.fellowship.rally + Links.x.fellowship.rallyBoost >= Links.x.hudControl.rallyInterval)
|
|
{
|
|
this.specialGo.SetActive(true);
|
|
num++;
|
|
}
|
|
else
|
|
{
|
|
this.specialGo.SetActive(false);
|
|
}
|
|
this.items1Go.SetActive(this.item1.enabled);
|
|
if (this.item1.enabled)
|
|
{
|
|
num++;
|
|
}
|
|
this.items2Go.SetActive(this.item2.enabled);
|
|
if (this.item2.enabled)
|
|
{
|
|
num++;
|
|
}
|
|
this.items3Go.SetActive(this.item3.enabled);
|
|
if (this.item3.enabled)
|
|
{
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012B5 RID: 4789 RVA: 0x001692F8 File Offset: 0x001674F8
|
|
public void HitKey(int i)
|
|
{
|
|
if (i == 34)
|
|
{
|
|
this.attackPointer.PointerDownAction();
|
|
}
|
|
if (i == 35)
|
|
{
|
|
this.pinPointer.PointerDownAction();
|
|
}
|
|
if (i == 36)
|
|
{
|
|
this.chargePointer.PointerDownAction();
|
|
}
|
|
if (i == 37)
|
|
{
|
|
this.rallyPointer.PointerDownAction();
|
|
}
|
|
if (i == 38)
|
|
{
|
|
this.spellsPointer.PointerDownAction();
|
|
}
|
|
if (i == 39)
|
|
{
|
|
this.sneakPointer.PointerDownAction();
|
|
}
|
|
if (i == 40)
|
|
{
|
|
this.talkPointer.PointerDownAction();
|
|
}
|
|
if (i == 41)
|
|
{
|
|
this.item1Pointer.PointerDownAction();
|
|
}
|
|
if (i == 42)
|
|
{
|
|
this.item2Pointer.PointerDownAction();
|
|
}
|
|
if (i == 43)
|
|
{
|
|
this.item3Pointer.PointerDownAction();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012B6 RID: 4790 RVA: 0x001693A8 File Offset: 0x001675A8
|
|
private void Update()
|
|
{
|
|
if (this.character)
|
|
{
|
|
Character character = this.character;
|
|
if ((!character.CanAttack() || character.attackTime < 1f || Links.x.gameplay.playerInAction) && this.selectedLightAtk.enabled)
|
|
{
|
|
this.selectedLightAtk.enabled = false;
|
|
this.selectedSpecial1.enabled = false;
|
|
this.selectedMediumAtk.enabled = false;
|
|
this.selectedHeavyAtk.enabled = false;
|
|
this.selectedItem1.enabled = false;
|
|
this.selectedItem2.enabled = false;
|
|
this.selectedItem3.enabled = false;
|
|
this.selectedCharm.enabled = false;
|
|
this.selectedSpells.enabled = false;
|
|
this.selectedShout.enabled = false;
|
|
this.selectedSneak.enabled = false;
|
|
this.spellsBtn.interactable = false;
|
|
this.item1Btn.interactable = false;
|
|
this.item2Btn.interactable = false;
|
|
this.item3Btn.interactable = false;
|
|
this.lightAtkBtn.interactable = false;
|
|
this.mediumAtkBtn.interactable = false;
|
|
this.heavyAtkBtn.interactable = false;
|
|
this.shoutBtn.interactable = false;
|
|
this.sneakBtn.interactable = false;
|
|
this.specialBtn1.interactable = false;
|
|
this.lightTrig.noIcon = true;
|
|
this.mediumTrig.noIcon = true;
|
|
this.heavyTrig.noIcon = true;
|
|
this.special1Trig.noIcon = true;
|
|
this.charmTrig.noIcon = true;
|
|
this.sneakTrig.noIcon = true;
|
|
this.talkTrig.noIcon = true;
|
|
this.item1Trig.noIcon = true;
|
|
this.item2Trig.noIcon = true;
|
|
this.item3Trig.noIcon = true;
|
|
this.spellTrig.noIcon = true;
|
|
}
|
|
if (character.CanAttack())
|
|
{
|
|
if (!this.spellsBtn.interactable)
|
|
{
|
|
this.spellsBtn.interactable = true;
|
|
this.item1Btn.interactable = true;
|
|
this.item2Btn.interactable = true;
|
|
this.item3Btn.interactable = true;
|
|
this.lightAtkBtn.interactable = true;
|
|
this.shoutBtn.interactable = true;
|
|
this.sneakBtn.interactable = true;
|
|
this.specialBtn1.interactable = true;
|
|
this.lightTrig.noIcon = false;
|
|
this.mediumTrig.noIcon = false;
|
|
this.special1Trig.noIcon = false;
|
|
this.charmTrig.noIcon = false;
|
|
this.sneakTrig.noIcon = false;
|
|
this.talkTrig.noIcon = false;
|
|
this.item1Trig.noIcon = false;
|
|
this.item2Trig.noIcon = false;
|
|
this.item3Trig.noIcon = false;
|
|
this.spellTrig.noIcon = false;
|
|
}
|
|
if (character.stats.stamina > 25f && !Records.x.partySailing)
|
|
{
|
|
if (!this.heavyAtkBtn.interactable)
|
|
{
|
|
this.heavyAtkBtn.interactable = true;
|
|
this.heavyTrig.noIcon = false;
|
|
}
|
|
}
|
|
else if (this.heavyAtkBtn.interactable)
|
|
{
|
|
this.heavyAtkBtn.interactable = false;
|
|
this.heavyTrig.noIcon = true;
|
|
}
|
|
if (character.stats.stamina > 15f && !Records.x.partySailing)
|
|
{
|
|
if (!this.mediumAtkBtn.interactable)
|
|
{
|
|
this.mediumAtkBtn.interactable = true;
|
|
this.mediumTrig.noIcon = false;
|
|
}
|
|
}
|
|
else if (this.mediumAtkBtn.interactable)
|
|
{
|
|
this.mediumAtkBtn.interactable = false;
|
|
this.mediumTrig.noIcon = true;
|
|
}
|
|
}
|
|
if (!this.specialGo.activeSelf && Links.x.fellowship.rally + Links.x.fellowship.rallyBoost >= Links.x.hudControl.rallyInterval && character)
|
|
{
|
|
this.Open(character);
|
|
}
|
|
}
|
|
if (Links.x.joy)
|
|
{
|
|
if (Records.x.pocketPause && (Links.x.combat.inPocketAttack || Links.x.main.CanAttack()))
|
|
{
|
|
this.joyOpen = true;
|
|
if (!this.controllerWheel1.activeSelf)
|
|
{
|
|
this.ControllerMessage(true);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.joyOpen = false;
|
|
if (this.canvasGroup.alpha < 1f && !this.rallyWheelOpen && !Links.x.combat.inPocketAttack)
|
|
{
|
|
this.canvasGroup.interactable = true;
|
|
this.canvasGroup.alpha = 1f;
|
|
this.canvasGroup.blocksRaycasts = true;
|
|
}
|
|
if (this.controllerWheel1.activeSelf)
|
|
{
|
|
this.ControllerMessage(false);
|
|
}
|
|
}
|
|
}
|
|
if (Links.x.joy && (this.joyOpen || this.rallyWheelOpen) && !Records.x.inMenus && !Links.x.gameplay.tp1.open && !Links.x.gameplay.tp2.open && !Links.x.gameplay.tp3.open && !Links.x.gameplay.tp4.open && this.closeRoutine == null && this.openRoutine == null && (this.canvasGroup.interactable || this.rallyWheelOpen))
|
|
{
|
|
bool flag = false;
|
|
if (Links.x.gameplay.currentEventObject && Links.x.hudControl.joyRT.gameObject.activeSelf)
|
|
{
|
|
if (!Links.x.gameplay.currentEventObject.activeSelf || !Links.x.gameplay.currentEventObject.activeInHierarchy)
|
|
{
|
|
flag = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
flag = true;
|
|
}
|
|
if (!this.spellbookWindow.gameObject.activeSelf && !this.rallyWheelOpen)
|
|
{
|
|
bool flag2 = false;
|
|
if (flag)
|
|
{
|
|
this.ToggleButtons(true);
|
|
if (flag)
|
|
{
|
|
flag2 = true;
|
|
}
|
|
if (Links.x.gameplay.currentEventObject)
|
|
{
|
|
if (Links.x.gameplay.currentEventObject.transform.parent && !Links.x.gameplay.currentEventObject.transform.parent.gameObject.name.Contains("Pocket Wheel"))
|
|
{
|
|
flag2 = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
flag2 = true;
|
|
}
|
|
if (this.spellbookWindow.gameObject.activeSelf)
|
|
{
|
|
flag2 = false;
|
|
}
|
|
}
|
|
if (!flag2 && this.selected != "" && !flag && Mathf.Abs(Links.x.fellowship.move.magnitude) > 0.1f && !Links.x.gameplay.gameFeedScrolling && !Links.x.gameplay.dockDown && Time.timeSinceLevelLoad > this.lastChange + 0.2f)
|
|
{
|
|
bool flag3 = true;
|
|
if (Links.x.fellowship.move.x < 0f)
|
|
{
|
|
flag3 = false;
|
|
}
|
|
if (flag3)
|
|
{
|
|
string text = "";
|
|
if (this.selected == "Light Attack")
|
|
{
|
|
text = "Medium Attack";
|
|
}
|
|
if (this.selected == "Medium Attack")
|
|
{
|
|
text = "Heavy Attack";
|
|
}
|
|
if (this.selected == "Heavy Attack")
|
|
{
|
|
if (this.special1Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Special Attack 1";
|
|
}
|
|
else if (this.spellTrig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Spellbag";
|
|
}
|
|
else
|
|
{
|
|
text = "Sneak";
|
|
}
|
|
}
|
|
if (this.selected == "Special Attack 1")
|
|
{
|
|
if (this.spellTrig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Spellbag";
|
|
}
|
|
else
|
|
{
|
|
text = "Sneak";
|
|
}
|
|
}
|
|
if (this.selected == "Spellbag")
|
|
{
|
|
text = "Sneak";
|
|
}
|
|
if (this.selected == "Sneak")
|
|
{
|
|
text = "Shout";
|
|
}
|
|
if (this.selected == "Shout")
|
|
{
|
|
if (this.item1Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Item 1";
|
|
}
|
|
else if (this.item2Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Item 2";
|
|
}
|
|
else if (this.item3Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Item 3";
|
|
}
|
|
}
|
|
if (this.selected == "Item 1")
|
|
{
|
|
if (this.item2Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Item 2";
|
|
}
|
|
else if (this.item3Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Item 3";
|
|
}
|
|
}
|
|
if (this.selected == "Item 2" && this.item3Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text = "Item 3";
|
|
}
|
|
if (text != "")
|
|
{
|
|
this.lastChange = Time.timeSinceLevelLoad;
|
|
this.selected = text;
|
|
this.SelectJoyObject();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string text2 = "";
|
|
if (this.selected == "Medium Attack")
|
|
{
|
|
text2 = "Light Attack";
|
|
}
|
|
if (this.selected == "Heavy Attack")
|
|
{
|
|
text2 = "Medium Attack";
|
|
}
|
|
if (this.selected == "Special Attack 1")
|
|
{
|
|
text2 = "Heavy Attack";
|
|
}
|
|
if (this.selected == "Spellbag")
|
|
{
|
|
if (this.special1Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text2 = "Special Attack 1";
|
|
}
|
|
else
|
|
{
|
|
text2 = "Heavy Attack";
|
|
}
|
|
}
|
|
if (this.selected == "Sneak")
|
|
{
|
|
if (this.spellTrig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text2 = "Spellbag";
|
|
}
|
|
else if (this.special1Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text2 = "Special Attack 1";
|
|
}
|
|
else
|
|
{
|
|
text2 = "Heavy Attack";
|
|
}
|
|
}
|
|
if (this.selected == "Shout")
|
|
{
|
|
text2 = "Sneak";
|
|
}
|
|
if (this.selected == "Item 1")
|
|
{
|
|
text2 = "Shout";
|
|
}
|
|
if (this.selected == "Item 2")
|
|
{
|
|
if (this.item1Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text2 = "Item 1";
|
|
}
|
|
else
|
|
{
|
|
text2 = "Shout";
|
|
}
|
|
}
|
|
if (this.selected == "Item 3")
|
|
{
|
|
if (this.item2Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text2 = "Item 2";
|
|
}
|
|
else if (this.item1Trig.gameObject.transform.parent.gameObject.activeSelf)
|
|
{
|
|
text2 = "Item 1";
|
|
}
|
|
else
|
|
{
|
|
text2 = "Shout";
|
|
}
|
|
}
|
|
if (text2 != "")
|
|
{
|
|
this.lastChange = Time.timeSinceLevelLoad;
|
|
this.selected = text2;
|
|
this.SelectJoyObject();
|
|
}
|
|
}
|
|
this.GetSelectedFromRotatation();
|
|
}
|
|
if (flag2)
|
|
{
|
|
if (this.selected == "")
|
|
{
|
|
this.selected = "Light Attack";
|
|
}
|
|
this.SelectJoyObject();
|
|
if (flag)
|
|
{
|
|
this.SetDirection(this.selected);
|
|
}
|
|
}
|
|
Links.x.hudControl.ToggleBothCanvasGroup(false);
|
|
Links.x.hudControl.cardCanvasGroup.interactable = true;
|
|
if (Links.x.gameplay.actionStart && !this.targetSelection)
|
|
{
|
|
if (this.selected.Contains("Attack") || this.Charming() || Links.x.gameplay.spellTargetingParty || Links.x.gameplay.spellTargetingEnemy)
|
|
{
|
|
if (this.selected.Contains("Special"))
|
|
{
|
|
if (this.specialBtn1.interactable)
|
|
{
|
|
this.Select(this.selected);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.Select(this.selected);
|
|
}
|
|
}
|
|
else if (this.spellbookWindow.gameObject.activeSelf)
|
|
{
|
|
if (Links.x.gameplay.spellTargetingGround)
|
|
{
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.Select(this.selected);
|
|
}
|
|
}
|
|
}
|
|
if (this.spellbookWindow.gameObject.activeSelf)
|
|
{
|
|
this.ToggleButtons(false);
|
|
if (Links.x.gameplay.cancelStart && this.selected == "Spellbag")
|
|
{
|
|
if (Links.x.joy)
|
|
{
|
|
this.skillBag.CloseSpells();
|
|
this.spellbook.SetActive(false);
|
|
}
|
|
Links.x.gameplay.RemoveSpellTargets();
|
|
}
|
|
}
|
|
if (this.rallyWheelOpen)
|
|
{
|
|
if (this.rallyCanvasGroup.interactable)
|
|
{
|
|
if (flag)
|
|
{
|
|
if (this.selectedRallyCharacter)
|
|
{
|
|
int num = this.party.IndexOf(this.selectedRallyCharacter);
|
|
EventSystem.current.SetSelectedGameObject(this.damageAttacksPaper[num].gameObject);
|
|
Links.x.hudControl.SetJoyBox(this.damageAttacksPaper[num].gameObject.GetComponent<UITriggerButton>());
|
|
}
|
|
else
|
|
{
|
|
GameObject firstOpenRallyButton = this.GetFirstOpenRallyButton();
|
|
EventSystem.current.SetSelectedGameObject(firstOpenRallyButton.gameObject);
|
|
if (firstOpenRallyButton)
|
|
{
|
|
Links.x.hudControl.SetJoyBox(firstOpenRallyButton.gameObject.GetComponent<UITriggerButton>());
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
GameObject currentEventObject = Links.x.gameplay.currentEventObject;
|
|
GameObject gameObject = null;
|
|
if (this.ammoOpen)
|
|
{
|
|
for (int i = 0; i < this.usedAmmos.Count; i++)
|
|
{
|
|
if (currentEventObject == this.usedAmmos[i])
|
|
{
|
|
gameObject = currentEventObject;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
for (int j = 0; j < this.damageAttacksPaper.Count; j++)
|
|
{
|
|
if (currentEventObject == this.damageAttacksPaper[j].gameObject)
|
|
{
|
|
gameObject = currentEventObject;
|
|
break;
|
|
}
|
|
}
|
|
if (!gameObject)
|
|
{
|
|
for (int k = 0; k < this.cripplingAttacksPaper.Count; k++)
|
|
{
|
|
if (currentEventObject == this.cripplingAttacksPaper[k].gameObject)
|
|
{
|
|
gameObject = currentEventObject;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (!gameObject)
|
|
{
|
|
for (int l = 0; l < this.bothAttacksPaper.Count; l++)
|
|
{
|
|
if (currentEventObject == this.bothAttacksPaper[l].gameObject)
|
|
{
|
|
gameObject = currentEventObject;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (gameObject)
|
|
{
|
|
this.prevSelectedObject = gameObject;
|
|
Links.x.hudControl.JoyBounds(gameObject.GetComponent<UITriggerButton>().rt, gameObject.GetComponent<UITriggerButton>().boxOffset, false);
|
|
if (Links.x.gameplay.actionStart)
|
|
{
|
|
gameObject.gameObject.GetComponent<Pointer>().PointerDownAction();
|
|
}
|
|
if (Links.x.gameplay.interactStart)
|
|
{
|
|
gameObject.gameObject.GetComponent<Pointer>().PointerDownInteract();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (Links.x.gameplay.cancelStart)
|
|
{
|
|
if (!this.selectedAmmoImage.activeSelf)
|
|
{
|
|
if (this.ammoOpen)
|
|
{
|
|
this.CloseAmmo();
|
|
}
|
|
else
|
|
{
|
|
this.CloseRallyWheel(true);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.StartFade(false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (Links.x.mk && this.open && !Records.x.inMenus && !Links.x.gameplay.tp1.open && !Links.x.gameplay.tp2.open && !Links.x.gameplay.tp3.open && !Links.x.gameplay.tp4.open && this.closeRoutine == null && this.openRoutine == null)
|
|
{
|
|
bool flag4 = false;
|
|
if (Links.x.gameplay.spellTargetingGround || Links.x.gameplay.spellTargetingEnemy || Links.x.gameplay.spellTargetingParty)
|
|
{
|
|
flag4 = true;
|
|
}
|
|
if ((this.spellbookWindow.gameObject.activeSelf || flag4) && Input.GetMouseButtonDown(1) && !Links.x.gameplay.uiHover && (this.selected == "Spellbag" || flag4))
|
|
{
|
|
Links.x.gameplay.RemoveAbilityInfo();
|
|
if (this.selected != "Spellbag")
|
|
{
|
|
Links.x.gameplay.PocketPause(false);
|
|
}
|
|
}
|
|
}
|
|
if (Links.x.mk && this.rallyWheelOpen && !Links.x.hudControl.descriptionWindowOpen && Input.GetMouseButtonUp(1))
|
|
{
|
|
if (!this.selectedAmmoImage.activeSelf)
|
|
{
|
|
this.CloseRallyWheel(true);
|
|
}
|
|
else
|
|
{
|
|
this.StartFade(false);
|
|
}
|
|
}
|
|
if (Links.x.gameplay.tp1.open || Links.x.gameplay.tp2.open || Links.x.gameplay.tp3.open || Links.x.gameplay.tp3.open || Records.x.inMenus)
|
|
{
|
|
this.ToggleButtons(false);
|
|
}
|
|
if ((this.open || this.rallyWheelOpen) && this.selectedAmmoImage.activeSelf && this.selectedRallyBtn)
|
|
{
|
|
this.selectedAmmoImage.transform.position = this.selectedRallyBtn.transform.position;
|
|
}
|
|
if (this.fading)
|
|
{
|
|
this.currentDither = Mathf.Lerp(this.startDither, this.endDither, this.fadeAmount);
|
|
if ((this.endDither > 0.9f && this.currentDither >= this.endDither) || (this.endDither == 0f && this.currentDither <= this.endDither))
|
|
{
|
|
this.fading = false;
|
|
}
|
|
this.fadeAmount += Time.deltaTime * 4f;
|
|
this.rallyCanvasGroup.alpha = 1f - this.currentDither;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012B7 RID: 4791 RVA: 0x0016A678 File Offset: 0x00168878
|
|
public void ToggleButtons(bool state)
|
|
{
|
|
this.spellsBtn.interactable = state;
|
|
this.lightAtkBtn.interactable = state;
|
|
this.mediumAtkBtn.interactable = state;
|
|
this.heavyAtkBtn.interactable = state;
|
|
this.charmBtn.interactable = state;
|
|
this.shoutBtn.interactable = state;
|
|
this.sneakBtn.interactable = state;
|
|
if (!state || (state && this.item1.enabled))
|
|
{
|
|
this.item1Btn.interactable = state;
|
|
}
|
|
if (!state || (state && this.item2.enabled))
|
|
{
|
|
this.item2Btn.interactable = state;
|
|
}
|
|
if (!state || (state && this.item3.enabled))
|
|
{
|
|
this.item3Btn.interactable = state;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012B8 RID: 4792 RVA: 0x0016A736 File Offset: 0x00168936
|
|
private void SetScale(bool allOff)
|
|
{
|
|
}
|
|
|
|
// Token: 0x060012B9 RID: 4793 RVA: 0x0016A738 File Offset: 0x00168938
|
|
public void SetHotkeys(bool mk)
|
|
{
|
|
if (mk)
|
|
{
|
|
this.attackKey.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Attack")).ToString() + ">";
|
|
this.pinKey.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Pin")).ToString() + ">";
|
|
this.chargeKey.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Charge")).ToString() + ">";
|
|
this.rallyKey.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Rally")).ToString() + ">";
|
|
this.spellsKey.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Spells")).ToString() + ">";
|
|
this.sneakKey.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Sneak")).ToString() + ">";
|
|
this.talkKey.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Talk")).ToString() + ">";
|
|
this.item1Key.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Item1")).ToString() + ">";
|
|
this.item2Key.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Item2")).ToString() + ">";
|
|
this.item3key.text = "<sprite=" + Links.x.keyControl.GetKeyIconIndex(Links.x.keyControl.GetHotkeyString("Item3")).ToString() + ">";
|
|
return;
|
|
}
|
|
this.attackKey.text = "";
|
|
this.pinKey.text = "";
|
|
this.chargeKey.text = "";
|
|
this.rallyKey.text = "";
|
|
this.spellsKey.text = "";
|
|
this.sneakKey.text = "";
|
|
this.talkKey.text = "";
|
|
this.item1Key.text = "";
|
|
this.item2Key.text = "";
|
|
this.item3key.text = "";
|
|
}
|
|
|
|
// Token: 0x060012BA RID: 4794 RVA: 0x0016AAA0 File Offset: 0x00168CA0
|
|
public void Open(Character c)
|
|
{
|
|
if (this.open && this.character)
|
|
{
|
|
this.SaveSelected();
|
|
this.skillBag.CloseSpells();
|
|
this.SetDirection(this.selected);
|
|
}
|
|
else
|
|
{
|
|
this.arrow.enabled = false;
|
|
}
|
|
this.character = c;
|
|
if (this.character.CanAttack())
|
|
{
|
|
this.halfOpen = false;
|
|
}
|
|
else
|
|
{
|
|
this.halfOpen = true;
|
|
}
|
|
Links.x.hudControl.ToggleControllerItemsIcon(false);
|
|
this.hoverField.text = "";
|
|
this.hoverFieldRally.text = "";
|
|
this.EnableBorder("");
|
|
this.SetScale(true);
|
|
this.CloseAmmo();
|
|
this.selectedRallyCharacter = null;
|
|
this.rallyWheelOpen = false;
|
|
if (this.character.portrait)
|
|
{
|
|
this.skillBag = this.character.portrait.skillBag;
|
|
}
|
|
this.rally1 = null;
|
|
this.rally2 = null;
|
|
if (this.character.IsSentient() && this.closeRoutine != null)
|
|
{
|
|
base.StopCoroutine(this.closeRoutine);
|
|
this.closeRoutine = null;
|
|
}
|
|
this.open = true;
|
|
Links.x.gameplay.joystickTarget.SetActive(false);
|
|
if (this.targetSelection)
|
|
{
|
|
Links.x.rtsCamera.Zoom(false, "TargetSelect");
|
|
Links.x.rtsCamera.targetSelecting = false;
|
|
}
|
|
this.targetSelection = false;
|
|
Links.x.partyColliderAdventure.SetTargetText(0);
|
|
this.SetupItems();
|
|
this.selected = this.GetSelected();
|
|
this.canTarget = false;
|
|
this.timeSinceOpen = Time.timeSinceLevelLoad;
|
|
this.SetRallyButtons();
|
|
Links.x.follow.position = c.tr.position + c.HeadHeight();
|
|
this.ToggleButtons(true);
|
|
if (!this.rallyWheelOpen && !Links.x.combat.inPocketAttack)
|
|
{
|
|
this.canvasGroup.interactable = true;
|
|
this.canvasGroup.alpha = 1f;
|
|
this.canvasGroup.blocksRaycasts = true;
|
|
}
|
|
this.targetSelection = false;
|
|
this.skillBag.SetSelectedState();
|
|
if (Links.x.joy)
|
|
{
|
|
this.ControllerMessage(true);
|
|
this.controllerWheel2.SetActive(false);
|
|
this.controllerWheel4.SetActive(false);
|
|
Links.x.partyColliderAdventure.SetTargetText(0);
|
|
}
|
|
else
|
|
{
|
|
this.ControllerMessage(false);
|
|
}
|
|
if (this.selected == "Light Attack" || this.selected == "Medium Attack" || this.selected == "Heavy Attack" || this.Charming() || (this.spellsBtn.interactable && this.selected == "Spellbag"))
|
|
{
|
|
this.EnableBorder(this.selected);
|
|
if (this.selected == "Spellbag")
|
|
{
|
|
this.Select("Spellbag");
|
|
}
|
|
if (Links.x.joy)
|
|
{
|
|
if (this.selected == "Light Attack" || this.selected == "Medium Attack" || this.selected == "Heavy Attack" || this.selected == "Charm")
|
|
{
|
|
this.ControllerSelect(this.selected, false, false);
|
|
}
|
|
else
|
|
{
|
|
this.ControllerSelect(this.selected, true, false);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.selected = "Light Attack";
|
|
Debug.Log("Set as light attack");
|
|
this.EnableBorder("Light Attack");
|
|
if (Links.x.joy)
|
|
{
|
|
this.ControllerSelect(this.selected, false, false);
|
|
}
|
|
this.SetScale(false);
|
|
}
|
|
this.skillBag.TooltipOff();
|
|
if (Links.x.mk)
|
|
{
|
|
this.arrow.enabled = false;
|
|
this.spellbookTop.interactable = true;
|
|
this.closeSpellbook.gameObject.SetActive(false);
|
|
this.SetDirection(this.selected);
|
|
}
|
|
else
|
|
{
|
|
this.spellbookTop.interactable = false;
|
|
this.closeSpellbook.gameObject.SetActive(true);
|
|
this.closeSpellbook.spriteAsset = Links.x.GetSpriteSheetAsset(Links.x.gameplay.currentSpriteSheetAsset);
|
|
this.closeSpellbook.text = Links.x.gameplay.cancelText;
|
|
this.SetDirection(this.selected);
|
|
}
|
|
this.openRoutine = null;
|
|
bool flag = false;
|
|
if (Links.x.joy && this.joyOpen)
|
|
{
|
|
this.SelectJoyObject();
|
|
if (Links.x.combat.ItemCardCount() == 0)
|
|
{
|
|
this.lightTrig.noIcon = true;
|
|
this.mediumTrig.noIcon = true;
|
|
this.heavyTrig.noIcon = true;
|
|
flag = true;
|
|
}
|
|
else
|
|
{
|
|
this.lightTrig.noIcon = false;
|
|
this.mediumTrig.noIcon = false;
|
|
this.heavyTrig.noIcon = false;
|
|
}
|
|
if (this.selected == "Light Attack")
|
|
{
|
|
this.SetHoverText(true, this.lightAtk.gameObject);
|
|
}
|
|
if (this.selected == "Special Attack 1")
|
|
{
|
|
this.SetHoverText(true, this.special1.gameObject);
|
|
}
|
|
if (this.selected == "Medium Attack")
|
|
{
|
|
this.SetHoverText(true, this.mediumAtk.gameObject);
|
|
}
|
|
if (this.selected == "Heavy Attack")
|
|
{
|
|
this.SetHoverText(true, this.heavyAtk.gameObject);
|
|
}
|
|
if (this.selected == "Spellbag")
|
|
{
|
|
this.SetHoverText(true, this.spells.gameObject);
|
|
}
|
|
if (this.selected == "Charm")
|
|
{
|
|
this.SetHoverText(true, this.charm.gameObject);
|
|
}
|
|
if (this.selected == "Item 1")
|
|
{
|
|
this.SetHoverText(true, this.item1.gameObject);
|
|
}
|
|
if (this.selected == "Item 2")
|
|
{
|
|
this.SetHoverText(true, this.item2.gameObject);
|
|
}
|
|
if (this.selected == "Item 3")
|
|
{
|
|
this.SetHoverText(true, this.item3.gameObject);
|
|
}
|
|
if (this.selected == "Shout")
|
|
{
|
|
this.SetHoverText(true, this.shoutBtn.gameObject);
|
|
}
|
|
if (this.selected == "Sneak")
|
|
{
|
|
this.SetHoverText(true, this.sneakBtn.gameObject);
|
|
}
|
|
this.SetScale(false);
|
|
}
|
|
this.SetButtonsForCharacter();
|
|
if (this.selected == "Spellbag" && Links.x.mk && this.spellsGo.activeSelf)
|
|
{
|
|
this.skillBag.OpenSpells();
|
|
}
|
|
else if (this.spellbook.activeSelf)
|
|
{
|
|
this.CloseSpellsAndSongs();
|
|
}
|
|
if (this.character.stats.stamina >= 25f && !flag)
|
|
{
|
|
this.heavyTrig.noIcon = false;
|
|
this.heavyAtkBtn.interactable = true;
|
|
}
|
|
else
|
|
{
|
|
this.heavyTrig.noIcon = true;
|
|
this.heavyAtkBtn.interactable = false;
|
|
if (this.selected == "Heavy Attack" && Links.x.joy)
|
|
{
|
|
this.SelectLightAttack();
|
|
Links.x.gameplay.SetDomeSize();
|
|
}
|
|
}
|
|
if (this.character.stats.stamina >= 15f && !flag)
|
|
{
|
|
this.mediumTrig.noIcon = false;
|
|
this.mediumAtkBtn.interactable = true;
|
|
return;
|
|
}
|
|
this.mediumTrig.noIcon = true;
|
|
this.mediumAtkBtn.interactable = false;
|
|
if (this.selected == "Medium Attack" && Links.x.joy)
|
|
{
|
|
this.SelectLightAttack();
|
|
Links.x.gameplay.SetDomeSize();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012BB RID: 4795 RVA: 0x0016B274 File Offset: 0x00169474
|
|
public void SetupItems()
|
|
{
|
|
if (this.skillBag)
|
|
{
|
|
for (int i = 0; i < 3; i++)
|
|
{
|
|
Image image = this.item1;
|
|
Image image2 = this.item1back;
|
|
TextMeshProUGUI textMeshProUGUI = this.item1stack;
|
|
Library.Inventory inventory = this.skillBag.beltItemRow1;
|
|
int num = this.skillBag.beltIndex1;
|
|
if (i == 1)
|
|
{
|
|
image = this.item2;
|
|
textMeshProUGUI = this.item2stack;
|
|
image2 = this.item2back;
|
|
num = this.skillBag.beltIndex2;
|
|
inventory = this.skillBag.beltItemRow2;
|
|
}
|
|
if (i == 2)
|
|
{
|
|
image = this.item3;
|
|
textMeshProUGUI = this.item3stack;
|
|
image2 = this.item3back;
|
|
num = this.skillBag.beltIndex3;
|
|
inventory = this.skillBag.beltItemRow3;
|
|
}
|
|
if (num > 1 && (inventory._RightClickAction == "Consume" || inventory._Tag.Contains("Scroll") || inventory._MainSkill.Contains("Charm")))
|
|
{
|
|
image.enabled = true;
|
|
string text = "";
|
|
if (i == 0)
|
|
{
|
|
image.sprite = this.skillBag.beltItem1Img.sprite;
|
|
text = this.skillBag.beltItem1text.text;
|
|
}
|
|
if (i == 1)
|
|
{
|
|
image.sprite = this.skillBag.beltItem2Img.sprite;
|
|
text = this.skillBag.beltItem2text.text;
|
|
}
|
|
if (i == 2)
|
|
{
|
|
image.sprite = this.skillBag.beltItem3Img.sprite;
|
|
text = this.skillBag.beltItem3text.text;
|
|
}
|
|
if (text == "1" || text == "" || inventory._Tag.Contains("Scroll"))
|
|
{
|
|
textMeshProUGUI.enabled = false;
|
|
image2.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
textMeshProUGUI.enabled = true;
|
|
textMeshProUGUI.text = text;
|
|
image2.enabled = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
image.enabled = false;
|
|
textMeshProUGUI.enabled = false;
|
|
image2.enabled = false;
|
|
}
|
|
}
|
|
this.dropItem1.gameObject.SetActive(this.item1.enabled);
|
|
this.dropItem2.gameObject.SetActive(this.item2.enabled);
|
|
this.dropItem3.gameObject.SetActive(this.item3.enabled);
|
|
this.item1Btn.enabled = this.item1.enabled;
|
|
this.item2Btn.enabled = this.item2.enabled;
|
|
this.item3Btn.enabled = this.item3.enabled;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012BC RID: 4796 RVA: 0x0016B50C File Offset: 0x0016970C
|
|
public void ControllerMessage(bool state)
|
|
{
|
|
RectOffset rectOffset = new RectOffset(this.glg.padding.left, this.glg.padding.right, this.glg.padding.top, this.glg.padding.bottom);
|
|
if (state)
|
|
{
|
|
rectOffset.right = -40;
|
|
}
|
|
else
|
|
{
|
|
rectOffset.right = 0;
|
|
}
|
|
rectOffset.left = 0;
|
|
this.glg.padding = rectOffset;
|
|
this.controllerWheel1.SetActive(state);
|
|
}
|
|
|
|
// Token: 0x060012BD RID: 4797 RVA: 0x0016B594 File Offset: 0x00169794
|
|
public void Close(bool showItem)
|
|
{
|
|
this.SaveSelected();
|
|
if (Links.x.joy)
|
|
{
|
|
this.spellbook.SetActive(false);
|
|
}
|
|
this.arrow.enabled = false;
|
|
this.ControllerMessage(false);
|
|
this.controllerWheel2.SetActive(false);
|
|
this.controllerWheel4.SetActive(false);
|
|
if (Links.x.joy)
|
|
{
|
|
Links.x.partyColliderAdventure.SetTargetText(0);
|
|
}
|
|
this.RemoveCommandUI();
|
|
if (this.selected == "Special Attack 1")
|
|
{
|
|
this.SelectLightAttack();
|
|
}
|
|
if (this.rallyWheelOpen)
|
|
{
|
|
this.CloseRallyWheel(false);
|
|
}
|
|
this.rallyWheelOpen = false;
|
|
this.CloseAmmo();
|
|
this.rallyText.SetActive(false);
|
|
if (Links.x.joy && this.targetSelection)
|
|
{
|
|
if (!Links.x.combat.inRally && !Links.x.combat.inPocketAttack)
|
|
{
|
|
Links.x.rtsCamera.Zoom(false, "TargetSelect");
|
|
}
|
|
Links.x.rtsCamera.targetSelecting = false;
|
|
Links.x.rtsCamera.joyTarget = null;
|
|
}
|
|
if (Links.x.joy && !Records.x.inMenus && !Links.x.gameplay.inPartyDock)
|
|
{
|
|
Links.x.hudControl.JoyBox(false);
|
|
}
|
|
if (this.rallyOpen != null)
|
|
{
|
|
base.StopCoroutine(this.rallyOpen);
|
|
this.rallyOpen = null;
|
|
}
|
|
this.rallyWheel.SetActive(false);
|
|
Links.x.hudControl.ToggleControllerItemsIcon(true);
|
|
if (Links.x.joy)
|
|
{
|
|
this.CloseSpellsAndSongs();
|
|
}
|
|
if (this.skillBag)
|
|
{
|
|
this.skillBag.SetSelectedState();
|
|
}
|
|
this.targetSelection = false;
|
|
this.EnableBorder("");
|
|
this.closeRoutine = null;
|
|
}
|
|
|
|
// Token: 0x060012BE RID: 4798 RVA: 0x0016B76C File Offset: 0x0016996C
|
|
public void Select(string type)
|
|
{
|
|
if (type == "" || type == "Close" || type.Contains("Portrait"))
|
|
{
|
|
return;
|
|
}
|
|
if (type.Contains("Rally Attack"))
|
|
{
|
|
this.SelectRally(type);
|
|
}
|
|
else
|
|
{
|
|
if (type == "Special Attack 1" && !this.specialBtn1.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type.Contains("Ammo"))
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Heavy Attack" && !this.heavyAtkBtn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Light Attack" && !this.lightAtkBtn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Medium Attack" && !this.mediumAtkBtn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Sneak" && !this.sneakBtn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Shout" && !this.shoutBtn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Spellbag" && !this.spellsBtn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Item 1" && !this.item1Btn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Item 2" && !this.item2Btn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "Item 3" && !this.item3Btn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
this.EnableBorder(type);
|
|
if (type == "Spellbook")
|
|
{
|
|
if (this.spells.material != this.noBook)
|
|
{
|
|
this.selected = type;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.selected = type;
|
|
}
|
|
if (type == "Light Attack")
|
|
{
|
|
Links.x.gameplay.SetDomeSize();
|
|
Links.x.combat.GetTargets(false, false, null);
|
|
this.CloseSpellsAndSongs();
|
|
}
|
|
if (type == "Special Attack 1" && this.specialBtn1.interactable)
|
|
{
|
|
this.canTarget = false;
|
|
Links.x.gameplay.SetDomeSize();
|
|
Links.x.combat.GetTargets(false, false, null);
|
|
this.CloseSpellsAndSongs();
|
|
if (Links.x.mk)
|
|
{
|
|
this.OpenRallyWheel(true);
|
|
}
|
|
else if (Links.x.joy && Links.x.gameplay.actionStart && !this.rallyWheelOpen)
|
|
{
|
|
this.OpenRallyWheel(true);
|
|
}
|
|
}
|
|
if (type == "Medium Attack")
|
|
{
|
|
Links.x.gameplay.SetDomeSize();
|
|
Links.x.combat.GetTargets(false, false, null);
|
|
this.CloseSpellsAndSongs();
|
|
}
|
|
if (type == "Heavy Attack")
|
|
{
|
|
Links.x.gameplay.SetDomeSize();
|
|
Links.x.combat.GetTargets(false, false, null);
|
|
this.CloseSpellsAndSongs();
|
|
}
|
|
if (type.Contains("Item"))
|
|
{
|
|
Library.Inventory inventory = this.skillBag.beltItemRow1;
|
|
if (type.Contains("2"))
|
|
{
|
|
inventory = this.skillBag.beltItemRow2;
|
|
}
|
|
if (type.Contains("3"))
|
|
{
|
|
inventory = this.skillBag.beltItemRow3;
|
|
}
|
|
if (inventory._MainSkill == "Charm")
|
|
{
|
|
Links.x.gameplay.SetDomeSize();
|
|
Links.x.combat.GetTargets(false, false, null);
|
|
this.CloseSpellsAndSongs();
|
|
}
|
|
else
|
|
{
|
|
bool flag = false;
|
|
if (type == "Item 1")
|
|
{
|
|
this.skillBag.UseBeltItem1(true);
|
|
}
|
|
if (type == "Item 2")
|
|
{
|
|
this.skillBag.UseBeltItem2(true);
|
|
}
|
|
if (type == "Item 3")
|
|
{
|
|
this.skillBag.UseBeltItem3(true);
|
|
}
|
|
this.CloseSpellsAndSongs();
|
|
this.selected = "";
|
|
this.EnableBorder("");
|
|
this.SetupItems();
|
|
if (Links.x.joy && flag)
|
|
{
|
|
this.selected = "";
|
|
this.GetSelectedFromRotatation();
|
|
}
|
|
}
|
|
}
|
|
if (type == "Charm")
|
|
{
|
|
Links.x.gameplay.SetDomeSize();
|
|
Links.x.combat.GetTargets(false, false, null);
|
|
this.CloseSpellsAndSongs();
|
|
}
|
|
if (this.spells.material != this.noBook && type == "Spellbag")
|
|
{
|
|
Links.x.gameplay.SetDomeSize();
|
|
Links.x.combat.GetTargets(false, false, null);
|
|
this.CloseSpellsAndSongs();
|
|
this.OpenSpells();
|
|
}
|
|
if (type == "Shout")
|
|
{
|
|
Links.x.gameplay.SetDomeSize();
|
|
this.skillBag.portrait.textParser.StartMenu(this.skillBag.portrait);
|
|
this.CloseSpellsAndSongs();
|
|
this.EndTurn(0.5f);
|
|
}
|
|
if (type == "Sneak")
|
|
{
|
|
Links.x.gameplay.SetDomeSize();
|
|
this.skillBag.Sneak();
|
|
this.EndTurn(0f);
|
|
this.CloseSpellsAndSongs();
|
|
}
|
|
}
|
|
this.RemoveCommandUI();
|
|
this.SetScale(false);
|
|
}
|
|
|
|
// Token: 0x060012BF RID: 4799 RVA: 0x0016BC74 File Offset: 0x00169E74
|
|
public bool StartPocket(string type)
|
|
{
|
|
if (type.Contains("Item"))
|
|
{
|
|
if (type.Contains("1") && !(this.skillBag.beltItemRow1._MainSkill == "Charm") && !this.skillBag.beltItemRow1._Tag.Contains("Scroll"))
|
|
{
|
|
return false;
|
|
}
|
|
if (type.Contains("2") && !(this.skillBag.beltItemRow2._MainSkill == "Charm") && !this.skillBag.beltItemRow2._Tag.Contains("Scroll"))
|
|
{
|
|
return false;
|
|
}
|
|
if (type.Contains("3") && !(this.skillBag.beltItemRow3._MainSkill == "Charm") && !this.skillBag.beltItemRow3._Tag.Contains("Scroll"))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
if (type == "Shout" || type == "Sneak")
|
|
{
|
|
return false;
|
|
}
|
|
if (!Records.x.pocketPause)
|
|
{
|
|
Links.x.gameplay.PocketPause(true);
|
|
return false;
|
|
}
|
|
if (Records.x.pocketPause && type == this.selected && type != "Special Attack 1")
|
|
{
|
|
Links.x.gameplay.PocketPause(false);
|
|
this.CloseSpellsAndSongs();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x060012C0 RID: 4800 RVA: 0x0016BDE0 File Offset: 0x00169FE0
|
|
public void SelectLightAttack()
|
|
{
|
|
this.selected = "Light Attack";
|
|
this.EnableBorder("Light Attack");
|
|
if (Links.x.joy)
|
|
{
|
|
this.ControllerSelect(this.selected, false, false);
|
|
}
|
|
this.SetScale(false);
|
|
this.Select("Light Attack");
|
|
if (!this.open)
|
|
{
|
|
this.character = Links.x.main;
|
|
this.SaveSelected();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012C1 RID: 4801 RVA: 0x0016BE50 File Offset: 0x0016A050
|
|
public bool Charming()
|
|
{
|
|
if (this.selected.Contains("Item"))
|
|
{
|
|
if (this.selected == "Item 1" && this.skillBag.beltItemRow1._MainSkill == "Charm")
|
|
{
|
|
return true;
|
|
}
|
|
if (this.selected == "Item 2" && this.skillBag.beltItemRow2._MainSkill == "Charm")
|
|
{
|
|
return true;
|
|
}
|
|
if (this.selected == "Item 3" && this.skillBag.beltItemRow3._MainSkill == "Charm")
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x060012C2 RID: 4802 RVA: 0x0016BF04 File Offset: 0x0016A104
|
|
public bool HasSpellScroll()
|
|
{
|
|
if (this.selected.Contains("Item"))
|
|
{
|
|
if (this.selected == "Item 1" && this.skillBag.beltItemRow1._Tag.Contains("Scroll"))
|
|
{
|
|
return true;
|
|
}
|
|
if (this.selected == "Item 2" && this.skillBag.beltItemRow2._Tag.Contains("Scroll"))
|
|
{
|
|
return true;
|
|
}
|
|
if (this.selected == "Item 3" && this.skillBag.beltItemRow3._Tag.Contains("Scroll"))
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x060012C3 RID: 4803 RVA: 0x0016BFB8 File Offset: 0x0016A1B8
|
|
public void WaitForTargets()
|
|
{
|
|
bool flag = true;
|
|
if (this.selected.Contains("Attack"))
|
|
{
|
|
if (Links.x.combat.ItemCardCount() == 0)
|
|
{
|
|
flag = false;
|
|
}
|
|
}
|
|
else if (this.selected.Contains("Charm") && Links.x.combat.TargetCount() == 0)
|
|
{
|
|
flag = false;
|
|
}
|
|
if (Links.x.joy && Time.timeSinceLevelLoad > this.timeSinceOpen + 0.25f && !this.targetSelection && flag)
|
|
{
|
|
this.targetSelection = true;
|
|
this.canvasGroup.interactable = false;
|
|
this.canvasGroup.blocksRaycasts = false;
|
|
this.canvasGroup.alpha = 0.25f;
|
|
Links.x.hudControl.JoyBox(false);
|
|
Links.x.gameplay.waitingForActionUp = true;
|
|
this.prevSelectedObject = Links.x.gameplay.currentEventObject;
|
|
EventSystem.current.SetSelectedGameObject(null);
|
|
this.ControllerMessage(false);
|
|
if (this.selected != "Spellbag")
|
|
{
|
|
this.controllerWheel2.SetActive(true);
|
|
}
|
|
else if (Links.x.gameplay.spellTargetingGround)
|
|
{
|
|
this.controllerWheel4.SetActive(true);
|
|
}
|
|
else
|
|
{
|
|
this.controllerWheel2.SetActive(true);
|
|
}
|
|
Links.x.gameplay.GetControllerTarget(false);
|
|
Links.x.gameplay.SetJoystickTargetActive();
|
|
if (Links.x.joy)
|
|
{
|
|
Links.x.rtsCamera.Zoom(true, "TargetSelect");
|
|
Links.x.rtsCamera.targetSelecting = true;
|
|
}
|
|
Links.x.partyColliderAdventure.SetTargetText(Links.x.combat.ItemCardCount());
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012C4 RID: 4804 RVA: 0x0016C174 File Offset: 0x0016A374
|
|
private void CloseSpellsAndSongs()
|
|
{
|
|
if (this.spellbook.activeSelf)
|
|
{
|
|
this.skillBag.CloseSpells();
|
|
this.spellbook.SetActive(false);
|
|
Links.x.gameplay.RemoveSpellTargets();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012C5 RID: 4805 RVA: 0x0016C1A9 File Offset: 0x0016A3A9
|
|
public void CloseSpellsFromButton()
|
|
{
|
|
this.CloseSpellsAndSongs();
|
|
this.SelectLightAttack();
|
|
}
|
|
|
|
// Token: 0x060012C6 RID: 4806 RVA: 0x0016C1B7 File Offset: 0x0016A3B7
|
|
public void OpenSongs()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060012C7 RID: 4807 RVA: 0x0016C1B9 File Offset: 0x0016A3B9
|
|
public void OpenSpells()
|
|
{
|
|
if (!this.spellbook.activeSelf)
|
|
{
|
|
this.spellbook.SetActive(true);
|
|
this.skillBag.OpenSpells();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012C8 RID: 4808 RVA: 0x0016C1E0 File Offset: 0x0016A3E0
|
|
public void EndTurn(float attackTimeReduction)
|
|
{
|
|
EventSystem.current.SetSelectedGameObject(null);
|
|
if (this.character.actions)
|
|
{
|
|
this.character.actions.canEndAttackTime = true;
|
|
this.character.actions.EndAttackTime(attackTimeReduction);
|
|
}
|
|
else
|
|
{
|
|
if (Records.x.pocketPause && this.character.mainSelected)
|
|
{
|
|
Links.x.gameplay.PocketPause(false);
|
|
}
|
|
this.character.ZeroAttackTime(attackTimeReduction);
|
|
if (this.character.mainSelected)
|
|
{
|
|
this.character.body.CombatSheen(0);
|
|
Links.x.cameraEffects.RemoveCombatCharacters();
|
|
}
|
|
}
|
|
Links.x.hudControl.JoyBox(false);
|
|
this.Close(true);
|
|
}
|
|
|
|
// Token: 0x060012C9 RID: 4809 RVA: 0x0016C2A8 File Offset: 0x0016A4A8
|
|
public void EnableBorder(string type)
|
|
{
|
|
if (this.closeRoutine != null)
|
|
{
|
|
return;
|
|
}
|
|
if (type == "")
|
|
{
|
|
type = "Light Attack";
|
|
}
|
|
if (type == "Special Attack 1" && !this.specialBtn1.interactable)
|
|
{
|
|
this.selectedSpecial1.enabled = false;
|
|
return;
|
|
}
|
|
if (type == "Light Attack")
|
|
{
|
|
this.selectedLightAtk.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedLightAtk.enabled = false;
|
|
}
|
|
if (type == "Special Attack 1")
|
|
{
|
|
this.selectedSpecial1.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedSpecial1.enabled = false;
|
|
}
|
|
if (type == "Medium Attack")
|
|
{
|
|
this.selectedMediumAtk.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedMediumAtk.enabled = false;
|
|
}
|
|
if (type == "Heavy Attack")
|
|
{
|
|
this.selectedHeavyAtk.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedHeavyAtk.enabled = false;
|
|
}
|
|
if (type == "Item 1")
|
|
{
|
|
this.selectedItem1.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedItem1.enabled = false;
|
|
}
|
|
if (type == "Item 2")
|
|
{
|
|
this.selectedItem2.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedItem2.enabled = false;
|
|
}
|
|
if (type == "Item 3")
|
|
{
|
|
this.selectedItem3.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedItem3.enabled = false;
|
|
}
|
|
if (type == "Charm")
|
|
{
|
|
this.selectedCharm.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedCharm.enabled = false;
|
|
}
|
|
if (type == "Spellbag")
|
|
{
|
|
this.selectedSpells.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedSpells.enabled = false;
|
|
}
|
|
if (type == "Shout")
|
|
{
|
|
this.selectedShout.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.selectedShout.enabled = false;
|
|
}
|
|
if (type == "Sneak")
|
|
{
|
|
this.selectedSneak.enabled = true;
|
|
return;
|
|
}
|
|
this.selectedSneak.enabled = false;
|
|
}
|
|
|
|
// Token: 0x060012CA RID: 4810 RVA: 0x0016C4A8 File Offset: 0x0016A6A8
|
|
public void ControllerSelect(string type, bool fromButton, bool confirm)
|
|
{
|
|
if (type == "" || type == "Close" || type.Contains("Portrait"))
|
|
{
|
|
return;
|
|
}
|
|
if (type.Contains("Rally Attack"))
|
|
{
|
|
this.SelectRally(type);
|
|
}
|
|
else
|
|
{
|
|
bool flag = false;
|
|
if (type.Contains("Item"))
|
|
{
|
|
if (type.Contains("1") && this.skillBag.beltItemRow1._MainSkill == "Charm")
|
|
{
|
|
flag = true;
|
|
}
|
|
if (type.Contains("2") && this.skillBag.beltItemRow2._MainSkill == "Charm")
|
|
{
|
|
flag = true;
|
|
}
|
|
if (type.Contains("3") && this.skillBag.beltItemRow3._MainSkill == "Charm")
|
|
{
|
|
flag = true;
|
|
}
|
|
}
|
|
if (type == "Special Attack 1" && !this.specialBtn1.interactable)
|
|
{
|
|
this.canTarget = false;
|
|
return;
|
|
}
|
|
if (type == "Heavy Attack" && !this.heavyAtkBtn.interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type.Contains("Ammo"))
|
|
{
|
|
return;
|
|
}
|
|
this.selected = type;
|
|
if ((type.Contains("Attack") || flag) && confirm)
|
|
{
|
|
this.WaitForTargets();
|
|
}
|
|
if (!type.Contains("Item") && !type.Contains("Shout") && !type.Contains("Sneak") && !type.Contains("Spellbag") && !type.Contains("Special Attack 1"))
|
|
{
|
|
this.Select(type);
|
|
}
|
|
else if (type.Contains("Special Attack 1"))
|
|
{
|
|
this.Select(type);
|
|
}
|
|
else
|
|
{
|
|
if (Links.x.joy)
|
|
{
|
|
Links.x.gameplay.GetControllerTarget(false);
|
|
}
|
|
Links.x.gameplay.SetDomeSize();
|
|
this.EnableBorder(type);
|
|
}
|
|
}
|
|
this.SetScale(false);
|
|
this.RemoveCommandUI();
|
|
}
|
|
|
|
// Token: 0x060012CB RID: 4811 RVA: 0x0016C692 File Offset: 0x0016A892
|
|
public bool CanOpenDescription(GameObject go)
|
|
{
|
|
return !go.name.Contains("Special") || this.specialBtn1.interactable;
|
|
}
|
|
|
|
// Token: 0x060012CC RID: 4812 RVA: 0x0016C6B8 File Offset: 0x0016A8B8
|
|
private void RemoveCommandUI()
|
|
{
|
|
if (this.selected != "Command Reposition" && Links.x.gameplay.repositionTargeting)
|
|
{
|
|
Links.x.gameplay.repositionTargeting = false;
|
|
Links.x.gameplay.ClearEffectTiles(true, null, true);
|
|
}
|
|
if (this.selected != "Command Group" && Links.x.gameplay.defenseCircleTargeting)
|
|
{
|
|
Links.x.gameplay.defenseCircleRotation = Quaternion.identity;
|
|
Links.x.gameplay.defenseCircleTargeting = false;
|
|
Links.x.gameplay.ClearEffectTiles(true, null, true);
|
|
Links.x.gameplay.messageDefenseHoldMK.SetActive(false);
|
|
Links.x.gameplay.messageDefenseHoldJoy.SetActive(false);
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012CD RID: 4813 RVA: 0x0016C790 File Offset: 0x0016A990
|
|
public void SetHoverText(bool on, GameObject g)
|
|
{
|
|
string text = "";
|
|
if (g)
|
|
{
|
|
text = g.name;
|
|
}
|
|
if (on && this.window.dragging)
|
|
{
|
|
return;
|
|
}
|
|
if (text.Contains("Special Attack") && !this.specialBtn1.interactable)
|
|
{
|
|
on = false;
|
|
}
|
|
if (text.Contains("Damage Rally Attack") || text.Contains("Cripple Rally Attack") || text.Contains("Both Rally Attack"))
|
|
{
|
|
int num = 0;
|
|
if (text.Contains("2"))
|
|
{
|
|
num = 1;
|
|
}
|
|
if (text.Contains("3"))
|
|
{
|
|
num = 2;
|
|
}
|
|
if (text.Contains("4"))
|
|
{
|
|
num = 3;
|
|
}
|
|
if (on)
|
|
{
|
|
if ((text.Contains("Damage") && this.damageAttacksBtns[num].interactable) || (text.Contains("Both") && this.bothAttacksBtns[num].interactable) || (text.Contains("Cripple") && this.cripplingAttacksBtns[num].interactable))
|
|
{
|
|
Links.x.combat.hoverShowTargets = true;
|
|
Links.x.combat.hoverShowTargetsType = text;
|
|
Links.x.combat.hoverShowTargetCharacter = this.party[num];
|
|
Links.x.combat.GetTargets(false, true, this.party[num]);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Links.x.combat.hoverShowTargets = false;
|
|
Links.x.combat.GetTargets(false, true, this.party[num]);
|
|
}
|
|
on = false;
|
|
}
|
|
if (!on || !this.skillBag)
|
|
{
|
|
this.hoverFieldRally.text = "";
|
|
this.hoverField.text = "";
|
|
return;
|
|
}
|
|
this.str.Clear();
|
|
this.str.Append("<font=BoldOutline>");
|
|
bool flag = true;
|
|
if (Links.x.joy)
|
|
{
|
|
this.hoverField.gameObject.transform.SetParent(this.controllerWheel1.transform, true);
|
|
this.hoverFieldRT.anchoredPosition3D = this.hoverPositionJoy;
|
|
}
|
|
else
|
|
{
|
|
this.hoverField.gameObject.transform.SetParent(base.transform, true);
|
|
this.hoverFieldRT.anchoredPosition3D = this.hoverPositionMK;
|
|
}
|
|
if (text == "Light Attack")
|
|
{
|
|
this.str.Append("Attack");
|
|
}
|
|
if (text == "Special Attack 1")
|
|
{
|
|
this.str.Append("Rally Attacks");
|
|
}
|
|
if (text.Contains("Damage Rally Attack"))
|
|
{
|
|
this.str.Append(this.GetSpecialAttackText(1, g, out flag));
|
|
}
|
|
if (text.Contains("Cripple Rally Attack"))
|
|
{
|
|
this.str.Append(this.GetSpecialAttackText(2, g, out flag));
|
|
}
|
|
if (text.Contains("Both Rally Attack"))
|
|
{
|
|
this.str.Append(this.GetSpecialAttackText(3, g, out flag));
|
|
}
|
|
if (text.Contains("Portrait"))
|
|
{
|
|
flag = false;
|
|
int num2 = 0;
|
|
if (g.name.Contains("2"))
|
|
{
|
|
num2 = 1;
|
|
}
|
|
if (g.name.Contains("3"))
|
|
{
|
|
num2 = 2;
|
|
}
|
|
if (g.name.Contains("4"))
|
|
{
|
|
num2 = 3;
|
|
}
|
|
bool flag2 = this.open;
|
|
this.str.Append(this.party[num2].stats.GetName());
|
|
}
|
|
if (text == "Medium Attack")
|
|
{
|
|
this.str.Append("Pin");
|
|
if (!this.mediumAtkBtn.interactable && !Records.x.partySailing)
|
|
{
|
|
this.str.Append(" (Not enough stamina)");
|
|
}
|
|
}
|
|
if (text == "Heavy Attack")
|
|
{
|
|
this.str.Append("Knockback");
|
|
if (!this.heavyAtkBtn.interactable && !Records.x.partySailing)
|
|
{
|
|
this.str.Append(" (Not enough stamina)");
|
|
}
|
|
}
|
|
if (text == "Close")
|
|
{
|
|
this.str.Append("End Rally Combo");
|
|
}
|
|
if (text == "Item 1")
|
|
{
|
|
this.str.Append(this.skillBag.beltItem1Name);
|
|
}
|
|
if (text == "Item 2")
|
|
{
|
|
this.str.Append(this.skillBag.beltItem2Name);
|
|
}
|
|
if (text == "Item 3")
|
|
{
|
|
this.str.Append(this.skillBag.beltItem3Name);
|
|
}
|
|
if (text == "Charm")
|
|
{
|
|
this.str.Append("Bind");
|
|
}
|
|
if (text == "Shout")
|
|
{
|
|
this.str.Append("Say Something");
|
|
}
|
|
if (text == "Sneak")
|
|
{
|
|
this.str.Append("Sneak");
|
|
}
|
|
if (text == "Spellbag")
|
|
{
|
|
this.str.Append("Cast a spell");
|
|
}
|
|
this.hoverField.spriteAsset = Links.x.GetSpriteSheetAsset(Links.x.gameplay.currentSpriteSheetAsset);
|
|
this.hoverFieldRally.spriteAsset = Links.x.GetSpriteSheetAsset(Links.x.gameplay.currentSpriteSheetAsset);
|
|
if (this.ammoOpen && text.Contains("Ammo"))
|
|
{
|
|
int num3 = 0;
|
|
if (text == "Rare Ammo 1")
|
|
{
|
|
num3 = 1;
|
|
}
|
|
if (text == "Rare Ammo 2")
|
|
{
|
|
num3 = 2;
|
|
}
|
|
if (text == "Rare Ammo 3")
|
|
{
|
|
num3 = 3;
|
|
}
|
|
if (text == "Rare Ammo 4")
|
|
{
|
|
num3 = 4;
|
|
}
|
|
if (text == "Rare Ammo 5")
|
|
{
|
|
num3 = 5;
|
|
}
|
|
if (text == "Rare Ammo 6")
|
|
{
|
|
num3 = 6;
|
|
}
|
|
if (text == "Rare Ammo 7")
|
|
{
|
|
num3 = 7;
|
|
}
|
|
if (text == "Rare Ammo 8")
|
|
{
|
|
num3 = 8;
|
|
}
|
|
if (text == "Rare Ammo 9")
|
|
{
|
|
num3 = 9;
|
|
}
|
|
Library.Inventory invRow = Links.x.library.GetInvRow(this.ammos[num3]);
|
|
this.str.Append("Use ");
|
|
this.str.Append(invRow._DisplayName);
|
|
}
|
|
if (text != "Close" && flag)
|
|
{
|
|
if (Links.x.mk)
|
|
{
|
|
this.str.Append("</font><line-height=1.5em>");
|
|
this.str.Append("<size=.95em>\n<color=#878075>Details");
|
|
this.str.Append(" <voffset=.4em><size=20><sprite=");
|
|
int keyIconIndex = Links.x.keyControl.GetKeyIconIndex("RMB");
|
|
this.str.Append(keyIconIndex);
|
|
this.str.Append("></size></voffset></color>");
|
|
this.str.Append("</size></line-height>");
|
|
if (this.rallyWheelOpen)
|
|
{
|
|
this.hoverFieldRally.text = this.str.ToString();
|
|
return;
|
|
}
|
|
this.hoverField.text = this.str.ToString();
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("</font><line-height=1.5em>");
|
|
if (text.Contains("Item") || text.Contains("Song") || text.Contains("Spell") || text == "Shout" || text == "Sneak")
|
|
{
|
|
this.str.Append("<size=.7em>\n<size=.9em>");
|
|
}
|
|
else
|
|
{
|
|
bool flag3 = true;
|
|
if (text.Contains("Attack") && !text.Contains("Special"))
|
|
{
|
|
if (this.lightTrig.noIcon)
|
|
{
|
|
this.str.Append("<size=.7em>\n <size=1em>No targets in range to attack<size=.7em>\n\n <size=1em>");
|
|
flag3 = false;
|
|
}
|
|
}
|
|
else if (text.Contains("Charm") && this.charmTrig.noIcon)
|
|
{
|
|
if (Links.x.combat.charmFail == "Low Skill")
|
|
{
|
|
this.str.Append("<size=.7em>\n <size=1em>Targets in range would resist bind attempt<size=.7em>\n <size=1em>");
|
|
}
|
|
else if (Links.x.combat.charmFail == "No Beads")
|
|
{
|
|
this.str.Append("<size=.7em>\n <size=1em>Need Charm Bells to bind<size=.7em>\n <size=1em>");
|
|
}
|
|
else if (Links.x.combat.charmFail == "On water")
|
|
{
|
|
this.str.Append("<size=.7em>\n <size=1em>Cannot bind at sea<size=.7em>\n <size=1em>");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("<size=.7em>\n <size=1em>No targets in range to bind<size=.7em>\n <size=1em>");
|
|
}
|
|
flag3 = false;
|
|
}
|
|
if (flag3)
|
|
{
|
|
this.str.Append("<size=.7em>\n<size=.9em>");
|
|
}
|
|
}
|
|
this.str.Append("Details");
|
|
this.str.Append(" <voffset=.4em><size=40><sprite=");
|
|
int controllerSprite = Links.x.gameplay.GetControllerSprite("Interact", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite);
|
|
this.str.Append("></size></voffset>");
|
|
this.str.Append("</size></line-height>");
|
|
if (this.rallyWheelOpen)
|
|
{
|
|
this.hoverFieldRally.text = this.str.ToString();
|
|
return;
|
|
}
|
|
this.hoverField.text = this.str.ToString();
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (this.rallyWheelOpen)
|
|
{
|
|
this.hoverFieldRally.text = this.str.ToString();
|
|
return;
|
|
}
|
|
this.hoverField.text = this.str.ToString();
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012CE RID: 4814 RVA: 0x0016D110 File Offset: 0x0016B310
|
|
public void NewScene()
|
|
{
|
|
this.party.Clear();
|
|
if (!Records.x.mainMenuOpen)
|
|
{
|
|
this.portraitOrder = Links.x.portraitOrder;
|
|
foreach (Character character in this.portraitOrder.OrderByDescending((Character ch) => ch.stats.partyID))
|
|
{
|
|
this.party.Add(character);
|
|
}
|
|
int count = this.party.Count;
|
|
if (count > 1)
|
|
{
|
|
for (int i = count - 1; i >= 0; i--)
|
|
{
|
|
this.party.Add(this.party[i]);
|
|
}
|
|
if (count >= 1)
|
|
{
|
|
this.party.RemoveAt(0);
|
|
}
|
|
if (count >= 2)
|
|
{
|
|
this.party.RemoveAt(0);
|
|
}
|
|
if (count >= 3)
|
|
{
|
|
this.party.RemoveAt(0);
|
|
}
|
|
if (count >= 4)
|
|
{
|
|
this.party.RemoveAt(0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012CF RID: 4815 RVA: 0x0016D228 File Offset: 0x0016B428
|
|
private void SelectRally(string type)
|
|
{
|
|
GameObject gameObject = null;
|
|
int num;
|
|
if (type == "Damage Rally Attack 1" || type == "Cripple Rally Attack 1" || type == "Both Rally Attack 1")
|
|
{
|
|
num = 0;
|
|
}
|
|
else if (type == "Damage Rally Attack 2" || type == "Cripple Rally Attack 2" || type == "Both Rally Attack 2")
|
|
{
|
|
num = 1;
|
|
}
|
|
else if (type == "Damage Rally Attack 3" || type == "Cripple Rally Attack 3" || type == "Both Rally Attack 3")
|
|
{
|
|
num = 2;
|
|
}
|
|
else
|
|
{
|
|
num = 3;
|
|
}
|
|
if (!this.damageAttacksBtns[num].interactable && !this.cripplingAttacksBtns[num].interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type.Contains("Cripple") && !this.cripplingAttacksBtns[num].interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type.Contains("Damag") && !this.damageAttacksBtns[num].interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type.Contains("Both") && !this.damageAttacksBtns[num].interactable)
|
|
{
|
|
return;
|
|
}
|
|
if (type.Contains("Cripple") && this.HasAmmo(this.party[num], false) && (this.party[num].invRow1._MainSkill == "Elixir" || this.party[num].invRow1._MainSkill == "Sling"))
|
|
{
|
|
this.selectedAmmoImage.SetActive(false);
|
|
this.selectedRally = "";
|
|
this.canTarget = false;
|
|
if (this.ammoOpen && this.party[num] == this.selectedRallyCharacter)
|
|
{
|
|
this.CloseAmmo();
|
|
}
|
|
else
|
|
{
|
|
this.CloseAmmo();
|
|
this.ShowAmmo(num);
|
|
}
|
|
this.selectedRallyCharacter = this.party[num];
|
|
}
|
|
else
|
|
{
|
|
this.CloseAmmo();
|
|
this.selectedRallyCharacter = this.party[num];
|
|
if (type.Contains("Damage"))
|
|
{
|
|
gameObject = this.damageAttacks[num].gameObject.transform.parent.gameObject;
|
|
this.selectedRally = "Damage";
|
|
}
|
|
if (type.Contains("Both"))
|
|
{
|
|
gameObject = this.bothAttacks[num].gameObject.transform.parent.gameObject;
|
|
this.selectedRally = "Both";
|
|
}
|
|
if (type.Contains("Cripp"))
|
|
{
|
|
gameObject = this.cripplingAttacks[num].gameObject.transform.parent.gameObject;
|
|
this.selectedRally = "Wound";
|
|
}
|
|
this.selectedAmmoImage.transform.position = gameObject.transform.position;
|
|
this.selectedAmmoImage.SetActive(true);
|
|
this.selectedRallyBtn = gameObject.gameObject;
|
|
this.canTarget = true;
|
|
this.StartFade(true);
|
|
string text;
|
|
if (type.Contains("Damage"))
|
|
{
|
|
bool flag;
|
|
text = this.GetSpecialAttackText(1, gameObject, out flag);
|
|
}
|
|
else
|
|
{
|
|
bool flag2;
|
|
text = this.GetSpecialAttackText(2, gameObject, out flag2);
|
|
}
|
|
Links.x.gameplay.SetConfirmText("Select target for " + text);
|
|
}
|
|
this.SetSelectedButtonSize(false);
|
|
this.SetRallyPortraits();
|
|
Links.x.gameplay.SetDomeSize();
|
|
if (Links.x.joy)
|
|
{
|
|
Links.x.hudControl.JoyBox(false);
|
|
Links.x.gameplay.GetControllerTarget(true);
|
|
this.WaitForTargets();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012D0 RID: 4816 RVA: 0x0016D5B4 File Offset: 0x0016B7B4
|
|
private void SetSelectedButtonSize(bool small)
|
|
{
|
|
foreach (RectTransform rectTransform in this.selectedRallyRTs)
|
|
{
|
|
if (rectTransform.gameObject != this.selectedAmmoImage)
|
|
{
|
|
if (small)
|
|
{
|
|
rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, 120f);
|
|
}
|
|
else
|
|
{
|
|
rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, 180f);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012D1 RID: 4817 RVA: 0x0016D628 File Offset: 0x0016B828
|
|
private void SetRallyPortraits()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060012D2 RID: 4818 RVA: 0x0016D62C File Offset: 0x0016B82C
|
|
public void SetRallyButtons()
|
|
{
|
|
if (Links.x.fellowship.rally + Links.x.fellowship.rallyBoost >= Links.x.hudControl.rallyInterval)
|
|
{
|
|
int rallyAttackCosts = Records.x.GetRallyAttackCosts(1, this.character);
|
|
Records.x.GetRallyAttackCosts(2, this.character);
|
|
int num = 1;
|
|
if (Links.x.fellowship.rally + Links.x.fellowship.rallyBoost >= Links.x.hudControl.rallyInterval * 2f)
|
|
{
|
|
num = 2;
|
|
}
|
|
if (Links.x.fellowship.rally + Links.x.fellowship.rallyBoost >= Links.x.hudControl.rallyInterval * 3f)
|
|
{
|
|
num = 3;
|
|
}
|
|
this.SetSpecialAttackSprite();
|
|
if (rallyAttackCosts <= num)
|
|
{
|
|
this.specialBtn1.interactable = true;
|
|
this.special1Trig.noIcon = false;
|
|
this.special1.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.specialBtn1.interactable = false;
|
|
this.special1Trig.noIcon = true;
|
|
this.special1.enabled = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.specialBtn1.interactable = false;
|
|
this.special1Trig.noIcon = true;
|
|
this.special1.enabled = false;
|
|
}
|
|
this.dropSpecial1.gameObject.SetActive(this.specialBtn1.interactable);
|
|
}
|
|
|
|
// Token: 0x060012D3 RID: 4819 RVA: 0x0016D795 File Offset: 0x0016B995
|
|
public void OpenRallyWheel(bool select)
|
|
{
|
|
base.gameObject.SetActive(true);
|
|
this.rallyOpen = this.RallyOpen(select);
|
|
base.StartCoroutine(this.rallyOpen);
|
|
}
|
|
|
|
// Token: 0x060012D4 RID: 4820 RVA: 0x0016D7BD File Offset: 0x0016B9BD
|
|
private IEnumerator RallyOpen(bool select)
|
|
{
|
|
this.canvasGroup.alpha = 0f;
|
|
this.canvasGroup.interactable = false;
|
|
this.canvasGroup.blocksRaycasts = false;
|
|
this.arrow.enabled = false;
|
|
this.rallyWheelOpen = true;
|
|
Links.x.hudControl.ChangeHudVisibility(false, true);
|
|
this.selectedRallyCharacter = null;
|
|
this.selectedAmmoImage.SetActive(false);
|
|
this.selectedRally = "";
|
|
this.selected = "Special Attack 1";
|
|
this.rallyCanvasGroup.alpha = 1f;
|
|
this.rallyCanvasGroup.interactable = true;
|
|
this.rallyCanvasGroup.blocksRaycasts = true;
|
|
this.fading = false;
|
|
Links.x.gameplay.confirmText.SetActive(false);
|
|
this.ControllerMessage(false);
|
|
this.controllerWheel2.SetActive(false);
|
|
this.controllerWheel4.SetActive(false);
|
|
Links.x.partyColliderAdventure.SetTargetText(0);
|
|
this.arrow.enabled = false;
|
|
Links.x.hudControl.JoyBox(false);
|
|
this.targetSelection = false;
|
|
Links.x.gameCard.badgesCanvasGroup.interactable = false;
|
|
Links.x.gameCard.badgesCanvasGroup.alpha = 0f;
|
|
for (int i = 0; i < this.party.Count; i++)
|
|
{
|
|
Links.x.renderPortraits.FreshBlinks(this.party[i]);
|
|
}
|
|
MasterAudio.PlaySoundAndForget("Feedback", 1f, new float?(1f), 0f, "Bff_Sounds_RallyMenuOpenPortraits", null);
|
|
this.SetHoverText(false, null);
|
|
this.SetSpecialAttackSprite();
|
|
yield return new WaitForSeconds(0.1f);
|
|
Links.x.renderPortraits.FaceForward();
|
|
this.rallyWheel.SetActive(true);
|
|
if (Links.x.fellowship.rallyAttacks < 4f)
|
|
{
|
|
this.rallyWheelAnimator.Play("RallySelect");
|
|
}
|
|
else
|
|
{
|
|
this.rallyWheelAnimator.Play("RallySelectThree");
|
|
}
|
|
Links.x.gameplay.skipText.SetActive(true);
|
|
if (Links.x.joy)
|
|
{
|
|
Links.x.hudControl.ToggleControllerControls(false);
|
|
}
|
|
if (select)
|
|
{
|
|
this.selectedRally = "";
|
|
this.selectedRallyCharacter = null;
|
|
this.selectedAmmoImage.SetActive(false);
|
|
this.SetRallyPortraits();
|
|
}
|
|
else
|
|
{
|
|
this.selectedRally = "";
|
|
this.selectedRallyCharacter = null;
|
|
this.selectedAmmoImage.SetActive(false);
|
|
this.SetRallyPortraits();
|
|
}
|
|
yield return new WaitForSeconds(0.1f);
|
|
Links.x.hudControl.ScaleRallyBar(true);
|
|
this.rallyText.SetActive(true);
|
|
if (Links.x.combat.inPocketAttack)
|
|
{
|
|
this.rallyTextAnimator.Play("RallyTextAnim_RallyChain");
|
|
}
|
|
else
|
|
{
|
|
this.rallyTextAnimator.Play("RallyTextAnim_Rally");
|
|
}
|
|
if (Links.x.joy)
|
|
{
|
|
GameObject firstOpenRallyButton = this.GetFirstOpenRallyButton();
|
|
EventSystem.current.SetSelectedGameObject(firstOpenRallyButton.gameObject);
|
|
if (firstOpenRallyButton)
|
|
{
|
|
Links.x.hudControl.SetJoyBox(firstOpenRallyButton.gameObject.GetComponent<UITriggerButton>());
|
|
}
|
|
}
|
|
this.rallyOpen = null;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x060012D5 RID: 4821 RVA: 0x0016D7D4 File Offset: 0x0016B9D4
|
|
public void CloseRallyWheel(bool returnToPocket)
|
|
{
|
|
this.rallyWheel.SetActive(false);
|
|
this.rallyWheelOpen = false;
|
|
if (Links.x.joy)
|
|
{
|
|
Links.x.hudControl.ToggleControllerControls(true);
|
|
}
|
|
this.open = false;
|
|
Links.x.gameplay.skipText.SetActive(false);
|
|
Links.x.gameplay.confirmText.SetActive(false);
|
|
Links.x.renderPortraits.FaceSide();
|
|
Links.x.hudControl.ScaleRallyBar(false);
|
|
if (!Records.x.removeControls && !Links.x.combat.inPocketAttack)
|
|
{
|
|
Links.x.hudControl.ChangeHudVisibility(true, true);
|
|
}
|
|
this.rallyText.SetActive(false);
|
|
Links.x.gameCard.badgesCanvasGroup.interactable = true;
|
|
if (!Links.x.combat.inPocketAttack)
|
|
{
|
|
Links.x.gameCard.badgesCanvasGroup.alpha = 1f;
|
|
}
|
|
if (Links.x.combat.inPocketAttack)
|
|
{
|
|
returnToPocket = false;
|
|
}
|
|
else
|
|
{
|
|
this.canvasGroup.alpha = 1f;
|
|
this.canvasGroup.interactable = true;
|
|
this.canvasGroup.blocksRaycasts = true;
|
|
}
|
|
if (returnToPocket)
|
|
{
|
|
this.Open(this.character);
|
|
return;
|
|
}
|
|
this.Close(false);
|
|
}
|
|
|
|
// Token: 0x060012D6 RID: 4822 RVA: 0x0016D930 File Offset: 0x0016BB30
|
|
public void SetSpecialAttackSprite()
|
|
{
|
|
if (!this.open && !this.rallyWheelOpen)
|
|
{
|
|
return;
|
|
}
|
|
for (int i = 0; i < this.party.Count; i++)
|
|
{
|
|
Character character = this.party[i];
|
|
Library.Inventory invRow = character.invRow1;
|
|
string text = invRow._UIModel;
|
|
if (invRow._ID <= 1)
|
|
{
|
|
text = "fist";
|
|
}
|
|
Sprite item = Links.x.archives.GetItem(text);
|
|
Image image = this.damageAttacks[i];
|
|
Image image2 = this.cripplingAttacks[i];
|
|
Image image3 = this.bothAttacks[i];
|
|
Image image4 = this.damageAttacksWpns[i];
|
|
Image image5 = this.cripplingAttacksWpns[i];
|
|
Image image6 = this.bothAttacksWpns[i];
|
|
if (invRow._MainSkill == "Scepter")
|
|
{
|
|
image.sprite = this.scepterAtk1;
|
|
image2.sprite = this.scepterAtk2;
|
|
image3.sprite = this.scepterAtk3;
|
|
}
|
|
if (invRow._MainSkill == "Whip")
|
|
{
|
|
image.sprite = this.whipAtk1;
|
|
image2.sprite = this.whipAtk2;
|
|
image3.sprite = this.whipAtk3;
|
|
}
|
|
if (invRow._MainSkill == "Pole")
|
|
{
|
|
image.sprite = this.poleAtk1;
|
|
image2.sprite = this.poleAtk2;
|
|
image3.sprite = this.poleAtk3;
|
|
}
|
|
if (invRow._MainSkill == "ShortSword")
|
|
{
|
|
image.sprite = this.swordAtk1;
|
|
image2.sprite = this.swordAtk2;
|
|
image3.sprite = this.swordAtk3;
|
|
}
|
|
if (invRow._MainSkill == "Sword")
|
|
{
|
|
image.sprite = this.longSwordAtk1;
|
|
image2.sprite = this.longSwordAtk2;
|
|
image3.sprite = this.longSwordAtk3;
|
|
}
|
|
if (invRow._MainSkill == "Sling")
|
|
{
|
|
image.sprite = this.slingAtk1;
|
|
image2.sprite = this.slingAtk2;
|
|
image3.sprite = this.slingAtk3;
|
|
}
|
|
if (invRow._MainSkill == "Ax")
|
|
{
|
|
image.sprite = this.axAtk1;
|
|
image2.sprite = this.axAtk2;
|
|
image3.sprite = this.axAtk3;
|
|
}
|
|
if (invRow._MainSkill == "Bow")
|
|
{
|
|
image.sprite = this.bowAtk1;
|
|
image2.sprite = this.bowAtk2;
|
|
image3.sprite = this.bowAtk3;
|
|
}
|
|
if (invRow._MainSkill == "Elixir")
|
|
{
|
|
image.sprite = this.elyxirsAtk1;
|
|
image2.sprite = this.elyxirsAtk2;
|
|
image3.sprite = this.elyxirsAtk3;
|
|
}
|
|
if (invRow._MainSkill == "Hand-to-Hand")
|
|
{
|
|
image.sprite = this.unarmedAtk1;
|
|
image2.sprite = this.unarmedAtk2;
|
|
image3.sprite = this.unarmedAtk3;
|
|
}
|
|
this.damageAttacksPaper[i].enabled = true;
|
|
this.cripplingAttacksPaper[i].enabled = true;
|
|
this.bothAttacksPaper[i].enabled = true;
|
|
image4.sprite = item;
|
|
image5.sprite = item;
|
|
image6.sprite = item;
|
|
if (character.portrait)
|
|
{
|
|
this.rallyPortraits[i].texture = character.portrait.texturesIdle;
|
|
}
|
|
bool flag = true;
|
|
if (this.rally1)
|
|
{
|
|
flag = true;
|
|
}
|
|
if (this.CanRally(character, flag))
|
|
{
|
|
if (character.HasAmmoOrMelee(character.invRow1, false))
|
|
{
|
|
this.damageAttacksBtns[i].interactable = true;
|
|
this.bothAttacksBtns[i].interactable = true;
|
|
}
|
|
else
|
|
{
|
|
this.damageAttacksBtns[i].interactable = false;
|
|
this.bothAttacksBtns[i].interactable = false;
|
|
}
|
|
this.cripplingAttacksBtns[i].interactable = this.HasAmmo(character, false);
|
|
this.rallyPortraits[i].color = this.portraitActive;
|
|
this.rallyPortraitBorders[i].material = this.borderActive;
|
|
}
|
|
else
|
|
{
|
|
this.damageAttacksBtns[i].interactable = false;
|
|
this.cripplingAttacksBtns[i].interactable = false;
|
|
this.bothAttacksBtns[i].interactable = false;
|
|
this.rallyPortraits[i].color = this.portraitInactive;
|
|
this.rallyPortraitBorders[i].material = this.borderInactive;
|
|
}
|
|
}
|
|
if (this.party.Count < 4)
|
|
{
|
|
for (int j = this.party.Count; j < 4; j++)
|
|
{
|
|
this.damageAttacks[j].sprite = this.emptySprite;
|
|
this.cripplingAttacks[j].sprite = this.emptySprite;
|
|
this.bothAttacks[j].sprite = this.emptySprite;
|
|
this.damageAttacksWpns[j].sprite = this.emptySprite;
|
|
this.cripplingAttacksWpns[j].sprite = this.emptySprite;
|
|
this.bothAttacksWpns[j].sprite = this.emptySprite;
|
|
this.damageAttacksBtns[j].interactable = false;
|
|
this.cripplingAttacksBtns[j].interactable = false;
|
|
this.bothAttacksBtns[j].interactable = false;
|
|
this.rallyPortraits[j].color = this.portraitInactive;
|
|
this.rallyPortraitBorders[j].material = this.borderInactive;
|
|
this.rallyPortraits[j].texture = this.emptyTexture;
|
|
this.rallyPortraitBorders[j].material = this.borderInactive;
|
|
this.damageAttacksPaper[j].enabled = false;
|
|
this.cripplingAttacksPaper[j].enabled = false;
|
|
this.bothAttacksPaper[j].enabled = false;
|
|
}
|
|
if (this.party.Count == 1)
|
|
{
|
|
for (int k = 0; k < this.oneCharacter.Length; k++)
|
|
{
|
|
if (this.oneCharacter[k].activeSelf)
|
|
{
|
|
this.oneCharacter[k].SetActive(false);
|
|
}
|
|
}
|
|
}
|
|
if (this.party.Count > 1)
|
|
{
|
|
for (int l = 0; l < this.oneCharacter.Length; l++)
|
|
{
|
|
if (!this.oneCharacter[l].activeSelf)
|
|
{
|
|
this.oneCharacter[l].SetActive(true);
|
|
}
|
|
}
|
|
for (int m = 0; m < this.threeCharacters.Length; m++)
|
|
{
|
|
if (this.threeCharacters[m].activeSelf)
|
|
{
|
|
this.threeCharacters[m].SetActive(false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int n = 0; n < this.oneCharacter.Length; n++)
|
|
{
|
|
if (!this.oneCharacter[n].activeSelf)
|
|
{
|
|
this.oneCharacter[n].SetActive(true);
|
|
}
|
|
}
|
|
}
|
|
this.CloseAmmo();
|
|
}
|
|
|
|
// Token: 0x060012D7 RID: 4823 RVA: 0x0016E064 File Offset: 0x0016C264
|
|
public GameObject GetFirstOpenRallyButton()
|
|
{
|
|
for (int i = 0; i < this.party.Count; i++)
|
|
{
|
|
if (this.damageAttacksPaper[i].enabled && this.damageAttacksBtns[i].interactable)
|
|
{
|
|
return this.damageAttacksBtns[i].gameObject;
|
|
}
|
|
}
|
|
for (int j = 0; j < this.party.Count; j++)
|
|
{
|
|
if (this.cripplingAttacksPaper[j].enabled && this.cripplingAttacksBtns[j].interactable)
|
|
{
|
|
return this.cripplingAttacksBtns[j].gameObject;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x060012D8 RID: 4824 RVA: 0x0016E110 File Offset: 0x0016C310
|
|
public bool CanRally(Character c, bool lookForTargets)
|
|
{
|
|
bool flag = true;
|
|
if (!c.HasAmmoOrMelee(c.invRow1, false))
|
|
{
|
|
flag = this.HasAmmo(c, false);
|
|
}
|
|
if (!c.IsSentient() || c.stats.Confuse() != 0 || c.stats.pinned || c.fleeing || c.isHit || c.inAction || !(c != this.rally1) || !(c != this.rally2) || !flag || (this.rally1 && (!this.rally1 || Vector3.Distance(Links.x.combat.rallyStartPosition, c.currentPosition) >= 1600f || Records.x.partySailing)))
|
|
{
|
|
return false;
|
|
}
|
|
if (lookForTargets && !Links.x.combat.rallyTarget)
|
|
{
|
|
this.allCharacters = Links.x.diorama.characters;
|
|
bool flag2 = false;
|
|
if (this.rally1 && c.actions)
|
|
{
|
|
for (int i = 0; i < this.allCharacters.Count; i++)
|
|
{
|
|
if (!flag2)
|
|
{
|
|
Character character = this.allCharacters[i];
|
|
if (c.actions.ai.CanAttack(character) && !character.dead && !character.stunned)
|
|
{
|
|
if (Records.x.partySailing)
|
|
{
|
|
float num;
|
|
float num2;
|
|
float num3;
|
|
Links.x.combat.GetDistances(c, character, out num, out num2, out num3);
|
|
float sqrMagnitude = (c.currentPosition - character.currentPosition).sqrMagnitude;
|
|
if (sqrMagnitude <= num2 && sqrMagnitude >= num3)
|
|
{
|
|
if (Records.x.editor)
|
|
{
|
|
string text = ((c != null) ? c.ToString() : null);
|
|
string text2 = " ";
|
|
Character character2 = character;
|
|
Debug.Log(text + text2 + ((character2 != null) ? character2.ToString() : null));
|
|
}
|
|
flag2 = true;
|
|
break;
|
|
}
|
|
}
|
|
else if ((Links.x.combat.rallyStartPosition - character.currentPosition).sqrMagnitude < 100f)
|
|
{
|
|
flag2 = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
flag2 = true;
|
|
}
|
|
return flag2;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x060012D9 RID: 4825 RVA: 0x0016E358 File Offset: 0x0016C558
|
|
public void CloseAmmo()
|
|
{
|
|
if (Links.x.joy && this.rallyWheelOpen && this.ammoOpen && this.ammoCharacter)
|
|
{
|
|
int num = this.party.IndexOf(this.ammoCharacter);
|
|
EventSystem.current.SetSelectedGameObject(this.cripplingAttacksBtns[num].gameObject);
|
|
Links.x.hudControl.SetJoyBox(this.cripplingAttacksBtns[num].gameObject.GetComponent<UITriggerButton>());
|
|
}
|
|
this.ammoOpen = false;
|
|
for (int i = 0; i < this.usedAmmos.Count; i++)
|
|
{
|
|
this.openAmmos.Add(this.usedAmmos[i]);
|
|
this.usedAmmos[i].SetActive(false);
|
|
}
|
|
this.usedAmmos.Clear();
|
|
this.ammoCharacter = null;
|
|
for (int j = 0; j < this.grids.Count; j++)
|
|
{
|
|
this.grids[j].enabled = false;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012DA RID: 4826 RVA: 0x0016E460 File Offset: 0x0016C660
|
|
public string GetSpecialAttackText(int num, GameObject go, out bool canAttack)
|
|
{
|
|
string text = "";
|
|
int num2 = 0;
|
|
if (go.name.Contains("2"))
|
|
{
|
|
num2 = 1;
|
|
}
|
|
if (go.name.Contains("3"))
|
|
{
|
|
num2 = 2;
|
|
}
|
|
if (go.name.Contains("4"))
|
|
{
|
|
num2 = 3;
|
|
}
|
|
Library.Inventory invRow = this.party[num2].invRow1;
|
|
if (invRow._MainSkill == "Scepter")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Whack";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Breach";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Crush";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Whip")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Rip Splash";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Paralyze Snap";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Snare";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Pole")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Lunge";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Trip";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Skewer";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "ShortSword")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Strike";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Sweep";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Sweep";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Sword")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Slash";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Slash";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Slash";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Sling")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Overhead";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
if (this.HasAmmo(this.party[num2], false))
|
|
{
|
|
text = "Use Rivi-Wraps";
|
|
}
|
|
else
|
|
{
|
|
text = "Requires Rivi-Wraps";
|
|
}
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Mighty";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Ax")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Hack";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Carve";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Mighty";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Bow")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Mighty Draw";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Draw";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Pin";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Elixir")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Shaken";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
if (this.HasAmmo(this.party[num2], false))
|
|
{
|
|
text = "Use Prepared Globes";
|
|
}
|
|
else
|
|
{
|
|
text = "Requires Prepared Globes";
|
|
}
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Hard Shot";
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Hand-to-Hand")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Uppercut";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Drop Kick";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Suplex";
|
|
}
|
|
}
|
|
if (this.damageAttacksBtns[num2].interactable || this.cripplingAttacksBtns[num2].interactable)
|
|
{
|
|
canAttack = true;
|
|
return text;
|
|
}
|
|
canAttack = false;
|
|
return this.party[num2].stats.GetName() + " cannot join the rally right now";
|
|
}
|
|
|
|
// Token: 0x060012DB RID: 4827 RVA: 0x0016E72C File Offset: 0x0016C92C
|
|
public string GetSpecialAttackTextDesc(int num, GameObject go)
|
|
{
|
|
string text = "";
|
|
int num2 = 0;
|
|
if (go.name.Contains("2"))
|
|
{
|
|
num2 = 1;
|
|
}
|
|
if (go.name.Contains("3"))
|
|
{
|
|
num2 = 2;
|
|
}
|
|
if (go.name.Contains("4"))
|
|
{
|
|
num2 = 3;
|
|
}
|
|
Library.Inventory invRow = this.party[num2].invRow1;
|
|
if (invRow._MainSkill == "Scepter")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical blow that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Cripple your target's defenses.";
|
|
Library.Effects effectRow = Links.x.library.GetEffectRow("CripplingScepter");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow, (float)this.character.stats.level, 0);
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow2 = Links.x.library.GetEffectRow("CripplingScepter");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow2, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Whip")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical hit that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Cripple your target's defenses.";
|
|
Library.Effects effectRow3 = Links.x.library.GetEffectRow("CripplingWhip");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow3, (float)this.character.stats.level, 0);
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow4 = Links.x.library.GetEffectRow("CripplingWhip");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow4, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Pole")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical blow that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Cripple your target's defenses.";
|
|
Library.Effects effectRow5 = Links.x.library.GetEffectRow("CripplingPole");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow5, (float)this.character.stats.level, 0);
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow6 = Links.x.library.GetEffectRow("CripplingPole");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow6, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "ShortSword")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical slash that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Cripple your target's defenses.";
|
|
Library.Effects effectRow7 = Links.x.library.GetEffectRow("CripplingShortSword");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow7, (float)this.character.stats.level, 0);
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow8 = Links.x.library.GetEffectRow("CripplingShortSword");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow8, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Sword")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical cut that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Cripple your target's defenses.";
|
|
Library.Effects effectRow9 = Links.x.library.GetEffectRow("CripplingLongSword");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow9, (float)this.character.stats.level, 0);
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow10 = Links.x.library.GetEffectRow("CripplingLongSword");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow10, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Sling")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical blow that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Use crafted or rare slingstones stored in your bag.";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow11 = Links.x.library.GetEffectRow("CripplingSling");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow11, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Ax")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical blow that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Cripple your target's defenses.";
|
|
Library.Effects effectRow12 = Links.x.library.GetEffectRow("CripplingAx");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow12, (float)this.character.stats.level, 0);
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow13 = Links.x.library.GetEffectRow("CripplingAx");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow13, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Bow")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical shot that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Cripple your target's defenses.";
|
|
Library.Effects effectRow14 = Links.x.library.GetEffectRow("CripplingBow");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow14, (float)this.character.stats.level, 0);
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow15 = Links.x.library.GetEffectRow("CripplingBow");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow15, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Elixir")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical bomb that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Use crafted or rare elyxirs stored in your bag.";
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow16 = Links.x.library.GetEffectRow("CripplingElyxir");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow16, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
if (invRow._MainSkill == "Hand-to-Hand")
|
|
{
|
|
if (num == 1)
|
|
{
|
|
text = "Attack a target with a critical punch that deals up to 3x damage.";
|
|
}
|
|
if (num == 2)
|
|
{
|
|
text = "Cripple your target's defenses.";
|
|
Library.Effects effectRow17 = Links.x.library.GetEffectRow("CripplingUnarmed");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow17, (float)this.character.stats.level, 0);
|
|
}
|
|
if (num == 3)
|
|
{
|
|
text = "Deal heavy damage and strike your target's defenses.";
|
|
Library.Effects effectRow18 = Links.x.library.GetEffectRow("CripplingUnarmed");
|
|
text += "\n";
|
|
text += Links.x.manual.GetEffectDescription(effectRow18, (float)this.character.stats.level, 0);
|
|
}
|
|
}
|
|
return text;
|
|
}
|
|
|
|
// Token: 0x060012DC RID: 4828 RVA: 0x0016EEDC File Offset: 0x0016D0DC
|
|
public void StartFade(bool fadeOut)
|
|
{
|
|
if (fadeOut)
|
|
{
|
|
this.startDither = 0f;
|
|
this.endDither = 0.95f;
|
|
this.rallyCanvasGroup.interactable = false;
|
|
this.rallyCanvasGroup.blocksRaycasts = false;
|
|
Links.x.gameplay.confirmText.SetActive(true);
|
|
}
|
|
else
|
|
{
|
|
this.startDither = 0.95f;
|
|
this.endDither = 0f;
|
|
this.rallyCanvasGroup.interactable = true;
|
|
this.rallyCanvasGroup.blocksRaycasts = true;
|
|
this.canTarget = false;
|
|
this.selectedRally = "";
|
|
this.selectedAmmo = -1;
|
|
this.selectedRallyCharacter = null;
|
|
if (this.ammoOpen)
|
|
{
|
|
this.CloseAmmo();
|
|
}
|
|
this.selectedAmmoImage.SetActive(false);
|
|
Links.x.gameplay.confirmText.SetActive(false);
|
|
Links.x.gameplay.SetDomeSize();
|
|
if (Links.x.joy)
|
|
{
|
|
Links.x.hudControl.JoyBox(true);
|
|
if (this.prevSelectedObject && this.prevSelectedObject.activeSelf && this.prevSelectedObject.activeInHierarchy)
|
|
{
|
|
EventSystem.current.SetSelectedGameObject(this.prevSelectedObject);
|
|
}
|
|
}
|
|
}
|
|
this.currentDither = this.startDither;
|
|
this.fadeAmount = 0f;
|
|
this.fading = true;
|
|
}
|
|
|
|
// Token: 0x060012DD RID: 4829 RVA: 0x0016F034 File Offset: 0x0016D234
|
|
public void SelectAmmo(GameObject go)
|
|
{
|
|
int siblingIndex = go.transform.GetSiblingIndex();
|
|
this.selectedAmmo = this.ammos[siblingIndex];
|
|
this.selectedAmmoImage.gameObject.transform.position = go.transform.position;
|
|
this.selectedAmmoImage.SetActive(true);
|
|
this.selectedRallyBtn = go.gameObject;
|
|
this.canTarget = true;
|
|
GameObject gameObject = go.transform.parent.gameObject.transform.parent.gameObject;
|
|
int num = 0;
|
|
this.selectedRally = "Cripple Rally Attack 1";
|
|
if (gameObject.name.Contains("2"))
|
|
{
|
|
num = 1;
|
|
this.selectedRally = "Cripple Rally Attack 2";
|
|
}
|
|
if (gameObject.name.Contains("3"))
|
|
{
|
|
num = 2;
|
|
this.selectedRally = "Cripple Rally Attack 3";
|
|
}
|
|
if (gameObject.name.Contains("4"))
|
|
{
|
|
num = 3;
|
|
this.selectedRally = "Cripple Rally Attack 4";
|
|
}
|
|
this.selectedRallyCharacter = this.party[num];
|
|
Library.Inventory invRow = Links.x.library.GetInvRow(this.ammos[siblingIndex]);
|
|
Links.x.gameplay.SetConfirmText("Select target for " + invRow._DisplayName);
|
|
this.SetSelectedButtonSize(true);
|
|
this.StartFade(true);
|
|
Links.x.gameplay.SetDomeSize();
|
|
if (Links.x.joy)
|
|
{
|
|
Links.x.hudControl.JoyBox(false);
|
|
Links.x.gameplay.GetControllerTarget(true);
|
|
this.WaitForTargets();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012DE RID: 4830 RVA: 0x0016F1C2 File Offset: 0x0016D3C2
|
|
public int GetSelectedAmmoID()
|
|
{
|
|
return this.selectedAmmo;
|
|
}
|
|
|
|
// Token: 0x060012DF RID: 4831 RVA: 0x0016F1CA File Offset: 0x0016D3CA
|
|
public bool CanSelectRallyTarget()
|
|
{
|
|
if (this.selectedRallyCharacter != null && this.selectedRally != "")
|
|
{
|
|
if (!this.ammoOpen)
|
|
{
|
|
return true;
|
|
}
|
|
if (this.selectedAmmo != -1)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x060012E0 RID: 4832 RVA: 0x0016F204 File Offset: 0x0016D404
|
|
public void ShowAmmo(int index)
|
|
{
|
|
Character character = this.party[index];
|
|
if (this.HasAmmo(character, false) && (character.invRow1._MainSkill == "Elixir" || character.invRow1._MainSkill == "Sling"))
|
|
{
|
|
this.ammoOpen = true;
|
|
this.ammoCharacter = character;
|
|
this.targetSelection = false;
|
|
this.canTarget = false;
|
|
bool flag = false;
|
|
bool flag2 = false;
|
|
this.ammos.Clear();
|
|
this.ammoCounts.Clear();
|
|
if (character.invRow1._MainSkill == "Elixir")
|
|
{
|
|
flag = true;
|
|
}
|
|
if (character.invRow1._MainSkill == "Sling")
|
|
{
|
|
flag2 = true;
|
|
}
|
|
if (flag || flag2)
|
|
{
|
|
this.bag = character.bag;
|
|
for (int i = 0; i < this.bag.Count; i++)
|
|
{
|
|
if (i % 2 == 0)
|
|
{
|
|
if (flag2 && this.bag[i] > Links.x.library.dartsMin && this.bag[i] <= Links.x.library.dartsMax)
|
|
{
|
|
int num = this.bag[i + 1];
|
|
if (!this.ammos.Contains(this.bag[i]))
|
|
{
|
|
this.ammos.Add(this.bag[i]);
|
|
this.ammoCounts.Add(num);
|
|
}
|
|
}
|
|
if (flag && this.bag[i] > Links.x.library.vialsMin + 1 && this.bag[i] <= Links.x.library.vialsMax)
|
|
{
|
|
int num2 = this.bag[i + 1];
|
|
if (!this.ammos.Contains(this.bag[i]))
|
|
{
|
|
this.ammos.Add(this.bag[i]);
|
|
this.ammoCounts.Add(num2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.grids[index].enabled = false;
|
|
for (int j = 0; j < this.ammos.Count; j++)
|
|
{
|
|
GameObject gameObject;
|
|
if (this.openAmmos.Count > 0)
|
|
{
|
|
gameObject = this.openAmmos[0];
|
|
gameObject.transform.SetParent(this.ammoGrids[index].transform);
|
|
this.openAmmos.RemoveAt(0);
|
|
}
|
|
else
|
|
{
|
|
gameObject = Object.Instantiate<GameObject>(this.ammoPrefab, Vector3.zero, Quaternion.identity, this.ammoGrids[index].transform);
|
|
}
|
|
gameObject.name = "Rare Ammo " + j.ToString();
|
|
this.usedAmmos.Add(gameObject);
|
|
gameObject.SetActive(true);
|
|
gameObject.transform.localScale = Vector3.one;
|
|
gameObject.transform.localPosition = Vector3.zero;
|
|
gameObject.transform.localRotation = Quaternion.Euler(Vector3.zero);
|
|
Library.Inventory invRow = Links.x.library.GetInvRow(this.ammos[j]);
|
|
gameObject.transform.GetChild(0).gameObject.GetComponent<Image>().sprite = Links.x.archives.GetItem(invRow._UIModel);
|
|
gameObject.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = this.ammoCounts[j].ToString();
|
|
}
|
|
this.grids[index].enabled = true;
|
|
if (Links.x.joy)
|
|
{
|
|
EventSystem.current.SetSelectedGameObject(this.usedAmmos[0].gameObject);
|
|
Links.x.hudControl.SetJoyBox(this.usedAmmos[0].gameObject.GetComponent<UITriggerButton>());
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.CloseAmmo();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060012E1 RID: 4833 RVA: 0x0016F608 File Offset: 0x0016D808
|
|
private IEnumerator RefreshLayout(GridLayoutGroup layout)
|
|
{
|
|
yield return new WaitForFixedUpdate();
|
|
layout.enabled = false;
|
|
layout.enabled = true;
|
|
if (this.ammos.Count > 0)
|
|
{
|
|
this.SelectAmmo(this.usedAmmos[0]);
|
|
}
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x060012E2 RID: 4834 RVA: 0x0016F620 File Offset: 0x0016D820
|
|
public bool HasAmmo(Character c, bool all)
|
|
{
|
|
bool flag = false;
|
|
bool flag2 = false;
|
|
if (c.invRow1._MainSkill == "Elixir")
|
|
{
|
|
flag = true;
|
|
}
|
|
if (c.invRow1._MainSkill == "Sling")
|
|
{
|
|
flag2 = true;
|
|
}
|
|
if (flag || flag2)
|
|
{
|
|
this.bag = c.bag;
|
|
for (int i = 0; i < this.bag.Count; i++)
|
|
{
|
|
if (i % 2 == 0)
|
|
{
|
|
if (flag2)
|
|
{
|
|
if (all)
|
|
{
|
|
if (this.bag[i] >= Links.x.library.dartsMin && this.bag[i] <= Links.x.library.dartsMax)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else if (this.bag[i] > Links.x.library.dartsMin && this.bag[i] <= Links.x.library.dartsMax)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
if (flag)
|
|
{
|
|
if (all)
|
|
{
|
|
if (this.bag[i] >= Links.x.library.vialsMin && this.bag[i] <= Links.x.library.vialsMax)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else if (this.bag[i] > Links.x.library.vialsMin + 1 && this.bag[i] <= Links.x.library.vialsMax)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x060012E3 RID: 4835 RVA: 0x0016F79C File Offset: 0x0016D99C
|
|
public string GetSpecialAttackTextAmmo(string type)
|
|
{
|
|
int num = 0;
|
|
this.str.Clear();
|
|
if (type == "Rare Ammo 1")
|
|
{
|
|
num = 1;
|
|
}
|
|
if (type == "Rare Ammo 2")
|
|
{
|
|
num = 2;
|
|
}
|
|
if (type == "Rare Ammo 3")
|
|
{
|
|
num = 3;
|
|
}
|
|
if (type == "Rare Ammo 4")
|
|
{
|
|
num = 4;
|
|
}
|
|
if (type == "Rare Ammo 5")
|
|
{
|
|
num = 5;
|
|
}
|
|
if (type == "Rare Ammo 6")
|
|
{
|
|
num = 6;
|
|
}
|
|
if (type == "Rare Ammo 7")
|
|
{
|
|
num = 7;
|
|
}
|
|
if (type == "Rare Ammo 8")
|
|
{
|
|
num = 8;
|
|
}
|
|
if (type == "Rare Ammo 9")
|
|
{
|
|
num = 9;
|
|
}
|
|
return Links.x.library.GetInvRow(this.ammos[num])._DisplayName;
|
|
}
|
|
|
|
// Token: 0x060012E4 RID: 4836 RVA: 0x0016F860 File Offset: 0x0016DA60
|
|
public string GetSpecialAttackTextDescAmmo(string type)
|
|
{
|
|
int num = 0;
|
|
this.str.Clear();
|
|
if (type == "Rare Ammo 1")
|
|
{
|
|
num = 1;
|
|
}
|
|
if (type == "Rare Ammo 2")
|
|
{
|
|
num = 2;
|
|
}
|
|
if (type == "Rare Ammo 3")
|
|
{
|
|
num = 3;
|
|
}
|
|
if (type == "Rare Ammo 4")
|
|
{
|
|
num = 4;
|
|
}
|
|
if (type == "Rare Ammo 5")
|
|
{
|
|
num = 5;
|
|
}
|
|
if (type == "Rare Ammo 6")
|
|
{
|
|
num = 6;
|
|
}
|
|
if (type == "Rare Ammo 7")
|
|
{
|
|
num = 7;
|
|
}
|
|
if (type == "Rare Ammo 8")
|
|
{
|
|
num = 8;
|
|
}
|
|
if (type == "Rare Ammo 9")
|
|
{
|
|
num = 9;
|
|
}
|
|
Library.Inventory invRow = Links.x.library.GetInvRow(this.ammos[num]);
|
|
if (invRow._Effect != "")
|
|
{
|
|
Library.Effects effectRow = Links.x.library.GetEffectRow(invRow._Effect);
|
|
if (effectRow != null)
|
|
{
|
|
string effectDescription = Links.x.manual.GetEffectDescription(effectRow, (float)this.character.stats.level, 0);
|
|
this.str.Append("Damage: ");
|
|
this.str.Append(invRow._DmgMax);
|
|
this.str.Append("\nArea of Effect: ");
|
|
float num2 = this.character.stats.R1(5f + this.character.stats.MultiHitMod());
|
|
this.str.Append(num2);
|
|
this.str.Append(" poles");
|
|
if (invRow._Name.Contains("Dart"))
|
|
{
|
|
this.str.Append("\n\nStone Effects: ");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("\n\nElyxir Effects: ");
|
|
}
|
|
this.str.Append(effectDescription);
|
|
}
|
|
}
|
|
return this.str.ToString();
|
|
}
|
|
|
|
// Token: 0x04001EE4 RID: 7908
|
|
public bool open;
|
|
|
|
// Token: 0x04001EE5 RID: 7909
|
|
public bool halfOpen;
|
|
|
|
// Token: 0x04001EE6 RID: 7910
|
|
public bool targetSelection;
|
|
|
|
// Token: 0x04001EE7 RID: 7911
|
|
public bool joyOpen;
|
|
|
|
// Token: 0x04001EE8 RID: 7912
|
|
public Animator animator;
|
|
|
|
// Token: 0x04001EE9 RID: 7913
|
|
public GameObject spellsGo;
|
|
|
|
// Token: 0x04001EEA RID: 7914
|
|
public GameObject items1Go;
|
|
|
|
// Token: 0x04001EEB RID: 7915
|
|
public GameObject items2Go;
|
|
|
|
// Token: 0x04001EEC RID: 7916
|
|
public GameObject items3Go;
|
|
|
|
// Token: 0x04001EED RID: 7917
|
|
public GameObject specialGo;
|
|
|
|
// Token: 0x04001EEE RID: 7918
|
|
public Image selectedLightAtk;
|
|
|
|
// Token: 0x04001EEF RID: 7919
|
|
public Image selectedMediumAtk;
|
|
|
|
// Token: 0x04001EF0 RID: 7920
|
|
public Image selectedHeavyAtk;
|
|
|
|
// Token: 0x04001EF1 RID: 7921
|
|
public Image selectedSpells;
|
|
|
|
// Token: 0x04001EF2 RID: 7922
|
|
public Image selectedSongs;
|
|
|
|
// Token: 0x04001EF3 RID: 7923
|
|
public Image selectedCharm;
|
|
|
|
// Token: 0x04001EF4 RID: 7924
|
|
public Image selectedItem1;
|
|
|
|
// Token: 0x04001EF5 RID: 7925
|
|
public Image selectedItem2;
|
|
|
|
// Token: 0x04001EF6 RID: 7926
|
|
public Image selectedItem3;
|
|
|
|
// Token: 0x04001EF7 RID: 7927
|
|
public Image selectedShout;
|
|
|
|
// Token: 0x04001EF8 RID: 7928
|
|
public Image selectedSneak;
|
|
|
|
// Token: 0x04001EF9 RID: 7929
|
|
public Image selectedSpecial1;
|
|
|
|
// Token: 0x04001EFA RID: 7930
|
|
public Image dropItem1;
|
|
|
|
// Token: 0x04001EFB RID: 7931
|
|
public Image dropItem2;
|
|
|
|
// Token: 0x04001EFC RID: 7932
|
|
public Image dropItem3;
|
|
|
|
// Token: 0x04001EFD RID: 7933
|
|
public Image dropSpecial1;
|
|
|
|
// Token: 0x04001EFE RID: 7934
|
|
public Image dropSpecial2;
|
|
|
|
// Token: 0x04001EFF RID: 7935
|
|
public Image lightAtk;
|
|
|
|
// Token: 0x04001F00 RID: 7936
|
|
public Image mediumAtk;
|
|
|
|
// Token: 0x04001F01 RID: 7937
|
|
public Image heavyAtk;
|
|
|
|
// Token: 0x04001F02 RID: 7938
|
|
public Image spells;
|
|
|
|
// Token: 0x04001F03 RID: 7939
|
|
public Image songs;
|
|
|
|
// Token: 0x04001F04 RID: 7940
|
|
public Image charm;
|
|
|
|
// Token: 0x04001F05 RID: 7941
|
|
public Image item1;
|
|
|
|
// Token: 0x04001F06 RID: 7942
|
|
public Image item2;
|
|
|
|
// Token: 0x04001F07 RID: 7943
|
|
public Image item3;
|
|
|
|
// Token: 0x04001F08 RID: 7944
|
|
public Image special1;
|
|
|
|
// Token: 0x04001F09 RID: 7945
|
|
public Image item1back;
|
|
|
|
// Token: 0x04001F0A RID: 7946
|
|
public Image item2back;
|
|
|
|
// Token: 0x04001F0B RID: 7947
|
|
public Image item3back;
|
|
|
|
// Token: 0x04001F0C RID: 7948
|
|
public Button spellsBtn;
|
|
|
|
// Token: 0x04001F0D RID: 7949
|
|
public Button songsBtn;
|
|
|
|
// Token: 0x04001F0E RID: 7950
|
|
public Button item1Btn;
|
|
|
|
// Token: 0x04001F0F RID: 7951
|
|
public Button item2Btn;
|
|
|
|
// Token: 0x04001F10 RID: 7952
|
|
public Button item3Btn;
|
|
|
|
// Token: 0x04001F11 RID: 7953
|
|
public Button lightAtkBtn;
|
|
|
|
// Token: 0x04001F12 RID: 7954
|
|
public Button mediumAtkBtn;
|
|
|
|
// Token: 0x04001F13 RID: 7955
|
|
public Button heavyAtkBtn;
|
|
|
|
// Token: 0x04001F14 RID: 7956
|
|
public Button charmBtn;
|
|
|
|
// Token: 0x04001F15 RID: 7957
|
|
public Button shoutBtn;
|
|
|
|
// Token: 0x04001F16 RID: 7958
|
|
public Button sneakBtn;
|
|
|
|
// Token: 0x04001F17 RID: 7959
|
|
public Button specialBtn1;
|
|
|
|
// Token: 0x04001F18 RID: 7960
|
|
public UITriggerButton lightTrig;
|
|
|
|
// Token: 0x04001F19 RID: 7961
|
|
public UITriggerButton mediumTrig;
|
|
|
|
// Token: 0x04001F1A RID: 7962
|
|
public UITriggerButton heavyTrig;
|
|
|
|
// Token: 0x04001F1B RID: 7963
|
|
public UITriggerButton special1Trig;
|
|
|
|
// Token: 0x04001F1C RID: 7964
|
|
public UITriggerButton charmTrig;
|
|
|
|
// Token: 0x04001F1D RID: 7965
|
|
public UITriggerButton sneakTrig;
|
|
|
|
// Token: 0x04001F1E RID: 7966
|
|
public UITriggerButton talkTrig;
|
|
|
|
// Token: 0x04001F1F RID: 7967
|
|
public UITriggerButton item1Trig;
|
|
|
|
// Token: 0x04001F20 RID: 7968
|
|
public UITriggerButton item2Trig;
|
|
|
|
// Token: 0x04001F21 RID: 7969
|
|
public UITriggerButton item3Trig;
|
|
|
|
// Token: 0x04001F22 RID: 7970
|
|
public UITriggerButton spellTrig;
|
|
|
|
// Token: 0x04001F23 RID: 7971
|
|
public TextMeshProUGUI attackKey;
|
|
|
|
// Token: 0x04001F24 RID: 7972
|
|
public TextMeshProUGUI pinKey;
|
|
|
|
// Token: 0x04001F25 RID: 7973
|
|
public TextMeshProUGUI chargeKey;
|
|
|
|
// Token: 0x04001F26 RID: 7974
|
|
public TextMeshProUGUI rallyKey;
|
|
|
|
// Token: 0x04001F27 RID: 7975
|
|
public TextMeshProUGUI spellsKey;
|
|
|
|
// Token: 0x04001F28 RID: 7976
|
|
public TextMeshProUGUI sneakKey;
|
|
|
|
// Token: 0x04001F29 RID: 7977
|
|
public TextMeshProUGUI talkKey;
|
|
|
|
// Token: 0x04001F2A RID: 7978
|
|
public TextMeshProUGUI item1Key;
|
|
|
|
// Token: 0x04001F2B RID: 7979
|
|
public TextMeshProUGUI item2Key;
|
|
|
|
// Token: 0x04001F2C RID: 7980
|
|
public TextMeshProUGUI item3key;
|
|
|
|
// Token: 0x04001F2D RID: 7981
|
|
public Pointer attackPointer;
|
|
|
|
// Token: 0x04001F2E RID: 7982
|
|
public Pointer pinPointer;
|
|
|
|
// Token: 0x04001F2F RID: 7983
|
|
public Pointer chargePointer;
|
|
|
|
// Token: 0x04001F30 RID: 7984
|
|
public Pointer rallyPointer;
|
|
|
|
// Token: 0x04001F31 RID: 7985
|
|
public Pointer spellsPointer;
|
|
|
|
// Token: 0x04001F32 RID: 7986
|
|
public Pointer sneakPointer;
|
|
|
|
// Token: 0x04001F33 RID: 7987
|
|
public Pointer talkPointer;
|
|
|
|
// Token: 0x04001F34 RID: 7988
|
|
public Pointer item1Pointer;
|
|
|
|
// Token: 0x04001F35 RID: 7989
|
|
public Pointer item2Pointer;
|
|
|
|
// Token: 0x04001F36 RID: 7990
|
|
public Pointer item3Pointer;
|
|
|
|
// Token: 0x04001F37 RID: 7991
|
|
public Sprite swordAtk1;
|
|
|
|
// Token: 0x04001F38 RID: 7992
|
|
public Sprite swordAtk2;
|
|
|
|
// Token: 0x04001F39 RID: 7993
|
|
public Sprite swordAtk3;
|
|
|
|
// Token: 0x04001F3A RID: 7994
|
|
public Sprite longSwordAtk1;
|
|
|
|
// Token: 0x04001F3B RID: 7995
|
|
public Sprite longSwordAtk2;
|
|
|
|
// Token: 0x04001F3C RID: 7996
|
|
public Sprite longSwordAtk3;
|
|
|
|
// Token: 0x04001F3D RID: 7997
|
|
public Sprite axAtk1;
|
|
|
|
// Token: 0x04001F3E RID: 7998
|
|
public Sprite axAtk2;
|
|
|
|
// Token: 0x04001F3F RID: 7999
|
|
public Sprite axAtk3;
|
|
|
|
// Token: 0x04001F40 RID: 8000
|
|
public Sprite poleAtk1;
|
|
|
|
// Token: 0x04001F41 RID: 8001
|
|
public Sprite poleAtk2;
|
|
|
|
// Token: 0x04001F42 RID: 8002
|
|
public Sprite poleAtk3;
|
|
|
|
// Token: 0x04001F43 RID: 8003
|
|
public Sprite whipAtk1;
|
|
|
|
// Token: 0x04001F44 RID: 8004
|
|
public Sprite whipAtk2;
|
|
|
|
// Token: 0x04001F45 RID: 8005
|
|
public Sprite whipAtk3;
|
|
|
|
// Token: 0x04001F46 RID: 8006
|
|
public Sprite scepterAtk1;
|
|
|
|
// Token: 0x04001F47 RID: 8007
|
|
public Sprite scepterAtk2;
|
|
|
|
// Token: 0x04001F48 RID: 8008
|
|
public Sprite scepterAtk3;
|
|
|
|
// Token: 0x04001F49 RID: 8009
|
|
public Sprite unarmedAtk1;
|
|
|
|
// Token: 0x04001F4A RID: 8010
|
|
public Sprite unarmedAtk2;
|
|
|
|
// Token: 0x04001F4B RID: 8011
|
|
public Sprite unarmedAtk3;
|
|
|
|
// Token: 0x04001F4C RID: 8012
|
|
public Sprite multiHandAtk1;
|
|
|
|
// Token: 0x04001F4D RID: 8013
|
|
public Sprite multiHandAtk2;
|
|
|
|
// Token: 0x04001F4E RID: 8014
|
|
public Sprite multiHandAtk3;
|
|
|
|
// Token: 0x04001F4F RID: 8015
|
|
public Sprite slingAtk1;
|
|
|
|
// Token: 0x04001F50 RID: 8016
|
|
public Sprite slingAtk2;
|
|
|
|
// Token: 0x04001F51 RID: 8017
|
|
public Sprite slingAtk3;
|
|
|
|
// Token: 0x04001F52 RID: 8018
|
|
public Sprite bowAtk1;
|
|
|
|
// Token: 0x04001F53 RID: 8019
|
|
public Sprite bowAtk2;
|
|
|
|
// Token: 0x04001F54 RID: 8020
|
|
public Sprite bowAtk3;
|
|
|
|
// Token: 0x04001F55 RID: 8021
|
|
public Sprite elyxirsAtk1;
|
|
|
|
// Token: 0x04001F56 RID: 8022
|
|
public Sprite elyxirsAtk2;
|
|
|
|
// Token: 0x04001F57 RID: 8023
|
|
public Sprite elyxirsAtk3;
|
|
|
|
// Token: 0x04001F58 RID: 8024
|
|
public Windows window;
|
|
|
|
// Token: 0x04001F59 RID: 8025
|
|
public Windows spellbookWindow;
|
|
|
|
// Token: 0x04001F5A RID: 8026
|
|
public Button spellbookTop;
|
|
|
|
// Token: 0x04001F5B RID: 8027
|
|
public TextMeshProUGUI closeSpellbook;
|
|
|
|
// Token: 0x04001F5C RID: 8028
|
|
private IEnumerator closeRoutine;
|
|
|
|
// Token: 0x04001F5D RID: 8029
|
|
private IEnumerator openRoutine;
|
|
|
|
// Token: 0x04001F5E RID: 8030
|
|
public TextMeshProUGUI hoverField;
|
|
|
|
// Token: 0x04001F5F RID: 8031
|
|
public TextMeshProUGUI hoverFieldRally;
|
|
|
|
// Token: 0x04001F60 RID: 8032
|
|
public TextMeshProUGUI item1stack;
|
|
|
|
// Token: 0x04001F61 RID: 8033
|
|
public TextMeshProUGUI item2stack;
|
|
|
|
// Token: 0x04001F62 RID: 8034
|
|
public TextMeshProUGUI item3stack;
|
|
|
|
// Token: 0x04001F63 RID: 8035
|
|
public RectTransform hoverFieldRT;
|
|
|
|
// Token: 0x04001F64 RID: 8036
|
|
public Character character;
|
|
|
|
// Token: 0x04001F65 RID: 8037
|
|
public SkillBag skillBag;
|
|
|
|
// Token: 0x04001F66 RID: 8038
|
|
public string selected = "";
|
|
|
|
// Token: 0x04001F67 RID: 8039
|
|
private StringFast str = new StringFast(32);
|
|
|
|
// Token: 0x04001F68 RID: 8040
|
|
public Material hasBook;
|
|
|
|
// Token: 0x04001F69 RID: 8041
|
|
public Material noBook;
|
|
|
|
// Token: 0x04001F6A RID: 8042
|
|
public GameObject spellbook;
|
|
|
|
// Token: 0x04001F6B RID: 8043
|
|
public Character c1;
|
|
|
|
// Token: 0x04001F6C RID: 8044
|
|
public Character c2;
|
|
|
|
// Token: 0x04001F6D RID: 8045
|
|
public Character c3;
|
|
|
|
// Token: 0x04001F6E RID: 8046
|
|
public Character c4;
|
|
|
|
// Token: 0x04001F6F RID: 8047
|
|
public string selected1 = "Light Attack";
|
|
|
|
// Token: 0x04001F70 RID: 8048
|
|
public string selected2 = "Light Attack";
|
|
|
|
// Token: 0x04001F71 RID: 8049
|
|
public string selected3 = "Light Attack";
|
|
|
|
// Token: 0x04001F72 RID: 8050
|
|
public string selected4 = "Light Attack";
|
|
|
|
// Token: 0x04001F73 RID: 8051
|
|
public CanvasGroup canvasGroup;
|
|
|
|
// Token: 0x04001F74 RID: 8052
|
|
public Image arrow;
|
|
|
|
// Token: 0x04001F75 RID: 8053
|
|
private float prevAngle;
|
|
|
|
// Token: 0x04001F76 RID: 8054
|
|
private float timeSinceOpen;
|
|
|
|
// Token: 0x04001F77 RID: 8055
|
|
public GameObject controllerWheel1;
|
|
|
|
// Token: 0x04001F78 RID: 8056
|
|
public GameObject controllerWheel2;
|
|
|
|
// Token: 0x04001F79 RID: 8057
|
|
public GameObject controllerWheel4;
|
|
|
|
// Token: 0x04001F7A RID: 8058
|
|
public Sprite doGroup;
|
|
|
|
// Token: 0x04001F7B RID: 8059
|
|
public Sprite breakGroup;
|
|
|
|
// Token: 0x04001F7C RID: 8060
|
|
public GridLayoutGroup glg;
|
|
|
|
// Token: 0x04001F7D RID: 8061
|
|
public bool ammoOpen;
|
|
|
|
// Token: 0x04001F7E RID: 8062
|
|
private List<int> bag;
|
|
|
|
// Token: 0x04001F7F RID: 8063
|
|
private List<int> ammos = new List<int>();
|
|
|
|
// Token: 0x04001F80 RID: 8064
|
|
private List<int> ammoCounts = new List<int>();
|
|
|
|
// Token: 0x04001F81 RID: 8065
|
|
public int selectedAmmo;
|
|
|
|
// Token: 0x04001F82 RID: 8066
|
|
public GameObject selectedAmmoImage;
|
|
|
|
// Token: 0x04001F83 RID: 8067
|
|
private GameObject selectedRallyBtn;
|
|
|
|
// Token: 0x04001F84 RID: 8068
|
|
private RectTransform[] selectedRallyRTs;
|
|
|
|
// Token: 0x04001F85 RID: 8069
|
|
public Vector3 hoverPositionJoy;
|
|
|
|
// Token: 0x04001F86 RID: 8070
|
|
public Vector3 hoverPositionMK;
|
|
|
|
// Token: 0x04001F87 RID: 8071
|
|
private float lastChange;
|
|
|
|
// Token: 0x04001F88 RID: 8072
|
|
[Header("Rally")]
|
|
public GameObject rallyWheel;
|
|
|
|
// Token: 0x04001F89 RID: 8073
|
|
public GameObject rallyText;
|
|
|
|
// Token: 0x04001F8A RID: 8074
|
|
public bool rallyWheelOpen;
|
|
|
|
// Token: 0x04001F8B RID: 8075
|
|
public List<Image> damageAttacksPaper = new List<Image>();
|
|
|
|
// Token: 0x04001F8C RID: 8076
|
|
public List<Image> cripplingAttacksPaper = new List<Image>();
|
|
|
|
// Token: 0x04001F8D RID: 8077
|
|
public List<Image> bothAttacksPaper = new List<Image>();
|
|
|
|
// Token: 0x04001F8E RID: 8078
|
|
public List<Image> damageAttacks = new List<Image>();
|
|
|
|
// Token: 0x04001F8F RID: 8079
|
|
public List<Image> cripplingAttacks = new List<Image>();
|
|
|
|
// Token: 0x04001F90 RID: 8080
|
|
public List<Image> bothAttacks = new List<Image>();
|
|
|
|
// Token: 0x04001F91 RID: 8081
|
|
public List<Image> damageAttacksWpns = new List<Image>();
|
|
|
|
// Token: 0x04001F92 RID: 8082
|
|
public List<Image> cripplingAttacksWpns = new List<Image>();
|
|
|
|
// Token: 0x04001F93 RID: 8083
|
|
public List<Image> bothAttacksWpns = new List<Image>();
|
|
|
|
// Token: 0x04001F94 RID: 8084
|
|
public List<Button> damageAttacksBtns = new List<Button>();
|
|
|
|
// Token: 0x04001F95 RID: 8085
|
|
public List<Button> cripplingAttacksBtns = new List<Button>();
|
|
|
|
// Token: 0x04001F96 RID: 8086
|
|
public List<Button> bothAttacksBtns = new List<Button>();
|
|
|
|
// Token: 0x04001F97 RID: 8087
|
|
public List<RawImage> rallyPortraits = new List<RawImage>();
|
|
|
|
// Token: 0x04001F98 RID: 8088
|
|
public List<Image> rallyPortraitBorders = new List<Image>();
|
|
|
|
// Token: 0x04001F99 RID: 8089
|
|
public List<GridLayoutGroup> grids = new List<GridLayoutGroup>();
|
|
|
|
// Token: 0x04001F9A RID: 8090
|
|
public List<GameObject> ammoGrids = new List<GameObject>();
|
|
|
|
// Token: 0x04001F9B RID: 8091
|
|
public List<int> ammoRotation = new List<int>();
|
|
|
|
// Token: 0x04001F9C RID: 8092
|
|
public List<GameObject> openAmmos = new List<GameObject>();
|
|
|
|
// Token: 0x04001F9D RID: 8093
|
|
public List<GameObject> usedAmmos = new List<GameObject>();
|
|
|
|
// Token: 0x04001F9E RID: 8094
|
|
private List<Character> portraitOrder;
|
|
|
|
// Token: 0x04001F9F RID: 8095
|
|
private List<Character> party = new List<Character>();
|
|
|
|
// Token: 0x04001FA0 RID: 8096
|
|
private IEnumerator rallyOpen;
|
|
|
|
// Token: 0x04001FA1 RID: 8097
|
|
public Animator rallyWheelAnimator;
|
|
|
|
// Token: 0x04001FA2 RID: 8098
|
|
public Animator rallyTextAnimator;
|
|
|
|
// Token: 0x04001FA3 RID: 8099
|
|
public GameObject ammoPrefab;
|
|
|
|
// Token: 0x04001FA4 RID: 8100
|
|
public Character selectedRallyCharacter;
|
|
|
|
// Token: 0x04001FA5 RID: 8101
|
|
public Character rally1;
|
|
|
|
// Token: 0x04001FA6 RID: 8102
|
|
public Character rally2;
|
|
|
|
// Token: 0x04001FA7 RID: 8103
|
|
public string selectedRally;
|
|
|
|
// Token: 0x04001FA8 RID: 8104
|
|
public Texture emptyTexture;
|
|
|
|
// Token: 0x04001FA9 RID: 8105
|
|
public Sprite emptySprite;
|
|
|
|
// Token: 0x04001FAA RID: 8106
|
|
public bool canTarget;
|
|
|
|
// Token: 0x04001FAB RID: 8107
|
|
public Material borderActive;
|
|
|
|
// Token: 0x04001FAC RID: 8108
|
|
public Material borderInactive;
|
|
|
|
// Token: 0x04001FAD RID: 8109
|
|
public Color portraitActive;
|
|
|
|
// Token: 0x04001FAE RID: 8110
|
|
public Color portraitInactive;
|
|
|
|
// Token: 0x04001FAF RID: 8111
|
|
public float currentDither;
|
|
|
|
// Token: 0x04001FB0 RID: 8112
|
|
private float startDither;
|
|
|
|
// Token: 0x04001FB1 RID: 8113
|
|
private float endDither;
|
|
|
|
// Token: 0x04001FB2 RID: 8114
|
|
private float fadeAmount;
|
|
|
|
// Token: 0x04001FB3 RID: 8115
|
|
public bool fading;
|
|
|
|
// Token: 0x04001FB4 RID: 8116
|
|
private Character ammoCharacter;
|
|
|
|
// Token: 0x04001FB5 RID: 8117
|
|
public CanvasGroup rallyCanvasGroup;
|
|
|
|
// Token: 0x04001FB6 RID: 8118
|
|
private GameObject prevSelectedObject;
|
|
|
|
// Token: 0x04001FB7 RID: 8119
|
|
private List<Character> allCharacters;
|
|
|
|
// Token: 0x04001FB8 RID: 8120
|
|
public GameObject[] oneCharacter;
|
|
|
|
// Token: 0x04001FB9 RID: 8121
|
|
public GameObject[] threeCharacters;
|
|
|
|
// Token: 0x04001FBA RID: 8122
|
|
public GameObject[] fourCharacters;
|
|
}
|