Author Topic: The Ship Strategy Conversation  (Read 19693 times)

Offline Diazo

  • Master Member Mark II
  • *****
  • Posts: 1,717
  • I love/hate Diff 10
Re: The Ship Strategy Conversation
« Reply #45 on: February 11, 2012, 12:36:23 pm »
The png work for the zoomed in sprites.

However the zoomed out icons are uncolored in the base png and looked rather awful. (IMO)

D,

Offline Wanderer

  • Master Member Mark II
  • *****
  • Posts: 1,579
  • If you're not drunk you're doing it wrong.
Re: The Ship Strategy Conversation
« Reply #46 on: February 11, 2012, 01:31:39 pm »
On something of a side note, I am currently doing an overhaul to the wiki, which a part of will be individual ships getting their own pages.

I am leaving space on the pages for comments exactly like the ones in this thread.

I only have a single page ready to go, since I'm going alphabetically it's the Acid Sprayer.

If you guys can keep this in mind when posting comments, it will allow copy-pasting straight into the wiki.

Note that the wiki requires a log in as there have been spam problems in the past. It is pretty easy to get a log on if you ask however.

D.

Dazio, VERY nice work.  I'll probably have to submit for wiki-edit status so I can give you a hand.  Did you PM X4k here on the forums or over on Mantis?
... and then we'll have cake.

Offline Diazo

  • Master Member Mark II
  • *****
  • Posts: 1,717
  • I love/hate Diff 10
Re: The Ship Strategy Conversation
« Reply #47 on: February 11, 2012, 02:28:36 pm »
PM'd x400 via the forum is how I got my access. (Original post updated.)

And a couple questions:

In the abilities list, a 'Paralyze x1' means any ship hit by that ship is paralyze for 1 second?

And what's the difference between 'Absorb EMP' and 'Immune EMP'?

D

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: The Ship Strategy Conversation
« Reply #48 on: February 11, 2012, 02:44:29 pm »
In the abilities list, a 'Paralyze x1' means any ship hit by that ship is paralyze for 1 second?
Correct.

Quote
And what's the difference between 'Absorb EMP' and 'Immune EMP'?
There are aborbers left?  It means that getting EMP'd not only doesn't paralyze them, it fully heals them.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Diazo

  • Master Member Mark II
  • *****
  • Posts: 1,717
  • I love/hate Diff 10
Re: The Ship Strategy Conversation
« Reply #49 on: February 11, 2012, 04:50:44 pm »
In the abilities list, a 'Paralyze x1' means any ship hit by that ship is paralyze for 1 second?
Correct.

Quote
And what's the difference between 'Absorb EMP' and 'Immune EMP'?
There are aborbers left?  It means that getting EMP'd not only doesn't paralyze them, it fully heals them.

Thank you.

As for the wiki, I have a first page complete I would like feedback on.

Note that I am only doing the reference section of the wiki at the moment, stuff with hard numbers or yes/no mechanics questions. There will be a second part of the wiki for strategies and other suggestions on gameplay.

The two tables at the bottom are navigation templates, the ship and structures one will appear on all pages in the ship and structures section and each section will have it's own similar navigation table.

The second table titled "AI War Wiki Home - AI War Reference Section Home" is the navigation for the entire reference section and will appear on every page in the reference section.

If you can think of any pages that need adding, let me know, the second table shows my thoughts on how the reference section will ultimately laid out.

Please don't try following any links, they all go to pages that don't exist or are just wrong due to my copy-pasting.

Notably I need help with the expansions, what ships/structures were introduced when?

Acid Sprayer

Hope you guys like this.

D.

Offline Hearteater

  • Core Member
  • *****
  • Posts: 2,334
Re: The Ship Strategy Conversation
« Reply #50 on: February 11, 2012, 05:12:31 pm »
Quick list I had available of player ships (the other stuff is all base game):
Code: [Select]
YounglingCommando        Neinzul
YounglingNanoswarm       Neinzul
YounglingTiger           Neinzul
YounglingVulture         Neinzul
YounglingWeasel          Neinzul
SpireArmorRotter         Spire
SpireBladeSpawner        Spire
SpireGravityDrain        Spire
SpireGravityRipper       Spire
SpireMaw                 Spire
SpireMiniRam             Spire
SpireStealthBattleship   Spire
SpireTeleportingLeech    Spire
SpireTractorPlatform     Spire
AcidSprayer              Zenith
GrenadeLauncher          Zenith
ImpulseReactionEmitter   Zenith
SentinelFrigate          Zenith
ShieldBooster            Zenith
ZenithAutoBomb           Zenith
ZenithBeamFrigate        Zenith
ZenithBombardment        Zenith
ZenithChameleon          Zenith
ZenithElectricBomber     Zenith
ZenithMirror             Zenith
ZenithParalyzer          Zenith
ZenithPolarizer          Zenith
ZenithViralShredder      Zenith

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: The Ship Strategy Conversation
« Reply #51 on: February 11, 2012, 07:11:22 pm »
Wiki page looks nice :)  Let me know when you have it in a form you like, and I can probably make an export function that will save you time reproducing it.  Though maybe you already have a tool that makes that from the existing export :)
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Wanderer

  • Master Member Mark II
  • *****
  • Posts: 1,579
  • If you're not drunk you're doing it wrong.
Re: The Ship Strategy Conversation
« Reply #52 on: February 11, 2012, 07:37:52 pm »
Looks good, though I think your totals numbers are off for the MK IV.
... and then we'll have cake.

Offline Diazo

  • Master Member Mark II
  • *****
  • Posts: 1,717
  • I love/hate Diff 10
Re: The Ship Strategy Conversation
« Reply #53 on: February 11, 2012, 07:41:52 pm »
Well, I thought I did have a tool in Excel, but it went and used a different quotation mark, breaking the page.

So at the moment, no, I don't have a tool for it.

And as of 2 minutes ago, I'll calling it done in terms of layout.

The how to use and how to counter fields at the bottom are not filled in, but that will be ongoing by the community.

If you can set up some sort of export easily that would be great. Otherwise I have some more ideas I can try. I'm not doing all these unit pages by hand that's for sure.  :-\

D.

edit: GUDare: I'll look into it.

edit the 2nd: Numbers fixed
« Last Edit: February 11, 2012, 10:08:26 pm by Dazio »

Offline PokerChen

  • Hero Member Mark III
  • *****
  • Posts: 1,088
Re: The Ship Strategy Conversation
« Reply #54 on: February 11, 2012, 07:54:57 pm »
Haven't received a PM reply from x4000 yet. Thumbs-up on layout.

Offline Martyn van Buren

  • Hero Member
  • *****
  • Posts: 642
Re: The Ship Strategy Conversation
« Reply #55 on: February 12, 2012, 06:41:27 am »
Yeah, thanks much!  This is going to be great to have.

Offline Diazo

  • Master Member Mark II
  • *****
  • Posts: 1,717
  • I love/hate Diff 10
Re: The Ship Strategy Conversation
« Reply #56 on: February 12, 2012, 11:43:04 am »
Wiki page looks nice :)  Let me know when you have it in a form you like, and I can probably make an export function that will save you time reproducing it.  Though maybe you already have a tool that makes that from the existing export :)

K. I had to go into Access and VB code but I've got a template that works off the excel dump file.

The other fleet ships should start going up later this afternoon.

D.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: The Ship Strategy Conversation
« Reply #57 on: February 12, 2012, 12:34:34 pm »
MS Access?  I'm sorry.  (that's mostly tongue-in-cheek, I've used it for plenty of things before I took to having an install of MSSQL around for such purposes, which is overkill).

Thanks for the effort :)
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Diazo

  • Master Member Mark II
  • *****
  • Posts: 1,717
  • I love/hate Diff 10
Re: The Ship Strategy Conversation
« Reply #58 on: February 12, 2012, 11:30:11 pm »
Alright, I've got my template up and working.

Please check out the Fighter, Bomber, and Missile Frigate pages please and let me know if there's anything I need to correct before I start mass producing the ship pages.

For reference, here is the code to make this template, this turned out just a little larger then I expected.

Code: [Select]
Private Sub Command0_Click()
On Error GoTo oops
Dim Wiki As String
Dim Ship As String

Dim AtkDmg1 As Single
Dim Rld1 As Single
Dim SCap1 As Single
Dim DPS1 As Single
Dim CapDPS1 As Single
Dim SMtl1 As Single
Dim SCry1 As Single
Dim Erg1 As Single
Dim BTime1Str As String
Dim BTime1Int As Single
Dim SMtlCap1 As Single
Dim SCryCap1 As Single
Dim ErgCap1 As Single
Dim BTimeCap1Int As Single
Dim BTimeCap1StrHrs As String
Dim BTimeCap1StrMin As String
Dim BTimeCap1StrSec As String
Dim BTimeCap1Str As String

Dim AtkDmg2 As Single
Dim Rld2 As Single
Dim SCap2 As Single
Dim DPS2 As Single
Dim CapDPS2 As Single
Dim SMtl2 As Single
Dim SCry2 As Single
Dim Erg2 As Single
Dim BTime2Str As String
Dim BTime2Int As Single
Dim SMtlCap2 As Single
Dim SCryCap2 As Single
Dim ErgCap2 As Single
Dim BTimeCap2Int As Single
Dim BTimeCap2StrHrs As String
Dim BTimeCap2StrMin As String
Dim BTimeCap2StrSec As String
Dim BTimeCap2Str As String

Dim AtkDmg3 As Single
Dim Rld3 As Single
Dim SCap3 As Single
Dim DPS3 As Single
Dim CapDPS3 As Single
Dim SMtl3 As Single
Dim SCry3 As Single
Dim Erg3 As Single
Dim BTime3Str As String
Dim BTime3Int As Single
Dim SMtlCap3 As Single
Dim SCryCap3 As Single
Dim ErgCap3 As Single
Dim BTimeCap3Int As Single
Dim BTimeCap3StrHrs As String
Dim BTimeCap3StrMin As String
Dim BTimeCap3StrSec As String
Dim BTimeCap3Str As String

Dim AtkDmg4 As Single
Dim Rld4 As Single
Dim SCap4 As Single
Dim DPS4 As Single
Dim CapDPS4 As Single
Dim SMtl4 As Single
Dim SCry4 As Single
Dim Erg4 As Single
Dim BTime4Str As String
Dim BTime4Int As Single
Dim SMtlCap4 As Single
Dim SCryCap4 As Single
Dim ErgCap4 As Single
Dim BTimeCap4Int As Single
Dim BTimeCap4StrHrs As String
Dim BTimeCap4StrMin As String
Dim BTimeCap4StrSec As String
Dim BTimeCap4Str As String

Dim AtkDmg5 As Single
Dim Rld5 As Single
Dim SCap5 As Single
Dim DPS5 As Single
Dim CapDPS5 As Single
Dim SMtl5 As Single
Dim SCry5 As Single
Dim Erg5 As Single
Dim BTime5Str As String
Dim BTime5Int As Single
Dim SMtlCap5 As Single
Dim SCryCap5 As Single
Dim ErgCap5 As Single
Dim BTimeCap5Int As Single
Dim BTimeCap5StrHrs As String
Dim BTimeCap5StrMin As String
Dim BTimeCap5StrSec As String
Dim BTimeCap5Str As String


Ship = Me.Combo1
AtkDmg1 = DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " I'")
Rld1 = DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " I'")
DPS1 = AtkDmg1 / Rld1
SCap1 = Me.Text3
CapDPS1 = DPS1 * SCap1
SMtl1 = DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " I'")
SCry1 = DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " I'")
Erg1 = DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " I'")
BTime1Str = DMax("[Time to build]", "tblCurrentShipData", "[Type] = '" & Ship & " I'")
BTime1Int = CSng(Right(BTime1Str, 2)) + (CSng(Mid(BTime1Str, 4, 2)) * 60) + (CSng(Left(BTime1Str, 2)) * 3600)
SMtlCap1 = SMtl1 * SCap1
SCryCap1 = SCry1 * SCap1
ErgCap1 = Erg1 * SCap1
BTimeCap1Int = BTime1Int * SCap1

AtkDmg2 = DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " II'")
Rld2 = DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " II'")
DPS2 = AtkDmg2 / Rld2
SCap2 = Me.Text5
CapDPS2 = DPS2 * SCap2
SMtl2 = DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " II'")
SCry2 = DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " II'")
Erg2 = DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " II'")
BTime2Str = DMax("[Time to build]", "tblCurrentShipData", "[Type] = '" & Ship & " II'")
BTime2Int = CSng(Right(BTime2Str, 2)) + (CSng(Mid(BTime2Str, 4, 2)) * 60) + (CSng(Left(BTime2Str, 2)) * 3600)
SMtlCap2 = SMtl2 * SCap2
SCryCap2 = SCry2 * SCap2
ErgCap2 = Erg2 * SCap2
BTimeCap2Int = BTime2Int * SCap2

AtkDmg3 = DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " III'")
Rld3 = DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " III'")
DPS3 = AtkDmg3 / Rld3
SCap3 = Me.Text6
CapDPS3 = DPS3 * SCap3
SMtl3 = DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " III'")
SCry3 = DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " III'")
Erg3 = DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " III'")
BTime3Str = DMax("[Time to build]", "tblCurrentShipData", "[Type] = '" & Ship & " III'")
BTime3Int = CSng(Right(BTime3Str, 2)) + (CSng(Mid(BTime3Str, 4, 2)) * 60) + (CSng(Left(BTime3Str, 2)) * 3600)
SMtlCap3 = SMtl3 * SCap3
SCryCap3 = SCry3 * SCap3
ErgCap3 = Erg3 * SCap3
BTimeCap3Int = BTime3Int * SCap3

AtkDmg4 = DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'")
Rld4 = DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'")
DPS4 = AtkDmg4 / Rld4
SCap4 = Me.Text7
CapDPS4 = DPS4 * SCap4
SMtl4 = DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'")
SCry4 = DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'")
Erg4 = DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'")
BTime4Str = DMax("[Time to build]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'")
BTime4Int = CSng(Right(BTime4Str, 2)) + (CSng(Mid(BTime4Str, 4, 2)) * 60) + (CSng(Left(BTime4Str, 2)) * 3600)
SMtlCap4 = SMtl4 * SCap4
SCryCap4 = SCry4 * SCap4
ErgCap4 = Erg4 * SCap4
BTimeCap4Int = BTime4Int * SCap4

AtkDmg5 = DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " V'")
Rld5 = DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " V'")
DPS5 = AtkDmg5 / Rld5
SCap5 = Me.Text8
CapDPS5 = DPS5 * SCap5
SMtl5 = DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " V'")
SCry5 = DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " V'")
Erg5 = DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " V'")
BTime5Str = DMax("[Time to build]", "tblCurrentShipData", "[Type] = '" & Ship & " V'")
BTime5Int = CSng(Right(BTime5Str, 2)) + (CSng(Mid(BTime5Str, 4, 2)) * 60) + (CSng(Left(BTime5Str, 2)) * 3600)
SMtlCap5 = SMtl5 * SCap5
SCryCap5 = SCry5 * SCap5
ErgCap5 = Erg5 * SCap5
BTimeCap5Int = BTime5Int * SCap5

'cap1
If Int(BTimeCap1Int / 3600) > 9 Then
    BTimeCap1StrHrs = Int(BTimeCap1Int / 3600)
    ElseIf Int(BTimeCap1Int / 3600) > 0 Then
    BTimeCap1StrHrs = "0" & Int(BTimeCap1Int / 3600)
    ElseIf Int(BTimeCap1Int / 3600) = 0 Then
    BTimeCap1StrHrs = "00"
    Else
    MsgBox "Build Cap Hours Oops"
End If

BTimeCap1Int = BTimeCap1Int - (3600 * Int(BTimeCap1Int / 3600))

If Int(BTimeCap1Int / 60) > 9 Then
    BTimeCap1StrMin = Int(BTimeCap1Int / 60)
    ElseIf Int(BTimeCap1Int / 60) > 0 Then
    BTimeCap1StrMin = "0" & Int(BTimeCap1Int / 60)
    ElseIf Int(BTimeCap1Int / 60) = 0 Then
    BTimeCap1StrMin = "00"
    Else
    MsgBox "Build Cap Minutes Oops"
End If

BTimeCap1Int = BTimeCap1Int - (60 * Int(BTimeCap1Int / 60))

If BTimeCap1Int > 9 Then
    BTimeCap1StrSec = BTimeCap1Int
    ElseIf BTimeCap1Int > 0 Then
    BTimeCap1StrSec = "0" & BTimeCap1Int
    ElseIf BTimeCap1Int = 0 Then
    BTimeCap1StrSec = "00"
    Else
    MsgBox "Build Cap Seconds Oops"
End If
BTimeCap1Str = BTimeCap1StrHrs & ":" & BTimeCap1StrMin & ":" & BTimeCap1StrSec


'Cap2
If Int(BTimeCap2Int / 3600) > 9 Then
    BTimeCap2StrHrs = Int(BTimeCap2Int / 3600)
    ElseIf Int(BTimeCap2Int / 3600) > 0 Then
    BTimeCap2StrHrs = "0" & Int(BTimeCap2Int / 3600)
    ElseIf Int(BTimeCap2Int / 3600) = 0 Then
    BTimeCap2StrHrs = "00"
    Else
    MsgBox "Build Cap Hours Oops"
End If

BTimeCap2Int = BTimeCap2Int - (3600 * Int(BTimeCap2Int / 3600))

If Int(BTimeCap2Int / 60) > 9 Then
    BTimeCap2StrMin = Int(BTimeCap2Int / 60)
    ElseIf Int(BTimeCap2Int / 60) > 0 Then
    BTimeCap2StrMin = "0" & Int(BTimeCap2Int / 60)
    ElseIf Int(BTimeCap2Int / 60) = 0 Then
    BTimeCap2StrMin = "00"
    Else
    MsgBox "Build Cap Minutes Oops"
End If

BTimeCap2Int = BTimeCap2Int - (60 * Int(BTimeCap2Int / 60))

If BTimeCap2Int > 9 Then
    BTimeCap2StrSec = BTimeCap2Int
    ElseIf BTimeCap2Int > 0 Then
    BTimeCap2StrSec = "0" & BTimeCap2Int
    ElseIf BTimeCap2Int = 0 Then
    BTimeCap2StrSec = "00"
    Else
    MsgBox "Build Cap Seconds Oops"
End If
BTimeCap2Str = BTimeCap2StrHrs & ":" & BTimeCap2StrMin & ":" & BTimeCap2StrSec

'Cap3
If Int(BTimeCap3Int / 3600) > 9 Then
    BTimeCap3StrHrs = Int(BTimeCap3Int / 3600)
    ElseIf Int(BTimeCap3Int / 3600) > 0 Then
    BTimeCap3StrHrs = "0" & Int(BTimeCap3Int / 3600)
    ElseIf Int(BTimeCap3Int / 3600) = 0 Then
    BTimeCap3StrHrs = "00"
    Else
    MsgBox "Build Cap Hours Oops"
End If

BTimeCap3Int = BTimeCap3Int - (3600 * Int(BTimeCap3Int / 3600))

If Int(BTimeCap3Int / 60) > 9 Then
    BTimeCap3StrMin = Int(BTimeCap3Int / 60)
    ElseIf Int(BTimeCap3Int / 60) > 0 Then
    BTimeCap3StrMin = "0" & Int(BTimeCap3Int / 60)
    ElseIf Int(BTimeCap3Int / 60) = 0 Then
    BTimeCap3StrMin = "00"
    Else
    MsgBox "Build Cap Minutes Oops"
End If

BTimeCap3Int = BTimeCap3Int - (60 * Int(BTimeCap3Int / 60))

If BTimeCap3Int > 9 Then
    BTimeCap3StrSec = BTimeCap3Int
    ElseIf BTimeCap3Int > 0 Then
    BTimeCap3StrSec = "0" & BTimeCap3Int
    ElseIf BTimeCap3Int = 0 Then
    BTimeCap3StrSec = "00"
    Else
    MsgBox "Build Cap Seconds Oops"
End If
BTimeCap3Str = BTimeCap3StrHrs & ":" & BTimeCap3StrMin & ":" & BTimeCap3StrSec

'Cap4
If Int(BTimeCap4Int / 3600) > 9 Then
    BTimeCap4StrHrs = Int(BTimeCap4Int / 3600)
    ElseIf Int(BTimeCap4Int / 3600) > 0 Then
    BTimeCap4StrHrs = "0" & Int(BTimeCap4Int / 3600)
    ElseIf Int(BTimeCap4Int / 3600) = 0 Then
    BTimeCap4StrHrs = "00"
    Else
    MsgBox "Build Cap Hours Oops"
End If

BTimeCap4Int = BTimeCap4Int - (3600 * Int(BTimeCap4Int / 3600))

If Int(BTimeCap4Int / 60) > 9 Then
    BTimeCap4StrMin = Int(BTimeCap4Int / 60)
    ElseIf Int(BTimeCap4Int / 60) > 0 Then
    BTimeCap4StrMin = "0" & Int(BTimeCap4Int / 60)
    ElseIf Int(BTimeCap4Int / 60) = 0 Then
    BTimeCap4StrMin = "00"
    Else
    MsgBox "Build Cap Minutes Oops"
End If

BTimeCap4Int = BTimeCap4Int - (60 * Int(BTimeCap4Int / 60))

If BTimeCap4Int > 9 Then
    BTimeCap4StrSec = BTimeCap4Int
    ElseIf BTimeCap4Int > 0 Then
    BTimeCap4StrSec = "0" & BTimeCap4Int
    ElseIf BTimeCap4Int = 0 Then
    BTimeCap4StrSec = "00"
    Else
    MsgBox "Build Cap Seconds Oops"
End If
BTimeCap4Str = BTimeCap4StrHrs & ":" & BTimeCap4StrMin & ":" & BTimeCap4StrSec

'Cap5
If Int(BTimeCap5Int / 3600) > 9 Then
    BTimeCap5StrHrs = Int(BTimeCap5Int / 3600)
    ElseIf Int(BTimeCap5Int / 3600) > 0 Then
    BTimeCap5StrHrs = "0" & Int(BTimeCap5Int / 3600)
    ElseIf Int(BTimeCap5Int / 3600) = 0 Then
    BTimeCap5StrHrs = "00"
    Else
    MsgBox "Build Cap Hours Oops"
End If

BTimeCap5Int = BTimeCap5Int - (3600 * Int(BTimeCap5Int / 3600))

If Int(BTimeCap5Int / 60) > 9 Then
    BTimeCap5StrMin = Int(BTimeCap5Int / 60)
    ElseIf Int(BTimeCap5Int / 60) > 0 Then
    BTimeCap5StrMin = "0" & Int(BTimeCap5Int / 60)
    ElseIf Int(BTimeCap5Int / 60) = 0 Then
    BTimeCap5StrMin = "00"
    Else
    MsgBox "Build Cap Minutes Oops"
End If

BTimeCap5Int = BTimeCap5Int - (60 * Int(BTimeCap5Int / 60))

If BTimeCap5Int > 9 Then
    BTimeCap5StrSec = BTimeCap5Int
    ElseIf BTimeCap5Int > 0 Then
    BTimeCap5StrSec = "0" & BTimeCap5Int
    ElseIf BTimeCap5Int = 0 Then
    BTimeCap5StrSec = "00"
    Else
    MsgBox "Build Cap Seconds Oops"
End If
BTimeCap5Str = BTimeCap5StrHrs & ":" & BTimeCap5StrMin & ":" & BTimeCap5StrSec



Wiki = "[[Category:AIWar]]" & vbCrLf & "[[Category:AIWarZR]]" & vbCrLf & "{{5.024}}<br/>" & vbCrLf & "{|" & vbCrLf & "|[[File:AIWarAcidSprayer.png|left|Acid Sprayer]] || valign=""top"" | Update Picture and Description" & vbCrLf & "|}" & vbCrLf & vbCrLf & vbCrLf & "== Base Stats ==" & vbCrLf & "----" & vbCrLf & "{| border=""1"" cellpadding=""2""" & vbCrLf & "! align=""center"" | [[Ammunition Types and Immunities|Ammo Type]] || align=""center"" | [[Armor Types and Bonus Damage|Armor Type]] || align=""center"" | [[Ammunition Types and Immunities|Immunities]] || align=""center"" | [[Armor Types and Bonus Damage|Damage Bonuses]]" & vbCrLf & "|-" & vbCrLf & "| align=""center"" | " & DMax("[Attack Ammo]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & "  || align=""center"" | " & DMax("[Armor Type]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""center"" | " & _
Mid(DMax("[Immunities]", "tblCurrentShipData", "[Type] = '" & Ship & " I'"), 16, 200) & " || align=""center"" | " & DMax("[Bonuses]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & vbCrLf & "|}<br/>" & vbCrLf & _
"{| border=""1"" cellpadding=""2""" & vbCrLf & "! align=""center"" | [[Knowledge|Mark]] || align=""center"" | [[Knowledge|Ship Cap]] || align=""center"" | [[Armor|Damage]] || align=""center"" | Attack Range || align=""center"" | Reload || align=""center"" | Health || align=""center"" | [[Armor]] || align=""center"" | [[Engines and Speed|Speed]] || align=""center"" | [[Engines and Speed|Engine Health]] || align=""center"" | Single Ship DPS || align=""center"" | Ship Cap DPS || align=""center"" | [[Abilities]]" & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | I  || align=""center"" | " & Me.Text3 & " || align=""center"" | " & DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""center"" | " & _
DMax("[Attack Range]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""center"" | " & DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " sec || align=""center"" | " & DMax("[Health]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""center"" | " & DMax("[Armor Rating]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""center"" | " & DMax("[Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""center"" | " & DMax("[Engine Health]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""right"" | " & Format(DPS1, "###,###,##0") & " dmg/sec || align=""right"" | " & Format(CapDPS1, "###,###,##0") & " dmg/sec || align=""left"" | " & DMax("[Abilities]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | II  || align=""center"" | " & Me.Text5 & " || align=""center"" | " & DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " || align=""center"" | " & _
DMax("[Attack Range]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " || align=""center"" | " & DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " sec || align=""center"" | " & DMax("[Health]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " || align=""center"" | " & DMax("[Armor Rating]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " || align=""center"" | " & DMax("[Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " || align=""center"" | " & DMax("[Engine Health]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " || align=""right"" | " & Format(DPS2, "###,###,##0") & " dmg/sec || align=""right"" | " & Format(CapDPS2, "###,###,##0") & " dmg/sec || align=""left"" | " & DMax("[Abilities]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | III || align=""center"" | " & Me.Text6 & " || align=""center"" | " & DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " || align=""center"" | " & _
DMax("[Attack Range]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " || align=""center"" | " & DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " sec || align=""center"" | " & DMax("[Health]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " || align=""center"" | " & DMax("[Armor Rating]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " || align=""center"" | " & DMax("[Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " || align=""center"" | " & DMax("[Engine Health]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " || align=""right"" | " & Format(DPS3, "###,###,##0") & " dmg/sec || align=""right"" | " & Format(CapDPS3, "###,###,##0") & " dmg/sec || align=""left"" | " & DMax("[Abilities]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | IV  || align=""center"" | " & Me.Text7 & " || align=""center"" | " & DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " || align=""center"" | " & _
DMax("[Attack Range]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " || align=""center"" | " & DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " sec || align=""center"" | " & DMax("[Health]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " || align=""center"" | " & DMax("[Armor Rating]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " || align=""center"" | " & DMax("[Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " || align=""center"" | " & DMax("[Engine Health]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " || align=""right"" | " & Format(DPS4, "###,###,##0") & " dmg/sec || align=""right"" | " & Format(CapDPS4, "###,###,##0") & " dmg/sec || align=""left"" | " & DMax("[Abilities]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | V  || align=""center"" | " & Me.Text8 & " || align=""center"" | " & DMax("[Attack Power]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " || align=""center"" | " & _
DMax("[Attack Range]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " || align=""center"" | " & DMax("[Reload Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " sec || align=""center"" | " & DMax("[Health]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " || align=""center"" | " & DMax("[Armor Rating]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " || align=""center"" | " & DMax("[Speed]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " || align=""center"" | " & DMax("[Engine Health]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " || align=""right"" | " & Format(DPS5, "###,###,##0") & " dmg/sec || align=""right"" | " & Format(CapDPS5, "###,###,##0") & " dmg/sec || align=""left"" | " & DMax("[Abilities]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & vbCrLf & "|} <br/>" & vbCrLf & _
"{| border=""1"" cellpadding=""2""" & vbCrLf & _
"! align=""center"" | [[Knowledge|Mark]] || align=""center"" | [[Knowledge]] || align=""center"" | [[Metal and Crystal|Metal Cost]] || align=""center"" | [[Metal and Crystal|Crystal Cost]] || align=""center"" | [[Energy|Energy Cost]] || align=""center"" | [[Build Time and Constructors|Build Time]] || align=""center"" | Ship Cap Metal Cost || align=""center"" | Ship Cap Crystal Cost || align=""center"" | Ship Cap Energy Cost || align=""center"" | Ship Cap Build Time" & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | I  || align=""center"" | -- || align=""center"" | " & DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & "  || align=""center"" | " & DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""center"" | " & DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " I'") & " || align=""center"" | " & BTime1Str & " || align=""center"" | " & Format(SMtlCap1, "###,###,##0") & " || align=""center"" | " & Format(SCryCap1, "###,###,##0") & " || align=""center"" | " & Format(ErgCap1, "###,###,##0") & " || align=""center"" | " & BTimeCap1Str & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | II  || align=""center"" | 2,500 || align=""center"" | " & DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & "  || align=""center"" | " & DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " || align=""center"" | " & DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " II'") & " || align=""center"" | " & BTime2Str & " || align=""center"" | " & Format(SMtlCap2, "###,###,##0") & " || align=""center"" | " & Format(SCryCap2, "###,###,##0") & " || align=""center"" | " & Format(ErgCap2, "###,###,##0") & " || align=""center"" | " & BTimeCap2Str & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | III  || align=""center"" | 6,000 || align=""center"" | " & DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & "  || align=""center"" | " & DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " || align=""center"" | " & DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " III'") & " || align=""center"" | " & BTime3Str & " || align=""center"" | " & Format(SMtlCap3, "###,###,##0") & " || align=""center"" | " & Format(SCryCap3, "###,###,##0") & " || align=""center"" | " & Format(ErgCap3, "###,###,##0") & " || align=""center"" | " & BTimeCap3Str & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | IV  || align=""center"" | [[Advanced Factory|Adv Fac]] || align=""center"" | " & DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & "  || align=""center"" | " & DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " || align=""center"" | " & DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " IV'") & " || align=""center"" | " & BTime4Str & " || align=""center"" | " & Format(SMtlCap4, "###,###,##0") & " || align=""center"" | " & Format(SCryCap4, "###,###,##0") & " || align=""center"" | " & Format(ErgCap4, "###,###,##0") & " || align=""center"" | " & BTimeCap4Str & vbCrLf & _
"|-" & vbCrLf & "| align=""center"" | V  || align=""center"" | -- || align=""center"" | " & DMax("[Metal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & "  || align=""center"" | " & DMax("[Crystal Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " || align=""center"" | " & DMax("[Energy Cost]", "tblCurrentShipData", "[Type] = '" & Ship & " V'") & " || align=""center"" | " & BTime5Str & " || align=""center"" | " & Format(SMtlCap5, "###,###,##0") & " || align=""center"" | " & Format(SCryCap5, "###,###,##0") & " || align=""center"" | " & Format(ErgCap5, "###,###,##0") & " || align=""center"" | " & BTimeCap5Str & vbCrLf & "|}" & vbCrLf & vbCrLf & "== How to use in your fleet ==" & vbCrLf & "Add Notes Here" & vbCrLf & "== How to counter when in the AI fleet ==" & vbCrLf & "Add Notes Here" & vbCrLf & vbCrLf & "{{AIWarShips}}" & vbCrLf & "{{AIWarRefNav}}"


DoCmd.RunSQL "UPDATE tblVariables SET tblVariables.[Output] = '" & Wiki & "'"


Exit Sub
oops:
MsgBox Err.Description

End Sub

I think I'm done for the night.

D.

Offline PokerChen

  • Hero Member Mark III
  • *****
  • Posts: 1,088
Re: The Ship Strategy Conversation
« Reply #59 on: February 12, 2012, 11:57:51 pm »
The only thing I can spot is the images are always that of the acid-sprayer. Can you modify the relevant wiki line "File:AIWarAcidSprayer.png|left|Acid Sprayer" to a variable that contains the shipname? I'm hoping that the .pngs file names are identical to one of the columns on the Excel sheet.