Esempio n. 1
0
 public static bool get_DirectOwner(Verb __instance, ref IVerbOwner __result)
 {
     if (__instance != null && __instance.verbTracker != null)
     {
         __result = __instance.verbTracker.directOwner;
     }
     return(false);
 }
Esempio n. 2
0
 public static bool get_DirectOwner_Prefix(Verb __instance, ref IVerbOwner __result)
 {
     if (__instance is Verb_UseAbility)
     {
         __result = __instance.CasterPawn;
         return(false);
     }
     return(true);
 }
Esempio n. 3
0
 public static bool get_DirectOwner(Verb __instance, ref IVerbOwner __result)
 {
     if (__instance.verbTracker == null)
     {
         __result = null;
     }
     else
     {
         return(true);
     }
     return(false);
 }
Esempio n. 4
0
        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;
                }
            }
        }
Esempio n. 5
0
        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;
                }
            }
        }
Esempio n. 6
0
 public VerbTracker(IVerbOwner directOwner)
 {
     this.directOwner = directOwner;
 }
Esempio n. 7
0
 public static string CalculateUniqueLoadID(IVerbOwner owner, int index)
 {
     return(string.Format("{0}_{1}", owner.UniqueVerbOwnerID(), index));
 }
Esempio n. 8
0
 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));
 }
Esempio n. 9
0
 public static string CalculateUniqueLoadID(IVerbOwner owner, int index)
 {
     return($"{owner.UniqueVerbOwnerID()}_{index}");
 }