// Token: 0x06002ADD RID: 10973 RVA: 0x00143464 File Offset: 0x00141864 public override bool CanBeUsedBy(Pawn p, out string failReason) { bool selected = Find.Selector.SelectedObjects.Contains(p); bool flag = GenCollection.Any <Apparel>(p.apparel.WornApparel, (Apparel x) => x.def == YautjaDefOf.RRY_Equipment_HunterGauntlet); if (flag) { Cloakgen injector = (Cloakgen)p.apparel.WornApparel.Find((Apparel x) => x.def == YautjaDefOf.RRY_Equipment_HunterGauntlet); if (injector != null) { CompMedicalInjector medicalInjector = injector.TryGetComp <CompMedicalInjector>(); if (injector.uses < medicalInjector.Props.Uses) { failReason = null; return(true); } else { failReason = "Injector full"; return(false); } } else { failReason = "Not wearing Injector"; return(false); } } else { failReason = "Not wearing Injector"; return(false); } return(base.CanBeUsedBy(p, out failReason)); }
// Token: 0x06002ADC RID: 10972 RVA: 0x001433C0 File Offset: 0x001417C0 public override void DoEffect(Pawn user) { Cloakgen injector = (Cloakgen)user.apparel.WornApparel.Find((Apparel x) => x.def == YautjaDefOf.RRY_Equipment_HunterGauntlet); CompMedicalInjector medicalInjector = injector.TryGetComp <CompMedicalInjector>(); bool selected = Find.Selector.SelectedObjects.Contains(user); int needed = medicalInjector.Props.Uses - injector.uses; if (needed > 0) { if (this.parent.stackCount >= needed) { injector.uses = medicalInjector.Props.Uses; this.parent.stackCount = this.parent.stackCount - needed; } else if (this.parent.stackCount < needed) { injector.uses = this.parent.stackCount; this.parent.stackCount = 0; this.parent.Destroy(); } } // base.DoEffect(user); }