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) |
| | | |