/Warcraft-Arena-Unity

World of Warcraft client-server combat system implementation in Unity with Photon Bolt.

Primary LanguageC#The UnlicenseUnlicense

Warcraft Arena

World of Warcraft combat system implementation in Unity with Photon Bolt.

Feel free to ask anything about this project in Discord.

Install

Setup:

Open project in Unity Editor with version specified in ProjectSettings/ProjectVersion.
Enter playmode from Launcher scene in Assets/Scenes/Launcher.

Build:

Launcher scene should be always included first, followed by other locations, currently only Lordaeron.
Dedicated server may also be built using Launcher Dedicated scene.

Play:

To create a server, select any map then press Start Server button.
To connect to existing server press Start Client then wait for sessions to appear and press Connect.
Client is started by default, if connection fails then reason should be displayed at the bottom of lobby panel.

Project status

Done:

  • Server instances and client connections with Photon Bolt
  • World of Warcraft player controller and camera
  • Arena location setup, Lordaeron map
  • Unit frames, action bars, custom hotkeys, lobby UI
  • Floating text, unit selection circle-projectors
  • Basic localization and spell error notifications
  • Spell, ui and character sounds
  • Visual effects for spell casts, projectiles and auras
  • Spells, spell effects, auras and aura effects

Next:

  • More spells, effects and auras
  • New spell and aura mechanics
  • Arena or battleground logic

Guides

Screenshot

Alt text

Implemented spell effects:

Direct teleport Damage Heal Dispel Mechanics
Apply aura Kill Resurrect Area Effects

Implemented aura effects:

Absorb Damage Critical damage Haste Root
Display Model Periodic healing Confuse Speed
Slow suppression Periodic damage Pacify Silence
Ignore Aura State Damage Reduction Stat Mod Immunity
Spell Modifier Spell Trigger Stun Freeze

Included spells:

Ice Block Renew Ice Lance Holy Word: Serenity
Ice Nova Resurrect Polymorph Pain Suppression
Scorch Periodic damage Pacify Silence
Icy Veins Presence of Mind Pyroblast PvP Trinket
Flash Heal Deep Freeze Flame Strike Cone of Cold
Counterspell Ice Barrier Frost Nova Arcane Intellect
Living Bomb Frost Bolt Blazing Speed Blink
Fire Blast Hot Streak Shatter Fingers of Frost

Controls:

Hotkeys: Central Bottom Action Bar - No Modifiers, Central Top Action Bar - Left Shift, action buttons:

S-1 S-2 S-3 S-4 S-5 S-Q S-E S-R S-F S-Z S-X S-C S-V S-G
1 2 3 4 5 Q E R F Z X C V G

Character:

  • Jump : Space
  • Move : WASD or Left + Right Click
  • Target : Tab or Left Click
  • Rotate Camera : Left Click + Drag
  • Rotate Character : Right Click + Drag
  • Select Self : F1
  • Chat : Enter
  • Toggle Healthbars : Ctrl-V
  • Cancel Cast : Esc
  • Deselect Target : Esc

Links

  • Photon Bolt - networking solution used for server-client communication and game state synchronization.

License

All character models, textures and sound are copyrighted by ©2004 Blizzard Entertainment, Inc. All rights reserved. World of Warcraft, Warcraft and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.