Arena Mini Ashenvale Arena

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
Mini Ashenvale Arena
Demo available! See the bottom of the post for the map and some info.


Genre: (Mini) Arena
Players: 10
Teams: 5
Map Size: 64x64 (or 92x92, I can't remember o_O)

Introduction:
Well, this is my second map that I'm going to release in public. I got inspired by emjlr3's Mini Element Arena and decided to make an arena type one. At first, this map was going to be a WoW arena, but then I decided that WoW is plain in spells - just missiles, instant damage, and dps. Nothing else! No flashy things and breath taking abilities! Instead of starting it again, I thought of deleting all those WoW stuff and replacing them with the latest systems TheHelper.net offers.

It's just a 64x64 size map for 10 players - 5 teams with 2 players, fighting until a team scores X kills and wins. I'm still considering what number of kills to choose.

Heroes:
Nothing special here. You will choose your Hero from a hero selection system: in other words, you click on a hero and browse his abilities and if you like him, you choose him. Max level is 20.

Items:
Items? Oh, right... There won't be stuff like recipes if you want to know that (on second thought, I might include). I'll make only one shop, or two, nothing else. It's a fast arena you know... But! There will be extra recipes in the -boss mode. (more explanation a little bellow)

Boss:
Yes, there will be a boss mode where you will try your skills and in the best case scenario - defeat him. The host will activate the mode at the beginning of the game by typing -boss (or something similar, I'll think of it). All players become allies, because, after all he won't be some easy boss - he will cast destructive spells and debuffs that will harm you really badly. You will buy whatever you want items - choose wisely! So, like in WoW, you will need a tank and a few dps-ers and healers. Choose your team wisely, because the boss (Illidan, haven't I mentioned that a few lines above?) won't be beaten like taking candy from a baby. In the end, if you succeed in defeating Illidan, the host will have an option - start the game with normal fighting until reaching X kills, or end it. This way, if some players wanted to try their skills against the boss they might leave. Or maybe they'll continue to play for fun. I will also include a text document that will describe how the boss reacts and what effects do the spells have (because they'll be really naughty if you don't evade them ^^).
One of the boss spells is my submitted spell for the Hell contest. I attached a demo map if someone wants to check it out.

Other info:
Some gameplay info: At the beginning you will be allowed to choose your Hero class from a Hero Selection System at the center of the map. Heroes are also revived at the center of the map (or maybe I'll edit it and make it a little more randomized). After that you can battle with the other players until your team makes X (not chosen yet; the demo map has 20) kills. You will be able to buy items that will help you more or less.
Can't think what else to include. Ask whatever you want.

Currently I'm working on the boss, after that I'll finish the Hero spells and lastly I'll start working on items.

Current status:
- Terrain: 100% Finished!
- Heroes: 100% Finished!
- Spells: 15%
- Triggers and systems: 100% Finished!
- Items: 0%
- Boss: 40%
Overall status: 59.166%

Screenshots:
Some screenies on the current Heroes' spells and a screenshot of the Hero selection gallery (3 all).
heroselectionph3.jpg

firelordsb5.jpg

protectorsl2.jpg

Final words:
Spells and systems are taken from TheHelper.net's resource section or made by myself. Credits are given to all who I've used their resources. Thanks a lot for your great submissions :thup:. Without all these resources this map wouldn't have been started.

First release (Demo):
Well, I decided to post the map (protected ofc. ^^) so you guys can see how work is going on. As for now, there are only 4 Heroes. Two of them have 3 spells and the other two have 2 spells. Tomorrow or the day after tomorrow, the Heroes should be finished (if I don't lack spell ideas again...). Have fun.
Don't pay attention to the loading screen... I haven't edited it from a while.

Credited users
Systems:
Cohadar - ABC, ABCT, PUI, TT, Dummy
Magentix - AMS, amsTS, MCP
ReVolver(Orc_Tamer) - WaitMissileSpeedDamage, HSS, Attribute System (in future)
Orc_Tamer - Recipe System (in future)

Miscellaneous:
Cohadar - Regrow Trees, Creep Revive, OIDs
emjrl3 - Handle Counter
Vexorian - SimError, CSSafety

Spells:
Cohadar - Immolation, Magic Net
emjlr3 - Jumping Spell Template
Grundy - Shadow Assault
--Thanatos-- - Graveyard, Dragons' Horde
Hatebreeder - Hurricane

Off-topic:
Hmm, 800 post.
 

Attachments

  • Mini Ashenvale Arena v0[1].01a.w3x
    263.7 KB · Views: 257

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
> I will surely try this when it is out (if I remember)
I hope you will do. ;)
 

thewrongvine

The Evolved Panda Commandant
Reaction score
506
Same; if I remember. :D :p I will definetly try out Boss mode! I love killing bosses. <3

Can't wait for this to releaseee! :thup:
 

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
Ok guys, just to keep you in touch (plus, to bump the thread xD) - I made a new spell for the boss.
 

R@i_no_Wyrm

New Member
Reaction score
43
The uploaded name is not the same to the project's title? lol. Trying it out.

... seems like u uploaded a wrong map?
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
Nope, the map he uploaded is a Demo Map for a spell in the game :)
Read carefully.

cr4xzZz said:
One of the boss spells is my submitted spell for the Hell contest. I attached a demo map if someone wants to check it out.
 

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
> Overall status: 59.166% :rolleyes:
If you insist I will upload the current version with only 2 finished Heroes... :/
 

thewrongvine

The Evolved Panda Commandant
Reaction score
506
Bosses = COOL! I suggest making for a really early alpha test (for us of course :D) at least 4 heroes and 1 shop that is completed, and 1 boss to test. :) Good luck with this! :thup:
 

Hatebreeder

So many apples
Reaction score
380
Dude...
I'd love to code some Spells for your Game...
Just gimme like a concept or something =)
 

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
> Finish maybe the spells/heroes before you make the bosses? ^^
I lack ideas.. But I've started working on the third hero.

> I'd love to code some Spells for your Game...
Same goes for your Blood Oath :p

> Just gimme like a concept or something =)
I'll torture you with one spell if you really want to make something.. xD

> I suggest making for a really early alpha test
Hm, I'll think of it.
 

Hatebreeder

So many apples
Reaction score
380
Ok, so I'm done with the Code =)
Now, to import this, just create a trigger called 'Tornado'.
Important stuff is commented =)
JASS:
scope Tornado
// Configurables
    globals
        private constant integer TORNADO_ID = &#039;A000&#039; //Spell Raw Code
        private constant integer TORNADO_DUMMY = &#039;u001&#039; //Dummy Unit
        private constant real TORNADO_AOE = 400 // Radius of the Max.random Movement of Dummy
        private constant real TORNADO_RAD = 200 // Radius for the Tornado Group Action
        private constant real TORNADO_MAX_DIST = 2500 // Max Distance for the Tornado to move
        private constant real TORNADO_UNIT_DIST = 220 //Knockback Distance
        private constant real TORNADO_SPEED = 20 // Speed of the Tornado / Knockback
        private constant string TORNADO_SFX = &quot;Abilities\\Spells\\Human\\FlakCannons\\FlakTarget.mdl&quot; //SFX for the knockback
        //================ Don&#039;t edit the globals below =====================================
        private constant group TORNADO_GROUP = CreateGroup()
        private constant group TORNADO_DEGROUP = CreateGroup()
        private real MaxX
        private real MaxY
        private real MinX
        private real MinY
    endglobals
    
    private constant function Damage takes real Lvl returns real
        return 25 * Lvl
    endfunction
    
// End Configurables    
//========================= Don&#039;t edit Below =====================
    private function RandomX takes real X, real Radius returns real
        local real Angle = GetRandomReal(0.0001,1) + 2 * bj_PI
        local real Bound = GetRandomReal(0,Radius)
            return X + Cos(Angle) * Bound
    endfunction
        
    private function RandomY takes real Y, real Radius returns real
        local real Angle = GetRandomReal(0.0001,1) + 2 * bj_PI
        local real Bound = GetRandomReal(0,Radius)
            return Y + Sin(Angle) * Bound
    endfunction
        
    private constant function GetX takes unit UX returns real
        local real X = GetUnitX(UX)
            return X
    endfunction
    
    private constant function GetY takes unit UY returns real
        local real Y = GetUnitY(UY)
            return Y
    endfunction
    
    private function SetUnitXY takes unit u, real x, real y returns nothing
        if x &lt; MaxX and x &gt; MinX and y &lt; MaxY and y &gt; MinY then
            call SetUnitX(u,x)
            call SetUnitY(u,y)
        endif
    endfunction
    
    private function DestroyTree takes nothing returns nothing
        call KillDestructable(GetEnumDestructable())
    endfunction
    
    private function DestroyTrees takes real Radius, real X, real Y returns nothing
        local rect R
        local real CentX = X
        local real CentY = Y
        local real Rad = Radius
        
            if (Rad &gt;=0) then
                set R = Rect(CentX - Rad,CentY - Rad,CentX + Rad,CentY + Rad)
                call EnumDestructablesInRect(R,null,function DestroyTree)
            endif
        call RemoveRect(R)
    endfunction
    
    private struct Group
        unit Picked
        unit Caster
        real Dist = TORNADO_UNIT_DIST
        real Angle
    endstruct
    
    private struct Torn
        unit Caster
        unit Dummy
        real X
        real Y
        real Dist = TORNADO_MAX_DIST
    endstruct
        
private function Trig_Tornado_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == TORNADO_ID
endfunction

private function Tornado_Filter takes nothing returns boolean
    return IsUnitType(GetFilterUnit(),UNIT_TYPE_DEAD) == false and IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE) == false and IsUnitType(GetFilterUnit(),UNIT_TYPE_MAGIC_IMMUNE) == false and IsUnitInGroup(GetFilterUnit(),TORNADO_DEGROUP) == false
endfunction

private function Tornado_Group_Move takes nothing returns boolean
    local Group Data = TT_GetData()
        local real PX = GetUnitX(Data.Picked)
        local real PY = GetUnitY(Data.Picked)
        local real X = PX + TORNADO_SPEED * Cos(Data.Angle * bj_DEGTORAD)
        local real Y = PY + TORNADO_SPEED * Sin(Data.Angle * bj_DEGTORAD)
            call SetUnitXY(Data.Picked,X,Y)
            call DestroyEffect(AddSpecialEffect(TORNADO_SFX,X,Y))
            set Data.Dist = Data.Dist - TORNADO_SPEED
                if Data.Dist &lt;= 0 then
                    call GroupRemoveUnit(TORNADO_DEGROUP,Data.Picked)
                        call Data.destroy()
                            return true
                endif
return false
endfunction

private function Tornado_Group takes unit P, unit C, real X, real Y returns nothing
    local Group Data = Group.create()
        local real CX = X
        local real CY = Y
        local real PX
        local real PY
            set Data.Picked = P
            set Data.Caster = C
            set PX = GetUnitX(Data.Picked)
            set PY = GetUnitY(Data.Picked)
            set Data.Angle = bj_RADTODEG * Atan2(PY - CY,PX - CX)
            
        call TT_Start(function Tornado_Group_Move, Data)
endfunction

private function Tornado_Move takes nothing returns boolean
    local Torn Data = TT_GetData()
        local real DummyX = GetUnitX(Data.Dummy)
        local real DummyY = GetUnitY(Data.Dummy)
        local real Angle = bj_RADTODEG * Atan2(Data.Y - DummyY,Data.X - DummyX)
        local real X = DummyX + TORNADO_SPEED * Cos(Angle * bj_DEGTORAD)
        local real Y = DummyY + TORNADO_SPEED * Sin(Angle * bj_DEGTORAD)
        local real DistX = Data.X - DummyX
        local real DistY = Data.Y - DummyY
        local real Dist = SquareRoot(DistX * DistX + DistY * DistY)
        local unit Picked
        
            if Dist &lt;= 20 then
                set Data.X = RandomX(GetX(Data.Caster),TORNADO_AOE)
                set Data.Y = RandomY(GetY(Data.Caster),TORNADO_AOE)
            else
                call DestroyTrees(TORNADO_RAD,X,Y)
                call SetUnitXY(Data.Dummy,X,Y)
            endif
        
        call GroupEnumUnitsInRange(TORNADO_GROUP,X,Y,TORNADO_RAD,Condition(function Tornado_Filter))
        
            loop
                set Picked = FirstOfGroup(TORNADO_GROUP)
                    exitwhen Picked == null
                        if IsUnitEnemy(Picked,GetOwningPlayer(Data.Caster)) == true then
                            call Tornado_Group(Picked,Data.Caster,X,Y)
                            call GroupAddUnit(TORNADO_DEGROUP,Picked)
                            call UnitDamageTarget(Data.Caster,Picked,Damage(GetUnitAbilityLevel(Data.Caster,TORNADO_ID)),false,true,ATTACK_TYPE_HERO,DAMAGE_TYPE_NORMAL,null)
                        endif
                    call GroupRemoveUnit(TORNADO_GROUP,Picked)
            endloop
            
        set Data.Dist = Data.Dist - TORNADO_SPEED
        
            if Data.Dist &lt;= 0 then
                call KillUnit(Data.Dummy)
                    call Data.destroy()
                        return true
            endif
set Picked = null
return false
endfunction

private function Trig_Tornado_Actions takes nothing returns nothing
    local Torn Data = Torn.create()
        local real CasterX
        local real CasterY
        local real Angle
        local real X
        local real Y
    set Data.Caster = GetTriggerUnit()
    set CasterX = GetUnitX(Data.Caster)
    set CasterY = GetUnitY(Data.Caster)
    set Angle = GetUnitFacing(Data.Caster)
    set X = CasterX + 125 * Cos(Angle * bj_DEGTORAD)
    set Y = CasterY + 125 * Sin(Angle * bj_DEGTORAD)
    set Data.Dummy = CreateUnit(GetOwningPlayer(Data.Caster),TORNADO_DUMMY,X,Y,Angle)
    set Data.X = RandomX(CasterY,TORNADO_AOE)
    set Data.Y = RandomY(CasterY,TORNADO_AOE)
    
    call TT_Start(function Tornado_Move, Data)
endfunction

//===========================================================================
function InitTrig_Tornado takes nothing returns nothing
    local trigger Trig = CreateTrigger(  )

    set MaxX = GetRectMaxX(bj_mapInitialPlayableArea) 
    set MaxY = GetRectMaxY(bj_mapInitialPlayableArea) 
    set MinX = GetRectMinX(bj_mapInitialPlayableArea)
    set MinY = GetRectMinY(bj_mapInitialPlayableArea)
    
    call TriggerRegisterAnyUnitEventBJ( Trig, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( Trig, Condition( function Trig_Tornado_Conditions ) )
    call TriggerAddAction( Trig, function Trig_Tornado_Actions )
    
    set Trig = null
endfunction
endscope


*EDIT* Preferably base the spell of a non-target spell (Instant)
*EDIT* tested and made Code better =)
 

Attachments

  • TornadoFunxD.w3x
    52.3 KB · Views: 240

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
> Check my hero.
It looks interesting. But I'm more interested in some special effect spells, not attributes. Plus, it's GUI. I'm not interested in GUI. Good job anyway :thup:
 

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
Just to inform you, after a few weeks the first beta test version will be available, including 8 Heroes and the boss, which will be tweaked, until I make more balance changes. As for now it will and won't be easy to kill him. :) Stay tuned for more info.

> If you need Spells again, just give me PM or something =P
Won't be soon. I'll give you a long rest and then I'll torture you more. :p
If you need some help with Blood Oath, I'm here. :)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    How can you tell the difference between real traffic and indexing or AI generation bots?
  • The Helper The Helper:
    The bots will show up as users online in the forum software but they do not show up in my stats tracking. I am sure there are bots in the stats but the way alot of the bots treat the site do not show up on the stats
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such
  • Varine Varine:
    That's mostly what I've been looking at
  • Varine Varine:
    I don't think I'm dealing with quite the same pressures though, at the very least its a significantly smaller system. For the time being I'm just going to put together a quick scrubby box though and hope it works good enough to not make my house toxic
  • Varine Varine:
    I mean I don't use this enough to pose any significant danger I don't think, but I would still rather not be throwing styrene all over the air
  • The Helper The Helper:
    New dessert added to recipes Southern Pecan Praline Cake https://www.thehelper.net/threads/recipe-southern-pecan-praline-cake.193555/
  • The Helper The Helper:
    Another bot invasion 493 members online most of them bots that do not show up on stats
  • Varine Varine:
    I'm looking at a solid 378 guests, but 3 members. Of which two are me and VSNES. The third is unlisted, which makes me think its a ghost.
    +1
  • The Helper The Helper:
    Some members choose invisibility mode
    +1
  • The Helper The Helper:
    I bitch about Xenforo sometimes but it really is full featured you just have to really know what you are doing to get the most out of it.
  • The Helper The Helper:
    It is just not easy to fix styles and customize but it definitely can be done
  • The Helper The Helper:
    I do know this - xenforo dropped the ball by not keeping the vbulletin reputation comments as a feature. The loss of the Reputation comments data when we switched to Xenforo really was the death knell for the site when it came to all the users that left. I know I missed it so much and I got way less interested in the site when that feature was gone and I run the site.
  • Blackveiled Blackveiled:
    People love rep, lol
    +1
  • The Helper The Helper:
    The recipe today is Sloppy Joe Casserole - one of my faves LOL https://www.thehelper.net/threads/sloppy-joe-casserole-with-manwich.193585/
  • The Helper The Helper:
    Decided to put up a healthier type recipe to mix it up - Honey Garlic Shrimp Stir-Fry https://www.thehelper.net/threads/recipe-honey-garlic-shrimp-stir-fry.193595/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top