// Token: 0x060019D1 RID: 6609 RVA: 0x0007B5B0 File Offset: 0x000797B0 public static RunReport.PlayerInfo Generate(PlayerCharacterMasterController playerCharacterMasterController) { CharacterMaster characterMaster = playerCharacterMasterController.master; Inventory inventory = characterMaster.inventory; PlayerStatsComponent component = playerCharacterMasterController.GetComponent <PlayerStatsComponent>(); RunReport.PlayerInfo playerInfo = new RunReport.PlayerInfo(); playerInfo.networkUser = playerCharacterMasterController.networkUser; playerInfo.master = characterMaster; playerInfo.bodyIndex = BodyCatalog.FindBodyIndex(characterMaster.bodyPrefab); playerInfo.killerBodyIndex = characterMaster.GetKillerBodyIndex(); StatSheet.Copy(component.currentStats, playerInfo.statSheet); playerInfo.itemAcquisitionOrder = inventory.itemAcquisitionOrder.ToArray(); for (ItemIndex itemIndex = ItemIndex.Syringe; itemIndex < ItemIndex.Count; itemIndex++) { playerInfo.itemStacks[(int)itemIndex] = inventory.GetItemCount(itemIndex); } playerInfo.equipment = new EquipmentIndex[inventory.GetEquipmentSlotCount()]; uint num = 0u; while ((ulong)num < (ulong)((long)playerInfo.equipment.Length)) { playerInfo.equipment[(int)num] = inventory.GetEquipment(num).equipmentIndex; num += 1u; } return(playerInfo); }
public int turnSpeed; //the number of degrees the enemy can turn each frame using pointTargetFrames; public void SelectTarget(GameObject newTarget) { target = newTarget; movementAI.target = target; targetStatus = target.GetComponent <StatusManager>(); targetStat = target.GetComponent <StatSheet>(); }
public StatSheet GetStats(int year, int month) { try { StatSheet list = new StatSheet(); list = new StatSheet() { year = year, month = month, sworders = GetSwOrders(year, month), allorders = GetAllOrders(year, month), soldproducts = GetSoldProducts(year, month), soldproductssw = GetSoldProductsSw(year, month), mangalisterorders = GetMangalisterOrders(year, month), soldproductsmangalister = GetSoldProductsMangalister(year, month) }; CloseConnection(); return(list); } catch (Exception ex) { Console.WriteLine("Database: Unable to retrieve records () from the database."); CloseConnection(); return(null); } }
public StatSheet GetStats(int year, int month) { try { StatSheet list = new StatSheet(); list = new StatSheet() { year = year, month = month, sworders = GetStatsZero(year, month), allorders = GetStatsOne(year, month), soldproducts = GetStatsTwo(year, month), soldproductssw = GetStatsThree(year, month), mangalisterorders = GetStatsFour(year, month), soldproductsmangalister = GetStatsFive(year, month) }; CloseConnection(); return(list); } catch (Exception ex) { Console.WriteLine("Database: Unable to retrieve records () from the database."); Logger.Error("Database:" + ex.Message); CloseConnection(); return(null); } }
// Token: 0x06002797 RID: 10135 RVA: 0x000AAE40 File Offset: 0x000A9040 private void Check() { if (Run.instance && Run.instance.GetType() == typeof(Run) && base.localUser != null && base.localUser.currentNetworkUser != null) { SceneDef sceneDefForCurrentScene = SceneCatalog.GetSceneDefForCurrentScene(); StatSheet currentStats = base.localUser.currentNetworkUser.masterPlayerStatsComponent.currentStats; if (sceneDefForCurrentScene.stageOrder >= 3 && currentStats.GetStatValueULong(StatDef.totalHealthHealed) <= 0f && base.localUser.cachedBody && base.localUser.cachedBody.healthComponent && base.localUser.cachedBody.healthComponent.alive) { base.Grant(); } } }
public void UpdatesWhenStatModifierUpdates_Test() { StatSheet sheet = new StatSheet(); Stat strength = sheet.Get(StatType.Strength); StatModifier mod = new StatModifier(StatType.Strength, StatModifierType.Flat, 9f); Assert.That(strength.Value, Is.EqualTo(0f)); strength.AddModifier(mod); Assert.That(strength.Value, Is.EqualTo(9f)); mod.Value = 42f; Assert.That(strength.Value, Is.EqualTo(42f)); }
public void CalculateFinalValueUsingFormula_Test() { StatSheet sheet = new StatSheet(); Stat dexterity = sheet.Get(StatType.Dexterity); dexterity.BaseValue = 100f; Stat crit = sheet.Get(StatType.CriticalHit); Assert.That(dexterity.Value, Is.EqualTo(100f)); Assert.That(crit.BaseValue, Is.EqualTo(0f)); Assert.That(crit.Value, Is.EqualTo(15f)); }
// Token: 0x0600269F RID: 9887 RVA: 0x000B2238 File Offset: 0x000B0438 private void OnTeleporterCharged(TeleporterInteraction teleporterInteraction) { SceneCatalog.GetSceneDefForCurrentScene(); StatSheet currentStats = base.networkUser.masterPlayerStatsComponent.currentStats; if (Run.instance && Run.instance.stageClearCount == 0) { PlayerStatsComponent masterPlayerStatsComponent = base.networkUser.masterPlayerStatsComponent; if (masterPlayerStatsComponent) { masterPlayerStatsComponent.currentStats.PushStatValue(StatDef.firstTeleporterCompleted, 1UL); } } }
// Token: 0x06002877 RID: 10359 RVA: 0x000AC484 File Offset: 0x000AA684 private int GetUniquePortalsUsedCount() { StatSheet statSheet = base.userProfile.statSheet; int num = 0; foreach (StatDef statDef in this.statsToCheck) { if (statSheet.GetStatValueULong(statDef) > 0UL) { num++; } } return(num); }
// Use this for initialization void Start() { movementAI.target = target; targetStatus = target.GetComponent <StatusManager>(); targetStat = target.GetComponent <StatSheet>(); goal = GoalStates.nothing; behaviour = BehaviourStates.preBattle; goalComplete = false; goalStarted = false; if (navMesh.enabled) { navMesh.isStopped = true; } navMesh.enabled = false; }
public static bool WriteStat(StatSheet stats, string filename) { try { string jsonString = JsonConvert.SerializeObject(stats, Formatting.Indented); File.WriteAllText(filename, jsonString); return(true); } catch { return(false); } }
public static StatSheet ReadStat(string filename) { StatSheet jsonObject = new StatSheet(); if (File.Exists(filename)) { try { string jsonString = File.ReadAllText(filename); jsonObject = JsonConvert.DeserializeObject <StatSheet>(jsonString); } catch { throw new ArgumentException($"FILE WITH NAME '{filename}' DOESN'T EXIST"); } } return(jsonObject); }
private void drawStatSheet(StatSheet sheet) { showStats = EditorGUILayout.Foldout(showStats, "Stats"); if (showStats) { foreach (StatType type in StatFormulas.STAT_TYPES) { Stat stat = sheet.Get(type); EditorGUILayout.LabelField(type.ToString()); EditorGUI.indentLevel++; stat.BaseValue = EditorGUILayout.FloatField("Base", stat.BaseValue); // TODO Add view for StatModifier list EditorGUILayout.LabelField("Final", stat.Value.ToString()); EditorGUI.indentLevel--; } } }
// Token: 0x06002642 RID: 9794 RVA: 0x000B1DC0 File Offset: 0x000AFFC0 private int UniqueNewtStatueCount() { StatSheet statSheet = this.userProfile.statSheet; int num = 0; int i = 0; int unlockableCount = statSheet.GetUnlockableCount(); while (i < unlockableCount) { if (FindUniqueNewtStatues.IsUnlockableNewtStatue(statSheet.GetUnlockable(i))) { num++; } i++; } return(num); }
// Token: 0x0600281F RID: 10271 RVA: 0x000ABB14 File Offset: 0x000A9D14 private int MonsterLogCount() { StatSheet statSheet = base.userProfile.statSheet; int num = 0; int i = 0; int unlockableCount = statSheet.GetUnlockableCount(); while (i < unlockableCount) { if (LogCollectorAchievement.IsUnlockableMonsterLog(statSheet.GetUnlockable(i))) { num++; } i++; } return(num); }
public async Task Export(CommandContext ctx, string name) { StatSheet stat = BotFunctionality.GetCharacterSheet(name); FileInfo fi = new FileInfo(@stat.Path); if (fi.Exists) { await ctx.Channel.SendMessageAsync(ctx.User.Mention + ": Here is your file"); await ctx.RespondWithFileAsync(@stat.Path).ConfigureAwait(false); } else { await ctx.Channel.SendMessageAsync(ctx.User.Mention + ": Hmmm, I don't see " + name + " in my database."); } }
// Token: 0x06002950 RID: 10576 RVA: 0x000ADB70 File Offset: 0x000ABD70 private static bool EverPickedUpLunarItems(StatSheet statSheet) { foreach (ItemIndex key in ItemCatalog.lunarItemList) { if (statSheet.GetStatValueULong(PerItemStatDef.totalCollected.FindStatDef(key)) > 0UL) { return(true); } } foreach (EquipmentIndex equipmentIndex in EquipmentCatalog.equipmentList) { if (EquipmentCatalog.GetEquipmentDef(equipmentIndex).isLunar&& statSheet.GetStatValueDouble(PerEquipmentStatDef.totalTimeHeld.FindStatDef(equipmentIndex)) > 0.0) { return(true); } } return(false); }
public async Task Print(CommandContext ctx, string name) { StatSheet stat = BotFunctionality.GetCharacterSheet(name); if (stat == null) { await ctx.Channel.SendMessageAsync(ctx.User.Mention + ": a character by the name of " + name + " does not exist.").ConfigureAwait(false); } else { Console.WriteLine("Retreieved"); await ctx.Channel.SendMessageAsync(BotFunctionality.ConvertStatToString(stat)).ConfigureAwait(false); Console.WriteLine("Test" + stat.debug); } }
// Token: 0x060021AB RID: 8619 RVA: 0x0009EAF8 File Offset: 0x0009CCF8 private void AssignStatToStrip([CanBeNull] StatSheet srcStatSheet, [NotNull] StatDef statDef, GameObject destStatStrip) { string arg = "0"; ulong num = 0UL; if (srcStatSheet != null) { arg = srcStatSheet.GetStatDisplayValue(statDef); num = srcStatSheet.GetStatPointValue(statDef); } string @string = Language.GetString(statDef.displayToken); string text = string.Format(Language.GetString("STAT_NAME_VALUE_FORMAT"), @string, arg); destStatStrip.transform.Find("StatNameLabel").GetComponent <TextMeshProUGUI>().text = text; string string2 = Language.GetString("STAT_POINTS_FORMAT"); destStatStrip.transform.Find("PointValueLabel").GetComponent <TextMeshProUGUI>().text = string.Format(string2, num); }
public void UpdatesWhenDependentStatUpdates_Test() { StatSheet sheet = new StatSheet(); Stat dexterity = sheet.Get(StatType.Dexterity); dexterity.BaseValue = 100f; Stat crit = sheet.Get(StatType.CriticalHit); Assert.That(dexterity.Value, Is.EqualTo(100f)); Assert.That(crit.BaseValue, Is.EqualTo(0f)); Assert.That(crit.Value, Is.EqualTo(15f)); dexterity.AddModifier(new StatModifier(StatType.Strength, StatModifierType.Flat, 100f)); Assert.That(dexterity.Value, Is.EqualTo(200f)); Assert.That(crit.Value, Is.EqualTo(30f)); }
public async Task RemoveFromInventory(CommandContext ctx, string name, int count) { if (RoleplayManager.playerRoles.ContainsKey(ctx.User.Username)) { StatSheet stat = RoleplayManager.playerRoles[ctx.User.Username]; if (stat.inventory.ContainsKey(name)) { if (stat.inventory[name] >= count) { stat.inventory[name] -= count; await ctx.Channel.SendMessageAsync(ctx.User.Mention + ": Removed " + "x[" + count + "] " + name + " to " + RoleplayManager.playerRoles[ctx.User.Username].Name + "'s inventory").ConfigureAwait(false); if (stat.inventory[name] <= 0) { stat.inventory.Remove(name); } } else { await ctx.Channel.SendMessageAsync(ctx.User.Mention + ": You don't have enough of that item in your inventory.").ConfigureAwait(false); } } else { await ctx.Channel.SendMessageAsync(ctx.User.Mention + ": You don't have that item in your inventory.").ConfigureAwait(false); } BotFunctionality.SaveCharacterSheet(RoleplayManager.playerRoles[ctx.User.Username], ctx); } else { await ctx.Channel.SendMessageAsync(ctx.User.Mention + ": You don't seem to be playing a a specific character").ConfigureAwait(false); } }
public async Task New(CommandContext ctx) { var commandInit = ctx.User.Username; var stat = new StatSheet(); stat.madeByDiscord = true; var interactivity = ctx.Client.GetInteractivity(); name: await ctx.Channel.SendMessageAsync("Let's get started! Firstly, what is your character's name?"); var name = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); BotFunctionality.ChangeName(name.Result.Content, stat); race: await ctx.Channel.SendMessageAsync("What is your character's race?"); var race = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); BotFunctionality.ChangeRace(race.Result.Content, stat); gender: await ctx.Channel.SendMessageAsync("What is your character's gender?"); var gender = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); BotFunctionality.ChangeGender(gender.Result.Content, stat); level: await ctx.Channel.SendMessageAsync("What level are they?"); var input = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); try { var level = Int32.Parse(input.Result.Content); BotFunctionality.ChangeLevel(level, stat); } catch { await ctx.Channel.SendMessageAsync("Please only type digits!"); goto level; } if (stat.Level >= 3) { architype: await ctx.Channel.SendMessageAsync("What is their architype?"); var architype = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); BotFunctionality.ChangeArchitype(architype.Result.Content, stat); } health: stat.Health = 4 + (stat.Level - 1); await ctx.Channel.SendMessageAsync("How much health do they have? Suggested amount: " + stat.Health); var input1 = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); try { var health = Int32.Parse(input1.Result.Content); BotFunctionality.ChangeHealth(health, stat); } catch { await ctx.Channel.SendMessageAsync("Please only type digits!"); goto health; } stats: await ctx.Channel.SendMessageAsync("What stats do they have? (please format like this)" + System.Environment.NewLine + "statName:1" + System.Environment.NewLine + "statName:1" + System.Environment.NewLine + "statName:1"); var input2 = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); var statblock = input2.Result.Content.Split("\n"); stat.statblock = new Dictionary <string, int>(); try { BotFunctionality.AddStat(statblock, stat); } catch { await ctx.Channel.SendMessageAsync("Unable to read stats"); goto stats; } focuses: await ctx.Channel.SendMessageAsync("What focuses do they have? (please format like this)" + System.Environment.NewLine + "focusName:1" + System.Environment.NewLine + "focusName:1" + System.Environment.NewLine + "focusName:1"); var input3 = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); var focuses = input3.Result.Content.Split("\n"); try { BotFunctionality.AddFocus(focuses, stat); } catch { await ctx.Channel.SendMessageAsync("Unable to read focuses"); goto focuses; } abilities: await ctx.Channel.SendMessageAsync("What abilities do they have? (please format like this)" + System.Environment.NewLine + "abilityName1" + System.Environment.NewLine + "abilityName2" + System.Environment.NewLine + "abilityName3"); var input4 = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); var abilities = input4.Result.Content.Split("\n"); try { BotFunctionality.AddAbility(abilities, stat); } catch { await ctx.Channel.SendMessageAsync("Unable to read abilities"); goto abilities; } inventory: await ctx.Channel.SendMessageAsync("What items do they have? (please format like this)" + System.Environment.NewLine + "itemName:1" + System.Environment.NewLine + "itemName:1" + System.Environment.NewLine + "itemName:1"); var input5 = await interactivity.WaitForMessageAsync(x => x.Channel == ctx.Channel && x.Author.Username == commandInit); var inventory = input5.Result.Content.Split("\n"); try { BotFunctionality.AddItem(inventory, stat); } catch { await ctx.Channel.SendMessageAsync("Unable to read items"); goto inventory; } BotFunctionality.SaveCharacterSheet(stat, ctx); await ctx.Channel.SendMessageAsync("Complete!"); }
// Token: 0x060021AA RID: 8618 RVA: 0x0009E870 File Offset: 0x0009CA70 private void SetPlayerInfo([CanBeNull] RunReport.PlayerInfo playerInfo) { ulong num = 0UL; if (playerInfo != null) { StatSheet statSheet = playerInfo.statSheet; this.AllocateStatStrips(this.statsToDisplay.Length); for (int i = 0; i < this.statsToDisplay.Length; i++) { string text = this.statsToDisplay[i]; StatDef statDef = StatDef.Find(text); if (statDef == null) { Debug.LogWarningFormat("GameEndReportPanelController.SetStatSheet: Could not find stat def \"{0}\".", new object[] { text }); } else { this.AssignStatToStrip(statSheet, statDef, this.statStrips[i]); num += statSheet.GetStatPointValue(statDef); } } int unlockableCount = statSheet.GetUnlockableCount(); int num2 = 0; for (int j = 0; j < unlockableCount; j++) { if (!statSheet.GetUnlockable(j).hidden) { num2++; } } this.AllocateUnlockStrips(num2); int num3 = 0; for (int k = 0; k < unlockableCount; k++) { UnlockableDef unlockable = statSheet.GetUnlockable(k); if (!unlockable.hidden) { this.AssignUnlockToStrip(unlockable, this.unlockStrips[num3]); num3++; } } if (this.itemInventoryDisplay) { this.itemInventoryDisplay.SetItems(playerInfo.itemAcquisitionOrder, playerInfo.itemAcquisitionOrder.Length, playerInfo.itemStacks); this.itemInventoryDisplay.UpdateDisplay(); } } else { this.AllocateStatStrips(0); this.AllocateUnlockStrips(0); if (this.itemInventoryDisplay) { this.itemInventoryDisplay.ResetItems(); } } string @string = Language.GetString("STAT_POINTS_FORMAT"); this.totalPointsLabel.text = string.Format(@string, num); GameObject gameObject = null; if (playerInfo != null) { gameObject = BodyCatalog.GetBodyPrefab(playerInfo.bodyIndex); } string arg = ""; Texture texture = null; if (gameObject) { texture = gameObject.GetComponent <CharacterBody>().portraitIcon; arg = Language.GetString(gameObject.GetComponent <CharacterBody>().baseNameToken); } string string2 = Language.GetString("STAT_CLASS_NAME_FORMAT"); this.playerBodyLabel.text = string.Format(string2, arg); this.playerBodyPortraitImage.texture = texture; GameObject gameObject2 = null; if (playerInfo != null) { gameObject2 = BodyCatalog.GetBodyPrefab(playerInfo.killerBodyIndex); } string arg2 = ""; Texture texture2 = null; if (gameObject2) { texture2 = gameObject2.GetComponent <CharacterBody>().portraitIcon; arg2 = Language.GetString(gameObject2.GetComponent <CharacterBody>().baseNameToken); } string string3 = Language.GetString("STAT_KILLER_NAME_FORMAT"); this.killerBodyLabel.text = string.Format(string3, arg2); this.killerBodyPortraitImage.texture = texture2; this.killerPanelObject.SetActive(gameObject2); }
public StatSheetItemViewModel(StatSheet model) { _item = model; }
// FixedUpdate is called once per logical step void FixedUpdate() { if (playIn.currentTarget != null) { if (playIn.currentTarget.GetComponent <StatSheet>()) { targetHPSlider.gameObject.SetActive(true); if (!beginInitialise || savedTarget != playIn.currentTarget) { targetStat = playIn.currentTarget.GetComponent <StatSheet>(); targetHPSlider.minValue = 0; targetHPSlider.maxValue = Mathf.CeilToInt(targetStat.MaxHP); beginInitialise = true; } targetingBeacon.gameObject.SetActive(true); if (playIn.currentTarget.tag.Contains("Enm")) { targetingBeacon.color = new Color(1f, 0.6f, 0.6f, playIn.targetRefresh1 * 0.08f); } else if (playIn.currentTarget.tag.Contains("Aly")) { targetingBeacon.color = new Color(0.6f, 0.6f, 1f, playIn.targetRefresh1 * 0.06f); } else if (playIn.currentTarget.tag.Contains("Pla")) { targetingBeacon.color = new Color(1f, 1f, 1f, playIn.targetRefresh1 * 0.04f); } else { targetingBeacon.color = new Color(0.1f, 0.1f, 0.1f, playIn.targetRefresh1 * 0.1f); } savedTarget = playIn.currentTarget; } else { targetingBeacon.gameObject.SetActive(false); } nonHPTarget.gameObject.SetActive(true); nonHPTarget.text = playIn.currentTarget.name; if (playIn.currentTarget.GetComponent <CommManager>()) { tgtComm = playIn.currentTarget.GetComponent <CommManager>(); if (playIn.currentTarget.tag.Contains("Dlg")) { dialogueBeacon.gameObject.SetActive(true); if (tgtComm.Dlg) { dialogueBeacon.color = new Color(0.9f, 0.9f, 0.9f, playIn.targetRefresh1 * 0.06f); } else { dialogueBeacon.color = new Color(0.9f, 0.9f, 0.9f, playIn.targetRefresh1 * 0.02f); } } else { dialogueBeacon.gameObject.SetActive(false); } if (playIn.currentTarget.tag.Contains("Int")) { interactBeacon.gameObject.SetActive(true); if (tgtComm.Int) { interactBeacon.color = new Color(0.9f, 0.9f, 0.9f, playIn.targetRefresh1 * 0.06f); } else { interactBeacon.color = new Color(0.9f, 0.9f, 0.9f, playIn.targetRefresh1 * 0.02f); } } else { interactBeacon.gameObject.SetActive(false); } if (playIn.currentTarget.tag.Contains("Ins")) { inspectBeacon.gameObject.SetActive(true); if (tgtComm.Ins) { inspectBeacon.color = new Color(0.9f, 0.9f, 0.9f, playIn.targetRefresh1 * 0.06f); } else { inspectBeacon.color = new Color(0.9f, 0.9f, 0.9f, playIn.targetRefresh1 * 0.02f); } } else { inspectBeacon.gameObject.SetActive(false); } } else { dialogueBeacon.gameObject.SetActive(false); interactBeacon.gameObject.SetActive(false); inspectBeacon.gameObject.SetActive(false); } } else { beginInitialise = false; nonHPTarget.gameObject.SetActive(false); if (playIn.targetRefresh2 <= 0) { targetHPSlider.gameObject.SetActive(false); } } if (targetStat != null) { targetHPSlider.value = Mathf.CeilToInt(targetStat.HP); targetNameText.text = targetStat.gameObject.name; targetHPText.text = Mathf.CeilToInt(targetStat.HP).ToString() + " / " + Mathf.CeilToInt(targetStat.MaxHP).ToString(); } if (!playerStatus.sheathed) { nonHPTarget.gameObject.SetActive(false); dialogueBeacon.gameObject.SetActive(false); interactBeacon.gameObject.SetActive(false); inspectBeacon.gameObject.SetActive(false); } nonHPTarget.color = new Color(0.9f, 0.9f, 0.9f, playIn.targetRefresh1 * 0.1f); }
private static StatSheetItemViewModel Convert(StatSheet r) { return(new StatSheetItemViewModel(r)); }
public void UpdateSheet(StatSheet sheet) { JsonHelper.WriteStat(sheet, JsonFileName); }
void Apply(StatusManager applyTo, StatSheet _stat) { status = applyTo; status.effects.Add(this); stat = _stat as CharStatSheet; }
void Start() { stats = new StatSheet(); }
public StatSheetItemViewModel() { _item = new StatSheet(); }