• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Defense / Survival] Sverkerman Presents - SvD (Satyr Vs Draenei)

Status
Not open for further replies.

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
21kl8jl.png
Introduction
SvD is a Survival map similar to Troll vs Elves and Vampirism Fire.
My goal with SvD is to create a game with high fun factor & replayability while being at a ridiculously low filesize to allow spreading at a fast rate.
SvD will be available for beta testers at SATURDAY!
I'm in need of beta testers with Skype access. If you are interested in beta testing SvD you can add me on skype where I use the ID Sverk3rcraft.
Videos







Images

33onuv6.png

rsbgvl.png



a2pykh.png



le%20Tree.jpg




Documents


WALL AND SATYR NEEDS TO HAVE THE SAME HP!

2,000 Gold = 1 Power
10 Power = 20,000 Gold


Satyr HP = Wall HP
Satyr HP/Wall HP = 100

Satyr Damage =

Tower Damage = 2 per 2.55
3x2 = 6
6/2.55 sec.

8 base damage on Satyr

Satyr Base Damage = 8
Satyr Damage Speed = 2
Satyr items costs the same as Draenei upgrades.

We'll have a testrun at beta and check for balance changes.


Power is replacing Lumber in SvD.
Story: Draeneis harvest power from plants. Power is used to build powerful buildings.

Each talent requires a certain level to obtain.
You gain levels by gold collected or minutes played.

All Walls has 1/3 of its HP as mana.
Mana shield gets activated when the walls mana is at max.
Once the mana is drained to 0 the shield gets disabled until the mana of the wall is at max again.


HP Reg is made through triggers.
Mana Reg is made through triggers.
D R A I N E I


STONE
--------------------------------------------------------------------------------
A C T I V E
¨¨¨¨¨¨¨¨¨¨¨
(In level order)

1-5)Spawn Repairers to repair the stone. Lives for 10 seconds.
1-9)Recover 40% mana and 20% HP instantly.
1-10)Mana Shield.
1-6)Increases damage taken by 50% and damage returned by 20% temporarily for 6 seconds.
1-7)Ice Barrier - Spawn a ice shield that blocks the Satyr for 3 seconds.



P A S S I V E
¨¨¨¨¨¨¨¨¨¨¨¨¨
3-1)HP
2-3)Increased HP Reg.
3-2)Damage Reduction.
1-4)Increased HP and HP Reg
1-8)Your stone gains Mana and mana reg.



TOWER
--------------------------------------------------------------------------------
A C T I V E
¨¨¨¨¨¨¨¨¨¨¨

1-2)Cold Arrows - reduces attack speed and movement speed by 20% for 1 second. Addon lasts 8 seconds. Using Flaming Arrows meanwhile this addon is active without having the talent Frostfire will disable this addon.
1-5)Flaming Arrows - Causes the Satyr to burn, losing 2% HP each second for 2 seconds. Addon lasts 6 seconds. Using Cold Attack meanwhile this addon is active without having the talent Frostfire will disable this addon.
1-6)Teleport - Enables towers to telport to a new location and rebuild themselves over 1 second within a 700 area radius. Has a 25 seconds cooldown.
1-4)Power Cord - Enables you to build Power Cords, boosts the attack damage of nerby towers. Must be built next to the tower. Only 1 Power Cord per Tower.
1-8)Natures Wrath - Place a trap that is triggered when stepped on by the Satyr. Deals 15% of his whole life as damage and stuns him for 2-5 seconds.




P A S S I V E
¨¨¨¨¨¨¨¨¨¨¨¨¨
1-7)Frostfire - Enables the use of Cold Attack and Flaming Attack at the same time.
3-1)Damage Increase
3-3)Attack Speed Increase (4,8,14)
1-9)Increases damage taken by targets affected by Flaming Arrows by 10% , increases movement & attack speed lost from Cold Arrows by 10% and increases the duration of both addons by 3 seconds.
2-10)Increase the maximum amount of towers that can be built by 1. (5 total)





ECONOMY
--------------------------------------------------------------------------------
A C T I V E
¨¨¨¨¨¨¨¨¨¨¨
1-9)Economy Totem - Places down a totem that Increases your seed power & gold income by 20% for 10 seconds.
1-10)Money Copying - Copies your moneyhouse for 30 seconds. The income of the copy is 50% of the real one.
1-8)Reversed Pillage - Gain 100% of the damage done to your stone as gold income for 8 seconds.
1-4)Investment - Removes 10% of your total gold and gives you 15% back 50 seconds later.
1-5)Cord of Economy - Enables you to build Cords of Economy, increasing the income by 10% of nerby income sources. Needs to be placed right next to the income building or plant. Only 1 cord per building can be active.




P A S S I V E
¨¨¨¨¨¨¨¨¨¨¨¨¨
3-1)Increase plant power income by 5%
1-3)Increase increases the speed which plants are grown by 10%
3-2)increase gold income by 5%
2-6)Increase income rate by 8%
1-7)gain 1% of the damage done by the Satyr as gold income.













S A T Y R

MOBILITY
---------------------------------------------------------------------------------
A C T I V E
¨¨¨¨¨¨¨¨¨¨¨
1-7)Dash - Dashes forward in a range of 600.
1-3)Reveal - Reveals a part of the map
1-9)Hit and run - Launches an attack that deals 20% of unit's total health as damage and increases your movement speed by 200% for 5 seconds.
1-4)Sentry Ward - Place a Sentry Ward that gives visibility in a 500 radius area.
1-8)Desiese - Consumes targeted Sentry Ward and starts spreading Desiese. Desiese gives a buff for the Satyr that increases attack speed by 20% and movement speed by 30% and gives a debuf to nerby towers that decreases damage by 20%. Lasts 8 seconds.




P A S S I V E
¨¨¨¨¨¨¨¨¨¨¨¨¨
2-1)Increase movement speed
1-6)Improve Reveal - Increases the area of reveal by 500.
3-10Improve Hit and Run - Increases the time of Hit and Run by 2 seconds and makes you invisible for 2 seconds.
3-2)Evade - gives you a 5% chance to dodge an attack.
1-5)Improved Evade - Increases your chance to dodge an attack by additionally 8%.






ECONOMY
---------------------------------------------------------------------------------
A C T I V E
¨¨¨¨¨¨¨¨¨¨¨
1-3)Gold Snatching - Target enemy Draenei, stealing 10% of that player's current gold and stunning him for 3.5 seconds. Has a range of 500.
1-10)Totem of Restoration - Places a totem that heals you and all enemy buildings for 1500/sec and increasing the gold gained from dealing damage by 10%. Lasts 10 seconds.
1-6)Life Leak - damaging 10% of targeted building's total HP as damage and gaining 10% of that building's total cost as gold.
1-4)Corrupting Shockwave - Sends a corrupted shockwave towards targeted point, if strucks a Draenei Gold House it generates income for you instead of for the Dreinei for 9 seconds. has a 2000 range traveling distance.
1-8)Corrupted Generator - Place a Corrupted Generator. If placed next to a Draenei Gold House it will split the generated income in 2, giving you 50% of the generated income and the Draenei which the Gold House belongs to the rest of the 50% of the generated income. Lasts 20 seconds. Can be destroyed by the Draenei but is untargetable by towers.




P A S S I V E
¨¨¨¨¨¨¨¨¨¨¨¨¨
3-1)Pillage - Increase gold gained from dealing damage by 5%
2-7)Improve Corrupted Shockwave - If struck unit is a Draenei plant it destroy all the plants in a 400 radius region around the struck plant and convert the Seed Power they give when being fully grown and harvested into gold for the Satyr.
1-2)Improved Pillage - Further increases gold gained from dealing damage by 8%
3-5)Improve Gold Snatching - Increases the amount of gold stolen by 2%.
1-9)Improve Life Leak - Increases gold income from Like Leak by 5% and reduces the targeted building's armor by 25% for 6 seconds.










COMBAT
---------------------------------------------------------------------------------
A C T I V E
¨¨¨¨¨¨¨¨¨¨¨
1-10)Sickle - Deals 50% of your damage and causes the target to take 20% more damage for 8 seconds.
1-7)Molten Blade - Deals 10% of target's full HP + 125% of the Satyr's attack damage.
1-4)Bloodlust - Increases Attack Speed by 20% for 8 seconds.
1-6)Molten Skin - Decreases damage taken by 40% for 10 seconds.
1-9)Reflection - Reflects all projectiles(damage taken) to the closest Draenei Wall.




P A S S I V E
¨¨¨¨¨¨¨¨¨¨¨¨¨
3-1)Sabotage - Increases damage done by 5%
2-3)Improved Sabotage - Increases damage done by additional 5% and attack speed by 5%
1-8)Improved Molten Blade - Increases damage by Molten Blade by 25% while target is affected by Sickle.
3-2)Hardened Skin - Decreses damage taken by 5%
1-5)Improve Hardened SKin - Further reduces the damage taken while affected by 8%




What do you do as a Satyr?
you:
Attack
Move
Buy
Sell
Economy
Spike Shield
Attack which increases your movement speed temporarily



20 Talent Points per player.


Support


Want to support SvD? Make sure to wear our support signature! Simply enter this code inside your signature, as simple as that!
[url=http://www.hiveworkshop.com/forums/map-development-202/sverkerman-presents-svd-satyr-vs-draenei-224923/#post2238069][img]http://www.hiveworkshop.com/forums/members/197699-albums4412-picture62459.png[/img][/url]



 
Last edited:
Level 14
Joined
Apr 20, 2009
Messages
1,543
@APproject
Gramatik. Check him out.

Adrian, I just got to rep you for this man, I just got to! :ogre_love:
+ SvD ofc ^.^

EDIT: (can't spread yet) :(

Also, I really like Al0ne's artwork so far :) got to give you that.
By the way, tell me if you still want that hook spell or do you already have a guy?
 

Deleted member 212788

D

Deleted member 212788

Very interesting idea and a cool design. My only complaint is that the terrain could use a bit of work but nevertheless, it's very cool :)
 
Level 12
Joined
Oct 7, 2010
Messages
447
Nice to see the thread is up and I'm glad the logo I helped made really did turned out great. ;)

coming up next (as requested by the almighty Sverkerman):
-Signature (Developer & Supporter)
-Map Preview Screen

EDIT:
Here's the sigs. :D
Only for use of the developer:
197699-albums4412-picture62458.png

Specially for supporters of SvsD:
197699-albums4412-picture62459.png
 
Level 24
Joined
Jul 9, 2009
Messages
4,097
I have been playing Island defense for 3-4 years now and I must say this is the first project you've done for years that really interest me. Lets just hope this one ends up better then those RPG's you tried to make.
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
This thing is firing off quite well I see ^.^
B.t.w. Adrian, I had like 0 time yesterday to work on the spell.
I'll try to finnish it today :)
 

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
@Hashjie
No problem what so ever my friend. SvD is airing in 8 days and there is a lot for me to do anyways.

Looking forward towards seeing how brutally awesome it's going to look!
Also, perhaps I should make a update now that I am writing.

At the moment I am working on the Draenei objects and the functions for all the objects. It is rather hard to make every system fully optimized and MUI compitable.
After that I am going to make the Satyr items.
Then I'll be busy making the rest of the talent tree abilities.
Then we got final touches, what happens when you enter the game, how the game resets once the Satyr is killed or all the Draeneis are killed.
Then I'll protect and beta test it.
Time for balancing issues! yay!
Finally, release, make forum, host TeamSpeak3 server, contact Garena.

In how many days does this list have to be finished?
8.
fuck.
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
@ic3_water
Hashjie might upload it to Hive after SvD is finished if he wants to. He is the one who made it specially for SvD.

Actually I don't care what happens to it, it took me like 2 minutes to create.
I even deleted it from my computer so if he needs it you can simply take the imported file from your map and upload it for ic3_water if you want to ofcourse.

(also, I still see some mistakes on using it ^.^ don't forget to put it in the exact same degrees.
In this case 180 != 0/360 since there is shading on the arrowhead and arrowbody. They are actually seperate parts.)

Adrian in your case all arrows are right except the one in the middle column for both Satyr and Draneai (the one that is angled, the head is in a opposite direction)
 

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
JASS:
scope Icewall initializer Init
    globals
        private real array IceWallZ
        private destructable array IceWall
        private real array IceWallFace
        private constant integer IceWallRaw = 'ITx3' //raw code for the icewall destructable
        private constant integer Crystallize = 'A001' //raw code for the Crystallize ability
        private boolean array IceWallDestroyed 
        private constant string specialEffect = "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl" //model file to the special effects created
        private real array IceWallX
        private real array IceWallY
        private destructable array PathingBlocker1
        private destructable array PathingBlocker2
        private destructable array PathingBlocker3
        private effect array Effect1
        private effect array Effect2
        private effect array Effect3
        private integer array unitData
    endglobals

    private function create_pathing_blockers takes integer uData returns nothing
        set PathingBlocker1[uData] = CreateDestructable('YTfc', IceWallX[uData], IceWallY[uData], 0.0, 1.0, 1)
        set Effect1[uData] = AddSpecialEffect(specialEffect, IceWallX[uData], IceWallY[uData])
        if (IceWallFace[uData] == 180 or IceWallFace[uData] == 0 or IceWallFace[uData] == 360) then
            set PathingBlocker2[uData] = CreateDestructable('YTfc', IceWallX[uData], IceWallY[uData] + 128, 0.0, 1.0, 1)
            set PathingBlocker3[uData] = CreateDestructable('YTfc', IceWallX[uData], IceWallY[uData] - 128, 0.0, 1.0, 1)
            set Effect2[uData] = AddSpecialEffect(specialEffect, IceWallX[uData], IceWallY[uData] + 128)
            set Effect3[uData] = AddSpecialEffect(specialEffect, IceWallX[uData], IceWallY[uData] - 128)
        elseif (IceWallFace[uData] == 90 or IceWallFace[uData] == 270) then
            set PathingBlocker2[uData] = CreateDestructable('YTfc', IceWallX[uData] +128, IceWallY[uData], 0.0, 1.0, 1)
            set PathingBlocker3[uData] = CreateDestructable('YTfc', IceWallX[uData] -128, IceWallY[uData], 0.0, 1.0, 1)
            set Effect2[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] + 128, IceWallY[uData])
            set Effect3[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] - 128, IceWallY[uData])
        elseif (IceWallFace[uData] == 225 or IceWallFace[uData] == 45) then
            set PathingBlocker2[uData] = CreateDestructable('YTfc', IceWallX[uData] -128, IceWallY[uData] +128, 0.0, 1.0, 1)
            set PathingBlocker3[uData] = CreateDestructable('YTfc', IceWallX[uData] +128, IceWallY[uData] -128, 0.0, 1.0, 1)
            set Effect2[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] - 128, IceWallY[uData] + 128)
            set Effect3[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] + 128, IceWallY[uData] - 128)
        elseif (IceWallFace[uData] == 135 or IceWallFace[uData] == 315) then
            set PathingBlocker2[uData] = CreateDestructable('YTfc', IceWallX[uData] +128, IceWallY[uData] +128, 0.0, 1.0, 1)
            set PathingBlocker3[uData] = CreateDestructable('YTfc', IceWallX[uData] -128, IceWallY[uData] -128, 0.0, 1.0, 1)
            set Effect2[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] + 128, IceWallY[uData] + 128)
            set Effect3[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] - 128, IceWallY[uData] - 128)
        elseif (IceWallFace[uData] == 22.5 or IceWallFace[uData] == 202.5) then
            set PathingBlocker2[uData] = CreateDestructable('YTfc', IceWallX[uData] +64, IceWallY[uData] -128, 0.0, 1.0, 1)
            set PathingBlocker3[uData] = CreateDestructable('YTfc', IceWallX[uData] -64, IceWallY[uData] +128, 0.0, 1.0, 1)
            set Effect2[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] + 64, IceWallY[uData] - 128)
            set Effect3[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] - 64, IceWallY[uData] + 128)
        elseif (IceWallFace[uData] == 67.5 or IceWallFace[uData] == 247.5) then
            set PathingBlocker2[uData] = CreateDestructable('YTfc', IceWallX[uData] +128, IceWallY[uData] -64, 0.0, 1.0, 1)
            set PathingBlocker3[uData] = CreateDestructable('YTfc', IceWallX[uData] -128, IceWallY[uData] +64, 0.0, 1.0, 1)
            set Effect2[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] + 128, IceWallY[uData] - 64)
            set Effect3[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] - 128, IceWallY[uData] + 64)
        elseif (IceWallFace[uData] == 292.5 or IceWallFace[uData] == 112.5) then
            set PathingBlocker2[uData] = CreateDestructable('YTfc', IceWallX[uData] +128, IceWallY[uData] +64, 0.0, 1.0, 1)
            set PathingBlocker3[uData] = CreateDestructable('YTfc', IceWallX[uData] -128, IceWallY[uData] -64, 0.0, 1.0, 1)
            set Effect2[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] + 128, IceWallY[uData] + 64)
            set Effect3[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] - 128, IceWallY[uData] - 64)
        elseif (IceWallFace[uData] == 157.5 or IceWallFace[uData] == 337.5) then
            set PathingBlocker2[uData] = CreateDestructable('YTfc', IceWallX[uData] +64, IceWallY[uData] +128, 0.0, 1.0, 1)
            set PathingBlocker3[uData] = CreateDestructable('YTfc', IceWallX[uData] -64, IceWallY[uData] -128, 0.0, 1.0, 1)
            set Effect2[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] + 64, IceWallY[uData] + 128)
            set Effect3[uData] = AddSpecialEffect(specialEffect, IceWallX[uData] - 64, IceWallY[uData] - 128)
        endif
    endfunction
    
    private function Edit_Face_Icewall takes integer uData returns nothing
        local real RadiusCheckLow = 0
        local real RadiusCheckHigh = 0
        loop
            exitwhen RadiusCheckHigh == 360
            set RadiusCheckHigh = RadiusCheckLow + 22.5
            if (RadiusCheckLow < IceWallFace[uData] and IceWallFace[uData] < RadiusCheckHigh) then
                if (IceWallFace[uData] > RadiusCheckHigh - 11.25) then
                    set IceWallFace[uData] = RadiusCheckHigh
                else
                    set IceWallFace[uData] = RadiusCheckLow
                endif
            endif
            set RadiusCheckLow = RadiusCheckLow + 22.5
        endloop
    endfunction
    
    private function Animate_Icewall takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local integer uData = unitData[GetHandleId(t)-0x100000]
        local real x = GetDestructableX(IceWall[uData])
        local real y = GetDestructableY(IceWall[uData])
        local location l = Location(x, y)
        local real currentZ = GetLocationZ(l)
        call RemoveDestructable(IceWall[uData])
        set IceWallZ[uData] = IceWallZ[uData] + 5
        set IceWall[uData] = CreateDestructableZ(IceWallRaw, x, y, currentZ - IceWallZ[uData], IceWallFace[uData], 0.5, 1)
        if (IceWallDestroyed[uData]) then
            call RemoveDestructable(IceWall[uData])
            call RemoveDestructable(PathingBlocker1[uData])
            call RemoveDestructable(PathingBlocker2[uData])
            call RemoveDestructable(PathingBlocker3[uData])
            call DestroyEffect(Effect1[uData])
            call DestroyEffect(Effect2[uData])
            call DestroyEffect(Effect3[uData])
            set PathingBlocker1[uData] = null
            set PathingBlocker2[uData] = null
            set PathingBlocker3[uData] = null
            set Effect1[uData] = null
            set Effect2[uData] = null
            set Effect3[uData] = null
            set IceWall[uData] = null
            set IceWallZ[uData] = 0
            set IceWallDestroyed[uData] = false
            call PauseTimer(t)
            call DestroyTimer(t)
        endif
    endfunction

    private function Destroy_Icewall takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local integer uData = unitData[GetHandleId(t)-0x100000]
        call RemoveDestructable(IceWall[uData])
        set IceWallDestroyed[uData] = true
        call PauseTimer(t)
        call DestroyTimer(t)
    endfunction

    private function Icewall_Conditions takes nothing returns boolean
        return GetSpellAbilityId() == Crystallize
    endfunction

    private function Icewall_Actions takes nothing returns nothing
        local integer uData = GetUnitUserData(GetTriggerUnit())
        local real targetX = GetSpellTargetX()
        local real targetY = GetSpellTargetY()
        local timer destroy = CreateTimer()
        local timer animation = CreateTimer()
        local integer newX = R2I(targetX/128.00)
        local integer newY = R2I(targetY/128.00)
        set IceWallDestroyed[uData] = false
        set IceWallZ[uData] = 0.00
        set IceWallX[uData] = I2R(newX*128)
        set IceWallY[uData] = I2R(newY*128)
        set IceWallFace[uData] = GetUnitFacing(GetTriggerUnit())
        call Edit_Face_Icewall(uData)
        set IceWall[uData] = CreateDestructable(IceWallRaw, IceWallX[uData], IceWallY[uData], IceWallFace[uData], 0.5, 1)
        call create_pathing_blockers(uData)
        call TimerStart(animation, 0.1, true, function Animate_Icewall)
        set unitData[GetHandleId(animation)-0x100000] = uData
        call TimerStart(destroy, 3, false, function Destroy_Icewall)
        set unitData[GetHandleId(destroy)-0x100000] = uData
    endfunction
    
    private function Init takes nothing returns nothing
        local trigger t = CreateTrigger()
        local integer i = 0
        loop
            exitwhen i>11
                call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
            set i = i + 1
        endloop
        call TriggerAddCondition(t, Condition(function Icewall_Conditions))
        call TriggerAddAction( t, function Icewall_Actions )
        set t = null
    endfunction
endscope
2n23aqv.png
 
Level 16
Joined
Aug 7, 2009
Messages
1,406
Well, that's one way to do it, if you don't know how to use Sin and Cos. You don't need anything else (okay, you also need GetUnitFacing and bj_DEGTORAD).

Don't get me wrong, I'm not trying to be a jerk or insult anyone/question anyone's talent & knowledge, but I couldn't help pointing out how easy it is to make such a spell.

EDIT: oh, I thought it was an instant cast spell, and the wall's position was based on your current facing. Well, you need Atan2 then instead of GetUnitFacing and bj_DEGTORAD. My bad.
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
Well, that's one way to do it, if you don't know how to use Sin and Cos. You don't need anything else (okay, you also need GetUnitFacing and bj_DEGTORAD).

Don't get me wrong, I'm not trying to be a jerk or insult anyone/question anyone's talent & knowledge, but I couldn't help pointing out how easy it is to make such a spell.

EDIT: oh, I thought it was an instant cast spell, and the wall's position was based on your current facing. Well, you need Atan2 then instead of GetUnitFacing and bj_DEGTORAD. My bad.

Could you point out why one would need to use Atan2 instead of GetUnitFacing and bj_DEGTORAD when trying to create the destructable on every 22.5 degrees instead of the actual real values due to pathing blockers? I'm not sure how using Radian instead of Degrees is any different in this case.

Remember, not only did I need to create the wall on every 22.5 degrees so that the pathing blockers may be placed correctly but also the wall should be placed on the exact grid.
I'm not saying it's a hard thing to do at all, and I'd love to see improvements. So if you could enlighten me on your hypothesis I would greatly appreciate it.

I don't see how using a tangent would make a difference in this case?

JASS:
private function Edit_Face_Icewall takes integer uData returns nothing
        local real RadiusCheckLow = 0
        local real RadiusCheckHigh = 0
        loop
            exitwhen RadiusCheckHigh == 360
            set RadiusCheckHigh = RadiusCheckLow + 22.5
            if (RadiusCheckLow < IceWallFace[uData] and IceWallFace[uData] < RadiusCheckHigh) then
                if (IceWallFace[uData] > RadiusCheckHigh - 11.25) then
                    set IceWallFace[uData] = RadiusCheckHigh
                else
                    set IceWallFace[uData] = RadiusCheckLow
                endif
            endif
            set RadiusCheckLow = RadiusCheckLow + 22.5
        endloop
    endfunction
(The naming convention was wrong. These are actually degrees.)
This basically sets the face of the wall to the closest degrees devidable by 22.5.

Also, I always use: Degree-Radian Conversion as a refference, kinda useful IMO.

EDIT: I'd really like to see your take on this abillity if you don't mind. I want to see how much more easier it can be to create this.
I'm not trying to question your knowledge on this, but if you say that it can be simplified then please show us as it'll actually help improve the spell.

I'm still kinda new to vJass so I'll be updating this spell when I'm done with the next one I'm creating.
I think it'll be neater with structs and TimerUtilsEx then it is right now IMO. It works but should be coded in a more solid way.
 
Last edited:

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
All talent tree effects granted by the draenei talent tree has now been completed.

Left to do:
-All the talent tree effects granted by the Satyr.
-System for when map starts (setup).
-Restarting system.
-Remake of terrain to better fit the Hook spell.
-~5 structure units for the Draenei.
-Easy-Sell system for the Satyr.
-Setting up TeamSpeak3 server.

After that is done SvD will be released to the Beta Testers. After that is done following things will be worked on:

-Balancing.
-1000 hints.
-Easter eggs (in cooperation with Dualism).
-Voice System.
-Fullscreen Character Customization System.

-After all above is done SvD will be released for the public to play-

Future features:
-SvD UI
-Forum
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
-Remake of terrain to better fit the Hook spell.
Not needed anymore (except for a few pathing blockers). I saw two in particular that can be seen as bug abusement.

-System for when map starts (setup).
-Restarting system.

Ooooh can I :D? Or do you want to?

After that is done SvD will be released to the Beta Testers. After that is done following things will be worked on:

-Balancing.
-1000 hints.
-Easter eggs (in cooperation with Dualism).
-Voice System.
-Fullscreen Character Customization System.

-After all above is done SvD will be released for the public to play-

Future features:
-SvD UI
-Forum

Balancing is gonna be... argh, I hate ballancing >.<
What exactly do you mean with 1000 hints :/?
And what about the "voice" system? You mean like voice acting for all characters 0.o?
 
Last edited:

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
With the hints I mean random messages. It could be:
"Köttbullar är mums!"
"My cat's name is HerrBrushurslem"
"Best series? Elfen Lied. Best Movie? Spirited Away."

With the voice feature I am going to use the sound files already exsisting inside the MPQ and make a system which brings a bit of roleplay and fun to SvD.

Example:
Player types -1
"Don't touch me!" (Satyr "pissed")
Player types -2
"I will do what I must" (Draenei "what")
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
I see what you want to do here ^.^ normally those sounds are played locally for a player but I
suppose this time you want it to be a 3D sound emitted through the game so other players can hear it too right :)?
Cool thinking, how about animations too?
Play different animations by typing, in fact you can even use the index of an animation for this.
Would be pretty simple to make actually...

Fun way to interact with your enemy's and allies ;)
 

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
Beta testing has been re-scheduled due to desync errors with the talent tree. I still have some systems to implement as well.

I apologize for the delay, it was not intended to be like this but appearently there is no possible way to create floating texts locally with GUI.


Anyhow, the problems will be fixed for Saturday! All of you are welcome to join us in the beta testing session, all you have to do is to add me to skype (Sverk3rcraft).

The more people that attends the more fun ;)
Here is a countdown timer for when the next beta testing session will be held.
http://www.timeanddate.com/countdow...=80c2da&fg2=99dbd4&msg=SvD+Beta+Testing&csz=1
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
Beta testing has been re-scheduled due to desync errors with the talent tree. I still have some systems to implement as well.
I apologize for the delay, it was not intended to be like this but appearently there is no possible way to create floating texts locally with GUI.

This doesn't mean it's impossible in Jass, but we are having some issues with that due to lots of systems for the talent tree being created in GUI.
(It's got to do with bj_lastCreatedFloatingText and changing floating text in GUI)

Anyhow, we are now going to use unit dots with local vertex coloring instead of text (Looks neater anyways) :)
This is already implemented and seems to work so far...

Anyhow, the problems will be fixed for Saturday! All of you are welcome to join us in the beta testing session, all you have to do is to add me to skype (Sverk3rcraft).

The more people that attends the more fun ;)
Here is a countdown timer for when the next beta testing session will be held.
http://www.timeanddate.com/countdow...=80c2da&fg2=99dbd4&msg=SvD+Beta+Testing&csz=1

Ah yes! Finally some time to test for multiplayer gameplay beforehand :)
(There are still some local issues that we are currently having problems with. No desynchs now though...)

Note to adrian:
we might want to set the unit z-height for some dummy units in the talent tree (crowform bug).
For example, it would be nice to have the arrows (not the arrowhead) underneath the icons and the dots above the arrows etc.
For the arrows, this can be done in the editor instead of code I suppose ;)?

Another thing is: I'm thinking about not only using red and green dots but also the default color for those talents in which you can currently spend a point in.
It'll look much better IMO. I'll work on it when I get home.
 
Last edited:

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
I have not made a update in quite some time so I feel like this could be a good time to do one.

First beta test session is over. We were not able to actually test the gameplay itself as we experienced heavy bugs preventing us from getting even 2 minutes into the game.

These bugs are currently being worked on and will probably be solved by friday where we will be hosting another beta testing session.
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
Adrian the screenshots in the first post are kind of outdated, do you want to release a new update with new screenshots or are some things still a secret ;)?
 

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
Another Beta Testins session over! These are the things that will be applied for tomorrows testing:

No wood is aquired from the give wood items.
Floating texts are fucked up for income.
Boots of speed for the Satyr Shop.
2 Towers max can be built for the Draenei without the talents.
Give Power doesn't increase Power.
Mana shield buff name.
Lightning Effects
Music
Sound effects for communication
Local Floating Texts inside GUI systems.
Reduce Movement Speed for Draenei.
Buildings to be able to upgrade other buildings. (These buildings contains upgrades)
Reduce building time for buildings!
When a building is destroyed while being built the system which keeps track of how many buildings you have of that type bugs.


Every beta testing session is recorded, so if you are unable to make it to our beta testing sessions don't you worry! There will be a massive progress video up once I feel comfertable with releasing SvD!
I believe that the next beta test will have quite a lot of gameplay to cover. Today was a blast testing SvD with 9 people! Thanks to everyone who attended!
Also, as I mentioned, tomorrow there will be yet another beta testing session: http://www.timeanddate.com/countdown/generic?iso=20121124T20&p0=239&msg=SvD+Beta+Testing+Session+3

If you like to test Warcraft 3 maps in a friendly and relaxing environment I highly recommend that you attend! Just add me on skype and tell me that you wish to join!
As always, my skype name is Sverk3rcraft.

Goodnight and cya at beta tomorrow! ;D
 
Status
Not open for further replies.
Top