[WIP][Server] Puppetmaster

Discussion in 'Work-In-Progress Mods' started by wondible, July 17, 2014.

  1. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    Spectators may use the 'toggle puppetmaster' keybind, which is by default alt+ctrl+shift+p. The binding should be configurable if you visit Settings while in a modded game.
  2. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    Note to self:
  3. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    Removed keybinding hack in favor of new reload message. Added spectator team chat "{player} gets {n} {unit}"
  4. cwarner7264

    cwarner7264 Moderator Alumni

    Messages:
    4,460
    Likes Received:
    5,390
    Having difficulty getting this working. Can't seem to toggle it on.
  5. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    Hrm. Do you have the debugger set up? Live Game should have "toggle" if the key is recognized. You an also change the keybind in case there is some platform issue with the large combo.
  6. cwarner7264

    cwarner7264 Moderator Alumni

    Messages:
    4,460
    Likes Received:
    5,390
    I think it's just too many keys - my pc didnt' like it :p got it working and streaming now :)
  7. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    - Check on saving of keybinding
    - Bigger effect for ping? burtcustard will check with nanolathe about possible custom effect.
    - Message sent to receiving player?
    Last edited: July 27, 2014
  8. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    cwarner7264 likes this.
  9. burntcustard

    burntcustard Post Master General

    Messages:
    699
    Likes Received:
    1,312
    https://dl.dropboxusercontent.com/u...hilation/Mods/puppetmaster_landing_effect.zip

    This is basically the commander landing effect, but without the red laser at the start, without the shell-effect-thing, without the brown lumpy smoke, and with a few numbers changed to make the smoke a bit less in the way. I wanted to get some of it team coloured, but it didn't work. I was testing it by using it as the default commander landing effect, so the team coloured stuff might still be doable if the effect is called during the game rather than actually before it.

    I think I've removed half of the graphically-intensive sections of the effect, so having 20 of these going at once shouldn't be TOO bad performance wise, but it would be awesome if you could get one "set" of units coming down in one of these drop pods, e.g. 20 Boom bots.

    Good luck with getting this in!
  10. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    Middling luck. Trying to paste the effect crashes the server - maybe we could try to get fancy and make a 0-hp unit that immediately causes a death effect, but that's an experiment for another day.

    Shadowing ping_ent doesn't show anything, but I can shadow just ping.pfx. It doesn't seem to accept the extended effect format. Leaves us with standard ping visibility, and of course the timing is off. Could probably shadow ping_ent with a simpler one for just the sound effect.

    So far I've been throttling pings, not sure it makes perfect sense with this. I have thought about having a paste-ten command, at which point I could only do one ping.
  11. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    I did put in the drop-pod effect; the delay is a little odd but it still looks cool.

    I've had no luck with the social chat so far.

    The mod now remembers player control and restores it when closing the spectator panel. You still can't paste while it's open, but it's harder to mess up after closing it.
    cwarner7264 likes this.
  12. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    Ping is ping again.

    I've (heavily) converted a land mine into a zero-hp drop-pod-launcher with a death effect. The effect should be visible according to ordinary sight rules. Still looks delayed though.

    New keybind "paste ten units", defaults to shift+ctrl+v.
    cwarner7264 likes this.
  13. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    Preloaded nuke and anti-nuke (1), with corresponding cost increase.
  14. cwarner7264

    cwarner7264 Moderator Alumni

    Messages:
    4,460
    Likes Received:
    5,390
    Thank you so much. Will have to increase the planned price of the nuke launcher accordingly, methinks ;)
  15. burntcustard

    burntcustard Post Master General

    Messages:
    699
    Likes Received:
    1,312
    "paste 10 units" works well! I just copied the code for it a few times to get paste 10/20/30 and assigned then to shift+ctrl+1/2/3. I'm not sure if those keyboard shortcuts are assigned by default to something (camera anchors?), but it was good.

    Actually, just tried it with factories. Lol. If possible, restricting it to "UNITTYPE_Mobile" might be good.

    Also I just got a delay in so that the drop pod hits the ground when the units appear! It's pretty hacky and I'm sure you can do better Wondible, but if I get it more cleanly done, I could send a pull request to ze github?

    EDIT: Screw it *throws code at you*
    Code:
      var pasteTen = function() {
        if (model.cheatAllowCreateUnit()) {
          dropPod()
          increment(10)
          maybePing()
          setTimeout(function() {
            for (var i = 0;i < 10;i++) {
              engineCall("unit.debug.paste")
            }
          }, 5000);
        }
      }
    So the puppetmaster can't move their cursor during those 5 seconds, but it looks pretty cool!
    Last edited: July 28, 2014
  16. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    Yeah; making super-towers is kind of fun, but I was going to see how much of an issue it was

    Yeah, that's the basic issue. If the cursor does move the the unit could appear quite far away or even on another planet, and moving around quickly pasting is kind of fun.
  17. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    There are other options, but they were more involved, including touching more files that might be used in other balance mods (though now that I think of it, load order may be able to solve that) Without going into detail, 1. a special low-cost missile that could be added by a keybind (multiple steps for puppetmaster) 2. a one-shot missile launcher (touches more popular files, possibly a separate mod)

    Preloading was refreshing simple.
  18. burntcustard

    burntcustard Post Master General

    Messages:
    699
    Likes Received:
    1,312
    I guess you can't give unit.debug.paste coordinates (I think cola_colin tried with his murder party mod but couldn't) :( Perhaps if someone was to harass Uber about it enough.. it might not be that hard for them to implement?
  19. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    I haven't actually tried passing extra arguments, but I don't know off-hand of any examples where engine methods have optional arguments like that. It was one of the points that came up with Sorian; maybe that will percolate up.

    Possible hack: delay the unit paste for five seconds, or until the pointer moves. So the puppetmaster can make the animation line up if he has time, but can also hot-drop or line-draw. Of course, if would make timing inconsistent from a player perspective.
  20. wondible

    wondible Post Master General

    Messages:
    3,299
    Likes Received:
    2,089
    I've made some accessory client mods; check the OP if you haven't been watching the mod forums.

    There was a request to have the spectator team chats attributed to the puppetmaster, even if someone else has to step in and take over. I changed the message to "Puppetmaster gives {player} {n} {unit}"; I could try modifying the chat box based on a message pattern, but I like that there a little transparency in the messages.

    Also, sandbox auto-opens on activation, and I've exposed a little bit of the bulk paste for debugger use in case somebody makes a huge bomb bot order or something.
    cwarner7264 likes this.

Share This Page