changeset 14756 | 430c90fa6062 |
parent 14747 | 2e8213c0951f |
child 15093 | 9aa1ab824ec7 |
14755:ab7bf5036314 | 14756:430c90fa6062 |
---|---|
295 local shoppaPY = {} |
295 local shoppaPY = {} |
296 local shoppaPR = {} |
296 local shoppaPR = {} |
297 |
297 |
298 -- Misc. state variables |
298 -- Misc. state variables |
299 local hedgeEditorMissionPanelShown = false |
299 local hedgeEditorMissionPanelShown = false |
300 local tagGears = {} |
|
301 local showGearTags = true |
|
302 |
300 |
303 local tagCursorX, tagCursorY |
301 local tagCursorX, tagCursorY |
304 |
302 |
305 --------------------------------- |
303 --------------------------------- |
306 -- crates are made of this stuff |
304 -- crates are made of this stuff |
2538 loc("Bouncy Girder: [4]") .. "|" .. |
2536 loc("Bouncy Girder: [4]") .. "|" .. |
2539 " " .. "|" .. |
2537 " " .. "|" .. |
2540 loc("Deletion Mode: [5]") .. "|" .. |
2538 loc("Deletion Mode: [5]") .. "|" .. |
2541 " " .. "|" .. |
2539 " " .. "|" .. |
2542 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2540 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2543 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2544 "", -amGirder, 60000, not helpDisabled |
2541 "", -amGirder, 60000, not helpDisabled |
2545 ) |
2542 ) |
2546 hedgeEditorMissionPanelShown = false |
2543 hedgeEditorMissionPanelShown = false |
2547 |
2544 |
2548 elseif cat[cIndex] == loc("Rubber Placement Mode") then |
2545 elseif cat[cIndex] == loc("Rubber Placement Mode") then |
2556 loc("Normal Rubber: [1]") .. "|" .. |
2553 loc("Normal Rubber: [1]") .. "|" .. |
2557 " " .. "|" .. |
2554 " " .. "|" .. |
2558 loc("Deletion Mode: [5]") .. "|" .. |
2555 loc("Deletion Mode: [5]") .. "|" .. |
2559 " " .. "|" .. |
2556 " " .. "|" .. |
2560 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2557 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2561 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2562 "", -amRubber, 60000, not helpDisabled |
2558 "", -amRubber, 60000, not helpDisabled |
2563 ) |
2559 ) |
2564 hedgeEditorMissionPanelShown = false |
2560 hedgeEditorMissionPanelShown = false |
2565 |
2561 |
2566 elseif cat[cIndex] == loc("Barrel Placement Mode") then |
2562 elseif cat[cIndex] == loc("Barrel Placement Mode") then |
2571 loc("Place Object: [Left Click]") .. "|" .. |
2567 loc("Place Object: [Left Click]") .. "|" .. |
2572 loc("Change Health: [Left], [Right]") .. "|" .. |
2568 loc("Change Health: [Left], [Right]") .. "|" .. |
2573 " " .. "|" .. |
2569 " " .. "|" .. |
2574 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2570 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2575 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2571 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2576 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2577 "", 8, 60000, not helpDisabled |
2572 "", 8, 60000, not helpDisabled |
2578 ) |
2573 ) |
2579 hedgeEditorMissionPanelShown = false |
2574 hedgeEditorMissionPanelShown = false |
2580 |
2575 |
2581 elseif cat[cIndex] == loc("Cleaver Placement Mode") then |
2576 elseif cat[cIndex] == loc("Cleaver Placement Mode") then |
2585 loc("Place cleavers"), |
2580 loc("Place cleavers"), |
2586 loc("Place Object: [Left Click]") .. "|" .. |
2581 loc("Place Object: [Left Click]") .. "|" .. |
2587 " " .. "|" .. |
2582 " " .. "|" .. |
2588 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2583 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2589 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2584 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2590 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2591 "", -amKnife, 60000, not helpDisabled |
2585 "", -amKnife, 60000, not helpDisabled |
2592 ) |
2586 ) |
2593 hedgeEditorMissionPanelShown = false |
2587 hedgeEditorMissionPanelShown = false |
2594 |
2588 |
2595 elseif cat[cIndex] == loc("Target Placement Mode") then |
2589 elseif cat[cIndex] == loc("Target Placement Mode") then |
2599 loc("Place targets"), |
2593 loc("Place targets"), |
2600 loc("Place Object: [Left Click]") .. "|" .. |
2594 loc("Place Object: [Left Click]") .. "|" .. |
2601 " " .. "|" .. |
2595 " " .. "|" .. |
2602 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2596 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2603 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2597 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2604 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2605 "", 1, 60000, not helpDisabled |
2598 "", 1, 60000, not helpDisabled |
2606 ) |
2599 ) |
2607 hedgeEditorMissionPanelShown = false |
2600 hedgeEditorMissionPanelShown = false |
2608 |
2601 |
2609 elseif cat[cIndex] == loc("Waypoint Editing Mode") then |
2602 elseif cat[cIndex] == loc("Waypoint Editing Mode") then |
2614 loc("Place/Delete Waypoint: [Left Click]") .. "|" .. |
2607 loc("Place/Delete Waypoint: [Left Click]") .. "|" .. |
2615 loc("Toggle Placement/Deletion: [Left], [Right]") .. "|" .. |
2608 loc("Toggle Placement/Deletion: [Left], [Right]") .. "|" .. |
2616 " " .. "|" .. |
2609 " " .. "|" .. |
2617 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2610 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2618 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2611 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2619 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2620 "", -amCMGearPlacementTool, 60000, not helpDisabled |
2612 "", -amCMGearPlacementTool, 60000, not helpDisabled |
2621 ) |
2613 ) |
2622 hedgeEditorMissionPanelShown = false |
2614 hedgeEditorMissionPanelShown = false |
2623 |
2615 |
2624 elseif cat[cIndex] == loc("Mine Placement Mode") then |
2616 elseif cat[cIndex] == loc("Mine Placement Mode") then |
2629 loc("Place Object: [Left Click]") .. "|" .. |
2621 loc("Place Object: [Left Click]") .. "|" .. |
2630 loc("Change Timer: [Left], [Right]") .. "|" .. |
2622 loc("Change Timer: [Left], [Right]") .. "|" .. |
2631 " " .. "|" .. |
2623 " " .. "|" .. |
2632 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2624 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2633 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2625 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2634 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2635 "", -amMine, 60000, not helpDisabled |
2626 "", -amMine, 60000, not helpDisabled |
2636 ) |
2627 ) |
2637 hedgeEditorMissionPanelShown = false |
2628 hedgeEditorMissionPanelShown = false |
2638 |
2629 |
2639 elseif cat[cIndex] == loc("Dud Mine Placement Mode") then |
2630 elseif cat[cIndex] == loc("Dud Mine Placement Mode") then |
2644 loc("Place Object: [Left Click]") .. "|" .. |
2635 loc("Place Object: [Left Click]") .. "|" .. |
2645 loc("Change Health: [Left], [Right]") .. "|" .. |
2636 loc("Change Health: [Left], [Right]") .. "|" .. |
2646 " " .. "|" .. |
2637 " " .. "|" .. |
2647 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2638 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2648 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2639 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2649 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2650 "", 9, 60000, not helpDisabled |
2640 "", 9, 60000, not helpDisabled |
2651 ) |
2641 ) |
2652 hedgeEditorMissionPanelShown = false |
2642 hedgeEditorMissionPanelShown = false |
2653 |
2643 |
2654 elseif cat[cIndex] == loc("Sticky Mine Placement Mode") then |
2644 elseif cat[cIndex] == loc("Sticky Mine Placement Mode") then |
2659 loc("Place Object: [Left Click]") .. "|" .. |
2649 loc("Place Object: [Left Click]") .. "|" .. |
2660 loc("Change Timer: [Left], [Right]") .. "|" .. |
2650 loc("Change Timer: [Left], [Right]") .. "|" .. |
2661 " " .. "|" .. |
2651 " " .. "|" .. |
2662 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2652 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2663 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2653 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2664 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2665 "", -amSMine, 60000, not helpDisabled |
2654 "", -amSMine, 60000, not helpDisabled |
2666 ) |
2655 ) |
2667 hedgeEditorMissionPanelShown = false |
2656 hedgeEditorMissionPanelShown = false |
2668 |
2657 |
2669 elseif cat[cIndex] == loc("Air Mine Placement Mode") then |
2658 elseif cat[cIndex] == loc("Air Mine Placement Mode") then |
2674 loc("Place Object: [Left Click]") .. "|" .. |
2663 loc("Place Object: [Left Click]") .. "|" .. |
2675 loc("Change Timer: [Left], [Right]") .. "|" .. |
2664 loc("Change Timer: [Left], [Right]") .. "|" .. |
2676 " " .. "|" .. |
2665 " " .. "|" .. |
2677 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2666 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2678 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2667 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2679 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2680 "", -amAirMine, 60000, not helpDisabled |
2668 "", -amAirMine, 60000, not helpDisabled |
2681 ) |
2669 ) |
2682 hedgeEditorMissionPanelShown = false |
2670 hedgeEditorMissionPanelShown = false |
2683 |
2671 |
2684 elseif cat[cIndex] == loc("Weapon Crate Placement Mode") then |
2672 elseif cat[cIndex] == loc("Weapon Crate Placement Mode") then |
2689 loc("Place Object: [Left Click]") .. "|" .. |
2677 loc("Place Object: [Left Click]") .. "|" .. |
2690 loc("Change Content: [Left], [Right]") .. "|" .. |
2678 loc("Change Content: [Left], [Right]") .. "|" .. |
2691 " " .. "|" .. |
2679 " " .. "|" .. |
2692 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2680 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2693 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2681 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2694 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2695 "", 7, 60000, not helpDisabled |
2682 "", 7, 60000, not helpDisabled |
2696 ) |
2683 ) |
2697 hedgeEditorMissionPanelShown = false |
2684 hedgeEditorMissionPanelShown = false |
2698 |
2685 |
2699 elseif cat[cIndex] == loc("Utility Crate Placement Mode") then |
2686 elseif cat[cIndex] == loc("Utility Crate Placement Mode") then |
2704 loc("Place Object: [Left Click]") .. "|" .. |
2691 loc("Place Object: [Left Click]") .. "|" .. |
2705 loc("Change Content: [Left], [Right]") .. "|" .. |
2692 loc("Change Content: [Left], [Right]") .. "|" .. |
2706 " " .. "|" .. |
2693 " " .. "|" .. |
2707 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2694 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2708 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2695 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2709 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2710 "", 5, 60000, not helpDisabled |
2696 "", 5, 60000, not helpDisabled |
2711 ) |
2697 ) |
2712 hedgeEditorMissionPanelShown = false |
2698 hedgeEditorMissionPanelShown = false |
2713 |
2699 |
2714 elseif cat[cIndex] == loc("Health Crate Placement Mode") then |
2700 elseif cat[cIndex] == loc("Health Crate Placement Mode") then |
2719 loc("Place Object: [Left Click]") .. "|" .. |
2705 loc("Place Object: [Left Click]") .. "|" .. |
2720 loc("Change Health Boost: [Left], [Right]") .. "|" .. |
2706 loc("Change Health Boost: [Left], [Right]") .. "|" .. |
2721 " " .. "|" .. |
2707 " " .. "|" .. |
2722 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2708 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2723 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2709 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2724 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2725 "", 6, 60000, not helpDisabled |
2710 "", 6, 60000, not helpDisabled |
2726 ) |
2711 ) |
2727 hedgeEditorMissionPanelShown = false |
2712 hedgeEditorMissionPanelShown = false |
2728 |
2713 |
2729 elseif cat[cIndex] == loc("Repositioning Mode") then |
2714 elseif cat[cIndex] == loc("Repositioning Mode") then |
2734 loc("Select/Place/Delete Gear: [Left Click]") .. "|" .. |
2719 loc("Select/Place/Delete Gear: [Left Click]") .. "|" .. |
2735 loc("Choose Selection/Placement/Deletion: [Left], [Right]") .. "|" .. |
2720 loc("Choose Selection/Placement/Deletion: [Left], [Right]") .. "|" .. |
2736 " " .. "|" .. |
2721 " " .. "|" .. |
2737 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2722 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2738 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2723 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2739 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2740 "", -amCMGearPlacementTool, 60000, not helpDisabled |
2724 "", -amCMGearPlacementTool, 60000, not helpDisabled |
2741 ) |
2725 ) |
2742 hedgeEditorMissionPanelShown = false |
2726 hedgeEditorMissionPanelShown = false |
2743 |
2727 |
2744 elseif cat[cIndex] == loc("Sprite Modification Mode") then |
2728 elseif cat[cIndex] == loc("Sprite Modification Mode") then |
2755 loc("Icy Land: [3]") .. "|" .. |
2739 loc("Icy Land: [3]") .. "|" .. |
2756 loc("Bouncy Land: [4]") .. "|" .. |
2740 loc("Bouncy Land: [4]") .. "|" .. |
2757 " " .. "|" .. |
2741 " " .. "|" .. |
2758 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2742 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2759 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2743 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2760 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2761 "", 2, 60000, not helpDisabled |
2744 "", 2, 60000, not helpDisabled |
2762 ) |
2745 ) |
2763 hedgeEditorMissionPanelShown = false |
2746 hedgeEditorMissionPanelShown = false |
2764 |
2747 |
2765 elseif cat[cIndex] == loc("Sprite Placement Mode") then |
2748 elseif cat[cIndex] == loc("Sprite Placement Mode") then |
2776 loc("Icy Land: [3]") .. "|" .. |
2759 loc("Icy Land: [3]") .. "|" .. |
2777 loc("Bouncy Land: [4]") .. "|" .. |
2760 loc("Bouncy Land: [4]") .. "|" .. |
2778 " " .. "|" .. |
2761 " " .. "|" .. |
2779 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2762 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2780 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2763 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2781 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2782 "", -amCMGearPlacementTool, 60000, not helpDisabled |
2764 "", -amCMGearPlacementTool, 60000, not helpDisabled |
2783 ) |
2765 ) |
2784 hedgeEditorMissionPanelShown = false |
2766 hedgeEditorMissionPanelShown = false |
2785 |
2767 |
2786 elseif cat[cIndex] == loc("Goal Definition Mode") then |
2768 elseif cat[cIndex] == loc("Goal Definition Mode") then |
2791 loc("Mark/unmark gear: [Left Click]") .. "|" .. |
2773 loc("Mark/unmark gear: [Left Click]") .. "|" .. |
2792 loc("Select win/lose condition: [Left], [Right]") .. "|" .. |
2774 loc("Select win/lose condition: [Left], [Right]") .. "|" .. |
2793 " " .. "|" .. |
2775 " " .. "|" .. |
2794 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2776 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2795 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2777 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2796 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2797 "", 0, 60000, not helpDisabled |
2778 "", 0, 60000, not helpDisabled |
2798 ) |
2779 ) |
2799 hedgeEditorMissionPanelShown = false |
2780 hedgeEditorMissionPanelShown = false |
2800 elseif cat[cIndex] == loc("Hog Identity Mode") then |
2781 elseif cat[cIndex] == loc("Hog Identity Mode") then |
2801 |
2782 |
2805 loc("Set Identity: [Left Click]") .. "|" .. |
2786 loc("Set Identity: [Left Click]") .. "|" .. |
2806 loc("[Left], [Right]: Change between identities.") .. "|" .. |
2787 loc("[Left], [Right]: Change between identities.") .. "|" .. |
2807 " " .. "|" .. |
2788 " " .. "|" .. |
2808 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2789 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2809 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2790 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2810 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2811 "", 3, 60000, not helpDisabled |
2791 "", 3, 60000, not helpDisabled |
2812 ) |
2792 ) |
2813 hedgeEditorMissionPanelShown = false |
2793 hedgeEditorMissionPanelShown = false |
2814 |
2794 |
2815 elseif cat[cIndex] == loc("Team Identity Mode") then |
2795 elseif cat[cIndex] == loc("Team Identity Mode") then |
2820 loc("Set Identity: [Left Click]") .. "|" .. |
2800 loc("Set Identity: [Left Click]") .. "|" .. |
2821 loc("[Left], [Right]: Change between identities.") .. "|" .. |
2801 loc("[Left], [Right]: Change between identities.") .. "|" .. |
2822 " " .. "|" .. |
2802 " " .. "|" .. |
2823 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2803 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2824 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2804 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2825 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2826 "", 3, 60000, not helpDisabled |
2805 "", 3, 60000, not helpDisabled |
2827 ) |
2806 ) |
2828 hedgeEditorMissionPanelShown = false |
2807 hedgeEditorMissionPanelShown = false |
2829 |
2808 |
2830 elseif cat[cIndex] == loc("Health Modification Mode") then |
2809 elseif cat[cIndex] == loc("Health Modification Mode") then |
2835 loc("Set Health: [Left Click]") .. "|" .. |
2814 loc("Set Health: [Left Click]") .. "|" .. |
2836 loc("[Left], [Right]: Change health value.") .. "|" .. |
2815 loc("[Left], [Right]: Change health value.") .. "|" .. |
2837 " " .. "|" .. |
2816 " " .. "|" .. |
2838 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2817 loc("Change Placement Mode: [Up], [Down]") .. "|" .. |
2839 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2818 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
2840 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
2841 "", 2, 60000, not helpDisabled |
2819 "", 2, 60000, not helpDisabled |
2842 ) |
2820 ) |
2843 hedgeEditorMissionPanelShown = false |
2821 hedgeEditorMissionPanelShown = false |
2844 |
2822 |
2845 end |
2823 end |
3107 end |
3085 end |
3108 |
3086 |
3109 -- Show cursor coords |
3087 -- Show cursor coords |
3110 updateCursorCoords() |
3088 updateCursorCoords() |
3111 |
3089 |
3112 -- Barrel health tags, mine timer tags and health crate health tags |
|
3113 if GameTime % 20 == 0 then |
|
3114 local actualValue -- internal value |
|
3115 local printedValue -- value exposed to HUD |
|
3116 for g, v in pairs(tagGears) do |
|
3117 local gt = GetGearType(g) |
|
3118 if v == -1 then |
|
3119 if gt == gtCase then |
|
3120 if(band(GetGearPos(g), 0x2) ~= 0) and (band(GetState(g), gstFrozen) == 0) then |
|
3121 v = AddVisualGear(0, 0, vgtHealthTag, GetHealth(g), true) |
|
3122 SetVisualGearValues(v, nil, nil, 0, 0, nil, 0, 1, nil, 240000, 0x808080FF) |
|
3123 tagGears[g] = v |
|
3124 else |
|
3125 tagGears[g] = nil |
|
3126 end |
|
3127 else |
|
3128 if gt == gtMine and GetHealth(g) == 0 then |
|
3129 local _, damage, health |
|
3130 _, _, _, _, _, _, _, _, _, _, _, damage = GetGearValues(g) |
|
3131 health = 36 - damage |
|
3132 v = AddVisualGear(0, 0, vgtHealthTag, health, true) |
|
3133 SetVisualGearValues(v, nil, nil, 0, 0, nil, 0, 1, nil, 240000, 0x808080FF) |
|
3134 tagGears[g] = v |
|
3135 end |
|
3136 end |
|
3137 end |
|
3138 -- Delete tag for drowning gears |
|
3139 if(band(GetState(g), gstDrowning) ~= 0) then |
|
3140 DeleteVisualGear(v) |
|
3141 tagGears[g] = nil |
|
3142 -- Delete tag for frozen sticky mines, air mines and crates |
|
3143 elseif(band(GetState(g), gstFrozen) ~= 0 and (gt == gtAirMine or gt == gtSMine or gt == gtCase)) then |
|
3144 DeleteVisualGear(v) |
|
3145 tagGears[g] = nil |
|
3146 elseif(tagGears[g] ~= nil and tagGears[g] ~= -1) then |
|
3147 local tag, actualvalue, offset_x, offset_y |
|
3148 tag = GetState(v) |
|
3149 if(gt == gtExplosives) then |
|
3150 actualValue = GetHealth(g) |
|
3151 printedValue = actualValue |
|
3152 offset_y = -20 |
|
3153 offset_x = 0 |
|
3154 elseif(gt == gtAirMine) then |
|
3155 if(band(GetState(g), gstAttacking) ~= 0) then |
|
3156 actualValue = GetTimer(g) |
|
3157 printedValue = actualValue |
|
3158 else |
|
3159 local _ |
|
3160 _, _, actualValue = GetGearValues(g) |
|
3161 printedValue = actualValue |
|
3162 end |
|
3163 offset_y = 28 |
|
3164 offset_x = 16 |
|
3165 elseif(gt == gtCase) then |
|
3166 actualValue = GetHealth(g) |
|
3167 printedValue = actualValue |
|
3168 offset_y = -20 |
|
3169 offset_x = 1 |
|
3170 elseif(gt == gtMine) then |
|
3171 if(GetHealth(g) ~= 0) then |
|
3172 -- Non-dud: Show timer |
|
3173 actualValue = GetTimer(g) |
|
3174 printedValue = actualValue |
|
3175 offset_y = 28 |
|
3176 offset_x = 16 |
|
3177 else |
|
3178 -- Dud: Show health |
|
3179 local _ |
|
3180 _, _, _, _, _, _, _, _, _, _, _, actualValue = GetGearValues(g) |
|
3181 printedValue = 36 - actualValue |
|
3182 offset_y = -12 |
|
3183 offset_x = 0 |
|
3184 end |
|
3185 elseif(gt == gtSMine) then |
|
3186 actualValue = GetTimer(g) |
|
3187 printedValue = actualValue |
|
3188 offset_y = 28 |
|
3189 offset_x = 16 |
|
3190 end |
|
3191 local tint |
|
3192 if(not showGearTags) then |
|
3193 -- Hide the tags |
|
3194 tint = 0x00000000 |
|
3195 elseif(gt == gtCase) then |
|
3196 tint = 0x80FF80FF |
|
3197 elseif(gt == gtExplosives or (gt == gtMine and GetHealth(g) == 0)) then |
|
3198 tint = 0x808080FF |
|
3199 elseif(band(GetState(g), gstAttacking) ~= 0) then |
|
3200 if(actualValue % 1000 > 500) then |
|
3201 tint = 0xFFA0A0FF |
|
3202 else |
|
3203 tint = 0xFF4040FF |
|
3204 end |
|
3205 else |
|
3206 tint = 0xFFFFFFFF |
|
3207 end |
|
3208 if(actualValue ~= tag) then |
|
3209 --[[ If timer/health changed, delete visual gear and add it again. |
|
3210 Changing the visual gear state does not have any effect, so we need this hack ]] |
|
3211 DeleteVisualGear(v) |
|
3212 v = AddVisualGear(GetX(g)+offset_x, GetY(g)+offset_y, vgtHealthTag, printedValue, true) |
|
3213 SetVisualGearValues(v, nil, nil, 0, 0, nil, 0, 1, nil, 240000, tint) |
|
3214 tagGears[g] = v |
|
3215 else |
|
3216 -- Just update position if the health did not change |
|
3217 SetVisualGearValues(v, GetX(g)+offset_x, GetY(g)+offset_y, 0, 0, nil, 0, 1, nil, 240000, tint) |
|
3218 end |
|
3219 end |
|
3220 end |
|
3221 end |
|
3222 end |
3090 end |
3223 |
3091 |
3224 -------------------------------------------------- |
3092 -------------------------------------------------- |
3225 -- EVENT HANDLERS |
3093 -- EVENT HANDLERS |
3226 -------------------------------------------------- |
3094 -------------------------------------------------- |
3252 AddCaption(loc("Help Disabled"), colorInfoMessage, capgrpVolume) |
3120 AddCaption(loc("Help Disabled"), colorInfoMessage, capgrpVolume) |
3253 else |
3121 else |
3254 AddCaption(loc("Help Enabled"), colorInfoMessage, capgrpVolume) |
3122 AddCaption(loc("Help Enabled"), colorInfoMessage, capgrpVolume) |
3255 end |
3123 end |
3256 updateHelp() |
3124 updateHelp() |
3257 elseif (preciseOn == true) and (s == 3) then |
|
3258 showGearTags = not(showGearTags) |
|
3259 if showGearTags then |
|
3260 AddCaption(loc("Gear information shown"), colorInfoMessage, capgrpVolume) |
|
3261 else |
|
3262 AddCaption(loc("Gear information hidden"), colorInfoMessage, capgrpVolume) |
|
3263 end |
|
3264 |
|
3265 elseif (cat[cIndex] == loc("Sprite Placement Mode")) or (cat[cIndex] == loc("Girder Placement Mode")) or (cat[cIndex] == loc("Rubber Placement Mode")) or (cat[cIndex] == loc("Sprite Modification Mode")) then |
3125 elseif (cat[cIndex] == loc("Sprite Placement Mode")) or (cat[cIndex] == loc("Girder Placement Mode")) or (cat[cIndex] == loc("Rubber Placement Mode")) or (cat[cIndex] == loc("Sprite Modification Mode")) then |
3266 |
3126 |
3267 if (cat[cIndex] == loc("Rubber Placement Mode")) then |
3127 if (cat[cIndex] == loc("Rubber Placement Mode")) then |
3268 if s == 1 then |
3128 if s == 1 then |
3269 landType = lfBouncy |
3129 landType = lfBouncy |
3505 " " .. "|" .. |
3365 " " .. "|" .. |
3506 loc("Place Girder: Girder") .. "|" .. |
3366 loc("Place Girder: Girder") .. "|" .. |
3507 loc("Place Rubber: Rubber") .. "|" .. |
3367 loc("Place Rubber: Rubber") .. "|" .. |
3508 loc("Place Gears (and more): Gear Placement Tool") .. "|" .. |
3368 loc("Place Gears (and more): Gear Placement Tool") .. "|" .. |
3509 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
3369 loc("Toggle Help: [Precise]+[1]") .. "|" .. |
3510 loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. |
|
3511 " " .. "|" .. |
3370 " " .. "|" .. |
3512 loc("Editing Commands: (Use while no weapon is selected)") .. "|" .. |
3371 loc("Editing Commands: (Use while no weapon is selected)") .. "|" .. |
3513 loc("Save Level: [Precise]+[4]") .. "|" .. |
3372 loc("Save Level: [Precise]+[4]") .. "|" .. |
3514 loc("Toggle Editing Weapons and Tools: [Precise]+[2]") |
3373 loc("Toggle Editing Weapons and Tools: [Precise]+[2]") |
3515 , 4, 5000 |
3374 , 4, 5000 |
3841 cGear = gear |
3700 cGear = gear |
3842 cGearPlacementDone = false |
3701 cGearPlacementDone = false |
3843 end |
3702 end |
3844 |
3703 |
3845 local tagTint |
3704 local tagTint |
3846 if showGearTags then |
|
3847 tagTint = 0xFFFFFFFF |
|
3848 else |
|
3849 tagTint = 0x00000000 |
|
3850 end |
|
3851 if ((GetGearType(gear) == gtMine and GetHealth(gear) ~= 0) or (GetGearType(gear) == gtSMine and band(GetState(gear), gstFrozen) == 0)) then |
|
3852 local v = AddVisualGear(0, 0, vgtHealthTag, GetTimer(gear), true) |
|
3853 SetVisualGearValues(v, nil, nil, 0, 0, nil, 0, 1, nil, 240000, tagTint) |
|
3854 tagGears[gear] = v |
|
3855 elseif ((GetGearType(gear) == gtMine and GetHealth(gear) == 0)) then |
|
3856 local _, dmg |
|
3857 _, _, _, _, _, _, _, _, _, _, dmg = GetGearValues(gear) |
|
3858 local v = AddVisualGear(0, 0, vgtHealthTag, 36 - dmg, true) |
|
3859 SetVisualGearValues(v, nil, nil, 0, 0, nil, 0, 1, nil, 240000, tagTint) |
|
3860 tagGears[gear] = v |
|
3861 elseif (GetGearType(gear) == gtAirMine and band(GetState(gear), gstFrozen) == 0) then |
|
3862 local _, wdTimer |
|
3863 _, _, wdTimer = GetGearValues(gear) |
|
3864 local v = AddVisualGear(0, 0, vgtHealthTag, wdTimer, true) |
|
3865 SetVisualGearValues(v, nil, nil, 0, 0, nil, 0, 1, nil, 240000, tagTint) |
|
3866 tagGears[gear] = v |
|
3867 elseif (GetGearType(gear) == gtCase) then |
|
3868 tagGears[gear] = -1 |
|
3869 elseif (GetGearType(gear) == gtExplosives) then |
|
3870 local v = AddVisualGear(0, 0, vgtHealthTag, GetHealth(gear), true) |
|
3871 SetVisualGearValues(v, nil, nil, 0, 0, nil, 0, 1, nil, 240000, tagTint) |
|
3872 tagGears[gear] = v |
|
3873 end |
|
3874 |
3705 |
3875 if isATrackedGear(gear) then |
3706 if isATrackedGear(gear) then |
3876 trackGear(gear) |
3707 trackGear(gear) |
3877 |
3708 |
3878 if GetGearType(gear) == gtPortal then |
3709 if GetGearType(gear) == gtPortal then |
3891 end |
3722 end |
3892 |
3723 |
3893 if (gt == gtAirAttack and GetGearPos(gear) == 0) or gt == gtGirder then |
3724 if (gt == gtAirAttack and GetGearPos(gear) == 0) or gt == gtGirder then |
3894 cGear = nil |
3725 cGear = nil |
3895 end |
3726 end |
3896 |
|
3897 if (gt == gtMine or gt == gtSMine or gt == gtAirMine or gt == gtExplosives or gt == gtCase) then |
|
3898 if(tagGears[gear] ~= -1) then |
|
3899 DeleteVisualGear(tagGears[gear]) |
|
3900 end |
|
3901 tagGears[gear] = nil |
|
3902 end |
|
3903 |
|
3904 |
3727 |
3905 if isATrackedGear(gear) then |
3728 if isATrackedGear(gear) then |
3906 |
3729 |
3907 if getGearValue(gear, "tCirc") ~= nil then |
3730 if getGearValue(gear, "tCirc") ~= nil then |
3908 DeleteVisualGear(getGearValue(gear, "tCirc")) |
3731 DeleteVisualGear(getGearValue(gear, "tCirc")) |