hugmeir

Untitled

Dec 22nd, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. void main() {
  2. boolean last_encounter_was_silent_wanderer = false;
  3.  
  4. // props starting with underscores are automagically reset at
  5. // rollover, which suits us perfectly.
  6. int last_seen = get_property("_last_wanderer_seen").to_int();
  7. int curr_turn = my_turncount();
  8.  
  9. if ( last_seen == curr_turn ) // free turn after wanderer
  10. return;
  11.  
  12. if ( my_location() == $location[none] ) // copy
  13. return;
  14.  
  15. monster m = last_monster();
  16. int delta = curr_turn - last_seen;
  17.  
  18. if ( delta < 5 ) // too soon! clingy or copy.
  19. return;
  20.  
  21. if ( m == $monster[none] ) {
  22. // ffs mafia.
  23. // Thanks Barry!
  24. // Try not to use this, since it lives across rollovers.
  25. string monster_name = get_property("lastEncounter");
  26. matcher wanderer_matcher = create_matcher(
  27. "wh15p3r|whisper|murmur|silent scream|5113n7 5cr34m",
  28. monster_name
  29. );
  30.  
  31. if ( wanderer_matcher.find() )
  32. last_encounter_was_silent_wanderer = true;
  33. }
  34. else {
  35. switch ( m.manuel_name ) {
  36. case "silent scream":
  37. case "voiceless whisper":
  38. case "mouthless murmur":
  39. last_encounter_was_silent_wanderer = true;
  40. }
  41. }
  42.  
  43. if ( !last_encounter_was_silent_wanderer )
  44. return;
  45.  
  46. set_property("_last_wanderer_seen", curr_turn);
  47. if ( last_seen == 0 ) // first fight of the day
  48. return;
  49.  
  50. int delta_for_timer = delta - 1;
  51. cli_execute("/timer " + delta_for_timer + " silent wanderer 0-4 turns after this expires");
  52.  
  53. return;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment