◢███◤      ◢██◤                            ◢██◤                            
     ◢██◤       ◢██◤                            ◢██◤                             
    ◢██◤       ◢██◤                            ◢██◤                              
   ◢██◤       ◢██◤                            ◢██◤                               
  ◢██◤       ◢██◤                            ◢██◤                                
◢███◤       ◢██◤                            ◢██◤                          ◥██◣   
◥███       ◢█████◣    ◢████████◤ ◢███████◤ ◢██◤ ◢██◤                 ◢██◤   ██◣  
 ███      ◢███████◣        ◢██◤ ◢██◤ ◢██◤ ◢███████◤                 ◢██◤    ███  
 ███     ◢██◤  ◢██◤ ◢████████◤ ◢██◤      ◢█████◣                   ◢██◤     ███  
 ███    ◢██◤  ◢██◤ ◢██◤  ███◤ ◢██◤ ◢██◤ ◢██◤◥███◣                 ◢██◤      ███  
 ◥██   ◢██◤  ◢██◤ ◢████████◤ ◢███████◤ ◢██◤  ◥███◣               ◢██◤       ███◣ 
  ◥██◣                                                          ◢██◤       ◢███◤ 
                                 ◢███◤ ◢███◤ ◢██◤  ◢██◤ ◢█████████◤       ◢██◤   
                                ◢█████████◤ ◢██◤  ◢██◤ ◢██◤  ████◤       ◢██◤    
                               ◢██◤◢█◤◢██◤ ◢██◤  ◢██◤ ◢██◤   ███◤       ◢██◤     
                              ◢██◤   ◢██◤ ◢████████◤ ◢█████████◤       ◢██◤      
                             ◢██◤   ◢██◤ ◢████████◤ ◢█████████◤      ◢███◤       

0003
[Binmat Idea] Prep phase script run
bfdhbs
Obviously the long-term goal of binmat is to have a fully autonomous defender that can run effectively even while its player is asleep, at work, on vacation, etc. Unfortunately right now, there is a very large issue: the defender does not know about the game until the first turn, a full 30 seconds after the attacker knew the game started. This means an attacker has 30 seconds to alert allies, and this is *more* than enough time to flood out all defense spots, precluding the defender from brining allies in. My suggestion: Every player, attacker and defender, gets 1 automatic script run during the prep phase. I would have it implemented like this: Every 'syncing" period in the prep phase (i.e. 5s), scan the game for players that have anted in but not yet had their prepratory script run. Give them a script run and mark them as already ran. So, the process would look something like this: Attacker breaches last lock, and both attacker and defender ante up. the attacker has a few seconds where it can do stuff (assuming the attacker is a player or OOG bot), but within a few seconds, the first prep phase sync period happens, and both attacker and defender get a script run with args indicating it's prep phase. They can use these to call for help. And say some allies join. Next sync step, a0 and d0 already had their script run so they don't get another, but the new joins do. And so on, until the prep phase ends. very late joins (i.e. between the last sync step and game start) wouldn't get a prep script run, nor would joins after the game starts. Because it is done *after* ante is paid, you can't abuse this to automatically pull in an ante on a broke user; you have to be sitting with the ante already (so once a defender is fully looted, it can't re-arm itself without fresh GC coming in out of band)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -