public static bool get_DirectOwner(Verb __instance, ref IVerbOwner __result) { if (__instance != null && __instance.verbTracker != null) { __result = __instance.verbTracker.directOwner; } return(false); }
public static bool get_DirectOwner_Prefix(Verb __instance, ref IVerbOwner __result) { if (__instance is Verb_UseAbility) { __result = __instance.CasterPawn; return(false); } return(true); }
public static bool get_DirectOwner(Verb __instance, ref IVerbOwner __result) { if (__instance.verbTracker == null) { __result = null; } else { return(true); } return(false); }
private void InitVerb(Verb verb, VerbProperties properties, IVerbOwner owner, Tool tool, ManeuverDef maneuver, string id) { verb.loadID = id; verb.verbProps = properties; verb.tool = tool; verb.maneuver = maneuver; CompEquippable compEquippable = this.directOwner as CompEquippable; Pawn pawn = this.directOwner as Pawn; HediffComp_VerbGiver hediffComp_VerbGiver = this.directOwner as HediffComp_VerbGiver; Pawn_MeleeVerbs_TerrainSource pawn_MeleeVerbs_TerrainSource = this.directOwner as Pawn_MeleeVerbs_TerrainSource; if (compEquippable != null) { verb.ownerEquipment = compEquippable.parent; } else if (pawn != null) { verb.caster = pawn; } else if (hediffComp_VerbGiver != null) { verb.ownerHediffComp = hediffComp_VerbGiver; verb.caster = hediffComp_VerbGiver.Pawn; } else if (pawn_MeleeVerbs_TerrainSource != null) { verb.terrainDef = pawn_MeleeVerbs_TerrainSource.def; verb.caster = pawn_MeleeVerbs_TerrainSource.parent.Pawn; } else { Log.ErrorOnce("Couldn't find verb source", 27797477, false); } if (verb.tool != null) { if (verb.ownerEquipment != null) { verb.implementOwnerType = ImplementOwnerTypeDefOf.Weapon; } else if (verb.ownerHediffComp != null) { verb.implementOwnerType = ImplementOwnerTypeDefOf.Hediff; } else if (verb.terrainDef != null) { verb.implementOwnerType = ImplementOwnerTypeDefOf.Terrain; } else { verb.implementOwnerType = ImplementOwnerTypeDefOf.Bodypart; } } }
private void InitVerb(Verb verb, VerbProperties properties, IVerbOwner owner, Tool tool, ManeuverDef maneuver, string id) { verb.loadID = id; verb.verbProps = properties; verb.tool = tool; verb.maneuver = maneuver; CompEquippable compEquippable = this.directOwner as CompEquippable; Pawn pawn = this.directOwner as Pawn; HediffComp_VerbGiver hediffComp_VerbGiver = this.directOwner as HediffComp_VerbGiver; if (compEquippable != null) { verb.ownerEquipment = compEquippable.parent; } else if (pawn != null) { verb.caster = pawn; } else if (hediffComp_VerbGiver != null) { verb.ownerHediffComp = hediffComp_VerbGiver; verb.caster = hediffComp_VerbGiver.Pawn; } if (verb.tool != null) { if (verb.ownerEquipment != null) { verb.implementOwnerType = ImplementOwnerTypeDefOf.Weapon; } else if (verb.ownerHediffComp != null) { verb.implementOwnerType = ImplementOwnerTypeDefOf.Hediff; } else { verb.implementOwnerType = ImplementOwnerTypeDefOf.Bodypart; } } }
public VerbTracker(IVerbOwner directOwner) { this.directOwner = directOwner; }
public static string CalculateUniqueLoadID(IVerbOwner owner, int index) { return(string.Format("{0}_{1}", owner.UniqueVerbOwnerID(), index)); }
public static string CalculateUniqueLoadID(IVerbOwner owner, Tool tool, ManeuverDef maneuver) { return(string.Format("{0}_{1}_{2}", owner.UniqueVerbOwnerID(), (tool == null) ? "NT" : tool.id, (maneuver == null) ? "NM" : maneuver.defName)); }
public static string CalculateUniqueLoadID(IVerbOwner owner, int index) { return($"{owner.UniqueVerbOwnerID()}_{index}"); }