• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Arena - Boss Battle] WoW : The Last Stand

Status
Not open for further replies.

Deleted member 238226

D

Deleted member 238226

logo-wow-png.241671

" Travel Through time and Fight the Most Powerfull Bosses in the History of World of Warcraft
and be acknowledge as the Heroes of the Azeroth! "

screenshot_1-png.241795

description-box-png.242090
features-1-png.242091
gameplay-png.242092
modes-png.242096
boss-png.242087

class-png.242088
upgrades-png.242094
media-png.242093
credits-png.242089

description-ui-png.241779

wow-map-preview-2-png.241669
The Map Preview
What is this?


WoW : The Last Stand, is a Warcraft 3 Co-op multiplayer Boss Fight Type Map Project made by Wisdom and Userid907.

The objective of the Map itself, is to defeat all the Bosses in the map. The Player can choose from up to 10 Classes from 10 Races that have individual and different roles. this Map can't be played alone without Team-mates, as each roles of the Class play important part of The Team. to cover each individual Classes weakness and strengthen the potential of one class. team work is important in this map.

if you don't have any friends to play with. this map provide AI Computer Player. The AI will fill the empty slots for you.
The Bosses


The Map Features Five Powerfull Boss figure in The World of Warcraft History. Which is Kel'Thuzad, Illidan, Lich King, Deathwing, And Garrosh Hellscream. All The Five Bosses have a unique and different mechanism from each other. in order to beat them, Player must work together and plan a strategy.

The Bosses also comes with a new Scripted skill, different from default War3 abillities.
aswell as the classes. the player choosen class could be benefit on encounter one of the Boss abillity to give an advantage and ease job to fasten up the process of defeating the boss and finish it with less harm on the player side.

The Boss will also get Stronger and Attack more Rapidly after they have taken certain ammount of damage. This map also have a Mode Option for player where they can fight The Boss in the Selected Option. Such as Time Relic, And Difficulty Option.

The Developer Planning to Add more Mode for the future as the Update Comes along.
The Map Loading Screen. Show All The avaible Boss in the Map. Click for Full Size Picture
battle-mini-png.242027
Small Preview of Players Fighting Garrosh Hellscream


And more..


Depends on what Bosses that taken first, The First Bosses that Choosen by the player will have The Lowest Level, And Risen Up for the next Boss That Choosen and so on. There's Also an Item or an Upgrades which can be bought by Gold or using Soul Stone that received From the Bosses. which can help player to defeat the Bosses easier.
Each of this Upgrades and items build also determinates what the player Class will be. One Upgrades can strengthen one of the potential of Class Abillity, Or An Item Can Upgrades the Class Stats, or even gave an special additional abillity that can benefit the Player greatly during the Boss battle.


features-ui-png.241780



features-1-png.242034



Click the image for full-sized Preview

WoW : The Last Stand, Comes with a really high Quality Terrain. Please your eyes with
a high quality and detailed eye-candy terrain while fighting the fearsome bosses from the World of Warcraft!



tulisan-png.242103

boss-show-png.242105

Preview showing all the map avaible bosses such as Kel'Thuzad, Illidan, Death Wing, Lich King, Garrosh Hellscream

Featuring an RPG-Style like and interactive Boss-fight created by our dedicated team.
Thanks to Out-talented coder and The Boss-Maker Userid907, WoW : The Last Stand manage to produce a challenging Boss-fight that's sure is Fun and Challenging to fight with!


tulisan-png.242121

screenshot_7-png.242132
background-png.242130

Preview showing all current avaible Class : Human (Defender), Orc (Berseker), Night Elf (Druid), Undead (Death Knight), Dwarf (Iron Breaker), High Elf (Ranger), Troll (Witch Doctor), Blood-ELF (Arcanist), Gnome (Engineer), Forsaken (Banshee)

Choose your favorite Class from 10 avaible Class that comes from 10 different Races based on the Races of the World of Warcraft. Each class has been created to fill specific role in the team, no single class that out-powered to beat the boss alone.

Will you choose the Noble Variant Defender Class of Human Alliance? or Savage Brutish Berseker Class of Orcish Horde? or maybe The Thirsty Magic Vengeful Blood-elf?


tulisan-png.242196


Our Project comes with this 6 Avaible modes. we probably will add more in the future, but at the moment this what we currently avaible.


ability_mage_timewarp-png.242744
Time Relic : Players must defeat the Bosses within Time-Limit. you can choose between
Difficulty when choosing this mode.

book_08.v7785.png
Classic Mode : Players can't Bought any Power-Up & Items
Inv_misc_book_11.png
Magic Book : Players start with only 1 Abillity
Inv_misc_book_02.png
Normal Mode : All the Boss will have 100% Handicap

inv_misc_book_05-png.242741
Hard Mode : All the Boss will have 120% Handicap and using his Abillities more often
inv_misc_book_06-png.242742
Chaos Mode : All the Boss will have 140% Handicap and using his Abillities much more often
and much more powerfull


tulisan-png.242248


spells_teleportation_scroll-png.242249
If you want to play alone but still need a partner, Our Project provide AI Computer Player. you also can play it alone and control multiple Class, which only allowed in single player.


guidefont-png.242210


guide-png.242207
Our Project offer a Guide for people that want to get much more better on knowing the Game Mechanism. The Guide itself contain information to help Players to know what the best Strategy is, Item Build and plenty more. we provided it, but feel free to contribute with it as a player guide. we will post the submission later in here and credited you.


tulisan-png.242197


Solid%20Iron%20Chest.png
Our Project also comes with plenty of Custom items than can be bought by Gold or a Resource called "Soul Stone" which obtained by defeating the Bosses. This feature play important role on building What your class is gonna be. as one Item or Upgrades can heavily impact overall usefullness of the Class in the team. Items and Upgrades can Provide you with New Items Abillity, More Stats, New Buff, And Plenty more.


tulisan-png.242209


star1-png.242208
Userid907 Comes up with a good intention on creating a Rating System. Player will be judged based in the effort they do on the Battle. by more active and being more effective on the field, you will get more higher Rating which may lead you to a higher Prices that obtained after defeating a Boss!

gameplay-ui-png.241782


You can play the map with or without friends. if you don't have any friend, you choose to play with AI they simply will become your partner during the game. or you can choose to play it alone. when you're playing it alone, you can also choose more than 1 class to play. means that you control more than 1 character class.
screenshot_25-png.242214
The Magic Guardian Located in Plaza as the place where you can choose the Class


When the player first entered the game,The host need to select a mode and difficulty option. after that, they will get to choose a class that they want to choose. remember to balance the role and choose wisely, as it can get hard if you get un-balanced team later on the game.

At Plaza, this is where the place that player will get revived, Upgrading their Class, also the place where the portal that will transport them to the destinated Boss Places. you also can find guide about strategy and item builds there. we provided it ingame. there's also an NPC that you can interact to.
kelthuzad-icon-png.242107
illidan-icon-png.242109
lich-king-icon-png.242108
deathwing-icon-png.242115
garrosh-icon-png.242114


After all the players gather to the place where the Portal should be, the host will choose who the first boss that will they encounter. the first boss that choosen is weaker than the boss after it, and each time a boss is choosen, they will get stronger than the previous boss.

The boss fight itself is not that simple. each boss have a different mechanism and quite different strategy to fight, rather than just hit, run and dodge the attack.

The boss will also get more active on casting abillities when they on low hit points. simply represent a raging boss where they will go all out when they reach their critical limit. their abilities will also get much more powerfull and different aswell. for example, a simple single shockwave abillities later on will create three shockwave instead to injure the player.

inv_misc_gem_amethyst_02-png.242743
after the boss is defeated, later on player will get a bonus resources such as "Soul Stone" and Bonus Golds. which can be used to Buy an Item or an Upgrades such as Power-Up, Tomes, and Plenty more.
players will also be judged by the Rating system, which will give player a reward based on how much effort and the efficieny of the player in the battle. Depends on the choosen game mode, you will get a bonus stats point which you can use to get your other Class Abillities. for Example, if you play the "Magic Book" mode.
After the Boss is defeated, player will get teleported again into the Plaza. after you're get your Soul Stone and get more Golds from the boss, you can now purchase a more item in the shop. An-Upgrade shop contain A Power-Up and Tomes. An Item shop contain a potion, Enchanted Items which can give you new Abillities and plenty more. You can also trade your Gold for a Soul-Stone and Vice - versa in the Shop.
Solid%20Iron%20Chest.png

game-modes-ui-png.242148


images-png.245608



inv_misc_book_06-png.242742

boss-ui-png.241772



class-ui-png.241774


images-png.245608






upgrades-items-ui-png.242149


c1752916bc6d27d48ea5ab75eee22b6c.png

"Below you can check our avaible items & Upgrades, which later you can buy with the"
resources that you get during the game




media-ui-png.241784


terrain-art-banner-png.245565


kelthuzad-png.243409







illidan-png.243408







lich-king-png.243410








deathwing-png.243404







garrosh-png.243405






avatar-banner-png.245563


defender-png.243008
berseker-png.243006
druid-png.243009
death-knight-png.243007

battle-master-png.243005
ranger-png.243012
witch-doctor-png.243013
arcanist-png.243003

engineer-png.243010
banshee-png.243004



support-signature-banner-png.245564
logo-wow-png.245908


Code:
[URL='http://www.hiveworkshop.com/threads/arena-boss-battle-wow-the-last-stand.287608/'][IMG]http://www.hiveworkshop.com/attachments/logo-wow-png.245908/?temp_hash=df9fc091fd9abd2a4b185b2df2b0c2d9[/IMG][/URL]




credits-ui-png.241776



Wisdom - Project Leading, Ideas Maker, Designer, Terrainer.
Userid907 - Project Leading, Object Manager, Coder.
Rheiko - Coder

Kwaliti - Model & Texture Maker
Tauer - Model & Texture Maker
Xaran Alamas - Model Maker
Garfield - Model Maker
Dmitry Rommel - Model & Texture Maker
Armel - Model Maker
Andreariona - Model Coverter
Sonofjay - Model Converter
Kobas- - Model Converter
Darkholme - Texture Maker
Nestharus - Code Resources
Vexorian - Code Resources
Moyackx - JNGP 207 Maker

Special Thanks to :

Andreariona
Moyackx
Vexorian
World of Warcraft
Blizzard Entertainment
Heart of Storm mod

 
Last edited by a moderator:

Deleted member 238226

D

Deleted member 238226

this is a map project that me and my friend make.

i'm not a really map maker myself. my partner is quite persuasive, and so first i try to help him make a map. and later after some of our map project is archieved much for complexity, this is the final concept of map that we collaborate together to create.

hope that descriptions is clear and not too much. i'm terrible at words and my partner is a bit shy to make the description :/

i'm hoping it will be finished.

Subject Progress Status

Terrain
100% Finished

Boss
20% Unfinished

Class
0% Unfinished

Items & Upgrades
0% Unfinished

System & Modes
0% Unfinished

Gameplay
0% Unfinished
 
Last edited by a moderator:

Deleted member 238226

D

Deleted member 238226

i like andrea maps too :)

thanks sclammerz.
 

Deleted member 238226

D

Deleted member 238226

yes. and some of them i optimize again.
 

Deleted member 238226

D

Deleted member 238226

thanks guys

here's an update. i have some preview of some finished spell of Illidan. ignore the wrong tooltips (and the laggy gif). :p

hope the GIF is not that heavy :

Runic Blast

Obliterate

Ursus Shock



runic-blast-gif.246224




obliterate-gif.246225




ursus-shock-gif.246226



and here's my friend report of his current progress.



Power-Up proggress :

Fighter :

Battle Expert :
Script : 100%
Testing : 0%
Balancing : 50%
-------------------------------

Executioner :
Script : 100%
Testing : 0%
Balancing : 50%
-------------------------------

Assasinate :
Script : 100%
Testing : 0%
Balancing : 50%
Berserker (CLASS) :

Earthen Slam :
Script : 100%
Testing : 0%
Balancing : 50%
-------------------------------

Vital Blow :
Script : 0%
Testing : 0%
Balancing : 35%
-------------------------------

Rage :
Script : 100%
Testing : 0%
Balancing : 50%
-------------------------------

Blood Lust :
Script : 100%
Testing : 0%
Balancing : 50%
-------------------------------

Berserk :
Script : 0%
Testing : 0%
Balancing : 0%
-------------------------------

Warrior Spirit :
Script : 80%
Testing : 0%
Balancing : 35%
 
Last edited by a moderator:

Deleted member 238226

D

Deleted member 238226

wow this looks really great. I especially like the anime-like look of the city terrain! The presentation is extra-ordinary, but there is a few "typos" here and there... maybe review it once more :)

thanks Emm-A-
yeah.. words isn't my strength..

would be nice if i can find a volunteer :p

more updates will come soon~
 
Level 14
Joined
Jul 1, 2008
Messages
1,314
just wanted to point out something you could improve, I mean obviously, this presentation is amazing, I would be an idiot to complain about it :D

Another question: Did you make the artwort yourselves?

I am so happy that this will be co-op! Maybe in the end, you can even try that mmo-technology by triggerhappy (I think it was him ...) to make a real online mod out of it.
 

Deleted member 238226

D

Deleted member 238226

Another question: Did you make the artwort yourselves?

by that, that would be yes and no.

i did the visual of the description by myself, by editing the existing image which taken from googles and other sources

I am so happy that this will be co-op! Maybe in the end, you can even try that mmo-technology by triggerhappy (I think it was him ...) to make a real online mod out of it.

maybe..
i discuss it further with my partner about it.
thanks :)

here's more .GIF preview :

Warglaive of Azzinoth

Shadow Rush

warglaive-of-azzinoth-gif.246511
shadow-rush-gif.246512
 

Deleted member 238226

D

Deleted member 238226

Fancy map description for once..

thanks :)

i currently need a primary coder to work on the map.
my partner said he wouldn't be the primary coder.

feel free to contact me if anyone interested
 

Deleted member 238226

D

Deleted member 238226

my friend seems will be able again to code as the primary coder again.
have a bit chat and we have a decission, so he will stay as the primary coder. :p
 

Deleted member 238226

D

Deleted member 238226

long time no news
here's my friend progress on Garrosh Spell :

GARROSH SPELL PROGGRESS :

  • Shockwave :
    • Object Manager : 100%
    • Script : 100%
    • Balancing : 0%
    • Testing : 100%
    • Setting : 80%
==================================

  • Warcry/Hell Scream :

  • Object Manager : 100%
  • Script : 100%
  • Balancing : 0%
  • Testing : 100%
  • Setting : 60%
==================================
  • Weapon Break :
    • Object Manager : 100%
    • Script : 100%
    • Balancing : 0%
    • Testing : 100%
    • Setting : 100%
    • Founded Bug on Test Map : Target unit's attack not disabled
    ==================================
  • Seismic Smash/Demolition :
    • Object Manager : 100%
    • Script : 100%
    • Balancing : 0%
    • Testing : 100%
    • Setting : 100%
 
Last edited by a moderator:

Deleted member 238226

D

Deleted member 238226

BUSY

here's my friend progress on his code on garrosh spell.
spell preview might come soon

JASS:
library RushorRush uses FieldOfView, UnitStatus
    globals
        private constant integer SPELL_ID = 'GSoR'
        // CONFIG FOR < 50% Health
        private constant real DIS1 = 1000
        private constant real SPEED = 900
        private constant real SperD = 0.03125000 * SPEED
        private constant real Ct = DIS1 / SperD
        private constant real Rspd = Ct * 0.03125000
        private constant real KB_DIS1 = 150.
        private constant real DAMAGE = 500.
        // CONFIG FOR > 50% Health
        private constant real DIS2 = 1400
        private constant real SPEED2 = 400
        private constant real SperD2 = 0.03125000 * SPEED2 // 12.5
        private constant real Ct2 = DIS2 / SperD2 // 700 / 12.5 == 80
        private constant real Rspd2 = Ct2 * 0.03125000 // 80 * 0.03 == 2.5
        private constant real KB_DIS2 = 500.
        private constant real DAMAGE2 = 250. // CLEAVE
        private constant real DAMAGEGERETAN = 600. // GERETAN
        private constant real BENGOKTIME = 1.2
        // LUAR CONFIG
        private unit c
        private real rangcon = 0
        private boolean rat // true = below 50%, false = diatas 50%
        private group firsthit1
        private timer who
        private real mblayu = 0
        private real sx
        private real sy
        private group firsthit2
        private boolean array whoth
        private boolean hasc
        private real array xoc
    endglobals
    private struct RusorRus
        static method onInit takes nothing returns nothing
            local trigger t = CreateTrigger( )
            local integer i = 0
            call PlaySoundEx( "Units\\Orc\\Hellscream\\GromYesAttack2.wav", 100., 0., 0. )
            set firsthit1 = CreateGroup( )
            set firsthit2 = CreateGroup( )
            set who = CreateTimer( )
            loop
                exitwhen i > 15
                call TriggerRegisterPlayerUnitEvent( t, Player( i ), EVENT_PLAYER_UNIT_SPELL_EFFECT, null )
                set i = i + 1
            endloop
            call TriggerAddCondition( t, function thistype.Act )
            set t = CreateTrigger( )
            call TriggerRegisterVariableEvent( t, "EVENT_JUMP_PERIODIC", EQUAL, 1. )
            call TriggerAddCondition( t, function thistype.periodic )
            set t = null
            set t = CreateTrigger( )
            call TriggerRegisterVariableEvent( t, "EVENT_JUMP_FINISH", EQUAL, 1. )
            call TriggerAddCondition( t, function thistype.finish )
            set t = null
        endmethod
        static method Act takes nothing returns boolean
            local real x
            local real y
            if GetSpellAbilityId( ) == SPELL_ID then
                call GroupClear( firsthit1 )
                call GroupClear( firsthit2 )
                set c = GetTriggerUnit( )
                set rangcon = 0
                set hasc = false
                if GetUnitStatePercent( c, UNIT_STATE_LIFE, UNIT_STATE_MAX_LIFE ) >= 50 then
                    set x = PolarX( GetUnitX( c ), DIS1, GetUnitFacing( c ) )
                    set y = PolarY( GetUnitY( c ), DIS1, GetUnitFacing( c ) )
                    set rat = false
                    call PlayAnimID( c, 6 )
                    call Jump.start( c, x, y, 1., Rspd, 10., false, true )
                else
                    call PlayAnimID( c, 11 )
                    call DisableUnit( c, true )
                    set x = GetUnitX( c )
                    set y = GetUnitY( c )
                    call PlaySoundEx( "Units\\Orc\\Hellscream\\GromYesAttack2.wav", 100, x, y )
                    call TimerStart( CreateTimer( ), BENGOKTIME, false, function thistype.FinishRoar )
                endif
            endif
            return true
        endmethod
        static method FinishRoar takes nothing returns boolean
            local real x
            local real y
            set rat = true
            call DisableUnit( c, false )
            set x = PolarX( GetUnitX( c ), DIS2, GetUnitFacing( c ) )
            set y = PolarY( GetUnitY( c ), DIS2, GetUnitFacing( c ) )
            set sx = PolarX( GetUnitX( c ), DIS2, GetUnitFacing( c ) )
            set sy = PolarY( GetUnitY( c ), DIS2, GetUnitFacing( c ) )
            call ResetUnitAnimation( c )
            call PlayAnimID( c, 4 )
            call Jump.start( c, x, y, 1., Rspd2, 10., false, true )
            call DestroyTimer( GetExpiredTimer( ) )
            return true
        endmethod
        static method periodic takes nothing returns boolean
            local unit ev = EVENT_JUMP_UNIT
            local real x = GetUnitX( ev )
            local real y = GetUnitY( ev )
            local group kz
            local unit p
            local real px
            local real py
            local real Abet
            local real disx
            local real sperdz
            local real dx
            local real dy
            if ev == c then
                if rat then
                    //if mblayu > 0.8 then
                        //call PlayAnimID( ev, 4 )
                        //set mblayu = 0
                    //else
                        //set mblayu = mblayu + 0.03125
                    //endif
                    if rangcon > 0.4 then
                        set rangcon = 0.
                        call DestroyEffect( AddSpecialEffect( "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl", x, y ) )
                    else
                        set rangcon = rangcon + 0.03125
                    endif
                    set kz = CreateGroup( )
                    call GroupEnumUnitsInRange( kz, x, y, 200, null )
                    loop
                        set p = FirstOfGroup( kz )
                        exitwhen p == null
                        if IsUnitEnemy( p, GetOwningPlayer( ev ) ) and not IsUnitDeadBJ( p ) and IsUnitInSightOfUnit( ev, p, 90. ) and not whoth[GetUnitUserData( p )] and not IsUnitInGroup( p, firsthit2 ) then
                            set xoc[GetUnitUserData( p )] = 0.
                            call GroupAddUnit( firsthit2, p )
                            set whoth[GetUnitUserData( p )] = true
                            set Abet = GetUnitFacing( ev )
                            set dx = ( GetUnitX( p ) - sx )
                            set dy = ( GetUnitY( p ) - sy )
                            set disx = SquareRoot( dx * dx + dy * dy )
                            set sperdz = ( disx / SperD2 ) * 0.0312500
                            set px = PolarX( GetUnitX( p ), disx, Abet )
                            set py = PolarY( GetUnitY( p ), disx, Abet )
                            call Jump.start( p, px, py, 1., sperdz, disx, false, true )
                            call UnitDamageTarget( ev, p, DAMAGEGERETAN, true, false, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS )
                        endif
                        call GroupRemoveUnit( kz, p )
                    endloop
                    call DestroyGroup( kz )
                else
                    call DestroyEffect( AddSpecialEffect( "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl", x, y ) )
                    set kz = CreateGroup( )
                    call GroupEnumUnitsInRange( kz, x, y, 200., null )
                    loop
                        set p = FirstOfGroup( kz )
                        exitwhen p == null
                        if IsUnitEnemy( p, GetOwningPlayer( ev ) ) and not IsUnitDeadBJ( p ) and not IsUnitInGroup( p, firsthit1 ) and not whoth[GetUnitUserData( p )] then
                            set whoth[GetUnitUserData( p )] = true
                            set Abet = AbetXY( x, y, GetUnitX( p ), GetUnitY( p ) )
                            set px = PolarX( GetUnitX( p ), KB_DIS1, Abet )
                            set py = PolarY( GetUnitY( p ), KB_DIS1, Abet )
                            call Jump.start( p, px, py, 1., 0.25, 10., false, true )
                            call UnitDamageTarget( ev, p, DAMAGE, true, false, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS )
                            call GroupAddUnit( firsthit1, p )
                        endif
                        call GroupRemoveUnit( kz, p )
                    endloop
                    call DestroyGroup( kz )
                endif
            endif
            if IsUnitInGroup( ev, firsthit1 ) then
                call DestroyEffect( AddSpecialEffect( "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl", x, y ) )
            endif
            if IsUnitInGroup( ev, firsthit2 ) then
                if xoc[GetUnitUserData( ev )] > 0.4 then
                    set xoc[GetUnitUserData( ev )] = 0.
                    call DestroyEffect( AddSpecialEffect( "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl", x, y ) )
                else
                    set xoc[GetUnitUserData( ev )] = xoc[GetUnitUserData( ev )] + 0.0312500
                endif
            endif
            call DestroyGroup( kz )
            set p = null
            set kz = null
            return true
        endmethod
        static method finish takes nothing returns boolean
            call ForGroup( firsthit2, function thistype.clearIng )
            call ForGroup( firsthit1, function thistype.clearIng )
            if rat then
                if not hasc then
                    call ResetUnitAnimation( c )
                    set hasc = true
                    call PlayAnimID( c, 10 )
                    call DisableUnit( c, true )
                    call TimerStart( CreateTimer( ), .6, false, function thistype.onCleave )
                endif
            endif
            return true
        endmethod
        static method clearIng takes nothing returns nothing
            local unit p = GetEnumUnit( )
            set whoth[GetUnitUserData( p )] = false
            call GroupRemoveUnit( firsthit2, p )
            call GroupRemoveUnit( firsthit1, p )
        endmethod
        static method onCleave takes nothing returns nothing
            local group kz = CreateGroup( )
            local unit p
            local real Abet
            local real px
            local real py
            call TimerStart( CreateTimer( ), 0.6 - 0.4, false, function thistype.RealFinish )
            call GroupEnumUnitsInRange( kz, GetUnitX( c ), GetUnitY( c ), 300., null )
            loop
                set p = FirstOfGroup( kz )
                exitwhen p == null
                if IsUnitEnemy( p, GetOwningPlayer( c ) ) and not IsUnitDeadBJ( p ) then
                    if not IsUnitInGroup( p, firsthit1 ) then
                        set xoc[GetUnitUserData( p )] = 0.
                        set Abet = AbetXY( GetUnitX( c ), GetUnitY( c ), GetUnitX( p ), GetUnitY( p ) )
                        set px = PolarX( GetUnitX( p ), KB_DIS2, Abet )
                        set py = PolarY( GetUnitY( p ), KB_DIS2, Abet )
                        call Jump.start( p, px, py, 1., 1, 10., false, true )
                        call UnitDamageTarget( c, p, DAMAGE2, true, false, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS )
                        call GroupAddUnit( firsthit1, p )
                    endif
                endif
                call GroupRemoveUnit( kz, p )
            endloop
            call DestroyTimer( GetExpiredTimer( ) )
        endmethod
        static method RealFinish takes nothing returns boolean
            call DisableUnit( c, false )
            call ResetUnitAnimation( c )
            call DestroyTimer( GetExpiredTimer( ) )
            return true
        endmethod
    endstruct
endlibrary


//Code indented using The_Witcher's Script Language Aligner
//Download the newest version and report bugs at www.hiveworkshop.com
Thanks to :
Maker - Jump System (modified)
MoCo - Field of View
Rising Dusk - Unit Status
 

Deleted member 238226

D

Deleted member 238226

bumping/update for this thread with more screenshot :3

more screenshot from plaza place that i forgot to make and put in the main description :


plaza-2-jpg.241163


plaza-3-jpg.241164


plaza-4-jpg.241165
 
Level 10
Joined
Jun 17, 2014
Messages
236
aah, im so busy with real life last week, and maybe this week too...
could only make 3 spells :(

JASS:
library FRostWord needs UnitStatus
    globals
        private constant integer SPELL_ID = 'KLa1'
        private constant real DPS = 300
        private constant real DUR = 5.
        private constant real INTER = 0.5
        private integer coun
        private unit C
        private unit T
        private timer who
        //
    endglobals
    private struct BatuABCsangatkuat
        static method onInit takes nothing returns boolean
            call TriggerAPUEx(function thistype.reales)
            set who = CreateTimer()
            return true
        endmethod
        static method reales takes nothing returns boolean
            if GetSpellAbilityId() == SPELL_ID then
                set C = GetTriggerUnit()
                set T = GetSpellTargetUnit()
                set coun = 0
                call ChangeUnitSpeed2(T,0.5,5,false,0,false)
                call TimerStart(who,0.02,true,function thistype.per)
            endif
            return true
        endmethod
        static method per takes nothing returns nothing
            local real cx = GetUnitX(C)
            local real cy = GetUnitY(C)
            local real tx = GetUnitX(T)
            local real ty = GetUnitY(T)
            set coun = coun + 1
            if not IsUnitDeadBJ(T) then
            if I2R(coun) < DUR * 50  then
                if ModuloInteger(coun,30) ==0 then
                    call ZS.onPoint("Abilities\\Spells\\Undead\\FrostArmor\\FrostArmorDamage.mdl",tx,ty,GetUnitFlyHeight(T),1.5,1.)
                endif
                if ModuloInteger(coun,50) == 0 then
                    //call print("masuk")
                    call UnitDamageTarget(C,T,DPS,false,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,null)
                    call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Undead\\FreezingBreath\\FreezingBreathMissile.mdl",T,"origin"))
                endif
            else
                if DisBetXY(cx,cy,tx,ty) <= 800 then
                    call UnitDamageTarget(C,T,DPS,false,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,null)
                    call ZS.onUnit("Abilities\\Spells\\Undead\\FreezingBreath\\FreezingBreathTargetArt.mdl",T,10,1.35,3.3)
                    call DisableUnitTimed(T,3.5)
                endif
                call PauseTimer(who)
            endif
            else
            call PauseTimer(who)
            endif
        endmethod
    endstruct
endlibrary
JASS:
//! zinc
library EtBonobos requires SpeedChange {
    private {
        constant integer SPELL_ID = 'KL3E';
        constant integer BUFF_ID = 'KTeO';
        constant real dam = 800.;
        constant real dur = 7.;
        constant real speed = 800.;
        constant string model = "Abilities\\Spells\\Undead\\DarkSummoning\\DarkSummonMissile.mdl";
        unit t;
        unit c;
        integer con;
        unit mis;
        timer who;
        timer per;
        sound ex[];
    }
    function act() -> boolean {
        real tx,ty;
        if (GetSpellAbilityId() == SPELL_ID) {
            c = GetTriggerUnit();
            t = GetSpellTargetUnit();
            tx = GetUnitX(c);
            ty = GetUnitY(c);
            con = 0;
            mis = CreateDummies(model,GetUnitX(c),GetUnitY(c),50.,1.3);
            PlaySoundEx("abilities\\Spells\\Human\\Banish\\BanishCaster.wav",100.,tx,ty);
           
            TimerStart(who,0.0312500,true,function(){
                // ANONYMOUS FUNCTION
                real x,y,tx,ty,s;
                x = GetUnitX(mis);
                y = GetUnitY(mis);
                tx = GetUnitX(t);
                ty = GetUnitY(t);
                s = speed*0.0312500;
                if (DisBetXY(x,y,tx,ty) > 30.) {
                    SetUnitX(mis,PolarX(x,s,AbetXY(x,y,tx,ty)));
                    SetUnitY(mis,PolarY(y,s,AbetXY(x,y,tx,ty)));
                }
                else {
                    KillUnit(mis);
                    UnitDamageTarget(c,t,dam,false,true,ATnormal,DTnormal,null);
                    ChangeUnitSpeed2(t,0.2,dur,false,0,false);
                    ChangeUnitSpeed2(t,1.,dur,false,BUFF_ID,false);
                    ChangeUnitSpeed2(c,1,dur,false,BUFF_ID,false);
                    SetUnitVertexColor(c,255,255,255,127);
                    SetUnitVertexColor(t,255,255,255,127);
                    TimerStart(CreateTimer(),dur,false,function(){
                        // CHILD ANONYMOUS FUNCTION
                        SetUnitVertexColor(c,255,255,255,255);
                        SetUnitVertexColor(t,255,255,255,255);
                       
                        DestroyTimer(GetExpiredTimer());
                        // END CF
                    // END F
                    });
                    per = CreateTimer();
                    TimerStart(per,1.5,true,function() {
                        if (con < 6) {
                        con = con + 1;
                        PlaySoundEx("abilities\\Spells\\Human\\Banish\\BanishLoop1.wav",100.,GetUnitX(t),GetUnitY(t));
                        PlaySoundEx("abilities\\Spells\\Human\\Banish\\BanishLoop1.wav",100.,GetUnitX(c),GetUnitY(c));}
                        else{PauseTimer(per);DestroyTimer(per);per=null;}
                    });
                   
                    PauseTimer(who);
                }
            });
        }
        return true;
    }
    function act2() -> boolean {
        if (GetUnitAbilityLevel(GetTriggerUnit(),BUFF_ID) > 0) { IssueImmediateOrder(GetAttacker(),"stop");}
        if (GetUnitAbilityLevel(GetAttacker(),BUFF_ID) > 0) { IssueImmediateOrder(GetAttacker(),"stop");}
        return true;
    }
    function onInit() {
        trigger at;
        TriggerAPUEx(function act);
        who = CreateTimer();
        at = CreateTrigger();
        TriggerRegisterAnyUnitEventBJ(at,ConvertPlayerUnitEvent(18));
        TriggerAddCondition(at,function act2);
        at = null;
        PreloadSoundPath("abilities\\Spells\\Human\\Banish\\BanishLoop1.wav");
        PreloadSoundPath("abilities\\Spells\\Human\\Banish\\BanishCaster.wav");
    }
}
//! endzinc
JASS:
//! zinc
library FrAmtor requires SpeedChange
{
    private
    {
        constant integer SPELL_ID = 'KRfS';
        constant integer BUFF_ID = 'KrF9'; // SLOW ASPD ABILITY (EFFECT)
        constant integer BUFF_SHIELD = 'KrL2'; // BUFF SHIELD FROST
        constant real DUR = 15.;
        constant real Mslow = 0.5; // Movement speed slow on normal stage, 0.25 on Special event
        boolean isSEKL = false;
    }
    function axed() -> boolean {
        ZS d;real k;
        if (GetSpellAbilityId() == SPELL_ID) {
            if(GetRandomInt(0,100) < 10) { isSEKL = true; } else { isSEKL = false; }
            if (isSEKL) {
                ChangeUnitSpeed2(GetTriggerUnit(),1.,DUR,false,BUFF_SHIELD,false);
                d = ZS.onUnit("Abilities\\Spells\\Undead\\FrostArmor\\FrostArmorTarget.mdl",GetTriggerUnit(),150,2,DUR);
            }
            else {
                ChangeUnitSpeed2(GetTriggerUnit(),1.,DUR,false,BUFF_SHIELD,false);
                d = ZS.onUnit("Abilities\\Spells\\Undead\\FrostArmor\\FrostArmorTarget.mdl",GetTriggerUnit(),150,1.3,DUR);
            }
            TimerStart(CreateTimer(),DUR,false,function() { isSEKL = false; } );
        }
        return true;}
    function onDamage() -> boolean {
        if (GetUnitAbilityLevel(udg_DamageEventTarget,BUFF_SHIELD) > 0) {
            if (isSEKL) {
                DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Undead\\FrostArmor\\FrostArmorDamage.mdl",udg_DamageEventSource,"chest"));
                UnitDamageTarget(udg_DamageEventTarget,udg_DamageEventSource,udg_DamageEventAmount*2.,false,true,ATnormal,DTnormal,null);
                ChangeUnitSpeed2(udg_DamageEventSource,Mslow*0.5,5,false,0,false);
                TimAb.run(udg_DamageEventSource,BUFF_ID,5);
                SetUnitAbilityLevel(udg_DamageEventSource,BUFF_ID,2);
            }
            else {
                DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Undead\\FrostArmor\\FrostArmorDamage.mdl",udg_DamageEventSource,"chest"));
                ChangeUnitSpeed2(udg_DamageEventSource,Mslow,5,false,0,false);
                TimAb.run(udg_DamageEventSource,BUFF_ID,5);
                SetUnitAbilityLevel(udg_DamageEventSource,BUFF_ID,1);
            }
        }
    return true;}
    function onInit() {
        trigger t = CreateTrigger();
        TriggerAddCondition(t,function onDamage);
        TriggerRegisterVariableEvent(t,"udg_DamageModifierEvent",EQUAL,1.);t = null;
        TriggerAPUEx(function axed);}
}
//! endzinc
 

Deleted member 238226

D

Deleted member 238226

thanks jesushipster :)
we delay the progress because we both busy with something else at the moment. but we try to keep making progress until this finished
 

Deleted member 238226

D

Deleted member 238226

appologize for no news. i don't have a proper laptop because mine can't open WE. we did make progress, is just the communication report between us is not really often, but we did make it. so here's some screeny of my friend WIP of the Kel'thuzad boss spell. the mechanics is cool but the visual effect is definetly not final :p

see ya on the next updates
 

Attachments

  • WC3ScrnShot_110316_190913_04.jpg
    WC3ScrnShot_110316_190913_04.jpg
    95.5 KB · Views: 91
  • WC3ScrnShot_110316_190919_05.jpg
    WC3ScrnShot_110316_190919_05.jpg
    95.8 KB · Views: 92
  • WC3ScrnShot_110316_190924_06.jpg
    WC3ScrnShot_110316_190924_06.jpg
    98.1 KB · Views: 90
  • WC3ScrnShot_110316_190926_07.jpg
    WC3ScrnShot_110316_190926_07.jpg
    98 KB · Views: 59
  • WC3ScrnShot_110316_190931_08.jpg
    WC3ScrnShot_110316_190931_08.jpg
    97.5 KB · Views: 63
  • WC3ScrnShot_110316_191000_09.jpg
    WC3ScrnShot_110316_191000_09.jpg
    110.4 KB · Views: 92
  • WC3ScrnShot_110316_191011_10.jpg
    WC3ScrnShot_110316_191011_10.jpg
    106.5 KB · Views: 75

Deleted member 238226

D

Deleted member 238226

death, very death -- my friend can't work on it anymore and i'm not mapper myself, i'm gonna ask to close this thread
as it serve no purpose anymore :spell_breaker:
 
Level 2
Joined
Feb 13, 2005
Messages
47
the terrain looks awesome but I'm afraid that it will end up not really being fun or too hard, just like 99% of other arena maps.


EDIT:

wtf? it's given up already?

PLS AT LEAST RELEASE THE MAP
 
Status
Not open for further replies.
Top