示例#1
0
 protected override void LastWord()
 {
     //Debug.Log("DogeBoss: LastWord");
     talkBubble.StopAllCoroutines();
     if (DogeBossData.killed_lines.ContainsKey(beingObj.beingID))
     {
         //Debug.Log("DogeBoss: Playing last word");
         talkBubble.Show(true);
         S.I.PlayOnce(talkBubble.vocSynth);
         talkBubble.SetText(DogeBossData.GetRandomBossLine(DogeBossData.killed_lines, beingObj.beingID, S.I.batCtrl.currentHeroObj.nameString));
     }
     DownEffects();
 }
示例#2
0
        static bool _StartDialogue(Boss __instance, string key, ref IEnumerator __result)
        {
            if (__instance is DogeBoss)
            {
                //Debug.Log("DogeBoss: _StartDialogue patch");
                //Debug.Log("Playing custom " + key + " line");
                switch (key)
                {
                case "Intro":
                    if (DogeBossData.intro_lines.ContainsKey(__instance.beingObj.beingID))
                    {
                        __result = ((DogeBoss)__instance)._DialogueC(DogeBossData.GetRandomBossLine(DogeBossData.intro_lines, __instance.beingObj.beingID, S.I.batCtrl.currentHeroObj.nameString));
                    }
                    break;

                case "Execution":
                    if (DogeBossData.execution_lines.ContainsKey(__instance.beingObj.beingID))
                    {
                        __result = ((DogeBoss)__instance)._DialogueC(DogeBossData.GetRandomBossLine(DogeBossData.execution_lines, __instance.beingObj.beingID, S.I.batCtrl.currentHeroObj.nameString));
                    }
                    break;

                case "Spare":
                    if (DogeBossData.spare_lines.ContainsKey(__instance.beingObj.beingID))
                    {
                        __result = ((DogeBoss)__instance)._DialogueC(DogeBossData.GetRandomBossLine(DogeBossData.spare_lines, __instance.beingObj.beingID, S.I.batCtrl.currentHeroObj.nameString));
                    }
                    break;

                case "Downed":
                    if (DogeBossData.defeated_lines.ContainsKey(__instance.beingObj.beingID))
                    {
                        __result = ((DogeBoss)__instance)._DialogueC(DogeBossData.GetRandomBossLine(DogeBossData.defeated_lines, __instance.beingObj.beingID, S.I.batCtrl.currentHeroObj.nameString));
                    }
                    break;

                case "Flawless":
                    if (DogeBossData.perfect_lines.ContainsKey(__instance.beingObj.beingID))
                    {
                        __result = ((DogeBoss)__instance)._DialogueC(DogeBossData.GetRandomBossLine(DogeBossData.perfect_lines, __instance.beingObj.beingID, S.I.batCtrl.currentHeroObj.nameString));
                    }
                    break;

                case "Mercy":
                    if (DogeBossData.mercy_lines.ContainsKey(__instance.beingObj.beingID))
                    {
                        __result = ((DogeBoss)__instance)._DialogueC(DogeBossData.GetRandomBossLine(DogeBossData.mercy_lines, __instance.beingObj.beingID, S.I.batCtrl.currentHeroObj.nameString));
                    }
                    break;

                default:
                    __result = ((DogeBoss)__instance)._DialogueC("I AM ERROR");
                    break;
                }
                if (__result == null)
                {
                    Debug.Log("Found no " + key + " line");
                    __result = ((DogeBoss)__instance)._DialogueC(__instance.bossID + "/" + key);
                }
                return(false);
            }
            else
            {
                return(true);
            }
        }