// 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);
        }
示例#4
0
 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;
 }