Name | Type | is_array | initial_value |
____Glove | itemtype | No | |
____Helmet | itemtype | No | |
____Ring | itemtype | No | |
____Shield | itemtype | No | |
____Staff | itemtype | No | |
____Sword | itemtype | No | |
Aliance_leaderbord | leaderboard | No | |
Alianse | force | No | |
Alianse_player | force | No | |
AliansePlayers | force | No | |
CageAnimHoldTimer | timer | Yes | |
CageAnimLock | boolean | Yes | |
CreepItems | imagetype | No | |
DarkDummyGroup | group | Yes | |
DarkOrigin | unit | Yes | |
Game_Minutes | integer | No | |
Game_Seconds | integer | No | |
Game_Time | timer | No | |
Hammer | unit | Yes | |
Hero | unit | Yes | |
hero_combo | unit | No | |
Horde | force | No | |
Horde_leaderbord | leaderboard | No | |
Horde_player | force | No | |
HordePlayers | force | No | |
ID | integer | No | |
Int | integer | No | |
itemcariedbyhero | item | No | |
itemcariedbyhero2 | item | No | |
itemcarriedbyhero3 | item | No | |
itemcarriedbyhero4 | item | No | |
itemcarriedbyhero5 | item | No | |
Kills_helpers | integer | Yes | |
LastHeroStanding | force | No | |
LeaderboardAlianse | leaderboard | No | |
LeaderboardHorde | leaderboard | No | |
LeaderboardScurge | leaderboard | No | |
LeaderboardSentinel | leaderboard | No | |
Multiboard_Clock | integer | No | |
Multiboard_ShowDeaths | boolean | No | |
Multiboard_Spots | integer | Yes | |
PayersScurge_Playing | force | No | |
PickedNail | unit | Yes | |
Player_Colors | string | Yes | |
PlayerNames | string | Yes | |
Players | force | No | |
PlayersAlianseCount | integer | No | |
PlayersAliansePlaying | force | No | |
PlayersAlianseReverse | force | No | |
PlayersCount | integer | No | |
PlayersHordeCount | integer | No | |
PlayersHordePlaying | force | No | |
PlayersHordeReverse | force | No | |
PlayersScurgeCount | integer | No | |
PlayersScurgePlaying | force | No | |
PlayersScurgeReverse | force | No | |
PlayersSentinelCount | integer | No | |
PlayersSentinelPlaying | force | No | |
PlayersSentinelReverse | force | No | |
RetriveItemsRegionsCount | integer | No | |
ReverItemsRegins | location | Yes | |
Revival_bounty | integer | Yes | |
Revival_time | integer | Yes | |
RevivebleHeroes | group | No | |
ReviveTimers | timer | Yes | |
RiverItemsTaken | boolean | Yes | |
Score_Deaths | integer | Yes | |
Score_Kills | integer | Yes | |
Scurge | force | No | |
Scurge_leaderbord | leaderboard | No | |
Scurge_player | force | No | |
ScurgePlayers | force | No | |
Sentinel | force | No | |
Sentinel_leaderbord | leaderboard | No | |
Sentinel_player | force | No | |
SentinelPlayer | force | No | |
Sort_Board_By_Kills | boolean | No | |
Spawn_Ingers | integer | No | 0 |
strDebugMSG | string | No | |
temp_bHasUnitBeenStored | boolean | Yes | |
temp_CreepSpawnLoc | location | No | |
temp_CustomizedTime | integer | Yes | |
temp_MaxCustomizedArray | integer | No | |
temp_RevivingCreeps | group | No | |
temp_SecondsPerLevel | integer | No | |
Temp_target_unit | unit | No | |
temp_TimeFrequensyMAX | integer | Yes | |
Temp_TimeLeft | integer | Yes | |
temp_UnitGroup | group | No | |
temp_UnitTypes | unitcode | Yes | |
temp_UnitTypes_ForTime | unitcode | Yes | |
TempInteger | integer | No | |
TempPoint1 | location | No | |
TempPoint2 | location | No | |
TempPoint3 | location | No | |
TempPoint4 | location | No | |
X | real | Yes | |
Y | real | Yes | |
zz_bDisableRanges | boolean | No | |
zz_bDisableSameTime | boolean | No | |
zz_bGlove | boolean | Yes | |
zz_bHelmet | boolean | Yes | |
zz_blsThereHero | boolean | No | |
zz_bRing | boolean | Yes | |
zz_bShield | boolean | Yes | |
zz_bStaff | boolean | Yes | |
zz_bSword | boolean | Yes | |
zz_DamageTextTime | real | No | |
zz_Experiance | real | No | |
zz_ExperianceFloatingTextTime | real | No | |
zz_ExperiancePerLevel | real | No | |
zz_ExstraXPForKiler | real | No | |
zz_ExstraXPForOther | real | No | |
zz_FinalExpiriance | real | No | |
zz_FinalOtherExpirience | real | No | |
zz_Hero | group | No | |
zz_HeroAllies | group | No | |
zz_HeroAlliesAmount | integer | No | |
zz_HeroKillerLoc | location | No | |
zz_IngerItemClassCheck | integer | No | |
zz_Item | itemcode | Yes | |
zz_ItemCreepLevel | integer | Yes | |
zz_ItemPercentInPool | real | Yes | |
zz_ItemPool | itemcode | Yes | |
zz_ItemPool_ID | integer | No | |
zz_MaxRangeOfExp | real | No | |
zz_NumOfItems | integer | No | |
zz_OtherExpirience | real | No | |
zz_PrecentOfDroping | real | Yes | |
zz_RandomItem | integer | No | |
zz_SpellTextTime | real | No | |
zz_TimeCreeps | integer | No | |
zz_TimeRange | integer | Yes | |
zz_TreeRevivalInterval | real | No | |
zzConvertRealToInger | integer | Yes | |
zzStr_ExpirienceTag | string | No |
function DestRespawnActions takes nothing returns nothing
local destructable d = GetDyingDestructable()
call TriggerSleepAction( 15 )
call DestructableRestoreLife(d,GetDestructableMaxLife(d),true)
set d = null
endfunction
function DestRespawnAddEvents takes nothing returns nothing
call TriggerRegisterDeathEvent( gg_trg_Destructable_Revival_System, GetEnumDestructable() )
endfunction
function DestRespawnSetup takes nothing returns nothing
call EnumDestructablesInRectAll( GetEntireMapRect(), function DestRespawnAddEvents )
endfunction
//===========================================================================
function InitTrig_Destructable_Revival_System takes nothing returns nothing
set gg_trg_Destructable_Revival_System = CreateTrigger( )
call TriggerAddAction( gg_trg_Destructable_Revival_System, function DestRespawnActions )
call DestRespawnSetup()
endfunction
///////////////////////////////////////////////////////////////////////////////
// Display Damage System Resource Material //
// Editable - Yes, suggested //
///////////////////////////////////////////////////////////////////////////////
function KDDS_GetTextSize takes nothing returns real
return 8.0 // The text size of the floating text.
endfunction
function KDDS_GetZOffset takes nothing returns real
return 0.0 // The z offset if the floating text.
endfunction
function KDDS_GetLifeSpan takes nothing returns real
return 1.5 // The life span of the floating text.
endfunction
function KDDS_GetFadeTime takes nothing returns real
return 0.0 // The fade time of the floating text.
endfunction
function KDDS_GetVelocity takes nothing returns real
return 92.0 // The velocity of the floating text.
endfunction
function KDDS_GetVelocityAngle takes nothing returns real
return 90.0// The velocity angle of the floating text.
endfunction
function KDDS_GetPlayerColourString takes integer i returns string
local playercolor pc = GetPlayerColor(Player(i))
local string s
if pc == PLAYER_COLOR_RED then
set s = "|cffFF0000"
elseif pc == PLAYER_COLOR_BLUE then
set s = "|cff0000FF"
elseif pc == PLAYER_COLOR_CYAN then
set s = "|cff00FFFF"
elseif pc == PLAYER_COLOR_PURPLE then
set s = "|cff800080"
elseif pc == PLAYER_COLOR_YELLOW then
set s = "|cffFFFF00"
elseif pc == PLAYER_COLOR_ORANGE then
set s = "|cffFF8000"
elseif pc == PLAYER_COLOR_GREEN then
set s = "|cff00FF00"
elseif pc == PLAYER_COLOR_PINK then
set s = "|cffFF80C0"
elseif pc == PLAYER_COLOR_LIGHT_GRAY then
set s = "|cffC0C0C0"
elseif pc == PLAYER_COLOR_LIGHT_BLUE then
set s = "|cff8080FF"
elseif pc == PLAYER_COLOR_AQUA then
set s = "|cff008040"
elseif pc == PLAYER_COLOR_LIGHT_BLUE then
set s = "|cff804000"
else
set s = "|cff808080"
endif
set pc = null
return s
endfunction
///////////////////////////////////////////////////////////////////////////////
// Display Damage System Code //
// Editable - No, not suggested //
///////////////////////////////////////////////////////////////////////////////
function KDDS_Display takes nothing returns nothing
local unit u = GetTriggerUnit()
local real d = GetEventDamage()
local integer p = GetPlayerId(GetOwningPlayer(GetEventDamageSource()))
local string c = KDDS_GetPlayerColourString(p)
local texttag t
call CreateTextTagUnitBJ(c+I2S(R2I(d))+"|r",u, KDDS_GetZOffset(),KDDS_GetTextSize(), 100, 100, 100, 0 )
set t = GetLastCreatedTextTag()
call SetTextTagPermanentBJ( t, false )
call SetTextTagLifespanBJ( t, KDDS_GetLifeSpan() )
call SetTextTagFadepointBJ( t, KDDS_GetFadeTime() )
call SetTextTagVelocityBJ( t, KDDS_GetVelocity(), KDDS_GetVelocityAngle() )
set u = null
set d = 0
set p = 0
set c = ""
set t = null
endfunction
function KDDS_RegisterUnit takes unit u returns nothing
call TriggerRegisterUnitEvent( gg_trg_Display_Damage_System, u, EVENT_UNIT_DAMAGED )
endfunction
function KDDS_SetUp takes nothing returns nothing
local group g = CreateGroup()
local unit u
set g = GetUnitsInRectAll(GetPlayableMapRect())
loop
set u = FirstOfGroup(g)
exitwhen u == null
call KDDS_RegisterUnit(u)
call GroupRemoveUnit(g, u)
endloop
set g = null
endfunction
///////////////////////////////////////////////////////////////////////////////
// End of Display Damage System Code //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Trigger Code //
///////////////////////////////////////////////////////////////////////////////
//===========================================================================
function InitTrig_Display_Damage_System takes nothing returns nothing
set gg_trg_Display_Damage_System = CreateTrigger( )
call TriggerAddAction( gg_trg_Display_Damage_System, function KDDS_Display )
call KDDS_SetUp()
endfunction
function Trig_Combine_Items_Conditions takes nothing returns boolean
if ( not ( GetItemCharges(GetManipulatedItem()) > 0 ) ) then
return false
endif
if ( not ( udg_Combine_Charged_Items == true ) ) then
return false
endif
return true
endfunction
function Trig_Combine_Items_Actions takes nothing returns nothing
local integer ITEMCOUNT
local integer ITEMLOOP
local integer CHARGES
local integer MAXIMUM
local item NEWITEM
local unit OURUNIT
set MAXIMUM = udg_Combine_Charges_Max
set ITEMCOUNT = 0
set ITEMLOOP = 0
set CHARGES = 0
set NEWITEM = GetManipulatedItem()
set OURUNIT = GetManipulatingUnit()
loop
exitwhen ITEMLOOP > 6
if ((GetItemTypeId(NEWITEM)) == (GetItemTypeId(UnitItemInSlotBJ(OURUNIT, ITEMLOOP)))) then
if ((GetItemCharges(UnitItemInSlotBJ(OURUNIT, ITEMLOOP)) + GetItemCharges(NEWITEM)) <= MAXIMUM) then
if not ( (UnitItemInSlotBJ(OURUNIT, ITEMLOOP)) == (NEWITEM)) then
set CHARGES = (GetItemCharges(UnitItemInSlotBJ(OURUNIT, ITEMLOOP))) + GetItemCharges(NEWITEM)
call SetItemCharges( UnitItemInSlotBJ(OURUNIT, ITEMLOOP), CHARGES )
call RemoveItem( NEWITEM )
set ITEMLOOP=7
endif
endif
endif
if ( ITEMLOOP < 7 ) then
set ITEMLOOP = ITEMLOOP + 1
endif
endloop
endfunction
//===========================================================================
function InitTrig_Combine_Charged_Items takes nothing returns nothing
set gg_trg_Combine_Charged_Items = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Combine_Charged_Items, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_Combine_Charged_Items, Condition( function Trig_Combine_Items_Conditions ) )
call TriggerAddAction( gg_trg_Combine_Charged_Items, function Trig_Combine_Items_Actions )
endfunction
function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing
endfunction
//===========================================================================
function InitTrig_Stuff takes nothing returns nothing
set gg_trg_Stuff = CreateTrigger( )
call TriggerAddAction( gg_trg_Stuff, function Trig_Untitled_Trigger_001_Actions )
endfunction
// ===========================
function H2I takes handle h returns integer
return h
return 0
endfunction
// ===========================
function LocalVars takes nothing returns gamecache
if udg_SpellCache == null then
call FlushGameCache(InitGameCache("jasslocalvars.w3v"))
set udg_SpellCache = InitGameCache("jasslocalvars.w3v")
endif
return udg_SpellCache
endfunction
function SetHandleHandle takes handle subject, string name, handle value returns nothing
if value==null then
call FlushStoredInteger(LocalVars(),I2S(H2I(subject)),name)
else
call StoreInteger(LocalVars(), I2S(H2I(subject)), name, H2I(value))
endif
endfunction
function SetHandleInt takes handle subject, string name, integer value returns nothing
if value==0 then
call FlushStoredInteger(LocalVars(),I2S(H2I(subject)),name)
else
call StoreInteger(LocalVars(), I2S(H2I(subject)), name, value)
endif
endfunction
function SetHandleBoolean takes handle subject, string name, boolean value returns nothing
if value==false then
call FlushStoredBoolean(LocalVars(),I2S(H2I(subject)),name)
else
call StoreBoolean(LocalVars(), I2S(H2I(subject)), name, value)
endif
endfunction
function SetHandleReal takes handle subject, string name, real value returns nothing
if value==0 then
call FlushStoredReal(LocalVars(), I2S(H2I(subject)), name)
else
call StoreReal(LocalVars(), I2S(H2I(subject)), name, value)
endif
endfunction
function SetHandleString takes handle subject, string name, string value returns nothing
if value==null then
call FlushStoredString(LocalVars(), I2S(H2I(subject)), name)
else
call StoreString(LocalVars(), I2S(H2I(subject)), name, value)
endif
endfunction
function GetHandleHandle takes handle subject, string name returns handle
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
function GetHandleInt takes handle subject, string name returns integer
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
endfunction
function GetHandleBoolean takes handle subject, string name returns boolean
return GetStoredBoolean(LocalVars(), I2S(H2I(subject)), name)
endfunction
function GetHandleReal takes handle subject, string name returns real
return GetStoredReal(LocalVars(), I2S(H2I(subject)), name)
endfunction
function GetHandleString takes handle subject, string name returns string
return GetStoredString(LocalVars(), I2S(H2I(subject)), name)
endfunction
function GetHandleUnit takes handle subject, string name returns unit
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
function GetHandleTimer takes handle subject, string name returns timer
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
function GetHandleTrigger takes handle subject, string name returns trigger
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
function GetHandleEffect takes handle subject, string name returns effect
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
function GetHandleGroup takes handle subject, string name returns group
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
function GetHandleLightning takes handle subject, string name returns lightning
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
function GetHandleWidget takes handle subject, string name returns widget
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
function FlushHandleLocals takes handle subject returns nothing
call FlushStoredMission(LocalVars(), I2S(H2I(subject)) )
endfunction
function AnyUnitTakesDamage takes nothing returns nothing
call ConditionalTriggerExecute( gg_trg_DamageTextSystem )
endfunction
// part 1
function AddDamageTriggers takes nothing returns nothing
local trigger takedamage = CreateTrigger()
call TriggerRegisterUnitEvent(takedamage,GetTriggerUnit(),EVENT_UNIT_DAMAGED)
call AttachObject(takedamage,"action",TriggerAddAction(takedamage,function AnyUnitTakesDamage))
call AttachObject(GetTriggerUnit(),"TakeDamageTrigger",takedamage)
endfunction
// part 2
function RemoveDamageTriggers takes nothing returns nothing
local unit u = GetTriggerUnit()
local trigger me = GetAttachedTrigger(GetTriggerUnit(),"TakeDamageTrigger")
local string t = GetAttachmentTable(me)
local boolean revived = false
if not IsUnitType(u,UNIT_TYPE_HERO) then
loop
set revived = (GetWidgetLife(u)>0.405)
exitwhen revived or GetUnitTypeId(u)==0
call TriggerSleepAction(0)
endloop
endif
if not revived then
// delete action and trigger
call TriggerRemoveAction(me,GetTableTriggerAction(t,"action"))
call DestroyTable(t)
call DestroyTrigger(me)
endif
set me = null
set u = null
endfunction
// part 3
function InitTrig_AddDmg takes nothing returns nothing
local trigger entermap = CreateTrigger()
local group startingunits = CreateGroup()
local unit u
local trigger takedamage
local trigger upondeath = CreateTrigger()
call GroupEnumUnitsInRect(startingunits,bj_mapInitialPlayableArea,null)
loop
set u = FirstOfGroup(startingunits)
exitwhen u == null
set takedamage = CreateTrigger()
call TriggerRegisterUnitEvent(takedamage,u,EVENT_UNIT_DAMAGED)
call AttachObject(takedamage,"action",TriggerAddAction(takedamage,function AnyUnitTakesDamage))
call AttachObject(u,"TakeDamageTrigger",takedamage)
call GroupRemoveUnit(startingunits,u)
endloop
set takedamage = null
// unit enters the map/revives
call TriggerRegisterAnyUnitEventBJ(entermap ,EVENT_PLAYER_HERO_REVIVE_FINISH)
call TriggerRegisterEnterRectSimple(entermap, bj_mapInitialPlayableArea)
call TriggerAddAction(entermap,function AddDamageTriggers)
// unit dies
call TriggerRegisterAnyUnitEventBJ(upondeath,EVENT_PLAYER_UNIT_DEATH)
call TriggerAddAction(upondeath,function RemoveDamageTriggers)
endfunction