Пример #1
0
 public override void PostApplyDamage(DamageInfo dinfo, float totalDamageDealt)
 {
     if (base.Dead)
     {
         Log.Message("QUEEN DEAD");
         AlienInfectionHediff hediff = (AlienInfectionHediff)HediffMaker.MakeHediff
                                           (PurpleIvyDefOf.PI_AlienInfection, this);
         hediff.instigator = PawnKindDef.Named("Genny_ParasiteOmega");
         var range = new IntRange(30, 50);
         hediff.maxNumberOfCreatures = range.RandomInRange;
         hediff.ageTicks             = new IntRange(40000, 50000).RandomInRange;
         this.health.AddHediff(hediff);
         var corpse = (Corpse)this.ParentHolder;
         PurpleIvyUtils.SpawnNests(this);
     }
     else if (!(dinfo.Instigator is MeteorIncoming))
     {
         var hediff = this.health.hediffSet.hediffs
                      .FirstOrDefault((Hediff h) => h.def == PurpleIvyDefOf.PI_CrashlandedDowned);
         if (hediff != null)
         {
             this.health.hediffSet.hediffs.Remove(hediff);
             RestUtility.Awake(this);
         }
     }
     base.PostApplyDamage(dinfo, totalDamageDealt);
 }
Пример #2
0
 public override void Tick()
 {
     base.Tick();
     spawnticks--;
     if (spawnticks <= 0)
     {
         PurpleIvyUtils.SpawnNests(this);
         spawnticks = 15000;
     }
 }
Пример #3
0
 public override void Tick()
 {
     base.Tick();
     if (Find.TickManager.TicksGame > this.recoveryTick)
     {
         var hediff = this.health.hediffSet.hediffs
                      .FirstOrDefault((Hediff h) => h.def == PurpleIvyDefOf.PI_CrashlandedDowned);
         if (hediff != null)
         {
             this.health.hediffSet.hediffs.Remove(hediff);
             RestUtility.Awake(this);
         }
     }
     spawnticks--;
     if (spawnticks <= 0)
     {
         PurpleIvyUtils.SpawnNests(this);
         spawnticks = new IntRange(15000, 30000).RandomInRange;
     }
 }