Files
BepInEx/Projects/BanquetForFools/Source/Assembly-CSharp/QuestEnd.cs
2025-05-21 20:40:04 +02:00

1234 lines
31 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Kino;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
// Token: 0x02000046 RID: 70
public class QuestEnd : MonoBehaviour
{
// Token: 0x060008AE RID: 2222 RVA: 0x000BC952 File Offset: 0x000BAB52
private void Start()
{
this.TurnOff();
}
// Token: 0x060008AF RID: 2223 RVA: 0x000BC95A File Offset: 0x000BAB5A
public void QuestEnded(string questName)
{
base.StartCoroutine(this.QuestEnding(questName));
}
// Token: 0x060008B0 RID: 2224 RVA: 0x000BC96A File Offset: 0x000BAB6A
private IEnumerator QuestEnding(string questName)
{
this.on = true;
while (!Links.x.main)
{
yield return null;
}
while (!Links.x.gaia.sceneLoaded)
{
yield return null;
}
while (this.CannotOpen())
{
yield return null;
}
this.canvas.alpha = 0f;
this.canvas.gameObject.SetActive(true);
this.textAnimator.gameObject.SetActive(false);
Links.x.gameplay.TogglePause(false);
Records.x.RemoveControls(true);
Records.x.SetTypingState(true);
this.skipText.enabled = false;
this.clickCount = 0;
this.cam.GetComponent<Bokeh>().enabled = false;
this.Recycle();
this.currentParty.Clear();
this.feedAnimator.Play("QuestEndFeed");
if (Links.x.options.graphicsQuality >= 1)
{
this.l.shadows = LightShadows.Hard;
}
else
{
this.l.shadows = LightShadows.None;
}
if (this.renderTexture == null || this.w != Screen.width || this.h != Screen.height || this.qualitySettings != QualitySettings.antiAliasing)
{
if (this.renderTexture != null)
{
this.renderTexture.Release();
}
this.qualitySettings = 1;
if (QualitySettings.antiAliasing == 2)
{
this.qualitySettings = 2;
}
if (QualitySettings.antiAliasing == 4)
{
this.qualitySettings = 4;
}
if (QualitySettings.antiAliasing == 8)
{
this.qualitySettings = 8;
}
this.w = Screen.width;
this.h = Screen.height;
this.renderTexture = new RenderTexture(this.w, this.h, 16, RenderTextureFormat.ARGB32);
this.renderTexture.antiAliasing = this.qualitySettings;
this.cam.targetTexture = this.renderTexture;
this.img.texture = this.renderTexture;
this.img.color = Color.white;
}
foreach (GameObject gameObject in this.vignetteObjects)
{
gameObject.SetActive(true);
}
this.party = Links.x.party;
int num = 0;
for (int j = 0; j < this.party.Count; j++)
{
if (this.party[j] && this.party[j].party)
{
this.currentParty.Add(this.party[j]);
Character character = this.party[j];
string model = character.stats.model;
Transform transform = this.spot1;
if (num == 1)
{
transform = this.spot2;
}
if (num == 2)
{
transform = this.spot3;
}
if (num == 3)
{
transform = this.spot4;
}
GameObject gameObject2 = Links.x.archives.InstantiateBody(model, transform);
gameObject2.SetActive(true);
Body component = gameObject2.GetComponent<Body>();
component.Reset();
this.bodies.Add(component);
this.bodyNames.Add(model);
Character character2 = character;
component.model = model;
component.name = model;
component.animationPrefix = character.animationPrefix;
if (!component.anim)
{
component.anim = component.gameObject.GetComponent<Animator>();
if (!component.anim)
{
Debug.Log("no animator");
}
}
component.inMenu = true;
component.isPortrait = false;
component.anim.updateMode = AnimatorUpdateMode.Normal;
component.anim.applyRootMotion = true;
component.gameObject.layer = 25;
component.SetGrounderState(false);
component.tr = component.gameObject.transform;
component.GetHead();
component.SetupHead(character2.stats.headModel);
component.GatherRenderers(true);
component.SetupTextures(character.stats.race, character.stats.sex, character.stats.characterRow, character.stats.skinTexture, character.stats.hairTexture, false);
int invNum = character.GetInvNum(16);
int invNum2 = character.GetInvNum(24);
this.SetupEquippedItems(component, character.GetInvNum(0), character.GetInvNum(2), invNum, invNum2, character.GetInvNum(20), character.GetInvNum(22));
component.anim.runtimeAnimatorController = this.levelUpController;
gameObject2.transform.localPosition = Vector3.zero;
string text = "LevelUp_Volling_shortsword_start";
string name = this.party[j].animator.runtimeAnimatorController.name;
if (name.Contains("_Volling_AxSingleHanded"))
{
text = "LevelUp_Volling_shortsword_start";
}
if (name.Contains("_Volling_Bow"))
{
text = "LevelUp_Volling_bow_start";
}
if (name.Contains("_Volling_ElyxerBag"))
{
text = "LevelUp_Volling_elyxer_start";
}
if (name.Contains("_Volling_FlailWhip"))
{
text = "LevelUp_Volling_flailwhip_start";
}
if (name.Contains("_Volling_GreatSword"))
{
text = "LevelUp_Volling_twohanded_start";
}
if (name.Contains("_Volling_Multihand"))
{
text = "LevelUp_Volling_multihand_start";
}
if (name.Contains("_Volling_PoleSpear"))
{
text = "LevelUp_Volling_Spear_start";
}
if (name.Contains("_Volling_Scepter"))
{
text = "LevelUp_Volling_twohanded_start";
}
if (name.Contains("_Volling_ScepterSingle"))
{
text = "LevelUp_Volling_shortsword_start";
}
if (name.Contains("_Volling_Shield_Blades"))
{
text = "LevelUp_Volling_shieldBlades_start";
}
if (name.Contains("_Volling_Shield_FlailWhip"))
{
text = "LevelUp_Volling_whipShield_start";
}
if (name.Contains("_Volling_Shortsword"))
{
text = "LevelUp_Volling_shortsword_start";
}
if (name.Contains("_Volling_Sling"))
{
text = "LevelUp_Volling_Sling_start";
}
if (name.Contains("_Volling_Unarmed"))
{
text = "LevelUp_Volling_unarmed_start";
}
if (name.Contains("_VollingYeti_Multihand"))
{
text = "LevelUp_Yeti_Multihand_start";
}
if (name.Contains("_VollingYeti_Shield_SwordScepter"))
{
text = "LevelUp_Yeti_SingleWieldShield_start";
}
if (name.Contains("_VollingYeti_SingleHandWield"))
{
text = "LevelUp_Yeti_SingleWield_start";
}
if (name.Contains("_VollingYeti_Spear"))
{
text = "LevelUp_Yeti_SingleSpear_start";
}
if (name.Contains("_VollingYeti_SpearDualWield"))
{
text = "LevelUp_Yeti_DualSpear_start";
}
if (name.Contains("_VollingYeti_SpearShield"))
{
text = "LevelUp_Yeti_SpearShield_start";
}
if (name.Contains("_VollingYeti_Unarmed"))
{
text = "LevelUp_Yeti_Unarmed_start";
}
component.anim.Play(text);
component.anim.Update(0f);
component.gameObject.layer = 25;
gameObject2.transform.rotation = transform.rotation;
if (component.headAnim)
{
component.headAnim.FreshBlink();
}
num++;
}
}
Links.x.gaia.FadeOutPlaylist(false, 0.25f);
Links.x.gaia.SetPlaylist("WaltzQuestEnd", true, 0f);
yield return new WaitForSeconds(0.001f);
this.cam.GetComponent<Bokeh>().enabled = true;
float timeToLerp = 0.5f;
float percentage = 0f;
float startTime = Time.time;
while (percentage < 1f)
{
percentage = (Time.time - startTime) / timeToLerp;
this.canvas.alpha = Mathf.Lerp(0f, 1f, percentage);
yield return null;
}
LayerMask i = Links.x.worldCamera.cullingMask;
Links.x.worldCamera.cullingMask = 1073741824;
timeToLerp = 2f;
percentage = 0f;
startTime = Time.time;
while (percentage < 1f)
{
percentage = (Time.time - startTime) / timeToLerp;
yield return null;
}
string a = "";
string b = "";
string c = "";
string d = "";
Sprite sprite = this.empty;
string quest = this.GetQuest(questName, out a, out b, out c, out d, out sprite);
this.texts = this.textAnimator.gameObject.GetComponentsInChildren<TextMeshPro>(true);
for (int k = 0; k < this.texts.Length; k++)
{
this.texts[k].text = quest;
}
this.textAnimator.gameObject.SetActive(true);
this.textAnimator.Play("LevelUpTextAnim");
this.SetLookAt();
timeToLerp = 1f;
percentage = 0f;
startTime = Time.time;
while (percentage < 1f)
{
percentage = (Time.time - startTime) / timeToLerp;
yield return null;
}
this.SetLookAt();
float lastLookSwitch = Time.timeSinceLevelLoad + Random.Range(0.5f, 1f);
timeToLerp = 1f;
percentage = 0f;
startTime = Time.time;
while (percentage < 1f)
{
percentage = (Time.time - startTime) / timeToLerp;
yield return null;
}
this.SetupSkipText();
for (int l = 0; l < this.feedTexts.Length; l++)
{
if (l == 0)
{
this.feedTexts[l].text = a;
}
if (l == 1)
{
this.feedTexts[l].text = b;
}
if (l == 2)
{
this.feedTexts[l].text = c;
}
if (l == 3)
{
this.feedTexts[l].text = d;
}
this.rects[l].sizeDelta = new Vector2(this.feedTexts[l].preferredWidth + 30f, this.rects[l].sizeDelta.y);
this.imgs[l].sprite = sprite;
}
this.feedAnimator.Play("QuestEndFeedPlayOut");
while (!this.Clicked())
{
if (Time.timeSinceLevelLoad > lastLookSwitch)
{
lastLookSwitch = Time.timeSinceLevelLoad + Random.Range(0.5f, 1f);
this.SetLookAt();
}
yield return null;
}
Links.x.worldCamera.cullingMask = i;
timeToLerp = 0.5f;
percentage = 0f;
startTime = Time.time;
while (percentage < 1f)
{
percentage = (Time.time - startTime) / timeToLerp;
this.canvas.alpha = Mathf.Lerp(1f, 0f, percentage);
yield return null;
}
this.canvas.alpha = 0f;
this.canvas.gameObject.SetActive(false);
Records.x.RemoveControls(false);
Records.x.SetTypingState(false);
Links.x.gaia.FadeOutPlaylist(true, 2f);
Links.x.gaia.SetEnvironmentPlaylist(false, Links.x.main.inTown, true);
this.Recycle();
this.on = false;
if (this.puzzleActions)
{
this.puzzleActions.StartPuzzle();
this.puzzleActions = null;
}
if (this.renderTexture != null)
{
this.renderTexture.Release();
}
yield break;
}
// Token: 0x060008B1 RID: 2225 RVA: 0x000BC980 File Offset: 0x000BAB80
private void SetLookAt()
{
for (int i = 0; i < this.bodies.Count; i++)
{
if (Random.Range(0, 3) == 0)
{
int num = 0;
if (i == 0)
{
num = Random.Range(1, 4);
}
if (i == 1)
{
num = Random.Range(0, 4);
if (num == 1)
{
num = Random.Range(2, 4);
}
}
if (i == 2)
{
num = Random.Range(0, 4);
if (num == 2)
{
num = Random.Range(0, 2);
}
}
if (i == 3)
{
num = Random.Range(0, 3);
}
this.bodies[i].lookAtController.SetNewTarget(this.bodies[num].GetSlot(16), 0f, 0f, false);
}
}
}
// Token: 0x060008B2 RID: 2226 RVA: 0x000BCA30 File Offset: 0x000BAC30
public void SetupEquippedItems(Body body, int id0, int id1, int id8, int id12, int id10, int id11)
{
if (id0 > 1)
{
body.CreateMenuItems(id0, 1, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector2(100f, 100f), 0, null);
}
if (id1 > 1)
{
body.CreateMenuItems(id1, 1, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector2(100f, 100f), 1, null);
}
if (id8 > 1)
{
body.CreateMenuItems(id8, 1, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector2(100f, 100f), 8, null);
}
if (id12 > 1)
{
body.CreateMenuItems(id12, 1, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector2(100f, 100f), 12, null);
}
if (id10 > 1)
{
body.CreateMenuItems(id10, 1, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector2(100f, 100f), 10, null);
}
if (id11 > 1)
{
body.CreateMenuItems(id11, 1, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector2(100f, 100f), 11, null);
}
}
// Token: 0x060008B3 RID: 2227 RVA: 0x000BCC04 File Offset: 0x000BAE04
private void Recycle()
{
for (int i = 0; i < this.bodies.Count; i++)
{
if (this.bodies[i])
{
this.bodies[i].lookAtController.EndLook();
GameObject gameObject = this.bodies[i].gameObject;
if (gameObject)
{
Links.x.archives.RecycleBody(gameObject, this.bodies[i].model, this.bodyNames[i]);
if (gameObject)
{
gameObject.SetActive(false);
}
}
}
}
}
// Token: 0x060008B4 RID: 2228 RVA: 0x000BCCAC File Offset: 0x000BAEAC
private bool CannotOpen()
{
return Records.x.inMenus || !Links.x.gaia.sceneLoaded || Records.x.paused || Records.x.saving || Links.x.rtsCamera.puzzleTarget || (Links.x.combat.inRally || Links.x.combat.inPocketAttack);
}
// Token: 0x060008B5 RID: 2229 RVA: 0x000BCD34 File Offset: 0x000BAF34
private bool Clicked()
{
if (Links.x.joy)
{
if (Links.x.gameplay.cancelStart)
{
return true;
}
}
else if (Input.GetKeyUp(KeyCode.Space))
{
if (this.clickCount >= 0)
{
return true;
}
this.clickCount++;
}
return false;
}
// Token: 0x060008B6 RID: 2230 RVA: 0x000BCD84 File Offset: 0x000BAF84
private void SetupSkipText()
{
this.skipText.spriteAsset = Links.x.GetSpriteSheetAsset(Links.x.gameplay.currentSpriteSheetAsset);
this.str.Clear();
if (Links.x.mk)
{
this.skipText.gameObject.GetComponent<RectTransform>().anchoredPosition = new Vector3(-10f, 35f, 0f);
this.str.Append("<voffset=.4em><size=60><sprite=");
int keyIconIndex = Links.x.keyControl.GetKeyIconIndex("Space");
this.str.Append(keyIconIndex);
this.str.Append("></size></voffset>");
}
else
{
this.skipText.gameObject.GetComponent<RectTransform>().anchoredPosition = new Vector3(-10f, 10f, 0f);
this.str.Append("<voffset=.4em><size=40><sprite=");
int controllerSprite = Links.x.gameplay.GetControllerSprite("Cancel", Links.x.gameplay.controllerName);
this.str.Append(controllerSprite);
this.str.Append("></size></voffset>");
}
this.str.Append("<cspace=1em></cspace>Continue");
this.skipText.text = this.str.ToString();
this.skipText.enabled = true;
}
// Token: 0x060008B7 RID: 2231 RVA: 0x000BCEF8 File Offset: 0x000BB0F8
public void TurnOff()
{
foreach (GameObject gameObject in this.vignetteObjects)
{
gameObject.SetActive(false);
}
this.textAnimator.gameObject.SetActive(false);
this.canvas.gameObject.SetActive(false);
}
// Token: 0x060008B8 RID: 2232 RVA: 0x000BCF6C File Offset: 0x000BB16C
public void OpenPuzzleAfter(PuzzleActions p)
{
Debug.Log("Open puzzle after");
this.puzzleActions = p;
}
// Token: 0x060008B9 RID: 2233 RVA: 0x000BCF80 File Offset: 0x000BB180
public string GetQuest(string questName, out string a, out string b, out string c, out string d, out Sprite sprite)
{
a = "";
b = "";
c = "";
d = "";
sprite = this.empty;
if (questName == "GoodHarvest_Quest" || questName == "Sela_Quest" || questName == "C6_Willowmaid" || questName == "D6_Chora")
{
string text = "Intercessions";
int num = 16;
int num2 = 2;
int num3 = 5;
for (int i = 0; i < this.currentParty.Count; i++)
{
this.str.Clear();
Stats stats = this.currentParty[i].stats;
this.str.Append(stats.GetName());
this.str.Append(" gained health ");
this.str.Append("[");
this.str.Append(stats.HealthCurrent());
this.str.Append("/");
this.str.Append(stats.HealthMax());
this.str.Append("] to [");
stats.lifeBase += num2;
stats.AddHealth(num2);
this.str.Append(stats.HealthCurrent());
this.str.Append("/");
this.str.Append(stats.HealthMax());
this.str.Append("] and increased ");
this.str.Append(text);
this.str.Append(" [");
this.str.Append(stats.GetSkill(num));
this.str.Append("] to [");
stats.IncreaseSkill(num, num3);
this.str.Append(stats.GetSkill(num));
this.str.Append("]");
if (i == 0)
{
a = this.str.ToString();
}
if (i == 1)
{
b = this.str.ToString();
}
if (i == 2)
{
c = this.str.ToString();
}
if (i == 3)
{
d = this.str.ToString();
}
}
sprite = this.health;
if (questName == "C6_Willowmaid")
{
return "Health increased!";
}
return "Blessed!";
}
else
{
if (questName == "C6_Chanter" || questName == "C6_Ghosts")
{
string text2 = "Aura";
if (questName == "C6_Chanter")
{
text2 = "Aura";
sprite = this.aura;
}
if (questName == "C6_Ghosts")
{
text2 = "Aura";
sprite = this.aura;
}
for (int j = 0; j < this.currentParty.Count; j++)
{
this.str.Clear();
Stats stats2 = this.currentParty[j].stats;
this.str.Append(stats2.GetName());
this.str.Append(" gained ");
this.str.Append(text2);
this.str.Append(" [");
this.str.Append(stats2.GetStatOnly(text2));
this.str.Append("] to [");
stats2.AddStat(text2, 1f);
this.str.Append(stats2.GetStatOnly(text2));
this.str.Append("]");
if (j == 0)
{
a = this.str.ToString();
}
if (j == 1)
{
b = this.str.ToString();
}
if (j == 2)
{
c = this.str.ToString();
}
if (j == 3)
{
d = this.str.ToString();
}
}
return text2 + " increased!";
}
if (questName == "C6_DryadFlower")
{
for (int k = 0; k < this.currentParty.Count; k++)
{
this.str.Clear();
Stats stats3 = this.currentParty[k].stats;
this.str.Append(stats3.GetName());
this.str.Append(" gained a stat token");
stats3.LevelUpStats();
if (k == 0)
{
a = this.str.ToString();
}
if (k == 1)
{
b = this.str.ToString();
}
if (k == 2)
{
c = this.str.ToString();
}
if (k == 3)
{
d = this.str.ToString();
}
}
return "Stat tokens received!";
}
if (questName == "C5_Caravan" || questName == "C5_Blessed")
{
string text3 = "";
int num4 = 0;
int num5 = 5;
string text4 = "";
if (questName == "C5_Blessed")
{
num4 = 22;
text3 = "Bartering";
text4 = "Bartering increased!";
}
for (int l = 0; l < this.currentParty.Count; l++)
{
if (questName == "C5_Caravan")
{
float num6;
string bestSkill = this.currentParty[l].stats.GetBestSkill("Weapon", out num6);
num4 = this.currentParty[l].stats.MatchBestSkillToDialogueName(bestSkill);
Debug.Log(num4.ToString() + " " + bestSkill);
text3 = Links.x.manual.DisplayNameFromIndex(num4, this.currentParty[l]);
text4 = "Weapon skills increased!";
}
this.str.Clear();
Stats stats4 = this.currentParty[l].stats;
this.str.Append(stats4.GetName());
this.str.Append("'s ");
this.str.Append(text3);
this.str.Append(" increased ");
this.str.Append("[");
this.str.Append(stats4.GetSkill(num4));
this.str.Append("] to [");
stats4.IncreaseSkill(num4, num5);
this.str.Append(stats4.GetSkill(num4));
this.str.Append("]");
if (l == 0)
{
a = this.str.ToString();
}
if (l == 1)
{
b = this.str.ToString();
}
if (l == 2)
{
c = this.str.ToString();
}
if (l == 3)
{
d = this.str.ToString();
}
}
sprite = this.skill;
return text4;
}
if (questName == "")
{
for (int m = 0; m < this.currentParty.Count; m++)
{
this.str.Clear();
Stats stats5 = this.currentParty[m].stats;
this.str.Append(stats5.GetName());
this.str.Append("'s sight improved ");
this.str.Append("[");
this.str.Append(stats5.sightRadiusBase);
this.str.Append("] to [");
stats5.sightRadiusBase += 1f;
this.str.Append(stats5.sightRadiusBase);
this.str.Append("]");
if (m == 0)
{
a = this.str.ToString();
}
if (m == 1)
{
b = this.str.ToString();
}
if (m == 2)
{
c = this.str.ToString();
}
if (m == 3)
{
d = this.str.ToString();
}
}
sprite = this.sight;
return "Vision extended!";
}
if (questName == "C6_WitchTask")
{
int num7 = 3;
float num8 = 4f;
for (int n = 0; n < this.currentParty.Count; n++)
{
this.str.Clear();
Stats stats6 = this.currentParty[n].stats;
this.str.Append(stats6.GetName());
this.str.Append(" gained health ");
this.str.Append("[");
this.str.Append(stats6.HealthCurrent());
this.str.Append("/");
this.str.Append(stats6.HealthMax());
this.str.Append("] to [");
stats6.lifeBase += num7;
stats6.AddHealth(num7);
this.str.Append(stats6.HealthCurrent());
this.str.Append("/");
this.str.Append(stats6.HealthMax());
this.str.Append("] and increased max stamina");
this.str.Append(" [");
this.str.Append(stats6.MaxStamina());
this.str.Append("] to [");
stats6.maxStaminaAdd += num8;
this.str.Append(stats6.MaxStamina());
this.str.Append("]");
if (n == 0)
{
a = this.str.ToString();
}
if (n == 1)
{
b = this.str.ToString();
}
if (n == 2)
{
c = this.str.ToString();
}
if (n == 3)
{
d = this.str.ToString();
}
}
sprite = this.health;
return "Health and Stamina increased!";
}
if (questName == "D5_Dura")
{
string text5 = "Strength";
string text6 = "Bartering";
int num9 = 22;
int num10 = 5;
int num11 = 2;
bool flag = true;
bool flag2 = true;
if (Links.x.dialogue.GetVariableBool("D5_UsedBell"))
{
flag = false;
}
if (!Links.x.dialogue.GetVariableBool("D5_GaveHead"))
{
flag2 = false;
}
for (int num12 = 0; num12 < this.currentParty.Count; num12++)
{
this.str.Clear();
Stats stats7 = this.currentParty[num12].stats;
this.str.Append(stats7.GetName());
this.str.Append(" gained health ");
this.str.Append("[");
this.str.Append(stats7.HealthCurrent());
this.str.Append("/");
this.str.Append(stats7.HealthMax());
this.str.Append("] to [");
stats7.lifeBase += num11;
stats7.AddHealth(num11);
this.str.Append(stats7.HealthCurrent());
this.str.Append("/");
this.str.Append(stats7.HealthMax());
this.str.Append("]");
if (num12 == 0)
{
a = this.str.ToString();
}
if (num12 == 1)
{
b = this.str.ToString();
}
if (num12 == 2)
{
c = this.str.ToString();
}
if (num12 == 3)
{
d = this.str.ToString();
}
if (flag)
{
this.str.Append(",");
this.str.Append(" gained ");
this.str.Append(text5);
this.str.Append(" [");
this.str.Append(stats7.GetStatOnly(text5));
this.str.Append("] to [");
stats7.AddStat(text5, 1f);
this.str.Append(stats7.GetStatOnly(text5));
this.str.Append("]");
if (num12 == 0)
{
a = this.str.ToString();
}
if (num12 == 1)
{
b = this.str.ToString();
}
if (num12 == 2)
{
c = this.str.ToString();
}
if (num12 == 3)
{
d = this.str.ToString();
}
}
if (flag2)
{
this.str.Append(",");
this.str.Append(" increased ");
this.str.Append(text6);
this.str.Append(" [");
this.str.Append(stats7.GetSkill(num9));
this.str.Append("] to [");
stats7.IncreaseSkill(num9, num10);
this.str.Append(stats7.GetSkill(num9));
this.str.Append("]");
if (num12 == 0)
{
a = this.str.ToString();
}
if (num12 == 1)
{
b = this.str.ToString();
}
if (num12 == 2)
{
c = this.str.ToString();
}
if (num12 == 3)
{
d = this.str.ToString();
}
}
}
sprite = this.health;
if (!flag && !flag2)
{
return "Health increased!";
}
if (flag && !flag2)
{
return "Health and Strength increased!";
}
if (!flag && flag2)
{
return "Health and Bartering increased!";
}
if (flag && flag2)
{
return "Health, Strength and Bartering increased!";
}
}
if (questName == "D6_Licech")
{
string text7 = "Sneaking";
string text8 = "Lockpick";
int num13 = 21;
int num14 = 20;
int num15 = 5;
for (int num16 = 0; num16 < this.currentParty.Count; num16++)
{
this.str.Clear();
Stats stats8 = this.currentParty[num16].stats;
this.str.Append(stats8.GetName());
this.str.Append("'s ");
this.str.Append(text8);
this.str.Append(" increased [");
this.str.Append(stats8.GetSkill(num13));
this.str.Append("] to [");
stats8.IncreaseSkill(num13, num15);
this.str.Append(stats8.GetSkill(num13));
this.str.Append("]");
if (num16 == 0)
{
a = this.str.ToString();
}
if (num16 == 1)
{
b = this.str.ToString();
}
if (num16 == 2)
{
c = this.str.ToString();
}
if (num16 == 3)
{
d = this.str.ToString();
}
this.str.Append(",");
this.str.Append("'s ");
this.str.Append(text7);
this.str.Append(" increased [");
this.str.Append(stats8.GetSkill(num14));
this.str.Append("] to [");
stats8.IncreaseSkill(num14, num15);
this.str.Append(stats8.GetSkill(num14));
this.str.Append("]");
if (num16 == 0)
{
a = this.str.ToString();
}
if (num16 == 1)
{
b = this.str.ToString();
}
if (num16 == 2)
{
c = this.str.ToString();
}
if (num16 == 3)
{
d = this.str.ToString();
}
}
sprite = this.skill;
return "Lockpicking and Sneaking increased!";
}
if (questName.Contains("D6_Spy"))
{
string text9 = "Sensory";
int num17 = 2;
bool flag3 = false;
if (questName.Contains("Informant"))
{
flag3 = true;
}
for (int num18 = 0; num18 < this.currentParty.Count; num18++)
{
this.str.Clear();
Stats stats9 = this.currentParty[num18].stats;
this.str.Append(stats9.GetName());
this.str.Append(" gained health ");
this.str.Append("[");
this.str.Append(stats9.HealthCurrent());
this.str.Append("/");
this.str.Append(stats9.HealthMax());
this.str.Append("] to [");
stats9.lifeBase += num17;
stats9.AddHealth(num17);
this.str.Append(stats9.HealthCurrent());
this.str.Append("/");
this.str.Append(stats9.HealthMax());
this.str.Append("]");
if (num18 == 0)
{
a = this.str.ToString();
}
if (num18 == 1)
{
b = this.str.ToString();
}
if (num18 == 2)
{
c = this.str.ToString();
}
if (num18 == 3)
{
d = this.str.ToString();
}
if (flag3)
{
this.str.Append(",");
this.str.Append(" gained ");
this.str.Append(text9);
this.str.Append(" [");
this.str.Append(stats9.GetStatOnly(text9));
this.str.Append("] to [");
stats9.AddStat(text9, 1f);
this.str.Append(stats9.GetStatOnly(text9));
this.str.Append("]");
if (num18 == 0)
{
a = this.str.ToString();
}
if (num18 == 1)
{
b = this.str.ToString();
}
if (num18 == 2)
{
c = this.str.ToString();
}
if (num18 == 3)
{
d = this.str.ToString();
}
}
}
sprite = this.health;
if (!flag3)
{
return "Health increased!";
}
if (flag3)
{
return "Health and Sensory increased!";
}
}
if (questName.Contains("D6_GoblinHole"))
{
int num19 = 5;
string text10 = "";
for (int num20 = 0; num20 < this.currentParty.Count; num20++)
{
float num21;
string bestSkill2 = this.currentParty[num20].stats.GetBestSkill("Weapon", out num21);
int num22 = this.currentParty[num20].stats.MatchBestSkillToDialogueName(bestSkill2);
Debug.Log(num22.ToString() + " " + bestSkill2);
string text11 = Links.x.manual.DisplayNameFromIndex(num22, this.currentParty[num20]);
text10 = "Weapon skills increased!";
this.str.Clear();
Stats stats10 = this.currentParty[num20].stats;
this.str.Append(stats10.GetName());
this.str.Append("'s ");
this.str.Append(text11);
this.str.Append(" increased ");
this.str.Append("[");
this.str.Append(stats10.GetSkill(num22));
this.str.Append("] to [");
stats10.IncreaseSkill(num22, num19);
this.str.Append(stats10.GetSkill(num22));
this.str.Append("]");
if (num20 == 0)
{
a = this.str.ToString();
}
if (num20 == 1)
{
b = this.str.ToString();
}
if (num20 == 2)
{
c = this.str.ToString();
}
if (num20 == 3)
{
d = this.str.ToString();
}
}
sprite = this.skill;
return text10;
}
return "Health increased!";
}
}
// Token: 0x04000D91 RID: 3473
public List<GameObject> vignetteObjects = new List<GameObject>();
// Token: 0x04000D92 RID: 3474
public Animator animator;
// Token: 0x04000D93 RID: 3475
public Animator textAnimator;
// Token: 0x04000D94 RID: 3476
public Animator feedAnimator;
// Token: 0x04000D95 RID: 3477
public TextMeshProUGUI skipText;
// Token: 0x04000D96 RID: 3478
public Transform spot1;
// Token: 0x04000D97 RID: 3479
public Transform spot2;
// Token: 0x04000D98 RID: 3480
public Transform spot3;
// Token: 0x04000D99 RID: 3481
public Transform spot4;
// Token: 0x04000D9A RID: 3482
private StringFast str = new StringFast(32);
// Token: 0x04000D9B RID: 3483
private int clickCount;
// Token: 0x04000D9C RID: 3484
private int w;
// Token: 0x04000D9D RID: 3485
private int h;
// Token: 0x04000D9E RID: 3486
private int qualitySettings;
// Token: 0x04000D9F RID: 3487
public RenderTexture renderTexture;
// Token: 0x04000DA0 RID: 3488
public Camera cam;
// Token: 0x04000DA1 RID: 3489
public CanvasGroup canvas;
// Token: 0x04000DA2 RID: 3490
public RawImage img;
// Token: 0x04000DA3 RID: 3491
private TextMeshPro[] texts = new TextMeshPro[0];
// Token: 0x04000DA4 RID: 3492
public TextMeshProUGUI[] feedTexts = new TextMeshProUGUI[0];
// Token: 0x04000DA5 RID: 3493
public Image[] imgs = new Image[0];
// Token: 0x04000DA6 RID: 3494
public RectTransform[] rects = new RectTransform[0];
// Token: 0x04000DA7 RID: 3495
private List<Body> bodies = new List<Body>();
// Token: 0x04000DA8 RID: 3496
private List<string> bodyNames = new List<string>();
// Token: 0x04000DA9 RID: 3497
public AnimatorOverrideController levelUpController;
// Token: 0x04000DAA RID: 3498
private List<Character> party;
// Token: 0x04000DAB RID: 3499
private List<Character> currentParty = new List<Character>();
// Token: 0x04000DAC RID: 3500
private List<string> anims;
// Token: 0x04000DAD RID: 3501
public Light l;
// Token: 0x04000DAE RID: 3502
public Sprite empty;
// Token: 0x04000DAF RID: 3503
public Sprite health;
// Token: 0x04000DB0 RID: 3504
public Sprite skill;
// Token: 0x04000DB1 RID: 3505
public Sprite strength;
// Token: 0x04000DB2 RID: 3506
public Sprite dexterity;
// Token: 0x04000DB3 RID: 3507
public Sprite agility;
// Token: 0x04000DB4 RID: 3508
public Sprite pagan;
// Token: 0x04000DB5 RID: 3509
public Sprite sensory;
// Token: 0x04000DB6 RID: 3510
public Sprite aura;
// Token: 0x04000DB7 RID: 3511
public Sprite sight;
// Token: 0x04000DB8 RID: 3512
public bool on;
// Token: 0x04000DB9 RID: 3513
public PuzzleActions puzzleActions;
}