160 "Utility Crate Placement Mode", |
160 "Utility Crate Placement Mode", |
161 |
161 |
162 |
162 |
163 napalm = arrow sprite (selection/modification/deletion mode) |
163 napalm = arrow sprite (selection/modification/deletion mode) |
164 "Repositioning Mode", -- also include a delete |
164 "Repositioning Mode", -- also include a delete |
165 "Goal Mode", |
165 "Goal Editing Mode", |
166 "Hog Identity Mode", |
166 "Hog Identity Mode", |
167 "Team Identity Mode", |
167 "Team Identity Mode", |
168 "Health Modification Mode", |
168 "Health Modification Mode", |
169 "Sprite Testing Mode", |
169 "Sprite Testing Mode", |
170 "Sprite Modification Mode", |
170 "Sprite Modification Mode", |
171 "Sprite Placement Mode", |
171 "Sprite Placement Mode", |
172 "Waypoint Mode" |
172 "Waypoint Editing Mode" |
173 }]] |
173 }]] |
174 |
174 |
175 -- [low] improve support for ShoppaBalance and ConstructionMode, see ranking) |
175 -- [low] improve support for ShoppaBalance and ConstructionMode, see ranking) |
176 |
176 |
177 -- [low] consider combining landflags |
177 -- [low] consider combining landflags |
636 loc("Weapon Crate Placement Mode"), |
636 loc("Weapon Crate Placement Mode"), |
637 loc("Utility Crate Placement Mode"), |
637 loc("Utility Crate Placement Mode"), |
638 loc("Target Placement Mode"), |
638 loc("Target Placement Mode"), |
639 loc("Cleaver Placement Mode"), |
639 loc("Cleaver Placement Mode"), |
640 loc("Repositioning Mode"), |
640 loc("Repositioning Mode"), |
641 loc("Goal Mode"), |
641 loc("Goal Definition Mode"), |
642 loc("Hog Identity Mode"), |
642 loc("Hog Identity Mode"), |
643 loc("Team Identity Mode"), |
643 loc("Team Identity Mode"), |
644 loc("Health Modification Mode"), |
644 loc("Health Modification Mode"), |
645 --loc("Sprite Testing Mode"), |
|
646 loc("Sprite Placement Mode"), |
645 loc("Sprite Placement Mode"), |
647 loc("Sprite Modification Mode"), |
646 loc("Sprite Modification Mode"), |
648 loc("Waypoint Mode") |
647 loc("Waypoint Editing Mode") |
649 } |
648 } |
650 |
649 |
651 |
650 |
652 local pMode = {} -- pMode contains custom subsets of the main categories |
651 local pMode = {} -- pMode contains custom subsets of the main categories |
653 local pIndex = 1 |
652 local pIndex = 1 |
917 |
916 |
918 function PlaceWaypoint(x,y) |
917 function PlaceWaypoint(x,y) |
919 |
918 |
920 placedX[placedCount] = x |
919 placedX[placedCount] = x |
921 placedY[placedCount] = y |
920 placedY[placedCount] = y |
922 placedType[placedCount] = loc("Waypoint Mode") |
921 placedType[placedCount] = loc("Waypoint Editing Mode") |
923 placedLandFlags[placedCount] = nil -- use this to specify waypoint type maybe |
922 placedLandFlags[placedCount] = nil -- use this to specify waypoint type maybe |
924 placedHWMapFlag[placedCount] = 0 |
923 placedHWMapFlag[placedCount] = 0 |
925 |
924 |
926 placedSprite[placedCount] = vgtCircle |
925 placedSprite[placedCount] = vgtCircle |
927 placedSpec[placedCount] = AddVisualGear(x,y,vgtCircle,0,true) |
926 placedSpec[placedCount] = AddVisualGear(x,y,vgtCircle,0,true) |
1066 |
1065 |
1067 closestDist = 999999999 |
1066 closestDist = 999999999 |
1068 closestSpriteID = nil -- just in case |
1067 closestSpriteID = nil -- just in case |
1069 |
1068 |
1070 for i = 0, (placedCount-1) do |
1069 for i = 0, (placedCount-1) do |
1071 if (placedType[i] == loc("Waypoint Mode")) then |
1070 if (placedType[i] == loc("Waypoint Editing Mode")) then |
1072 q = placedX[i] - placedX[placedCount] |
1071 q = placedX[i] - placedX[placedCount] |
1073 w = placedY[i] - placedY[placedCount] |
1072 w = placedY[i] - placedY[placedCount] |
1074 d = ( (q*q) + (w*w) ) |
1073 d = ( (q*q) + (w*w) ) |
1075 if d < closestDist then |
1074 if d < closestDist then |
1076 closestDist = d |
1075 closestDist = d |
1321 placedType[placedCount] = "bogus" |
1320 placedType[placedCount] = "bogus" |
1322 SelectClosestSprite() |
1321 SelectClosestSprite() |
1323 EraseClosestSprite() |
1322 EraseClosestSprite() |
1324 end |
1323 end |
1325 |
1324 |
1326 elseif cat[cIndex] == loc("Waypoint Mode") then |
1325 elseif cat[cIndex] == loc("Waypoint Editing Mode") then |
1327 |
1326 |
1328 |
1327 |
1329 if pMode[pIndex] == loc("Delete Waypoint") then |
1328 if pMode[pIndex] == loc("Delete Waypoint") then |
1330 placedType[placedCount] = "bogus" |
1329 placedType[placedCount] = "bogus" |
1331 EraseClosestWaypoint() |
1330 EraseClosestWaypoint() |
1382 pMode = {500,1000,1500,2000,2500,0} |
1381 pMode = {500,1000,1500,2000,2500,0} |
1383 elseif cat[cIndex] == loc("Air Mine Placement Mode") then |
1382 elseif cat[cIndex] == loc("Air Mine Placement Mode") then |
1384 pMode = {750,1000,1250,0,250,500} |
1383 pMode = {750,1000,1250,0,250,500} |
1385 elseif cat[cIndex] == loc("Repositioning Mode") then |
1384 elseif cat[cIndex] == loc("Repositioning Mode") then |
1386 pMode = {loc("Selection Mode"),loc("Placement Mode"), loc("Deletion Mode")} |
1385 pMode = {loc("Selection Mode"),loc("Placement Mode"), loc("Deletion Mode")} |
1387 elseif cat[cIndex] == loc("Goal Mode") then |
1386 elseif cat[cIndex] == loc("Goal Definition Mode") then |
1388 pMode = {loc("Victory Condition: Destroy"),loc("Losing Condition: Destroy"),loc("Victory Condition: Collect")} |
1387 pMode = {loc("Victory Condition: Destroy"),loc("Losing Condition: Destroy"),loc("Victory Condition: Collect")} |
1389 elseif cat[cIndex] == loc("Hog Identity Mode") then |
1388 elseif cat[cIndex] == loc("Hog Identity Mode") then |
1390 pMode = {loc("Soldier"),loc("Grenadier"),loc("Sniper"),loc("Pyro"),loc("Ninja"),loc("Commander"),loc("Chef"),loc("Engineer"),loc("Physicist"),loc("Trapper"),loc("Saint"),loc("Clown")} |
1389 pMode = {loc("Soldier"),loc("Grenadier"),loc("Sniper"),loc("Pyro"),loc("Ninja"),loc("Commander"),loc("Chef"),loc("Engineer"),loc("Physicist"),loc("Trapper"),loc("Saint"),loc("Clown")} |
1391 elseif cat[cIndex] == loc("Team Identity Mode") then |
1390 elseif cat[cIndex] == loc("Team Identity Mode") then |
1392 pMode = preMadeTeamNamesTranslated |
1391 pMode = preMadeTeamNamesTranslated |
1399 pMode = {loc("LandFlag Modification Mode"),loc("Sprite Erasure Mode")} |
1398 pMode = {loc("LandFlag Modification Mode"),loc("Sprite Erasure Mode")} |
1400 elseif cat[cIndex] == loc("Sprite Testing Mode") or cat[cIndex] == loc("Sprite Placement Mode") then |
1399 elseif cat[cIndex] == loc("Sprite Testing Mode") or cat[cIndex] == loc("Sprite Placement Mode") then |
1401 for i = 1, #reducedSpriteTextArray do |
1400 for i = 1, #reducedSpriteTextArray do |
1402 pMode[i] = reducedSpriteTextArray[i] |
1401 pMode[i] = reducedSpriteTextArray[i] |
1403 end |
1402 end |
1404 elseif cat[cIndex] == loc("Waypoint Mode") then |
1403 elseif cat[cIndex] == loc("Waypoint Editing Mode") then |
1405 pMode = {loc("Place Waypoint"), loc("Delete Waypoint")} |
1404 pMode = {loc("Place Waypoint"), loc("Delete Waypoint")} |
1406 end |
1405 end |
1407 |
1406 |
1408 end |
1407 end |
1409 |
1408 |
2061 WriteLnToConsole(" portalDistance = " .. portalDistance*5) |
2060 WriteLnToConsole(" portalDistance = " .. portalDistance*5) |
2062 table.insert(hFlagList, " " .. portalDistance*5 .. " " .. ufoFuel .. " " .. 98) |
2061 table.insert(hFlagList, " " .. portalDistance*5 .. " " .. ufoFuel .. " " .. 98) |
2063 WriteLnToConsole("") |
2062 WriteLnToConsole("") |
2064 |
2063 |
2065 for i = 0, (placedCount-1) do |
2064 for i = 0, (placedCount-1) do |
2066 if placedType[i] == loc("Waypoint Mode") then |
2065 if placedType[i] == loc("Waypoint Editing Mode") then |
2067 table.insert(waypointList, |
2066 table.insert(waypointList, |
2068 " AddWayPoint(" .. |
2067 " AddWayPoint(" .. |
2069 placedX[i] ..", " .. |
2068 placedX[i] ..", " .. |
2070 placedY[i] ..")" |
2069 placedY[i] ..")" |
2071 ) |
2070 ) |
2423 |
2422 |
2424 function UpdateTagCircles(gear) |
2423 function UpdateTagCircles(gear) |
2425 |
2424 |
2426 if getGearValue(gear,"tag") ~= nil then |
2425 if getGearValue(gear,"tag") ~= nil then |
2427 |
2426 |
2428 if cat[cIndex] == loc("Goal Mode") then |
2427 if cat[cIndex] == loc("Goal Definition Mode") then |
2429 |
2428 |
2430 -- generate circs for tagged gears that don't have a circ yet (new) |
2429 -- generate circs for tagged gears that don't have a circ yet (new) |
2431 if getGearValue(gear,"tCirc") == nil then |
2430 if getGearValue(gear,"tCirc") == nil then |
2432 setGearValue(gear, "tCirc",AddVisualGear(0,0,vgtCircle,0,true)) |
2431 setGearValue(gear, "tCirc",AddVisualGear(0,0,vgtCircle,0,true)) |
2433 end |
2432 end |
2559 hedgeEditorMissionPanelShown = false |
2558 hedgeEditorMissionPanelShown = false |
2560 |
2559 |
2561 elseif cat[cIndex] == loc("Cleaver Placement Mode") then |
2560 elseif cat[cIndex] == loc("Cleaver Placement Mode") then |
2562 |
2561 |
2563 ShowMission ( |
2562 ShowMission ( |
2564 loc("CLEAVER MINE PLACEMENT MODE"), |
2563 loc("CLEAVER PLACEMENT MODE"), |
2565 loc("Use this mode to place cleavers"), |
2564 loc("Use this mode to place cleavers"), |
2566 loc("Place Object: [Left Click]") .. "|" .. |
2565 loc("Place Object: [Left Click]") .. "|" .. |
2567 " " .. "|" .. |
2566 " " .. "|" .. |
2568 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2567 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2569 loc("Toggle Help: Precise+1") .. "|" .. |
2568 loc("Toggle Help: Precise+1") .. "|" .. |
2572 hedgeEditorMissionPanelShown = false |
2571 hedgeEditorMissionPanelShown = false |
2573 |
2572 |
2574 elseif cat[cIndex] == loc("Target Placement Mode") then |
2573 elseif cat[cIndex] == loc("Target Placement Mode") then |
2575 |
2574 |
2576 ShowMission ( |
2575 ShowMission ( |
2577 loc("TARGET MINE PLACEMENT MODE"), |
2576 loc("TARGET PLACEMENT MODE"), |
2578 loc("Use this mode to place targets"), |
2577 loc("Use this mode to place targets"), |
2579 loc("Place Object: [Left Click]") .. "|" .. |
2578 loc("Place Object: [Left Click]") .. "|" .. |
2580 " " .. "|" .. |
2579 " " .. "|" .. |
2581 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2580 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2582 loc("Toggle Help: Precise+1") .. "|" .. |
2581 loc("Toggle Help: Precise+1") .. "|" .. |
2583 "", 1, 60000 |
2582 "", 1, 60000 |
2584 ) |
2583 ) |
2585 hedgeEditorMissionPanelShown = false |
2584 hedgeEditorMissionPanelShown = false |
2586 |
2585 |
2587 elseif cat[cIndex] == loc("Waypoint Mode") then |
2586 elseif cat[cIndex] == loc("Waypoint Editing Mode") then |
2588 |
2587 |
2589 ShowMission ( |
2588 ShowMission ( |
2590 loc("WAYPOINT MODE"), |
2589 loc("WAYPOINT EDITING MODE"), |
2591 loc("Use this mode to place or delete waypoints"), |
2590 loc("Use this mode to place or delete waypoints"), |
2592 loc("Place/Delete Waypoint: [Left Click]") .. "|" .. |
2591 loc("Place/Delete Waypoint: [Left Click]") .. "|" .. |
2593 loc("Toggle Placement/Deletion: [Left], [Right]") .. "|" .. |
2592 loc("Toggle Placement/Deletion: [Left], [Right]") .. "|" .. |
2594 " " .. "|" .. |
2593 " " .. "|" .. |
2595 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2594 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2627 hedgeEditorMissionPanelShown = false |
2626 hedgeEditorMissionPanelShown = false |
2628 |
2627 |
2629 elseif cat[cIndex] == loc("Sticky Mine Placement Mode") then |
2628 elseif cat[cIndex] == loc("Sticky Mine Placement Mode") then |
2630 |
2629 |
2631 ShowMission ( |
2630 ShowMission ( |
2632 loc("STiCKY MINE PLACEMENT MODE"), |
2631 loc("STICKY MINE PLACEMENT MODE"), |
2633 loc("Use this mode to place sticky mines"), |
2632 loc("Use this mode to place sticky mines"), |
2634 loc("Place Object: [Left Click]") .. "|" .. |
2633 loc("Place Object: [Left Click]") .. "|" .. |
2635 loc("Change Timer (in milliseconds): [Left], [Right]") .. "|" .. |
2634 loc("Change Timer (in milliseconds): [Left], [Right]") .. "|" .. |
2636 " " .. "|" .. |
2635 " " .. "|" .. |
2637 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2636 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2748 loc("Toggle Help: Precise+1") .. "|" .. |
2747 loc("Toggle Help: Precise+1") .. "|" .. |
2749 "", 2, 60000 |
2748 "", 2, 60000 |
2750 ) |
2749 ) |
2751 hedgeEditorMissionPanelShown = false |
2750 hedgeEditorMissionPanelShown = false |
2752 |
2751 |
2753 elseif cat[cIndex] == loc("Goal Mode") then |
2752 elseif cat[cIndex] == loc("Goal Definition Mode") then |
2754 |
2753 |
2755 ShowMission ( |
2754 ShowMission ( |
2756 loc("GOAL MODE"), |
2755 loc("GOAL DEFINITION MODE"), |
2757 loc("Use this mode to mark gears for win/lose conditions."), |
2756 loc("Use this mode to mark gears for win/lose conditions."), |
2758 loc("Mark/unmark gear: [Left Click]") .. "|" .. |
2757 loc("Mark/unmark gear: [Left Click]") .. "|" .. |
2759 loc("Select win/lose condition: [Left], [Right]") .. "|" .. |
2758 loc("Select win/lose condition: [Left], [Right]") .. "|" .. |
2760 " " .. "|" .. |
2759 " " .. "|" .. |
2761 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2760 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2981 --update selected gear display |
2980 --update selected gear display |
2982 if (cat[cIndex] == loc("Repositioning Mode")) and (sGear ~= nil) then |
2981 if (cat[cIndex] == loc("Repositioning Mode")) and (sGear ~= nil) then |
2983 SetVisualGearValues(sCirc, GetX(sGear), GetY(sGear), 100, 255, 1, 10, 0, 300, 3, 0xff00ffff) |
2982 SetVisualGearValues(sCirc, GetX(sGear), GetY(sGear), 100, 255, 1, 10, 0, 300, 3, 0xff00ffff) |
2984 elseif (cat[cIndex] == loc("Sprite Modification Mode")) and (sSprite ~= nil) then |
2983 elseif (cat[cIndex] == loc("Sprite Modification Mode")) and (sSprite ~= nil) then |
2985 SetVisualGearValues(sSprite, nil, nil, 0, 0, nil, nil, 10000, nil, 10000) |
2984 SetVisualGearValues(sSprite, nil, nil, 0, 0, nil, nil, 10000, nil, 10000) |
2986 elseif (cat[cIndex] == loc("Goal Mode")) then |
2985 elseif (cat[cIndex] == loc("Goal Definition Mode")) then |
2987 if (sGear ~= nil) or (closestGear ~= nil) then |
2986 if (sGear ~= nil) or (closestGear ~= nil) then |
2988 closestGear = nil |
2987 closestGear = nil |
2989 sGear = nil |
2988 sGear = nil |
2990 end |
2989 end |
2991 end |
2990 end |