public void SingleSpawnLoop(SpawnThings spawnables, IntVec3 position, Map map) { bool flag = spawnables.def != null; if (flag) { Faction faction = TM_Action.ResolveFaction(this.launcher as Pawn, spawnables, this.launcher.Faction); bool flag2 = spawnables.def.race != null; if (flag2) { bool flag3 = spawnables.kindDef == null; if (flag3) { Log.Error("Missing kinddef"); } else { TM_Action.SpawnPawn(this.launcher as Pawn, spawnables, faction, position, 0, map); } } else { ThingDef def = spawnables.def; ThingDef stuff = null; bool madeFromStuff = def.MadeFromStuff; if (madeFromStuff) { stuff = ThingDefOf.WoodLog; } Thing thing = ThingMaker.MakeThing(def, stuff); if (thing.def.defName != "Portfuel") { thing.SetFaction(faction, null); } CompSummoned bldgComp = thing.TryGetComp <CompSummoned>(); bldgComp.Temporary = false; bldgComp.Spawner = this.launcher as Pawn; bldgComp.sustained = true; GenSpawn.Spawn(thing, position, map, Rot4.North, WipeMode.Vanish, false); comp.summonedCoolers.Add(thing); Building_TMCooler cooler = thing as Building_TMCooler; if (cooler != null) { if (comp.MagicData.MagicPowerSkill_Cantrips.FirstOrDefault((MagicPowerSkill x) => x.label == "TM_Cantrips_pwr").level >= 12) { cooler.defensive = true; } if (comp.MagicData.MagicPowerSkill_Cantrips.FirstOrDefault((MagicPowerSkill x) => x.label == "TM_Cantrips_ver").level >= 6) { cooler.buffCool = true; } if (comp.MagicData.MagicPowerSkill_Cantrips.FirstOrDefault((MagicPowerSkill x) => x.label == "TM_Cantrips_ver").level >= 9) { cooler.buffFresh = true; } } } } }
public static Thing SingleSpawnLoop(Pawn caster, SpawnThings spawnables, IntVec3 position, Map map, int duration, bool temporary) { bool flag = spawnables.def != null; Thing thing = null; if (flag) { Faction faction = TM_Action.ResolveFaction(caster, spawnables); bool flag2 = spawnables.def.race != null; if (flag2) { bool flag3 = spawnables.kindDef == null; if (flag3) { Log.Error("Missing kinddef"); } else { TM_Action.SpawnPawn(caster, spawnables, faction, position); } } else { ThingDef def = spawnables.def; ThingDef stuff = null; bool madeFromStuff = def.MadeFromStuff; if (madeFromStuff) { stuff = ThingDefOf.Steel; } thing = ThingMaker.MakeThing(def, stuff); if (thing != null) { if (thing.def.defName != "Portfuel") { thing.SetFaction(faction, null); } CompSummoned bldgComp = thing.TryGetComp <CompSummoned>(); bldgComp.TicksToDestroy = duration; bldgComp.Temporary = temporary; GenSpawn.Spawn(thing, position, map, Rot4.North, WipeMode.Vanish, false); } } } return(thing); }
public void SingleSpawnLoop(SpawnThings spawnables, IntVec3 position, Map map) { bool flag = spawnables.def != null; if (flag) { Faction faction = this.ResolveFaction(spawnables); bool flag2 = spawnables.def.race != null; if (flag2) { bool flag3 = spawnables.kindDef == null; if (flag3) { Log.Error("Missing kinddef"); } else { this.SpawnPawn(spawnables, faction); } } else { ThingDef def = spawnables.def; ThingDef stuff = null; bool madeFromStuff = def.MadeFromStuff; if (madeFromStuff) { stuff = ThingDefOf.WoodLog; } Thing thing = ThingMaker.MakeThing(def, stuff); if (thing.def.defName != "Portfuel") { thing.SetFaction(faction, null); } CompSummoned bldgComp = thing.TryGetComp <CompSummoned>(); bldgComp.Temporary = false; bldgComp.Spawner = this.launcher as Pawn; bldgComp.sustained = true; GenSpawn.Spawn(thing, position, map, Rot4.North, WipeMode.Vanish, false); comp.summonedPowerNodes.Add(thing); } } }
public void SingleSpawnLoop(SpawnThings spawnables, IntVec3 position, Map map) { bool flag = spawnables.def != null; if (flag) { Faction faction = TM_Action.ResolveFaction(this.launcher as Pawn, spawnables, this.launcher.Faction); bool flag2 = spawnables.def.race != null; if (flag2) { bool flag3 = spawnables.kindDef == null; if (flag3) { Log.Error("Missing kinddef"); } else { TM_Action.SpawnPawn(this.launcher as Pawn, spawnables, faction, position, 0, map); } } else { ThingDef def = spawnables.def; ThingDef stuff = null; bool madeFromStuff = def.MadeFromStuff; if (madeFromStuff) { stuff = ThingDefOf.Steel; } Thing thing = ThingMaker.MakeThing(def, stuff); if (thing.def.defName != "Portfuel") { thing.SetFaction(faction, null); } placedThing = thing; CompSummoned bldgComp = thing.TryGetComp <CompSummoned>(); bldgComp.TicksToDestroy = this.duration; bldgComp.Temporary = true; GenSpawn.Spawn(thing, position, map, Rot4.North, WipeMode.Vanish, false); } } }