public async Task <string> PostAsync(TransformationRequest request) { var response = string.Empty; var result = await hystrixCommand.ExecuteAsync( async() => { using (var client = new HttpClient()) { var content = new StringContent( JsonConvert.SerializeObject( new { idFactura = request.IdFactura, valorFactura = request.ValorFactura, formato = request.Formato.ToString(), operacion = request.Operacion.ToString() }), Encoding.UTF8, "application/json"); var resp = await client.PostAsync(requestUrl, content); response = await resp.Content.ReadAsStringAsync(); } return(true); }); return(response); }
private void DoTf() { if (_chosenKind == null) { _chosenKind = DefDatabase <PawnKindDef> .AllDefs.Where(p => p.RaceProps.Animal).RandomElement(); } var tfRequest = new TransformationRequest(_chosenKind, pawn); MutagenDefOf.defaultMutagen.MutagenCached.Transform(tfRequest); }
private TransformationRequest MakeRequest(Pawn innerPawn) { var animalKind = GetAnimalFor(innerPawn); var request = new TransformationRequest(animalKind, innerPawn, TargetSettings?.ForcedSapienceLevel ?? SapienceLevel.Sapient) { cause = null, forcedGender = ThingProps.genderTf, tale = ThingProps.taleDef, }; return(request); }
private void DoTf() { if (_chosenKind == null) { _chosenKind = DefDatabase <PawnKindDef> .AllDefs.Where(p => p.RaceProps.Animal).RandomElement(); } var tfRequest = new TransformationRequest(_chosenKind, pawn); var res = MutagenDefOf.defaultMutagen.MutagenCached.Transform(tfRequest); if (res != null) { Find.World.GetComponent <PawnmorphGameComp>().AddTransformedPawn(res); } }
private void DoTransformation() { var target = Targets.RandomElementWithFallback(); if (target == null) { return; } var kind = DefDatabase <PawnKindDef> .AllDefs.FirstOrDefault(k => k.race == target.race); if (kind == null) { return; } var request = new TransformationRequest(kind, pawn); MutagenDefOf.defaultMutagen.MutagenCached.Transform(request); }
/// <summary>Transforms the pawn.</summary> /// <param name="pawn">The pawn.</param> /// <param name="cause">The cause.</param> /// <returns></returns> public bool TransformPawn(Pawn pawn, [CanBeNull] Hediff cause) { var mutagen = cause?.def?.GetMutagenDef() ?? MutagenDefOf.defaultMutagen; var request = new TransformationRequest(pawnkinds.RandElement(), pawn) { forcedGender = forceGender, forcedGenderChance = forceGenderChance, cause = cause, tale = tale }; var inst = mutagen.MutagenCached.Transform(request); if (inst != null) { var comp = Find.World.GetComponent <PawnmorphGameComp>(); comp.AddTransformedPawn(inst); } return(inst != null); }
private void Resurrect() { Pawn innerPawn = this.Corpse.InnerPawn; ResurrectionUtility.Resurrect(innerPawn); //make sure pawn is alive again var mutagen = MutagenDefOf.defaultMutagen; PawnKindDef animalKind = ThingProps.Animals.RandomElement(); float maxSeverity = ThingProps.makePermanentlyFeral ? 0.01f : 1f; TransformationRequest request = new TransformationRequest(animalKind, innerPawn, maxSeverity) { cause = null, forcedGender = ThingProps.genderTf, tale = ThingProps.taleDef, }; var tfPawn = mutagen.MutagenCached.Transform(request); if (tfPawn != null) { var comp = Find.World.GetComponent <PawnmorphGameComp>(); var oFirst = tfPawn.TransformedPawns.First(); comp.AddTransformedPawn(tfPawn); var messageContent = RESURRECTION_MESSAGE_LABEL.Translate(innerPawn.Named("original"), oFirst.Named("animal"), animalKind.Named(nameof(animalKind))) .CapitalizeFirst(); Messages.Message(messageContent, oFirst, MessageTypeDefOf.PositiveEvent, true); } else { Log.Warning($"resurrected pawn {pawn.Name} who cannot be transformed normally! is this intended?"); } //Messages.Message("MessagePawnResurrected".Translate(innerPawn).CapitalizeFirst(), innerPawn, MessageTypeDefOf.PositiveEvent, true); this.Item.SplitOff(1).Destroy(DestroyMode.Vanish); }
public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) { base.Apply(target, dest); var transformationRequest = new TransformationRequest(Properties.TargetAnimals.RandElement(), target.Pawn); var tfdPawn = MutagenDefOf.defaultMutagen.MutagenCached.Transform(transformationRequest); var animal = tfdPawn?.TransformedPawns.First(); if (tfdPawn != null) { Find.World.GetComponent <PawnmorphGameComp>().AddTransformedPawn(tfdPawn); Hediff hediff = HediffMaker.MakeHediff(Properties.trackerHediff, animal); var rmComp = hediff.TryGetComp <HediffComp_Disappears>(); rmComp.ticksToDisappear = GetDurationSeconds(target.Pawn).SecondsToTicks(); animal.health.AddHediff(hediff); } else { Log.Warning($"could not transform target {target.Pawn.Label}"); } }
public IActionResult Post([FromBody] TransformationRequest request) { var document = request.XmlDocument; var transformationSpec = request.XslTransformation; var xsltFile = transformationSpec.Name == "File" ? transformationSpec.Value : null; var content = ""; if (!string.IsNullOrEmpty(xsltFile)) { content = new XDocument(XsltTransformation.Transform(document, xsltFile)).ToString(); } else { content = new XDocument(XsltTransformation.Transform(document, transformationSpec)).ToString(); } return(new ContentResult { Content = content, ContentType = "text/xml", StatusCode = 200 }); }
/// <summary>Transforms the pawn.</summary> /// <param name="pawn">The pawn.</param> /// <param name="cause">The cause.</param> /// <returns></returns> public bool TransformPawn(Pawn pawn, Hediff cause) { var mutagen = cause?.def?.GetMutagenDef() ?? MutagenDefOf.defaultMutagen; var request = new TransformationRequest(GetPawnKindDefFor(pawn), pawn) { forcedGender = forceGender, forcedGenderChance = forceGenderChance, cause = cause, tale = transformationTale, transformedTick = Find.TickManager?.TicksAbs }; var inst = mutagen.MutagenCached.Transform(request); if (inst != null) { var comp = Find.World.GetComponent <PawnmorphGameComp>(); comp.AddTransformedPawn(inst); } return(inst != null); }
private void TransformPawn(Pawn pawn) { TransformationRequest request; Mutagen mutagen; switch (_state) { case ChamberState.Transforming: request = new TransformationRequest(pawnTFKind, pawn) { forcedGender = TFGender.Switch, forcedGenderChance = 50, manhunterSettingsOverride = ManhunterTfSettings.Never, factionResponsible = Faction, forcedFaction = Faction }; mutagen = MutagenDefOf.defaultMutagen.MutagenCached; break; case ChamberState.MergeInto: request = new TransformationRequest(pawnTFKind, pawn, (Pawn)linkTo.innerContainer[0]) { forcedGender = TFGender.Switch, forcedGenderChance = 50, manhunterSettingsOverride = ManhunterTfSettings.Never, factionResponsible = Faction, forcedFaction = Faction }; mutagen = MutagenDefOf.MergeMutagen.MutagenCached; break; case ChamberState.MergeOutOf: return; case ChamberState.Idle: default: throw new ArgumentOutOfRangeException(); } TransformedPawn pmInst = mutagen.Transform(request); if (pmInst == null) { Log.Error($"mutagenic chamber could not transform pawns {string.Join(",",request.originals.Select(p => p.Name.ToStringFull).ToArray())} using mutagen {mutagen.def.defName}"); return; } SendLetter(pawn); base.EjectContents(); if (_state == ChamberState.MergeInto) { linkTo.EjectContents(); } foreach (Pawn pmInstOriginalPawn in pmInst.OriginalPawns) { if (pmInstOriginalPawn == null) { continue; } TransformerUtility.CleanUpHumanPawnPostTf(pmInstOriginalPawn, null); } foreach (Pawn pmInstOriginalPawn in pmInst.OriginalPawns) { pmInstOriginalPawn.DeSpawn(); } var comp = Find.World.GetComponent <PawnmorphGameComp>(); comp.AddTransformedPawn(pmInst); Find.TickManager.slower.SignalForceNormalSpeedShort(); PawnComponentsUtility.AddComponentsForSpawn(pmInst.TransformedPawns.First()); pawn.ownership.UnclaimAll(); if (modulator != null) { modulator.triggered = true; if (modulator.merging) { modulator.merging = false; modulator.random = true; } } if (!Destroyed) { SoundDefOf.CryptosleepCasket_Eject.PlayOneShot(SoundInfo.InMap(new TargetInfo(base.Position, base.Map))); fuelComp.ConsumeFuel(fuelComp.Fuel); } }
private void EjectPawn() { _scratchList.Clear(); _scratchList.AddRange(innerContainer.OfType <Pawn>()); var pawn = _scratchList[0] as Pawn; if (pawn == null) { Log.Error("trying to eject empty muta chamber!"); return; } EjectContents(); SelectorComp.Enabled = false; TransformationRequest tfRequest; Mutagen mutagen = null; switch (_currentUse) { case ChamberUse.Mutation: tfRequest = null; break; case ChamberUse.Merge: var otherPawn = (Pawn)_scratchList[1]; if (otherPawn == null) { Log.Error("merging but cannot find other pawn! aborting!"); tfRequest = null; break; } tfRequest = new TransformationRequest(_targetAnimal, pawn, otherPawn) { addMutationToOriginal = false, factionResponsible = Faction, forcedFaction = Faction, forcedSapienceLevel = 1, manhunterSettingsOverride = ManhunterTfSettings.Never }; mutagen = MutagenDefOf.MergeMutagen.MutagenCached; break; case ChamberUse.Tf: PawnKindDef animal = SelectorComp.ChosenKind; if (animal == null) { animal = GetRandomAnimal(); } tfRequest = new TransformationRequest(animal, pawn) { addMutationToOriginal = true, factionResponsible = Faction, forcedFaction = Faction, forcedGender = TFGender.Original, forcedSapienceLevel = 1, manhunterSettingsOverride = ManhunterTfSettings.Never }; mutagen = MutagenDefOf.defaultMutagen.MutagenCached; break; default: throw new ArgumentOutOfRangeException(); } if (tfRequest == null) { return; } TransformedPawn tfPawn = mutagen.Transform(tfRequest); if (tfPawn == null) { Log.Error($"unable to transform pawn(s)! {_currentUse} {_innerState}"); return; } var gComp = Find.World.GetComponent <PawnmorphGameComp>(); gComp.AddTransformedPawn(tfPawn); foreach (Pawn oPawn in tfPawn.OriginalPawns) { if (oPawn.Spawned) { oPawn.DeSpawn(); } } }
public async Task <string> TransformationCall(TransformationRequest request) { var result = await _transformationServices.PostAsync(request); return(result); }