• 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.

===[NEW] Spell Workshop [NEW]===

Status
Not open for further replies.
Level 17
Joined
Jan 21, 2010
Messages
2,111
Actually, I just realized they just need to look brown. So you can make them neutral hostile or dark green and I can just manually change the color for whatever units I use. They shouldn't attack the werewolf player, Brown, or neutral passive, but they should attack everyone else and be controlled by no one (except their AI patrols).

okay, i'll start working
 
Level 17
Joined
Jan 21, 2010
Messages
2,111
I have some progges on your first request
The villager created in 3 different location (regions), they spawned randomly in that 3 regions, after 15s (after i finished all the system, you will look at the first system, the passive MUI move trigger) they randomly moving to another region, each of them can move separately, or together to random region, in the test map, i have created a simple city to make that looks like your request
Moving to second system
i'm really sorry about this, about taking this workshop request, since i know def is a bit overloaded, i think, helping him would be nice, and once again, i'm sorry about this
 
Level 4
Joined
Apr 24, 2009
Messages
115
I have some progges on your first request
The villager created in 3 different location (regions), they spawned randomly in that 3 regions, after 15s (after i finished all the system, you will look at the first system, the passive MUI move trigger) they randomly moving to another region, each of them can move separately, or together to random region, in the test map, i have created a simple city to make that looks like your request
Moving to second system
i'm really sorry about this, about taking this workshop request, since i know def is a bit overloaded, i think, helping him would be nice, and once again, i'm sorry about this

Thanks very much for the update.
 
Level 15
Joined
Jul 9, 2008
Messages
1,552
i can do the second and third spell for ya
the second spell we need a damage detection system

EDIT:
i dunno if any one has completed my spells i asked for a like time ago so im going to re-request them.

GUI please

blood seal.
the hero gains attack speed depending on the heros current hp percentage max bonus attack speed 100%
for every 0.4%/0.6%/0.8%/1%/1.2%/1.4%/1.6% hp lost the hero will gain 1% attack speed increase

ice shield
creates a shield of ice around a allied unit or self that takes 60/100/140/180/220/260/300 dammage when the ice has taken all the damage it can it will explode dealing the amount of taken damage to nearby units.

id like to request a muiltboard and a hero revive system.

the mualtiboard needs to display

Code:
hero icon,playername, [COLOR="White"]level (L)[/COLOR] [COLOR="Lime"]Hero Kills (K)[/COLOR]  [COLOR="Red"]deaths (D)[/COLOR]  [COLOR="Orange"]Assists (A)[/COLOR]  [COLOR="DimGray"]revive time (R) [/COLOR]  [COLOR="Yellow"]Gold[/COLOR] 

[COLOR="Orange"]team one (organge)[/COLOR]
[COLOR="Red"]player 1 red[/COLOR]
[COLOR="Blue"]player 2 blue[/COLOR]
[COLOR="Cyan"]player 3 teal[/COLOR]
[COLOR="DarkOrchid"]player 4 purp[/COLOR]
[COLOR="Yellow"]player 5 yellow[/COLOR]

[COLOR="Sienna"]team two (brown)[/COLOR]
[COLOR="Lime"]player 7 green[/COLOR]
[COLOR="Magenta"]player 8 pink[/COLOR]
[COLOR="Gray"]player 9 grey[/COLOR]
[COLOR="LightBlue"]player 10 light blue[/COLOR]
[COLOR="DarkGreen"]player 11 darkgreen[/COLOR]

[COLOR="LightBlue"]Game time :(game time minutes and secionds)[/COLOR]

also the total of kills and deaths in the teams rows

im asking for muiltiboard + revival because im not good with multiboards and i want the revival to be displayed in the board as well. also another thing i dunno how to do it with maultiboards. display gold for only the team u are on.

use the letter in Brackets are to display each thing where the brackets so it looks somthing like this at the top.
space for player names and what not then.
[L KDA R gold]

simple revive system
revival time formula 3+2.5x level of hero

team 1 heros revived on one side and team 2 revied on the other side

here is what i have requested
 
if u help me import it into my map sure

This is the code, change the color and the icon paths first that suites your needs then give it back to me...

I've indicated RED, GREEN, BLUE...replace it with integers...

READ THE INSTRUCTIONS!
JASS:
//Multiboard System by: Mckill2009
//Requested by: millzy

//===HOW TO USE:
//- Make a new trigger and convert to custom text via EDIT >>> CONVERT CUSTOM TEXT
//- The trigger name MUST be >>> MultiboardSystem (see the name below)
//- Copy ALL that is written here and overwrite the existing texts in the custom text

//Required Variables:
//- MultiBoard = Multiboard
//- Minutes = Minutes
//- Seconds = Integer 

//=====Configurables
function MB_COLUMN takes nothing returns integer
    return 9
endfunction

function MB_ROW takes nothing returns integer
    return 15
endfunction

function MB_TITLE takes nothing returns string
    return "Muiltboard and Hero Revive System"
endfunction

//=====End of Configurables

function MB takes nothing returns boolean
    local multiboard m = CreateMultiboard() 
    local integer pnum1 = 1
    local integer pnum2 = 8
    local integer pnum3 = 7
    local integer itemshow = 1
    local multiboarditem team1
    local multiboarditem team2  
    
    local integer RED = 255 //DO NOT TOUCH THIS!
    local integer GREEN = 255 //DO NOT TOUCH THIS!
    local integer BLUE = 255 //DO NOT TOUCH THIS!
      
    call MultiboardSetTitleText(m, MB_TITLE()) 
    call MultiboardDisplay(m, true)
    call MultiboardSetColumnCount(m, MB_COLUMN())
    call MultiboardSetRowCount(m, MB_ROW())
    call MultiboardSetItemsWidth(m, 0.07)
    call MultiboardSetItemsStyle(m, true, false)
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 0), "Team One") 
    call MultiboardSetItemValue(MultiboardGetItem(m, 7, 0), "Team Two") 
    call MultiboardSetItemValue(MultiboardGetItem(m, 14, 0), "Game Time:") 
    
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 1), "Hero Icon") 
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 2), "Player Name") 
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 3), "Level") 
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 4), "Hero Kills") 
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 5), "Deaths") 
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 6), "Assists")
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 7), "Revive Time")
    call MultiboardSetItemValue(MultiboardGetItem(m, 0, 8), "Gold")
    
    loop
        set team1 = MultiboardGetItem(m, pnum1, 0) 
        call MultiboardSetItemValue(team1, "Player" + I2S(pnum1))
        call MultiboardSetItemStyle(MultiboardGetItem(m, pnum1, 1), true, true)
        set pnum1 = pnum1 + 1
        exitwhen pnum1 >= 6
    endloop
    
    loop
        set team2 = MultiboardGetItem(m, pnum2, 0) 
        call MultiboardSetItemValue(team2, "Player" + I2S(pnum3))
        call MultiboardSetItemStyle(MultiboardGetItem(m, pnum2, 1), true, true)
        set pnum2 = pnum2 + 1 
        set pnum3 = pnum3 + 1
        exitwhen pnum2 >= 13
    endloop
    
    //Team One Color==Adjust manually    
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 1, 0), RED, GREEN, BLUE, 100)
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 2, 0), RED, GREEN, BLUE, 100)
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 3, 0), RED, GREEN, BLUE, 100)
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 4, 0), RED, GREEN, BLUE, 100)
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 5, 0), RED, GREEN, BLUE, 100)
    //Team Two Color==Adjust manually
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 8, 0), RED, GREEN, BLUE, 100)
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 9, 0), RED, GREEN, BLUE, 100)
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 10, 0), RED, GREEN, BLUE, 100)
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 11, 0), RED, GREEN, BLUE, 100)
    call MultiboardSetItemValueColor(MultiboardGetItem(m, 12, 0), RED, GREEN, BLUE, 100)
    
    //Team One Icons==Adjust manually
    call MultiboardSetItemIcon(MultiboardGetItem(m, 1, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 2, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 3, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 4, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 5, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    
    //Team Two Icons==Adjust manually    
    call MultiboardSetItemIcon(MultiboardGetItem(m, 8, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 9, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 10, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 11, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 12, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 13, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    
    set udg_MultiBoard = m
    set m = null
    return false
endfunction

function MB_TIME takes nothing returns boolean
    set udg_Seconds = udg_Seconds + 1
    if udg_Seconds < 10 then
        call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 14, 1), I2S(udg_Minutes)+":"+"0"+I2S(udg_Seconds))    
    else
        call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 14, 1), I2S(udg_Minutes)+":"+I2S(udg_Seconds))    
    endif
    if udg_Seconds >= 60 then
        set udg_Minutes = udg_Minutes + 1    
        set udg_Seconds = 0
    endif
    
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 1, 8), I2S(GetPlayerState(Player(0), PLAYER_STATE_RESOURCE_GOLD)))
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 2, 8), I2S(GetPlayerState(Player(1), PLAYER_STATE_RESOURCE_GOLD)))
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 3, 8), I2S(GetPlayerState(Player(2), PLAYER_STATE_RESOURCE_GOLD)))
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 4, 8), I2S(GetPlayerState(Player(3), PLAYER_STATE_RESOURCE_GOLD)))
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 5, 8), I2S(GetPlayerState(Player(4), PLAYER_STATE_RESOURCE_GOLD)))
    
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 8, 8), I2S(GetPlayerState(Player(6), PLAYER_STATE_RESOURCE_GOLD)))
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 9, 8), I2S(GetPlayerState(Player(7), PLAYER_STATE_RESOURCE_GOLD)))
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 10, 8), I2S(GetPlayerState(Player(8), PLAYER_STATE_RESOURCE_GOLD)))
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 11, 8), I2S(GetPlayerState(Player(9), PLAYER_STATE_RESOURCE_GOLD)))
    call MultiboardSetItemValue(MultiboardGetItem(udg_MultiBoard, 12, 8), I2S(GetPlayerState(Player(10), PLAYER_STATE_RESOURCE_GOLD)))
    return false
endfunction

function InitTrig_MultiboardSystem takes nothing returns nothing
    local trigger t1 = CreateTrigger()          
    local trigger t2 = CreateTrigger()
    call TriggerRegisterTimerEvent(t1, 0.1, false)
    call TriggerRegisterTimerEvent(t2, 1.0, true)
    call TriggerAddCondition(t1, Condition(function MB))
    call TriggerAddCondition(t2, Condition(function MB_TIME))
    set t1 = null
    set t2 = null
endfunction
 
its also in the code...these are the icons...

JASS:
//Team One Icons==Adjust manually
    call MultiboardSetItemIcon(MultiboardGetItem(m, 1, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 2, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 3, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 4, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 5, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    
    //Team Two Icons==Adjust manually
    call MultiboardSetItemIcon(MultiboardGetItem(m, 8, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 9, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 10, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 11, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 12, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 13, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")

Icon can be found in Art - Icon - Game Interface, double click that then replace each one written above, remember to put "\\" instead of "\"...
 
Level 15
Joined
Jul 9, 2008
Messages
1,552
its also in the code...these are the icons...

JASS:
//Team One Icons==Adjust manually
    call MultiboardSetItemIcon(MultiboardGetItem(m, 1, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 2, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 3, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 4, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 5, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    
    //Team Two Icons==Adjust manually
    call MultiboardSetItemIcon(MultiboardGetItem(m, 8, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 9, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 10, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 11, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 12, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")
    call MultiboardSetItemIcon(MultiboardGetItem(m, 13, 1), "ReplaceableTextures\\CommandButtons\\BTNHeroPaladin.blp")

Icon can be found in Art - Icon - Game Interface, double click that then replace each one written above, remember to put "\\" instead of "\"...

i wont be able to do that how am i supost to be able to predict what heros the perople playing my map are going to pick e.g player 1 picks demon hunter but atm the icon is pally
 
Level 4
Joined
Apr 24, 2009
Messages
115
mckill, did you mind if i take tjdrake's request?

If you haven't finished the player brown code I would like a slight tweak. For the ability, instead of having it be an active ability have it be a passive ability for any unit killed. Then have it create different units based on the hp of the killed unit. Thanks.
 
Ice Shield Done...

dummy should be based on Frost Armour model or it's up to you...

Read the Instructions

JASS:
//Spell Name: Ice Shield
//Created by: Mckill2009
//Ideas by: millzy

//===HOW TO USE:
//- Make a new trigger and convert to custom text via EDIT >>> CONVERT CUSTOM TEXT
//- The trigger name MUST be >>> InitTrig_IceShield (see the name below)
//- Copy ALL that is written here and overwrite the existing texts in the custom text
//- Copy the Dummy/custom abilities/buffs etc... to your object editor
//- Make sure you inputed the correct raw codes of the base spell/buffs/dummy etc...
//- If your raw code is different, you MUST CHANGE IT...
//- You can view the raw codes by pressing CTRL+D in the object editor
//- Examples of raw codes are 'A000', 'h000' etc... 

//===REQUIRED VARIABLES:
//- HASH = Hashtable (you must initialize it)
//- ICE_Target = Unit
//- ICE_Damage = Real

//==========CONFIGURABLES==========
//===IMPORTANT NOTICE: Raw codes MUST BE CHANGED if your raw code has changed as indicated below
function ICE_SPELLID takes nothing returns integer
    return 'A002' //raw code
endfunction

function ICE_ICEDUMMYID takes nothing returns integer
    return 'h001' //raw code
endfunction

function ICE_DAMAGE takes integer i returns real
    return 20 + i * 40.
endfunction

function ICE_ATT takes nothing returns attacktype
    return ATTACK_TYPE_MAGIC
endfunction

function ICE_DAM takes nothing returns damagetype
    return DAMAGE_TYPE_COLD
endfunction

function ICE_SFX takes nothing returns string
    return "Objects\\Spawnmodels\\NightElf\\NEDeathMedium\\NEDeath.mdl"
endfunction
//==========END OF CONFIGURABLES==========
function ICE_SCOPE takes nothing returns boolean
    local unit u = GetFilterUnit()
    if IsUnitEnemy(udg_ICE_Target, GetOwningPlayer(u)) and GetWidgetLife(u) > 0.405 then
        call UnitDamageTarget(udg_ICE_Target, u, udg_ICE_Damage, false, false, ICE_ATT(), ICE_DAM(), null)
    endif
    set u = null
    return false
endfunction

function ICE_DDS takes nothing returns boolean
    local unit u = GetTriggerUnit()
    local integer tarID = GetHandleId(u)
    local unit ice = LoadUnitHandle(udg_HASH, tarID, 1)
    local real damage = LoadReal(udg_HASH, tarID, 2)
    local real mindam = LoadReal(udg_HASH, tarID, 3) //Start Zero
    local real damdealt = GetEventDamage()
    if damage > mindam then 
         call SaveReal(udg_HASH, tarID, 3, mindam + damdealt)  
         call SetWidgetLife(u, GetWidgetLife(u)+damdealt)      
    elseif GetWidgetLife(u) > 0.405 and GetWidgetLife(ice) > 0.405 then 
        call DestroyEffect(AddSpecialEffect(ICE_SFX(), GetUnitX(u), GetUnitY(u)))  
        call UnitApplyTimedLife(ice, 'BTLF', 0.01)
        call SetUnitExploded(ice, true)
        set udg_ICE_Target = u
        set udg_ICE_Damage = damage 
        call GroupEnumUnitsInRange(bj_lastCreatedGroup, GetUnitX(u), GetUnitY(u), 400., Filter(function ICE_SCOPE))
        call FlushChildHashtable(udg_HASH, tarID)
    endif
    set u = null
    set ice = null
    return false   
endfunction

function ICE_LOOP takes nothing returns nothing
    local timer t = GetExpiredTimer() 
    local integer tID = GetHandleId(t) 
    local unit u = LoadUnitHandle(udg_HASH, tID, 1)
    local unit ice = LoadUnitHandle(udg_HASH, tID, 2)
    local real x = GetUnitX(u)
    local real y = GetUnitY(u) 
    if GetWidgetLife(u) > 0.405 or GetWidgetLife(ice) > 0.405 then
        call SetUnitX(ice, x)
        call SetUnitY(ice, y)
        call SetUnitFlyHeight(ice, GetUnitFlyHeight(u)+100, 10)
    else
        call DestroyEffect(AddSpecialEffect(ICE_SFX(), x, y))
        call UnitApplyTimedLife(ice, 'BTLF', 0.01)
        call SetUnitExploded(ice, true)
        call PauseTimer(t)
        call DestroyTimer(t)
        call FlushChildHashtable(udg_HASH, tID)        
    endif
    set u = null
    set ice = null
    set t = null
endfunction

function ICE_CAST takes nothing returns boolean
    local timer t
    local trigger trig
    local unit u
    local unit ice
    local real x
    local real y
    local integer tID
    local integer iceID
    local integer tarID
    local integer level
    if GetSpellAbilityId()==ICE_SPELLID() then 
        set u = GetSpellTargetUnit()
        set tarID = GetHandleId(u)        
        if HaveSavedHandle(udg_HASH, tarID, 1)==false then
            set trig = CreateTrigger()
            set t = CreateTimer()
            set tID = GetHandleId(t)
            set level = GetUnitAbilityLevel(GetTriggerUnit(), ICE_SPELLID())
            set x = GetUnitX(u)
            set y = GetUnitY(u)
            set ice = CreateUnit(GetTriggerPlayer(), ICE_ICEDUMMYID(), x, y, 0)
            call TriggerRegisterUnitEvent(trig, u, EVENT_UNIT_DAMAGED)
            call TriggerAddCondition(trig, Condition(function ICE_DDS))       
        
            //Target ID
            call SaveUnitHandle(udg_HASH, tarID, 1, ice)
            call SaveReal(udg_HASH, tarID, 2, ICE_DAMAGE(level))
            call SaveReal(udg_HASH, tarID, 3, 0)   
            
            //Timer ID
            call SaveUnitHandle(udg_HASH, tID, 1, u)
            call SaveUnitHandle(udg_HASH, tID, 2, ice)
            call TimerStart(t, 0.03, true, function ICE_LOOP)     
        endif
    endif
    set u = null
    set ice = null
    set t = null
    set trig = null
    return false
endfunction

function InitTrig_IceShield takes nothing returns nothing
    local trigger t = CreateTrigger()          
    call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition(t, Condition(function ICE_CAST))
    set t = null
endfunction
 
Level 9
Joined
Mar 31, 2011
Messages
496
Life & Mana bar System
● Type: Request
Info:
● Title says it all? but I want it like this, watch the video below.
● Red (HP) Blue (MP)

 
Level 10
Joined
Mar 19, 2010
Messages
622
Requests

Is there any slots for some request? If yes, here's the detail.
No.NameDescriptionNote
1. Heavy punch Passive. Every X second the hero punches one nearest enemy(max of 300 range) dealing Y damage and knock it up in the air. When the target landed it causes 35% of Y damage to every enemy within Z AoE included the target, so it makes the target suffers 135% of Y damage. Target is stunned for 1 second after landed.When this spell is triggered it must force the hero to attack target once then only it knock the target up in the air. Unit ability, 1 level only.
2. ShatterActive, AoE. The hero slams the ground dealing X damage, while dealing 200% bonus damage to enemy that have "Frozen" buff. Y AoE.---N/A---
3. Ground SlamPassive, every X attack the hero made it slams the ground. Dealing Y damage to every enemy within 800 range while knock them up in the air. Deals 15% of affected unit's max Hp and slows them by 25% upon landing.Unit ability, 1 level only.
4. Frozen GrapActive, Grap 1~2 target within 600 range for X seconds, or until Y damage is received. When a unit is grapped deals A~B damage.If can please make the target looks like hanging on the hero's hand, but if can't then just make a lightning chaining it while it's flying at it's position.
5. Unholy ShieldPassive, For every X damage received, create a shield that absorbs the same amount of damage. Last 1 minuter or until the damage cap is reached. Once the shield expire/fully absorbed, it explode, dealing 75% of current absorbed damage to every unit within 1200 range.It's like a periodical shield the appears when certain amount of damage is dealt. The "damage-require-to activate" is reseted, and starts counting upon the destroy of the shield. If possible make the shield to become smaller every time it absorbs damage.
6. Hungering PlaguePassive, The hero's first attack made in it's lifetime will unleash a plague on it's target, dealing X damage over 5 seconds. It is then bounced off to another target. Each bounce will give the hero one stack, which increase the dps by Y. If any it is dispelled(vile "Dispell Maic", "Devour Magic", "Purge", etc etc) it will loose a charge, which thus decrease it's dps by Y. Cannot decrease below X damage, which is the base damage. This plague bounce infinately until the unit's Hp goes below 5%. And for every 5 stacks it grant it will instant inflict every unit within 1200 range with another plague which is named "Blight Plague" which deals [target' max lost hp/50*stack] damage every .5 second over 25 seconds. While Blight Plague is going on the Hungering Plague is still going.This is a ultimate chain-ing plague that is used for a boss. Same, unit ability, 1 level only. This only happens once, thus no MUI casting is required.

Note: Every spell is for a unit, so every spell have only 1 level and if can put some documentation so that I can learn something from it. Thanks guys.


I know this is a big request but my request aren't that urgent so please take your time, just don't forget it :D
 
Level 17
Joined
Jan 21, 2010
Messages
2,111
2. Light Blue
There will be several shops on the map that sell units. All units sold by these shops should go under player light blues control. When first bought, they should go into a storage region on the map and be visible but not be moving.
Light blue is allied with players 1-8 BUT hostile to player Brown. Players should not share vision with light blue BUT they should be able to see the region where light blues units are stored at all times (except for the werewolf player. The werewolf player is a random player chosen by an array variable at the beginning of the game). Each night, light blues units should patrol the same three areas as the neutral passive units. Each morning, the units should be transported back to their storage space. Killed units are not replaced.

If Light Blue has no more unit space (food limitation) a message of some sort should be played if players 1-8 try to buy a unit.
so far, i have finished 2/6 of the system, just need some clarification
1.can player build another food supplier building?
2.how much did the buyed unit use food?
 
Level 4
Joined
Apr 24, 2009
Messages
115
so far, i have finished 2/6 of the system, just need some clarification
1.can player build another food supplier building?

- no, food supply will be set via trigger.

2.how much did the buyed unit use food?

- 1 food amount for each unit type is fine for now, i can edit it later.
 
Level 17
Joined
Jan 21, 2010
Messages
2,111
So, in other word, you will have
provided 15 food at the start
Each unit (pattrollers) only use 1 food
And i really suggest you to use 1 food, cuz, if the current is like this:
14/15, then a player buy a unit that take 2 or more food, it became abusable, since the food will be like this: 16/15
 
Level 4
Joined
Apr 24, 2009
Messages
115
So, in other word, you will have
provided 15 food at the start
Each unit (pattrollers) only use 1 food
And i really suggest you to use 1 food, cuz, if the current is like this:
14/15, then a player buy a unit that take 2 or more food, it became abusable, since the food will be like this: 16/15

Probably 50 food for the werewolf troops and 50 for the city guard troops. So each side can have a maximum of 50 units neutral city guard and wolf(hopefully 150 neutral units wont lag the map, will it?). 1 food for each unit is definitely good, good idea.
 
Level 10
Joined
Mar 19, 2010
Messages
622
@yeohxin: explain it, i'll try to make these, some request system has been done, so, i can take a simple request

Okey. Description is as below.
No.NameDescriptionNote
1. Heavy punch Passive. Every X second the hero punches one nearest enemy(max of 300 range) dealing Y damage and knock it up in the air. When the target landed it causes 35% of Y damage to every enemy within Z AoE included the target, so it makes the target suffers 135% of Y damage. Target is stunned for 1 second after landed.When this spell is triggered it must force the hero to attack target once then only it knock the target up in the air. Unit ability, 1 level only.
2. ShatterActive, AoE. The hero slams the ground dealing X damage, while dealing 200% bonus damage to enemy that have "Frozen" buff. Y AoE.---N/A---
3. Ground SlamPassive, every X attack the hero made it slams the ground. Dealing Y damage to every enemy within 800 range while knock them up in the air. Deals 15% of affected unit's max Hp and slows them by 25% upon landing.Unit ability, 1 level only.
4. Frozen GrapActive, Grap 1~2 target within 600 range for X seconds, or until Y damage is received. When a unit is grapped deals A~B damage.If can please make the target looks like hanging on the hero's hand, but if can't then just make a lightning chaining it while it's flying at it's position.
5. Unholy ShieldPassive, For every X damage received, create a shield that absorbs the same amount of damage. Last 1 minuter or until the damage cap is reached. Once the shield expire/fully absorbed, it explode, dealing 75% of current absorbed damage to every unit within 1200 range.It's like a periodical shield the appears when certain amount of damage is dealt. The "damage-require-to activate" is reseted, and starts counting upon the destroy of the shield. If possible make the shield to become smaller every time it absorbs damage.
6. Hungering PlaguePassive, The hero's first attack made in it's lifetime will unleash a plague on it's target, dealing X damage over 5 seconds. It is then bounced off to another target. Each bounce will give the hero one stack, which increase the dps by Y. If any it is dispelled(vile "Dispell Maic", "Devour Magic", "Purge", etc etc) it will loose a charge, which thus decrease it's dps by Y. Cannot decrease below X damage, which is the base damage. This plague bounce infinately until the unit's Hp goes below 5%. And for every 5 stacks it grant it will instant inflict every unit within 1200 range with another plague which is named "Blight Plague" which deals [target' max lost hp/50*stack] damage every .5 second over 25 seconds. While Blight Plague is going on the Hungering Plague is still going.This is a ultimate chain-ing plague that is used for a boss. Same, unit ability, 1 level only. This only happens once, thus no MUI casting is required.

Note: Every spell is for a unit, so every spell have only 1 level and if can put some documentation so that I can learn something from it. Thanks guys.

But like I said, it's much. So take your time and if you cant complete any of them just tell me, it's okey.
 
Status
Not open for further replies.
Top