Advertisement
MightyD33r

Pseudo-Coding Strategizer

Aug 22nd, 2017
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.30 KB | None | 0 0
  1. This is a very complex game mode made to challenge those who have a basic understanding of overall programming and a good ability to remember every detail in this too fucking long of a text.
  2.  
  3. GAME SETUP:
  4. ├───[3-6] versus [3-6], two spectators
  5. ├───Fastest ability cool-down rate
  6. ├───Fastest ultimate charge
  7. ├───Map: Any
  8. ├───Game mode: Elimination
  9. ├───Time Limit: 30 minutes
  10. ├───No AFK Kick (assuming Blizzard is a bunch of nice people who will add this to custom games)
  11. └───Healing modifier: 50%
  12.  
  13. TEAM SETUP:
  14. ├───At least 1 Dealer:
  15. │ ├───Andro-Turret (Bastion)
  16. │ ├───Hacker (Sombra)
  17. │ └───Ninja (Genji)
  18. ├───At least 1 Tank:
  19. │ ├───Centaur (Orisa)
  20. │ ├───Knight (Reinhardt)
  21. │ ├───Lancer (Zarya)
  22. │ └───Rabbit (D.Va)
  23. └───At least 1 Healer:
  24. ├───Monk (Zenyatta)
  25. ├───Sniper (Anna)
  26. ├───Speedster (Lucio [primarily in speed mode])
  27. └───Valkyrie (Mercy)
  28.  
  29. RULES:
  30. ├───Each spectator takes control of one team
  31. ├───Each turn takes up to 30 seconds (prepare your typer-fingers :P)
  32. ├───After the 30 seconds, the spectator loses their turn and the other spectator may start theirs
  33. ├───A spectator may issue up to 6 commands every turn. Details on the commands are below.
  34. └───A spectator may not give any unit more than 2 commands. Distributing the commands is completely up to the spectator.
  35.  
  36. OBJECTIVE:
  37. └───You should probably focus on one of the following:
  38. ├───Kill the enemy team before the time limit
  39. │ OR
  40. └───Survive the best you can until the time limit
  41.  
  42. COMMANDS:
  43. ├───GENERAL COMMANDS:
  44. │ ├───[player name].move([direction], [duration]) //moving a player in a straight line
  45. │ │ ├───[direction]: where to go (only in a straight line)
  46. │ │ └───[duration]: moving time, up to 2 seconds of walking (11 meters)
  47. │ ├───[player name].move([location]) //moving a player to a specific location
  48. │ │ └───[location]: somewhere the player can see from their initial location, up to 2 seconds of walking (11 meters)
  49. │ ├───[player name].aim([enemy name]) //having a player aim at a certain enemy
  50. │ │ └───[player name] has to have a direct line of sight with [enemy name]
  51. │ └───[player name].fire([number of bullets]) //having a player fire at an enemy
  52. │ ├───[player name] must already have aimed at [enemy name] (unless you want to shoot air, which is fine by me)
  53. │ ├───If [player name] is a Andro-Turret and in recon mode, [number of bullets] is no more than 10
  54. │ ├───If [player name] is a Andro-Turret and in sentry more, [number of bullets] is no more than 20
  55. │ ├───If [player name] is a Ninja, [number of bullets] is no more than 12
  56. │ ├───If [player name] is a Centaur, [number of bullets] is no more than 20
  57. │ ├───If [player name] is a Lancer, [number of bullets] is no more than 10
  58. │ ├───If [player name] is a Knight, [number of bullets] (or actually number of swings) is no more than 2
  59. │ ├───If [player name] is a Rabbit, [number of bullets] is no more than 10
  60. │ ├───If [player name] is an Angelic, [number of bullets] is no more than 3
  61. │ ├───If [player name] is a Monk, [number of bullets] is no more than 5
  62. │ ├───If [player name] is a Sniper, [number of bullets] is no more than 2
  63. │ └───If [player name] is a Speedster, [number of bullets] is no more than 8
  64. ├───DEALER COMMANDS:
  65. │ ├───ANDRO-TURRET:
  66. │ │ ├───[player name].configure() //make an andro-turret toggle between recon mode and sentry mode
  67. │ │ │ └───After configuring, [player name] cannot receive other commands until the next turn
  68. │ │ ├───[player name].repair() //make an andro-turret repair themselves for one second
  69. │ │ └───[player name].tank(targets:([enemy name], [enemy name], ...)) //make an andro-turret configure into tank mode
  70. │ │ ├───[player name] may have up to 4 targets (the targets can be the same player)
  71. │ │ └───After configuring back from tank mode, the team can receive one extra command (meaning you can issue more than 6 commands per turn)
  72. │ ├───HACKER:
  73. │ │ ├───[player name].hack([enemy name]) //make a hacker hack [enemy name]
  74. │ │ │ └───A hacked player cannot receive any commands for 1 turn
  75. │ │ ├───[player name].cloak()
  76. │ │ │ └───A cloaked player can move for twice the amount of distance normally allowed (4 seconds, aka 22 meters) (only after un-cloaking)
  77. │ │ ├───[player name].teleport([direction]) //make a hacker teleport to a certain direction
  78. │ │ └───[player name].emp() //make a hacker use their electro-magnetic pulse (EMP)
  79. │ │ │ └───Any enemy caught will be unable to receive commands for 2 turns
  80. │ └───NINJA:
  81. │ ├───[player name].climb() //make a ninja climb a nearby wall
  82. │ │ └───Hopefully there is a wall nearby
  83. │ │ └───That wall has to be part of a platform the ninja can stand on
  84. │ ├───[player name].deflect() //make a ninja deflect
  85. │ │ ├───After deflecting, [player name] cannot be attacked
  86. │ │ └───[player name] cannot receive commands for 1 turn after deflecting
  87. │ ├───[player name].dash([direction]) //make a ninja dash
  88. │ │ └───[player name] cannot receive commands for 1 turn after dashing
  89. │ └───[player name].dragon(targets:([enemy name], [enemy name], ...)) //make a ninja activate their weeb powers
  90. │ ├───[player name] may have up to 4 targets (the targets can be the same player)
  91. │ └───After deactivating the weeb power, the team can receive one extra command, similarly to the tank command
  92. ├───TANK COMMANDS:
  93. │ ├───CENTAUR:
  94. │ │ ├───[player name].barrier([direction]) //make a centaur throw a shield at a certain location
  95. │ │ ├───[player name].halt([direction]) //make a centaur launch a halt! bubble
  96. │ │ │ └───Enemies caught are unable to receive commands in the next turn
  97. │ │ ├───[player name].fortify() //make a centaur fortify
  98. │ │ │ ├───After fortifying, enemies cannot attack the centaur for 1 turn
  99. │ │ │ └───After fortifying, a centaur cannot receive any commands for 1 turn
  100. │ │ └───[player name].supercharge() //make a centaur deploy a super-charger
  101. │ │ └───Any ally that was linked to the super-charger when it was initially deployed can now fire twice as much as they're normally allowed to
  102. │ ├───LANCER:
  103. │ │ ├───[player name].launch([direction]) //make a lancer launch an energy projectile is a certain direction
  104. │ │ ├───[player name].shield(targets:[ally name], [ally name]) //make a lancer project up to 2 shields
  105. │ │ │ ├───[player name] can also be one of the targets
  106. │ │ │ └───Any shielded player cannot be attacked in the next turn
  107. │ │ └───[player name].surge([direction]) //make a lancer launch a black hole
  108. │ │ └───Any player caught is unable to receive commands in the next turn
  109. │ ├───RABBIT:
  110. │ │ ├───[player name].matrix([direction]) //make a rabbit activate a defense matrix
  111. │ │ │ ├───[player name] cannot move the matrix after initiating
  112. │ │ │ └───Any ally that was projected on cannot be attacked for the next turn
  113. │ │ ├───[player name].boost([direction], [duration]) //make a rabbit use their boosters
  114. │ │ │ ├───[duration] is up to 2 seconds
  115. │ │ │ └───[direction] is a constant and cannot be changed, so no turning in mid-air
  116. │ │ └───[player name].destruct([direction]) //make a rabbit self-destruct
  117. │ │ ├───[player name] now has to get back in the mech before receiving any other commands
  118. │ │ └───[direction] is entirely optional, meaning you can either launch the mech or just make it explode in place
  119. │ └───KNIGHT:
  120. │ ├───[player name].shield([direction]) //make a knight raise their shield
  121. │ │ └───[player name] cannot move or change the angle of the shield after initiating and must hold it for 1 turn
  122. │ ├───[player name].charge([direction]) //make a knight launch themselves bearing a nice "fuck you" message
  123. │ │ └───[direction] is a constant and cannot be changed, so no turning
  124. │ ├───[player name].strike([direction]) //make a knight launch a wave of fire bearing a slightly less nice "fuck you" message
  125. │ │ └───[direction] should be towards an enemy
  126. │ └───[player name].shatter([direction]) //make a knight preform earth-shatter
  127. │ └───Any enemies caught cannot receive any commands for 1 turn, unless they were using a defensive ability in the previous turn
  128. └───HEALER COMMANDS:
  129. ├───VALKYRIE:
  130. │ ├───[player name].heal([ally name]) //make an angelic heal an ally for 1 second
  131. │ │ └───[number of orbs] is obviously up to 5
  132. │ ├───[player name].boost([ally name]) //make an angelic boost an ally's damage output
  133. │ │ └───The boost needs to last until [player name] receives this exact command: [player name].break() or until [ally name] has attacked
  134. │ ├───[player name].fly_to([ally name]) //make an angelic fly to an ally
  135. │ │ └───[ally name] must have direct line of sight with [player name]
  136. │ ├───[player name].revive([ally name]) //make an angelic revive a teammate
  137. │ └───[player name].transcend([sub-command], [sub-command]) //make a valkyrie activate their full potential
  138. │ ├───At least 1 [sub-command] is mandatory.
  139. │ └───[sub-command] can be any other valkyrie command, but with twists
  140. │ ├───heal([ally name]) //heal an ally to max health
  141. │ ├───boost([ally name]) //an ally can now shoot 2 times as much as normally allowed
  142. │ ├───fly_to([ally name], heal/boost) //fly to an ally and apply the valkyrie boost command or valkyrie heal command
  143. │ └───revive([ally name]) //revive an ally and apply valkyrie boost
  144. ├───MONK:
  145. │ ├───[player name].burst([number of orbs]) //make a monk launch an orb volley
  146. │ │ └───[number of orbs] is obviously up to 5
  147. │ ├───[player name].harmony([ally name], [duration]) //make a monk heal an ally
  148. │ │ └───[duration] is up to 2 seconds
  149. │ ├───[player name].discord([enemy name]) //make a monk launch a discord orb
  150. │ │ └───The orb must be removed after 1 turn
  151. │ └───[player name].tranquil() //make a monk transcend
  152. │ ├───After issuing a tranquil() command, [player name] cannot be attacked for 1 turn
  153. │ ├───It should go unsaid that any allies in the radius of the ultimate can be healed, but only them
  154. │ └───Regarding the previous statement, you cannot issue a tranquil() command and then have another ally walk into the area of effect. That just makes it and the game more stressing and time-based than the game already is.
  155. ├───SNIPER:
  156. │ ├───[player name].heal([target]) //make a sniper shoot a healing dart to an ally
  157. │ │ └───Has to be a noscope
  158. │ ├───[player name].grenade([direction]) //make a sniper throw a grenade
  159. │ │ └───An enemy hit by the grenade cannot be healed for 1 turn
  160. │ ├───[player name].sleep([enemy name]) //make a sniper put an enemy to sleep
  161. │ │ └───[enemy name] has to be inside [player name]'s field of view
  162. │ └───[player name].boost([ally name]) //make a sniper boost an ally
  163. │ ├───[ally name] has to be inside [player name]'s field of view
  164. │ └───A boosted player can either move for 4 seconds (22 meters) or shoot twice the amount normally allowed
  165. └───SPEEDSTER:
  166. ├───[player name].ride() //make a speedster ride a wall
  167. │ └───Hopefully, there is a wall nearby to ride on
  168. ├───[player name].boop() //make a speedster boop a doop
  169. │ └───Hopefully, [player name] is already aiming at an enemy by the time they're boopin' doops
  170. ├───[player name].accel() //make a speedster accelerate (activate their speed boost)
  171. │ └───The [duration] in the next move() command given to an accelerated player can now be up to 3 seconds, with speedsters being able to move for 4 seconds, but only after the boost has worn off
  172. ├───[player name].heal() //make a speedster switch to healing mode for 1 second
  173. └───[player name].break() //make a speedster raise a barrier
  174. └───Allies that have the barrier applied to them cannot be attacked in the next turn
  175.  
  176. END GAME:
  177. ├───The game ends if a team is dead or if the time limit is reached.
  178. ├───When a game ends, each team gets points.
  179. ├───The points are to be distributed like so:
  180. └───[points] = [heroes alive] x [collective HP of all alive heroes]
  181.  
  182. EXTRA RULES AND SETTINGS { HARDCORE MODE }:
  183. ├───Each turn can take no more than 15 seconds. //mash dat keyboard
  184. ├───Health modifier decreased to 50%
  185. ├───Healing modifier decreased to 25%
  186. ├───A player cannot use the same ability in the same two turns.
  187. ├───A player cannot receive commands after using an ability or attacking for 1 turn.
  188. ├───A spectator can only issue 3 commands per turn.
  189. └───Every player can only receive 1 command per turn.
  190.  
  191. HAVE FUN TRYING TO REMEMBER ALL OF THAT SHIT!
  192.  
  193. P.S: Feel free to suggest in the comments other kinds of commands you think I should add, or maybe even other heroes you'd like to see here!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement