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(); }
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); } }