Changes

m
23 revisions imported
Line 4: Line 4:     
function NanaminFunctions.split(haystack, needle)
 
function NanaminFunctions.split(haystack, needle)
 +
    local special_inputs = {
 +
        "Zero Fighter Model 52C (w/ Iwai Flight)",
 +
        "Zero Fighter Model 21 (w/ Iwamoto Flight)",
 +
        "Zero Fighter Model 52A (w/ Iwamoto Flight)",
 +
        "203mm/53 Twin Gun Mount",
 +
        "Zero Fighter Model 62 (Fighter-bomber / Iwai Squadron)",
 +
        "381mm/50 Triple Gun Mount Kai",
 +
        "381mm/50 Triple Gun Mount",
 +
    }
 
     local result = {}
 
     local result = {}
 
     while mw.ustring.find(haystack, needle) do
 
     while mw.ustring.find(haystack, needle) do
 
         local split = mw.ustring.find(haystack, needle)
 
         local split = mw.ustring.find(haystack, needle)
         table.insert(result, mw.ustring.sub(haystack, 1, split - 1))
+
         local input = mw.ustring.sub(haystack, 1, split - 1)
 +
       
 +
        for _, value in pairs(special_inputs) do
 +
            if mw.ustring.sub(haystack, 1, #value) == value then
 +
                input = mw.ustring.sub(haystack, 1, #value)
 +
                haystack = mw.ustring.sub(haystack, split + 1)
 +
                split = mw.ustring.find(haystack, needle) or 0
 +
                break
 +
            end
 +
        end
 +
       
 +
        table.insert(result, input)
 
         haystack = mw.ustring.sub(haystack, split + 1)
 
         haystack = mw.ustring.sub(haystack, split + 1)
 +
        if split == 0 then haystack = "" end
 
     end
 
     end
     table.insert(result, haystack)
+
     if haystack ~= "" then table.insert(result, haystack) end
 
     return result
 
     return result
 
end
 
end
Line 24: Line 45:     
function NanaminFunctions.add_to_elos_ship(current_elos, entry, use_los)
 
function NanaminFunctions.add_to_elos_ship(current_elos, entry, use_los)
 +
    if entry[3] == nil then return current_elos end
 
     local ship = Ship(entry[1], entry[2])
 
     local ship = Ship(entry[1], entry[2])
 
     local los = ship:los() or 0
 
     local los = ship:los() or 0
Line 58: Line 80:  
      
 
      
 
     return bracket
 
     return bracket
 +
end
 +
 +
function NanaminFunctions.process_legacy_name(name)
 +
    local names = {
 +
        ["12cm Naval Gun"] = "12cm Single Gun Mount",
 +
        ["12.7cm Naval Gun"] = "12.7cm Single Gun Mount",
 +
        ["12.7cm Twin Mount Type-B Kai 2"] = "12.7cm Twin Gun Mount Model B Kai Ni",
 +
       
 +
        ["14cm Naval Gun"] = "14cm Single Gun Mount",
 +
        ["15.5cm Triple Gun Mount (Main)"] = "15.5cm Triple Gun Mount",
 +
        ["20.3cm(no.2) Twin Gun Mount"] = "20.3cm (No.2) Twin Gun Mount",
 +
        ["20.3cm(no.3) Twin Gun Mount"] = "20.3cm (No.3) Twin Gun Mount",
 +
        ["SKC34 20.3cm Twin Cannon"] = "SKC34 20.3cm Twin Gun Mount",
 +
       
 +
        ["Prototype 41cm Triple Cannon"] = "Prototype 41cm Triple Gun Mount",
 +
        ["Prototype 51cm Twin Cannon"] = "Prototype 51cm Twin Gun Mount",
 +
       
 +
        ["15.2cm Naval Gun"] = "15.2cm Single Gun Mount",
 +
        ["15.5cm Triple Gun Mount (Secondary)"] = "15.5cm Triple Secondary Gun Mount",
 +
        ["15cm Twin Gun Mount"] = "15cm Twin Secondary Gun Mount",
 +
       
 +
        ["8cm Twin High-angle Mount"] = "8cm High-angle Gun",
 +
        ["10cm Twin High-angle Mount"] = "10cm Twin High-angle Gun Mount",
 +
        ["10cm Twin High-angle Gun Mount (Carriage)"] = "10cm Twin High-angle Carriage Mount",
 +
        ["10cm Twin High-angle Mount + Anti-Aircraft Fire Director"] = "10cm Twin High-angle Gun Mount + Anti-Aircraft Fire Director",
 +
       
 +
        ["12.7cm High-angle Mount"] = "12.7cm Single High-angle Gun Mount",
 +
        ["12.7cm Twin High-angle Mount"] = "12.7cm Twin High-angle Gun Mount",
 +
        ["12.7cm Twin High-angle Mount (Late Model)"] = "12.7cm Twin High-angle Gun Mount (Late Model)",
 +
        ["12.7cm Twin High-angle Mount + Anti-Aircraft Fire Director"] = "12.7cm High-angle Gun + Anti-Aircraft Fire Director",
 +
       
 +
        ["12.7mm Machine Gun"] = "12.7mm Single Machine Gun Mount",
 +
        ["25mm Autocannon"] = "25mm Single Autocannon Mount",
 +
        ["BI-type 40mm Twin Machine Gun"] = "Type Bi 40mm Twin Autocannon Mount",
 +
        ["25mm Triple Autocannon Mount (Concentrated Deployment)"] = "25mm Triple Autocannon Mount Concentrated Deployment", 
 +
       
 +
        ["61cm Quad Torpedo Mount"] = "61cm Quadruple Torpedo Mount",
 +
        ["61cm Quad Oxygen Torpedo Mount"] = "61cm Quadruple (Oxygen) Torpedo Mount",
 +
        ["61cm Quint Oxygen Torpedo Mount"] = "61cm Quintuple (Oxygen) Torpedo Mount",
 +
        ["53cm Hull-mount O2 Torpedoes"] = "53cm Bow (Oxygen) Torpedo Mount",
 +
        ["53cm Submarine Bow Torpedo Mount (8 tubes)"] = "Submarine 53cm Bow Torpedo Mount (8 tubes)",
 +
        ["Type A Ko-hyoteki"] = "Kouhyouteki",
 +
       
 +
        ["Type 21 Zero Fighter"] = "Type 0 Fighter Model 21",
 +
        ["Type 21 Zero Fighter (Skilled)"] = "Type 0 Fighter Model 21 (Skilled)",
 +
        ["Type 52 Zero Fighter"] = "Type 0 Fighter Model 52",
 +
        ["Zero Fighter Type 52 Type C (601 Air Group)"] = "Zero Fighter Model 52C (601 Air Group)",
 +
        ["Shiden Kai 2"] = "Shiden Kai Ni",
 +
        ["Type 62 Zero Fighter-bomber"] = "Type 0 Fighter Model 62 (Fighter-bomber)",
 +
        ["Type 2 Recon Aircraft"] = "Type 2 Reconnaissance Aircraft",
 +
       
 +
        ["Type 0 Recon Seaplane"] = "Type 0 Reconnaissance Seaplane",
 +
        ["Type 98 Recon Seaplane (Night Recon)"] = "Type 98 Reconnaissance Seaplane (Night Recon)",
 +
       
 +
        ["Ka-type Observation Autogyro"] = "No. Ka Observation Autogyro",
 +
        ["Type 3 Spotter/Liaison (ASW)"] = "Type 3 Command Liaison Aircraft (ASW)",
 +
        ["Type 22 Surface RADAR Kai 4"] = "No. 22 Surface Radar Kai Yon",
 +
        ["Type 13 AIR RADAR Kai"] = "No. 13 Air Radar Kai",
 +
        ["Type 21 Air RADAR Kai"] = "No. 21 Air Radar Kai",
 +
       
 +
        ["Type 93 Passive SONAR"] = "Type 93 Passive Sonar",
 +
        ["Type 3 SONAR"] = "Type 3 Active Sonar",
 +
        ["Type 0 Passive SONAR"] = "Type 0 Passive Sonar",
 +
        ["Type 94 Depth Charge"] = "Type 94 Depth Charge Projector",
 +
        ["Type 3 Depth Charge"] = "Type 3 Depth Charge Projector",
 +
       
 +
        ["Type 91 Armor-Piercing (AP) Shell"] = "Type 91 Armor Piercing Shell",
 +
        ["Type 1 Armor-Piercing (AP) Shell"] = "Type 1 Armor Piercing Shell",
 +
       
 +
        ["Improved Steam Turbine"] = "Improved Kanhon Type Turbine",
 +
        ["Enhanced Steam Boiler"] = "Enhanced Kanhon Type Boiler",
 +
        ["New High Pressure-Temperature Steam Boiler"] = "New Model High Temperature High Pressure Boiler",
 +
       
 +
        ["Repair Team"] = "Emergency Repair Personnel",
 +
        ["Repair Goddess"] = "Emergency Repair Goddess",
 +
       
 +
        ["Anti-torpedo Bulge (Medium)"] = "Extension Bulge (Medium)",
 +
        ["Anti-torpedo Bulge (Large)"] = "Extension Bulge (Large)",
 +
       
 +
        ["Drum Canister"] = "Drum Canister (Transport Use)",
 +
        ["Daihatsu-class Landing Craft"] = "Daihatsu Landing Craft",
 +
       
 +
    }
 +
   
 +
    --Radar/sonar names without any special pieces
 +
    name = name:gsub("^Type%s(.+)%sRADAR$", "No. %1 Radar")
 +
   
 +
    name = names[name] or name
 +
    return name
 +
end
 +
 +
function NanaminFunctions.shorten_name(page, name)
 +
    if not name then
 +
        name = page
 +
    end
 +
    --This takes an equipment name listed on Sandbox/EquipmentListKai/TypeSorted
 +
    --and switches it with a shorter version of the name.
 +
    local shortened = {
 +
        ["12cm Single Gun Mount"] = "12cm Naval Gun" ,
 +
        ["12.7cm Single Gun Mount"] = "12.7cm Naval Gun",
 +
        ["12.7cm Twin Gun Mount Model B Kai Ni"] = "12.7cm Twin Mount Type-B Kai 2" ,
 +
             
 +
        ["14cm Single Gun Mount"] = "14cm Naval Gun",
 +
        ["15.5cm Triple Gun Mount"] = "15.5cm Triple Gun Mount (Main)",
 +
        ["20.3cm (No.2) Twin Gun Mount"] = "20.3cm(no.2) Twin Gun Mount",
 +
        ["20.3cm (No.3) Twin Gun Mount"] = "20.3cm(no.3) Twin Gun Mount",
 +
        ["SKC34 20.3cm Twin Gun Mount"] = "SKC34 20.3cm Twin Cannon",
 +
             
 +
        ["35.6cm Twin Gun Mount (Dazzle Camouflage)"] = "35.6cm Twin Gun Mount (Dazzle)",
 +
        ["Prototype 41cm Triple Gun Mount"] = "Prototype 41cm Triple Cannon",
 +
        ["Prototype 51cm Twin Gun Mount"] = "Prototype 51cm Twin Cannon",
 +
             
 +
        ["15.2cm Single Gun Mount"] = "15.2cm Naval Gun",
 +
        ["15.5cm Triple Secondary Gun Mount"] = "15.5cm Triple Gun (Secondary)",
 +
        ["15cm Twin Secondary Gun Mount"] = "15cm Twin Gun Mount",
 +
        ["OTO 152mm Triple Rapid Fire Gun Mount"] = "152mm Triple Rapid Fire Gun",
 +
             
 +
        ["8cm High-angle Gun"] = "8cm Twin High-angle Mount",
 +
        ["10cm Twin High-angle Gun Mount"] = "10cm Twin HA Mount",
 +
        ["10cm Twin High-angle Carriage Mount"] = "10cm Twin HA Gun(Carriage)",
 +
        ["10cm Twin High-angle Gun Mount + Anti-Aircraft Fire Director"] = "10cm Twin HA Gun + AAFD",
 +
        ["12.7cm Single High-angle Gun Mount"] = "12.7cm High-angle Mount",
 +
        ["12.7cm Twin High-angle Mount"] = "12.7cm Twin High-angle Gun Mount",
 +
        ["12.7cm Twin High-angle Gun Mount (Late Model)"] = "12.7cm Twin HA Gun (L M)",
 +
        ["12.7cm High-angle Gun + Anti-Aircraft Fire Director"] = "12.7cm High-angle Gun + AAFD",
 +
             
 +
        ["12.7mm Single Machine Gun Mount"] = "12.7mm Machine Gun",
 +
        ["25mm Single Autocannon Mount"] = "25mm Autocannon",
 +
        ["Type Bi 40mm Twin Autocannon Mount"] = "BI-type 40mm Twin Machine Gun",
 +
        ["25mm Triple Autocannon Mount Concentrated Deployment"] = "25mm Triple Autocannon (C D)", 
 +
     
 +
        ["61cm Quadruple Torpedo Mount"] = "61cm Quad Torpedo",
 +
        ["61cm Triple (Oxygen) Torpedo Mount"] = "61cm Triple (Oxygen) Torpedo",             
 +
        ["61cm Quadruple (Oxygen) Torpedo Mount"] = "61cm Quad Oxygen Torpedo",
 +
        ["61cm Quintuple (Oxygen) Torpedo Mount"] = "61cm Quint Oxygen Torpedo",
 +
        ["53cm Bow (Oxygen) Torpedo Mount"] = "53cm Hull-mount O2 Torpedoes",
 +
        ["Submarine 53cm Bow Torpedo Mount (8 tubes)"] = "53cm Submarine Bow Torpedo",
 +
        ["Kouhyouteki"] = "Type A Ko-hyoteki",
 +
        ["Prototype FaT Type 95 Oxygen Torpedo Kai"] = "Prototype FaT Type 95 Torpedo",
 +
             
 +
        ["Type 0 Fighter Model 21"] = "Type 21 Zero Fighter",
 +
        ["Type 0 Fighter Model 21 (Skilled)"] = "Type 21 Zero Fighter (Skilled)",
 +
        ["Type 0 Fighter Model 52"] = "Type 52 Zero Fighter",
 +
        ["Zero Fighter Model 52C (601 Air Group)"] = "Zero Fighter Type 52 C (601)",
 +
        ["Type 97 Torpedo Bomber (Skilled)"] = "Type 97 Torp Bomber (Skilled)",
 +
        ["Type 97 Torpedo Bomber (931 Air Group)"] = "Type 97 Torpedo Bomber (931)",
 +
        ["Type 97 Torpedo Bomber (Tomonaga Squadron)"] = "Type 97 Torpedo Bomber (Tomonaga)",
 +
        ["Tenzan Model 12 (Tomonaga Squadron)"] = "Tenzan Model 12 (Tomonaga)",
 +
        ["Type 0 Fighter Model 62 (Fighter-bomber)"] = "Type 0 Fighter Model 62 (Fighter-bomber)",
 +
        ["Type 99 Dive Bomber (Egusa Squadron)"] = "Type 99 Dive Bomber (Egusa)",
 +
        ["Type 2 Reconnaissance Aircraft"] = "Type 2 Recon Aircraft",
 +
             
 +
             
 +
        ["Type 0 Reconnaissance Seaplane"] = "Type 0 Recon Seaplane",
 +
        ["Type 98 Reconnaissance Seaplane (Night Recon)"] = "Night Recon",
 +
     
 +
        ["No. Ka Observation Autogyro"] = "Ka-type Observation Autogyro",
 +
        ["Type 3 Command Liaison Aircraft (ASW)"] = "Type 3 Spotter/Liaison (ASW)",
 +
             
 +
        ["No. 13 Air Radar"] = "Type 13 Air RADAR",
 +
        ["No. 14 Air Radar"] = "Type 14 Air RADAR ",
 +
        ["No. 21 Air Radar"] = "Type 21 Air RADAR",
 +
        ["No. 22 Surface Radar"] = "Type 22 Surface RADAR",
 +
        ["No. 33 Surface Radar"] = "Type 33 Surface RADAR",
 +
        ["No. 32 Surface Radar"] = "Type 32 Surface RADAR",
 +
        ["No. 22 Surface Radar Kai Yon"] = "Type 22 Surface RADAR Kai 4",
 +
        ["No. 13 Air Radar Kai"] = "Type 13 AIR RADAR Kai",
 +
        ["No. 21 Air Radar Kai"] = "Type 21 Air RADAR Kai",
 +
             
 +
        ["Type 93 Passive Sonar"] = "Type 93 Passive SONAR",
 +
        ["Type 3 Active Sonar"] = "Type 3 SONAR",
 +
        ["Type 0 Passive Sonar"] = "Type 0 Passive SONAR",
 +
        ["Type 94 Depth Charge Projector"] = "Type 94 Depth Charge",
 +
        ["Type 3 Depth Charge Projector"] = "Type 3 Depth Charge",
 +
             
 +
        ["Type 91 Armor Piercing Shell"] = "Type 91 Armor-Piercing Shell",
 +
        ["Type 1 Armor Piercing Shell"] = "Type 1 Armor-Piercing Shell",
 +
             
 +
        ["Improved Kanhon Type Turbine"] = "Improved Steam Turbine",
 +
        ["Enhanced Kanhon Type Boiler"] = "Enhanced Steam Boiler",
 +
        ["New Model High Temperature High Pressure Boiler"] = "High Pressure-Temperature Boiler",
 +
     
 +
        ["Emergency Repair Personnel"] = "Repair Team",
 +
        ["Emergency Repair Goddess"] = "Repair Goddess",
 +
             
 +
        ["Extension Bulge (Medium)"] = "Anti-torpedo Bulge (Medium)",
 +
        ["Extension Bulge (Large)"] = "Anti-torpedo Bulge (Large)",
 +
        ["Pugliese Underwater Protection Bulkhead"] = "Pugliese Protection Bulkhead",
 +
             
 +
        ["Skilled Carrier-based Aircraft Maintenance Personnel"] = "SCAMP",
 +
             
 +
        ["Drum Canister (Transport Use)"] = "Drum Canister",
 +
        ["Daihatsu Landing Craft"] = "Daihatsu-class Landing Craft",
 +
    }
 +
   
 +
    if page ~= "" then
 +
        return page, shortened[name] or name
 +
    else
 +
        return shortened[name] or name
 +
    end
 
end
 
end
    
return NanaminFunctions
 
return NanaminFunctions
Bots, gkautomate
12,557

edits