public override void DoEffect(Pawn user) { ThingDef tempPod = null; IntVec3 currentPos = parent.PositionHeld; Map map = parent.Map; if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.InnerFire)) { tempPod = ThingDef.Named("BookOfInnerFire"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.HeartOfFrost)) { tempPod = ThingDef.Named("BookOfHeartOfFrost"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.StormBorn)) { tempPod = ThingDef.Named("BookOfStormBorn"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Arcanist)) { tempPod = ThingDef.Named("BookOfArcanist"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Paladin)) { tempPod = ThingDef.Named("BookOfValiant"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Summoner)) { tempPod = ThingDef.Named("BookOfSummoner"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Druid)) { tempPod = ThingDef.Named("BookOfNature"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Necromancer)) { tempPod = ThingDef.Named("BookOfUndead"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Priest)) { tempPod = ThingDef.Named("BookOfPriest"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Gifted)) { tempPod = ThingDef.Named("BookOfQuestion"); this.parent.Destroy(DestroyMode.Vanish); } else { Messages.Message("NotGiftedPawn".Translate(), MessageTypeDefOf.RejectInput); } SihvSpawnThings.SpawnThingDefOfCountAt(tempPod, 1, new TargetInfo(currentPos, map)); }
public override void DoEffect(Pawn user) { ThingDef tempPod = null; IntVec3 currentPos = parent.PositionHeld; Map map = parent.Map; if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Gladiator)) { tempPod = ThingDef.Named("BookOfGladiator"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.TM_Sniper)) { tempPod = ThingDef.Named("BookOfSniper"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Bladedancer)) { tempPod = ThingDef.Named("BookOfBladedancer"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.Ranger)) { tempPod = ThingDef.Named("BookOfRanger"); this.parent.Destroy(DestroyMode.Vanish); } else if (parent.def != null && user.story.traits.HasTrait(TorannMagicDefOf.PhysicalProdigy)) { int rnd = Mathf.RoundToInt(Rand.Range(0, 4)); switch (rnd) { case 1: { tempPod = ThingDef.Named("BookOfGladiator"); break; } case 2: { tempPod = ThingDef.Named("BookOfSniper"); break; } case 3: { tempPod = ThingDef.Named("BookOfBladedancer"); break; } case 4: { tempPod = ThingDef.Named("BookOfRanger"); break; } } this.parent.Destroy(DestroyMode.Vanish); } else { Messages.Message("NotPhyAdeptPawn".Translate(), MessageTypeDefOf.RejectInput); } SihvSpawnThings.SpawnThingDefOfCountAt(tempPod, 1, new TargetInfo(currentPos, map)); }