Dear visitor, welcome to Gaming Insight Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Saturday, February 12th 2011, 8:00pm

Valiona Heroic

First, this is my mod modification compared with original.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Index: E:/Documents/dbm4/trunk/DBM-BastionTwilight/ValionaTheralion.lua
===================================================================
--- E:/Documents/dbm4/trunk/DBM-BastionTwilight/ValionaTheralion.lua	(리비전 5163)
+++ E:/Documents/dbm4/trunk/DBM-BastionTwilight/ValionaTheralion.lua	(작업 사본)
@@ -15,14 +15,17 @@
 	"SPELL_AURA_REMOVED",
 	"SPELL_CAST_START",
 	"SPELL_DAMAGE",
-	"CHAT_MSG_MONSTER_YELL",
+	"CHAT_MSG_RAID_BOSS_EMOTE",
 	"UNIT_AURA"
 )
 
-local warnTwilightMeteorite			= mod:NewCastAnnounce(86013, 2, nil, false)--Just a basic cast warning, not entirely helpful.
+--local warnTwilightMeteorite		= mod:NewCastAnnounce(86013, 2, nil, false)--Just a basic cast warning, not entirely helpful.
 local warnBlackout					= mod:NewTargetAnnounce(86788, 3)
 local warnDevouringFlames			= mod:NewSpellAnnounce(86840, 3)
 local warnEngulfingMagic			= mod:NewTargetAnnounce(86622, 3)
+local warnDazzlingDestruction		= mod:NewAnnounce("WarnDazzlingDestruction", 4, 86408)
+local warnDeepBreath				= mod:NewAnnounce("WarnDeepBreath", 4, 86059)
+local warnTwilightShift				= mod:NewAnnounce("WarnTwilightShift", 2, 93051)
 
 local timerBlackout					= mod:NewTargetTimer(15, 86788)
 local timerBlackoutCD				= mod:NewCDTimer(45, 86788)
@@ -30,17 +33,21 @@
 local timerTwilightMeteorite		= mod:NewCastTimer(6, 86013)		
 local timerEngulfingMagic			= mod:NewBuffActiveTimer(20, 86622)
 local timerEngulfingMagicNext		= mod:NewCDTimer(35, 86622)--30-40 second variations.
-local timerNextDeepBreath			= mod:NewNextTimer(105, 86059)
+local timerNextDeepBreath			= mod:NewNextTimer(103, 86059)
 local timerNextDazzlingDestruction	= mod:NewNextTimer(132, 86408)
+local timerTwilightShift			= mod:NewTargetTimer(100, 93051)
+local timerTwilightShiftCD			= mod:NewCDTimer(20, 93051)
 
 local specWarnBlackout				= mod:NewSpecialWarningYou(86788)
 local specWarnEngulfingMagic		= mod:NewSpecialWarningYou(86622)
 local specWarnTwilightMeteorite		= mod:NewSpecialWarningYou(88518)
+local specWarnDevouringFlames		= mod:NewSpecialWarningSpell(86840)
 local specWarnDeepBreath			= mod:NewSpecialWarningSpell(86059)
 local specWarnDazzlingDestruction	= mod:NewSpecialWarningSpell(86408)
 local specWarnFabulousFlames		= mod:NewSpecialWarningMove(92907)--Unfortunately even though 
 local specWarnTwilightBlast			= mod:NewSpecialWarningMove(92898)
 local specWarnTwilightBlastNear		= mod:NewSpecialWarningClose(92898, false)
+local specWarnTwilightZone			= mod:NewSpecialWarningStack(92887, nil, 10)
 
 local berserkTimer					= mod:NewBerserkTimer(600)
 
@@ -55,10 +62,13 @@
 local engulfingMagicTargets = {}
 local engulfingMagicIcon = 7
 local dazzlingCast = 0
+local breathCast = 0
 local lastflame = 0
+local spamZone = 0
 local markWarned = false
 local blackoutActive = false
 local meteorTarget = GetSpellInfo(88518)
+local deepName = GetSpellInfo(86059)
 
 local function showEngulfingMagicWarning()
 	warnEngulfingMagic:Show(table.concat(engulfingMagicTargets, "<, >"))
@@ -110,7 +120,9 @@
 	timerDevouringFlamesCD:Start(25-delay)
 	timerNextDazzlingDestruction:Start(85-delay)
 	dazzlingCast = 0
+	breathCast = 0
 	lastflame = 0
+	spamZone = 0
 	markWarned = false
 	blackoutActive = false
 	if self.Options.RangeFrame then
@@ -155,8 +167,20 @@
 		else
 			self:Schedule(0.3, showEngulfingMagicWarning)
 		end
-	elseif args:IsSpellID(93051) then--heroic placeholder cause honestly i'm not quite sure i understand this mechanic yet until i see it.
-	
+	elseif args:IsSpellID(93051) then
+		warnTwilightShift:Show(args.spellName, args.destName, args.amount or 1)
+		timerTwilightShift:Cancel(args.destName.." (1)")
+		timerTwilightShift:Cancel(args.destName.." (2)")
+		timerTwilightShift:Cancel(args.destName.." (3)")
+		timerTwilightShift:Cancel(args.destName.." (4)")
+		timerTwilightShift:Cancel(args.destName.." (5)")
+		timerTwilightShift:Show(args.destName.." ("..tostring(args.amount or 1)..")")
+		timerTwilightShiftCD:Start()
+	elseif args:IsSpellID(92887) and args:IsPlayer() then
+		if (args.amount or 1) >= 10 and GetTime() - spamZone > 5 then
+			specWarnTwilightZone:Show(args.amount)
+			spamZone = GetTime()
+		end
 	end
 end
 
@@ -175,6 +199,12 @@
 		if self.Options.EngulfingIcon then
 			self:SetIcon(args.destName, 0)
 		end
+	elseif args:IsSpellID(93051) then
+		timerTwilightShift:Cancel(args.destName.." (1)")
+		timerTwilightShift:Cancel(args.destName.." (2)")
+		timerTwilightShift:Cancel(args.destName.." (3)")
+		timerTwilightShift:Cancel(args.destName.." (4)")
+		timerTwilightShift:Cancel(args.destName.." (5)")
 	end
 end	
 
@@ -182,11 +212,10 @@
 	if args:IsSpellID(86840, 90950) then--Strange to have 2 cast ids instead of either 1 or 4
 		warnDevouringFlames:Show()
 		timerDevouringFlamesCD:Start()
-	elseif args:IsSpellID(86013, 92859, 92860, 92861) then
-		warnTwilightMeteorite:Show()
-		timerTwilightMeteorite:Start()
+		specWarnDevouringFlames:Show()
 	elseif args:IsSpellID(86408) then
 		dazzlingCast = dazzlingCast + 1
+		warnDazzlingDestruction:Show(args.spellName, dazzlingCast)
 		if dazzlingCast == 1 then--only special warn once for first one
 			specWarnDazzlingDestruction:Show()
 		elseif dazzlingCast == 3 then--Cancel bars now as it's safer then doing it at beginning do to a late 3rd blackout gets cast sometimes.
@@ -208,11 +237,18 @@
 	end
 end
 
-function mod:CHAT_MSG_MONSTER_YELL(msg)
+function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
 	if msg == L.Trigger1 or msg:find(L.Trigger1) then
-		specWarnDeepBreath:Show()
-		timerNextDazzlingDestruction:Start()
-		self:Schedule(40, valionaDelay)--We do this cause you get at least one more engulfing magic after this emote before they completely switch so we need a method to cancel bar more appropriately
+		breathCast = breathCast + 1
+		warnDeepBreath:Show(deepName, breathCast)
+		if breathCast == 1 then
+			timerNextDeepBreath:Cancel()
+			specWarnDeepBreath:Show()
+			timerNextDazzlingDestruction:Start()
+			self:Schedule(40, valionaDelay)--We do this cause you get at least one more engulfing magic after this emote before they completely switch so we need a method to cancel bar more appropriately
+		elseif breathCast == 3 then
+			breathCast = 0
+		end
 	end
 end
 
@@ -220,6 +256,7 @@
 	if uId == "player" then
 		if UnitDebuff("player", meteorTarget) and not markWarned then
 			specWarnTwilightMeteorite:Show()
+			timerTwilightMeteorite:Start()
 			if self.Options.YellOnMeteor then
 				SendChatMessage(L.YellMeteor, "SAY")
 			end


and locales.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Index: E:/Documents/dbm4/trunk/DBM-BastionTwilight/localization.kr.lua
===================================================================
--- E:/Documents/dbm4/trunk/DBM-BastionTwilight/localization.kr.lua	(리비전 5163)
+++ E:/Documents/dbm4/trunk/DBM-BastionTwilight/localization.kr.lua	(작업 사본)
@@ -11,26 +11,32 @@
 })
 
 L:SetWarningLocalization({
+	WarnDazzlingDestruction = "%s (%d)",
+	WarnDeepBreath 			= "%s (%d)",
+	WarnTwilightShift		= "%s : >%s< (%d)"
 })
 
 L:SetTimerLocalization({
 })
 
 L:SetOptionLocalization({
+	WarnDazzlingDestruction	= "Show warning for $spell:86408",
+	WarnDeepBreath 			= "Show warning for $spell:86059",
+	WarnTwilightShift		= "Show warning for $spell:93051",
 })
 
 L:SetMiscLocalization{
-	Trigger1				= "Theralion, I will engulf the hallway. Cover their escape!",--Terrible phase trigger, even transcriptor couldn't grab anything more usefull than this :(
+	Trigger1				= "Deep Breath",
 }


Here reasons.

1. warnTwilightMeteorite and timerTwilightMeteorite is very spammy and no useful at all. so I removed. Timer show only to me.

2. warnDazzlingDestruction and warnDeepBreath casting count added.
Because in Heroic mode Entering Twilight Zone is needed at Dazzling Destruction 3th cast. So I added count.

3. timerTwilightShift : Heroic ability like Algalon`s Phase Punch. 5 stacks = Twilight Zone warped. I`ve added Twilight Shift timer and stack count too.

4. timerNextDeepBreath: It has some ramdomly timers. 100~105s.

5. Deep Breath trigger changed : count support.

6. specWarnDevouringFlames: Vailona's Breath. Raid members easily fail to move.

7. specWarnTwilightZone : In Twilight Zone, debuff stacks. So supports to warn debuff stacks.

2

Saturday, February 12th 2011, 8:52pm

Re: Valiona Heroic

i noticed your locals were modified into kr local, is the trigger still "Deep Breath" or what is it in kr so i get it right for you?

commited btw :)

3

Saturday, February 12th 2011, 10:01pm

Re: Valiona Heroic

koKR locales.

Source code

1
	Trigger1				= "들이쉽니다!",


and.. bugs in this.

Source code

1
2
	BlackoutIcon			= DBM_CORE_AUTO_ICONS_OPTION_TEXT:format(92878),
	EngulfingIcon			= DBM_CORE_AUTO_ICONS_OPTION_TEXT:format(86622)


Currently, BlackoutIcon and EngulfingIcon is in SetMiscLocalization section. but right position is SetOptionLocalization.
So correct this, too.

4

Saturday, February 12th 2011, 11:11pm

Re: Valiona Heroic

if i recall deep breath had cast triggers anyways, i just used yell cause it came before the casts, but if we use emote shouldn't there be cast triggers to use instead of locals?

edit, maybe not, i checked logs and found no spells in combat log :(. an emote and yell are at same time for first one, diff is emote goes off 3 times yell doesnt, which fits well for intentinos for heroic.