예제 #1
0
        // Token: 0x06000079 RID: 121 RVA: 0x000066F4 File Offset: 0x000048F4
        public void MSUseStim(Pawn p, bool Using)
        {
            if (!Using || p == null)
            {
                return;
            }

            if (def.defName == "MSBattleStimBelt")
            {
                MSExoticUtility.ChkMSBattleStim(p, out var Reason, out var Passed);
                if (!Passed)
                {
                    Messages.Message("MSExotic.ReasonPrefix".Translate() + Reason, p, MessageTypeDefOf.NeutralEvent,
                                     false);
                    return;
                }

                StimUses--;
                MSExoticUtility.DoMSBattleStim(p, def);
                if (StimUses < 1 && !this.DestroyedOrNull())
                {
                    Destroy();
                }
            }
            else
            {
                Log.Message(string.Concat("ERR: Stim Worn item def not found for ", def.label.CapitalizeFirst(),
                                          " : (", def.defName, ")"));
            }
        }
 // Token: 0x06000079 RID: 121 RVA: 0x000066F4 File Offset: 0x000048F4
 public void MSUseStim(Pawn p, bool Using)
 {
     if (Using && p != null)
     {
         if (this.def.defName == "MSBattleStimBelt")
         {
             MSExoticUtility.ChkMSBattleStim(p, out string Reason, out bool Passed);
             if (!Passed)
             {
                 Messages.Message("MSExotic.ReasonPrefix".Translate() + Reason, p, MessageTypeDefOf.NeutralEvent, false);
                 return;
             }
             this.StimUses--;
             MSExoticUtility.DoMSBattleStim(p, this.def);
             if (this.StimUses < 1 && !this.DestroyedOrNull())
             {
                 this.Destroy(DestroyMode.Vanish);
                 return;
             }
         }
         else
         {
             Log.Message(string.Concat(new string[]
             {
                 "ERR: Stim Worn item def not found for ",
                 this.def.label.CapitalizeFirst(),
                 " : (",
                 this.def.defName,
                 ")"
             }), false);
         }
     }
 }
예제 #3
0
        // Token: 0x0600004D RID: 77 RVA: 0x00005450 File Offset: 0x00003650
        public override void DoEffect(Pawn usedBy)
        {
            base.DoEffect(usedBy);
            if (parent.def == MSExoticDefOf.ThingDefOf.MSImmunisation)
            {
                MSExoticUtility.DoMSImmunisation(usedBy, parent.def);
            }

            if (parent.def == MSExoticDefOf.ThingDefOf.MSCerebrax)
            {
                MSExoticUtility.DoMSCerebrax(usedBy, parent.def);
            }

            if (parent.def == MSExoticDefOf.ThingDefOf.MSBattleStim)
            {
                MSExoticUtility.DoMSBattleStim(usedBy, parent.def);
            }

            if (MSExoticUtility.GetIsTranscendence(parent.def))
            {
                MSExoticUtility.DoMSTranscendence(usedBy, parent.def);
            }

            if (parent.def == MSExoticDefOf.ThingDefOf.MSPerpetuity)
            {
                MSExoticUtility.DoMSPerpetuity(usedBy, parent.def);
            }

            if (parent.def == MSExoticDefOf.ThingDefOf.MSCondom)
            {
                MSExoticUtility.DoMSCondom(usedBy, parent.def);
            }
        }