Login
Register
Menu
Home
Forum
JassDoc
Types
Functions
Variables
Help
Chat
Media
Search
Search posts
WC3 Modding Information Center
For your WC3 needs...
WC3 Modding Information Center
Forum
Warcraft (WC3) Modding
Warcraft III Resources
Warcraft III Spells and Systems
Bags System
Warcraft III:
Maps
Models
Skins
Icons
Spells / Systems
Tools
Tutorials
Snippets
JASS vJASS Spells and Systems
Tutorials
Chat @Discord
vJASS & Zinc Documentation
For the latest documentation about how it works vJASS and Zinc language layers for Warcraft III, please follow these links:
Jasshelper documentation
-
Zinc documentation
-
WC3 Optimizer documentation
Bags System
Warcraft III Spells and Systems
Started by
Guest
Views
1892
Replies
0
Users
1
1
Pages:
1
Go Down
0 Members and 1 Guest are viewing this topic.
Rating
Average Score
- 5 / 5
«
Created: December 18, 2017, 07:04:32 AM by moyack
»
ashujon
Lurker - level 3
Posts:
4
WC3 Models: 0
WC3 Tutorials: 0
WC3 Tools: 0
WC3 Maps: 0
WC3 Skins: 0
WC3 Icons: 0
WC3 Spells: 0
Reputation:
0
User
Bags System
on:
August 21, 2011, 07:41:28 AM
Categories:
Pack, System, vJASS
Rating:
5
DOWNLOAD
«
Created: December 18, 2017, 07:06:05 AM by moyack
»
«
Last Edit: January 28, 2018, 09:11:41 AM by moyack
»
Related Topics or Resources
DGUI
by
ashujon
Math
by
ashujon
Camera
by
ashujon
The Jass NewGen Pack (JNGP) 2.0
by
moyack
Used DGUI system
in description there is variable - laziness to fix
All is written on vjass
3 libs: Math, Camera, DGUI
and DataBase Item + Bags System as follows:
Code: jass
library
DataBaseBags
initializer
InventoryInitDB
globals
private
gamecache
gcbag =
InitGameCache
(
"BagsSystem.w3v"
)
integer
TypeTextureBlank =
'dbnk'
endglobals
function
GetItemTexture
takes
integer
typeitem
returns
integer
local
string
hi =
I2S
(typeitem)
local
string
tex
if
HaveStoredString
(gcbag,
"Texture"
, hi)
then
set
tex =
GetStoredString
(gcbag,
"Texture"
, hi)
if
HaveStoredInteger
(gcbag,
"IconDest"
, tex)
then
return
GetStoredInteger
(gcbag,
"IconDest"
, tex)
endif
endif
return
TypeTextureBlank
endfunction
function
GetItemCost
takes
integer
typeitem
returns
integer
local
string
hi =
I2S
(typeitem)
if
HaveStoredInteger
(gcbag,
"Cost"
, hi)
then
return
GetStoredInteger
(gcbag,
"Cost"
, hi)
endif
return
-1
endfunction
function
GetItemDescription
takes
integer
typeitem
returns
string
local
string
hi =
I2S
(typeitem)
if
HaveStoredString
(gcbag,
"Description"
, hi)
then
return
GetStoredString
(gcbag,
"Description"
, hi)
endif
return
null
endfunction
function
GetItemHasCharges
takes
integer
typeitem
returns
boolean
local
string
hi =
I2S
(typeitem)
if
HaveStoredBoolean
(gcbag,
"Charge"
, hi)
then
return
GetStoredBoolean
(gcbag,
"Charge"
, hi)
endif
return
false
endfunction
function
InventoryInitItemDB_Func
takes
integer
ItemType,
string
Texture,
string
Description,
integer
Cost,
boolean
Charge
returns
nothing
local
string
ItemTypeStr =
I2S
(ItemType)
call
StoreString
(gcbag,
"Texture"
, ItemTypeStr, Texture)
call
StoreString
(gcbag,
"Description"
, ItemTypeStr, Description)
call
StoreInteger
(gcbag,
"Cost"
, ItemTypeStr, Cost)
call
StoreBoolean
(gcbag,
"Charge"
, ItemTypeStr, Charge)
endfunction
function
InventoryInitDestDB_Func
takes
integer
TypeDest,
string
Texture
returns
nothing
call
StoreInteger
(gcbag,
"IconDest"
, Texture, TypeDest)
endfunction
function
InventoryInitIconDB_Func
takes
integer
TypeUnit,
string
Texture
returns
nothing
call
StoreString
(gcbag,
"Texture"
,
I2S
(TypeUnit), Texture)
endfunction
private
function
InventoryInitDB
takes
nothing
returns
nothing
//---------------------------------------------------------------------------------------------------+
// |
// Item |
// |
//---------------------------------------------------------------------------------------------------+
//__________
call
InventoryInitItemDB_Func(
'afac'
,
"BTNAlleriaFlute.blp"
,
"Increases nearby ranged units' damage by <AIar,DataA1,%>%. |nDoes not stack with Trueshot Aura."
, 400,
false
)
call
InventoryInitItemDB_Func(
'spsh'
,
"BTNSpellShieldAmulet.blp"
,
"Blocks a negative spell that an enemy casts on the Hero once every <ANss,Cool1> seconds."
, 400,
false
)
call
InventoryInitItemDB_Func(
'ajen'
,
"BTNJanggo.blp"
,
"Grants the Hero and friendly nearby units increased attack rate and movement speed. |nDoes not stack with Endurance Aura."
, 500,
false
)
call
InventoryInitItemDB_Func(
'bgst'
,
"BTNBelt.blp"
,
"Increases the Strength of the Hero by 6 when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'belv'
,
"BTNBoots.blp"
,
"Increases the Agility of the Hero by 6 when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'bspd'
,
"BTNBootsOfSpeed.blp"
,
"Increases the movement speed of the Hero when worn."
, 150,
false
)
call
InventoryInitItemDB_Func(
'cnob'
,
"BTNCirclet.blp"
,
"Increases the Strength, Agility and Intelligence of the Hero by 2 when worn."
, 175,
false
)
call
InventoryInitItemDB_Func(
'ratc'
,
"BTNClawsOfAttack.blp"
,
"Increases the attack damage of the Hero by 12 when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'rat6'
,
"BTNClawsOfAttack.blp"
,
"Increases the attack damage of the Hero by 6 when worn."
, 100,
false
)
call
InventoryInitItemDB_Func(
'rat9'
,
"BTNClawsOfAttack.blp"
,
"Increases the attack damage of the Hero by 9 when worn."
, 400,
false
)
call
InventoryInitItemDB_Func(
'clfm'
,
"BTNCloakOfFlames.blp"
,
"Engulfs the Hero in fire which deals <AIcf,DataA1> damage per second to nearby enemy land units. |nDoes not stack with Immolation."
, 600,
false
)
call
InventoryInitItemDB_Func(
'clsd'
,
"BTNCloak.blp"
,
"Provides the Hero with invisibility at night when worn. An invisible Hero is untargetable by the enemy unless detected. If the Hero moves, attacks, uses an ability, or casts a spell, the invisibility effect is lost."
, 100,
false
)
call
InventoryInitItemDB_Func(
'crys'
,
"BTNCrystalBall.blp"
,
"Reveals a targeted area. Invisible units are also revealed by the Crystal Ball's effect. |nLasts <AIta,Dur1> seconds."
, 500,
false
)
call
InventoryInitItemDB_Func(
'dsum'
,
"BTNDarkSummoning.blp"
,
"Teleports <AUds,DataA1> of the player's units within the targeted area to the location of the Hero when used."
, 400,
false
)
call
InventoryInitItemDB_Func(
'lgdh'
,
"BTNHornOfDoom.blp"
,
"Grants the Hero and friendly nearby units increased life regeneration and movement speed. |nDoes not stack with Unholy Aura."
, 400,
false
)
call
InventoryInitItemDB_Func(
'hval'
,
"BTNHelmOfValor.blp"
,
"Increases the Strength and Agility of the Hero by 4 when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'rst1'
,
"BTNGauntletsOfOgrePower.blp"
,
"Increases the Strength of the Hero by 3 when worn."
, 100,
false
)
call
InventoryInitItemDB_Func(
'gcel'
,
"BTNGlove.blp"
,
"Increases the attack speed of the Hero by <AIsx,DataA1,%>% when worn."
, 100,
false
)
call
InventoryInitItemDB_Func(
'hcun'
,
"BTNHoodOfCunning.blp"
,
"Increases the Agility and Intelligence of the Hero by 4 when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'rhth'
,
"BTNPeriapt1.blp"
,
"Increases the hit points of the Hero by <AIl2,DataA1> when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'kpin'
,
"BTNPipeOfInsight.blp"
,
"Grants the Hero and friendly nearby units a bonus to mana regeneration. |nDoes not stack with Brilliance Aura."
, 500,
false
)
call
InventoryInitItemDB_Func(
'rin1'
,
"BTNMantleOfIntelligence.blp"
,
"Increases the Intelligence of the Hero by 3 when worn."
, 100,
false
)
call
InventoryInitItemDB_Func(
'mcou'
,
"BTNMedalionOfCourage.blp"
,
"Increases the Strength and Intelligence of the Hero by 4 when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'odef'
,
"BTNOrbOfDarkness.blp"
,
"Adds <AIdf,DataA1> bonus damage to the attack of a Hero when carried. The Hero's attack also becomes ranged when attacking air and will create a Dark Minion when it is the killing blow on an enemy unit. The Dark Minion lasts <ANbs,DataC1> seconds."
, 500,
false
)
call
InventoryInitItemDB_Func(
'penr'
,
"BTNPendantOfEnergy.blp"
,
"Increases the mana capacity of the Hero by <AImb,DataA1> when worn."
, 400 ,
false
)
call
InventoryInitItemDB_Func(
'pmna'
,
"BTNPendantOfMana.blp"
,
"Increases the mana capacity of the Hero by <AIbm,DataA1> when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'prvt'
,
"BTNPeriapt.blp"
,
"Increases the hit points of the Hero by <AIlf,DataA1> when worn."
, 350,
false
)
call
InventoryInitItemDB_Func(
'rde1'
,
"BTNRingGreen.blp"
,
"Increases the armor of the Hero by 2 when worn."
, 150,
false
)
call
InventoryInitItemDB_Func(
'rde2'
,
"BTNRingGreen.blp"
,
"Increases the armor of the Hero by 3 when worn."
, 400,
false
)
call
InventoryInitItemDB_Func(
'rde3'
,
"BTNRingGreen.blp"
,
"Increases the armor of the Hero by 4 when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'rlif'
,
"BTNRingSkull.blp"
,
"Increases the Hero's hit point regeneration by <Arel,DataA1> hit points per second."
, 200,
false
)
call
InventoryInitItemDB_Func(
'ciri'
,
"BTNRobeOfTheMagi.blp"
,
"Increases the Intelligence of the Hero by 6 when worn."
, 500,
false
)
call
InventoryInitItemDB_Func(
'brac'
,
"BTNRunedBracers.blp"
,
"Reduces Magic damage dealt to the Hero by <AIsr,DataB1,%>%."
, 400,
false
)
call
InventoryInitItemDB_Func(
'sbch'
,
"BTNBoneChimes.blp"
,
"Grants a melee Hero and friendly nearby melee units life stealing attacks which take <AIav,DataA1,%>% of the damage they deal and convert it into life. |nDoes not stack with Vampiric Aura."
, 450,
false
)
call
InventoryInitItemDB_Func(
'rag1'
,
"BTNSlippersOfAgility.blp"
,
"Increases the Agility of the Hero by 3 when worn."
, 100,
false
)
call
InventoryInitItemDB_Func(
'rwiz'
,
"BTNSobiMask.blp"
,
"Increases the Hero's rate of mana regeneration by <AIrm,DataA1,%>% when worn."
, 400,
false
)
call
InventoryInitItemDB_Func(
'ssil'
,
"BTNStaffOfSilence.blp"
,
"Stops all enemies in a target area from casting spells."
, 500,
false
)
call
InventoryInitItemDB_Func(
'stel'
,
"BTNStaffOfTeleportation.blp"
,
"Teleports the Hero to the targeted allied land unit or structure."
, 100,
false
)
call
InventoryInitItemDB_Func(
'evtl'
,
"BTNTalisman.blp"
,
"Causes attacks against the wearer to miss <AIev,DataA1,%>% of the time. |nDoes not stack with Evasion or Drunken Brawler."
, 400,
false
)
call
InventoryInitItemDB_Func(
'lhst'
,
"BTNLionHorn.blp"
,
"Grants the Hero and friendly nearby units <AIad,DataA1> bonus armor. |nDoes not stack with Devotion Aura."
, 400,
false
)
call
InventoryInitItemDB_Func(
'ward'
,
"BTNDrum.blp"
,
"Increases the attack damage of nearby friendly units by <AIcd,DataA1,%>% when worn. |nDoes not stack with Command Aura."
, 500,
false
)
//_______ ______
call
InventoryInitItemDB_Func(
'wild'
,
"BTNAmuletOftheWild.blp"
,
"Summons a Furbolg Warrior. The Furbolg lasts <AIuw,Dur1> seconds."
, 750,
true
)
call
InventoryInitItemDB_Func(
'ankh'
,
"BTNAnkh.blp"
,
"Automatically brings the Hero back to life with <AIrc,DataB1> hit points when the Hero wearing the Ankh dies."
, 800,
true
)
call
InventoryInitItemDB_Func(
'fgsk'
,
"BTNBookOfTheDead.blp"
,
"Summons <AIfs,DataA1> Skeleton Warriors and <AIfs,DataB1> Skeleton Archers to fight for you. |nLasts <AIfs,Dur1> seconds."
, 450,
true
)
call
InventoryInitItemDB_Func(
'fgdg'
,
"BTNDoomGuard.blp"
,
"Summons a Doom Guard to fight for you. |nLasts <AIfu,Dur1> seconds."
, 750,
true
)
call
InventoryInitItemDB_Func(
'whwd'
,
"BTNHealingWard.blp"
,
"Drops a ward that heals nearby friendly units for <Ahwd,Dur1> seconds. |nContains <whwd,uses> charges."
, 600,
true
)
call
InventoryInitItemDB_Func(
'hlst'
,
"BTNHealthStone.blp"
,
"Increases the life regeneration rate of the Hero by <Arll,DataA1> hit points per second when worn. Can be consumed for <AIh2,DataA1> health."
, 450,
true
)
call
InventoryInitItemDB_Func(
'shar'
,
"BTNIceShard.blp"
,
"Summons an Ice Revenant. The Ice Revenant lasts <AIir,Dur1> seconds."
, 750,
true
)
call
InventoryInitItemDB_Func(
'infs'
,
"BTNInfernalStone.blp"
,
"Calls an Infernal down from the sky, dealing <AIin,DataA1> damage and stunning enemy land units for <AIin,Dur1> seconds in an area. The Infernal lasts <AIin,DataB1> seconds."
, 750,
true
)
call
InventoryInitItemDB_Func(
'mnst'
,
"BTNManaStone.blp"
,
"Increases the mana regeneration rate of the Hero by <AIrn,DataA1,%>% when worn. Can be consumed for <AIm2,DataA1> mana."
, 450,
true
)
call
InventoryInitItemDB_Func(
'pdiv'
,
"BTNPotionOfDivinity.blp"
,
"Turns the Hero invulnerable for <AIdv,Dur1> seconds."
, 600,
true
)
call
InventoryInitItemDB_Func(
'pghe'
,
"BTNPotionGreen.blp"
,
"Heals <AIh2,DataA1> hit points when used."
, 400,
true
)
call
InventoryInitItemDB_Func(
'pgma'
,
"BTNPotionBlueBig.blp"
,
"Restores <AIm2,DataA1> mana when used."
, 400,
true
)
call
InventoryInitItemDB_Func(
'pnvu'
,
"BTNGreaterInvulneralbility.blp"
,
"Makes the Hero invulnerable to damage for <AIvu,Dur1> seconds when used. An invulnerable Hero may not be the target of spells or effects."
, 400,
true
)
call
InventoryInitItemDB_Func(
'pomn'
,
"BTNPotionOfOmniscience.blp"
,
"Reveals the entire map for <AIrv,Dur1> seconds when used."
, 400,
true
)
call
InventoryInitItemDB_Func(
'pres'
,
"BTNPotionOfRestoration.blp"
,
"Restores <AIre,DataA1> hit points and <AIre,DataB1> mana of the Hero when used."
, 600,
true
)
call
InventoryInitItemDB_Func(
'fgrd'
,
"BTNRedDragon.blp"
,
"Summons a Red Drake to fight for you. |nLasts <AIfd,Dur1> seconds."
, 450,
true
)
call
InventoryInitItemDB_Func(
'rej3'
,
"BTNRejuvPotion.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates <AIp3,DataA1> hit points and <AIp3,DataB1> mana of the Hero over <AIp3,Dur1> seconds."
, 400,
true
)
call
InventoryInitItemDB_Func(
'sand'
,
"BTNSnazzyScrollPurple.blp"
,
"Raises <AIan,DataA1> nearby dead units to fight for <AIan,Dur1> seconds."
, 750,
true
)
call
InventoryInitItemDB_Func(
'sres'
,
"BTNScrollOfHealing.blp"
,
"Restores <AIra,DataA1> hit points and <AIra,DataB1> mana of friendly non-mechanical units in an area around your Hero."
, 750,
true
)
call
InventoryInitItemDB_Func(
'srrc'
,
"BTNSnazzyScroll.blp"
,
"Brings <AIrs,DataA1> of your nearby dead units back to life."
, 750,
true
)
call
InventoryInitItemDB_Func(
'sror'
,
"BTNSnazzyScrollGreen.blp"
,
"Gives friendly nearby units a <AIrr,DataA1,%>% bonus to damage for <AIrr,Dur1> seconds."
, 400,
true
)
call
InventoryInitItemDB_Func(
'wswd'
,
"BTNSentryWard.blp"
,
"Drops a Sentry Ward to spy upon an area for <AIsw,Dur1> seconds. |nContains <wswd,uses> charges."
, 150,
true
)
call
InventoryInitItemDB_Func(
'fgfh'
,
"BTNFelHound.blp"
,
"Summons a Fel Stalker to fight for you. |nLasts <AIfh,Dur1> seconds."
, 450,
true
)
call
InventoryInitItemDB_Func(
'fgrg'
,
"BTNRockGolem.blp"
,
"Summons a Rock Golem to fight for you. |nLasts <AIfr,Dur1> seconds."
, 450,
true
)
call
InventoryInitItemDB_Func(
'totw'
,
"BTNStone.blp"
,
"This mystic stone summons a Furbolg to fight for you. |nContains <totw,uses> charges. |nLasts <AIff,Dur1> seconds."
, 450,
true
)
call
InventoryInitItemDB_Func(
'will'
,
"BTNWand.blp"
,
"Create an illusory double of the targeted unit when used. The illusory double deals no damage to enemy units, takes <AIil,DataB1> times the damage from enemy attacks, and will disappear after <AIil,Dur1> seconds or when its hit points reach zero. |nContains <will,uses> charges."
, 150,
true
)
call
InventoryInitItemDB_Func(
'wlsd'
,
"BTNStarWand.blp"
,
"Allows the Hero to cast Lightning Shield on a target unit. Lightning Shield surrounds a unit with electricity, dealing <AIls,DataA1> damage per second to nearby units. |nContains <wlsd,uses> charges. |nLasts <AIls,Dur1> seconds."
, 150,
true
)
call
InventoryInitItemDB_Func(
'woms'
,
"BTNWandOfManaSteal.blp"
,
"Steals mana from a target unit and gives it to the Hero. |nContains <woms,uses> charges."
, 400,
true
)
call
InventoryInitItemDB_Func(
'wshs'
,
"BTNWandOfShadowSight.blp"
,
"Gives the player vision of a target unit until that unit is dispelled. |nContains <wshs,uses> charges."
, 150,
true
)
call
InventoryInitItemDB_Func(
'wcyc'
,
"BTNWandOfCyclone.blp"
,
"Allows the Hero to cast Cyclone. Cyclone tosses a target enemy unit into the air, rendering it unable to attack, move or cast spells. |nContains <wcyc,uses> charges. |nLasts <AIcy,Dur1> seconds."
, 450,
true
)
//___________
//_________
call
InventoryInitItemDB_Func(
'ratf'
,
"BTNClawsOfAttack.blp"
,
"Increases the attack damage of the Hero by 15 when worn."
, 800,
false
)
call
InventoryInitItemDB_Func(
'ckng'
,
"BTNHelmutPurple.blp"
,
"Increases the Strength, Intelligence, and Agility of the Hero by 5 when worn."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'desc'
,
"BTNDaggerOfEscape.blp"
,
"Allows the Hero to teleport a short distance."
, 400,
false
)
call
InventoryInitItemDB_Func(
'modt'
,
"BTNMaskOfDeath.blp"
,
"While wearing this mask, a Hero will recover hit points equal to <AIva,DataA1,%>% of the attack damage dealt to an enemy unit."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'ofro'
,
"BTNOrbOfFrost.blp"
,
"Adds <AIob,DataA1> bonus cold damage to the attack of a Hero when carried. The Hero's attacks also become ranged when attacking air and slow the movement speed and attack rate of the enemy for <AIob,Dur1> seconds."
, 800,
false
)
call
InventoryInitItemDB_Func(
'rde4'
,
"BTNRingGreen.blp"
,
"Increases the armor of the Hero by 5 when worn."
, 800,
false
)
call
InventoryInitItemDB_Func(
'tkno'
,
"BTNTomeRed.blp"
,
"Increases the level of the Hero by <AIlm,DataA1> when used."
, 1200,
false
)
//__________ _______
call
InventoryInitItemDB_Func(
'pclr'
,
"BTNPotionOfClarity.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates the Hero's mana by <AIpr,DataB1> over <AIpr,Dur1> seconds when used."
, 160,
true
)
call
InventoryInitItemDB_Func(
'hslv'
,
"BTNHealingSalve.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates a target unit's hit points by <AIrl,DataA1> over <AIrl,Dur1> seconds when used. |nContains <hslv,uses> charges."
, 100,
true
)
call
InventoryInitItemDB_Func(
'tsct'
,
"BTNHumanWatchTower.blp"
,
"Creates a Scout Tower at a target location."
, 30,
true
)
call
InventoryInitItemDB_Func(
'plcl'
,
"BTNLesserClarityPotion.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates the Hero's mana by <AIpl,DataB1> over <AIpl,Dur1> seconds when used."
, 70,
true
)
call
InventoryInitItemDB_Func(
'mcri'
,
"BTNMechanicalCritter.blp"
,
"Creates a player-controlled critter that can be used to scout enemies."
, 50,
true
)
call
InventoryInitItemDB_Func(
'moon'
,
"BTNMoonStone.blp"
,
"Causes an eclipse that blocks out the sun and creates an artificial night. |nLasts <AIct,Dur1> seconds."
, 50,
true
)
call
InventoryInitItemDB_Func(
'phea'
,
"BTNPotionGreenSmall.blp"
,
"Heals <AIh1,DataA1> hit points when used."
, 150,
true
)
call
InventoryInitItemDB_Func(
'pinv'
,
"BTNLesserInvisibility.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRenders the Hero invisible for <AIv1,Dur1> seconds when used. An invisible Hero is untargetable by the enemy unless detected. If the Hero attacks, uses an ability, or casts a spell, the invisibility effect is lost."
, 100,
true
)
call
InventoryInitItemDB_Func(
'pnvl'
,
"BTNLesserInvulneralbility.blp"
,
"Makes the Hero invulnerable to damage for <AIvl,Dur1> seconds when used. An invulnerable Hero may not be the target of spells or effects."
, 150,
true
)
call
InventoryInitItemDB_Func(
'rnec'
,
"BTNRodOfNecromancy.blp"
,
"Creates two Skeleton Warriors from a corpse. |nContains <rnec,uses> charges."
, 150,
true
)
call
InventoryInitItemDB_Func(
'pman'
,
"BTNPotionBlueSmall.blp"
,
"Restores <AIm1,DataA1> mana when used."
, 200,
true
)
call
InventoryInitItemDB_Func(
'skul'
,
"BTNSacrificialSkull.blp"
,
"Creates an area of Blight at a target location."
, 50,
true
)
call
InventoryInitItemDB_Func(
'shea'
,
"BTNScrollOfTownPortal.blp"
,
"Heals <AIha,DataA1> hit points to all friendly non-mechanical units around the Hero when used."
, 250,
true
)
call
InventoryInitItemDB_Func(
'sman'
,
"BTNScrollOfProtection.blp"
,
"Restores <AImr,DataA1> mana to all friendly units in an area around your Hero."
, 150,
true
)
call
InventoryInitItemDB_Func(
'spro'
,
"BTNScroll.blp"
,
"Increases the armor of all friendly units in an area around your Hero by <AIda,DataA1> for <AIda,Dur1> seconds."
, 150,
true
)
call
InventoryInitItemDB_Func(
'sreg'
,
"BTNScrollOfRegenerationGreen.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates the hit points of all friendly non-mechanical units in an area around your Hero by <AIsl,DataA1> over <AIsl,Dur1> seconds when used."
, 100,
true
)
call
InventoryInitItemDB_Func(
'shas'
,
"BTNScrollOfHaste.blp"
,
"Increases the movement speed of the Hero and nearby allied units to the maximum movement speed. |nLasts <AIsa,Dur1> seconds."
, 50,
true
)
call
InventoryInitItemDB_Func(
'stwp'
,
"BTNScrollUber.blp"
,
"Teleports the Hero and any of its nearby troops to a target friendly town hall."
, 350,
true
)
call
InventoryInitItemDB_Func(
'silk'
,
"BTNSpiderSilkBroach.blp"
,
"Binds a target enemy air unit in webbing, forcing the target to the ground. Webbed units can be hit as though they were land units. |nContains <silk,uses> charges."
, 50,
true
)
call
InventoryInitItemDB_Func(
'sneg'
,
"BTNStaffOfNegation.blp"
,
"Dispels all magical effects in a target area. |n|cffffcc00Deals <AIdi,DataB1> damage to summoned units.|r"
, 200,
true
)
call
InventoryInitItemDB_Func(
'ssan'
,
"BTNStaffOfSanctuary.blp"
,
"Teleports a target unit to your highest level town hall, stunning the unit and regenerating <ANsa,DataE1> hit points per second. Lasts until the unit is fully healed."
, 250,
true
)
call
InventoryInitItemDB_Func(
'tcas'
,
"BTNTinyCastle.blp"
,
"Creates a Castle at a target location."
, 800,
true
)
call
InventoryInitItemDB_Func(
'tgrh'
,
"BTNGreathall.blp"
,
"Creates a Great Hall at a target location. Human, Night Elf, and Undead players will get their racial equivalent town hall."
, 600,
true
)
call
InventoryInitItemDB_Func(
'tret'
,
"BTNTomeOfRetraining.blp"
,
"Unlearns all of the Hero's spells, allowing the Hero to learn different skills."
, 300,
true
)
call
InventoryInitItemDB_Func(
'vamp'
,
"BTNPotionOfVampirism.blp"
,
"Adds <AIpv,DataA1> bonus damage and a life-stealing attack to the Hero. |nLasts <AIpv,Dur1> seconds."
, 75,
true
)
call
InventoryInitItemDB_Func(
'wneg'
,
"BTNWandSkull.blp"
,
"Dispels all magical effects in a target area. |nContains <wneg,uses> charges. |n|cffffcc00Deals <AIdi,DataB1> damage to summoned units.|r"
, 200,
true
)
call
InventoryInitItemDB_Func(
'wneu'
,
"BTNWandOfNeutralization.blp"
,
"Hurls forth a stream of neutralizing magic that bounces up to <AIdc,DataC1> times, dispelling units in its wake. |nContains <wneu,uses> charges."
, 150,
true
)
//______ ___ ________
call
InventoryInitItemDB_Func(
'kybl'
,
"BTNBloodKey.blp"
,
"This key is covered in blood."
, 200,
false
)
call
InventoryInitItemDB_Func(
'ches'
,
"BTNCheese.blp"
,
"Cheese cheese cheese cheese!"
, 250,
false
)
call
InventoryInitItemDB_Func(
'bzbe'
,
"BTNVialEmpty.blp"
,
"A special vial adept at containing the magical healing waters of a Fountain of Life."
, 200,
false
)
call
InventoryInitItemDB_Func(
'engs'
,
"BTNEnchantedGemstone.blp"
,
"This artifact of the Kelani Magi is said to hold the power to make constructs out of pure energy. When the Kelani fell to ruin, the Razormane Quillboars were quick to scavenge and covet these beautiful and powerful objects."
, 200,
false
)
call
InventoryInitItemDB_Func(
'bzbf'
,
"BTNVialFull.blp"
,
"A special vial adept at containing the magical healing waters of a Fountain of Life."
, 200,
false
)
call
InventoryInitItemDB_Func(
'gmfr'
,
"BTNGem.blp"
,
"A fragment of a gem from a powerful ring."
, 200,
false
)
call
InventoryInitItemDB_Func(
'ledg'
,
"BTNSorceressMaster.blp"
,
"This Ledger looks to be full of boring facts and figures."
, 200,
false
)
call
InventoryInitItemDB_Func(
'kygh'
,
"BTNGhostKey.blp"
,
"This key is rather insubstantial."
, 200,
false
)
call
InventoryInitItemDB_Func(
'gopr'
,
"BTNGlyph.blp"
,
"Created by ancient druids, this glyph has the power to heal the land."
, 250,
false
)
call
InventoryInitItemDB_Func(
'azhr'
,
"BTNHeartOfAszune.blp"
,
"Legends say that the imprisoned spirit of Aszune seeks out her heart to this very day."
, 200,
false
)
call
InventoryInitItemDB_Func(
'cnhn'
,
"BTNHornOfCenarius.blp"
,
"This ancient relic of the Night Elves is said to hold the power to call the spirits of all Night Elves. It imbues its owner with <AIl1,DataA1> hit points, and a <Arel,DataA1> hit point per second regeneration bonus."
, 200,
false
)
call
InventoryInitItemDB_Func(
'dkfw'
,
"BTNBarrel.blp"
,
"A keg filled to the brim with the strongest drink available this side of Khaz Modan!"
, 200,
false
)
call
InventoryInitItemDB_Func(
'k3m3'
,
"BTN3M3.blp"
,
"Cut from the sapphire Body of Enulaia, it opens the soul of the Gate Keeper."
, 200,
false
)
call
InventoryInitItemDB_Func(
'mgtk'
,
"BTNBlood&GhostKey.blp"
,
"This magical chain of keys can open many doors."
, 200,
false
)
call
InventoryInitItemDB_Func(
'mort'
,
"BTNSpy.blp"
,
"The letter is magically sealed. On the front, written in large scrawling letters is the word Thrall."
, 200,
false
)
call
InventoryInitItemDB_Func(
'kymn'
,
"BTNMoonKey.blp"
,
"This key glows faintly."
, 200,
false
)
call
InventoryInitItemDB_Func(
'k3m1'
,
"BTN3M1.blp"
,
"Cut from the emerald Eye of Jennala, it opens the mind of the Gate Keeper."
, 200,
false
)
call
InventoryInitItemDB_Func(
'jpnt'
,
"BTNScrollOfProtection.blp"
,
"A note from Thrall, for Jaina Proudmoore."
, 200,
false
)
call
InventoryInitItemDB_Func(
'k3m2'
,
"BTN3M2.blp"
,
"Cut from the amethyst Stone of Hannalee, it opens the heart of the Gate Keeper."
, 200,
false
)
call
InventoryInitItemDB_Func(
'phlt'
,
"BTNUndeadShrine.blp"
,
"There is no phatter lewt than this."
, 500,
false
)
call
InventoryInitItemDB_Func(
'sclp'
,
"BTNSelectHeroOn.blp"
,
"Unlocks a secret level!"
, 75,
false
)
call
InventoryInitItemDB_Func(
'sorf'
,
"BTNOrbOfDarkness.blp"
,
"A fragment of a powerful artifact."
, 200,
false
)
call
InventoryInitItemDB_Func(
'shwd'
,
"BTNShimmerWeed.blp"
,
"Wondrous plant said to have miraculous mind-expanding properties."
, 200,
false
)
call
InventoryInitItemDB_Func(
'skrt'
,
"BTNOrbOfCorruption.blp"
,
"This ancient artifact entraps the souls of those who die violently, forcing them to relive the last moments of their lives for eternity."
, 250,
false
)
call
InventoryInitItemDB_Func(
'glsk'
,
"BTNGuldanSkull.blp"
,
"Once a powerful user of Demonic magics, the Demons answered his calls, and found a greater use for his head."
, 200,
false
)
call
InventoryInitItemDB_Func(
'kysn'
,
"BTNSunKey.blp"
,
"This key glows brightly."
, 200,
false
)
call
InventoryInitItemDB_Func(
'sehr'
,
"BTNHeartOfSearinox.blp"
,
"The still beating heart of Searinox can be used to imbue an Orb with the fiery powers of a Dragon."
, 200,
false
)
call
InventoryInitItemDB_Func(
'thle'
,
"BTNThunderLizardEgg.blp"
,
"This massive egg will not hatch without a parent to warm it."
, 200,
false
)
call
InventoryInitItemDB_Func(
'dphe'
,
"BTNThunderLizardEgg.blp"
,
"A rare egg of a Thunder Hawk."
, 200,
false
)
call
InventoryInitItemDB_Func(
'dthb'
,
"BTNManaFlareOff.blp"
,
"An exotic plant well known for its unstable and dangerous properties."
, 200,
false
)
call
InventoryInitItemDB_Func(
'ktrm'
,
"BTNUrnOfKelThuzad.blp"
,
"Formerly the container of King Terenas' ashes, this magically enchanted Urn was chosen by Tichondrius to preserve Kel'Thuzad's remains."
, 200,
false
)
call
InventoryInitItemDB_Func(
'wtlg'
,
"BTNWirtsLeg.blp"
,
"Could it be that a portal opened up and expelled the remains of our dearest pal from the world of Diablo to here? If so, was it a player, or a Demon? Just how many worlds have the Burning Legion conquered? Could the Demons of the Burning Legion and those of Sanctuary be one and the same? The mind wobbles."
, 200,
false
)
call
InventoryInitItemDB_Func(
'wolg'
,
"BTNWirtsOtherLeg.blp"
,
"Perhaps the overzealous adventurer pried this off before his journey here thinking it might give him one last opportunity at bovine slaughter. Little did he know where it would lead him."
, 200,
false
)
//_____
call
InventoryInitItemDB_Func(
'amrc'
,
"BTNAmulet.blp"
,
"Teleports <AIrt,DataA1> of the player's units within the targeted area to the location of the Hero when used."
, 250,
true
)
call
InventoryInitItemDB_Func(
'axas'
,
"BTNWitchDoctorMaster.blp"
,
"|cffff8c00Artifact|r|nSummons <AIsh,DataB1> Troll Berserkers to fight for you. Also grants the Hero and friendly nearby units increased attack rate and movement speed.|n|cffffcc00History|r|n|cffffdeadNames of generations of Witch Doctors are carved into this staff. The wielder can call upon them for wisdom and guidance in times of peril.|r"
, 3000,
false
)
call
InventoryInitItemDB_Func(
'anfg'
,
"BTNClayFigurine.blp"
,
"Increases the Intelligence of the Hero by 1 when carried."
, 150,
false
)
call
InventoryInitItemDB_Func(
'pams'
,
"BTNSnazzyPotion.blp"
,
"Gives the Hero immunity to magical spells for <AIxs,Dur1> seconds."
, 100,
true
)
call
InventoryInitItemDB_Func(
'arsc'
,
"BTNBansheeAdept.blp"
,
"A powerful scroll that restores <AIha,DataA1> hit points, <AImr,DataA1> mana, and grants <AIda,DataA1> bonus armor to nearby friendly units."
, 1000,
true
)
call
InventoryInitItemDB_Func(
'arsh'
,
"BTNArcaniteArmor.blp"
,
"Reduces damage from ranged attacks to <AIdd,DataA1,%>%. Also increases the Hero's armor by <AId5,DataA1> when worn."
, 3500,
false
)
call
InventoryInitItemDB_Func(
'asbl'
,
"BTNDaggerOfEscape.blp"
,
"Adds <AItj,DataA1> bonus damage to the attack of the Hero when carried. The Hero's attacks also deal <AIsz,DataA1> damage per second, and slow the movement speed and attack rate of the enemy."
, 2000,
false
)
call
InventoryInitItemDB_Func(
'btst'
,
"BTNOrcBattleStandard.blp"
,
"The Battle Standard of Thrall's Orcs, carry it with pride."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'blba'
,
"BTNArmorGolem.blp"
,
"Grants nearby units <AIad,DataA1> bonus defense. Enhances the Hero's armor by <AId7,DataA1>."
, 3500,
false
)
call
InventoryInitItemDB_Func(
'bfhr'
,
"BTNPhilosophersStone.blp"
,
"|cff8b00ffUnique|r|nIncreases the Hero's agility by <AIaz,DataA1> when worn."
, 2500,
false
)
call
InventoryInitItemDB_Func(
'brag'
,
"BTNRingPurple.blp"
,
"Increases the Agility of the Hero by 1 when worn."
, 50,
false
)
call
InventoryInitItemDB_Func(
'cosl'
,
"BTNUsedSoulGem.blp"
,
"|cffff8c00Artifact|r|nBrings <AIrx,DataA1> of your nearby dead units back to life. |n|cffffcc00History|r|n|cffffdeadCrafted by the Titans as gifts to their favored creations, the Celestial Orb of Souls channels the powers of the light to bring back to life those who have recently fallen.|r"
, 10000,
false
)
call
InventoryInitItemDB_Func(
'rat3'
,
"BTNClawsOfAttack.blp"
,
"Increases the attack damage of the Hero by 3 when worn."
, 50,
false
)
call
InventoryInitItemDB_Func(
'stpg'
,
"BTNPenguin.blp"
,
"This penguin squeak-toy was first created by the goblin tinkerer Salzhigh for the centaur. Regarding it with some awe (having never seen a penguin before) the centaur purchased them as idols and worshipped them at altars."
, 450,
false
)
call
InventoryInitItemDB_Func(
'crdt'
,
"BTNRevenant.blp"
,
"|cffff8c00Artifact|r|nGrants the ability to fire bolts of pain that deal <AIfz,DataC1> damage. Also increases the Hero's hit points by <AIlf,DataA1> and mana by <AImz,DataA1> when worn.|n|cffffcc00History|r|n|cffffdeadThe Deathlords are rumored to have been mighty Paladins once. One of their order turned from the light when he slaughtered his own family, believing they were impure.|r"
, 6400,
false
)
call
InventoryInitItemDB_Func(
'dtsb'
,
"BTNSorceressMaster.blp"
,
"|cffff8c00Artifact|r|nGrants the ability to portal to your home town. Also reduces spell damage by <AIsr,DataB1,%>% and increases the Hero's mana by <AImv,DataA1> while equipped.|n|cffffcc00History|r|n|cffffdeadDrek'Thar's old spellbook is filled with pages stolen from Kirin Tor mages that were slain in battle.|r"
, 3350,
false
)
call
InventoryInitItemDB_Func(
'drph'
,
"BTNDust.blp"
,
"Increases the Intelligence of the Hero by 1 when carried."
, 50,
false
)
call
InventoryInitItemDB_Func(
'dust'
,
"BTNDustOfAppearance.blp"
,
"Reveals enemy invisible units in an area around the Hero. |nContains <dust,uses> charges. |nLasts <AItb,Dur1> seconds."
, 750,
true
)
call
InventoryInitItemDB_Func(
'shen'
,
"BTNThoriumArmor.blp"
,
"Increases the Hero's armor by <AId2,DataA1> and hit points by <AIlz,DataA1> when worn."
, 650,
false
)
call
InventoryInitItemDB_Func(
'envl'
,
"BTNVialFull.blp"
,
"Regenerates <AIp3,DataA1> hit points and <AIp3,DataB1> mana of the Hero over <AIp3,Dur1> seconds. |nContains <envl,uses> charges."
, 450,
true
)
call
InventoryInitItemDB_Func(
'esaz'
,
"BTNHeartOfAszune.blp"
,
"Legends speak of an intelligent Orc who found the Heart of Aszune. This is the essence of her heart, precious to the Night Elves. It has the power to heal the Hero that wields it. This item is permanent."
, 600,
false
)
call
InventoryInitItemDB_Func(
'frhg'
,
"BTNAdvancedUnholyStrength.blp"
,
"Increases armor by <AId5,DataA1> and attack rate by <AIs2,DataA1,%>% when worn."
, 3500,
false
)
call
InventoryInitItemDB_Func(
'fgun'
,
"BTNFlare.blp"
,
"Reveals a target area on the map. |nContains <fgun,uses> charges."
, 125,
false
)
call
InventoryInitItemDB_Func(
'fwss'
,
"BTNGrimWard.blp"
,
"This ancient Frost Wyrm skull has been equipped with handles, turning it into a powerful shield. Increases armor by 2 when worn and reduces Magic damage dealt to the Hero by <AIsr,DataB1,%>%."
, 750,
false
)
call
InventoryInitItemDB_Func(
'frgd'
,
"BTNThoriumMelee.blp"
,
"Adds <AIft,DataA1> bonus cold damage to the attack of a Hero and <AId5,DataA1> bonus armor when carried. The Hero's attacks also slow the movement speed and attack rate of the enemy."
, 1400,
false
)
call
InventoryInitItemDB_Func(
'gemt'
,
"BTNGem.blp"
,
"Allows the Hero to detect hidden or invisible units in the Hero's line of sight when carried."
, 200,
false
)
call
InventoryInitItemDB_Func(
'gvsm'
,
"BTNSpellSteal.blp"
,
"|cff8b00ffUnique|r|nGrants the ability to control summoned units. Also increases the intelligence of the Hero by <AIa6,DataA1> when worn."
, 1400,
false
)
call
InventoryInitItemDB_Func(
'gobm'
,
"BTNGoblinLandMine.blp"
,
"Places a hidden land mine at a target point. Enemy units that move near the land mine will activate the mine, destroying the mine and causing area of effect damage to nearby units. |nContains <gobm,uses> charges."
, 225,
true
)
call
InventoryInitItemDB_Func(
'tels'
,
"BTNTelescope.blp"
,
"Provides an increase to the Hero's line of sight radius at night when carried."
, 200,
false
)
call
InventoryInitItemDB_Func(
'rej4'
,
"BTNGreaterRejuvPotion.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates <AIp4,DataA1> hit points and <AIp4,DataB1> mana of the Hero over <AIp4,Dur1> seconds."
, 450,
true
)
call
InventoryInitItemDB_Func(
'rej6'
,
"BTNGreaterRejuvScroll.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates <AIp6,DataA1> hit points and <AIp6,DataB1> mana of the Hero and nearby friendly units over <AIp6,Dur1> seconds."
, 500,
true
)
call
InventoryInitItemDB_Func(
'grsl'
,
"BTNNecromancerMaster.blp"
,
"|cff87ceebUnique Consumable|r|nThis powerful book permanently increases the hit points of the Hero by <AIpx,DataA1> each time it is used. |nContains <grsl,uses> charges."
, 1350,
true
)
call
InventoryInitItemDB_Func(
'hbth'
,
"BTNUnholyAura.blp"
,
"|cff8b00ffUnique|r|nGrants the ability to go Berserk, causing the Hero to attack <AIxk,DataB1,%>% faster but take <AIxk,DataC1,%>% more damage. Also increases strength and agility by 4 when worn."
, 4200,
false
)
call
InventoryInitItemDB_Func(
'sfog'
,
"BTNHornOfFog.blp"
,
"Allows the Hero to channel the Cloud ability, which stops an area of enemy towers from attacking for <AIfg,Dur1> seconds."
, 200,
false
)
call
InventoryInitItemDB_Func(
'flag'
,
"BTNHumanCaptureFlag.blp"
,
"An object that is often captured in special scenarios as a win condition."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'iwbr'
,
"BTNNatureTouchGrow.blp"
,
"Increases the Strength of the Hero by 1 when carried."
, 50,
false
)
call
InventoryInitItemDB_Func(
'jdrn'
,
"BTNRingJadeFalcon.blp"
,
"Increases the Agility of the Hero by 1 when worn."
, 50,
false
)
call
InventoryInitItemDB_Func(
'kgal'
,
"BTNBarrel.blp"
,
"Increases hit point and mana regeneration."
, 850,
false
)
call
InventoryInitItemDB_Func(
'klmm'
,
"BTNSpiritWalkerAdeptTraining.blp"
,
"|cffff8c00Artifact|r|nIncreases the attack damage of the Hero by <AItx,DataA1> when carried. Also causes the Hero's attacks to steal life.|n|cffffcc00History|r|n|cffffdeadWhen Dethorin found his lady, Allurana, in the arms of another, he went to the Barrens and cried out. An axe burst forth from the sands as if in answer. Dethorin slew Allurana and her lover, then hurled the axe with all his might into the deep dark sea.|r"
, 7500,
false
)
call
InventoryInitItemDB_Func(
'rej2'
,
"BTNLesserRejuvPotion.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates <AIp2,DataA1> hit points and <AIp2,DataB1> mana of the Hero over <AIp2,Dur1> seconds."
, 150,
true
)
call
InventoryInitItemDB_Func(
'rej5'
,
"BTNLesserRejuvScroll.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates <AIp5,DataA1> hit points and <AIp5,DataB1> mana of the Hero and nearby friendly units over <AIp5,Dur1> seconds."
, 400,
true
)
call
InventoryInitItemDB_Func(
'lnrn'
,
"BTNRingLionHead.blp"
,
"Increases the Agility of the Hero by 1 when worn."
, 50,
false
)
call
InventoryInitItemDB_Func(
'mlst'
,
"BTNHammer.blp"
,
"Increases the Strength of the Hero by 1 when carried."
, 50,
false
)
call
InventoryInitItemDB_Func(
'mnsf'
,
"BTNBrilliance.blp"
,
"Increases the mana of the Hero by <AI2m,DataA1>. Also grants the Hero and friendly nearby units a bonus to mana regeneration."
, 1800,
false
)
call
InventoryInitItemDB_Func(
'rej1'
,
"BTNMinorRejuvPotion.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRegenerates <AIp1,DataA1> hit points and <AIp1,DataB1> mana of the Hero over <AIp1,Dur1> seconds."
, 100,
true
)
call
InventoryInitItemDB_Func(
'lure'
,
"BTNMonsterLure.blp"
,
"Creates a ward that draws nearby creeps to it."
, 200,
true
)
call
InventoryInitItemDB_Func(
'nspi'
,
"BTNNecklace.blp"
,
"Renders the Hero invulnerable to magic."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'nflg'
,
"BTNNightElfCaptureFlag.blp"
,
"An object that is often captured in special scenarios as a win condition."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'ocor'
,
"BTNOrbOfCorruption.blp"
,
"Adds <AIcb,DataA1> bonus damage to the attack of a Hero when carried. The Hero's attacks also become ranged when attacking air and reduce the armor of enemy units for <AIcb,Dur1> seconds."
, 400,
false
)
call
InventoryInitItemDB_Func(
'ofir'
,
"BTNOrbOfFire.blp"
,
"Adds <AIfb,DataA1> bonus fire damage to the attack of a Hero when carried. The Hero's attacks also become ranged when attacking air and do splash damage to nearby enemy units."
, 400,
false
)
call
InventoryInitItemDB_Func(
'gldo'
,
"BTNUsedSoulGem.blp"
,
"Adds <AIgd,DataA1> bonus fire damage to the attack of a Hero when carried. The Hero's attacks also become ranged when attacking air and do splash damage to nearby enemy units."
, 450,
false
)
call
InventoryInitItemDB_Func(
'olig'
,
"BTNOrbOfLightning.blp"
,
"Adds <AIlb,DataA1> bonus damage to the attack of a Hero when carried. The Hero's attacks also become ranged when attacking air, dispel magic and slow the movement speed of the enemy for <AIlp,Dur1> seconds. |n|cffffcc00Deals <AIlp,DataC1> bonus damage to summoned units."
, 450,
false
)
call
InventoryInitItemDB_Func(
'oli2'
,
"BTNOrbOfLightning.blp"
,
"Adds <AIll,DataA1> bonus damage to the attack of a Hero when carried. The Hero's attacks also become ranged when attacking air, and have a chance to dispel magic and slow the movement speed of the enemy for <AIlp,Dur1> seconds. |n|cffffcc00Deals <AIpg,DataC1> bonus damage to summoned units."
, 400,
false
)
call
InventoryInitItemDB_Func(
'oslo'
,
"BTNOrbofSlowness.blp"
,
"Adds <AIsb,DataA1> bonus damage to the attack of a Hero when carried. The Hero's attacks also become ranged when attacking air, and have a chance to slow a target enemy unit's movement speed by <AIos,DataA1,%>% and attack rate by <AIos,DataB1,%>% for <AIos,Dur1> seconds."
, 550,
false
)
call
InventoryInitItemDB_Func(
'oven'
,
"BTNOrbOfVenom.blp"
,
"Adds <AIpb,DataA1> bonus damage to the attack of a Hero when carried. The Hero's attacks also become ranged when attacking air and poison enemy units for <Apo2,Dur1> seconds."
, 400,
false
)
call
InventoryInitItemDB_Func(
'oflg'
,
"BTNOrcCaptureFlag.blp"
,
"An object that is often captured in special scenarios as a win condition."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'pgin'
,
"BTNGreaterInvisibility.blp"
,
"|cff87ceebNon-Combat Consumable|r|nRenders the Hero invisible for <AIv2,Dur1> seconds when used. An invisible Hero is untargetable by the enemy unless detected. If the Hero attacks, uses an ability, or casts a spell, the invisibility effect is lost."
, 200,
true
)
call
InventoryInitItemDB_Func(
'pspd'
,
"BTNPotionRed.blp"
,
"Increases the movement speed of the Hero by <AIsp,DataA1,%>% for <AIsp,Dur1> seconds."
, 75,
true
)
call
InventoryInitItemDB_Func(
'rde0'
,
"BTNRingGreen.blp"
,
"Increases the armor of the Hero by 1 when worn."
, 50,
false
)
call
InventoryInitItemDB_Func(
'rnsp'
,
"BTNGoldRing.blp"
,
"Increases the Strength, Agility and Intelligence of the Hero by 1 when worn."
, 100,
false
)
call
InventoryInitItemDB_Func(
'ram1'
,
"BTNRingJadeFalcon.blp"
,
"A powerful artifact with a sliver of a fragmented gem inset. Increases the Strength, Agility and Intelligence of the Hero by 1."
, 125,
false
)
call
InventoryInitItemDB_Func(
'ram4'
,
"BTNRingJadeFalcon.blp"
,
"A powerful artifact with a wondrous gem inset. Increases the Strength, Agility and Intelligence of the Hero by 3 and gives nearby friendly units a bonus to mana regeneration."
, 750,
false
)
call
InventoryInitItemDB_Func(
'ram2'
,
"BTNRingJadeFalcon.blp"
,
"A powerful artifact with a part of a fragmented gem inset. Increases the Strength, Agility and Intelligence of the Hero by 2."
, 300,
false
)
call
InventoryInitItemDB_Func(
'ram3'
,
"BTNRingJadeFalcon.blp"
,
"A powerful artifact with most of a fragmented gem inset. Increases the Strength, Agility and Intelligence of the Hero by 3."
, 550,
false
)
call
InventoryInitItemDB_Func(
'rugt'
,
"BTNImprovedUnholyStrength.blp"
,
"Increases the strength and armor of the Hero by 3 when worn."
, 725,
false
)
call
InventoryInitItemDB_Func(
'rump'
,
"BTNGatherGold.blp"
,
"This heavy pick can be swung with force. Increases the Hero's attack damage by <AItg,DataA1> and gives a <AIbx,DataA1>% chance to stun the enemy."
, 100,
false
)
call
InventoryInitItemDB_Func(
'horl'
,
"BTNGlyph.blp"
,
"A powerful artifact, sacred to the orc shaman. |nGrants the Hero and friendly nearby units increased attack rate and movement speed. |nDoes not stack with Endurance Aura."
, 950,
false
)
call
InventoryInitItemDB_Func(
'schl'
,
"BTNPriestAdept.blp"
,
"Grants the ability to heal a friendly unit. Also grants the Hero and friendly nearby units <AIgx,DataA1,%>% increased hit point regeneration."
, 4200,
false
)
call
InventoryInitItemDB_Func(
'ccmd'
,
"BTNScepterOfMastery.blp"
,
"Transfers control of the targeted non-Hero unit to the player who uses the Scepter. The transfer of control is permanent. |nCannot be used on Heroes or on creeps higher than level <AIco,DataA1>. |nContains <ccmd,uses> charges."
, 1000,
true
)
call
InventoryInitItemDB_Func(
'rots'
,
"BTNWitchDoctorAdept.blp"
,
"|cff87ceebUnique Consumable|r|nSummons <AIwm,DataA1> Murlocs to fight for you. Also increases the Hero's strength, agility, and intelligence by 2. |nContains <rots,uses> charges."
, 1000,
true
)
call
InventoryInitItemDB_Func(
'scul'
,
"BTNBansheeMaster.blp"
,
"Animates <AIan,DataA1> nearby corpses to fight for you. Lasts <AIan,Dur1> seconds."
, 950,
true
)
call
InventoryInitItemDB_Func(
'srbd'
,
"BTNArcaniteMelee.blp"
,
"Adds <AIfw,DataA1> bonus fire damage to the attack of a Hero when carried. The Hero's attacks also do splash damage to nearby enemy units, and have a <AIcs,DataA1>% chance to deal <AIcs,DataB1> times their normal damage."
, 1650,
false
)
call
InventoryInitItemDB_Func(
'srtl'
,
"BTNOrcMeleeUpThree.blp"
,
"|cffff8c00Artifact|r|nIncreases the attack rate of the Hero by <AIsx,DataA1,%>% and attack damage by <AItf,DataA1>.|n|cffffcc00History|r|n|cffffdeadThis weapon was crafted on Draenor for Kash'drakor and used in the Blood River war that ended with the annihilation of the Dark Scar clan. Nazgrel is the last living relative of Kash'drakor.|r"
, 5500,
false
)
call
InventoryInitItemDB_Func(
'sor1'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 1."
, 50,
false
)
call
InventoryInitItemDB_Func(
'sora'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 10, armor by 3 and grants enhanced hit point regeneration."
, 1250,
false
)
call
InventoryInitItemDB_Func(
'sor2'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 2."
, 100,
false
)
call
InventoryInitItemDB_Func(
'sor3'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 3."
, 200,
false
)
call
InventoryInitItemDB_Func(
'sor4'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 4 and armor by 1."
, 300,
false
)
call
InventoryInitItemDB_Func(
'sor5'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 5 and armor by 1."
, 350,
false
)
call
InventoryInitItemDB_Func(
'sor6'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 6 and armor by 1."
, 400,
false
)
call
InventoryInitItemDB_Func(
'sor7'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 7 and armor by 2."
, 550,
false
)
call
InventoryInitItemDB_Func(
'sor8'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 8 and armor by 2."
, 700,
false
)
call
InventoryInitItemDB_Func(
'sor9'
,
"BTNOrbOfDarkness.blp"
,
"This artifact was imbued with special powers by the Orc Shadow Council. It increases your attack damage by 9, armor by 2 and grants enhanced hit point regeneration."
, 900,
false
)
call
InventoryInitItemDB_Func(
'shcw'
,
"BTNShamanMaster.blp"
,
"|cff8b00ffUnique|r|nThese are given to shaman upon the completion of their training. Increases attack damage by <AIlx,DataA1>. The Hero's attacks also have a chance to dispel magic and slow the movement speed of the enemy for <AIpg,Dur1> seconds."
, 950,
false
)
call
InventoryInitItemDB_Func(
'shtm'
,
"BTNEntrapmentWard.blp"
,
"This powerful Orc artifact channels Shamanic powers through its user, allowing them to cast Purge."
, 600,
false
)
call
InventoryInitItemDB_Func(
'shhn'
,
"BTNHumanArmorUpThree.blp"
,
"|cff8b00ffUnique|r|nGrants nearby friendly units a <AIcd,DataA1,%>% bonus to attack damage. Also increases the armor of the Hero by <AId8,DataA1> when worn."
, 3350,
false
)
call
InventoryInitItemDB_Func(
'shdt'
,
"BTNLightningShield.blp"
,
"|cffff8c00Artifact|r|nEngulfs the Hero in fire which deals <AIcf,DataA1> damage per second to nearby enemy land units. Also increases the Hero's armor by <AId0,DataA1>, hit points by <AIlf,DataA1>, and mana by <AImz,DataA1> when worn. |n|cffffcc00History|r|n|cffffdeadWhen Arthas took up the sword against his own people in Stratholme, the Deathlords committed the same heinous act in many other cities across Lordaeron.|r"
, 9000,
false
)
call
InventoryInitItemDB_Func(
'shrs'
,
"BTNMonsterLure.blp"
,
"A tasty roast with a shimmerweed base. Heals <AIhx,DataA1> hit points when eaten. |nContains <shrs,uses> charges."
, 150,
true
)
call
InventoryInitItemDB_Func(
'sksh'
,
"BTNGrimWard.blp"
,
"Increases the Strength of the Hero by 1 when carried."
, 200,
false
)
call
InventoryInitItemDB_Func(
'soul'
,
"BTNUsedSoulGem.blp"
,
"A soul, trapped by the enchantments of a Soul Gem."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'gsou'
,
"BTNSoulGem.blp"
,
"Traps the targeted enemy Hero inside the Soul Gem when used. The enemy Hero is returned to play when the bearer of the Soul Gem is killed. While an enemy Hero is trapped, the bearer of the Soul Gem is revealed to the enemy through the Fog of War."
, 1000,
true
)
call
InventoryInitItemDB_Func(
'sbok'
,
"BTNSpellBookBLS.blp"
,
"A book full of random spells."
, 325,
false
)
call
InventoryInitItemDB_Func(
'sprn'
,
"BTNRingVioletSpider.blp"
,
"Increases the Agility of the Hero by 1 when worn."
, 50,
false
)
call
InventoryInitItemDB_Func(
'spre'
,
"BTNStaffOfPreservation.blp"
,
"Teleports a target friendly unit to its highest level town hall."
, 200,
false
)
call
InventoryInitItemDB_Func(
'stre'
,
"BTNWandSkull.blp"
,
"Animates a nearby corpse to fight your enemies. Lasts <AInd,Dur1> seconds."
, 200,
false
)
call
InventoryInitItemDB_Func(
'stwa'
,
"BTNOrcMeleeUpOne.blp"
,
"Increases the attack damage of the Hero by <AItj,DataA1> when carried."
, 600,
false
)
call
InventoryInitItemDB_Func(
'thdm'
,
"BTNEnchantedGemstone.blp"
,
"|cff8b00ffUnique|r|nCasts bolts of lightning that deal damage to multiple targets."
, 1190,
false
)
call
InventoryInitItemDB_Func(
'tbak'
,
"BTNAltarOfKings.blp"
,
"Creates a Altar of Kings at a target location."
, 180,
true
)
call
InventoryInitItemDB_Func(
'tbar'
,
"BTNHumanBarracks.blp"
,
"Creates a Barracks at a target location."
, 160,
true
)
call
InventoryInitItemDB_Func(
'tbsm'
,
"BTNBlacksmith.blp"
,
"Creates a Blacksmith at a target location."
, 200,
true
)
call
InventoryInitItemDB_Func(
'tfar'
,
"BTNFarm.blp"
,
"Creates a Farm at a target location."
, 75,
true
)
call
InventoryInitItemDB_Func(
'tlum'
,
"BTNHumanLumberMill.blp"
,
"Creates a Lumber Mill at a target location."
, 150,
true
)
call
InventoryInitItemDB_Func(
'tgxp'
,
"BTNManual3.blp"
,
"Gives the Hero <AIe2,DataA1> bonus experience points when used."
, 1000,
true
)
call
InventoryInitItemDB_Func(
'tmsc'
,
"BTNNecromancerAdept.blp"
,
"|cff8b00ffUnique|r|nGrants the ability to sacrifice a friendly non-Hero unit to restore hit points. Also increases the Hero's mana by <AImz,DataA1> while equipped."
, 1250,
false
)
call
InventoryInitItemDB_Func(
'tmmt'
,
"BTNEntrapmentWard.blp"
,
"Increases the Strength of the Hero by 1 when carried."
, 50,
false
)
call
InventoryInitItemDB_Func(
'uflg'
,
"BTNUndeadCaptureFlag.blp"
,
"An object that is often captured in special scenarios as a win condition."
, 1000,
false
)
call
InventoryInitItemDB_Func(
'vddl'
,
"BTNShadowPact.blp"
,
"Increases the Intelligence of the Hero by 1 when carried."
, 50,
false
)
//---------------------------------------------------------------------------------------------------+
// |
// Dest |
// |
//---------------------------------------------------------------------------------------------------+
//________
call
InventoryInitDestDB_Func(
'D000'
,
"BTNSpellShieldAmulet.blp"
)
call
InventoryInitDestDB_Func(
'D001'
,
"BTNAmuletOftheWild.blp"
)
call
InventoryInitDestDB_Func(
'D002'
,
"BTNPendantOfMana.blp"
)
call
InventoryInitDestDB_Func(
'D003'
,
"BTNAmulet.blp"
)
call
InventoryInitDestDB_Func(
'D004'
,
"BTNPendantOfEnergy.blp"
)
call
InventoryInitDestDB_Func(
'D005'
,
"BTNSnazzyPotion.blp"
)
call
InventoryInitDestDB_Func(
'D006'
,
"BTNArcaniteArmor.blp"
)
call
InventoryInitDestDB_Func(
'D007'
,
"BTNOrcMeleeUpOne.blp"
)
call
InventoryInitDestDB_Func(
'D008'
,
"BTNDrum.blp"
)
call
InventoryInitDestDB_Func(
'D009'
,
"BTNClawsOfAttack.blp"
)
call
InventoryInitDestDB_Func(
'D00A'
,
"BTNBarrel.blp"
)
call
InventoryInitDestDB_Func(
'D00B'
,
"BTNRingPurple.blp"
)
call
InventoryInitDestDB_Func(
'D00C'
,
"BTNCirclet.blp"
)
call
InventoryInitDestDB_Func(
'D00D'
,
"BTNNatureTouchGrow.blp"
)
call
InventoryInitDestDB_Func(
'D00E'
,
"BTNBlood&GhostKey.blp"
)
call
InventoryInitDestDB_Func(
'D00F'
,
"BTNWirtsOtherLeg.blp"
)
call
InventoryInitDestDB_Func(
'D00G'
,
"BTNBundleOfLumber.blp"
)
call
InventoryInitDestDB_Func(
'D00H'
,
"BTNGoblinLandMine.blp"
)
call
InventoryInitDestDB_Func(
'D00I'
,
"BTNTelescope.blp"
)
call
InventoryInitDestDB_Func(
'D00J'
,
"BTNOrcMeleeUpThree.blp"
)
call
InventoryInitDestDB_Func(
'D00K'
,
"BTNSpy.blp"
)
call
InventoryInitDestDB_Func(
'D00L'
,
"BTNArmorGolem.blp"
)
call
InventoryInitDestDB_Func(
'D00M'
,
"BTNClayFigurine.blp"
)
call
InventoryInitDestDB_Func(
'D00N'
,
"BTNHealingWard.blp"
)
call
InventoryInitDestDB_Func(
'D00O'
,
"BTNUsedSoulGem.blp"
)
call
InventoryInitDestDB_Func(
'D00P'
,
"BTNWandOfCyclone.blp"
)
call
InventoryInitDestDB_Func(
'D00Q'
,
"BTNWand.blp"
)
call
InventoryInitDestDB_Func(
'D00R'
,
"BTNPriestAdept.blp"
)
call
InventoryInitDestDB_Func(
'D00S'
,
"BTNStarWand.blp"
)
call
InventoryInitDestDB_Func(
'D00T'
,
"BTNWitchDoctorAdept.blp"
)
call
InventoryInitDestDB_Func(
'D00U'
,
"BTNWandSkull.blp"
)
call
InventoryInitDestDB_Func(
'D00V'
,
"BTNRodOfNecromancy.blp"
)
call
InventoryInitDestDB_Func(
'D00W'
,
"BTNWandOfManaSteal.blp"
)
call
InventoryInitDestDB_Func(
'D00X'
,
"BTNWandOfNeutralization.blp"
)
call
InventoryInitDestDB_Func(
'D00Y'
,
"BTNWandOfShadowSight.blp"
)
call
InventoryInitDestDB_Func(
'D00Z'
,
"BTNMechanicalCritter.blp"
)
call
InventoryInitDestDB_Func(
'D010'
,
"BTNPenguin.blp"
)
call
InventoryInitDestDB_Func(
'D011'
,
"BTNSacrificialSkull.blp"
)
call
InventoryInitDestDB_Func(
'D012'
,
"BTNEnchantedGemstone.blp"
)
call
InventoryInitDestDB_Func(
'D013'
,
"BTNThoriumArmor.blp"
)
call
InventoryInitDestDB_Func(
'D014'
,
"BTNShimmerWeed.blp"
)
call
InventoryInitDestDB_Func(
'D015'
,
"BTNPotionOfVampirism.blp"
)
call
InventoryInitDestDB_Func(
'D016'
,
"BTNPotionOfOmniscience.blp"
)
call
InventoryInitDestDB_Func(
'D017'
,
"BTNPotionBlueSmall.blp"
)
call
InventoryInitDestDB_Func(
'D018'
,
"BTNLesserInvisibility.blp"
)
call
InventoryInitDestDB_Func(
'D019'
,
"BTNGreaterInvulneralbility.blp"
)
call
InventoryInitDestDB_Func(
'D01A'
,
"BTNRejuvPotion.blp"
)
call
InventoryInitDestDB_Func(
'D01B'
,
"BTNPotionOfClarity.blp"
)
call
InventoryInitDestDB_Func(
'D01C'
,
"BTNPotionRed.blp"
)
call
InventoryInitDestDB_Func(
'D01D'
,
"BTNGrimWard.blp"
)
call
InventoryInitDestDB_Func(
'D01E'
,
"BTNGlyph.blp"
)
call
InventoryInitDestDB_Func(
'D01F'
,
"BTNHumanCaptureFlag.blp"
)
call
InventoryInitDestDB_Func(
'D01G'
,
"BTNUndeadCaptureFlag.blp"
)
call
InventoryInitDestDB_Func(
'D01H'
,
"BTNNightElfCaptureFlag.blp"
)
call
InventoryInitDestDB_Func(
'D01I'
,
"BTNOrcBattleStandard.blp"
)
call
InventoryInitDestDB_Func(
'D01J'
,
"BTNOrcCaptureFlag.blp"
)
call
InventoryInitDestDB_Func(
'D01K'
,
"BTNHumanWatchTower.blp"
)
call
InventoryInitDestDB_Func(
'D01L'
,
"BTNBlacksmith.blp"
)
call
InventoryInitDestDB_Func(
'D01M'
,
"BTNHumanLumberMill.blp"
)
call
InventoryInitDestDB_Func(
'D01N'
,
"BTNFarm.blp"
)
call
InventoryInitDestDB_Func(
'D01O'
,
"BTNHumanBarracks.blp"
)
call
InventoryInitDestDB_Func(
'D01P'
,
"BTNAltarOfKings.blp"
)
call
InventoryInitDestDB_Func(
'D01Q'
,
"BTNTinyCastle.blp"
)
call
InventoryInitDestDB_Func(
'D01R'
,
"BTNRockGolem.blp"
)
call
InventoryInitDestDB_Func(
'D01S'
,
"BTNSoulGem.blp"
)
call
InventoryInitDestDB_Func(
'D01T'
,
"BTNPeriapt1.blp"
)
call
InventoryInitDestDB_Func(
'D01U'
,
"BTNMoonStone.blp"
)
call
InventoryInitDestDB_Func(
'D01V'
,
"BTNHealthStone.blp"
)
call
InventoryInitDestDB_Func(
'D01W'
,
"BTNDarkSummoning.blp"
)
call
InventoryInitDestDB_Func(
'D01X'
,
"BTNManaStone.blp"
)
call
InventoryInitDestDB_Func(
'D01Y'
,
"BTNInfernalStone.blp"
)
call
InventoryInitDestDB_Func(
'D01Z'
,
"BTNGem.blp"
)
call
InventoryInitDestDB_Func(
'D020'
,
"BTNHoodOfCunning.blp"
)
call
InventoryInitDestDB_Func(
'D021'
,
"BTNBoots.blp"
)
call
InventoryInitDestDB_Func(
'D022'
,
"BTNDaggerOfEscape.blp"
)
call
InventoryInitDestDB_Func(
'D023'
,
"BTN3M3.blp"
)
call
InventoryInitDestDB_Func(
'D024'
,
"BTNGhostKey.blp"
)
call
InventoryInitDestDB_Func(
'D025'
,
"BTNNecromancerAdept.blp"
)
call
InventoryInitDestDB_Func(
'D026'
,
"BTNTomeOfRetraining.blp"
)
call
InventoryInitDestDB_Func(
'D027'
,
"BTNNecromancerMaster.blp"
)
call
InventoryInitDestDB_Func(
'D028'
,
"BTNTomeRed.blp"
)
call
InventoryInitDestDB_Func(
'D029'
,
"BTNTome.blp"
)
call
InventoryInitDestDB_Func(
'D02A'
,
"BTNBookOfTheDead.blp"
)
call
InventoryInitDestDB_Func(
'D02B'
,
"BTNTomeBrown.blp"
)
call
InventoryInitDestDB_Func(
'D02C'
,
"BTNSpellBookBLS.blp"
)
call
InventoryInitDestDB_Func(
'D02D'
,
"BTNShamanMaster.blp"
)
call
InventoryInitDestDB_Func(
'D02E'
,
"BTNRingJadeFalcon.blp"
)
call
InventoryInitDestDB_Func(
'D02F'
,
"BTNRingGreen.blp"
)
call
InventoryInitDestDB_Func(
'D02G'
,
"BTNRingLionHead.blp"
)
call
InventoryInitDestDB_Func(
'D02H'
,
"BTNRingVioletSpider.blp"
)
call
InventoryInitDestDB_Func(
'D02I'
,
"BTNGoldRing.blp"
)
call
InventoryInitDestDB_Func(
'D02J'
,
"BTNRingSkull.blp"
)
call
InventoryInitDestDB_Func(
'D02K'
,
"BTNManaFlareOff.blp"
)
call
InventoryInitDestDB_Func(
'D02L'
,
"BTNHelmutPurple.blp"
)
call
InventoryInitDestDB_Func(
'D02M'
,
"BTNRevenant.blp"
)
call
InventoryInitDestDB_Func(
'D02N'
,
"BTNBoneChimes.blp"
)
call
InventoryInitDestDB_Func(
'D02O'
,
"BTNAnkh.blp"
)
call
InventoryInitDestDB_Func(
'D02P'
,
"BTNSpiritWalkerAdeptTraining.blp"
)
call
InventoryInitDestDB_Func(
'D02Q'
,
"BTNBloodKey.blp"
)
call
InventoryInitDestDB_Func(
'D02R'
,
"BTNShadowPact.blp"
)
call
InventoryInitDestDB_Func(
'D02S'
,
"BTNThoriumMelee.blp"
)
call
InventoryInitDestDB_Func(
'D02T'
,
"BTNPotionGreenSmall.blp"
)
call
InventoryInitDestDB_Func(
'D02U'
,
"BTNHealingSalve.blp"
)
call
InventoryInitDestDB_Func(
'D02V'
,
"BTNMoonKey.blp"
)
call
InventoryInitDestDB_Func(
'D02W'
,
"BTN3M1.blp"
)
call
InventoryInitDestDB_Func(
'D02X'
,
"BTNMantleOfIntelligence.blp"
)
call
InventoryInitDestDB_Func(
'D02Y'
,
"BTNSobiMask.blp"
)
call
InventoryInitDestDB_Func(
'D02Z'
,
"BTNMaskOfDeath.blp"
)
call
InventoryInitDestDB_Func(
'D030'
,
"BTNMedalionOfCourage.blp"
)
call
InventoryInitDestDB_Func(
'D031'
,
"BTNManual.blp"
)
call
InventoryInitDestDB_Func(
'D032'
,
"BTNDust.blp"
)
call
InventoryInitDestDB_Func(
'D033'
,
"BTNHammer.blp"
)
call
InventoryInitDestDB_Func(
'D034'
,
"BTNSpiderSilkBroach.blp"
)
call
InventoryInitDestDB_Func(
'D035'
,
"BTNMinorRejuvPotion.blp"
)
call
InventoryInitDestDB_Func(
'D036'
,
"BTNSentryWard.blp"
)
call
InventoryInitDestDB_Func(
'D037'
,
"BTNWirtsLeg.blp"
)
call
InventoryInitDestDB_Func(
'D038'
,
"BTNArcaniteMelee.blp"
)
call
InventoryInitDestDB_Func(
'D039'
,
"BTNCloakOfFlames.blp"
)
call
InventoryInitDestDB_Func(
'D03A'
,
"BTNRobeOfTheMagi.blp"
)
call
InventoryInitDestDB_Func(
'D03B'
,
"BTNNecklace.blp"
)
call
InventoryInitDestDB_Func(
'D03C'
,
"BTNUndeadShrine.blp"
)
call
InventoryInitDestDB_Func(
'D03D'
,
"BTNFlare.blp"
)
call
InventoryInitDestDB_Func(
'D03E'
,
"BTNIceShard.blp"
)
call
InventoryInitDestDB_Func(
'D03F'
,
"BTNLesserInvulneralbility.blp"
)
call
InventoryInitDestDB_Func(
'D03G'
,
"BTNLesserRejuvPotion.blp"
)
call
InventoryInitDestDB_Func(
'D03H'
,
"BTNLesserClarityPotion.blp"
)
call
InventoryInitDestDB_Func(
'D03I'
,
"BTNFelHound.blp"
)
call
InventoryInitDestDB_Func(
'D03J'
,
"BTNAdvancedUnholyStrength.blp"
)
call
InventoryInitDestDB_Func(
'D03K'
,
"BTNGlove.blp"
)
call
InventoryInitDestDB_Func(
'D03L'
,
"BTNSpellSteal.blp"
)
call
InventoryInitDestDB_Func(
'D03M'
,
"BTNCloak.blp"
)
call
InventoryInitDestDB_Func(
'D03N'
,
"BTNVialFull.blp"
)
call
InventoryInitDestDB_Func(
'D03O'
,
"BTNDustOfAppearance.blp"
)
call
InventoryInitDestDB_Func(
'D03P'
,
"BTNStaffOfSilence.blp"
)
call
InventoryInitDestDB_Func(
'D03Q'
,
"BTNStaffOfPreservation.blp"
)
call
InventoryInitDestDB_Func(
'D03R'
,
"BTNBrilliance.blp"
)
call
InventoryInitDestDB_Func(
'D03S'
,
"BTNStaffOfNegation.blp"
)
call
InventoryInitDestDB_Func(
'D03T'
,
"BTNWitchDoctorMaster.blp"
)
call
InventoryInitDestDB_Func(
'D03U'
,
"BTNStaffOfSanctuary.blp"
)
call
InventoryInitDestDB_Func(
'D03V'
,
"BTNStaffOfTeleportation.blp"
)
call
InventoryInitDestDB_Func(
'D03W'
,
"BTNBelt.blp"
)
call
InventoryInitDestDB_Func(
'D03X'
,
"BTNMonsterLure.blp"
)
call
InventoryInitDestDB_Func(
'D03Y'
,
"BTNVialEmpty.blp"
)
call
InventoryInitDestDB_Func(
'D03Z'
,
"BTNGatherGold.blp"
)
call
InventoryInitDestDB_Func(
'D040'
,
"BTNLionHorn.blp"
)
call
InventoryInitDestDB_Func(
'D041'
,
"BTNHornOfCenarius.blp"
)
call
InventoryInitDestDB_Func(
'D042'
,
"BTNHornOfFog.blp"
)
call
InventoryInitDestDB_Func(
'D043'
,
"BTNGauntletsOfOgrePower.blp"
)
call
InventoryInitDestDB_Func(
'D044'
,
"BTNRune.blp"
)
call
InventoryInitDestDB_Func(
'D045'
,
"BTNRunedBracers.blp"
)
call
InventoryInitDestDB_Func(
'D046'
,
"BTNImprovedUnholyStrength.blp"
)
call
InventoryInitDestDB_Func(
'D047'
,
"BTNBootsOfSpeed.blp"
)
call
InventoryInitDestDB_Func(
'D048'
,
"BTNScrollUber.blp"
)
call
InventoryInitDestDB_Func(
'D049'
,
"BTNScrollOfHealing.blp"
)
call
InventoryInitDestDB_Func(
'D04A'
,
"BTNSnazzyScroll.blp"
)
call
InventoryInitDestDB_Func(
'D04B'
,
"BTNSnazzyScrollPurple.blp"
)
call
InventoryInitDestDB_Func(
'D04C'
,
"BTNScroll.blp"
)
call
InventoryInitDestDB_Func(
'D04D'
,
"BTNSnazzyScrollGreen.blp"
)
call
InventoryInitDestDB_Func(
'D04E'
,
"BTNScrollOfTownPortal.blp"
)
call
InventoryInitDestDB_Func(
'D04F'
,
"BTNScrollOfProtection.blp"
)
call
InventoryInitDestDB_Func(
'D04G'
,
"BTNGreaterRejuvScroll.blp"
)
call
InventoryInitDestDB_Func(
'D04H'
,
"BTNLesserRejuvScroll.blp"
)
call
InventoryInitDestDB_Func(
'D04I'
,
"BTNBansheeMaster.blp"
)
call
InventoryInitDestDB_Func(
'D04J'
,
"BTNScrollOfRegenerationGreen.blp"
)
call
InventoryInitDestDB_Func(
'D04K'
,
"BTNBansheeAdept.blp"
)
call
InventoryInitDestDB_Func(
'D04L'
,
"BTNScrollOfHaste.blp"
)
call
InventoryInitDestDB_Func(
'D04M'
,
"BTNSelectHeroOn.blp"
)
call
InventoryInitDestDB_Func(
'D04N'
,
"BTNHeartOfAszune.blp"
)
call
InventoryInitDestDB_Func(
'D04O'
,
"BTNHeartOfSearinox.blp"
)
call
InventoryInitDestDB_Func(
'D04P'
,
"BTNPhilosophersStone.blp"
)
call
InventoryInitDestDB_Func(
'D04Q'
,
"BTNScepterOfMastery.blp"
)
call
InventoryInitDestDB_Func(
'D04R'
,
"BTNSunKey.blp"
)
call
InventoryInitDestDB_Func(
'D04S'
,
"BTNDoomGuard.blp"
)
call
InventoryInitDestDB_Func(
'D04T'
,
"BTNOrbofSlowness.blp"
)
call
InventoryInitDestDB_Func(
'D04U'
,
"BTNOrbOfFrost.blp"
)
call
InventoryInitDestDB_Func(
'D04V'
,
"BTNOrbOfLightning.blp"
)
call
InventoryInitDestDB_Func(
'D04W'
,
"BTNOrbOfFire.blp"
)
call
InventoryInitDestDB_Func(
'D04X'
,
"BTNOrbOfCorruption.blp"
)
call
InventoryInitDestDB_Func(
'D04Y'
,
"BTNOrbOfDarkness.blp"
)
call
InventoryInitDestDB_Func(
'D04Z'
,
"BTNOrbOfVenom.blp"
)
call
InventoryInitDestDB_Func(
'D050'
,
"BTNChestOfGold.blp"
)
call
InventoryInitDestDB_Func(
'D051'
,
"BTNCheese.blp"
)
call
InventoryInitDestDB_Func(
'D052'
,
"BTNTalisman.blp"
)
call
InventoryInitDestDB_Func(
'D053'
,
"BTNPeriapt.blp"
)
call
InventoryInitDestDB_Func(
'D054'
,
"BTNStone.blp"
)
call
InventoryInitDestDB_Func(
'D055'
,
"BTNEntrapmentWard.blp"
)
call
InventoryInitDestDB_Func(
'D056'
,
"BTNHornOfDoom.blp"
)
call
InventoryInitDestDB_Func(
'D057'
,
"BTNSlippersOfAgility.blp"
)
call
InventoryInitDestDB_Func(
'D058'
,
"BTNUrnOfKelThuzad.blp"
)
call
InventoryInitDestDB_Func(
'D059'
,
"BTNSorceressMaster.blp"
)
call
InventoryInitDestDB_Func(
'D05A'
,
"BTNAlleriaFlute.blp"
)
call
InventoryInitDestDB_Func(
'D05B'
,
"BTNPipeOfInsight.blp"
)
call
InventoryInitDestDB_Func(
'D05C'
,
"BTNCrystalBall.blp"
)
call
InventoryInitDestDB_Func(
'D05D'
,
"BTNPotionGreen.blp"
)
call
InventoryInitDestDB_Func(
'D05E'
,
"BTN3M2.blp"
)
call
InventoryInitDestDB_Func(
'D05F'
,
"BTNJanggo.blp"
)
call
InventoryInitDestDB_Func(
'D05G'
,
"BTNGuldanSkull.blp"
)
call
InventoryInitDestDB_Func(
'D05H'
,
"BTNGreathall.blp"
)
call
InventoryInitDestDB_Func(
'D05I'
,
"BTNHelmOfValor.blp"
)
call
InventoryInitDestDB_Func(
'D05J'
,
"BTNUnholyAura.blp"
)
call
InventoryInitDestDB_Func(
'D05K'
,
"BTNHumanArmorUpThree.blp"
)
call
InventoryInitDestDB_Func(
'D05L'
,
"BTNLightningShield.blp"
)
call
InventoryInitDestDB_Func(
'D05M'
,
"BTNPotionOfRestoration.blp"
)
call
InventoryInitDestDB_Func(
'D05N'
,
"BTNPotionBlueBig.blp"
)
call
InventoryInitDestDB_Func(
'D05O'
,
"BTNGreaterInvisibility.blp"
)
call
InventoryInitDestDB_Func(
'D05P'
,
"BTNPotionOfDivinity.blp"
)
call
InventoryInitDestDB_Func(
'D05Q'
,
"BTNGreaterRejuvPotion.blp"
)
call
InventoryInitDestDB_Func(
'D05R'
,
"BTNManual3.blp"
)
call
InventoryInitDestDB_Func(
'D05S'
,
"BTNThunderLizardEgg.blp"
)
call
InventoryInitDestDB_Func(
'D05T'
,
"BTNRedDragon.blp"
)
endfunction
endlibrary
Code: jass
library
Bags
initializer
Init
requires
Camera, DGUI, DataBaseBags
private
function
echo
takes
string
msg
returns
nothing
call
DisplayTextToPlayer
(
GetLocalPlayer
(), 0, 0, msg)
endfunction
private
function
BagH2I
takes
handle
h
returns
integer
return
GetHandleId
(h)
endfunction
globals
private
integer
TypeItemBag =
'IBAG'
private
code
FuncLClickSlot =
null
private
code
FuncRClickSlot =
null
private
integer
CountWindow = 0
private
real
array
XPosWin
private
real
array
YPosWin
endglobals
globals
constant
real
XIndentionSlot = 0.07
constant
real
YIndentionSlot = -0.11
constant
real
WidthSlot = 0.08
constant
real
HeightSlot = 0.08*AspectRatio
endglobals
struct
BAG
static
constant
integer
MaxCount = 6
unit
Owner
BAGSYS BS
private
item
Bag
private
item
array
Slot[.MaxCount]
integer
CountItem
boolean
open
integer
Pos
//window
private
PICTURE Win
private
BUTTON
array
WinSlot[.MaxCount]
private
TEXT
array
WinCharge[.MaxCount]
static
method
RegistrationItemBag
takes
item
b
returns
BAG
local
BAG
this
= BAG.
create
()
local
integer
i = .MaxCount-1
set
.Owner =
null
set
.Bag = b
set
.CountItem = 0
set
.open =
false
set
.Pos = 0
call
SetItemCharges
(b, 0)
call
SetItemUserData
(b,
this
)
set
.Win = PICTURE.NewCostumModel(0, 0, 1, 0.26,
'bwin'
, 140.002, 42.692, 0)
loop
exitwhen
i < 0
set
.Slot[i] =
null
set
.WinSlot[i] = BUTTON.New(0, 0, WidthSlot, HeightSlot, 0.5, TypeTextureBlank)
set
.WinSlot[i].CostumValue =
this
*.MaxCount+i
call
.WinSlot[i].AddActionL(FuncLClickSlot)
call
.WinSlot[i].AddActionR(FuncRClickSlot)
set
.WinCharge[i] = TEXT.New(0, 0, 1)
set
i = i - 1
endloop
return
this
endmethod
method
ResetCharges
takes
integer
slot
returns
nothing
local
integer
charg =
GetItemCharges
(.Slot[slot])
if
GetItemHasCharges(
GetItemTypeId
(.Slot[slot]))
and
(charg > 0)
then
call
SetTextTagText
(.WinCharge[slot].text,
I2S
(charg), 7*0.0023)
call
.WinCharge[slot].Show(
true
, .BS.Camera)
//-0.08*StringLength(I2S(GetItemCharges(.Slot[slot])))
call
.WinCharge[slot].SetPosition(XPosWin[.Pos]+XIndentionSlot+(WidthSlot+0.01)*slot+WidthSlot-0.022, YPosWin[.Pos]+YIndentionSlot-HeightSlot)
else
call
.WinCharge[slot].Show(
false
, 0)
endif
endmethod
method
ResetPosition
takes
integer
pos
returns
nothing
local
integer
i = .MaxCount - 1
set
.Pos = pos
call
.Win.SetPosition(XPosWin[pos], YPosWin[pos])
loop
exitwhen
i < 0
call
.WinSlot[i].SetPosition(XPosWin[.Pos]+XIndentionSlot+(WidthSlot+0.01)*i, YPosWin[pos]+YIndentionSlot)
call
.ResetCharges(i)
set
i = i - 1
endloop
endmethod
method
Open
takes
BAGSYS bs,
integer
pos,
integer
r
returns
nothing
local
integer
i = .MaxCount-1
set
.open =
true
set
.BS = bs
call
.ResetPosition(pos)
call
.Win.SetTexture(
'D201'
+r)
call
.Win.Show(
true
, bs.Camera)
loop
exitwhen
i < 0
if
(.Slot[i] !=
null
)
then
call
.WinSlot[i].SetTexture(GetItemTexture(
GetItemTypeId
(.Slot[i])))
else
call
.WinSlot[i].SetTexture(TypeTextureBlank)
endif
call
.WinSlot[i].Show(
true
, bs.Camera)
set
i = i - 1
endloop
endmethod
method
Close
takes
nothing
returns
nothing
local
integer
i = .MaxCount-1
set
.BS = 0
set
.open =
false
call
.Win.Show(
false
, 0)
loop
exitwhen
i < 0
call
.WinSlot[i].Show(
false
, 0)
call
.WinCharge[i].Show(
false
, 0)
set
i = i - 1
endloop
endmethod
method
AddItem
takes
item
add
returns
boolean
local
integer
i = 0
local
BAG b
local
integer
charg
if
(
GetItemTypeId
(add) == TypeItemBag)
then
if
(add == .Bag)
or
(
GetItemCharges
(add) > 0)
then
return
false
else
set
b =
GetItemUserData
(add)
if
b != 0
and
b.open
then
call
.BS.RemoveBag(b)
endif
endif
endif
loop
exitwhen
i >= .MaxCount
if
(.Slot[i] ==
null
)
then
set
.Slot[i] = add
set
.CountItem = .CountItem + 1
call
SetItemCharges
(.Bag, .CountItem)
call
SetItemPosition
(add, 0, 0)
call
SetItemVisible
(add,
false
)
if
.open
then
call
.WinSlot[i].SetTexture(GetItemTexture(
GetItemTypeId
(add)))
call
.ResetCharges(i)
endif
return
true
endif
set
i = i + 1
endloop
return
false
endmethod
method
ClickSlot
takes
integer
slot
returns
integer
local
BAG curbag
local
integer
curslot
local
item
curit
local
item
it = .Slot[slot]
local
integer
SelectSlot =
this
*.MaxCount+slot
if
.BS.CurSelectSlot != -1
then
set
curbag = .BS.CurSelectSlot/.MaxCount
set
curslot = .BS.CurSelectSlot-curbag*.MaxCount
set
curit = curbag.Slot[curslot]
call
SetUnitVertexColor
(curbag.WinSlot[curslot].picture, 255, 255, 255, 255)
endif
if
it !=
null
then
if
.BS.CurSelectSlot != SelectSlot
then
call
SetUnitVertexColor
(.WinSlot[slot].picture, 200, 200, 200, 255)
set
.BS.CurSelectSlot =
this
*.MaxCount+slot
return
GetItemTypeId
(.Slot[slot])
else
set
.BS.CurSelectSlot = -1
endif
return
0
elseif
.BS.CurSelectSlot != -1
then
set
.Slot[slot] = curit
call
.WinSlot[slot].SetTexture(GetItemTexture(
GetItemTypeId
(curit)))
call
.ResetCharges(slot)
set
curbag.Slot[curslot] =
null
call
curbag.WinSlot[curslot].SetTexture(TypeTextureBlank)
call
curbag.ResetCharges(curslot)
set
.BS.CurSelectSlot = -1
if
(curbag !=
this
)
then
set
curbag.CountItem = curbag.CountItem - 1
set
.CountItem = .CountItem + 1
call
SetItemCharges
(curbag.Bag, curbag.CountItem)
call
SetItemCharges
(.Bag, .CountItem)
endif
endif
return
0
endmethod
method
DropItemInSlot
takes
integer
slot
returns
boolean
local
boolean
b =
false
if
.Slot[slot] !=
null
then
call
SetItemVisible
(.Slot[slot],
true
)
if
not
UnitAddItem
(.Owner, .Slot[slot])
then
call
SetItemPosition
(.Slot[slot],
GetUnitX
(.Owner),
GetUnitY
(.Owner))
endif
set
b = .BS.CurSelectSlot ==
this
*.MaxCount+slot
if
b
then
set
.BS.CurSelectSlot = -1
call
SetUnitVertexColor
(.WinSlot[slot].picture, 255, 255, 255, 255)
endif
call
.WinCharge[slot].Show(
false
, 0)
set
.Slot[slot] =
null
call
.WinSlot[slot].SetTexture(TypeTextureBlank)
set
.CountItem = .CountItem - 1
call
SetItemCharges
(.Bag, .CountItem)
endif
return
b
endmethod
endstruct
struct
DESCRIPTITEM
static
real
PosWinX = -0.88
static
real
PosWinY = 0.95
private
BAGSYS BS
private
PICTURE WinDesc
private
PICTURE IconItem
private
TEXT Name
//private TEXT Cost
private
TEXT Desc
static
method
New
takes
BAGSYS bs
returns
DESCRIPTITEM
local
DESCRIPTITEM
this
= DESCRIPTITEM.
create
()
set
.BS = bs
set
.WinDesc = PICTURE.NewCostumModel(.PosWinX, .PosWinY, 1, 0.26,
'dwin'
, 140.002, 122.646,
'D201'
+bs.Race)
set
.IconItem = PICTURE.New(.PosWinX+0.06, .PosWinY-0.06*AspectRatio, 0.07, 0.07*AspectRatio, 0.5, 0)
set
.Name = TEXT.New(.PosWinX+0.15, .PosWinY-0.20, 1)
call
SetTextTagColor
(.Name.text, 80, 80, 255, 255)
//set .Cost = TEXT.New(.PosWinX+0.07, .PosWinY-0.30, 1)
//call SetTextTagColor(.Cost.text, 255, 255, 0, 255)
set
.Desc = TEXT.New(.PosWinX+0.07, .PosWinY-0.95, 1)
return
this
endmethod
method
DescriptionItem
takes
integer
typeitem
returns
nothing
local
string
name
local
integer
cost
local
string
desc
if
typeitem != 0
then
call
.IconItem.SetTexture(GetItemTexture(typeitem))
set
name =
GetObjectName
(typeitem)
set
cost = GetItemCost(typeitem)
set
desc = GetItemDescription(typeitem)
call
SetTextTagText
(.Name.text, name, 10 * 0.0023)
call
.Name.Show(
true
, .BS.Camera)
//if cost != -1 then
// call SetTextTagText(.Cost.text, I2S(cost), 10 * 0.0023)
// call .Cost.Show(true, .BS.Camera)
//else
// call .Cost.Show(false, 0)
//endif
call
SetTextTagText
(.Desc.text, desc, 10 * 0.0023)
call
.Desc.Show(
true
, .BS.Camera)
else
call
.Name.Show(
false
, 0)
//call .Cost.Show(false, 0)
call
.Desc.Show(
false
, 0)
endif
endmethod
method
Show
takes
boolean
show
returns
nothing
call
.WinDesc.Show(show, .BS.Camera)
call
.IconItem.Show(show, .BS.Camera)
call
.Name.Show(show, .BS.Camera)
//call .Cost.Show(show, .BS.Camera)
call
.Desc.Show(show, .BS.Camera)
endmethod
endstruct
globals
private
trigger
TrigPickupItem =
null
private
trigger
TrigMoveItem =
null
private
trigger
TrigUseItem =
null
private
trigger
TrigDropItem =
null
private
conditionfunc
itemisbagcondition =
null
endglobals
struct
BAGSYS
static
constant
integer
MaxCount = 6
private
DESCRIPTITEM DescItem
private
BAG
array
Bags[.MaxCount]
private
integer
Count = 0
integer
CurSelectSlot
private
boolean
Enable
player
p
CAMERA Camera
integer
Race
method
EnableBagSys
takes
nothing
returns
nothing
if
not
.Enable
then
set
.p =
Player
(
this
)
set
.Race = BagH2I(
GetPlayerRace
(.p))-1
set
.CurSelectSlot = -1
set
.Enable =
true
call
TriggerRegisterPlayerUnitEvent
(TrigMoveItem, .p,
EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER
,
null
)
call
TriggerRegisterPlayerUnitEvent
(TrigUseItem, .p,
EVENT_PLAYER_UNIT_USE_ITEM
,
null
)
call
TriggerRegisterPlayerUnitEvent
(TrigDropItem, .p,
EVENT_PLAYER_UNIT_DROP_ITEM
,
null
)
set
.DescItem = DESCRIPTITEM.New(
this
)
endif
endmethod
method
AddBag
takes
BAG b
returns
boolean
if
.Count < .MaxCount
and
b != 0
then
set
.Bags[.Count] = b
call
b.Open(
this
, .Count, .Race)
set
.Count = .Count + 1
return
true
endif
return
false
endmethod
method
RemoveBag
takes
BAG bag
returns
boolean
local
integer
i
local
boolean
b =
false
local
integer
a = 0
if
.Count > 0
and
bag != 0
then
set
.Count = .Count - 1
loop
exitwhen
a > .Count
if
(.Bags[a] == bag)
then
if
.CurSelectSlot>=bag*BAG.MaxCount
and
.CurSelectSlot<(bag+1)*BAG.MaxCount
then
call
.DescriptionItemShow(0)
endif
call
bag.Close()
set
.Bags[a] = 0
set
b =
true
endif
if
(.Bags[a] == 0)
and
(.Bags[a+1] != 0)
then
set
.Bags[a] = .Bags[a+1]
set
.Bags[a+1] = 0
call
.Bags[a].ResetPosition(a)
endif
set
a = a + 1
endloop
endif
return
b
endmethod
method
SetCamera
takes
CAMERA cam
returns
nothing
set
.Camera = cam
endmethod
method
DescriptionItemShow
takes
integer
typeitem
returns
nothing
call
.DescItem.DescriptionItem(typeitem)
call
.DescItem.Show(typeitem != 0)
endmethod
endstruct
function
EnableForPlayerBagSystem
takes
player
p, CAMERA cam
returns
nothing
local
BAGSYS bs =
GetPlayerId
(p)
call
bs.EnableBagSys()
call
bs.SetCamera(cam)
endfunction
private
function
LCkickItemSlot
takes
nothing
returns
nothing
local
BUTTON but = GetTriggerButton()
local
BAG bag = but.CostumValue/BAG.MaxCount
local
BAGSYS bs = bag.BS
local
integer
Slot = but.CostumValue-bag*BAG.MaxCount
call
bag.BS.DescriptionItemShow(bag.ClickSlot(Slot))
endfunction
private
function
RCkickItemSlot
takes
nothing
returns
nothing
local
BUTTON but = GetTriggerButton()
local
BAG bag = but.CostumValue/BAG.MaxCount
local
integer
Slot = but.CostumValue-bag*BAG.MaxCount
if
bag.DropItemInSlot(Slot)
then
call
bag.BS.DescriptionItemShow(0)
endif
endfunction
private
function
MoveItemInBag
takes
nothing
returns
nothing
local
integer
NewSlot =
GetIssuedOrderId
()-0xD0022
local
unit
u =
GetTriggerUnit
()
local
item
New =
UnitItemInSlot
(u, NewSlot)
local
item
Old =
GetOrderTargetItem
()
local
BAG b
if
(Old != New)
and
(
GetItemTypeId
(New) == TypeItemBag)
then
set
b =
GetItemUserData
(New)
call
b.AddItem(Old)
endif
set
u =
null
set
New =
null
set
Old =
null
endfunction
private
function
UseItemBag
takes
nothing
returns
nothing
local
BAGSYS bs =
GetPlayerId
(
GetOwningPlayer
(
GetTriggerUnit
()))
local
item
i =
GetManipulatedItem
()
local
BAG b =
GetItemUserData
(i)
call
SetItemCharges
(i, b.CountItem)
if
b.open
then
call
bs.RemoveBag(b)
else
call
bs.AddBag(b)
endif
set
i =
null
endfunction
private
function
DropBag
takes
nothing
returns
nothing
local
BAGSYS bs =
GetPlayerId
(
GetOwningPlayer
(
GetTriggerUnit
()))
local
BAG b =
GetItemUserData
(
GetManipulatedItem
())
if
b.open
then
call
bs.RemoveBag(b)
endif
endfunction
private
function
RegistrationBag
takes
nothing
returns
nothing
local
item
i =
GetManipulatedItem
()
local
BAG b =
GetItemUserData
(i)
if
(b == 0)
then
set
b = BAG.RegistrationItemBag(i)
endif
set
b.Owner =
GetTriggerUnit
()
set
i =
null
endfunction
private
function
OrderMoveCondition
takes
nothing
returns
boolean
local
integer
o =
GetIssuedOrderId
()
return
0xD0022<=o
and
o<=0xD0027
endfunction
private
function
ItemIsBagCondition
takes
nothing
returns
boolean
return
GetItemTypeId
(
GetManipulatedItem
()) == TypeItemBag
endfunction
private
function
BagsInitTriggers
takes
nothing
returns
nothing
local
integer
i = bj_MAX_PLAYER_SLOTS-1
set
TrigPickupItem =
CreateTrigger
()
loop
exitwhen
i < 0
call
TriggerRegisterPlayerUnitEvent
(TrigPickupItem,
Player
(i),
EVENT_PLAYER_UNIT_PICKUP_ITEM
,
null
)
set
i = i - 1
endloop
call
TriggerAddCondition
(TrigPickupItem, itemisbagcondition)
call
TriggerAddAction
(TrigPickupItem,
function
RegistrationBag)
set
TrigMoveItem =
CreateTrigger
()
call
TriggerAddCondition
(TrigMoveItem,
Condition
(
function
OrderMoveCondition))
call
TriggerAddAction
(TrigMoveItem,
function
MoveItemInBag)
set
TrigUseItem =
CreateTrigger
()
call
TriggerAddCondition
(TrigUseItem, itemisbagcondition)
call
TriggerAddAction
(TrigUseItem,
function
UseItemBag)
set
TrigDropItem =
CreateTrigger
()
call
TriggerAddCondition
(TrigDropItem, itemisbagcondition)
call
TriggerAddAction
(TrigDropItem,
function
DropBag)
endfunction
private
function
Init
takes
nothing
returns
nothing
local
integer
i = 0
call
InventoryInitItemDB_Func(TypeItemBag,
"BTNDust.blp"
,
"Bag for 6 item."
, 0,
true
)
set
FuncLClickSlot =
function
LCkickItemSlot
set
FuncRClickSlot =
function
RCkickItemSlot
set
itemisbagcondition =
Condition
(
function
ItemIsBagCondition)
call
BagsInitTriggers()
loop
exitwhen
i >= 5
set
XPosWin[i ] = 0.35
set
XPosWin[i+5] = -0.35
set
YPosWin[i ] = -0.52+0.36*i
set
YPosWin[i+5] = YPosWin[i]
set
i = i + 1
endloop
set
i = 0
endfunction
endlibrary
Changelog:
- Updated to the current code standards, removed H2I bug
«
Last Edit: January 28, 2018, 09:11:40 AM by moyack
»
Print
Pages:
1
Go Up
« previous
next »
WC3 Modding Information Center
Forum
Warcraft (WC3) Modding
Warcraft III Resources
Warcraft III Spells and Systems
Bags System
Random Spells & Systems
PortaMx-SEF 1.54
|
PortaMx © 2008-2015
,
PortaMx corp.
Search
Username
Password
Always stay logged in
Forgot your password?