Unit Ideas

vonDarkmoor

New Member
Reaction score
9
I am not sure if this is the correct forum for this thread, or if it should go into the projects forum, sorry if its the wrong one.

Ive started working on a map im possibly calling "Squad Wars" maybe "Squad Defense". Not sure yet, give me your ideas after the description:

10 Players. Each with a Lane (kinda like in Line Tower Wars) and a base area just below their Lane. The player will have several shops in their base they can use to buy units, upgrades, abilities, and items. The squads will have a max of 5-6 units. every so often all the players squads will be moved from their respective bases to the bottom of their lane, a computer controlled squad will be spawned at the top of each lane. Each player will then use their squad to be the first person to kill the opposing squad. The 1st person to kill all units in the opposing squad will receive a "point" first player to 25(?) points will win. then all player will immediately go back to their base and have 30(?) seconds. until the next level. Periodically throughout the game 2 random player squads will be pitted against each other in a PvP squad duel. the winner will receive a bonus.

Things im looking for help on:
Unit types
Abilities
upgrades (other than obvious dmg/armor)
items
# of points to win
time between levels
already made custom models

Thanks a lot for any suggestions

Check out the map upload for a better picture of what it will look like.

also: Before you comment on my map layout ... i know ... but frankly, i have an OCD with symmetry and im in the military ... i just cant help it. all my maps end up symmetrical with sharp clean edges, no bumps. be glad i finally stopped turning off the "random variation" feature for terrain tiles. lol you should see the grass in my earlier maps, they were all the same tile.
 

Attachments

  • Squads.w3x
    34.2 KB · Views: 154

TomTTT

New Member
Reaction score
44
You can make number of votes to win chosen by the players. I dont really know how you can make a vote but you can make that only the host could say -pointsXX and then set your goal (Real or an Integer Variable?) to entered chat string 8,9. Upgrades.. umm.. maybe each attack have a chance to stun? not sure about that. :p
And i do think that you should post this on Projects. Not sure also :) GL with the map anyways. :thup:
 

vonDarkmoor

New Member
Reaction score
9
I Definitely like the idea of the players voting on how many points to win. Im thinkin a dialog box for each player with different choices, then a trigger comparing how many votes each option got, and if there was a tie, opening another dialog box with the options that tied, if there is another tie, then the amount will be randomly chosen. Im startin to think that this should be moved to the projects forum ... if anyone out there can do this? i dont think i can, and if i can i dont know how.
 

Cheddar

This is the way it was meant to be.
Reaction score
126
Are the players able to interact with each other in any way? Like, buy items that send powerful units other players, or heal the enemies' squads?

I always enjoy interesting ways to hinder players, usually through the use of Cinematic effects (There's a particularly nice action that fades a screen into a tiny scope, look around for it), and seeing as how the game is based around competing with everyone, it may be useful.

If you have no "Hero" system yet, I suggest using Heroes to provide special passive benefits -- perhaps give each player a random set of 3 possible heroes out of a large pool, each with their own abilities, and have them choose which one they think will be the most useful? Passive abilities like "When you kill a creep, gives an X% chance to send that creep at all opposing players" or "Increases gold income" or something. Bigger pool, the better.
 

TomTTT

New Member
Reaction score
44
I Definitely like the idea of the players voting on how many points to win. Im thinkin a dialog box for each player with different choices, then a trigger comparing how many votes each option got, and if there was a tie, opening another dialog box with the options that tied, if there is another tie, then the amount will be randomly chosen. Im startin to think that this should be moved to the projects forum ... if anyone out there can do this? i dont think i can, and if i can i dont know how.

Got it! :) i tried and did a test so.. there it is: sorry if it's a bit clumsy, cause im really not good at this for each Integer A stuff so it's in 3 triggers...
Trigger:
  • Start vote
    • Events
      • Time - Elapsed game time is 0.10 seconds
    • Conditions
    • Actions
      • Set inGamePlayers = (All players matching (((Player 1 (Red) controller) Equal to User) and ((Player 1 (Red) slot status) Equal to Is playing)))
      • Dialog - Change the title of goalDialog to Vote - Goal
      • Dialog - Create a dialog button for goalDialog labelled 15 Points
      • Set dialogButton[1] = (Last created dialog Button)
      • Dialog - Create a dialog button for goalDialog labelled 25 Points
      • Set dialogButton[2] = (Last created dialog Button)
      • Dialog - Create a dialog button for goalDialog labelled 35 Points
      • Set dialogButton[3] = (Last created dialog Button)
      • Player Group - Pick every player in inGamePlayers and do (Actions)
        • Loop - Actions
          • Dialog - Show goalDialog for (Picked player)
    • Count Votes
      • Events
        • Dialog - A dialog button is clicked for goalDialog
      • Conditions
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Clicked dialog button) Equal to dialogButton[1]
          • Then - Actions
            • Dialog - Hide goalDialog for (Triggering player)
            • Set voteInt[1] = (voteInt[1] + 1)
            • Player Group - Add (Triggering player) to votedPlayers
          • Else - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Clicked dialog button) Equal to dialogButton[2]
              • Then - Actions
                • Dialog - Hide goalDialog for (Triggering player)
                • Set voteInt[2] = (voteInt[2] + 1)
                • Player Group - Add (Triggering player) to votedPlayers
              • Else - Actions
                • Dialog - Hide goalDialog for (Triggering player)
                • Set voteInt[3] = (voteInt[3] + 1)
                • Player Group - Add (Triggering player) to votedPlayers
    • Set Goal
      • Events
        • Time - Every 2.00 seconds of game time
      • Conditions
        • (Number of players in votedPlayers) Equal to (Number of players in inGamePlayers)
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • voteInt[1] Greater than voteInt[2]
          • Then - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • voteInt[1] Greater than voteInt[3]
              • Then - Actions
                • Set goalInt = 15
              • Else - Actions
                • Do nothing
          • Else - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • goalInt Greater than voteInt[3]
              • Then - Actions
                • Set goalInt = 25
              • Else - Actions
                • Set goalInt = 35
        • Floating Text - Create floating text that reads (String(goalInt)) at (Center of (Playable map area)) with Z offset 0.00, using font size 50.00, color (100.00%, 100.00%, 100.00%), and 70.00% transparency
 

vonDarkmoor

New Member
Reaction score
9
I like it, couple things though. the line:

Trigger:
  • Set inGamePlayers = (All players matching (((Player 1 (Red) controller) Equal to User) and ((Player 1 (Red) slot status) Equal to Is playing)))


it seems to me this would make inGamePlayers = the player 1. i think there needs to be

Pick all players matching (matching player is playing equal to true)
set ingameplayers = picked player
set numberofplayers= count(players in ingameplayers)

then whenever a player presses a dialog button add 1 to dialogcounter_int and when dialogcounter_int = numberofplayers, then run a check to see wich option won, could also do a tie check at this point.


Also, good idea with the ability to mess with the other players, definitely gonna do that.

As for the hero, maybe i could incorporate something like a Squad Leader. with said abilities.
 

TomTTT

New Member
Reaction score
44
I like it, couple things though. the line:

Trigger:
  • Set inGamePlayers = (All players matching (((Player 1 (Red) controller) Equal to User) and ((Player 1 (Red) slot status) Equal to Is playing)))


it seems to me this would make inGamePlayers = the player 1. i think there needs to be

Pick all players matching (matching player is playing equal to true)
set ingameplayers = picked player
set numberofplayers= count(players in ingameplayers)

then whenever a player presses a dialog button add 1 to dialogcounter_int and when dialogcounter_int = numberofplayers, then run a check to see wich option won, could also do a tie check at this point.


Also, good idea with the ability to mess with the other players, definitely gonna do that.

As for the hero, maybe i could incorporate something like a Squad Leader. with said abilities.

oh crappy. xD sorry for that... but you know what i mean instead of Player 1 Red it's matching. Now about what you said with the check... As i said, im no expert. Personaly i dont think this is gonna bug cause i tested it as you can see from the line with the Floating text and it worked. :)
 

vonDarkmoor

New Member
Reaction score
9
What would happen in your system if there are 6 players, and 3 vote for 25 and 3 vote for 35?
____________________________________________________________________________________________________________________________________
____________________________________________________________________________________________________________________________________

OK this is what i came up with for a dialog box voting system. It recognizes ties, and cast a re-vote offering only the options that tied, if there is a second tie, it will take all options that were tied, and average the choices together making a new choice as the value set. I have no way of testing this information via multiplayer, so please let me know if yall see anything in the code that would bug, or if it can be done any simpler/efficient. it works single player :)

Player_Group is a variable I added to counter the event that a player leaves right after voting. but before they re-vote.

Initial Dialog Box:
Trigger:
  • Dialog box
    • Events
      • Time - Elapsed game time is 0.05 seconds
    • Conditions
    • Actions
      • Dialog - Create a dialog button for Points_Dialog labelled |c0020c00015 Points...
      • Set Points_Button_15 = (Last created dialog Button)
      • Dialog - Create a dialog button for Points_Dialog labelled |c00fffc0125 Points...
      • Set Points_Button_25 = (Last created dialog Button)
      • Dialog - Create a dialog button for Points_Dialog labelled |c00ff030335 Points...
      • Set Points_Button_35 = (Last created dialog Button)
      • Dialog - Change the title of Points_Dialog to |c00ff8000 Vote...
      • Player Group - Pick every player in (All players matching ((((Matching player) slot status) Equal to Is playing) and (((Matching player) controller) Equal to User))) and do (Actions)
        • Loop - Actions
          • Player Group - Add (Picked player) to Player_Group
          • Dialog - Show Points_Dialog for (Picked player)


The button Presses:
Trigger:
  • Pick 15
    • Events
      • Dialog - A dialog button is clicked for Points_Dialog
    • Conditions
      • (Clicked dialog button) Equal to Points_Button_15
    • Actions
      • Set Pick_15 = (Pick_15 + 1)

Trigger:
  • Pick 25
    • Events
      • Dialog - A dialog button is clicked for Points_Dialog
    • Conditions
      • (Clicked dialog button) Equal to Points_Button_25
    • Actions
      • Set Pick_25 = (Pick_25 + 1)

Trigger:
  • Pick 35
    • Events
      • Dialog - A dialog button is clicked for Points_Dialog
    • Conditions
      • (Clicked dialog button) Equal to Points_Button_35
    • Actions
      • Set Pick_35 = (Pick_35 + 1)


Checking the results:
Trigger:
  • Check Results
    • Events
      • Dialog - A dialog button is clicked for Points_Dialog
    • Conditions
      • (Pick_15 + (Pick_25 + Pick_35)) Equal to (Number of players in Player_Group)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Pick_15 Greater than Pick_25) and (Pick_15 Greater than Pick_35)
        • Then - Actions
          • Set Points_Needed = 15
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Pick_25 Greater than Pick_15) and (Pick_25 Greater than Pick_35)
            • Then - Actions
              • Set Points_Needed = 25
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Pick_35 Greater than Pick_25) and (Pick_35 Greater than Pick_15)
                • Then - Actions
                  • Set Points_Needed = 35
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Tied_Before Equal to True
                    • Then - Actions
                      • For each (Integer A) from 1 to 3, do (Set Points_Needed = (Points_Needed + Tie_Breaker[(Integer A)]))
                      • Set Points_Needed = (Points_Needed / Divisor)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Pick_15 Equal to Pick_25) and (Pick_15 Equal to Pick_35)
                        • Then - Actions
                          • Player Group - Pick every player in Player_Group and do (Player Group - Remove (Picked player) from Player_Group)
                          • Set Tied_Before = True
                          • Set Tie_Breaker[1] = 15
                          • Set Tie_Breaker[2] = 25
                          • Set Tie_Breaker[3] = 35
                          • Set Divisor = 3
                          • Dialog - Clear Points_Dialog
                          • Dialog - Create a dialog button for Points_Dialog labelled |c0020c00015 Points...
                          • Set Points_Button_15 = (Last created dialog Button)
                          • Dialog - Create a dialog button for Points_Dialog labelled |c00fffc0125 Points...
                          • Set Points_Button_25 = (Last created dialog Button)
                          • Dialog - Create a dialog button for Points_Dialog labelled |c00ff030335 Points...
                          • Set Points_Button_35 = (Last created dialog Button)
                          • Dialog - Change the title of Points_Dialog to |c00ff8000There was...
                          • Player Group - Pick every player in (All players matching ((((Matching player) slot status) Equal to Is playing) and (((Matching player) controller) Equal to User))) and do (Actions)
                            • Loop - Actions
                              • Dialog - Show Points_Dialog for (Picked player)
                              • Player Group - Add (Picked player) to Player_Group
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Pick_15 Equal to Pick_25) and (Pick_15 Not equal to Pick_35)
                            • Then - Actions
                              • Player Group - Pick every player in Player_Group and do (Player Group - Remove (Picked player) from Player_Group)
                              • Set Tied_Before = True
                              • Set Tie_Breaker[1] = 15
                              • Set Tie_Breaker[2] = 25
                              • Set Tie_Breaker[3] = 0
                              • Set Divisor = 2
                              • Dialog - Clear Points_Dialog
                              • Dialog - Create a dialog button for Points_Dialog labelled |c0020c00015 Points...
                              • Set Points_Button_15 = (Last created dialog Button)
                              • Dialog - Create a dialog button for Points_Dialog labelled |c00fffc0125 Points...
                              • Set Points_Button_25 = (Last created dialog Button)
                              • Dialog - Create a dialog button for Points_Dialog labelled |c00ff030335 Points...
                              • Set Points_Button_35 = (Last created dialog Button)
                              • Dialog - Change the title of Points_Dialog to |c00ff8000There was...
                              • Player Group - Pick every player in (All players matching ((((Matching player) slot status) Equal to Is playing) and (((Matching player) controller) Equal to User))) and do (Actions)
                                • Loop - Actions
                                  • Dialog - Show Points_Dialog for (Picked player)
                                  • Player Group - Add (Picked player) to Player_Group
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Pick_15 Equal to Pick_35) and (Pick_15 Not equal to Pick_25)
                                • Then - Actions
                                  • Player Group - Pick every player in Player_Group and do (Player Group - Remove (Picked player) from Player_Group)
                                  • Set Tied_Before = True
                                  • Set Tie_Breaker[1] = 15
                                  • Set Tie_Breaker[2] = 0
                                  • Set Tie_Breaker[3] = 35
                                  • Set Divisor = 2
                                  • Dialog - Clear Points_Dialog
                                  • Dialog - Create a dialog button for Points_Dialog labelled |c0020c00015 Points...
                                  • Set Points_Button_15 = (Last created dialog Button)
                                  • Dialog - Create a dialog button for Points_Dialog labelled |c00fffc0125 Points...
                                  • Set Points_Button_25 = (Last created dialog Button)
                                  • Dialog - Create a dialog button for Points_Dialog labelled |c00ff030335 Points...
                                  • Set Points_Button_35 = (Last created dialog Button)
                                  • Dialog - Change the title of Points_Dialog to |c00ff8000There was...
                                  • Player Group - Pick every player in (All players matching ((((Matching player) slot status) Equal to Is playing) and (((Matching player) controller) Equal to User))) and do (Actions)
                                    • Loop - Actions
                                      • Dialog - Show Points_Dialog for (Picked player)
                                      • Player Group - Add (Picked player) to Player_Group
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • (Pick_25 Equal to Pick_35) and (Pick_25 Not equal to Pick_15)
                                    • Then - Actions
                                      • Player Group - Pick every player in Player_Group and do (Player Group - Remove (Picked player) from Player_Group)
                                      • Set Tied_Before = True
                                      • Set Tie_Breaker[1] = 0
                                      • Set Tie_Breaker[2] = 25
                                      • Set Tie_Breaker[3] = 35
                                      • Set Divisor = 2
                                      • Dialog - Clear Points_Dialog
                                      • Dialog - Create a dialog button for Points_Dialog labelled |c0020c00015 Points...
                                      • Set Points_Button_15 = (Last created dialog Button)
                                      • Dialog - Create a dialog button for Points_Dialog labelled |c00fffc0125 Points...
                                      • Set Points_Button_25 = (Last created dialog Button)
                                      • Dialog - Create a dialog button for Points_Dialog labelled |c00ff030335 Points...
                                      • Set Points_Button_35 = (Last created dialog Button)
                                      • Dialog - Change the title of Points_Dialog to |c00ff8000There was...
                                      • Player Group - Pick every player in (All players matching ((((Matching player) slot status) Equal to Is playing) and (((Matching player) controller) Equal to User))) and do (Actions)
                                        • Loop - Actions
                                          • Dialog - Show Points_Dialog for (Picked player)
                                          • Player Group - Add (Picked player) to Player_Group
                                    • Else - Actions
 

TomTTT

New Member
Reaction score
44
Nice addition... these kinda length of triggers confuse me xD. Problem solved?
 

drak_dragon

New Member
Reaction score
6
unit ideas eh? well, depends on what kind of squads you're going for.


Ideas?



Sharpshooter
Basic single shot long ranged squad unit dealing decent damage with a medium duration cooldown between shots.
-Upgrades
--Critical type bonus? Gives chance to critical, for 2x, 4x, or 8x. Last upgrade could be a "Headshot" which has a chance to deal lethal damage (use bash, 0 stun, 9001?base bonus damage)

--Piercing shot? like a shockwave attack with no special graphic, dealing flat damage in a line. upgrades increase the length, or damage (triggers could do this) // these would also have a set proc chance per shot.

--Crippling Shot? like, once on occasion when attacking the target might become afflicted with an injury. upgrades increase chance of this to happen, or give access to new debuffs.
---debuff ideas
Bleed // DoT effect
Leg Wound // Slow
Arm Wound // Attack power reduction



Rocketeer
Ground unit that attacks using rockets at targets. high damage, slow attack rate, splash.

Upgrades?
Impact Rocket
Sometimes opponets will become dazed or stunned by these rockets. upgrades will increase the chances of both. stun wouldn't appear until third tier upgrade

Prototype Explosive
Sometimes when firing, the unit will actually attack with a random special rocket, doing an effect. further upgrades increase the types of rockets available, as well as the chance this may happen
--Scorching Rocket // leaves fire on the ground hurting opponets that step into it. (Or, as that blood elf mage flamestrike thing)
--Nitrogen Rocket // Blast emits a burst of nitrogen, chilling and slowing those in its range. (As frost nova)
--Tesla Rocket // Explodes, then shoots out a burst of energy striking targets in range. (As chain lightning or forked lightning)
--Cropduster Rocket // Explodes, then shoots out pellets that bounce around to a random point, then explode again (triggers can do this)

Rocket Volley
Gives your Rocketeers access to the Rocket Volley ability (like rain of fire but with rockets as the models)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top