Changes

m
54 revisions imported
Line 2: Line 2:     
local Ship = require('Module:Ship')
 
local Ship = require('Module:Ship')
 +
local ShipBattleCardKai = require('Module:ShipBattleCardKai')
 
local ShipCardKai = require('Module:ShipCardKai')
 
local ShipCardKai = require('Module:ShipCardKai')
 
local Equipment = require('Module:Equipment')
 
local Equipment = require('Module:Equipment')
    
local Formatting = require('Module:Formatting')
 
local Formatting = require('Module:Formatting')
local format = require('Module:StringInterpolation').format
+
local format = require('Module:Core').format
    
local Functions = require('Module:NanaminFunctions')
 
local Functions = require('Module:NanaminFunctions')
Line 18: Line 19:  
     _collapse_div_end = [[</div>]],
 
     _collapse_div_end = [[</div>]],
 
      
 
      
     _table_start = [[{|]],
+
     _table_start = [[<table class="nanaminfleetkai">]],
     _table_end = [[|}]],
+
     _table_end = [[</table>]],
     _row_starter = "|-",
+
     _row_starter = [[</tr><tr>]],
     _added_cell_template = [[| colspan="6" style="background: ${bg_color}; text-align: center; font-weight: bold;" |${content}]],
+
     _added_cell_template = [[<td colspan="6" style="background-color:${bg_color};">'''${content}'''</td>]],
     _ship_template = [[| rowspan="4" style="background: ${bg_color};" |${ship_card}]],
+
     _ship_template = [[<td rowspan="4">${ship_card}</td>]],
    _ship_text_template = [[| rowspan="4" style="background: ${bg_color}; text-align: center; width: 165px;" |${ship_name}]],
+
     _equip_template = [[<td>${equip_icon}</td><td style="${style}">${equip_link}</td>]],
     _equip_template = [[| style="background-color: ${icon_bg_color}; width: 15px;" |${equip_icon}
+
     _blank_entry = [[<td style="display:none;"></td>]],
| style="background-color: ${equip_bg_color}; width: 175px; text-align: center;" |${equip_link}]],
  −
     _equip_text_template = [[| style="background-color: ${icon_bg_color}; width: 15px; text-align: center;" | -
  −
| style="background-color: ${equip_bg_color}; width: 175px; text-align: center;" |${equip_link}]],
   
      
 
      
 
     _header_bg = "#98D2F0",
 
     _header_bg = "#98D2F0",
    _ship_card_bg = "transparent",
  −
    _equip_icon_bg = "#8DCDEE",
  −
    _equip_bg = "#E4F3FB",
   
     _equip_locked_bg = "#CDDBE2",
 
     _equip_locked_bg = "#CDDBE2",
 
     _extra_cells_bg = "#98D2F0",
 
     _extra_cells_bg = "#98D2F0",
Line 58: Line 53:  
     math.randomseed(os.time())
 
     math.randomseed(os.time())
 
     math.random(); math.random(); math.random()
 
     math.random(); math.random(); math.random()
     self._id = self._args["route"]:gsub("[^%w]", "") .. self._args["hq"] .. tostring(math.random(1000000,9999999))
+
     self._id = self._args["route"]:gsub("[^%w]", "") .. (self._args["hq"] or "0") .. tostring(math.random(1000000,9999999))
 
end
 
end
   Line 110: Line 105:  
function NanaminFleetKai:insert_ship_row(ship)
 
function NanaminFleetKai:insert_ship_row(ship)
 
     local ship_card
 
     local ship_card
     if ship and ship:name() then
+
     if self._args["text_only"] then
         ship_card = ShipCardKai:card{ship = ship, size = self._size, link = ship:link(), caption = ship:name()}
+
        ship_card = ship and ship:name() or "Invalid Ship Name"
 +
    elseif ship and ship:name() then
 +
         ship_card = ShipCardKai:get{ship = ship, size = self._size, link = ship:link(), caption = ship:name()}
 
     else
 
     else
 
         ship_card = Formatting:format_image{self._blank, size = self._size}
 
         ship_card = Formatting:format_image{self._blank, size = self._size}
 
     end
 
     end
     if self._args["text_only"] then
+
     table.insert(self._rows, format{self._ship_template, ship_card = ship_card})
        table.insert(self._rows, format{self._ship_text_template,
  −
            bg_color = self._equip_bg,
  −
            ship_name = ship:name() or "No Name Given",
  −
        })
  −
    else
  −
        table.insert(self._rows, format{self._ship_template,
  −
            bg_color = self._ship_card_bg,
  −
            ship_card = ship_card,
  −
        })
  −
    end
   
end
 
end
    
function NanaminFleetKai:insert_equip_row(ship, entry, slot)
 
function NanaminFleetKai:insert_equip_row(ship, entry, slot)
 
     local slots = ship and ship:slots() or 0
 
     local slots = ship and ship:slots() or 0
     local equip_icon, equip_bg_color, equip_link
+
     local equip_icon, equip_link, style
 
     if slot > slots then
 
     if slot > slots then
        equip_icon = ""
  −
        equip_bg_color = self._equip_locked_bg
   
         equip_link = "- Locked -"
 
         equip_link = "- Locked -"
 +
        style = "background-color:" .. self._equip_locked_bg .. ";"
 
     elseif entry[slot + 3] == nil then
 
     elseif entry[slot + 3] == nil then
        equip_icon = ""
  −
        equip_bg_color = self._equip_locked_bg
   
         equip_link = "- Unequipped -"
 
         equip_link = "- Unequipped -"
 +
        style = "background-color:" .. self._equip_locked_bg .. ";"
 
     else
 
     else
 
         local equip = Equipment(Functions.process_legacy_name(entry[slot + 3]))
 
         local equip = Equipment(Functions.process_legacy_name(entry[slot + 3]))
 
         self:process_equipment(equip, select(2, ship:slot(slot)))
 
         self:process_equipment(equip, select(2, ship:slot(slot)))
         equip_icon = Formatting:format_image{ Formatting:format_equipment_icon(equip:icon()), size = "22x22px", link = "" }
+
         if self._args["text_only"] then
        equip_bg_color = self._equip_bg
+
            equip_link = Functions.shorten_name("", equip:name())
        equip_link = Formatting:format_link(equip:link())
+
        else
    end
+
            equip_icon = Formatting:format_image{ Formatting:format_equipment_icon(equip:icon()), size = "22x22px", link = "" }
    if self._args["text_only"] then
+
            equip_link = Formatting:format_link(Functions.shorten_name(equip:link()))
        table.insert(self._rows, format{self._equip_text_template,
+
         end
            icon_bg_color = self._equip_icon_bg,
  −
            equip_bg_color = equip_bg_color,
  −
            equip_link = equip_link,
  −
        })
  −
    else
  −
         table.insert(self._rows, format{self._equip_template,
  −
            icon_bg_color = self._equip_icon_bg,
  −
            equip_icon = equip_icon,
  −
            equip_bg_color = equip_bg_color,
  −
            equip_link = equip_link,
  −
        })
   
     end
 
     end
 +
    table.insert(self._rows, format{self._equip_template,
 +
        equip_icon = equip_icon or "",
 +
        style = style or "",
 +
        equip_link = equip_link,
 +
    })
 
end
 
end
   Line 170: Line 149:  
function NanaminFleetKai:build_table()
 
function NanaminFleetKai:build_table()
 
     local i = 1
 
     local i = 1
     while i < #self._items do
+
     while i <= #self._items do
 
         if type(self._items[i]) == "string" then
 
         if type(self._items[i]) == "string" then
 
             self:add_header(self._items[i])
 
             self:add_header(self._items[i])
Line 196: Line 175:  
         for j = 2, 4 do
 
         for j = 2, 4 do
 
             table.insert(self._rows, self._row_starter)
 
             table.insert(self._rows, self._row_starter)
 +
            table.insert(self._rows, self._blank_entry)
 
             self:insert_equip_row(ship1, self._items[i], j)
 
             self:insert_equip_row(ship1, self._items[i], j)
 
             if self._items[i + 1] then
 
             if self._items[i + 1] then
 +
                table.insert(self._rows, self._blank_entry)
 
                 self:insert_equip_row(ship2, self._items[i + 1], j)
 
                 self:insert_equip_row(ship2, self._items[i + 1], j)
 
             else
 
             else
 +
                table.insert(self._rows, self._blank_entry)
 
                 self:insert_equip_row(nil, nil, 1)
 
                 self:insert_equip_row(nil, nil, 1)
 
             end
 
             end
Line 215: Line 197:  
function NanaminFleetKai:add_extras()
 
function NanaminFleetKai:add_extras()
 
     local elos = string.format("%.2f", self._elos - (self._hq_lvl * 0.61))
 
     local elos = string.format("%.2f", self._elos - (self._hq_lvl * 0.61))
 +
    if not self._args["hq"] then elos = elos .. " #ERROR:MissingHQ" end
 
     local content = "Effective Line of Sight: " .. elos .. " // Fighter Power: " .. tostring(self._fighter_power)
 
     local content = "Effective Line of Sight: " .. elos .. " // Fighter Power: " .. tostring(self._fighter_power)
 
     self:insert_extra(content)
 
     self:insert_extra(content)
Line 230: Line 213:  
         for i = 1, #drops do
 
         for i = 1, #drops do
 
             local ship = Ship(drops[i], "")
 
             local ship = Ship(drops[i], "")
             local card = ShipCardKai:battle_card{ship = ship, link = ship:link(), caption = ship:name()}
+
             local card = ShipBattleCardKai:get{ship = ship, link = ship:link(), caption = ship:name()}
 
             if self._args["text_only"] then
 
             if self._args["text_only"] then
 
                 card = ship:name()
 
                 card = ship:name()
Line 253: Line 236:  
     table.insert(self._rows, format{self._collapse_div_start, id = self._id})
 
     table.insert(self._rows, format{self._collapse_div_start, id = self._id})
 
     table.insert(self._rows, self._table_start)
 
     table.insert(self._rows, self._table_start)
 +
    table.insert(self._rows, "<tr>")
 
     self:build_table()
 
     self:build_table()
 
     self:add_extras()
 
     self:add_extras()
 +
    table.insert(self._rows, "</tr>")
 
     table.insert(self._rows, self._table_end)
 
     table.insert(self._rows, self._table_end)
 
     table.insert(self._rows, self._collapse_div_end)
 
     table.insert(self._rows, self._collapse_div_end)
Bots, gkautomate
12,557

edits