Experts weigh in on what you should do if you win the ...

youwin video

youwin video - win

Huge-Oslavia help

I could use some help on this. I have read what guides I found for this achievement, but they seem to be from 2016. I have also watched sir youwin video and Quills play through with Yugoslavia. Clearly I am not great at this game after 15 or so failures. I have attempted this with and without historical ai.
I usually end up running out of manpower and I can't seem to win battles as quickly as the guide or videos suggest. Any additional tips would be welcome. Perhaps luck will be with me one of these attemps.
submitted by Gheizt to hoi4 [link] [comments]

Can't break the US as Fascist Canada

It's mid-38 i have 30 divisions(6infantry) on the east cost plus Synarchist Mexico won the civil war but, i can't break the US, i cut them off but i just can't finish them off quick enough, i use Sir Youwin's old video as a tutorial but i can't pull it off.
submitted by YEE375 to hoi4 [link] [comments]

Optimizing performance of Zergling Rush!

I was hoping someone could take this module to the next level. I've got it working well, but a lot of time is spent on each zergling's search for a target.
Attribute VB_Name = "Zerg" Option Explicit Private Type Zergling 'Basic Zerg unit Row As Long 'Row Col As Long 'Column Container As String 'Target.Name of parent WaitUntil As Single 'Timer dependency TargetIndex As Long 'Target index Direction As Byte '1=Up, 2=UpRight, 3=Right, 4=DownRight, 5=Down, 6=DownLeft, 7=Left, 8=UpLeft Distance As Long 'Movement points to destination AttackDirection As Byte 'Direction of attack End Type Private Type Target 'Destructible object on ActiveSheet Name As String 'Address of range or Name of object RowSt As Long 'Starting Row RowEn As Long 'Ending Row ColSt As Long 'Starting Column Colen As Long 'Ending Column HitPoints As Double 'Attacks needed to destroy ObjectType As Byte '0 = Range, 1 = Table, 2 = Pivot, 3 = Other Container As String 'Target.Name of parent End Type Private Type PathStep 'Leading cell of path searching target Row As Long 'Leading cell Row Col As Long 'Leading cell Column FirstRow As Long 'Row for first move on path FirstCol As Long 'Column for first move on path Direction As Byte '1=Up, 2=UpRight, 3=Right, 4=DownRight, 5=Down, 6=DownLeft, 7=Left, 8=UpLeft Points As Long 'Movement points from origin Deadend As Boolean 'Path cannot continue TargetDirection As Byte 'Direction of attack End Type Private Const DBUG = False 'Modify behaviors for debugging Private Const MaxHP = 16, MovementFrequency = 0.25, SoundFrequency = 0.25 Private Const SFXPath = "C:\Users\Name\AppData\Roaming\Microsoft\Excel\" Private EmptyCell As String, TotalScore As Long, DropCellRow As Long, DropCellCol As Long Private LastSoundTime As Single, BattleStart As Date, Victory As Boolean, NextDrop As Single Private Zerglings() As Zergling, Targets() As Target, PathSteps() As PathStep, Leader As Zergling Private Declare Function PlaySoundSys Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal SoundFile As String, Optional ByVal Flgs As Long = &H1&) As Long Public Sub ZerglingRush() Erase Zerglings, Targets, PathSteps: Victory = False IdentifyTargets Dim i, z: z = RequiredZerglings: If ZerglingsHasValue Then z = z + (UBound(Zerglings) + 1) ZerglingAdd DropCellRow, DropCellCol, "", True: ZerglingAdd DropCellRow, DropCellCol + 1, "", True BattleStart = Now Do Until Victory If UBound(Zerglings) + 1 < z Then Do Until Timer > NextDrop: DoEvents: Loop: NextDrop = Timer + MovementFrequency If Cells(DropCellRow, DropCellCol) = "" And UBound(Zerglings) + 1 < z _ Then ZerglingAdd DropCellRow, DropCellCol, "", True If Cells(DropCellRow, DropCellCol + 1) = "" And UBound(Zerglings) + 1 < z _ Then ZerglingAdd DropCellRow, DropCellCol + 1, "", True End If For i = LBound(Zerglings) To UBound(Zerglings) If Timer >= Zerglings(i).WaitUntil Then TakeAction Zerglings(i) If Victory Then Exit For DoEvents Next Loop PlaySoundSys SFXPath & "youwin.wav" MsgBox "Total Victory" & vbCrLf & vbCrLf & _ "Time: " & Format(Now - BattleStart, "n:ss") & vbCrLf & vbCrLf & _ "Score: " & TotalScore, vbExclamation, "Zergling Rush" End Sub Private Sub PlaySound(ByVal SoundFile As String) If Timer > LastSoundTime + SoundFrequency Then PlaySoundSys SoundFile: LastSoundTime = Timer End Sub Private Function RequiredZerglings() As Integer PlaySound SFXPath & "zzerdy00.wav" Dim t: t = TotalScore / 16 If t < 2 Then t = 2 If t > 16 Then t = 16 RequiredZerglings = t End Function Private Sub IdentifyTargets() Dim x, h, c For Each x In ActiveSheet.UsedRange.Cells c = "": h = TargetHP(x): If x.HasFormula Then x.Value = x.Value If x.Value = "z" Then If InPivot(x) Then ZerglingAdd x.Row, x.Column, x.PivotTable ElseIf InTable(x) Then ZerglingAdd x.Row, x.Column, x.ListObject Else ZerglingAdd x.Row, x.Column, "" End If Else If InPivot(x) Then If h = 0 Then h = 1 c = x.PivotTable.Name TargetAdd x.PivotTable, _ x.PivotTable.TableRange2.Row, _ x.PivotTable.TableRange2.Row + x.PivotTable.TableRange2.Rows.Count - 1, _ x.PivotTable.TableRange2.Column, _ x.PivotTable.TableRange2.Column + x.PivotTable.TableRange2.Columns.Count - 1, _ h, 2, "" ElseIf InTable(x) Then If h = 0 Then h = 1 c = x.ListObject.Name TargetAdd x.ListObject, _ x.ListObject.Range.Row, _ x.ListObject.Range.Row + x.ListObject.Range.Rows.Count - 1, _ x.ListObject.Range.Column, _ x.ListObject.Range.Column + x.ListObject.Range.Columns.Count - 1, _ h, 1, "" End If If x.MergeCells Then If h = 0 Then h = 1 If h * (x.MergeArea.Cells.Count) <= 255 Then h = h * (x.MergeArea.Cells.Count) Else h = 255 If h Then TargetAdd x.MergeArea.Address, _ x.MergeArea.Row, _ x.MergeArea.Row + x.MergeArea.Rows.Count - 1, _ x.MergeArea.Column, _ x.MergeArea.Column + x.MergeArea.Columns.Count - 1, _ h, 0, c Else If h Then TargetAdd x.Address, x.Row, x.Row, x.Column, x.Column, h, 0, c End If End If Next For Each x In ActiveSheet.Shapes If x.Type <> msoComment Then h = Range(x.TopLeftCell.Address & ":" & x.BottomRightCell.Address).Cells.Count * 8 If h > 255 Then h = 255 TargetAdd x.Name, x.TopLeftCell.Row, x.BottomRightCell.Row, _ x.TopLeftCell.Column, x.BottomRightCell.Column, h, 3, "" End If Next CalabrateTargetHP FlattenPivotsAndTables End Sub Private Function ZerglingsHasValue() As Boolean On Error GoTo ErrOut If IsNumeric(UBound(Zerglings)) Then ZerglingsHasValue = True ErrOut: End Function Private Sub ZerglingAdd(zRow, zCol, Container, Optional Drop As Boolean) If ZerglingsHasValue Then ReDim Preserve Zerglings(UBound(Zerglings) + 1) Else ReDim Zerglings(0) Zerglings(UBound(Zerglings)).Row = zRow Zerglings(UBound(Zerglings)).Col = zCol Zerglings(UBound(Zerglings)).Container = Container Zerglings(UBound(Zerglings)).WaitUntil = Timer Zerglings(UBound(Zerglings)).TargetIndex = -1 FormatZerglingCell zRow, zCol End Sub Private Sub FormatZerglingCell(zRow, zCol) Cells(zRow, zCol).Font.Size = 8 Cells(zRow, zCol).Font.Strikethrough = False Cells(zRow, zCol).Font.Superscript = False Cells(zRow, zCol).Font.Subscript = False Cells(zRow, zCol).Font.OutlineFont = False Cells(zRow, zCol).Font.Shadow = False Cells(zRow, zCol).Font.Underline = xlUnderlineStyleNone Cells(zRow, zCol).Font.ThemeColor = xlThemeColorLight1 Cells(zRow, zCol).Font.TintAndShade = 0 Cells(zRow, zCol).Font.ThemeFont = xlThemeFontNone Cells(zRow, zCol).Font.Bold = True Cells(zRow, zCol).HorizontalAlignment = xlCenter Cells(zRow, zCol).VerticalAlignment = xlCenter Cells(zRow, zCol).WrapText = False Cells(zRow, zCol).Orientation = 0 Cells(zRow, zCol).AddIndent = False Cells(zRow, zCol).IndentLevel = 0 Cells(zRow, zCol).ShrinkToFit = True Cells(zRow, zCol).ReadingOrder = xlContext Cells(zRow, zCol).MergeCells = False Cells(zRow, zCol).Borders(xlDiagonalDown).LineStyle = xlNone Cells(zRow, zCol).Borders(xlDiagonalUp).LineStyle = xlNone Cells(zRow, zCol).Borders(xlEdgeLeft).LineStyle = xlNone Cells(zRow, zCol).Borders(xlEdgeTop).LineStyle = xlNone Cells(zRow, zCol).Borders(xlEdgeBottom).LineStyle = xlNone Cells(zRow, zCol).Borders(xlEdgeRight).LineStyle = xlNone Cells(zRow, zCol).Borders(xlInsideVertical).LineStyle = xlNone Cells(zRow, zCol).Borders(xlInsideHorizontal).LineStyle = xlNone Cells(zRow, zCol).Interior.Pattern = xlNone Cells(zRow, zCol).Interior.TintAndShade = 0 Cells(zRow, zCol).Interior.PatternTintAndShade = 0 Cells(zRow, zCol) = "z" End Sub Public Function CellValueIsError(c) As Boolean On Error Resume Next CellValueIsError = True CellValueIsError = Len(c) < 0 End Function Private Function TargetHP(c) As Double Dim h: If CellValueIsError(c) Then c.Value = "#ERR" If IsNumeric(c.Value) Then h = Abs(c.Value) ElseIf IsDate(c.Value) Then If CDate(c.Value) > 1 Then If CDate(c.Value) < Date Then h = (Date - CDate(c.Value)) + 2 Else h = (CDate(c.Value) - Date) + 2 End If Else h = CDate(c.Value) * 24 End If Else h = Len(c.Value) * 2 End If If Not (c.Interior.Pattern = xlNone _ And c.Interior.TintAndShade = 0 _ And c.Interior.PatternTintAndShade = 0) Then h = h + 1 If h = 0 And Len(c.Value) > 0 Then h = 1 TargetHP = h End Function Private Sub CalabrateTargetHP() Dim n, i, r, c: n = 0 For i = LBound(Targets) To UBound(Targets) If Targets(i).ObjectType = 0 And Targets(i).HitPoints > n Then n = Targets(i).HitPoints Next If n > MaxHP Then n = n / MaxHP For i = LBound(Targets) To UBound(Targets) If Targets(i).ObjectType = 0 Then If Targets(i).HitPoints > 2 Then Targets(i).HitPoints = Int(Targets(i).HitPoints / n) If Targets(i).HitPoints < 2 Then Targets(i).HitPoints = 2 End If End If TotalScore = TotalScore + Targets(i).HitPoints If Targets(i).RowEn > r Then r = Targets(i).RowEn If Targets(i).Colen > c Then c = Targets(i).Colen Next End If DropCellRow = r + 8: DropCellCol = c + 8 EmptyCell = Cells(DropCellRow + 2, DropCellCol + 2).Address End Sub Private Sub FlattenPivotsAndTables() Dim i, o, r, p, h, v: o = Selection.Address: v = ActiveWindow.ScrollRow: h = ActiveWindow.ScrollColumn For i = LBound(Targets) To UBound(Targets) If Targets(i).ObjectType = 1 Then ActiveSheet.ListObjects(Targets(i).Name).Unlist ElseIf Targets(i).ObjectType = 2 Then r = Cells(ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count, _ ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count).Address ActiveSheet.PivotTables(Targets(i).Name).TableRange1.Select p = Selection.Address: Selection.Copy Range(r).Select: Selection.PasteSpecial xlPasteFormats r = Selection.Address: ActiveSheet.PivotTables(Targets(i).Name).TableRange2.Select Selection.Copy: Selection.PasteSpecial xlPasteValues Range(r).Select: Selection.Copy: Range(p).Select: Selection.PasteSpecial xlPasteFormats Range(r).Delete End If Next Range(o).Select: ActiveWindow.ScrollRow = v: ActiveWindow.ScrollColumn = h End Sub Private Function TargetsHasValue() As Boolean On Error GoTo ErrOut If IsNumeric(UBound(Targets)) Then TargetsHasValue = True ErrOut: End Function Private Function TargetLookup(Item As Variant, Optional ByRef ReturnIndex) As Boolean If TargetsHasValue Then Dim i As Long For i = LBound(Targets) To UBound(Targets) If Targets(i).Name = Item Then If Not IsMissing(ReturnIndex) Then ReturnIndex = i TargetLookup = True Exit Function End If Next End If End Function Private Sub TargetAdd(ByRef Name, ByRef RowSt, ByRef RowEn, ByRef ColSt, ByRef Colen, ByRef HitPoints, ByRef ObjectType, ByRef Container) Dim i If TargetLookup(Name, i) Then If Targets(i).HitPoints + HitPoints > 64 Then Targets(i).HitPoints = 64 _ Else Targets(i).HitPoints = Targets(i).HitPoints + HitPoints Else If TargetsHasValue Then ReDim Preserve Targets(UBound(Targets) + 1) Else ReDim Targets(0) Targets(UBound(Targets)).Name = Name Targets(UBound(Targets)).RowSt = RowSt Targets(UBound(Targets)).RowEn = RowEn Targets(UBound(Targets)).ColSt = ColSt Targets(UBound(Targets)).Colen = Colen Targets(UBound(Targets)).HitPoints = HitPoints Targets(UBound(Targets)).ObjectType = ObjectType Targets(UBound(Targets)).Container = Container End If End Sub Private Function InPivot(c) As Boolean On Error GoTo ErrOut If c.PivotTable.Name = c.PivotTable.Name Then InPivot = True ErrOut: End Function Private Function InTable(c) As Boolean On Error GoTo ErrOut If c.ListObject.Name = c.ListObject.Name Then InTable = True ErrOut: End Function Private Sub TakeAction(z As Zergling) Dim i, n, s As PathStep, t If Len(z.Container) > 0 Then Cells(z.Row, z.Col) = "z" z.WaitUntil = Timer + MovementFrequency ElseIf Cells(z.Row, z.Col) = "Z" Then Cells(z.Row, z.Col) = "z": z.WaitUntil = Timer + MovementFrequency Else If z.Distance = 0 And z.TargetIndex > -1 Then 'start over if target is destroyed If Targets(z.TargetIndex).HitPoints <= 0 Then z.TargetIndex = -1 End If 'not when travelling because targets often destroyed before in range If z.Distance > 0 And z.TargetIndex > -1 Then 'if direction then continue ContinueDirection z, s End If If z.TargetIndex = -1 Or z.Distance = 0 Then Cells(z.Row, z.Col).Font.Color = 0 FindTargetShortRange z, s If z.Distance > 0 Then ContinueDirection z, s End If If z.TargetIndex = -1 Then FindTargetLongRange z, s: ContinueDirection z, s End If If s.Points = 0 And z.TargetIndex > -1 Then 'if target reached then do damage Select Case z.AttackDirection '1=Up, 2=UpRight, 3=Right, 4=DownRight, 5=Down, 6=DownLeft, 7=Left, 8=UpLeft Case 1: Cells(z.Row, z.Col).HorizontalAlignment = xlCenter Cells(z.Row, z.Col).VerticalAlignment = xlTop Case 2: Cells(z.Row, z.Col).HorizontalAlignment = xlRight Cells(z.Row, z.Col).VerticalAlignment = xlTop Case 3: Cells(z.Row, z.Col).HorizontalAlignment = xlRight Cells(z.Row, z.Col).VerticalAlignment = xlCenter Case 4: Cells(z.Row, z.Col).HorizontalAlignment = xlRight Cells(z.Row, z.Col).VerticalAlignment = xlBottom Case 5: Cells(z.Row, z.Col).HorizontalAlignment = xlCenter Cells(z.Row, z.Col).VerticalAlignment = xlBottom Case 6: Cells(z.Row, z.Col).HorizontalAlignment = xlLeft Cells(z.Row, z.Col).VerticalAlignment = xlBottom Case 7: Cells(z.Row, z.Col).HorizontalAlignment = xlLeft Cells(z.Row, z.Col).VerticalAlignment = xlCenter Case 8: Cells(z.Row, z.Col).HorizontalAlignment = xlLeft Cells(z.Row, z.Col).VerticalAlignment = xlTop End Select DamageTarget z.TargetIndex: Cells(z.Row, z.Col) = "Z": z.WaitUntil = Timer + MovementFrequency ElseIf s.FirstRow > 0 And s.FirstCol > 0 Then 'if move identified then move n = Cells(s.FirstRow, s.FirstCol).Interior.Color Cells(z.Row, z.Col).Copy Cells(s.FirstRow, s.FirstCol) Cells(s.FirstRow, s.FirstCol).Interior.Color = n Cells(z.Row, z.Col) = Null z.Row = s.FirstRow: z.Col = s.FirstCol: z.AttackDirection = s.TargetDirection z.WaitUntil = Timer + MovementFrequency + (((1 - (s.Direction Mod 2)) / 5) * MovementFrequency) 'Diagnal adds 1/5th step Else 'Wait a tick z.WaitUntil = Timer + MovementFrequency End If End If End Sub Private Sub FindTargetShortRange(ByRef z As Zergling, ByRef s As PathStep) Dim i, m, n, o As Long: Leader.Distance = 0: z.TargetIndex = -1 Erase PathSteps: PathAdd z.Row, z.Col, 0, 0, 0, 0 Do Until z.TargetIndex > -1 'check short range n = 0: o = 0 For i = LBound(PathSteps) To UBound(PathSteps) If (PathSteps(i).Points < n Or n = 0) And Not PathSteps(i).Deadend _ Then n = PathSteps(i).Points: s = PathSteps(i): m = i If Not PathSteps(i).Deadend Then o = o + 1 Next If o = 0 Then Exit Do 'follow nearest zergling with target if points > 20 If s.Points >= 60 Then Exit Do z.TargetIndex = ScanAttachedCells(s): PathSteps(m) = s: n = 0 If Leader.Distance > 30 Then Exit Do If UBound(PathSteps) > 512 Then z.Container = "Idle": Exit Do Loop If z.TargetIndex = -1 And Leader.Distance > 0 Then z.Direction = Leader.Direction: z.TargetIndex = Leader.TargetIndex: z.Distance = Leader.Distance: Cells(z.Row, z.Col).Font.Color = 8421376 Else If s.Points > 20 Then z.Direction = s.Direction: z.Distance = s.Points - 20 End If End Sub Private Sub FindTargetLongRange(ByRef z As Zergling, ByRef s As PathStep) Dim rs As Long, re As Long, cs As Long, ce As Long, rst, ret, cst, cet, i For i = LBound(Targets) To UBound(Targets) If Targets(i).HitPoints > 0 Then If Targets(i).RowSt < rs Or rs = 0 Then rs = Targets(i).RowSt: rst = i If Targets(i).RowEn > re Or re = 0 Then re = Targets(i).RowEn: ret = i If Targets(i).ColSt < cs Or cs = 0 Then cs = Targets(i).ColSt: cst = i If Targets(i).Colen > ce Or ce = 0 Then ce = Targets(i).Colen: cet = i End If Next If rs - z.Row > 0 Then If cs - z.Col > 0 Then If rs - z.Row > cs - z.Col Then '5=Down s.Direction = 5: s.Points = ((rs - z.Row) * 4) - 10 s.FirstRow = z.Row + 1: s.FirstCol = z.Col: z.TargetIndex = rst ElseIf rs - z.Row < cs - z.Col Then '3=Right s.Direction = 3: s.Points = ((cs - z.Col) * 4) - 10 s.FirstRow = z.Row: s.FirstCol = z.Col + 1: z.TargetIndex = cst Else '4=DownRight s.Direction = 4: s.Points = ((rs - z.Row) * 5) - 10 s.FirstRow = z.Row + 1: s.FirstCol = z.Col + 1: z.TargetIndex = rst End If Else If rs - z.Row > z.Col - ce Then '5=Down s.Direction = 5: s.Points = ((rs - z.Row) * 4) - 10 s.FirstRow = z.Row + 1: s.FirstCol = z.Col: z.TargetIndex = rst ElseIf rs - z.Row < z.Col - ce Then '7=Left s.Direction = 7: s.Points = ((z.Col - ce) * 4) - 10 s.FirstRow = z.Row: s.FirstCol = z.Col - 1: z.TargetIndex = cet Else '6=DownLeft s.Direction = 6: s.Points = ((rs - z.Row) * 5) - 10 s.FirstRow = z.Row + 1: s.FirstCol = z.Col - 1: z.TargetIndex = rst End If End If Else If cs - z.Col > 0 Then If z.Row - re > cs - z.Col Then '1=Up s.Direction = 1: s.Points = ((z.Row - re) * 4) - 10 s.FirstRow = z.Row - 1: s.FirstCol = z.Col: z.TargetIndex = ret ElseIf z.Row - re < cs - z.Col Then '3=Right s.Direction = 3: s.Points = ((cs - z.Col) * 4) - 10 s.FirstRow = z.Row: s.FirstCol = z.Col + 1: z.TargetIndex = cst Else '2=UpRight s.Direction = 2: s.Points = ((z.Row - re) * 5) - 10 s.FirstRow = z.Row - 1: s.FirstCol = z.Col + 1: z.TargetIndex = ret End If Else If z.Row - re > z.Col - ce Then '1=Up s.Direction = 1: s.Points = ((z.Row - re) * 4) - 10 s.FirstRow = z.Row - 1: s.FirstCol = z.Col: z.TargetIndex = ret ElseIf z.Row - re < z.Col - ce Then '7=Left s.Direction = 7: s.Points = ((z.Col - ce) * 4) - 10 s.FirstRow = z.Row: s.FirstCol = z.Col - 1: z.TargetIndex = cet Else '8=UpLeft s.Direction = 8: s.Points = ((z.Row - re) * 5) - 10 s.FirstRow = z.Row - 1: s.FirstCol = z.Col - 1: z.TargetIndex = ret End If End If End If z.Direction = s.Direction: z.Distance = s.Points PlaySoundSys SFXPath & "zzeawk" & RandomNumber(1, 8) & ".wav" End Sub Private Sub ContinueDirection(ByRef z As Zergling, ByRef s As PathStep) Dim c1, c2, c3, r1, r2, r3 Select Case z.Direction '1=Up, 2=UpRight, 3=Right, 4=DownRight, 5=Down, 6=DownLeft, 7=Left, 8=UpLeft Case 1: c1 = z.Col: If z.Row = 1 Then r1 = 1 Else r1 = z.Row - 1 c2 = z.Col + 1: If z.Row = 1 Then r2 = 1 Else r2 = z.Row - 1 If z.Col = 1 Then c3 = 1 Else c3 = z.Col - 1 If z.Row = 1 Then r3 = 1 Else r3 = z.Row - 1 Case 2: c1 = z.Col + 1: If z.Row = 1 Then r1 = 1 Else r1 = z.Row - 1 c2 = z.Col + 1: r2 = z.Row c3 = z.Col: If z.Row = 1 Then r3 = 1 Else r3 = z.Row - 1 Case 3: r1 = z.Row: c1 = z.Col + 1 c2 = z.Col + 1: If z.Row = 1 Then r2 = 1 Else r2 = z.Row - 1 r3 = z.Row + 1: c3 = z.Col + 1 Case 4: r1 = z.Row + 1: c1 = z.Col + 1 r2 = z.Row: c2 = z.Col + 1 c3 = z.Col: r3 = z.Row + 1 Case 5: c1 = z.Col: r1 = z.Row + 1 r2 = z.Row + 1: c2 = z.Col + 1 r3 = z.Row + 1: If z.Col = 1 Then c3 = 1 Else c3 = z.Col - 1 Case 6: r1 = z.Row + 1: If z.Col = 1 Then c1 = 1 Else c1 = z.Col - 1 c2 = z.Col: r2 = z.Row + 1 r3 = z.Row: If z.Col = 1 Then c3 = 1 Else c3 = z.Col - 1 Case 7: r1 = z.Row: If z.Col = 1 Then c1 = 1 Else c1 = z.Col - 1 r2 = z.Row + 1: If z.Col = 1 Then c2 = 1 Else c2 = z.Col - 1 If z.Row = 1 Then r3 = 1 Else r3 = z.Row - 1 If z.Col = 1 Then c3 = 1 Else c3 = z.Col - 1 Case 8: If z.Row = 1 Then r1 = 1 Else r1 = z.Row - 1 If z.Col = 1 Then c1 = 1 Else c1 = z.Col - 1 r2 = z.Row: If z.Col = 1 Then c2 = 1 Else c2 = z.Col - 1 c3 = z.Col: If z.Row = 1 Then r3 = 1 Else r3 = z.Row - 1 End Select If TargetParentOfCell(r1, c1) And Not IsZergling(r1, c1) Then s.FirstRow = r1: s.FirstCol = c1: s.Direction = z.Direction: s.Points = z.Distance z.Distance = z.Distance - 4: If z.Distance < 0 Then z.Distance = 0 ElseIf TargetParentOfCell(r1, c1) And Not IsZergling(r2, c2) Then s.FirstRow = r2: s.FirstCol = c2: s.Direction = z.Direction: s.Points = z.Distance z.Distance = z.Distance - 4: If z.Distance < 0 Then z.Distance = 0 ElseIf TargetParentOfCell(r1, c1) And Not IsZergling(r3, c3) Then s.FirstRow = r3: s.FirstCol = c3: s.Direction = z.Direction: s.Points = z.Distance z.Distance = z.Distance - 4: If z.Distance < 0 Then z.Distance = 0 Else s.Points = 1 End If If z.Distance = 0 Then z.Direction = 0: z.TargetIndex = -1 End Sub Private Function ScanAttachedCells(ByRef s As PathStep) Dim c As PathStep, t, t2: t = -1: c = s If c.Row > 1 Then If c.Col > 1 Then t = TargetParentOfCell(c.Row - 1, c.Col - 1) '8=UpLeft If t = -1 And Not IsZergling(c.Row - 1, c.Col - 1) Then If c.Direction = 8 Then s.Row = s.Row - 1: s.Col = s.Col - 1: s.Points = s.Points + 5 ElseIf c.Direction = 0 _ Or (c.Direction = 7 And IsZergling(c.Row - 1, c.Col)) _ Or (c.Direction = 1 And IsZergling(c.Row, c.Col - 1)) _ Or (c.Direction = 2 And IsZergling(c.Row, c.Col - 1)) Then PathAdd c.Row - 1, c.Col - 1, c.FirstRow, c.FirstCol, 8, c.Points + 5 End If Else c.TargetDirection = 8 End If End If t2 = TargetParentOfCell(c.Row - 1, c.Col) '1=Up t = ChooseTarget(t, t2) If t2 = -1 And Not IsZergling(c.Row - 1, c.Col) Then If c.Direction = 1 Then s.Row = s.Row - 1: s.Col = s.Col: s.Points = s.Points + 4 ElseIf c.Direction = 2 Or c.Direction = 8 Or c.Direction = 0 Then PathAdd c.Row - 1, c.Col, c.FirstRow, c.FirstCol, 1, c.Points + 4 End If Else If t = t2 Then c.TargetDirection = 8 End If t2 = TargetParentOfCell(c.Row - 1, c.Col + 1) '2=UpRight t = ChooseTarget(t, t2) If t2 = -1 And Not IsZergling(c.Row - 1, c.Col + 1) And c.Col < DropCellCol + 2 Then If c.Direction = 2 Then s.Row = s.Row - 1: s.Col = s.Col + 1: s.Points = s.Points + 5 ElseIf c.Direction = 0 _ Or (c.Direction = 1 And IsZergling(c.Row, c.Col + 1)) _ Or (c.Direction = 3 And IsZergling(c.Row - 1, c.Col)) _ Or (c.Direction = 8 And IsZergling(c.Row, c.Col + 1)) Then PathAdd c.Row - 1, c.Col + 1, c.FirstRow, c.FirstCol, 2, c.Points + 5 End If Else If t = t2 Then c.TargetDirection = 2 End If End If If c.Col > 1 Then t2 = TargetParentOfCell(c.Row, c.Col - 1) '7=Left t = ChooseTarget(t, t2) If t2 = -1 And Not IsZergling(c.Row, c.Col - 1) Then If c.Direction = 7 Then s.Row = s.Row: s.Col = s.Col - 1: s.Points = s.Points + 4 ElseIf c.Direction = 6 Or c.Direction = 8 Or c.Direction = 0 Then PathAdd c.Row, c.Col - 1, c.FirstRow, c.FirstCol, 7, c.Points + 4 End If Else If t = t2 Then c.TargetDirection = 7 End If t2 = TargetParentOfCell(c.Row + 1, c.Col - 1) '6=DownLeft t = ChooseTarget(t, t2) If t2 = -1 And Not IsZergling(c.Row + 1, c.Col - 1) And 1 = 1 Then If c.Direction = 6 Then s.Row = s.Row + 1: s.Col = s.Col - 1: s.Points = s.Points + 5 ElseIf c.Direction = 0 _ Or (c.Direction = 7 And IsZergling(c.Row + 1, c.Col)) _ Or (c.Direction = 5 And IsZergling(c.Row, c.Col - 1)) _ Or (c.Direction = 4 And IsZergling(c.Row, c.Col - 1)) Then PathAdd c.Row + 1, c.Col - 1, c.FirstRow, c.FirstCol, 6, c.Points + 5 End If Else If t = t2 Then c.TargetDirection = 6 End If End If t2 = TargetParentOfCell(c.Row, c.Col + 1) '3=Right t = ChooseTarget(t, t2) If t2 = -1 And Not IsZergling(c.Row, c.Col + 1) And c.Col < DropCellCol + 2 Then If c.Direction = 3 Then s.Row = s.Row: s.Col = s.Col + 1: s.Points = s.Points + 4 ElseIf c.Direction = 0 Or c.Direction = 2 Or c.Direction = 4 Then PathAdd c.Row, c.Col + 1, c.FirstRow, c.FirstCol, 3, c.Points + 4 End If Else If t = t2 Then c.TargetDirection = 3 End If t2 = TargetParentOfCell(c.Row + 1, c.Col) '5=Down t = ChooseTarget(t, t2) If t2 = -1 And Not IsZergling(c.Row + 1, c.Col) And c.Row < DropCellRow + 2 Then If c.Direction = 5 Then s.Row = s.Row + 1: s.Col = s.Col: s.Points = s.Points + 4 ElseIf c.Direction = 0 Or c.Direction = 4 Or c.Direction = 6 Then PathAdd c.Row + 1, c.Col, c.FirstRow, c.FirstCol, 5, c.Points + 4 End If Else If t = t2 Then c.TargetDirection = 5 End If t2 = TargetParentOfCell(c.Row + 1, c.Col + 1) '4=DownRight t = ChooseTarget(t, t2) If t2 = -1 And Not IsZergling(c.Row + 1, c.Col + 1) _ And c.Col < DropCellCol + 2 And c.Row < DropCellRow + 2 Then If c.Direction = 4 Then s.Row = s.Row + 1: s.Col = s.Col + 1: s.Points = s.Points + 5 ElseIf c.Direction = 0 _ Or (c.Direction = 3 And IsZergling(c.Row + 1, c.Col)) _ Or (c.Direction = 5 And IsZergling(c.Row, c.Col + 1)) _ Or (c.Direction = 6 And IsZergling(c.Row, c.Col + 1)) Then PathAdd c.Row + 1, c.Col + 1, c.FirstRow, c.FirstCol, 4, c.Points + 5 End If Else If t = t2 Then c.TargetDirection = 5 End If s.Deadend = c.Row = s.Row And c.Col = s.Col ScanAttachedCells = t End Function Private Sub DamageTarget(t) Dim i, h As Double, c As Long, b As Boolean Targets(t).HitPoints = Targets(t).HitPoints - 1 If Targets(t).HitPoints <= 0 Then PlaySound SFXPath & "explo" & RandomNumber(1, 7) & ".wav" Select Case Targets(t).ObjectType Case 0 If Range(Targets(t).Name).MergeCells Then Range(Targets(t).Name).UnMerge Range(EmptyCell).Copy Range(Targets(t).Name) Range(Targets(t).Name).Interior.Color = 14671839 Case 1, 2 For i = LBound(Targets) To UBound(Targets) If Targets(i).Container = Targets(t).Name Then Targets(i).Container = "" Next For i = LBound(Zerglings) To UBound(Zerglings) If Zerglings(i).Container = Targets(t).Name Then Zerglings(i).Container = "" FormatZerglingCell Zerglings(i).Row, Zerglings(i).Col End If Next For i = 7 To 10 Range(Cells(Targets(t).RowSt, Targets(t).ColSt), _ Cells(Targets(t).RowEn, Targets(t).Colen)).Borders(i).LineStyle = -4142 Next Case 3: ActiveSheet.Shapes(Targets(t).Name).Delete End Select For i = LBound(Zerglings) To UBound(Zerglings) If Zerglings(i).TargetIndex = t Then Cells(Zerglings(i).Row, Zerglings(i).Col).HorizontalAlignment = xlCenter Cells(Zerglings(i).Row, Zerglings(i).Col).VerticalAlignment = xlTop End If Next For i = LBound(Targets) To UBound(Targets): h = h + Targets(i).HitPoints: Next Victory = h <= 0 Else Select Case Targets(t).ObjectType ' Case 0 ' For i = 7 To 10 ' If c = 0 Then ' If Range(Targets(t).Name).Borders(i).LineStyle <> -4142 _ ' Then c = Range(Targets(t).Name).Borders(i).Color: b = True ' End If ' Next ' If Not b Then c = 16777215 ' h = 1.1 - (Targets(t).HitPoints * 0.1): If h < 0.1 Then h = 0.1 ' c = ColorFromGradiant(c, 255, h) ' If c > 0 Then ' For i = 7 To 10 ' Range(Targets(t).Name).Borders(i).LineStyle = 1 ' Range(Targets(t).Name).Borders(i).Color = c ' Next ' End If Case 1, 2 For i = 7 To 10 If c = 0 Then If Range(Cells(Targets(t).RowSt, Targets(t).ColSt), _ Cells(Targets(t).RowEn, Targets(t).Colen)).Borders(i).LineStyle <> -4142 _ Then c = Range(Cells(Targets(t).RowSt, Targets(t).ColSt), _ Cells(Targets(t).RowEn, Targets(t).Colen)).Borders(i).Color: b = True End If Next If Not b Then c = 16777215 h = 1.1 - (Targets(t).HitPoints * 0.1): If h < 0.1 Then h = 0.1 c = ColorFromGradiant(c, 255, h) If c > 0 Then For i = 7 To 10 Range(Cells(Targets(t).RowSt, Targets(t).ColSt), _ Cells(Targets(t).RowEn, Targets(t).Colen)).Borders(i).LineStyle = 1 Range(Cells(Targets(t).RowSt, Targets(t).ColSt), _ Cells(Targets(t).RowEn, Targets(t).Colen)).Borders(i).Color = c Next End If Case 3 If ActiveSheet.Shapes(Targets(t).Name).Type = msoChart Then c = ActiveSheet.Shapes(Targets(t).Name).Chart.ChartArea.Border.Color If IsEmpty(c) Then c = 16777215 h = 1.1 - (Targets(t).HitPoints * 0.1): If h < 0.1 Then h = 0.1 c = ColorFromGradiant(c, 255, h) ActiveSheet.Shapes(Targets(t).Name).Chart.ChartArea.Border.LineStyle = 1 ActiveSheet.Shapes(Targets(t).Name).Chart.ChartArea.Border.Color = c ElseIf ActiveSheet.Shapes(Targets(t).Name).Type = msoAutoShape Then c = ActiveSheet.Shapes(Targets(t).Name).DrawingObject.Border.Color If IsEmpty(c) Then c = 16777215 h = 1.1 - (Targets(t).HitPoints * 0.1): If h < 0.1 Then h = 0.1 c = ColorFromGradiant(c, 255, h) ActiveSheet.Shapes(Targets(t).Name).DrawingObject.Border.LineStyle = 1 ActiveSheet.Shapes(Targets(t).Name).DrawingObject.Border.Color = c End If End Select PlaySound SFXPath & "zquhit" & Format(RandomNumber(0, 1), "00") & ".wav" End If End Sub Private Function ChooseTarget(Choice1, Choice2) If Choice1 = -1 And Choice2 > -1 Then ChooseTarget = Choice2 ElseIf Choice2 = -1 And Choice1 > -1 Then ChooseTarget = Choice1 Else If RandomNumber(0, 1) = 0 _ Then ChooseTarget = Choice1 _ Else ChooseTarget = Choice2 End If End Function Private Function TargetParentOfCell(r, c) TargetParentOfCell = -1 Dim i For i = LBound(Targets) To UBound(Targets) If Targets(i).Container = "" And Targets(i).HitPoints > 0 _ And r >= Targets(i).RowSt And r <= Targets(i).RowEn _ And c >= Targets(i).ColSt And c <= Targets(i).Colen _ Then TargetParentOfCell = i Next End Function Private Function IsZergling(r, c) As Boolean Dim i For i = LBound(Zerglings) To UBound(Zerglings) If Zerglings(i).Row = r And Zerglings(i).Col = c Then IsZergling = True If Leader.Distance = 0 And Zerglings(i).Distance > 0 Then Leader.Direction = Zerglings(i).Direction Leader.TargetIndex = Zerglings(i).TargetIndex Leader.Distance = Zerglings(i).Distance End If End If Next End Function Private Function PathHasValue() As Boolean On Error GoTo ErrOut If IsNumeric(UBound(PathSteps)) Then PathHasValue = True ErrOut: End Function Private Sub PathAdd(pRow, pCol, ByVal FirstRow, ByVal FirstCol, Direction, Points) If PathHasValue() Then ReDim Preserve PathSteps(UBound(PathSteps) + 1) Else ReDim PathSteps(0) PathSteps(UBound(PathSteps)).Row = pRow PathSteps(UBound(PathSteps)).Col = pCol If FirstRow = 0 And UBound(PathSteps) > 0 Then FirstRow = pRow PathSteps(UBound(PathSteps)).FirstRow = FirstRow If FirstCol = 0 And UBound(PathSteps) > 0 Then FirstCol = pCol PathSteps(UBound(PathSteps)).FirstCol = FirstCol PathSteps(UBound(PathSteps)).Direction = Direction PathSteps(UBound(PathSteps)).Points = Points End Sub 
Edit: I forgot to add these dependencies. I want to add a video of this thing at work, but the virtual machine with video capture is not fast enough.
Public Function RandomNumber(Optional FromNum, Optional ToNum) Randomize Int(Time * (10 ^ 8)) Mod 10 ^ 4 If IsMissing(FromNum) Then FromNum = 0: If IsMissing(ToNum) Then ToNum = 9 RandomNumber = Int((ToNum - FromNum + 1) * Rnd + FromNum) End Function Public Function ColorFromGradiant(ByRef Color1 As Long, ByRef Color2 As Long, ByRef Grade As Double) As Long Dim r1, g1, b1, r2, g2, b2: ColorToRGB Color1, r1, g1, b1: ColorToRGB Color2, r2, g2, b2 ColorFromGradiant = RGB(r1 + ((r2 - r1) * Grade), g1 + ((g2 - g1) * Grade), b1 + ((b2 - b1) * Grade)) End Function Public Sub ColorToRGB(ByRef ColorNumber, ByRef Red, ByRef Green, ByRef Blue) Red = ColorNumber And &HFF Green = (ColorNumber And &HFFFF&) \ 256 Blue = ColorNumber \ 65536 End Sub 
submitted by ioiiooo to excel [link] [comments]

Crusader Kings 2 achievement help

So I've been following the guide made by sir youwin: https://youtu.be/rhiJ_V3uXrc in an attempt to get this achievement.
No matter how closely I try to follow his steps, I always get absolutely destroyed as soon as I land in Southern Portugal, which leaves me with no marines and even less hope. In his video he uses 6 or 7 marines divisions and seems to fly through with ease but I seem to hit an impenetrable wall as soon as a beachhead is established.
Following the same steps but adding 1 or 2 extra marines doesn't help me either so really any tips or advice would be great.
Thanks in advance.
submitted by TheGruntHunter to hoi4 [link] [comments]

SMB Weekly (2016/03/16-2016/03/22)

Edition 21
SMB Weekly will be a weekly newsletter posted sometime after SMB Live ends on Tuesday (or about that same time every last Tuesday of the month). If I miss anything in the newsletter, please post below and I'll add it in. The date format is yeamonth/day, to prevent any dispute between US and UK standards. If a video release is boarderline between two days, I'm using Eastern Time because that's my time zone.
STREAM SCHEDULE
Note: due to a large amount of traveling, no streams this week
SMB News
Community News
---SMB Table Top---
---Server Videos---
Chills504
DadCraft73
KymmieMaria
NihonTiger
Yirggzmb
---Other Videos---
AndrewR73
Brhys
Chills504
DadCraft73
The Duke Minecraft
ImpulseSV
Meru
MKtheWorst
NihonTiger
Rukbukus
SWChris
Tonacho
Torbray
Yirggzmb
submitted by AspieGamer13 to SMBLive [link] [comments]

youwin video video

Bee Gees - You Win Again (1987) - YouTube YOUWIN - Never Know (Music Video) - YouTube Youwin - YouTube

The title came from the 1952 Hank Williams hit of the same name, although Robin Gibb said he had not heard of it. He added in 1000 UK #1 Hits by Jon Kutner and Spencer Leigh, "We absolutely thought that You Win Again was going to be a big hit. It took us a month to cut it and get the right mix." Youwin.tv içinde yaşadığımız dünyadaki olaylara, nesnelere, yerlere kısacası hemen hemen her şeye farklı bir açıdan bakış yakalamış videoları paylaşan günlük video blogudur. Her gün yepyeni videolar bulacağınız sayfamızda yepyeni bilgilerle karşılaşacağınızı umuyoruz. Video. Moore man charged after making death threats online against several lawmakers, officials at nation’s capitol Video. Lawmakers consider election rule changes after 2020 election Video ... This is to inform all participants in the YouWiN! Connect Online training programe that the video tutorials are now available for download and offline view Bet online on best odds for NFL & sports with Youwin, The Home of Betting. Visit us now for sports betting, poker games, online casino, and slot games. Up to 100 CAD Welcome Bonus. The video will open and play in the Photos app. To edit the video, click “Edit & Create” on the toolbar. You’ll see a variety of video editing tools you can use. Click a tool to use it. For example, to cut a section out of a video, click “Trim” in the menu. Previous YouWiN awardees are not eligible to apply. How to Register for YouWiN Connect Program. Since YouWin is an empowerment program that is set up by the government institution to create jobs for the ever increasing Nigeria young population; the Federal Government of Nigeria has not included any price for Youwin form or its registrations. Youwin.tv içinde yaşadığımız dünyadaki olaylara, nesnelere, yerlere kısacası hemen hemen her şeye farklı bir açıdan bakış yakalamış videoları paylaşan günlük video blogudur. Her gün yepyeni videolar bulacağınız sayfamızda yepyeni bilgilerle karşılaşacağınızı umuyoruz. Bet online on best odds for NFL & sports with Youwin, The Home of Betting. Visit us now for sports betting, poker games, online casino, and slot games. Up to 100 CAD Welcome Bonus. Video Slots; Video Poker; Bonus. YouWin’s casino bonus is currently for both new and existing customers. By placing a wager, you’re automatically eligible to receive 25 percent of your bet back, up to $50 per day.

youwin video top

[index] [5505] [4133] [598] [5758] [5895] [3457] [9859] [7258] [1532] [8122]

Bee Gees - You Win Again (1987) - YouTube

Join the Bee Gees on Facebook - http://facebook.com/beegees Twitter - http://twitter.com/beegeesInstagram - https://www.instagram.com/beegees/YOU WIN AGAINI ... YouWin is Youth Enterprise with Innovation - a project of the Nigerian government, driven by the Federal Ministries of Finance, ICT and Youth. Nigeria wants you to WIN! You Win Nigeria uploaded a ... Read the story behind E.S.P: https://www.udiscovermusic.com/stories/bee-gees-esp-1987-album/Listen to more from the Bee Gees: https://BeeGees.lnk.to/essentia... This is the official music video for YOUWIN's track Never Know. We put a lot of planning into this shoot, and a lot of friends helped out. Thank you to every... Youwin Bugün hesabını aç, 21 TL kayıt bonusu ve ilk para yatırımına özel 1200TL Hos Geldin Bonusu kazan! En iyi canlı bahis oranları Hepsibahis'te. this video's is inspired by Valefisk. i'm trying to do a different editing style on every video. this channel is for me to learn to edit. so i might improve my other channels. any help/tricks/tips ...

youwin video

Copyright © 2024 best.lottopromo.site