| Line 6: |
Line 6: |
| | | | |
| | -- 10/24/15 Added colorful blue button thing | | -- 10/24/15 Added colorful blue button thing |
| | + | -- 5/5/16 Added multiple start location support |
| | | | |
| | local remiLib = require("Module:RemiLib") | | local remiLib = require("Module:RemiLib") |
| Line 69: |
Line 70: |
| | -- toTable is a table of all the to's | | -- toTable is a table of all the to's |
| | -- | | -- |
| − | local possibleStarts = remiLib.mergeArrays({"START"},remiLib.uppercase) | + | local possibleNodes = remiLib.mergeArrays({"START", "START-1", "START-2", |
| − | for _,from in pairs(possibleStarts) do | + | "START-3", "START-4", "START-5"} |
| | + | ,remiLib.uppercase) |
| | + | -- 5/5/16 |
| | + | -- Since multiple start paths are possible (Eg, starting from two different places) |
| | + | -- adding the ability to specify multiple start points. Assuming no more than 5 start points ever lol. |
| | + | -- Yeah yeah I get that it's bad code design. Shut up, I don't care enough to put more than 5 minutes of thought into this. |
| | + | for _,from in pairs(possibleNodes) do |
| | if graph[from] ~= nil then | | if graph[from] ~= nil then |
| | local toTable = graph[from] | | local toTable = graph[from] |
| Line 84: |
Line 91: |
| | -- instance of the "to" node connecting to a "from" node | | -- instance of the "to" node connecting to a "from" node |
| | local isFirstTo = true | | local isFirstTo = true |
| − | for _,toNode in pairs(remiLib.uppercase) do | + | for _,toNode in pairs(possibleNodes) do |
| | if toTable[toNode] ~= nil then | | if toTable[toNode] ~= nil then |
| | if not isFirstTo then | | if not isFirstTo then |
| Line 122: |
Line 129: |
| | -- second val in split is "to" as above | | -- second val in split is "to" as above |
| | -- first and third should be length 1 cuz they should be singular letters | | -- first and third should be length 1 cuz they should be singular letters |
| − | if #split == 3 and string.lower(split[2]) == "to" and (#split[1] == 1 or string.lower(split[1]) == "start") and #split[3] == 1 then | + | if #split == 3 and |
| | + | string.lower(split[2]) == "to" and |
| | + | (#split[1] == 1 or (string.find(string.lower(split[1]),"start") ~= nil)) and |
| | + | (#split[3] == 1 or (string.find(string.lower(split[3]),"start") ~= nil))then |
| | local from = string.upper(split[1]) | | local from = string.upper(split[1]) |
| | local to = string.upper(split[3]) | | local to = string.upper(split[3]) |
| − | if (remiLib.valid(from,remiLib.letters) or string.lower(from) == "start")and remiLib.valid(to,remiLib.letters) then | + | if (remiLib.valid(from,remiLib.letters) or (string.find(string.lower(split[1]),"start") ~= nil)) and |
| | + | (remiLib.valid(to,remiLib.letters) or (string.find(string.lower(split[3]),"start") ~= nil))then |
| | if mapGraph[from] == nil then | | if mapGraph[from] == nil then |
| | mapGraph[from] = {} | | mapGraph[from] = {} |
| Line 133: |
Line 144: |
| | end | | end |
| | end | | end |
| | + | --local html = remiLib.dictConcat(table.getKeys(mapGraph["START-4"]),"|") |
| | local html = p.renderBranchingTable(mapGraph,collapsed) | | local html = p.renderBranchingTable(mapGraph,collapsed) |
| | | | |