// Token: 0x06000B82 RID: 2946 RVA: 0x000324B4 File Offset: 0x000306B4 public void SetSkillOverride(object source, SkillDef skillDef, GenericSkill.SkillOverridePriority priority) { GenericSkill.SkillOverride skillOverride = new GenericSkill.SkillOverride(source, skillDef, priority); if (this.FindSkillOverrideIndex(ref skillOverride) == -1) { HGArrayUtilities.ArrayAppend <GenericSkill.SkillOverride>(ref this.skillOverrides, ref skillOverride); this.PickCurrentOverride(); } }
// Token: 0x06000B83 RID: 2947 RVA: 0x000324EC File Offset: 0x000306EC public void UnsetSkillOverride(object source, SkillDef skillDef, GenericSkill.SkillOverridePriority priority) { GenericSkill.SkillOverride skillOverride = new GenericSkill.SkillOverride(source, skillDef, priority); int num = this.FindSkillOverrideIndex(ref skillOverride); if (num != -1) { HGArrayUtilities.ArrayRemoveAtAndResize <GenericSkill.SkillOverride>(ref this.skillOverrides, num, 1); this.PickCurrentOverride(); } }
// Token: 0x06000B84 RID: 2948 RVA: 0x00032524 File Offset: 0x00030724 private void PickCurrentOverride() { int num = -1; GenericSkill.SkillOverridePriority skillOverridePriority = GenericSkill.SkillOverridePriority.Default; for (int i = 0; i < this.skillOverrides.Length; i++) { GenericSkill.SkillOverridePriority priority = this.skillOverrides[i].priority; if (skillOverridePriority <= priority) { num = i; skillOverridePriority = priority; } } if (num == -1) { this.SetSkillInternal(this.baseSkill); return; } this.SetSkillInternal(this.skillOverrides[num].skillDef); }
private void On_GSSetSkillOverride(On.RoR2.GenericSkill.orig_SetSkillOverride orig, GenericSkill self, object source, SkillDef skillDef, GenericSkill.SkillOverridePriority priority) { if (stridesInteractionMode != StridesInteractionMode.ScepterTakesPrecedence || skillDef.skillIndex != CharacterBody.CommonAssets.lunarUtilityReplacementSkillDef.skillIndex || !(source is CharacterBody body) || body.inventory.GetItemCount(ItemDef) < 1 || handlingOverride) { orig(self, source, skillDef, priority); } else { handlingOverride = true; HandleScepterSkill(body); handlingOverride = false; } }
// Token: 0x06000BAB RID: 2987 RVA: 0x00032A9F File Offset: 0x00030C9F public SkillOverride(object source, SkillDef skillDef, GenericSkill.SkillOverridePriority priority) { this.source = source; this.skillDef = skillDef; this.priority = priority; }