Skip to content
Snippets Groups Projects
  1. Jul 17, 2019
  2. Jul 12, 2019
  3. May 30, 2019
    • ReformCopyright's avatar
      Add player variables that provide more information about how a player is doing compared to others: · ec2d463b
      ReformCopyright authored
      `~player.place~`: Current placement (1-5) based on layers remaining. If two players are tied, the lower number is returned, as per usual. When a player is out, their place is locked, so the first player to masturbate in a five player game stays at place 5 and don't become tied for fourth when the next player is eliminated.
      
      `~player.revplace~`: Current placement in reverse order, mainly so that you can check who is last or second last regardless of the number of participants. Also the lower number in case of a tie. The first player out will have this locked at 1 and so on.
      
      `~player.lead~`: Difference between `player`'s number of remaining layers and that of the best of the rest, so you can gloat when you're in a really big lead. If `player` is not in the lead, this will be negative, reflecting the number of layers behind the leader.
      
      `~player.trail~`: Difference between the lowest number of layers remaining among the other *remaining* players and `player`'s number of layers. Negative if not actually in last place (among the remaining players).
      
      `~player.diff(other)~` Difference between the number of layers of `player` and `other`, default being `self`.
      
      As an example, you can pinpoint the current leader (if any) by using `<condition var="leader"/><test expr="~leader.lead~" op="&gt;" value="0"/>`
      
      This commit moves the code that looks up the player a variable refers to into a separate function.
      ec2d463b
  4. Mar 31, 2019
  5. Mar 20, 2019
  6. Feb 10, 2019
  7. Jan 29, 2019
  8. Jan 28, 2019
    • ReformCopyright's avatar
      Forfeit refactorization and enhancements · 1948ba81
      ReformCopyright authored
      * Moves timers to the player objects. The initial timer value is now called "stamina" internally.
      * Activates the commented-out CANNOT_SPEAK mechanic; a character in heavy masturbation will not talk to others, only say heavy_masturbating lines.
      * If one or more characters are in heavy masturbation, the others (unless also heavily masturbating) will comment on one of them.
      * Optional male_heavy_masturbating and female_heavy_masturbating situations are added. If not used, the normal lines will play.
      * Fixes the problem that the moment a character goes into heavy masturbation, they immediately got a behaviour update, which was overwritten if the next phase was not Deal or Exchange. Since their heavy_masturbation lines will not always take priority, that update is no longer necessary (if it ever was).
      1948ba81
  9. Jan 14, 2019
  10. Jan 13, 2019
    • ReformCopyright's avatar
      As a special exception, reset a player's timeInStage *after* playing the... · 0cb4749e
      ReformCopyright authored
      As a special exception, reset a player's timeInStage *after* playing the finished_masturbating lines, so that it can be used by others to comment on how long they went on for.
      
      Reset it to 0 instead of -1 because orgasm may happen in the middle of a round (the time in the finished stage isn't that important anyway).
      
      Also increment timeInStage once for every 4 "Wait" phases (when the button just says "Wait", without dots).
      0cb4749e
  11. Dec 09, 2018
  12. Nov 30, 2018
  13. Oct 18, 2018
  14. Oct 14, 2018
  15. Oct 13, 2018
    • Nmasp's avatar
      Merge branch 'new-player-loading' into 'master' · 9144b5de
      Nmasp authored
      Make updateBehaviour() an Opponent method and put Opponent object in players[] before calling loadBehaviour()
      
      See merge request spnati/spnati.gitlab.io!1061
      
      (cherry picked from commit 3799d5c4b4e680644c4bbae86b16506b1d26d6b3)
      
      470259ff Make updateBehaviour() a Player method.
      4a7b7dea Improve loading by placing the selected Opponent object in the players[] array…
      b83e4a46 updateBehaviour() should be an Opponent method (it doesn't make sense for the human player).
      bdfb9b9f No need to load behaviour.xml at all if already loaded.
      eb2c2c06 Adjust whitespace.
      0d255f16 Merge remote-tracking branch 'origin/master' into new-player-loading
      ff184503 Move methods that only are relevant to AI players to the Opponent subclass.
      53b3bf7c Use .forEach() to loop over players[], skipping empty slots.
      92d986f9 Make copies if the same opponent appears multiple times at the same preset table.
      b555e3fa Merge remote-tracking branch 'origin/master' into new-player-loading
      9144b5de
    • Patrickisdom's avatar
      Revert "Merge branch 'new-player-loading' into 'master'" · 9e797b3d
      Patrickisdom authored
      This reverts merge request !1061
      9e797b3d
    • ReformCopyright's avatar
      Make updateBehaviour() an Opponent method and put Opponent object in players[]... · 28616a49
      ReformCopyright authored and Nmasp's avatar Nmasp committed
      Make updateBehaviour() an Opponent method and put Opponent object in players[] before calling loadBehaviour()
      28616a49
  16. Oct 06, 2018
  17. Oct 04, 2018
  18. Aug 27, 2018
    • ReformCopyright's avatar
      Fix bugs in !803 · f3dc3227
      ReformCopyright authored
      * Extra call to allowProgression() after the call to finishMasturbation(), which itself calls allowProgression(), caused the Ending popup to pop up automatically.
      
      * Make sure that the main button is re-enabled after closing the ending popup without selecting an epilogue or restarting.
      f3dc3227
  19. Aug 01, 2018
  20. Jun 15, 2018
  21. Jun 13, 2018
  22. Jun 12, 2018
  23. Jun 11, 2018
  24. Jun 06, 2018
Loading