public static void GiveThoughtsForPawnExecuted(Pawn victim, PawnExecutionKind kind)
        {
            if (!victim.RaceProps.Humanlike)
            {
                return;
            }
            int forcedStage = 1;

            if (victim.guilt.IsGuilty)
            {
                forcedStage = 0;
            }

            ThoughtDef def;

            if (victim.IsColonist)
            {
                def = YunoThoughtDefOf.YunoMod_KnowColonistExecuted;
            }
            else
            {
                def = YunoThoughtDefOf.YunoMod_KnowGuestExecuted;
            }
            foreach (Pawn pawn in PawnsFinder.AllMapsCaravansAndTravelingTransportPods_Alive_FreeColonistsAndPrisoners)
            {
                if (pawn.IsColonist && pawn.needs.mood != null)
                {
                    pawn.needs.mood.thoughts.memories.TryGainMemory(ThoughtMaker.MakeThought(def, forcedStage), null);
                }
            }
        }
        public static void GiveThoughtsForPawnExecuted(Pawn victim, PawnExecutionKind kind)
        {
            if (victim.RaceProps.Humanlike)
            {
                int forcedStage = 1;
                if (victim.guilt.IsGuilty)
                {
                    forcedStage = 0;
                }
                else
                {
                    switch (kind)
                    {
                    case PawnExecutionKind.GenericHumane:
                        forcedStage = 1;
                        break;

                    case PawnExecutionKind.GenericBrutal:
                        forcedStage = 2;
                        break;

                    case PawnExecutionKind.OrganHarvesting:
                        forcedStage = 3;
                        break;
                    }
                }
                ThoughtDef def = (!victim.IsColonist) ? ThoughtDefOf.KnowGuestExecuted : ThoughtDefOf.KnowColonistExecuted;
                foreach (Pawn item in from x in PawnsFinder.AllMapsCaravansAndTravelingTransportPods
                         where x.IsColonist || x.IsPrisonerOfColony
                         select x)
                {
                    item.needs.mood.thoughts.memories.TryGainMemory(ThoughtMaker.MakeThought(def, forcedStage), null);
                }
            }
        }
예제 #3
0
        internal static void _GiveThoughtsForPawnExecuted(Pawn victim, PawnExecutionKind kind)
        {
            if (!victim.RaceProps.Humanlike)
            {
                return;
            }
            int forcedStage = 0;

            switch (kind)
            {
            case PawnExecutionKind.GenericBrutal:
                forcedStage = 1;
                break;

            case PawnExecutionKind.GenericHumane:
                forcedStage = 0;
                break;

            case PawnExecutionKind.OrganHarvesting:
                forcedStage = 2;
                break;
            }
            ThoughtDef def  = !victim.IsColonist ? ThoughtDefOf.KnowGuestExecuted : ThoughtDefOf.KnowColonistExecuted;
            ThoughtDef def2 = !victim.IsColonist ? ThoughtDefOfPsychology.KnowGuestExecutedBleedingHeart : ThoughtDefOfPsychology.KnowColonistExecutedBleedingHeart;

            foreach (Pawn colonistsAndPrisoner in Find.MapPawns.FreeColonistsAndPrisoners)
            {
                colonistsAndPrisoner.needs.mood.thoughts.memories.TryGainMemoryThought(ThoughtMaker.MakeThought(def, forcedStage), (Pawn)null);
                colonistsAndPrisoner.needs.mood.thoughts.memories.TryGainMemoryThought(ThoughtMaker.MakeThought(def2, forcedStage), (Pawn)null);
            }
        }
예제 #4
0
        public static bool Prefix(Pawn victim, PawnExecutionKind kind)
        {
            if (victim.RaceProps.Humanlike)
            {
                DeathBrutality brutality = DeathBrutality.HUMANE;
                if (!victim.guilt.IsGuilty)
                {
                    switch (kind)
                    {
                    case PawnExecutionKind.GenericHumane:
                        brutality = DeathBrutality.HUMANE;
                        break;

                    case PawnExecutionKind.GenericBrutal:
                        brutality = DeathBrutality.BRUTAL;
                        break;

                    case PawnExecutionKind.OrganHarvesting:
                        brutality = DeathBrutality.UNETHICAL;
                        break;
                    }
                }
                else
                {
                    brutality = DeathBrutality.JUSTIFIED;
                }
                Handler_PawnExecuted.HandlePawnExecuted(victim, brutality);
            }

            // It's not like we have anything more to process or anything, baka.
            return(false);
        }
예제 #5
0
 public static bool Listener(Pawn victim, PawnExecutionKind kind)
 {
     if (victim.IsBasicAndroidTier())
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
        internal static void _GiveThoughtsForPawnExecuted(Pawn victim, PawnExecutionKind kind)
        {
            if (!victim.RaceProps.Humanlike)
            {
                return;
            }
            int forcedStage = 1;

            if (victim.guilt.IsGuilty)
            {
                forcedStage = 0;
            }
            else
            {
                switch (kind)
                {
                case PawnExecutionKind.GenericBrutal:
                    forcedStage = 2;
                    break;

                case PawnExecutionKind.GenericHumane:
                    forcedStage = 1;
                    break;

                case PawnExecutionKind.OrganHarvesting:
                    forcedStage = 3;
                    break;
                }
            }
            ThoughtDef def;
            ThoughtDef def2;

            if (victim.IsColonist)
            {
                def  = ThoughtDefOf.KnowColonistExecuted;
                def2 = ThoughtDefOfPsychology.KnowColonistExecutedBleedingHeart;
            }
            else
            {
                def  = ThoughtDefOf.KnowGuestExecuted;
                def2 = ThoughtDefOfPsychology.KnowGuestExecutedBleedingHeart;
            }
            foreach (Pawn current in from x in PawnsFinder.AllMapsCaravansAndTravelingTransportPods
                     where x.IsColonist || x.IsPrisonerOfColony
                     select x)
            {
                current.needs.mood.thoughts.memories.TryGainMemoryThought(ThoughtMaker.MakeThought(def, forcedStage), null);
                current.needs.mood.thoughts.memories.TryGainMemoryThought(ThoughtMaker.MakeThought(def2, forcedStage), null);
            }
        }
예제 #7
0
        public static void GiveThoughtsForPawnExecuted(Pawn victim, PawnExecutionKind kind)
        {
            if (!victim.RaceProps.Humanlike)
            {
                return;
            }
            int forcedStage = 1;

            if (victim.guilt.IsGuilty)
            {
                forcedStage = 0;
            }
            else if (kind != PawnExecutionKind.GenericHumane)
            {
                if (kind != PawnExecutionKind.GenericBrutal)
                {
                    if (kind == PawnExecutionKind.OrganHarvesting)
                    {
                        forcedStage = 3;
                    }
                }
                else
                {
                    forcedStage = 2;
                }
            }
            else
            {
                forcedStage = 1;
            }
            ThoughtDef def;

            if (victim.IsColonist)
            {
                def = ThoughtDefOf.KnowColonistExecuted;
            }
            else
            {
                def = ThoughtDefOf.KnowGuestExecuted;
            }
            foreach (Pawn current in from x in PawnsFinder.AllMapsCaravansAndTravelingTransportPods
                     where x.IsColonist || x.IsPrisonerOfColony
                     select x)
            {
                current.needs.mood.thoughts.memories.TryGainMemory(ThoughtMaker.MakeThought(def, forcedStage), null);
            }
        }
예제 #8
0
        public static void BleedingHeartThoughts(Pawn victim, PawnExecutionKind kind)
        {
            if (!victim.RaceProps.Humanlike)
            {
                return;
            }
            int forcedStage = 1;

            if (victim.guilt.IsGuilty)
            {
                forcedStage = 0;
            }
            else
            {
                switch (kind)
                {
                case PawnExecutionKind.GenericBrutal:
                    forcedStage = 2;
                    break;

                case PawnExecutionKind.GenericHumane:
                    forcedStage = 1;
                    break;

                case PawnExecutionKind.OrganHarvesting:
                    forcedStage = 3;
                    break;
                }
            }
            ThoughtDef def;

            if (victim.IsColonist)
            {
                def = ThoughtDefOfPsychology.KnowColonistExecutedBleedingHeart;
            }
            else
            {
                def = ThoughtDefOfPsychology.KnowGuestExecutedBleedingHeart;
            }
            foreach (Pawn current in PawnsFinder.AllMapsCaravansAndTravelingTransportPods_Alive_FreeColonistsAndPrisoners)
            {
                current.needs.mood.thoughts.memories.TryGainMemory(ThoughtMaker.MakeThought(def, forcedStage), null);
            }
        }
 public static void GiveThoughtsForPawnExecuted(Pawn victim, PawnExecutionKind kind)
 {
     if (victim.RaceProps.Humanlike)
     {
         int forcedStage = 1;
         if (victim.guilt.IsGuilty)
         {
             forcedStage = 0;
         }
         else if (kind != PawnExecutionKind.GenericHumane)
         {
             if (kind != PawnExecutionKind.GenericBrutal)
             {
                 if (kind == PawnExecutionKind.OrganHarvesting)
                 {
                     forcedStage = 3;
                 }
             }
             else
             {
                 forcedStage = 2;
             }
         }
         else
         {
             forcedStage = 1;
         }
         ThoughtDef def;
         if (victim.IsColonist)
         {
             def = ThoughtDefOf.KnowColonistExecuted;
         }
         else
         {
             def = ThoughtDefOf.KnowGuestExecuted;
         }
         foreach (Pawn pawn in PawnsFinder.AllMapsCaravansAndTravelingTransportPods_Alive_FreeColonistsAndPrisoners)
         {
             pawn.needs.mood.thoughts.memories.TryGainMemory(ThoughtMaker.MakeThought(def, forcedStage), null);
         }
     }
 }
        public static void GiveThoughtsForPawnExecuted(Pawn victim, PawnExecutionKind kind)
        {
            if (!victim.RaceProps.Humanlike)
            {
                return;
            }
            int forcedStage = 1;

            if (victim.guilt.IsGuilty)
            {
                forcedStage = 0;
            }
            else
            {
                switch (kind)
                {
                case PawnExecutionKind.GenericHumane:
                    forcedStage = 1;
                    break;

                case PawnExecutionKind.GenericBrutal:
                    forcedStage = 2;
                    break;

                case PawnExecutionKind.OrganHarvesting:
                    forcedStage = 3;
                    break;
                }
            }
            ThoughtDef def = ((!victim.IsColonist) ? ThoughtDefOf.KnowGuestExecuted : ThoughtDefOf.KnowColonistExecuted);

            foreach (Pawn allMapsCaravansAndTravelingTransportPods_Alive_FreeColonistsAndPrisoner in PawnsFinder.AllMapsCaravansAndTravelingTransportPods_Alive_FreeColonistsAndPrisoners)
            {
                if (allMapsCaravansAndTravelingTransportPods_Alive_FreeColonistsAndPrisoner.IsColonist && allMapsCaravansAndTravelingTransportPods_Alive_FreeColonistsAndPrisoner.needs.mood != null)
                {
                    allMapsCaravansAndTravelingTransportPods_Alive_FreeColonistsAndPrisoner.needs.mood.thoughts.memories.TryGainMemory(ThoughtMaker.MakeThought(def, forcedStage));
                }
            }
        }
 internal static void _GiveThoughtsForPawnExecuted( Pawn victim, PawnExecutionKind kind )
 {
     if( !victim.RaceProps.Humanlike )
     {
         return;
     }
     int forcedStage = 0;
     switch( kind )
     {
     case PawnExecutionKind.GenericBrutal:
         forcedStage = 1;
         break;
     case PawnExecutionKind.GenericHumane:
         forcedStage = 0;
         break;
     case PawnExecutionKind.OrganHarvesting:
         forcedStage = 2;
         break;
     }
     ThoughtDef empathicDef = null;
     ThoughtDef psychopathDef = null;
     if( victim.IsColonist )
     {
         empathicDef     = Data.ThoughtDefOf.KnowColonistExecutedEmpathic;
         psychopathDef   = Data.ThoughtDefOf.KnowColonistExecutedPsychopath;
     }
     else
     {
         empathicDef     = Data.ThoughtDefOf.KnowGuestExecutedEmpathic;
         psychopathDef   = Data.ThoughtDefOf.KnowGuestExecutedPsychopath;
     }
     foreach( var pawn in Find.MapPawns.FreeColonistsAndPrisoners )
     {
         pawn.needs.mood.thoughts.memories.TryGainMemoryThought( ThoughtMaker.MakeThought( empathicDef, forcedStage ) );
         pawn.needs.mood.thoughts.memories.TryGainMemoryThought( ThoughtMaker.MakeThought( psychopathDef, forcedStage ) );
     }
 }
예제 #12
0
 public static bool Listener(Pawn victim, PawnExecutionKind kind)
 {
     return(!victim.IsBasicAndroidTier());
 }