2016-04-18 09:08:37 +00:00
/*=================================================================
File created by Yohann NICOLAS .
2016-04-18 09:10:35 +00:00
Add support 1.13 d by L ' Autour .
2021-01-04 07:07:29 +00:00
Add support 1.14 d by haxifix .
2016-04-18 09:08:37 +00:00
Interface stats page functions
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
# include "interface_Stash.h"
# include "updateServer.h"
# include "infinityStash.h"
# include "plugYFiles.h" // Install_PlugYImagesFiles()
2017-01-23 19:34:12 +00:00
# include "common.h"
2016-04-18 09:08:37 +00:00
# include <stdio.h>
2024-04-05 06:17:33 +00:00
# include <ctime> // Include ctime for srand and rand functions
# include <iostream>
# include <fstream>
# include <vector>
# include <string>
# include <cstdlib>
# include <Windows.h>
2016-04-18 09:08:37 +00:00
static struct
{
union {
DWORD all ;
struct {
DWORD previous : 1 ;
DWORD next : 1 ;
DWORD toggleToSharedStash : 1 ;
DWORD previousIndex : 1 ;
DWORD nextIndex : 1 ;
DWORD putGold : 1 ;
DWORD takeGold : 1 ;
2021-01-04 07:07:29 +00:00
DWORD stashName : 1 ;
2016-04-18 09:08:37 +00:00
} ;
} ;
} isDownBtn ;
bool displaySharedSetItemNameInGreen = true ;
2021-01-04 07:07:29 +00:00
int posXPreviousBtn = - 1 ;
int posYPreviousBtn = - 1 ;
int posWPreviousBtn = 32 ;
int posHPreviousBtn = 32 ;
int posXNextBtn = - 1 ;
int posYNextBtn = - 1 ;
int posWNextBtn = 32 ;
int posHNextBtn = 32 ;
int posXSharedBtn = - 1 ;
int posYSharedBtn = - 1 ;
int posWSharedBtn = 32 ;
int posHSharedBtn = 32 ;
int posXPreviousIndexBtn = - 1 ;
int posYPreviousIndexBtn = - 1 ;
int posWPreviousIndexBtn = 32 ;
int posHPreviousIndexBtn = 32 ;
int posXNextIndexBtn = - 1 ;
int posYNextIndexBtn = - 1 ;
int posWNextIndexBtn = 32 ;
int posHNextIndexBtn = 32 ;
int posXPutGoldBtn = - 1 ;
int posYPutGoldBtn = - 1 ;
int posWPutGoldBtn = 32 ;
int posHPutGoldBtn = 32 ;
int posXTakeGoldBtn = - 1 ;
int posYTakeGoldBtn = - 1 ;
int posWTakeGoldBtn = 32 ;
int posHTakeGoldBtn = 32 ;
int posXStashNameField = - 1 ;
int posYStashNameField = - 1 ;
int posWStashNameField = 175 ;
int posHStashNameField = 20 ;
int posXStashGoldField = - 1 ;
int posYStashGoldField = - 1 ;
int posWStashGoldField = 152 ;
int posHStashGoldField = 18 ;
2024-04-05 06:17:33 +00:00
# include <chrono>
2021-01-04 07:07:29 +00:00
DWORD PersonalNormalPageColor = WHITE ;
DWORD PersonalIndexPageColor = DARK_GREEN ;
DWORD PersonalMainIndexPageColor = YELLOW ;
DWORD SharedNormalPageColor = GOLD ;
DWORD SharedIndexPageColor = ORANGE ;
DWORD SharedMainIndexPageColor = RED ;
2016-04-18 09:08:37 +00:00
DWORD getXPreviousBtn ( ) { return RX ( posXPreviousBtn < 0 ? D2GetResolution ( ) ? 0x80 : 0xAF : posXPreviousBtn ) ; }
DWORD getYPreviousBtn ( ) { return RY ( posYPreviousBtn < 0 ? 0x40 : posYPreviousBtn ) ; }
DWORD getXNextBtn ( ) { return RX ( posXNextBtn < 0 ? D2GetResolution ( ) ? 0xA0 : 0xCF : posXNextBtn ) ; } //?169:SEL_X(0x63, 0x63, 0xCF, 0xA0));}
DWORD getYNextBtn ( ) { return RY ( posYNextBtn < 0 ? 0x40 : posYNextBtn ) ; }
DWORD getXSharedBtn ( ) { return RX ( posXSharedBtn < 0 ? D2GetResolution ( ) ? 0x10 : 0x6F : posXSharedBtn ) ; } //17:SEL_X(0xE3, 0xE3, 0x6F, 0x10));}//0xD8
DWORD getYSharedBtn ( ) { return RY ( posYSharedBtn < 0 ? 0x40 : posYSharedBtn ) ; }
DWORD getXPreviousIndexBtn ( ) { return RX ( posXPreviousIndexBtn < 0 ? D2GetResolution ( ) ? 0x60 : 0x8F : posXPreviousIndexBtn ) ; } //73:SEL_X(0x18, 0x60, 0x8F, 0x60));}
DWORD getYPreviousIndexBtn ( ) { return RY ( posYPreviousIndexBtn < 0 ? 0x40 : posYPreviousIndexBtn ) ; }
DWORD getXNextIndexBtn ( ) { return RX ( posXNextIndexBtn < 0 ? D2GetResolution ( ) ? 0xC0 : 0xEF : posXNextIndexBtn ) ; } //217:SEL_X(0x128, 0xC0, 0xEF, 0xC0));}
DWORD getYNextIndexBtn ( ) { return RY ( posYNextIndexBtn < 0 ? 0x40 : posYNextIndexBtn ) ; }
DWORD getXPutGoldBtn ( ) { return RX ( posXPutGoldBtn < 0 ? 0x1C : posXPutGoldBtn ) ; }
DWORD getYPutGoldBtn ( ) { return RY ( posYPutGoldBtn < 0 ? 0x1A8 : posYPutGoldBtn ) ; }
DWORD getXTakeGoldBtn ( ) { return RX ( posXTakeGoldBtn < 0 ? 0x105 : posXTakeGoldBtn ) ; }
DWORD getYTakeGoldBtn ( ) { return RY ( posYTakeGoldBtn < 0 ? 0x1A8 : posYTakeGoldBtn ) ; }
2021-01-04 07:07:29 +00:00
DWORD getXStashNameField ( ) { return RX ( posXStashNameField < 0 ? 0x4A : posXStashNameField ) ; }
DWORD getYStashNameField ( ) { return RY ( posYStashNameField < 0 ? 0x19A : posYStashNameField ) ; }
DWORD getXStashGoldField ( ) { return RX ( posXStashGoldField < 0 ? 0x61 : posXStashGoldField ) ; }
DWORD getYStashGoldField ( ) { return RY ( posYStashGoldField < 0 ? 0x1B6 : posYStashGoldField ) ; }
2016-04-18 09:08:37 +00:00
//closeBtn x: D2C=0x113 LOD=0x110(0->0x28) y: D2C=0x41 LOD=0x40 (-0x23 -> 5)
2021-01-04 07:07:29 +00:00
# define isOnButtonNextStash(x,y) isOnRect(x, y, getXNextBtn(), getYNextBtn(), posWNextBtn, posHNextBtn)
# define isOnButtonPreviousStash(x,y) isOnRect(x, y, getXPreviousBtn(), getYPreviousBtn(), posWPreviousBtn, posHPreviousBtn)
# define isOnButtonToggleSharedStash(x,y) isOnRect(x, y, getXSharedBtn(), getYSharedBtn(), posWSharedBtn, posHSharedBtn)
# define isOnButtonNextIndexStash(x,y) isOnRect(x, y, getXNextIndexBtn(), getYNextIndexBtn(), posWNextIndexBtn, posHNextIndexBtn)
# define isOnButtonPreviousIndexStash(x,y) isOnRect(x, y, getXPreviousIndexBtn(), getYPreviousIndexBtn(), posWPreviousIndexBtn, posHPreviousIndexBtn)
# define isOnButtonPutGold(x,y) isOnRect(x, y, getXPutGoldBtn(), getYPutGoldBtn(), posWPutGoldBtn, posHPutGoldBtn)
# define isOnButtonTakeGold(x,y) isOnRect(x, y, getXTakeGoldBtn(), getYTakeGoldBtn(), posWTakeGoldBtn, posHTakeGoldBtn)
# define isOnStashNameField(x,y) isOnRect(x, y, getXStashNameField(), getYStashNameField(), posWStashNameField, posHStashNameField)
# define isOnStashGoldField(x,y) isOnRect(x, y, getXStashGoldField(), getYStashGoldField(), posWStashGoldField, posHStashGoldField)
2016-04-18 09:08:37 +00:00
2021-01-04 07:07:29 +00:00
void UpdateStashPosition ( )
{
//static int isInstalled = false;
//if (isInstalled) return;
2016-04-18 09:08:37 +00:00
2021-01-04 07:07:29 +00:00
InventoryBIN * inventory = D2GetInventoryBIN ( ) ;
if ( inventory - > gridY = = 15 )
{
posXPreviousBtn = 127 ;
posYPreviousBtn = 500 ;
posXNextBtn = 159 ;
posYNextBtn = 500 ;
posXSharedBtn = 28 ;
posYSharedBtn = 21 ;
posXPreviousIndexBtn = 95 ;
posYPreviousIndexBtn = 500 ;
posXNextIndexBtn = 191 ;
posYNextIndexBtn = 500 ;
posXPutGoldBtn = 28 ;
posYPutGoldBtn = 500 ;
posXTakeGoldBtn = 259 ;
posYTakeGoldBtn = 500 ;
//posXStashNameField = -1;
posYStashNameField = 16 ;
//posXStashGoldField = -1;
posYStashGoldField = 36 ;
}
}
2016-04-18 09:08:37 +00:00
void * STDCALL printBtns ( )
{
if ( onRealm | | ! D2isLODGame ( ) ) return D2LoadBuySelBtn ( ) ;
Unit * ptChar = D2GetClientPlayer ( ) ;
sDrawImageInfo data ;
ZeroMemory ( & data , sizeof ( data ) ) ;
setImage ( & data , stashBtnsImages ) ;
setFrame ( & data , 0 + isDownBtn . previous ) ;
D2PrintImage ( & data , getXPreviousBtn ( ) , getYPreviousBtn ( ) , - 1 , 5 , 0 ) ;
setFrame ( & data , 2 + isDownBtn . next ) ;
D2PrintImage ( & data , getXNextBtn ( ) , getYNextBtn ( ) , - 1 , 5 , 0 ) ;
if ( active_sharedStash )
{
setFrame ( & data , 4 + isDownBtn . toggleToSharedStash + ( PCPY - > showSharedStash ? 2 : 0 ) ) ;
D2PrintImage ( & data , getXSharedBtn ( ) , getYSharedBtn ( ) , - 1 , 5 , 0 ) ;
}
setFrame ( & data , 8 + isDownBtn . previousIndex ) ;
D2PrintImage ( & data , getXPreviousIndexBtn ( ) , getYPreviousIndexBtn ( ) , - 1 , 5 , 0 ) ;
setFrame ( & data , 10 + isDownBtn . nextIndex ) ;
D2PrintImage ( & data , getXNextIndexBtn ( ) , getYNextIndexBtn ( ) , - 1 , 5 , 0 ) ;
if ( active_sharedGold )
{
setImage ( & data , sharedGoldBtnsImages ) ;
setFrame ( & data , 0 + isDownBtn . putGold ) ;
D2PrintImage ( & data , getXPutGoldBtn ( ) , getYPutGoldBtn ( ) , - 1 , 5 , 0 ) ;
setFrame ( & data , 2 + isDownBtn . takeGold ) ;
D2PrintImage ( & data , getXTakeGoldBtn ( ) , getYTakeGoldBtn ( ) , - 1 , 5 , 0 ) ;
}
LPWSTR lpText ;
DWORD mx = D2GetMouseX ( ) ;
DWORD my = D2GetMouseY ( ) ;
D2SetFont ( 1 ) ;
if ( isOnButtonPreviousStash ( mx , my ) ) {
2017-01-23 19:34:12 +00:00
lpText = getLocalString ( STR_STASH_PREVIOUS_PAGE ) ;
2021-01-04 07:07:29 +00:00
D2PrintPopup ( lpText , getXPreviousBtn ( ) + posWPreviousBtn / 2 , getYPreviousBtn ( ) - posHPreviousBtn , WHITE , 1 ) ;
2016-04-18 09:08:37 +00:00
} else if ( isOnButtonNextStash ( mx , my ) ) {
2017-01-23 19:34:12 +00:00
lpText = getLocalString ( STR_STASH_NEXT_PAGE ) ;
2021-01-04 07:07:29 +00:00
D2PrintPopup ( lpText , getXNextBtn ( ) + posWNextBtn / 2 , getYNextBtn ( ) - posHNextBtn , WHITE , 1 ) ;
} else if ( isOnButtonToggleSharedStash ( mx , my ) ) {
if ( active_sharedStash ) {
lpText = getLocalString ( PCPY - > showSharedStash ? STR_TOGGLE_TO_PERSONAL : STR_TOGGLE_TO_SHARED ) ;
D2PrintPopup ( lpText , getXSharedBtn ( ) + posWSharedBtn / 2 , getYSharedBtn ( ) - posHSharedBtn , WHITE , 1 ) ;
} else if ( active_SharedStashInMultiPlayer = = 1 ) {
lpText = getLocalString ( STR_TOGGLE_MULTI_DISABLED ) ;
D2PrintPopup ( lpText , getXPreviousIndexBtn ( ) + posWPreviousIndexBtn / 2 , getYPreviousIndexBtn ( ) - posHPreviousIndexBtn , WHITE , 1 ) ;
}
2016-04-18 09:08:37 +00:00
} else if ( isOnButtonPreviousIndexStash ( mx , my ) ) {
2021-01-04 07:07:29 +00:00
lpText = getLocalString ( STR_STASH_PREVIOUS_INDEX ) ;
D2PrintPopup ( lpText , getXPreviousIndexBtn ( ) + posWPreviousIndexBtn / 2 , getYPreviousIndexBtn ( ) - posHPreviousIndexBtn , WHITE , 1 ) ;
2016-04-18 09:08:37 +00:00
} else if ( isOnButtonNextIndexStash ( mx , my ) ) {
2021-01-04 07:07:29 +00:00
lpText = getLocalString ( STR_STASH_NEXT_INDEX ) ;
D2PrintPopup ( lpText , getXNextIndexBtn ( ) + posWNextIndexBtn / 2 , getYNextIndexBtn ( ) - posHNextIndexBtn , WHITE , 1 ) ;
2016-04-18 09:08:37 +00:00
} else if ( active_sharedGold & & isOnButtonPutGold ( mx , my ) ) {
2017-01-23 19:34:12 +00:00
lpText = getLocalString ( STR_PUT_GOLD ) ;
2021-01-04 07:07:29 +00:00
D2PrintPopup ( lpText , getXPutGoldBtn ( ) + posWPutGoldBtn / 2 , getYPutGoldBtn ( ) - posHPutGoldBtn , WHITE , 1 ) ;
2016-04-18 09:08:37 +00:00
} else if ( active_sharedGold & & isOnButtonTakeGold ( mx , my ) ) {
2017-01-23 19:34:12 +00:00
lpText = getLocalString ( STR_TAKE_GOLD ) ;
2021-01-04 07:07:29 +00:00
D2PrintPopup ( lpText , getXTakeGoldBtn ( ) + posWTakeGoldBtn / 2 , getYTakeGoldBtn ( ) - posHTakeGoldBtn , WHITE , 1 ) ;
2016-04-18 09:08:37 +00:00
}
return D2LoadBuySelBtn ( ) ;
}
DWORD STDCALL manageBtnDown ( sWinMessage * msg )
{
if ( onRealm | | ! D2isLODGame ( ) ) return 0 ;
if ( isOnButtonPreviousStash ( msg - > x , msg - > y ) )
isDownBtn . previous = 1 ;
else if ( isOnButtonNextStash ( msg - > x , msg - > y ) )
isDownBtn . next = 1 ;
else if ( active_sharedStash & & isOnButtonToggleSharedStash ( msg - > x , msg - > y ) )
isDownBtn . toggleToSharedStash = 1 ;
else if ( isOnButtonPreviousIndexStash ( msg - > x , msg - > y ) )
isDownBtn . previousIndex = 1 ;
else if ( isOnButtonNextIndexStash ( msg - > x , msg - > y ) )
isDownBtn . nextIndex = 1 ;
else if ( active_sharedGold & & isOnButtonPutGold ( msg - > x , msg - > y ) )
isDownBtn . putGold = 1 ;
else if ( active_sharedGold & & isOnButtonTakeGold ( msg - > x , msg - > y ) )
isDownBtn . takeGold = 1 ;
2021-01-04 07:07:29 +00:00
else if ( isOnStashNameField ( msg - > x , msg - > y ) )
isDownBtn . stashName = 1 ;
2016-04-18 09:08:37 +00:00
else return 0 ;
D2PlaySound ( 4 , 0 , 0 , 0 , 0 ) ;
freeMessage ( msg ) ;
return 1 ;
}
2021-01-04 07:07:29 +00:00
2016-04-18 09:08:37 +00:00
DWORD STDCALL manageBtnUp ( sWinMessage * msg )
{
if ( onRealm | | ! D2isLODGame ( ) ) return 0 ;
Unit * ptChar = D2GetClientPlayer ( ) ;
if ( isOnButtonPreviousStash ( msg - > x , msg - > y ) ) {
log_msg ( " push up left button previous \n " ) ;
if ( isDownBtn . previous )
if ( GetKeyState ( VK_SHIFT ) < 0 )
updateServer ( US_SELECT_PREVIOUS2 ) ;
else
updateServer ( US_SELECT_PREVIOUS ) ;
} else if ( isOnButtonNextStash ( msg - > x , msg - > y ) ) {
log_msg ( " push up left button next \n " ) ;
if ( isDownBtn . next )
if ( GetKeyState ( VK_SHIFT ) < 0 )
updateServer ( US_SELECT_NEXT2 ) ;
else
updateServer ( US_SELECT_NEXT ) ;
} else if ( active_sharedStash & & isOnButtonToggleSharedStash ( msg - > x , msg - > y ) ) {
log_msg ( " push up left button shared \n " ) ;
if ( isDownBtn . toggleToSharedStash )
if ( PCPY - > showSharedStash )
updateServer ( US_SELECT_SELF ) ;
2021-01-04 07:07:29 +00:00
else
2016-04-18 09:08:37 +00:00
updateServer ( US_SELECT_SHARED ) ;
} else if ( isOnButtonPreviousIndexStash ( msg - > x , msg - > y ) ) {
log_msg ( " select left button previous index \n " ) ;
if ( isDownBtn . previousIndex )
if ( GetKeyState ( VK_SHIFT ) < 0 )
updateServer ( US_SELECT_PREVIOUS_INDEX2 ) ;
else
updateServer ( US_SELECT_PREVIOUS_INDEX ) ;
} else if ( isOnButtonNextIndexStash ( msg - > x , msg - > y ) ) {
log_msg ( " push up left button next index \n " ) ;
if ( isDownBtn . nextIndex )
if ( GetKeyState ( VK_SHIFT ) < 0 )
updateServer ( US_SELECT_NEXT_INDEX2 ) ;
else
updateServer ( US_SELECT_NEXT_INDEX ) ;
} else if ( active_sharedGold & & isOnButtonPutGold ( msg - > x , msg - > y ) ) {
log_msg ( " push up left put gold \n " ) ;
if ( isDownBtn . putGold )
updateServer ( US_PUTGOLD ) ;
} else if ( active_sharedGold & & isOnButtonTakeGold ( msg - > x , msg - > y ) ) {
log_msg ( " push up left take gold \n " ) ;
if ( isDownBtn . takeGold )
updateServer ( US_TAKEGOLD ) ;
2021-01-04 07:07:29 +00:00
} else if ( isOnStashNameField ( msg - > x , msg - > y ) ) {
log_msg ( " push up left Stash Name \n " ) ;
if ( isDownBtn . stashName & & PCPY - > currentStash )
{
if ( GetKeyState ( VK_SHIFT ) < 0 )
{
WCHAR text [ 21 ] ;
getCurrentStashName ( text , 21 , ptChar ) ;
D2TogglePage ( 5 , 0 , 0 ) ; // Open command window
_snwprintf ( ptInputCommand , 25 , L " /rp %s " , text ) ;
InputCommandLen = wcslen ( ptInputCommand ) ;
}
else if ( PCPY - > currentStash - > isMainIndex )
updateServer ( US_RESET_INDEX ) ;
else if ( PCPY - > currentStash - > isIndex )
updateServer ( US_SET_MAIN_INDEX ) ;
else
updateServer ( US_SET_INDEX ) ;
}
2016-04-18 09:08:37 +00:00
} else return 0 ;
return 1 ;
}
2024-04-19 10:03:20 +00:00
int frame = 0 ;
long nEndTime = 0 ;
int nTip = 0 ;
2024-04-19 11:47:43 +00:00
long DURATION = 5000 ;
2024-04-19 10:03:20 +00:00
std : : vector < std : : wstring > diablo2Tips = {
L " Consume spirits like potions to increase Spirits Quaffed stat in character stat sheet page. " ,
L " Cube Souls with Energy Sphere to capture Soul Energy and use it to create powerful items. Recipes will come later. " ,
L " Collect Demon souls from demons and regular souls from monsters; Demon souls morph you into the demon whose soul you have. " ,
L " Spirits can be consumed like potions or put on as rings to add to Souls Consumed count. " ,
L " Cube underused magic/rare/set/unique items with Energy Sphere to collect their magic energy for creating new items. " ,
L " Cube white items with Energy Sphere to break down into simple item parts for creating base item types with smithing hammers. " ,
L " Use Rare Shard, Set Stone, or Unique Particle with smithing hammers and Energy Sphere to create rare/set/unique items. " ,
L " Acquire smithing hammers to create base item types, each requiring X number of collected item parts. " ,
L " Capture Talisman of Corruption and cube to corrupt items for new magical properties; a gamble with potential rewards. " ,
L " Use Experience Book for extra experience, Infinite Mana Elixir for massive mana regeneration, and Regeneration Elixir for life regeneration. " ,
L " Use Elixirs to permanently boost stats like Strength, Dexterity, Health, Stamina, Mana, and resistances. " ,
L " Equip Sling Stone for increased throwing potion damage, various elemental stones for resistance boosts, and Mastery Stones for skill damage boosts. " ,
L " Use Portable Shrines for temporary buffs like increased defense, damage, experience gained, mana regeneration, and skill levels. " ,
L " In Ironman, gold is nonexistent, town portals are disabled; rely on items, waypoints, and strategic gameplay to progress. " ,
L " Inventory management is critical; use items conservatively and intelligently switch gear based on monster types and situations. " ,
L " Hybrid character builds and creative weapon choices are encouraged in Ironman; experiment and adapt strategies accordingly. " ,
L " Protect hirelings actively as they are essential allies; they can be hired for 0 gold but lose items if they die. " ,
L " Coordinate with teammates in MultiPlayer; teamwork, resource sharing, and strategy are key to success in Ironman. " ,
L " In Hardcore Ironman, caution and careful planning are crucial; falling back, potion management, and adaptability are essential for survival. " ,
L " Utilize waypoints for inter-level travel in Ironman; waypoints become crucial for navigating the game world. " ,
L " Always have backup gear in your backpack in Ironman; switch out gear intelligently based on monster types and challenges. " ,
L " Experiment with different weapons and gear in Ironman; adapt your strategies to overcome various monster types and situations. " ,
L " Keep a close watch on your hirelings' health in Ironman; losing a hireling means losing their equipped items as well. " ,
L " Plan and communicate effectively in MultiPlayer Ironman games; teamwork and coordination are key to overcoming challenges. " ,
L " Be conservative with resources in Hardcore Ironman; strategic planning and careful execution are vital for survival. " ,
L " Craft rare/set/unique items using collected item parts and smithing hammers in Ironman; choose item types wisely for your build. " ,
L " Capture and corrupt items using Talisman of Corruption for new magical properties in Ironman; take calculated risks for potential rewards. " ,
L " Use Portable Shrines strategically in Ironman for temporary buffs; timing and placement of shrines can turn the tide of battle. " ,
L " Keep track of Souls Consumed and Spirits Quaffed stats in Ironman; they reflect your progress and resource utilization in the game. " ,
L " Enhance your character with Elixirs and Stones for permanent stat boosts and bonuses in Ironman; plan your upgrades wisely. " ,
L " Master the art of retreating and regrouping in Hardcore Ironman; strategic fallbacks can save your character's life in tough situations. " ,
L " Stay vigilant and adapt your strategies in MultiPlayer Ironman games; synergy and cooperation with teammates are essential for success. " ,
L " Experiment with different skill synergies and builds in Ironman; explore the full potential of your character's abilities. " ,
L " Craft and equip powerful unique items using collected Magic Essence Points and recipes in Ironman; customize your gear for optimal performance. " ,
L " Explore new areas and challenges in Ironman; discover hidden secrets and encounters by venturing off the beaten path. " ,
L " Combine different magic/rare/set/unique items with the Energy Sphere to collect their magic energy in Ironman. " ,
L " Cube white items with the Energy Sphere to break them down into simple item parts for crafting in Ironman. " ,
L " Use smithing hammers with the Energy Sphere to create base item types for crafting in Ironman. " ,
L " Combine Rare Shard, Set Stone, or Unique Particle with base item types and Magic Essence Points to create rare/set/unique items in Ironman. " ,
L " Cube Souls with the Energy Sphere to capture their energy and use it for creating more powerful items in Ironman. " ,
L " + to Amazon Skills increases the Minimum and Maximum skill levels for Amazon skills. " ,
L " + to Assassin Skills increases the Minimum and Maximum skill levels for Assassin skills. " ,
L " + to Barbarian Skills increases the Minimum and Maximum skill levels for Barbarian skills. " ,
L " + to Druid Skills increases the Minimum and Maximum skill levels for Druid skills. " ,
L " + to Necromancer Skills increases the Minimum and Maximum skill levels for Necromancer skills. " ,
L " + to Paladin Skills increases the Minimum and Maximum skill levels for Paladin skills. " ,
L " + to Sorceress Skills increases the Minimum and Maximum skill levels for Sorceress skills. " ,
L " + to All Skills increases the Minimum and Maximum skill levels for all skills. " ,
L " + to Fire Skills increases the Minimum and Maximum skill levels for Fire skills. " ,
L " + to Cold Skills increases the Minimum and Maximum skill levels for Cold skills. " ,
L " + to Lightning Skills increases the Minimum and Maximum skill levels for Lightning skills. " ,
L " + to Poison Skills increases the Minimum and Maximum skill levels for Poison skills. " ,
L " + to Magic Skills increases the Minimum and Maximum skill levels for Magic skills. " ,
L " + to Single Skills increases the Minimum and Maximum levels for a specific skill. " ,
L " + to Single Skill Tabs increases the Minimum and Maximum levels for a specific skill tab. " ,
L " Chance to cast a skill when attacking triggers a specified skill with a certain chance and skill level. " ,
L " Chance to cast a skill when hitting triggers a specified skill with a certain chance and skill level. " ,
L " Chance to cast a skill when getting hit triggers a specified skill with a certain chance and skill level. " ,
L " Skill Charges grant a certain number of charges to a specific skill with a designated skill level. " ,
L " Using an Aura when equipped activates a specified aura skill with Minimum and Maximum levels. " ,
L " Cast a skill when a monster is killed has a chance to trigger a specified skill at a certain skill level. " ,
L " Cast a skill when a player is killed has a chance to trigger a specified skill at a certain skill level. " ,
L " Cast a skill when a player level-up has a chance to trigger a specified skill at a certain skill level. " ,
L " Spawns a random skill within a range of specified skills with corresponding skill levels. " ,
L " + to other char classes grants skills from other character classes with Minimum and Maximum levels. " ,
L " + to AC increases the Armor Class within a specified range. " ,
L " + X to AC per level increases Armor Class by a certain value per character level. " ,
L " + X to AC Based on Strength increases Armor Class based on Strength by a certain value. " ,
L " + X to AC Based on Dexterity increases Armor Class based on Dexterity by a certain value. " ,
L " +% to AC increases Armor Class by a percentage within a specified range. " ,
L " +% X to AC per level increases Armor Class by a certain percentage per character level. " ,
L " +% X to AC Based on Strength increases Armor Class based on Strength by a certain percentage. " ,
L " +% X to AC Based on Dexterity increases Armor Class based on Dexterity by a certain percentage. " ,
L " + to AC vs Melee increases Armor Class against melee attacks within a specified range. " ,
L " + to AC vs Missiles increases Armor Class against missile attacks within a specified range. " ,
L " + to Durability increases the durability of an item within a specified range. " ,
L " +% to Durability increases the durability of an item by a percentage within a specified range. " ,
L " Indestructible makes an item not lose durability. " ,
L " Repair 1 Dur per 100/X seconds repairs an item's durability over time. " ,
L " Repair 1 Qnt per 100/X seconds repairs an item's quantity over time. " ,
L " Increase Stack by X amount increases the stack size of an item by a certain value. " ,
L " + to AR increases Attack Rating within a specified range. " ,
L " + Attack Rating per level increases Attack Rating by a certain value per character level. " ,
L " + Attack Rating based on Strength increases Attack Rating based on Strength by a certain value. " ,
L " + Attack Rating based on Dexterity increases Attack Rating based on Dexterity by a certain value. " ,
L " +% to AR increases Attack Rating by a percentage within a specified range. " ,
L " +% AR per level increases Attack Rating by a certain percentage per character level. " ,
L " +% AR based on Strength increases Attack Rating based on Strength by a certain percentage. " ,
L " +% AR based on Dexterity increases Attack Rating based on Dexterity by a certain percentage. " ,
L " + to AR vs Demons increases Attack Rating against Demons within a specified range. " ,
L " + to AR vs Undead increases Attack Rating against Undead within a specified range. " ,
L " +% to AR vs Montype increases Attack Rating against a specified monster type within a specified range. " ,
L " + to Damage increases both Minimum and Maximum damage values for an item within a specified range. " ,
L " +% to Damage increases both Minimum and Maximum damage values by a percentage within a specified range. " ,
L " + to Minimum Damage increases Minimum damage within a specified range. " ,
L " + to Minimum Damage per Level increases Minimum damage by a certain value per character level. " ,
L " + to Minimum Damage based on Strength increases Minimum damage based on Strength by a certain value. " ,
L " + to Minimum Damage based on Dexterity increases Minimum damage based on Dexterity by a certain value. " ,
L " +% to Minimum Damage per level increases Minimum damage by a percentage per character level. " ,
L " + to Maximum Damage increases Maximum damage within a specified range. " ,
L " + to Maximum Damage per level increases Maximum damage by a certain value per character level. " ,
L " + to Maximum Damage based on Strength increases Maximum damage based on Strength by a certain value. " ,
L " + to Maximum Damage based on Dexterity increases Maximum damage based on Dexterity by a certain value. " ,
L " +% to Maximum damage per level increases Maximum damage by a percentage per character level. " ,
L " +% to Maximum Damage based on Strength increases Maximum damage based on Strength by a certain percentage. " ,
L " +% to Maximum Damage based on Dexterity increases Maximum damage based on Dexterity by a certain percentage. " ,
L " + to Minimum & Maximum Damage increases both Minimum and Maximum damage values for an item within a specified range. " ,
L " +% to Damage vs Demons increases damage against Demons within a specified range. " ,
L " +% damage to demons per level increases damage against Demons by a certain percentage per character level. " ,
L " +% to Damage vs Undead increases damage against Undead within a specified range. " ,
L " +% damage to undead per level increases damage against Undead by a certain percentage per character level. " ,
L " +% to crushing blow increases the chance to cause a crushing blow within a specified range. " ,
L " +% crushing blow per level increases the chance to cause a crushing blow by a certain percentage per character level. " ,
L " +% crushing blow based on Strength increases the chance to cause a crushing blow based on Strength by a certain percentage. " ,
L " +% crushing blow based on Dexterity increases the chance to cause a crushing blow based on Dexterity by a certain percentage. " ,
L " +% to deadly strike increases the chance to cause a deadly strike within a specified range. " ,
L " +% deadly strike per level increases the chance to cause a deadly strike by a certain percentage per character level. " ,
L " +% deadly strike based on Strength increases the chance to cause a deadly strike based on Strength by a certain percentage. " ,
L " +% deadly strike Based on Dexterity increases the chance to cause a deadly strike based on Dexterity by a certain percentage. " ,
L " + to throw damage increases throwing damage within a specified range. " ,
L " +% to Damage vs Montype increases damage against a specified monster type within a specified range. " ,
L " Ignores Target Defense (ITD) ignores the target's defense. " ,
L " +% pierce increases the chance to pierce enemy resistances within a specified range. " ,
L " +% pierce based on Level increases the chance to pierce enemy resistances based on character level. " ,
L " +% pierce based on Strength increases the chance to pierce enemy resistances based on Strength. " ,
L " Knockback has a chance to knockback enemies on hit. " ,
L " +% life stolen grants life steal within a specified range. " ,
L " +% mana stolen grants mana steal within a specified range. " ,
L " +# mana after each kill grants mana regeneration after each kill within a specified range. " ,
L " +# after each demon kill grants health after each demon kill within a specified range. " ,
L " Prevents monster healing prevents monsters from healing. " ,
L " +% chance to cause open wounds increases the chance to cause open wounds within a specified range. " ,
L " +% open wounds per level increases the chance to cause open wounds based on character level. " ,
L " +% open wounds based on Strength increases the chance to cause open wounds based on Strength. " ,
L " +% open wounds Based on Dexterity increases the chance to cause open wounds based on Dexterity. " ,
L " Enemy Is slowed by X% slows enemies by a percentage within a specified range. " ,
L " Enemy Is slowed by X% based on Level slows enemies based on character level. " ,
L " Chance to Blind Target has a chance to blind the target. " ,
L " Chance to Blind Target based on Level has a chance to blind the target based on character level. " ,
L " Freeze Target X seconds freezes the target for a specified duration. " ,
L " Freeze Target X seconds based on Level freezes the target based on character level. " ,
L " Freeze Target X seconds based on Energy freezes the target based on character Energy. " ,
L " Reduce AC by X% reduces the target's Armor Class by a percentage within a specified range. " ,
L " Reduce AC by X reduces the target's Armor Class within a specified range. " ,
L " + to Kicking Damage increases kicking damage within a specified range. " ,
L " + Kick damage per level increases kicking damage based on character level. " ,
L " + Kick damage based on Strength increases kicking damage based on Strength. " ,
L " + Kick damage based on Dexterity increases kicking damage based on Dexterity. " ,
L " +% chance to reanimate target increases the chance to reanimate a target within a specified range. " ,
L " Reduces monster fire resistance reduces a monster's fire resistance within a specified range. " ,
L " Reduces monster lightning resistance reduces a monster's lightning resistance within a specified range. " ,
L " Reduces monster cold resistance reduces a monster's cold resistance within a specified range. " ,
L " Reduces monster poison resistance reduces a monster's poison resistance within a specified range. " ,
L " HP gained after every kill grants health regeneration after each kill within a specified range. " ,
L " Corspe cannot be ressurected/Targeted prevents corpses from being resurrected or targeted. " ,
L " +% damage taken goes to mana converts a percentage of damage taken to mana within a specified range. " ,
L " Damage reduced by X amount reduces incoming damage by a specific amount within a specified range. " ,
L " Damage reduced by X% reduces incoming damage by a percentage within a specified range. " ,
L " Damage reduced by X% based on Level reduces incoming damage based on character level. " ,
L " Damage reduced by X% based on Vitality reduces incoming damage based on character Vitality. " ,
L " Magic damage reduced by X reduces incoming magic damage within a specified range. " ,
L " Magic damage reduced by X per Level reduces incoming magic damage based on character level. " ,
L " Magic damage reduced by X per Energy reduces incoming magic damage based on character Energy. " ,
L " Attacker takes X damage when hitting causes an attacker to take damage when hitting. " ,
L " Attacker takes X damage per level causes an attacker to take damage based on character level. " ,
L " Attacker takes X ltng dmg when hitting causes an attacker to take lightning damage when hitting. " ,
L " Attacker takes X fire dmg when hitting causes an attacker to take fire damage when hitting. " ,
L " Attacker takes X cold dmg when hitting causes an attacker to take cold damage when hitting. " ,
L " Attacker X chance to flee when hitting gives the attacker a chance to flee when hitting. " ,
L " Attacker X chance get blinded when hitting gives the attacker a chance to get blinded when hitting. " ,
L " Cold Damage adds cold damage to attacks or skills over a specified duration. " ,
L " Minimum Cold Damage sets the minimum cold damage for attacks or skills. " ,
L " Maximum Cold Damage sets the maximum cold damage for attacks or skills. " ,
L " Cold Duration sets the duration of cold effects caused by attacks or skills. " ,
L " Poison Damage adds poison damage to attacks or skills over a specified duration. " ,
L " Minimum Poison Damage sets the minimum poison damage for attacks or skills. " ,
L " Maximum Poison Damage sets the maximum poison damage for attacks or skills. " ,
L " Poison Duration sets the duration of poison effects caused by attacks or skills. " ,
L " Damage per Poison Level increases poison damage per character level. " ,
L " Poison Length Reduction reduces the duration of poison effects caused by attacks or skills. " ,
L " Poison Length Reduction per level reduces the duration of poison effects based on character level. " ,
L " Poison Length Reduction per Vitality reduces the duration of poison effects based on character Vitality. " ,
L " Fire Damage adds fire damage to attacks or skills over a specified duration. " ,
L " Minimum Fire Damage sets the minimum fire damage for attacks or skills. " ,
L " Maximum Fire Damage sets the maximum fire damage for attacks or skills. " ,
L " Fire Duration sets the duration of fire effects caused by attacks or skills. " ,
L " Fire Length Reduction reduces the duration of fire effects caused by attacks or skills. " ,
L " Fire Length Reduction per level reduces the duration of fire effects based on character level. " ,
L " Fire Length Reduction per Vitality reduces the duration of fire effects based on character Vitality. " ,
L " Lightning Damage adds lightning damage to attacks or skills over a specified duration. " ,
L " Minimum Lightning Damage sets the minimum lightning damage for attacks or skills. " ,
L " Maximum Lightning Damage sets the maximum lightning damage for attacks or skills. " ,
L " Lightning Duration sets the duration of lightning effects caused by attacks or skills. " ,
L " Magic Damage adds magic damage to attacks or skills over a specified duration. " ,
L " Minimum Magic Damage sets the minimum magic damage for attacks or skills. " ,
L " Maximum Magic Damage sets the maximum magic damage for attacks or skills. " ,
L " Magic Duration sets the duration of magic effects caused by attacks or skills. " ,
L " Damage per Magic Level increases magic damage per character level. " ,
L " Magic Resistance Reduction reduces enemy resistance against magic attacks. " ,
L " Monster Flee X% causes monsters to flee with a certain chance. " ,
L " Chance to create an explosion creates an explosion with a certain chance. " ,
L " Fire explosive arrows causes arrows to explode on impact with a certain chance. " ,
L " Half Freeze Duration halves the duration of freeze effects. " ,
L " Cannot be Frozen prevents the character from being frozen. " ,
L " +% to Resist All increases resistance to all damage types within a specified range. " ,
L " +% to Resist All based on Level increases resistance to all damage types based on character level. " ,
L " +% to Resist Cold increases resistance to cold damage within a specified range. " ,
L " +% to Resist Cold per level increases resistance to cold damage based on character level. " ,
L " +% to Resist Fire increases resistance to fire damage within a specified range. " ,
L " +% to Resist Fire per level increases resistance to fire damage based on character level. " ,
L " +% to Resist Lightning increases resistance to lightning damage within a specified range. " ,
L " +% to Resist Lightning per level increases resistance to lightning damage based on character level. " ,
L " +% to Resist Poison increases resistance to poison damage within a specified range. " ,
L " +% to Resist Poison per level increases resistance to poison damage based on character level. " ,
L " +% to Resist Magic increases resistance to magic damage within a specified range. " ,
L " +% to Resist Magic based on Level increases resistance to magic damage based on character level. " ,
L " +% to Resist Magic based on Energy increases resistance to magic damage based on character Energy. " ,
L " +% to Maximum Resist All increases maximum resistance to all damage types within a specified range. " ,
L " +% to Maximum Resist Cold increases maximum resistance to cold damage within a specified range. " ,
L " +% to Maximum Resist Fire increases maximum resistance to fire damage within a specified range. " ,
L " +% to Maximum Resist Lightning increases maximum resistance to lightning damage within a specified range. " ,
L " +% to Maximum Resist Poison increases maximum resistance to poison damage within a specified range. " ,
L " +% to Maximum Resist Magic increases maximum resistance to magic damage within a specified range. " ,
L " Reduce Poison Duration reduces the duration of poison effects on the character. " ,
L " Reduce Poison Duration per Level reduces the duration of poison effects based on character level. " ,
L " Reduce Poison Duration per Vitality reduces the duration of poison effects based on character Vitality. " ,
L " Reduce Curse Duration reduces the duration of curse effects on the character. " ,
L " Reduce Curse Duration per Level reduces the duration of curse effects based on character level. " ,
L " Reduce Curse Duration per Energy reduces the duration of curse effects based on character Energy. " ,
L " Presence of 'res-all-max-hidden', 'res-all-hidden', 'res-all-max%', 'all-zero-display' on the same item displays and modifies all resistances. " ,
L " + to Dexterity increases Dexterity within a specified range. " ,
L " + to Dexterity per level increases Dexterity by a certain value per character level. " ,
L " +% to Dexterity increases Dexterity by a percentage within a specified range. " ,
L " +% to Dexterity per level increases Dexterity by a percentage per character level. " ,
L " + to Strength increases Strength within a specified range. " ,
L " + to Strength per level increases Strength by a certain value per character level. " ,
L " +% to Strength increases Strength by a percentage within a specified range. " ,
L " +% to Strength per level increases Strength by a percentage per character level. " ,
L " + to Vitality increases Vitality within a specified range. " ,
L " + to Vitality per level increases Vitality by a certain value per character level. " ,
L " +% to Vitality increases Vitality by a percentage within a specified range. " ,
L " +% to Vitality per level increases Vitality by a percentage per character level. " ,
L " + to Energy increases Energy within a specified range. " ,
L " + to Energy per level increases Energy by a certain value per character level. " ,
L " +% to Energy increases Energy by a percentage within a specified range. " ,
L " +% to Energy per level increases Energy by a percentage per character level. " ,
L " Adds + to All stats increases all stats within a specified range. " ,
L " + to Health increases Health within a specified range. " ,
L " + to Health per level increases Health by a certain value per character level. " ,
L " + to Health based on Vitality increases Health based on Vitality by a certain value. " ,
L " +% to Health increases Health by a percentage within a specified range. " ,
L " + to Mana increases Mana within a specified range. " ,
L " + to Mana per level increases Mana by a certain value per character level. " ,
L " + to Mana based on Energy increases Mana based on Energy by a certain value. " ,
L " +% to Mana increases Mana by a percentage within a specified range. " ,
L " + to Replenish Life grants life replenishment within a specified range. " ,
L " +% to Mana Regeneration increases Mana regeneration by a percentage within a specified range. " ,
L " +% run/walk speed increases running and walking speed within a specified range. " ,
L " +% run/walk speed based on Level increases running and walking speed based on character level. " ,
L " +% run/walk speed based on Vitality increases running and walking speed based on Vitality. " ,
L " + to stamina increases Stamina within a specified range. " ,
L " + stamina per level increases Stamina by a certain value per character level. " ,
L " +% reduce stamina drain decreases the rate at which stamina is drained within a specified range. " ,
L " +% stamina regeneration increases stamina regeneration rate within a specified range. " ,
L " +% regenerate stamina per level increases stamina regeneration rate based on character level. " ,
L " +% attack speed increases attack speed within a specified range. " ,
L " +% attack speed based on Level increases attack speed based on character level. " ,
L " +% attack speed based on Strength increases attack speed based on Strength. " ,
L " +% attack speed based on Dexterity increases attack speed based on Dexterity. " ,
L " +% chance to block increases the chance to block within a specified range. " ,
L " +% chance to block based on Level increases the chance to block based on character level. " ,
L " +% chance to block based on Strength increases the chance to block based on Strength. " ,
L " +% chance to block based on Dexterity increases the chance to block based on Dexterity. " ,
L " +% block speed increases block speed within a specified range. " ,
L " +% block speed based on Level increases block speed based on character level. " ,
L " +% block speed based on Strength increases block speed based on Strength. " ,
L " +% block speed based on Dexterity increases block speed based on Dexterity. " ,
L " +% cast speed increases casting speed within a specified range. " ,
L " +% cast speed based on Level increases casting speed based on character level. " ,
L " +% cast speed based on Energy increases casting speed based on character Energy. " ,
L " +% hit recovery speed increases hit recovery speed within a specified range. " ,
L " +% hit recovery speed based on Level increases hit recovery speed based on character level. " ,
L " +% hit recovery speed based on Vitality increases hit recovery speed based on Vitality. " ,
L " + to Light Radius increases the light radius within a specified range. " ,
L " Fire Magic Arrows enables firing magical arrows. " ,
L " Fire Explosive Arrows enables firing explosive arrows. " ,
L " +% chance to find magic items increases the chance to find magic items within a specified range. " ,
L " + Magic Find per level increases the chance to find magic items based on character level. " ,
L " +% increased gold drops increases the amount of gold dropped by monsters within a specified range. " ,
L " + More Gold per Level increases the amount of gold dropped by monsters based on character level. " ,
L " Altered Item Requirements reduces the requirements to equip an item within a specified range. " ,
L " Chance to make enemies flee increases the chance of causing enemies to flee within a specified range. " ,
L " Add X Sockets to an Item adds a specific number of sockets to an item. " ,
L " Makes any item throwable enables throwing any item. " ,
L " Adds additional blood increases the amount of blood displayed when hitting enemies. " ,
L " +% additional xp gained increases the amount of experience gained within a specified range. " ,
L " + additional xp gained per level increases the amount of experience gained based on character level. " ,
L " + additional xp gained based on Energy increases the amount of experience gained based on character Energy. " ,
L " Reduce vendor cost reduces the cost of items bought from vendors within a specified range. " ,
L " Reduce vendor cost based on Level reduces the cost of items based on character level. " ,
L " Applies fade state changes the character to a faded state within a specified range. " ,
L " Adds additional level requirements increases the level requirement to use an item. " ,
L " Force spawns item as ethereal makes an item always spawn as an ethereal item. " ,
L " Always carry a Town Portal scroll for quick escape " ,
L " Identify unidentified items before selling them for better prices " ,
L " Remember to repair your gear to avoid breaking mid-battle " ,
L " Explore the entire map to find hidden treasures and quests " ,
L " Stock up on health and mana potions before entering dangerous areas "
L " Tip: Manage your resources wisely for survival " ,
L " Tip: Always carry health potions for emergencies " ,
L " Tip: Save high-quality gear for tough boss battles " ,
L " Tip: Explore thoroughly to find hidden treasures " ,
L " Tip: Customize your gear to adapt to different challenges " ,
L " Tip: Utilize hirelings strategically for support in combat " ,
L " Tip: Master the art of inventory management for efficiency " ,
L " Tip: Save and invest your gold wisely in crucial items " ,
L " Tip: Learn and use underused skills for surprising advantages " ,
L " Tip: Keep track of waypoints for effective navigation " ,
L " Tip: Be cautious with 'Players X' command to avoid overwhelming challenges " ,
L " Tip: Always have an escape plan when facing overwhelming odds " ,
L " Tip: Experiment with different weapon types for diverse combat strategies " ,
L " Tip: Use potions and buffs strategically during boss fights " ,
L " Tip: Pay attention to monster modifiers and adjust your tactics accordingly " ,
L " Tip: Explore side areas and dungeons for valuable loot and experience " ,
L " Tip: Keep a backup set of gear for emergencies and special encounters " ,
L " Tip: Stay updated with mod updates and patch notes for new features " ,
L " Tip: Join online communities to learn advanced strategies and tactics " ,
L " Tip: Balance offense and defense to survive challenging encounters " ,
L " Tip: Invest in skills that complement your playstyle and gear setup " ,
L " Tip: Use terrain and environment to your advantage during battles " ,
L " Tip: Stay patient and persistent, progress in Ironman takes time " ,
L " Tip: Don't rush into unknown areas, scout and plan your approach " ,
L " Tip: Prioritize resistances and elemental defenses for survival " ,
L " Tip: Learn monster behaviors and weaknesses for efficient farming " ,
L " Tip: Keep track of important quest items and their locations " ,
L " Tip: Experiment with different character builds for diverse gameplay experiences " ,
L " Tip: Use traps, potions, and scrolls wisely to gain advantages in battles " ,
L " Tip: Take breaks and restock supplies regularly to avoid burnout " ,
L " Tip: Share knowledge and strategies with fellow players for mutual benefit " ,
L " Tip: Explore lore and backstory for immersive gameplay experiences " ,
L " Tip: Don't underestimate common enemies, they can overwhelm careless adventurers " ,
L " Tip: Engage in boss fights with a well-thought-out strategy and preparation " ,
L " Tip: Complete side quests and challenges for unique rewards and achievements " ,
L " Tip: Communicate and coordinate with party members for efficient teamwork " ,
L " Tip: Utilize environmental hazards and traps against powerful foes " ,
L " Tip: Experiment with different crafting recipes for custom gear upgrades " ,
L " Tip: Keep an eye on your surroundings, hidden secrets can lead to great rewards " ,
L " Tip: Upgrade your gear regularly to match increasing enemy difficulty " ,
L " Tip: Explore alternative routes and paths for unique encounters and rewards " ,
L " Tip: Utilize crowd control skills and tactics for managing large groups of enemies " ,
L " Tip: Stay aware of game mechanics changes in patches and updates for optimal gameplay " ,
L " Tip: Take advantage of synergies between skills and equipment for powerful combos " ,
L " Tip: Stay organized with your inventory and stash for efficient item management " ,
L " Tip: Engage in player-run events and competitions for added fun and challenges " ,
L " Tip: Experiment with different playstyles to keep the game experience fresh and exciting " ,
L " Tip: Use consumables wisely, hoarding or overspending can lead to challenges " ,
L " Tip: Explore and interact with NPCs for quests, lore, and unique items " ,
L " Tip: Plan your character's progression and build for long-term success " ,
L " Tip: Master positioning to avoid being overwhelmed by enemies " ,
L " Tip: Utilize map awareness for efficient navigation and objective location " ,
L " Tip: Upgrade weapons with socketed gems for added elemental damage or bonuses " ,
L " Tip: Save unique items for tough encounters or emergencies " ,
L " Tip: Invest in resistances against common elemental attacks " ,
L " Tip: Upgrade hireling's gear to match your level and increase survivability " ,
L " Tip: Practice resource management for efficient use of skills and potions " ,
L " Tip: Experiment with skill combinations for versatile combat strategies " ,
L " Tip: Use environment obstacles to control enemy movement " ,
L " Tip: Upgrade movement speed for faster traversal and escapes " ,
L " Tip: Utilize teleport skills for quick navigation and evasion " ,
L " Tip: Invest in mana or energy shield for magic defense " ,
L " Tip: Customize hotkeys for quick access to essential abilities " ,
L " Tip: Upgrade hireling's weapon with gems or runes for increased damage " ,
L " Tip: Master dodges and evasive maneuvers to minimize damage " ,
L " Tip: Use area-of-effect skills to efficiently clear groups of enemies " ,
L " Tip: Upgrade armor with socketed gems for added resistances " ,
L " Tip: Explore dungeons fully for valuable rewards and experience " ,
L " Tip: Invest in crowd control skills for tactical advantages " ,
L " Tip: Engage in hit-and-run tactics to avoid enemy retaliation " ,
L " Tip: Upgrade hireling's armor for increased survivability " ,
L " Tip: Use town portal scrolls strategically for retreat or restock " ,
L " Tip: Invest in skills or items for life regeneration or healing " ,
L " Tip: Customize gear to counter specific enemy types or bosses " ,
L " Tip: Upgrade hireling's skills to complement your abilities " ,
L " Tip: Master the use of consumables for status ailment counters " ,
L " Tip: Utilize knockback effects to control enemy engagements " ,
L " Tip: Upgrade weapons with ethereal runes or gems for increased damage " ,
L " Tip: Invest in critical strike chance or damage for burst potential " ,
L " Tip: Customize gear loadout for challenging encounters or areas " ,
L " Tip: Upgrade hireling's gear with life steal or leech effects " ,
L " Tip: Utilize skills with teleport or dash abilities for quick escapes " ,
L " Tip: Invest in mana regeneration for sustained casting " ,
L " Tip: Customize skills for synergies and optimal combat " ,
L " Tip: Upgrade hireling's gear with magic find bonuses for loot " ,
L " Tip: Master crowd control to isolate dangerous enemies " ,
L " Tip: Utilize elemental damage conversions against enemy weaknesses " ,
L " Tip: Upgrade resistances for added protection " ,
L " Tip: Invest in damage reflection or thorn effects for passive damage " ,
L " Tip: Customize gear for increased rare and unique drops " ,
L " Tip: Upgrade hireling's gear against common enemy attacks " ,
L " Tip: Utilize skills with area damage effects efficiently " ,
L " Tip: Invest in movement speed boosts for exploration " ,
L " Tip: Customize build with synergistic skills and gear " ,
L " Tip: Upgrade hireling's weapon against enemy vulnerabilities " ,
L " Tip: Utilize skills with fear or taunt effects for control " ,
L " Tip: Invest in bonuses against undead, demons, or specific monsters " ,
L " Tip: Customize gear with life steal or healing for survivability " ,
L " Tip: Upgrade hireling's armor with magic find bonuses " ,
L " Tip: Utilize cooldown reduction effects for skill usage " ,
L " Tip: Invest in knockback or knockdown effects for control " ,
L " Tip: Customize attributes for offense, defense, and utility balance " ,
L " Tip: Create backup characters in case of unexpected deaths " ,
L " Tip: Prioritize resistances and defensive stats over offensive stats " ,
L " Tip: Study monster abilities to anticipate dangerous situations " ,
L " Tip: Use crowd control skills to manage overwhelming enemy groups " ,
L " Tip: Always carry health and mana potions for emergencies " ,
L " Tip: Explore different skill combinations for versatility in combat " ,
L " Tip: Pay attention to synergies between skills for enhanced effectiveness " ,
L " Tip: Learn boss mechanics to maximize chances of survival " ,
L " Tip: Keep an eye on your surroundings for potential dangers " ,
L " Tip: Use environmental objects to your advantage in battles " ,
L " Tip: Join multiplayer games for added safety and teamwork " ,
L " Tip: Consult online guides and forums for valuable gameplay strategies " ,
L " Tip: Trade wisely to acquire necessary gear without risking too much " ,
L " Tip: Communicate with other players to coordinate actions and strategies " ,
L " Tip: Don't rush through areas; proceed cautiously to avoid traps and ambushes " ,
L " Tip: Maintain a balance between offense and defense in your character build " ,
L " Tip: Take breaks to avoid fatigue and maintain focus during long gaming sessions " ,
L " Tip: Backup important save files regularly to prevent data loss " ,
L " Tip: Experiment with different playstyles to keep the game experience fresh " ,
L " Tip: Stay updated with game patches and updates for bug fixes and new content " ,
L " Tip: Have fun and enjoy the challenge of hardcore gameplay! " ,
L " Tip: Join online communities to connect with other hardcore players " ,
L " Tip: Share your experiences and learn from others to improve your gameplay " ,
L " Tip: Customize your key bindings for comfortable and efficient gameplay " ,
L " Tip: Invest in quality gaming peripherals for better control and responsiveness " ,
L " Tip: Stay calm and focused during intense battles to make better decisions " ,
L " Tip: Analyze your deaths to learn from mistakes and avoid repeating them " ,
L " Tip: Adjust game settings for optimal performance on your system " ,
L " Tip: Organize your inventory for quick access to important items " ,
L " Tip: Follow a leveling guide for efficient progression in the game " ,
L " Tip: Upgrade your gear regularly to keep up with increasing difficulty " ,
L " Tip: Use sound cues to detect hidden or off-screen enemies " ,
L " Tip: Minimize distractions during gameplay to stay focused " ,
L " Tip: Backup your character data externally for added security " ,
L " Tip: Join or form a hardcore gaming clan for support and camaraderie " ,
L " Tip: Practice kiting and positioning techniques for survival in tough battles " ,
L " Tip: Keep track of cooldowns and timers for effective skill management " ,
L " Tip: Explore hidden areas and dungeons for valuable loot and experience " ,
L " Tip: Use hotkeys for quick access to commonly used skills and items " ,
L " Tip: Learn about monster immunities to avoid ineffective attacks " ,
L " Tip: Backup your internet connection with a reliable backup plan for uninterrupted gameplay " ,
L " Tip: Avoid risky shortcuts or exploits that may compromise your character " ,
L " Tip: Pay attention to loot filters to focus on valuable drops " ,
L " Tip: Use the town portal strategically to retreat and recover " ,
L " Tip: Customize your user interface for better visibility and efficiency " ,
L " Tip: Participate in in-game events for unique rewards and challenges " ,
L " Tip: Keep your gaming environment comfortable and ergonomic for extended play sessions " ,
L " Tip: Practice patience and persistence; progress may require multiple attempts " ,
L " Tip: Take advantage of seasonal or temporary boosts to progress faster " ,
L " Tip: Use the in-game map to plan routes and avoid getting lost " ,
L " Tip: Invest in life leech or mana leech abilities for sustain during battles " ,
L " Tip: Keep an eye on your experience bar to time level-up decisions strategically " ,
L " Tip: Consult with experienced players for advanced gameplay tips and strategies " ,
L " Tip: Learn about monster spawn locations and behaviors for efficient farming " ,
L " Tip: Use debuffs and status effects to weaken tough enemies " ,
L " Tip: Manage your gold wisely; spend it on essential upgrades and items " ,
L " Tip: Utilize mercenary NPCs for additional firepower and support " ,
L " Tip: Experiment with different character builds to find your preferred playstyle " ,
L " Tip: Learn about item properties and affixes to identify valuable gear " ,
L " Tip: Stay informed about game events and promotions for special rewards " ,
L " Tip: Take breaks and stretch regularly to avoid muscle strain during long gaming sessions " ,
L " Tip: Backup your game settings and configurations for quick recovery after updates " ,
L " Tip: Use defensive skills and abilities proactively to avoid damage spikes " ,
L " Tip: Participate in community challenges and contests for fun and rewards " ,
L " Tip: Experiment with different weapon types and combinations for varied combat styles " ,
L " Tip: Use consumables like scrolls and potions strategically in tough situations " ,
L " Tip: Stay aware of in-game events and timers for limited-time opportunities " ,
L " Tip: Use the game's forums and social media to connect with fellow players " ,
L " Tip: Adjust your gameplay pace based on your character's survivability and damage output " ,
L " Tip: Stay positive and learn from failures to improve your overall gameplay " ,
L " Tip: Upgrade your storage space for easier item management and organization " ,
L " Tip: Watch gameplay tutorials and streams to pick up advanced strategies and techniques " ,
L " Tip: Use defensive positioning and movement to avoid unnecessary damage " ,
L " Tip: Invest in magic find gear for better chances of finding rare items " ,
L " Tip: Keep track of your quest progress to avoid missing important objectives " ,
L " Tip: Test your build against different enemy types to ensure overall effectiveness " ,
L " Tip: Use the shared stash wisely to transfer items between characters " ,
L " Tip: Save valuable crafting materials for high-level item upgrades " ,
L " Tip: Maintain a positive relationship with other players for a better gaming experience " ,
L " Tip: Use environmental clues and hints to uncover hidden secrets and treasures " ,
L " Tip: Invest in movement speed enhancements for faster exploration and travel " ,
L " Tip: Customize your chat filters to focus on important in-game communications " ,
L " Tip: Join public games for increased social interactions and gameplay variety " ,
L " Tip: Support fellow players by sharing knowledge and resources " ,
L " Tip: Use boss-specific strategies and tactics for smoother encounters " ,
L " Tip: Maintain a backup copy of your gaming preferences and configurations " ,
L " Tip: Learn about different damage types to optimize your character's defenses " ,
L " Tip: Use the minimap to navigate efficiently in large areas and dungeons " ,
L " Tip: Avoid overextending in dangerous areas; retreat strategically when necessary " ,
L " Tip: Share your gaming achievements and milestones with the community " ,
L " Tip: Experiment with team compositions for multiplayer synergy and success " ,
L " Tip: Use voice chat for faster and clearer communication during group activities " ,
L " Tip: Set achievable goals for each gaming session to track progress " ,
L " Tip: Keep track of important NPC locations for quests and services " ,
L " Tip: Stay updated on game economy trends for better trading decisions " ,
L " Tip: Use third-party tools responsibly to enhance gameplay without exploits " ,
L " Tip: Support game developers by providing constructive feedback and bug reports " ,
L " Tip: Take time to appreciate the game's lore and story elements for immersion " ,
L " Tip: Use in-game events and festivals to earn unique rewards and items " ,
L " Tip: Allocate skill points strategically to match your character's playstyle " ,
L " Tip: Save powerful consumables for tough boss encounters and critical moments " ,
L " Tip: Explore hidden areas and dungeons to discover rare loot and secrets " ,
L " Tip: Use crowd control abilities to manage groups of enemies effectively " ,
L " Tip: Upgrade your gear gradually to maintain a balanced power level " ,
L " Tip: Save rare crafting materials for high-tier item enhancements " ,
L " Tip: Adapt your tactics to different enemy resistances and vulnerabilities " ,
L " Tip: Keep an eye on your character's stamina to avoid exhaustion during battles " ,
L " Tip: Utilize area-of-effect skills to handle large groups of monsters efficiently " ,
L " Tip: Explore diverse terrains and regions for varied monster encounters and challenges " ,
L " Tip: Learn about monster behaviors and attack patterns to anticipate their moves " ,
L " Tip: Prioritize resistances and defenses based on the areas you are exploring " ,
L " Tip: Save quest rewards for moments when they can provide the most benefit " ,
L " Tip: Experiment with different weapon and armor combinations for optimal synergies " ,
L " Tip: Maintain a balanced approach between offense, defense, and utility skills " ,
L " Tip: Use environment structures for cover and tactical advantages during battles " ,
L " Tip: Keep track of monster elemental attacks to adjust your gear and strategies " ,
L " Tip: Allocate attribute points wisely to enhance your character's strengths " ,
L " Tip: Use area restraints and chokepoints to control enemy movement in combat " ,
L " Tip: Save rare scrolls and runes for powerful enchantments and upgrades " ,
L " Tip: Customize your skill hotkeys for quick access to essential abilities " ,
L " Tip: Experiment with different playstyles to keep your gameplay experience fresh " ,
L " Tip: Save high-level challenge areas for moments when you are adequately prepared " ,
L " Tip: Use shrines strategically to gain temporary bonuses during critical moments " ,
L " Tip: Maintain a stock of basic supplies like potions and scrolls for emergencies " ,
L " Tip: Keep track of quest timers to complete time-sensitive objectives " ,
L " Tip: Use terrain features to separate enemies and deal with them one by one " ,
L " Tip: Save and identify rare charms and amulets for valuable stat bonuses " ,
L " Tip: Utilize temporary buffs from shrines and spells for challenging encounters " ,
L " Tip: Explore side areas and dungeons for additional loot and experience " ,
L " Tip: Learn about enemy resistances to optimize your elemental damage output " ,
L " Tip: Use healing abilities and potions strategically to conserve resources " ,
L " Tip: Keep an eye out for unique monster variants for rare loot drops " ,
L " Tip: Save quest items and keys for their specific usage requirements " ,
L " Tip: Use crowd control effects to interrupt enemy spellcasting and attacks " ,
L " Tip: Adapt your gear and skills to match the enemy types in different areas " ,
L " Tip: Explore different difficulty levels for increased challenges and rewards " ,
L " Tip: Save valuable runes and gems for crafting and socketing powerful items " ,
L " Tip: Use mercenaries as distractions and additional damage dealers in tough fights " ,
L " Tip: Maintain awareness of your character's elemental resistances for survivability " ,
L " Tip: Utilize environmental objects for tactical advantages in combat " ,
L " Tip: Save high-level runes for crafting end-game gear upgrades " ,
L " Tip: Keep track of time-sensitive events and quests for unique rewards " ,
L " Tip: Use unique class abilities for strategic advantages in different situations " ,
L " Tip: Experiment with synergistic skill combinations for enhanced effectiveness " ,
L " Tip: Maintain a diverse potion stock for various combat scenarios " ,
L " Tip: Use traps and environmental hazards to your advantage in battles " ,
L " Tip: Save rare and unique items for specialized character builds " ,
L " Tip: Explore secret passages and hidden areas for valuable treasures " ,
L " Tip: Use scrolls and potions strategically to weaken and control enemies " ,
L " Tip: Learn about boss mechanics and weaknesses for efficient battles " ,
L " Tip: Save powerful consumables for boss encounters and critical moments " ,
L " Tip: Explore different skill synergies for powerful character builds " ,
L " Tip: Use temporary buffs and enhancements for challenging encounters " ,
L " Tip: Maintain a balanced inventory with essential supplies and loot " ,
L " Tip: Explore diverse environments for varied monster encounters and rewards " ,
L " Tip: Use environmental objects strategically for crowd control " ,
L " Tip: Save high-level crafting materials for end-game gear upgrades " ,
L " Tip: Prioritize enemy threats based on their damage output and abilities " ,
L " Tip: Use area-of-effect skills to handle multiple enemies efficiently " ,
L " Tip: Adapt your gear and skills to match enemy resistances and vulnerabilities " ,
L " Tip: Maintain a diverse arsenal of weapons for different combat scenarios " ,
L " Tip: Explore optional areas and dungeons for valuable loot and experience " ,
L " Tip: Use crowd control effects to manage large groups of monsters " ,
L " Tip: Save powerful spells and abilities for critical moments and tough enemies " ,
L " Tip: Maintain a balanced build between offense, defense, and utility skills " ,
L " Tip: Use temporary buffs strategically to overcome challenging encounters " ,
L " Tip: Save rare crafting materials for high-tier item upgrades and enchantments " ,
L " Tip: Adapt your tactics and strategies to different enemy types and behaviors " ,
L " Tip: Explore different elemental damages for varied combat advantages " ,
L " Tip: Use defensive skills and abilities to mitigate incoming damage " ,
L " Tip: Save powerful potions and consumables for boss battles and emergencies " ,
L " Tip: Maintain awareness of your character's status effects and buffs during combat " ,
L " Tip: Use hit-and-run tactics to deal with powerful enemies safely " ,
L " Tip: Save skill points for later levels to invest in more powerful abilities " ,
L " Tip: Utilize in-game lore and clues to uncover hidden treasures and secrets " ,
L " Tip: Use environmental obstacles to block enemy paths and control engagements " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle based on the monster density and encounter difficulty " ,
L " Tip: Use temporary buffs strategically to enhance your combat effectiveness " ,
L " Tip: Save valuable scrolls and runes for crucial moments and upgrades " ,
L " Tip: Maintain a balanced approach between offensive and defensive skills " ,
L " Tip: Use diverse weapon types to exploit enemy weaknesses and resistances " ,
L " Tip: Explore different talent trees to discover unique character synergies " ,
L " Tip: Save powerful abilities and cooldowns for boss fights and elite enemies " ,
L " Tip: Maintain a varied potion supply for different combat situations " ,
L " Tip: Use knowledge of enemy mechanics to plan effective engagement strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss encounters " ,
L " Tip: Adapt your gear and skills based on the elements prevalent in certain areas " ,
L " Tip: Use crowd control effects to manage enemy aggro and group dynamics " ,
L " Tip: Save rare and valuable items for trading or future character builds " ,
L " Tip: Explore different character builds to find synergies with your preferred playstyle " ,
L " Tip: Use terrain features strategically to gain advantages in combat " ,
L " Tip: Save powerful consumables for pivotal moments and difficult encounters " ,
L " Tip: Maintain a diverse inventory of utility items for various situations " ,
L " Tip: Use enemy behaviors and movement patterns to predict their attacks " ,
L " Tip: Save rare crafting materials for end-game item enhancements " ,
L " Tip: Adapt your strategies and tactics to different boss fight mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of enemies " ,
L " Tip: Save powerful spells and abilities for critical moments and tough enemies " ,
L " Tip: Maintain awareness of your character's status effects and debuffs during combat " ,
L " Tip: Use hit-and-run tactics to wear down powerful enemies safely " ,
L " Tip: Save skill points for later levels to invest in more powerful talents " ,
L " Tip: Utilize game lore and quest hints to uncover hidden treasures and secrets " ,
L " Tip: Use environmental obstacles and terrain features to control enemy movements " ,
L " Tip: Save rare and unique items for specialized character builds and synergies " ,
L " Tip: Adapt your playstyle based on the monster types and encounter difficulties " ,
L " Tip: Use temporary buffs strategically to enhance your combat capabilities " ,
L " Tip: Save valuable scrolls and runes for pivotal moments and item upgrades " ,
L " Tip: Maintain a balanced mix of offensive and defensive skills for versatility " ,
L " Tip: Use various weapon types to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths to uncover powerful character synergies " ,
L " Tip: Save powerful abilities and cooldowns for boss encounters and elite fights " ,
L " Tip: Maintain a diverse potion supply for handling different combat scenarios " ,
L " Tip: Use knowledge of enemy mechanics to plan effective combat strategies " ,
L " Tip: Save high-quality gear for challenging encounters and boss battles " ,
L " Tip: Adapt your gear and skills according to elemental threats in specific areas " ,
L " Tip: Use crowd control effects to manage enemy aggro and group dynamics " ,
L " Tip: Save rare and valuable items for trading or future character builds " ,
L " Tip: Explore different character builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and environmental objects for tactical advantages " ,
L " Tip: Save powerful consumables for pivotal moments and challenging fights " ,
L " Tip: Maintain a varied inventory of utility items for diverse challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their attacks " ,
L " Tip: Save rare crafting materials for end-game equipment and enhancements " ,
L " Tip: Adapt your tactics and strategies to different boss encounter mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken groups of enemies " ,
L " Tip: Save powerful spells and abilities for crucial moments and tough enemies " ,
L " Tip: Maintain awareness of your character's status effects during battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during combat " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different enemies " ,
L " Tip: Use temporary buffs strategically for challenging battles and encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and item enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in various combat situations " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths for unique character playstyles " ,
L " Tip: Save powerful abilities for boss fights and elite enemy encounters " ,
L " Tip: Maintain a diverse potion supply for handling different combat challenges " ,
L " Tip: Use knowledge of enemy mechanics to plan effective combat strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss battles " ,
L " Tip: Adapt your gear and skills based on the elements prevalent in specific areas " ,
L " Tip: Use crowd control effects to manage enemy groups and engagements " ,
L " Tip: Save rare and valuable items for trading or future builds " ,
L " Tip: Explore different builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and environmental objects for tactical advantages " ,
L " Tip: Save powerful consumables for crucial moments and difficult fights " ,
L " Tip: Maintain a varied inventory of utility items for various challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their attacks " ,
L " Tip: Save rare crafting materials for end-game equipment and enhancements " ,
L " Tip: Adapt your tactics and strategies to different boss mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of foes " ,
L " Tip: Save powerful spells and abilities for critical moments and tough enemies " ,
L " Tip: Maintain awareness of your character's status during intense battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during fights " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different foes " ,
L " Tip: Use temporary buffs strategically for challenging encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in combat scenarios " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths for unique character strategies " ,
L " Tip: Save powerful abilities for boss fights and elite engagements " ,
L " Tip: Maintain a diverse potion supply for handling different challenges " ,
L " Tip: Use knowledge of enemy mechanics to plan effective strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss encounters " ,
L " Tip: Adapt your gear and skills based on prevalent elements in areas " ,
L " Tip: Use crowd control effects to manage enemy groups and dynamics " ,
L " Tip: Save rare and valuable items for trading or future builds " ,
L " Tip: Explore different builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and objects for tactical advantages in battles " ,
L " Tip: Save powerful consumables for crucial moments and tough encounters " ,
L " Tip: Maintain a varied inventory for handling various challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their actions " ,
L " Tip: Save rare crafting materials for end-game equipment enhancements " ,
L " Tip: Adapt tactics and strategies to different boss fight mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of enemies " ,
L " Tip: Save powerful spells and abilities for critical moments and tough foes " ,
L " Tip: Maintain awareness of your character's status during intense battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during fights " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different foes " ,
L " Tip: Use temporary buffs strategically for challenging encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in combat scenarios " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths for unique character strategies " ,
L " Tip: Save powerful abilities for boss fights and elite engagements " ,
L " Tip: Maintain a diverse potion supply for handling different challenges " ,
L " Tip: Use knowledge of enemy mechanics to plan effective strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss encounters " ,
L " Tip: Adapt your gear and skills based on prevalent elements in areas " ,
L " Tip: Use crowd control effects to manage enemy groups and dynamics " ,
L " Tip: Save rare and valuable items for trading or future builds " ,
L " Tip: Explore different builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and objects for tactical advantages in battles " ,
L " Tip: Save powerful consumables for crucial moments and tough encounters " ,
L " Tip: Maintain a varied inventory for handling various challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their actions " ,
L " Tip: Save rare crafting materials for end-game equipment enhancements " ,
L " Tip: Adapt tactics and strategies to different boss fight mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of enemies " ,
L " Tip: Save powerful spells and abilities for critical moments and tough foes " ,
L " Tip: Maintain awareness of your character's status during intense battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during fights " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different foes " ,
L " Tip: Use temporary buffs strategically for challenging encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in combat scenarios " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths for unique character strategies " ,
L " Tip: Save powerful abilities for boss fights and elite engagements " ,
L " Tip: Maintain a diverse potion supply for handling different challenges " ,
L " Tip: Use knowledge of enemy mechanics to plan effective strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss encounters " ,
L " Tip: Adapt your gear and skills based on prevalent elements in areas " ,
L " Tip: Use crowd control effects to manage enemy groups and dynamics " ,
L " Tip: Save rare and valuable items for trading or future builds " ,
L " Tip: Explore different builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and objects for tactical advantages in battles " ,
L " Tip: Save powerful consumables for crucial moments and tough encounters " ,
L " Tip: Maintain a varied inventory for handling various challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their actions " ,
L " Tip: Save rare crafting materials for end-game equipment enhancements " ,
L " Tip: Adapt tactics and strategies to different boss fight mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of enemies " ,
L " Tip: Save powerful spells and abilities for critical moments and tough foes " ,
L " Tip: Maintain awareness of your character's status during intense battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during fights " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different foes " ,
L " Tip: Use temporary buffs strategically for challenging encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in combat scenarios " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths for unique character strategies " ,
L " Tip: Save powerful abilities for boss fights and elite engagements " ,
L " Tip: Maintain a diverse potion supply for handling different challenges " ,
L " Tip: Use knowledge of enemy mechanics to plan effective strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss encounters " ,
L " Tip: Adapt your gear and skills based on prevalent elements in areas " ,
L " Tip: Use crowd control effects to manage enemy groups and dynamics " ,
L " Tip: Save rare and valuable items for trading or future builds " ,
L " Tip: Explore different builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and objects for tactical advantages in battles " ,
L " Tip: Save powerful consumables for crucial moments and tough encounters " ,
L " Tip: Maintain a varied inventory for handling various challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their actions " ,
L " Tip: Save rare crafting materials for end-game equipment enhancements " ,
L " Tip: Adapt tactics and strategies to different boss fight mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of enemies " ,
L " Tip: Save powerful spells and abilities for critical moments and tough foes " ,
L " Tip: Maintain awareness of your character's status during intense battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during fights " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different foes " ,
L " Tip: Use temporary buffs strategically for challenging encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in combat scenarios " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths for unique character strategies " ,
L " Tip: Save powerful abilities for boss fights and elite engagements " ,
L " Tip: Maintain a diverse potion supply for handling different challenges " ,
L " Tip: Use knowledge of enemy mechanics to plan effective strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss encounters " ,
L " Tip: Adapt your gear and skills based on prevalent elements in areas " ,
L " Tip: Use crowd control effects to manage enemy groups and dynamics " ,
L " Tip: Save rare and valuable items for trading or future builds " ,
L " Tip: Explore different builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and objects for tactical advantages in battles " ,
L " Tip: Save powerful consumables for crucial moments and tough encounters " ,
L " Tip: Maintain a varied inventory for handling various challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their actions " ,
L " Tip: Save rare crafting materials for end-game equipment enhancements " ,
L " Tip: Adapt tactics and strategies to different boss fight mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of enemies " ,
L " Tip: Save powerful spells and abilities for critical moments and tough foes " ,
L " Tip: Maintain awareness of your character's status during intense battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during fights " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different foes " ,
L " Tip: Use temporary buffs strategically for challenging encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in combat scenarios " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths for unique character strategies " ,
L " Tip: Save powerful abilities for boss fights and elite engagements " ,
L " Tip: Maintain a diverse potion supply for handling different challenges " ,
L " Tip: Use knowledge of enemy mechanics to plan effective strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss encounters " ,
L " Tip: Adapt your gear and skills based on prevalent elements in areas " ,
L " Tip: Use crowd control effects to manage enemy groups and dynamics " ,
L " Tip: Save rare and valuable items for trading or future builds " ,
L " Tip: Explore different builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and objects for tactical advantages in battles " ,
L " Tip: Save powerful consumables for crucial moments and tough encounters " ,
L " Tip: Maintain a varied inventory for handling various challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their actions " ,
L " Tip: Save rare crafting materials for end-game equipment enhancements " ,
L " Tip: Adapt tactics and strategies to different boss fight mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of enemies " ,
L " Tip: Save powerful spells and abilities for critical moments and tough foes " ,
L " Tip: Maintain awareness of your character's status during intense battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during fights " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different foes " ,
L " Tip: Use temporary buffs strategically for challenging encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in combat scenarios " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Tip: Explore different talent paths for unique character strategies " ,
L " Tip: Save powerful abilities for boss fights and elite engagements " ,
L " Tip: Maintain a diverse potion supply for handling different challenges " ,
L " Tip: Use knowledge of enemy mechanics to plan effective strategies " ,
L " Tip: Save high-quality gear for challenging areas and boss encounters " ,
L " Tip: Adapt your gear and skills based on prevalent elements in areas " ,
L " Tip: Use crowd control effects to manage enemy groups and dynamics " ,
L " Tip: Save rare and valuable items for trading or future builds " ,
L " Tip: Explore different builds to find synergies with your preferred style " ,
L " Tip: Use terrain features and objects for tactical advantages in battles " ,
L " Tip: Save powerful consumables for crucial moments and tough encounters " ,
L " Tip: Maintain a varied inventory for handling various challenges " ,
L " Tip: Use enemy behaviors and patterns to predict and counter their actions " ,
L " Tip: Save rare crafting materials for end-game equipment enhancements " ,
L " Tip: Adapt tactics and strategies to different boss fight mechanics " ,
L " Tip: Use area-of-effect abilities to control and weaken large groups of enemies " ,
L " Tip: Save powerful spells and abilities for critical moments and tough foes " ,
L " Tip: Maintain awareness of your character's status during intense battles " ,
L " Tip: Use hit-and-run tactics to handle powerful enemies safely " ,
L " Tip: Save skill points for higher levels to invest in powerful talents " ,
L " Tip: Utilize game lore and quest details to uncover hidden treasures " ,
L " Tip: Use environmental obstacles to control enemy movements during fights " ,
L " Tip: Save rare and unique items for specialized builds and synergies " ,
L " Tip: Adapt your playstyle to the strengths and weaknesses of different foes " ,
L " Tip: Use temporary buffs strategically for challenging encounters " ,
L " Tip: Save valuable scrolls and runes for critical moments and enhancements " ,
L " Tip: Maintain a balanced skill set for versatility in combat scenarios " ,
L " Tip: Use a variety of weapons to exploit enemy vulnerabilities and resistances " ,
L " Consume spirits like potions to increase Spirits Quaffed stat in character stat sheet page " ,
L " Cube Souls with Energy Sphere to capture Soul Energy and use it to create powerful items. Recipes will come later " ,
L " Collect Demon souls from demons and regular souls from monsters; Demon souls morph you into the demon whose soul you have " ,
L " Spirits can be consumed like potions or put on as rings to add to Souls Consumed count " ,
L " Cube underused magic/rare/set/unique items with Energy Sphere to collect their magic energy for creating new items " ,
L " Cube white items with Energy Sphere to break down into simple item parts for creating base item types with smithing hammers " ,
L " Use Rare Shard, Set Stone, or Unique Particle with smithing hammers and Energy Sphere to create rare/set/unique items " ,
L " Acquire smithing hammers to create base item types, each requiring X number of collected item parts " ,
L " Capture Talisman of Corruption and cube to corrupt items for new magical properties; a gamble with potential rewards " ,
L " Use Experience Book for extra experience, Infinite Mana Elixir for massive mana regeneration, and Regeneration Elixir for life regeneration " ,
L " Use Elixirs to permanently boost stats like Strength, Dexterity, Health, Stamina, Mana, and resistances " ,
L " Equip Sling Stone for increased throwing potion damage, various elemental stones for resistance boosts, and Mastery Stones for skill damage boosts " ,
L " Use Portable Shrines for temporary buffs like increased defense, damage, experience gained, mana regeneration, and skill levels " ,
L " In Ironman, gold is nonexistent, town portals are disabled; rely on items, waypoints, and strategic gameplay to progress " ,
L " Inventory management is critical; use items conservatively and intelligently switch gear based on monster types and situations " ,
L " Hybrid character builds and creative weapon choices are encouraged in Ironman; experiment and adapt strategies accordingly " ,
L " Protect hirelings actively as they are essential allies; they can be hired for 0 gold but lose items if they die " ,
L " Coordinate with teammates in MultiPlayer; teamwork, resource sharing, and strategy are key to success in Ironman " ,
L " In Hardcore Ironman, caution and careful planning are crucial; falling back, potion management, and adaptability are essential for survival " ,
L " Utilize waypoints for inter-level travel in Ironman; waypoints become crucial for navigating the game world " ,
L " Always have backup gear in your backpack in Ironman; switch out gear intelligently based on monster types and challenges " ,
L " Experiment with different weapons and gear in Ironman; adapt your strategies to overcome various monster types and situations " ,
L " Keep a close watch on your hirelings' health in Ironman; losing a hireling means losing their equipped items as well " ,
L " Plan and communicate effectively in MultiPlayer Ironman games; teamwork and coordination are key to overcoming challenges " ,
L " Be conservative with resources in Hardcore Ironman; strategic planning and careful execution are vital for survival " ,
L " Craft rare/set/unique items using collected item parts and smithing hammers in Ironman; choose item types wisely for your build " ,
L " Capture and corrupt items using Talisman of Corruption for new magical properties in Ironman; take calculated risks for potential rewards " ,
L " Use Portable Shrines strategically in Ironman for temporary buffs; timing and placement of shrines can turn the tide of battle " ,
L " Keep track of Souls Consumed and Spirits Quaffed stats in Ironman; they reflect your progress and resource utilization in the game " ,
L " Enhance your character with Elixirs and Stones for permanent stat boosts and bonuses in Ironman; plan your upgrades wisely " ,
L " Master the art of retreating and regrouping in Hardcore Ironman; strategic fallbacks can save your character's life in tough situations " ,
L " Stay vigilant and adapt your strategies in MultiPlayer Ironman games; synergy and cooperation with teammates are essential for success " ,
L " Experiment with different skill synergies and builds in Ironman; explore the full potential of your character's abilities " ,
L " Craft and equip powerful unique items using collected Magic Essence Points and recipes in Ironman; customize your gear for optimal performance " ,
L " Explore new areas and challenges in Ironman; discover hidden secrets and encounters by venturing off the beaten path " ,
L " Combine different magic/rare/set/unique items with the Energy Sphere to collect their magic energy in Ironman " ,
L " Cube white items with the Energy Sphere to break them down into simple item parts for crafting in Ironman " ,
L " Use smithing hammers with the Energy Sphere to create base item types for crafting in Ironman " ,
L " Combine Rare Shard, Set Stone, or Unique Particle with base item types and Magic Essence Points to create rare/set/unique items in Ironman " ,
L " Cube Souls with the Energy Sphere to capture their energy and use it for creating more powerful items in Ironman " ,
L " Be careful out there! " ,
L " + to Amazon Skills increases the Minimum and Maximum skill levels for Amazon skills " ,
L " + to Assassin Skills increases the Minimum and Maximum skill levels for Assassin skills " ,
L " + to Barbarian Skills increases the Minimum and Maximum skill levels for Barbarian skills " ,
L " + to Druid Skills increases the Minimum and Maximum skill levels for Druid skills " ,
L " + to Necromancer Skills increases the Minimum and Maximum skill levels for Necromancer skills " ,
L " + to Paladin Skills increases the Minimum and Maximum skill levels for Paladin skills " ,
L " + to Sorceress Skills increases the Minimum and Maximum skill levels for Sorceress skills " ,
L " + to All Skills increases the Minimum and Maximum skill levels for all skills " ,
L " + to Fire Skills increases the Minimum and Maximum skill levels for Fire skills " ,
L " + to Cold Skills increases the Minimum and Maximum skill levels for Cold skills " ,
L " + to Lightning Skills increases the Minimum and Maximum skill levels for Lightning skills " ,
L " + to Poison Skills increases the Minimum and Maximum skill levels for Poison skills " ,
L " + to Magic Skills increases the Minimum and Maximum skill levels for Magic skills " ,
L " + to Single Skills increases the Minimum and Maximum levels for a specific skill " ,
L " + to Single Skill Tabs increases the Minimum and Maximum levels for a specific skill tab " ,
L " Chance to cast a skill when attacking triggers a specified skill with a certain chance and skill level " ,
L " Chance to cast a skill when hitting triggers a specified skill with a certain chance and skill level " ,
L " Chance to cast a skill when getting hit triggers a specified skill with a certain chance and skill level " ,
L " Skill Charges grant a certain number of charges to a specific skill with a designated skill level " ,
L " Using an Aura when equipped activates a specified aura skill with Minimum and Maximum levels " ,
L " Cast a skill when a monster is killed has a chance to trigger a specified skill at a certain skill level " ,
L " Cast a skill when a player is killed has a chance to trigger a specified skill at a certain skill level " ,
L " Cast a skill when a player level-up has a chance to trigger a specified skill at a certain skill level " ,
L " Spawns a random skill within a range of specified skills with corresponding skill levels " ,
L " + to other char classes grants skills from other character classes with Minimum and Maximum levels " ,
L " Tip: Keep your mercenary well-equipped with gear that complements your own strengths and weaknesses " ,
L " + to AC increases the Armor Class within a specified range " ,
L " + X to AC per level increases Armor Class by a certain value per character level " ,
L " + X to AC Based on Strength increases Armor Class based on Strength by a certain value " ,
L " + X to AC Based on Dexterity increases Armor Class based on Dexterity by a certain value " ,
L " +% to AC increases Armor Class by a percentage within a specified range " ,
L " +% X to AC per level increases Armor Class by a certain percentage per character level " ,
L " +% X to AC Based on Strength increases Armor Class based on Strength by a certain percentage " ,
L " +% X to AC Based on Dexterity increases Armor Class based on Dexterity by a certain percentage " ,
L " + to AC vs Melee increases Armor Class against melee attacks within a specified range " ,
L " + to AC vs Missiles increases Armor Class against missile attacks within a specified range " ,
L " Tip: Pay attention to enemy resistances and weaknesses to effectively choose your elemental attacks " ,
L " + to Durability increases the durability of an item within a specified range " ,
L " +% to Durability increases the durability of an item by a percentage within a specified range " ,
L " Indestructible makes an item not lose durability " ,
L " Repair 1 Dur per 100/X seconds repairs an item's durability over time " ,
L " Repair 1 Qnt per 100/X seconds repairs an item's quantity over time " ,
L " Increase Stack by X amount increases the stack size of an item by a certain value " ,
L " Tip: Identify unidentified items at the shop to reveal their true potential before selling or using them " ,
L " + to AR increases Attack Rating within a specified range " ,
L " + Attack Rating per level increases Attack Rating by a certain value per character level " ,
L " + Attack Rating based on Strength increases Attack Rating based on Strength by a certain value " ,
L " + Attack Rating based on Dexterity increases Attack Rating based on Dexterity by a certain value " ,
L " +% to AR increases Attack Rating by a percentage within a specified range " ,
L " +% AR per level increases Attack Rating by a certain percentage per character level " ,
L " +% AR based on Strength increases Attack Rating based on Strength by a certain percentage " ,
L " +% AR based on Dexterity increases Attack Rating based on Dexterity by a certain percentage " ,
L " + to AR vs Demons increases Attack Rating against Demons within a specified range " ,
L " + to AR vs Undead increases Attack Rating against Undead within a specified range " ,
L " +% to AR vs Montype increases Attack Rating against a specified monster type within a specified range " ,
L " Tip: Take advantage of town portals to quickly return to town for repairs and restocking " ,
L " + to Damage increases both Minimum and Maximum damage values for an item within a specified range " ,
L " +% to Damage increases both Minimum and Maximum damage values by a percentage within a specified range " ,
L " + to Minimum Damage increases Minimum damage within a specified range " ,
L " + to Minimum Damage per Level increases Minimum damage by a certain value per character level " ,
L " + to Minimum Damage based on Strength increases Minimum damage based on Strength by a certain value " ,
L " + to Minimum Damage based on Dexterity increases Minimum damage based on Dexterity by a certain value " ,
L " +% to Minimum Damage per level increases Minimum damage by a percentage per character level " ,
L " + to Maximum Damage increases Maximum damage within a specified range " ,
L " + to Maximum Damage per level increases Maximum damage by a certain value per character level " ,
L " + to Maximum Damage based on Strength increases Maximum damage based on Strength by a certain value " ,
L " + to Maximum Damage based on Dexterity increases Maximum damage based on Dexterity by a certain value " ,
L " +% to Maximum damage per level increases Maximum damage by a percentage per character level " ,
L " +% to Maximum Damage based on Strength increases Maximum damage based on Strength by a certain percentage " ,
L " +% to Maximum Damage based on Dexterity increases Maximum damage based on Dexterity by a certain percentage " ,
L " + to Minimum & Maximum Damage increases both Minimum and Maximum damage values for an item within a specified range " ,
L " +% to Damage vs Demons increases damage against Demons within a specified range " ,
L " +% damage to demons per level increases damage against Demons by a certain percentage per character level " ,
L " +% to Damage vs Undead increases damage against Undead within a specified range " ,
L " +% damage to undead per level increases damage against Undead by a certain percentage per character level " ,
L " +% to crushing blow increases the chance to cause a crushing blow within a specified range " ,
L " +% crushing blow per level increases the chance to cause a crushing blow by a certain percentage per character level " ,
L " +% crushing blow based on Strength increases the chance to cause a crushing blow based on Strength by a certain percentage " ,
L " +% crushing blow based on Dexterity increases the chance to cause a crushing blow based on Dexterity by a certain percentage " ,
L " +% to deadly strike increases the chance to cause a deadly strike within a specified range " ,
L " +% deadly strike per level increases the chance to cause a deadly strike by a certain percentage per character level " ,
L " +% deadly strike based on Strength increases the chance to cause a deadly strike based on Strength by a certain percentage " ,
L " +% deadly strike Based on Dexterity increases the chance to cause a deadly strike based on Dexterity by a certain percentage " ,
L " + to throw damage increases throwing damage within a specified range " ,
L " +% to Damage vs Montype increases damage against a specified monster type within a specified range " ,
L " Tip: Always carry a few antidote potions to counter poison attacks from enemies " ,
L " Ignores Target Defense (ITD) ignores the target's defense " ,
L " +% pierce increases the chance to pierce enemy resistances within a specified range " ,
L " +% pierce based on Level increases the chance to pierce enemy resistances based on character level " ,
L " +% pierce based on Strength increases the chance to pierce enemy resistances based on Strength " ,
L " Knockback has a chance to knockback enemies on hit " ,
L " +% life stolen grants life steal within a specified range " ,
L " +% mana stolen grants mana steal within a specified range " ,
L " +# mana after each kill grants mana regeneration after each kill within a specified range " ,
L " +# after each demon kill grants health after each demon kill within a specified range " ,
L " Prevents monster healing prevents monsters from healing " ,
L " +% chance to cause open wounds increases the chance to cause open wounds within a specified range " ,
L " +% open wounds per level increases the chance to cause open wounds based on character level " ,
L " +% open wounds based on Strength increases the chance to cause open wounds based on Strength " ,
L " +% open wounds Based on Dexterity increases the chance to cause open wounds based on Dexterity " ,
L " Enemy Is slowed by X% slows enemies by a percentage within a specified range " ,
L " Enemy Is slowed by X% based on Level slows enemies based on character level " ,
L " Chance to Blind Target has a chance to blind the target " ,
L " Chance to Blind Target based on Level has a chance to blind the target based on character level " ,
L " Freeze Target X seconds freezes the target for a specified duration " ,
L " Freeze Target X seconds based on Level freezes the target based on character level " ,
L " Freeze Target X seconds based on Energy freezes the target based on character Energy " ,
L " Reduce AC by X% reduces the target's Armor Class by a percentage within a specified range " ,
L " Reduce AC by X reduces the target's Armor Class within a specified range " ,
L " + to Kicking Damage increases kicking damage within a specified range " ,
L " + Kick damage per level increases kicking damage based on character level " ,
L " + Kick damage based on Strength increases kicking damage based on Strength " ,
L " + Kick damage based on Dexterity increases kicking damage based on Dexterity " ,
L " +% chance to reanimate target increases the chance to reanimate a target within a specified range " ,
L " Reduces monster fire resistance reduces a monster's fire resistance within a specified range " ,
L " Reduces monster lightning resistance reduces a monster's lightning resistance within a specified range " ,
L " Reduces monster cold resistance reduces a monster's cold resistance within a specified range " ,
L " Reduces monster poison resistance reduces a monster's poison resistance within a specified range " ,
L " HP gained after every kill grants health regeneration after each kill within a specified range " ,
L " Corspe cannot be ressurected/Targeted prevents corpses from being resurrected or targeted " ,
L " Tip: Experiment with different skill combinations to find the most effective build for your playstyle " ,
L " +% damage taken goes to mana converts a percentage of damage taken to mana within a specified range " ,
L " Damage reduced by X amount reduces incoming damage by a specific amount within a specified range " ,
L " Damage reduced by X% reduces incoming damage by a percentage within a specified range " ,
L " Damage reduced by X% based on Level reduces incoming damage based on character level " ,
L " Damage reduced by X% based on Vitality reduces incoming damage based on character Vitality " ,
L " Magic damage reduced by X reduces incoming magic damage within a specified range " ,
L " Magic damage reduced by X per Level reduces incoming magic damage based on character level " ,
L " Magic damage reduced by X per Energy reduces incoming magic damage based on character Energy " ,
L " Attacker takes X damage when hitting causes an attacker to take damage when hitting " ,
L " Attacker takes X damage per level causes an attacker to take damage based on character level " ,
L " Attacker takes X ltng dmg when hitting causes an attacker to take lightning damage when hitting " ,
L " Attacker takes X fire dmg when hitting causes an attacker to take fire damage when hitting " ,
L " Attacker takes X cold dmg when hitting causes an attacker to take cold damage when hitting " ,
L " Attacker X chance to flee when hitting gives the attacker a chance to flee when hitting " ,
L " Attacker X chance get blinded when hitting gives the attacker a chance to get blinded when hitting " ,
L " Tip: Keep an eye on your stamina bar during long journeys to avoid becoming exhausted " ,
L " Cold Damage adds cold damage to attacks or skills over a specified duration " ,
L " Minimum Cold Damage sets the minimum cold damage for attacks or skills " ,
L " Maximum Cold Damage sets the maximum cold damage for attacks or skills " ,
L " Cold Duration sets the duration of cold effects caused by attacks or skills " ,
L " Poison Damage adds poison damage to attacks or skills over a specified duration " ,
L " Minimum Poison Damage sets the minimum poison damage for attacks or skills " ,
L " Maximum Poison Damage sets the maximum poison damage for attacks or skills " ,
L " Poison Duration sets the duration of poison effects caused by attacks or skills " ,
L " Damage per Poison Level increases poison damage per character level " ,
L " Poison Length Reduction reduces the duration of poison effects caused by attacks or skills " ,
L " Poison Length Reduction per level reduces the duration of poison effects based on character level " ,
L " Poison Length Reduction per Vitality reduces the duration of poison effects based on character Vitality " ,
L " Fire Damage adds fire damage to attacks or skills over a specified duration " ,
L " Minimum Fire Damage sets the minimum fire damage for attacks or skills " ,
L " Maximum Fire Damage sets the maximum fire damage for attacks or skills " ,
L " Fire Duration sets the duration of fire effects caused by attacks or skills " ,
L " Fire Length Reduction reduces the duration of fire effects caused by attacks or skills " ,
L " Fire Length Reduction per level reduces the duration of fire effects based on character level " ,
L " Fire Length Reduction per Vitality reduces the duration of fire effects based on character Vitality " ,
L " Lightning Damage adds lightning damage to attacks or skills over a specified duration " ,
L " Minimum Lightning Damage sets the minimum lightning damage for attacks or skills " ,
L " Maximum Lightning Damage sets the maximum lightning damage for attacks or skills " ,
L " Lightning Duration sets the duration of lightning effects caused by attacks or skills " ,
L " Magic Damage adds magic damage to attacks or skills over a specified duration " ,
L " Minimum Magic Damage sets the minimum magic damage for attacks or skills " ,
L " Maximum Magic Damage sets the maximum magic damage for attacks or skills " ,
L " Magic Duration sets the duration of magic effects caused by attacks or skills " ,
L " Damage per Magic Level increases magic damage per character level " ,
L " Magic Resistance Reduction reduces enemy resistance against magic attacks " ,
L " Monster Flee X% causes monsters to flee with a certain chance " ,
L " Chance to create an explosion creates an explosion with a certain chance " ,
L " Fire explosive arrows causes arrows to explode on impact with a certain chance " ,
L " Half Freeze Duration halves the duration of freeze effects " ,
L " Cannot be Frozen prevents the character from being frozen " ,
L " +% to Resist All increases resistance to all damage types within a specified range " ,
L " +% to Resist All based on Level increases resistance to all damage types based on character level " ,
L " +% to Resist Cold increases resistance to cold damage within a specified range " ,
L " +% to Resist Cold per level increases resistance to cold damage based on character level " ,
L " +% to Resist Fire increases resistance to fire damage within a specified range " ,
L " +% to Resist Fire per level increases resistance to fire damage based on character level " ,
L " +% to Resist Lightning increases resistance to lightning damage within a specified range " ,
L " +% to Resist Lightning per level increases resistance to lightning damage based on character level " ,
L " +% to Resist Poison increases resistance to poison damage within a specified range " ,
L " +% to Resist Poison per level increases resistance to poison damage based on character level " ,
L " +% to Resist Magic increases resistance to magic damage within a specified range " ,
L " +% to Resist Magic based on Level increases resistance to magic damage based on character level " ,
L " +% to Resist Magic based on Energy increases resistance to magic damage based on character Energy " ,
L " +% to Maximum Resist All increases maximum resistance to all damage types within a specified range " ,
L " +% to Maximum Resist Cold increases maximum resistance to cold damage within a specified range " ,
L " +% to Maximum Resist Fire increases maximum resistance to fire damage within a specified range " ,
L " +% to Maximum Resist Lightning increases maximum resistance to lightning damage within a specified range " ,
L " +% to Maximum Resist Poison increases maximum resistance to poison damage within a specified range " ,
L " +% to Maximum Resist Magic increases maximum resistance to magic damage within a specified range " ,
L " Reduce Poison Duration reduces the duration of poison effects on the character " ,
L " Reduce Poison Duration per Level reduces the duration of poison effects based on character level " ,
L " Reduce Poison Duration per Vitality reduces the duration of poison effects based on character Vitality " ,
L " Reduce Curse Duration reduces the duration of curse effects on the character " ,
L " Reduce Curse Duration per Level reduces the duration of curse effects based on character level " ,
L " Reduce Curse Duration per Energy reduces the duration of curse effects based on character Energy " ,
L " Tip: Utilize the Horadric Cube to combine items for unique bonuses and effects " ,
L " Presence of 'res-all-max-hidden', 'res-all-hidden', 'res-all-max%', 'all-zero-display' on the same item displays and modifies all resistances " ,
L " + to Dexterity increases Dexterity within a specified range " ,
L " + to Dexterity per level increases Dexterity by a certain value per character level " ,
L " +% to Dexterity increases Dexterity by a percentage within a specified range " ,
L " +% to Dexterity per level increases Dexterity by a percentage per character level " ,
L " + to Strength increases Strength within a specified range " ,
L " + to Strength per level increases Strength by a certain value per character level " ,
L " +% to Strength increases Strength by a percentage within a specified range " ,
L " +% to Strength per level increases Strength by a percentage per character level " ,
L " + to Vitality increases Vitality within a specified range " ,
L " + to Vitality per level increases Vitality by a certain value per character level " ,
L " +% to Vitality increases Vitality by a percentage within a specified range " ,
L " +% to Vitality per level increases Vitality by a percentage per character level " ,
L " + to Energy increases Energy within a specified range " ,
L " + to Energy per level increases Energy by a certain value per character level " ,
L " +% to Energy increases Energy by a percentage within a specified range " ,
L " +% to Energy per level increases Energy by a percentage per character level " ,
L " Adds + to All stats increases all stats within a specified range " ,
L " + to Health increases Health within a specified range " ,
L " + to Health per level increases Health by a certain value per character level " ,
L " + to Health based on Vitality increases Health based on Vitality by a certain value " ,
L " +% to Health increases Health by a percentage within a specified range " ,
L " + to Mana increases Mana within a specified range " ,
L " + to Mana per level increases Mana by a certain value per character level " ,
L " + to Mana based on Energy increases Mana based on Energy by a certain value " ,
L " +% to Mana increases Mana by a percentage within a specified range " ,
L " + to Replenish Life grants life replenishment within a specified range " ,
L " +% to Mana Regeneration increases Mana regeneration by a percentage within a specified range " ,
L " +% run/walk speed increases running and walking speed within a specified range " ,
L " +% run/walk speed based on Level increases running and walking speed based on character level " ,
L " +% run/walk speed based on Vitality increases running and walking speed based on Vitality " ,
L " + to stamina increases Stamina within a specified range " ,
L " + stamina per level increases Stamina by a certain value per character level " ,
L " +% reduce stamina drain decreases the rate at which stamina is drained within a specified range " ,
L " +% stamina regeneration increases stamina regeneration rate within a specified range " ,
L " +% regenerate stamina per level increases stamina regeneration rate based on character level " ,
L " +% attack speed increases attack speed within a specified range " ,
L " +% attack speed based on Level increases attack speed based on character level " ,
L " +% attack speed based on Strength increases attack speed based on Strength " ,
L " +% attack speed based on Dexterity increases attack speed based on Dexterity " ,
L " +% chance to block increases the chance to block within a specified range " ,
L " +% chance to block based on Level increases the chance to block based on character level " ,
L " +% chance to block based on Strength increases the chance to block based on Strength " ,
L " +% chance to block based on Dexterity increases the chance to block based on Dexterity " ,
L " +% block speed increases block speed within a specified range " ,
L " +% block speed based on Level increases block speed based on character level " ,
L " +% block speed based on Strength increases block speed based on Strength " ,
L " +% block speed based on Dexterity increases block speed based on Dexterity " ,
L " +% cast speed increases casting speed within a specified range " ,
L " +% cast speed based on Level increases casting speed based on character level " ,
L " +% cast speed based on Energy increases casting speed based on character Energy " ,
L " +% hit recovery speed increases hit recovery speed within a specified range " ,
L " +% hit recovery speed based on Level increases hit recovery speed based on character level " ,
L " +% hit recovery speed based on Vitality increases hit recovery speed based on Vitality " ,
L " + to Light Radius increases the light radius within a specified range " ,
L " Fire Magic Arrows enables firing magical arrows " ,
L " Fire Explosive Arrows enables firing explosive arrows " ,
L " +% chance to find magic items increases the chance to find magic items within a specified range " ,
L " + Magic Find per level increases the chance to find magic items based on character level " ,
L " +% increased gold drops increases the amount of gold dropped by monsters within a specified range " ,
L " + More Gold per Level increases the amount of gold dropped by monsters based on character level " ,
L " Altered Item Requirements reduces the requirements to equip an item within a specified range " ,
L " Chance to make enemies flee increases the chance of causing enemies to flee within a specified range " ,
L " Add X Sockets to an Item adds a specific number of sockets to an item " ,
L " Makes any item throwable enables throwing any item " ,
L " Adds additional blood increases the amount of blood displayed when hitting enemies " ,
L " +% additional xp gained increases the amount of experience gained within a specified range " ,
L " + additional xp gained per level increases the amount of experience gained based on character level " ,
L " + additional xp gained based on Energy increases the amount of experience gained based on character Energy " ,
L " Reduce vendor cost reduces the cost of items bought from vendors within a specified range " ,
L " Reduce vendor cost based on Level reduces the cost of items based on character level " ,
L " Applies fade state changes the character to a faded state within a specified range " ,
L " Adds additional level requirements increases the level requirement to use an item " ,
L " Force spawns item as ethereal makes an item always spawn as an ethereal item " ,
L " Tip: Explore all corners of the map to uncover hidden treasures and secret passages " ,
L " Tip: Keep an eye on your surroundings for environmental hazards like traps and pitfalls " ,
L " Tip: Experiment with different character builds and skill combinations to find your playstyle " ,
L " Tip: Trade items with other players to obtain gear that complements your character's strengths " ,
L " Tip: Save valuable items in your stash for later use or trading with other players " ,
L " Tip: Complete quests and challenges to earn rewards and experience points " ,
L " Tip: Pay attention to the story and lore to fully immerse yourself in the world of Diablo 2 " ,
L " Tip: Use waypoints to quickly travel between different locations on the map " ,
L " Tip: Upgrade your weapons and armor regularly to keep up with tougher enemies " ,
L " Tip: Manage your inventory space efficiently to carry essential items and loot " ,
L " Tip: Experiment with different strategies and tactics to overcome challenging boss fights " ,
L " Tip: Keep an eye on your character's health and mana bars during battles " ,
L " Tip: Take breaks between gaming sessions to avoid fatigue and maintain focus " ,
L " Tip: Join online communities and forums to connect with other Diablo 2 players " ,
L " Tip: Customize your hotkeys and controls for a more comfortable gaming experience " ,
L " Tip: Experiment with different character classes to experience varied gameplay " ,
L " Tip: Farm specific areas for rare items and loot to boost your character's power " ,
L " Tip: Keep an eye on your character's resistances to mitigate elemental damage " ,
L " Tip: Use crowd control skills to immobilize enemies and gain the upper hand in battle " ,
L " Tip: Stock up on keys and potions before embarking on dungeon runs or boss fights " ,
L " Tip: Pay attention to enemy attack patterns and weaknesses to devise effective strategies " ,
L " Tip: Communicate with your teammates during multiplayer games to coordinate attacks and strategies " ,
L " Tip: Explore different difficulty levels for increased challenges and rewards " ,
L " Tip: Invest in your character's skills and abilities to enhance their effectiveness in combat " ,
L " Tip: Experiment with different weapon and armor combinations to find the best setup for your playstyle " ,
L " Tip: Keep an eye on the minimap for important locations and points of interest " ,
L " Tip: Use the /players command to adjust the difficulty and loot drops in single-player games " ,
L " Tip: Don't be afraid to retreat and regroup if you're overwhelmed by enemies " ,
L " Tip: Pay attention to synergies between skills to maximize their effectiveness " ,
L " Tip: Experiment with different character builds to find the one that suits your playstyle best " ,
L " Tip: Take advantage of shrine effects to gain temporary bonuses and buffs " ,
L " Tip: Use mercenaries to supplement your character's abilities and provide additional firepower " ,
L " Tip: Explore dungeons and caves for hidden treasures and rare monsters " ,
L " Tip: Keep an eye out for unique monsters with special abilities and loot drops " ,
L " Tip: Experiment with different rune combinations to create powerful rune words for your gear " ,
L " Tip: Keep an eye on your character's equipment durability and repair it when necessary " ,
L " Tip: Use town portals strategically to escape dangerous situations or restock on supplies " ,
L " Tip: Pay attention to your character's movement speed and agility to navigate obstacles and terrain efficiently " ,
L " Tip: Learn and memorize monster spawn locations and behavior patterns for efficient farming " ,
L " Tip: Take advantage of synergistic skills and abilities to amplify your character's strengths " ,
L " Tip: Manage your gold wisely and invest in essential items and upgrades for your character " ,
L " Tip: Experiment with different weapon types to find the one that best complements your character's skills " ,
L " Tip: Utilize crowd control skills like stuns and freezes to control enemy movements during battles " ,
L " Tip: Use the mercenary's aura skills to provide buffs and support to your character and party members " ,
L " Tip: Pay attention to enemy resistances and vulnerabilities to choose the most effective attacks and spells " ,
L " Tip: Keep an eye on your character's experience bar and level up regularly to access new skills and abilities " ,
L " Tip: Experiment with different playstyles, such as melee, ranged, or magic, to find the one that suits you best " ,
L " Tip: Use charms and jewels to customize your character's stats and abilities for specific challenges " ,
L " Tip: Pay attention to your character's resistances and gear attributes to optimize your defense against various enemy types " ,
L " Tip: Take advantage of environmental hazards like exploding barrels and traps to damage groups of enemies at once " ,
L " Tip: Experiment with different potion combinations for healing, mana restoration, and temporary buffs " ,
L " Tip: Utilize your character's class-specific skills and abilities to gain an edge in combat " ,
L " Tip: Use debuff skills and abilities to weaken enemies and make them easier to defeat " ,
L " Tip: Pay attention to your character's energy management to avoid running out of mana during battles " ,
L " Tip: Utilize your character's movement skills to evade enemy attacks and reposition during battles " ,
L " Tip: Take advantage of enemy weaknesses and vulnerabilities to deal extra damage during battles " ,
L " Tip: Use traps and environmental hazards to your advantage during battles and skirmishes " ,
L " Tip: Pay attention to enemy attack animations to anticipate and dodge incoming attacks " ,
L " Tip: Keep an eye on your character's health and mana reserves during prolonged battles and encounters " ,
L " Tip: Use consumable items like scrolls and potions strategically to gain temporary advantages in battles " ,
L " Tip: Take advantage of the game's pause function to strategize and plan your next move during battles " ,
L " Tip: Experiment with different weapon and armor upgrades to enhance your character's combat capabilities " ,
L " Tip: Use your character's unique abilities and spells to overcome challenging obstacles and enemies " ,
L " Tip: Keep an eye out for rare and unique items that can significantly boost your character's power and abilities " ,
L " Tip: Use crowd control abilities like stuns and slows to control enemy movements and gain the upper hand in battles " ,
L " Tip: Pay attention to enemy behavior and attack patterns to anticipate and counter their moves effectively " ,
L " Tip: Utilize the game's auto-map feature to navigate dungeons and explore new areas efficiently " ,
L " Tip: Experiment with different character builds and skill combinations to find the one that suits your playstyle best " ,
L " Tip: Take advantage of synergies between your character's skills and abilities to maximize their effectiveness in combat " ,
L " Tip: Keep an eye on your character's health and mana reserves during intense battles and encounters " ,
L " Tip: Use your character's movement skills to dodge enemy attacks and reposition during battles " ,
L " Tip: Pay attention to your character's energy management to ensure a steady supply of mana during battles " ,
L " Tip: Use consumable items like potions and scrolls strategically to gain temporary advantages in battles " ,
L " Tip: Take advantage of environmental hazards like exploding barrels and traps to damage groups of enemies at once " ,
L " Tip: Keep an eye out for rare and unique items that can significantly enhance your character's power and abilities " ,
L " Tip: Experiment with different weapon and armor upgrades to improve your character's combat capabilities " ,
L " Tip: Use crowd control abilities like stuns and slows to control enemy movements and gain the upper hand in battles " ,
L " Tip: Pay attention to enemy behavior and attack patterns to anticipate and counter their moves effectively " ,
L " Tip: Utilize the game's auto-map feature to navigate dungeons and explore new areas efficiently " ,
L " Tip: Experiment with different character builds and skill combinations to find the one that suits your playstyle best " ,
L " Tip: Take advantage of synergies between your character's skills and abilities to maximize their effectiveness in combat " ,
L " Tip: Keep an eye on your character's health and mana reserves during intense battles and encounters " ,
L " Tip: Use your character's movement skills to dodge enemy attacks and reposition during battles " ,
L " Tip: Pay attention to your character's energy management to ensure a steady supply of mana during battles " ,
L " Tip: Use consumable items like potions and scrolls strategically to gain temporary advantages in battles " ,
L " Tip: Take advantage of environmental hazards like exploding barrels and traps to damage groups of enemies at once " ,
L " Tip: Keep an eye out for rare and unique items that can significantly enhance your character's power and abilities " ,
L " Tip: Experiment with different weapon and armor upgrades to improve your character's combat capabilities " ,
L " Tip: Use crowd control abilities like stuns and slows to control enemy movements and gain the upper hand in battles " ,
L " Tip: Pay attention to enemy behavior and attack patterns to anticipate and counter their moves effectively " ,
L " Tip: Utilize the game's auto-map feature to navigate dungeons and explore new areas efficiently " ,
L " Tip: Experiment with different character builds and skill combinations to find the one that suits your playstyle best " ,
L " Tip: Take advantage of synergies between your character's skills and abilities to maximize their effectiveness in combat " ,
L " Tip: Keep an eye on your character's health and mana reserves during intense battles and encounters " ,
L " Tip: Use your character's movement skills to dodge enemy attacks and reposition during battles " ,
L " Tip: Pay attention to your character's energy management to ensure a steady supply of mana during battles " ,
L " Tip: Use consumable items like potions and scrolls strategically to gain temporary advantages in battles " ,
L " Tip: Take advantage of environmental hazards like exploding barrels and traps to damage groups of enemies at once " ,
L " Tip: Keep an eye out for rare and unique items that can significantly enhance your character's power and abilities " ,
L " Tip: Experiment with different weapon and armor upgrades to improve your character's combat capabilities " ,
L " Tip: Use crowd control abilities like stuns and slows to control enemy movements and gain the upper hand in battles " ,
L " Tip: Pay attention to enemy behavior and attack patterns to anticipate and counter their moves effectively " ,
L " Tip: Utilize the game's auto-map feature to navigate dungeons and explore new areas efficiently " ,
L " Tip: Experiment with different character builds and skill combinations to find the one that suits your playstyle best " ,
L " Tip: Take advantage of synergies between your character's skills and abilities to maximize their effectiveness in combat " ,
L " Tip: Keep an eye on your character's health and mana reserves during intense battles and encounters " ,
L " Tip: Use your character's movement skills to dodge enemy attacks and reposition during battles " ,
L " Tip: Pay attention to your character's energy management to ensure a steady supply of mana during battles " ,
L " Tip: Use consumable items like potions and scrolls strategically to gain temporary advantages in battles " ,
L " Tip: Take advantage of environmental hazards like exploding barrels and traps to damage groups of enemies at once " ,
L " Tip: Keep an eye out for rare and unique items that can significantly enhance your character's power and abilities " ,
L " Tip: Experiment with different weapon and armor upgrades to improve your character's combat capabilities " ,
L " Tip: Use crowd control abilities like stuns and slows to control enemy movements and gain the upper hand in battles " ,
L " Tip: Pay attention to enemy behavior and attack patterns to anticipate and counter their moves effectively " ,
L " Tip: Utilize the game's auto-map feature to navigate dungeons and explore new areas efficiently " ,
L " Tip: Experiment with different character builds and skill combinations to find the one that suits your playstyle best " ,
L " Tip: Take advantage of synergies between your character's skills and abilities to maximize their effectiveness in combat " ,
L " Tip: Keep an eye on your character's health and mana reserves during intense battles and encounters " ,
L " Tip: Use your character's movement skills to dodge enemy attacks and reposition during battles " ,
L " Tip: Pay attention to your character's energy management to ensure a steady supply of mana during battles " ,
L " Tip: Use consumable items like potions and scrolls strategically to gain temporary advantages in battles " ,
L " Tip: Take advantage of environmental hazards like exploding barrels and traps to damage groups of enemies at once " ,
L " Tip: Keep an eye out for rare and unique items that can significantly enhance your character's power and abilities " ,
L " Tip: Experiment with different weapon and armor upgrades to improve your character's combat capabilities " ,
L " Tip: Use crowd control abilities like stuns and slows to control enemy movements and gain the upper hand in battles " ,
L " Tip: Pay attention to enemy behavior and attack patterns to anticipate and counter their moves effectively " ,
L " Tip: Utilize the game's auto-map feature to navigate dungeons and explore new areas efficiently " ,
L " Tip: Experiment with different character builds and skill combinations to find the one that suits your playstyle best " ,
L " Tip: Take advantage of synergies between your character's skills and abilities to maximize their effectiveness in combat " ,
L " Tip: Keep an eye on your character's health and mana reserves during intense battles and encounters " ,
L " Tip: Use your character's movement skills to dodge enemy attacks and reposition during battles " ,
L " Tip: Pay attention to your character's energy management to ensure a steady supply of mana during battles " ,
L " Tip: Use consumable items like potions and scrolls strategically to gain temporary advantages in battles " ,
L " Tip: Take advantage of environmental hazards like exploding barrels and traps to damage groups of enemies at once " ,
L " Tip: Keep an eye out for rare and unique items that can significantly enhance your character's power and abilities " ,
L " Tip: Experiment with different weapon and armor upgrades to improve your character's combat capabilities " ,
L " Tip: Use crowd control abilities like stuns and slows to control enemy movements and gain the upper hand in battles " ,
L " Tip: Pay attention to enemy behavior and attack patterns to anticipate and counter their moves effectively " ,
L " Tip: Utilize the game's auto-map feature to navigate dungeons and explore new areas efficiently " ,
L " Tip: Experiment with different character builds and skill combinations to find the one that suits your playstyle best " ,
L " Tip: Take advantage of synergies between your character's skills and abilities to maximize their effectiveness in combat " ,
L " Tip: Keep an eye on your character's health and mana reserves during intense battles and encounters " ,
L " Tip: Use your character's movement skills to dodge enemy attacks and reposition during battles " ,
L " Tip: Pay attention to your character's energy management to ensure a steady supply of mana during battles " ,
L " Tip: Use consumable items like potions and scrolls strategically to gain temporary advantages in battles " ,
L " Tip: Take advantage of environmental hazards like exploding barrels and traps to damage groups of enemies at once " ,
L " Tip: Keep an eye out for rare and unique items that can significantly enhance your character's power and abilities " ,
L " Tip: Experiment with different weapon and armor upgrades to improve your character's combat capabilities " ,
L " Tip: Use crowd control abilities like stuns and slows to control enemy movements and gain the upper hand in battles " ,
} ;
void OnLoad ( ) {
srand ( time ( NULL ) ) ;
}
2024-04-19 11:47:43 +00:00
# include <iostream>
# include <sstream>
# include <algorithm>
# include <vector>
using namespace std ;
// Function to break the tip into words
vector < string > split ( const string & s , char delim ) {
stringstream ss ( s ) ;
string item ;
vector < string > tokens ;
while ( getline ( ss , item , delim ) ) {
tokens . push_back ( item ) ;
}
return tokens ;
}
2024-04-19 10:03:20 +00:00
2024-04-19 11:47:43 +00:00
// Function to create sentences from words
string makeSentence ( vector < string > words , int start , int end ) {
stringstream ss ;
for ( int i = start ; i < = end ; + + i ) {
ss < < words [ i ] < < " " ;
}
return ss . str ( ) ;
}
2024-04-19 10:03:20 +00:00
2024-04-19 11:47:43 +00:00
// Function to convert string to wide string
wstring stringToWstring ( const string & s ) {
wstring ws ;
for ( char c : s ) {
ws + = ( wchar_t ) c ;
}
return ws ;
2024-04-19 10:03:20 +00:00
}
2024-04-19 11:47:43 +00:00
// Your original code here
// Modified onDraw function
void onDraw ( ) {
if ( GetTickCount64 ( ) > = nEndTime ) {
nEndTime = GetTickCount64 ( ) + DURATION ;
nTip = rand ( ) % diablo2Tips . size ( ) ;
}
// Convert wstring to string for manipulation
string strTip = string ( diablo2Tips [ nTip ] . begin ( ) , diablo2Tips [ nTip ] . end ( ) ) ;
vector < string > words = split ( strTip , ' ' ) ;
// Calculate positions for multiple lines
int yPos = 95 ;
for ( int i = 0 ; i < words . size ( ) ; i + = 10 ) {
// Create a sentence from words and convert it back to wide string
string sentence = makeSentence ( words , i , min ( i + 9 , ( int ) words . size ( ) - 1 ) ) ;
wstring wSentence = stringToWstring ( sentence ) ;
D2PrintString ( const_cast < LPWSTR > ( wSentence . c_str ( ) ) , 152 , yPos , WHITE , 0 ) ;
yPos + = 10 ; // Move to the next line
}
}
2016-04-18 09:08:37 +00:00
void FASTCALL printPageNumber ( LPWSTR maxGoldText , DWORD x , DWORD y , DWORD color , DWORD bfalse )
{
if ( onRealm | | ! D2isLODGame ( ) )
{
D2PrintString ( maxGoldText , x , y , color , bfalse ) ;
return ;
}
2021-01-04 07:07:29 +00:00
DWORD mx = D2GetMouseX ( ) ;
DWORD my = D2GetMouseY ( ) ;
2016-04-18 09:08:37 +00:00
Unit * ptChar = D2GetClientPlayer ( ) ;
2021-01-04 07:07:29 +00:00
WCHAR popupText [ 0x400 ] ;
2016-04-18 09:08:37 +00:00
2021-01-04 07:07:29 +00:00
if ( ! PCPY - > currentStash )
D2PrintString ( getLocalString ( STR_NO_SELECTED_PAGE ) , x , y , WHITE , bfalse ) ;
else
2016-04-18 09:08:37 +00:00
{
bool isShared = PCPY - > currentStash - > isShared ;
2017-01-23 19:34:12 +00:00
bool isIndex = PCPY - > currentStash - > isIndex ;
2021-01-04 07:07:29 +00:00
bool isMainIndex = PCPY - > currentStash - > isMainIndex ;
DWORD currentId = PCPY - > currentStash - > id + 1 ;
2016-04-18 09:08:37 +00:00
2021-01-04 07:07:29 +00:00
WCHAR text [ 21 ] ;
getCurrentStashName ( text , 21 , ptChar ) ;
// Replace character # by number page.
int j = 0 ;
2024-04-05 06:17:33 +00:00
for ( int i = 0 ; text [ i ] ; i + + )
2021-01-04 07:07:29 +00:00
{
if ( text [ i ] = = L ' # ' )
{
DWORD val = currentId ;
int nbDigits = 0 ;
do
{
nbDigits + + ;
val / = 10 ;
2024-04-05 06:17:33 +00:00
} while ( val ) ;
2021-01-04 07:07:29 +00:00
j + = nbDigits ;
val = currentId ;
nbDigits = 0 ;
do
{
nbDigits + + ;
popupText [ j - nbDigits ] = ( WCHAR ) ( val % 10 + 48 ) ;
val / = 10 ;
2024-04-05 06:17:33 +00:00
} while ( val ) ;
2021-01-04 07:07:29 +00:00
}
else
popupText [ j + + ] = text [ i ] ;
}
popupText [ j ] = NULL ;
// Check text length vs field name length
int pixelLen = D2GetPixelLen ( popupText ) ;
int len = wcslen ( popupText ) ;
2024-04-05 06:17:33 +00:00
while ( len > 0 & & pixelLen > posWStashNameField - 5 )
2021-01-04 07:07:29 +00:00
{
len - - ;
popupText [ len ] = NULL ;
pixelLen = D2GetPixelLen ( popupText ) ;
}
DWORD color = isShared ? ( isMainIndex ? SharedMainIndexPageColor : isIndex ? SharedIndexPageColor : SharedNormalPageColor ) : ( isMainIndex ? PersonalMainIndexPageColor : isIndex ? PersonalIndexPageColor : PersonalNormalPageColor ) ;
2024-04-05 06:17:33 +00:00
// By HashCasper
D2PrintString ( popupText , 152 , 605 , color , bfalse ) ;
WCHAR HashString [ ] = L " Ironman Mod by Hash " ;
D2PrintString ( HashString , 152 , 75 , color , bfalse ) ;
// Print Random Tips
2024-04-19 11:47:43 +00:00
D2SetFont ( 6 ) ;
2024-04-19 10:03:20 +00:00
onDraw ( ) ;
2016-04-18 09:08:37 +00:00
}
}
static Stash * curStash = NULL ;
static DWORD currentSawStash = 0 ;
Unit * STDCALL getNextItemForSet ( Unit * ptItem )
{
Unit * item = ptItem ? D2UnitGetNextItem ( ptItem ) : NULL ;
if ( item ) return item ;
if ( ! curStash )
{
Unit * ptChar = D2GetClientPlayer ( ) ;
switch ( currentSawStash )
{
case 0 : curStash = PCPY - > selfStash ;
currentSawStash = displaySharedSetItemNameInGreen ? 1 : 2 ;
break ;
case 1 : curStash = PCPY - > sharedStash ;
currentSawStash = 2 ;
break ;
default : return NULL ;
}
} else {
curStash = curStash - > nextStash ;
}
if ( curStash )
{
item = curStash - > ptListItem ;
if ( item ) return item ;
}
return getNextItemForSet ( item ) ;
}
Unit * STDCALL initGetNextItemForSet ( Inventory * ptInventory )
{
Unit * ptChar = D2GetClientPlayer ( ) ;
if ( ptChar - > nUnitType ! = UNIT_PLAYER ) return NULL ;
if ( ! PCPY ) return NULL ;
curStash = NULL ;
currentSawStash = 0 ;
Unit * item = D2InventoryGetFirstItem ( ptInventory ) ;
if ( item ) return item ;
return getNextItemForSet ( item ) ;
}
2020-10-25 13:10:17 +00:00
FCT_ASM ( caller_manageBtnDown_114 )
2021-01-04 07:07:29 +00:00
PUSH EBX
CALL manageBtnDown
TEST EAX , EAX
JE IS_NOT_ON_BUTTON
POP EDX
MOV EDX , DWORD PTR DS : [ EDX + 0xA ]
MOV DWORD PTR DS : [ EDX ] , 1
POP EDI
POP ESI
POP EBX
MOV ESP , EBP
POP EBP
RETN 4
IS_NOT_ON_BUTTON :
JMP D2ClickOnStashButton
2020-10-25 13:10:17 +00:00
} }
2016-04-18 09:08:37 +00:00
FCT_ASM ( caller_manageBtnDown_111 )
PUSH EBP
CALL manageBtnDown
TEST EAX , EAX
JE IS_NOT_ON_BUTTON
POP EDX
MOV EDX , DWORD PTR DS : [ EDX + 0x10 ]
MOV DWORD PTR DS : [ EDX ] , 1
POP EDI
POP ESI
POP EBP
POP EBX
RETN 4
IS_NOT_ON_BUTTON :
JMP D2ClickOnStashButton
} }
FCT_ASM ( caller_manageBtnDown )
PUSH EDI
CALL manageBtnDown
TEST EAX , EAX
JE IS_NOT_ON_BUTTON
POP EDX
MOV EDX , DWORD PTR DS : [ EDX + 0xF3 ]
MOV DWORD PTR DS : [ EDX ] , 1
POP EDI
POP ESI
POP EBP
POP EBX
RETN 4
IS_NOT_ON_BUTTON :
JMP D2isLODGame
} }
2020-10-25 13:10:17 +00:00
FCT_ASM ( caller_manageBtnUp_114 )
2021-01-04 07:07:29 +00:00
PUSH EBX
CALL manageBtnUp
MOV isDownBtn . all , 0
TEST EAX , EAX
JE IS_NOT_ON_BUTTON
POP EDX
MOV EDX , DWORD PTR DS : [ EDX + 0x33 ]
MOV DWORD PTR DS : [ EDX ] , 0
SUB EDX , 8
MOV DWORD PTR DS : [ EDX ] , 0
ADD EDX , 4
MOV DWORD PTR DS : [ EDX ] , 0
ADD EDX , 0x64
MOV DWORD PTR DS : [ EDX ] , 0
POP EDI
POP ESI
POP EBX
MOV ESP , EBP
POP EBP
RETN 4
2020-10-25 13:10:17 +00:00
IS_NOT_ON_BUTTON :
2021-01-04 07:07:29 +00:00
JMP D2ClickOnStashButton
2020-10-25 13:10:17 +00:00
} }
2016-04-18 09:08:37 +00:00
FCT_ASM ( caller_manageBtnUp_111 )
PUSH EBX
CALL manageBtnUp
MOV isDownBtn . all , 0
TEST EAX , EAX
JE IS_NOT_ON_BUTTON
POP EDX
MOV EDX , DWORD PTR DS : [ EDX + 0x1A ]
MOV DWORD PTR DS : [ EDX ] , 0
SUB EDX , 8
MOV DWORD PTR DS : [ EDX ] , 0
ADD EDX , 4
MOV DWORD PTR DS : [ EDX ] , 0
ADD EDX , 0x68
MOV DWORD PTR DS : [ EDX ] , 0
POP EDI
POP ESI
POP EBP
POP EBX
POP ECX
RETN 4
IS_NOT_ON_BUTTON :
JMP D2ClickOnStashButton
} }
FCT_ASM ( caller_manageBtnUp )
PUSH EBP
CALL manageBtnUp
MOV isDownBtn . all , 0
TEST EAX , EAX
JE IS_NOT_ON_BUTTON
POP EDX
MOV EDX , DWORD PTR DS : [ EDX + 0xEA ]
MOV DWORD PTR DS : [ EDX ] , 0
SUB EDX , 8
MOV DWORD PTR DS : [ EDX ] , 0
ADD EDX , 4
MOV DWORD PTR DS : [ EDX ] , 0
ADD EDX , 0x68
MOV DWORD PTR DS : [ EDX ] , 0
POP EDI
POP ESI
POP EBP
POP EBX
RETN 4
IS_NOT_ON_BUTTON :
JMP D2isLODGame
} }
2021-01-04 07:07:29 +00:00
FCT_ASM ( initBtnsStates_114 )
MOV isDownBtn . all , 0
POP ECX
MOV ESP , EBP
POP EBP
RETN
2020-10-25 13:10:17 +00:00
} }
2016-04-18 09:08:37 +00:00
FCT_ASM ( initBtnsStates )
MOV isDownBtn . all , 0
ADD ESP , 0x104
RETN
} }
void Install_InterfaceStash ( )
{
static int isInstalled = false ;
if ( isInstalled ) return ;
Install_UpdateServer ( ) ;
Install_PlugYImagesFiles ( ) ;
log_msg ( " Patch D2Client for stash interface. (InterfaceStash) \n " ) ;
// Print button images
2020-10-25 13:10:17 +00:00
mem_seek R8 ( D2Client , 39060 , 39060 , 3F 399 , B1006 , 7 DF86 , B3656 , 99 A56 , 9 DE26 , 8F 308 ) ;
2021-01-04 07:07:29 +00:00
MEMC_REF4 ( D2LoadBuySelBtn , printBtns ) ;
2016-04-18 09:08:37 +00:00
//6FADF398 |. E8 734D0400 CALL D2Client.6FB24110
//6FB61005 |. E8 A6D3FEFF CALL D2Client.6FB4E3B0
//6FB2DF85 |. E8 3642FEFF CALL D2Client.6FB121C0
//6FB63655 |. E8 9682FDFF CALL D2Client.6FB3B8F0
//6FB49A55 |. E8 96500200 CALL D2Client.6FB6EAF0
2016-04-18 09:10:35 +00:00
//6FB4DE25 |. E8 76ACF7FF CALL D2Client.6FAC8AA0
2021-01-04 07:07:29 +00:00
//0048F307 |. E8 F452FCFF CALL Game.00454600
2016-04-18 09:08:37 +00:00
// print page number
2020-10-25 13:10:17 +00:00
mem_seek R8 ( D2Client , 3903 C , 3903 C , 3F 375 , B0FE3 , 7 DF63 , B3633 , 99 A33 , 9 DE03 , 8F 2E5 ) ;
2024-04-05 06:17:33 +00:00
2021-01-04 07:07:29 +00:00
MEMJ_REF4 ( D2PrintString , printPageNumber ) ;
2024-04-05 06:17:33 +00:00
2016-04-18 09:08:37 +00:00
//6FADF374 |. E8 3FCC0800 CALL <JMP.&D2Win.#10117>
//6FB60FE2 |. E8 99C2F5FF CALL <JMP.&D2Win.#10020>
//6FB2DF62 |. E8 19F3F8FF CALL <JMP.&D2Win.#10064>
//6FB63632 |. E8 299DF5FF CALL <JMP.&D2Win.#10001>
2017-01-23 19:34:12 +00:00
//6FB49A32 |. E8 4739F7FF CALL <JMP.&D2Win.#10150>
2016-04-18 09:10:35 +00:00
//6FB4DE02 |. E8 4739F7FF CALL <JMP.&D2Win.#10076>
2021-01-04 07:07:29 +00:00
//0048F2E4 |. E8 37300700 CALL Game.00502320 ; \Game.00502320
2016-04-18 09:08:37 +00:00
// Manage mouse down (Play sound)
2020-10-25 13:10:17 +00:00
mem_seek R8 ( D2Client , 45091 , 45091 , 4 BBA1 , B4666 , 7F DD6 , B54A6 , 9 B8A6 , 9F C76 , 925 B8 ) ;
2021-01-04 07:07:29 +00:00
MEMC_REF4 ( version_D2Client > = V111 ? ( DWORD ) D2ClickOnStashButton : ( DWORD ) D2isLODGame , version_D2Client > = V114a ? caller_manageBtnDown_114 : version_D2Client > = V111 ? caller_manageBtnDown_111 : caller_manageBtnDown ) ;
//6FAEBBA0 > E8 DB04FCFF CALL D2Client.6FAAC080
2016-04-18 09:08:37 +00:00
//6FB64665 . E8 B61EFFFF CALL D2Client.6FB56520
//6FB2FDD5 . E8 E612FFFF CALL D2Client.6FB210C0
//6FB654A5 . E8 9611FFFF CALL D2Client.6FB56640
//6FB4B8A5 . E8 5614FFFF CALL D2Client.6FB3CD00
2016-04-18 09:10:35 +00:00
//6FB4FC75 . E8 960FFFFF CALL D2Client.6FB40C10
2021-01-04 07:07:29 +00:00
//004925B7 |. E8 C473FFFF CALL Game.00489980
2016-04-18 09:08:37 +00:00
// Manage mouse up
2020-10-25 13:10:17 +00:00
mem_seek R8 ( D2Client , 455F 9 , 455F 9 , 4 C0F9 , B57B9 , 7F C09 , B52D9 , 9 B6D9 , 9F AA9 , 89 B63 ) ;
2021-01-04 07:07:29 +00:00
MEMC_REF4 ( version_D2Client > = V111 ? ( DWORD ) D2ClickOnStashButton : ( DWORD ) D2isLODGame , version_D2Client > = V114a ? caller_manageBtnUp_114 : version_D2Client > = V111 ? caller_manageBtnUp_111 : caller_manageBtnUp ) ;
//6FAEC0F8 > E8 83FFFBFF CALL D2Client.6FAAC080
2016-04-18 09:08:37 +00:00
//6FB657B8 > E8 630DFFFF CALL D2Client.6FB56520
//6FB2FC08 > E8 B314FFFF CALL D2Client.6FB210C0
//6FB652D8 > E8 6313FFFF CALL D2Client.6FB56640
//6FB4B6D8 > E8 2316FFFF CALL D2Client.6FB3CD00
2016-04-18 09:10:35 +00:00
//6FB4FAA8 > E8 6311FFFF CALL D2Client.6FB40C10
2021-01-04 07:07:29 +00:00
//00489B62 |> E8 19FEFFFF CALL Game.00489980
2016-04-18 09:08:37 +00:00
// init state of button on open stash page
2021-01-04 07:07:29 +00:00
mem_seek R8 ( D2Client , 45 B3A , 45 B3A , 4 C63A , A645A , 749 DA , A9D9A , 8 CC3A , 9441 A , 89 ED5 ) ;
if ( version_D2Client > = V114d )
{
memt_byte ( 0x8B , 0xE9 ) ; // CALL initBtnsStates
MEMT_REF4 ( 0xCCC35DE5 , initBtnsStates_114 ) ;
} else {
memt_byte ( 0x81 , 0xE9 ) ; // CALL initBtnsStates
MEMT_REF4 ( 0x000104C4 , initBtnsStates ) ;
memt_byte ( 0x00 , 0x90 ) ;
}
2016-04-18 09:08:37 +00:00
//6FAE5B3A |> 81C4 04010000 ADD ESP,104
//6FAE5B3A |> 81C4 04010000 ADD ESP,104
//6FAEC63A |> 81C4 04010000 ADD ESP,104
//6FB5645A |> 81C4 04010000 ADD ESP,104
//6FB249DA |> 81C4 04010000 ADD ESP,104
//6FB59D9A |> 81C4 04010000 ADD ESP,104
//6FB3CC3A |> 81C4 04010000 ADD ESP,104
2016-04-18 09:10:35 +00:00
//6FB4441A |> 81C4 04010000 ADD ESP,104
2021-01-04 07:07:29 +00:00
//00489ED5 |> 8BE5 MOV ESP,EBP
//00489ED7 |. 5D POP EBP
//00489ED8 \. C3 RETN
//00489ED9 CC INT3
2016-04-18 09:08:37 +00:00
// init the search of print in green the item set name we have in stash
2020-10-25 13:10:17 +00:00
mem_seek R8 ( D2Client , 3F 098 , 3F 098 , 45997 , A71F4 , 71F 64 , A7314 , 8 D434 , 91 A24 , 86774 ) ;
2021-01-04 07:07:29 +00:00
MEMJ_REF4 ( D2InventoryGetFirstItem , initGetNextItemForSet ) ;
2016-04-18 09:08:37 +00:00
//6FAE5996 |. E8 D5500800 CALL <JMP.&D2Common.#10277>
//6FB571F3 |. E8 D64EF6FF CALL <JMP.&D2Common.#10402>
//6FB21F63 |. E8 96A1F9FF CALL <JMP.&D2Common.#10535>
//6FB57313 |. E8 8250F6FF CALL <JMP.&D2Common.#11151>
//6FB3D433 |. E8 B8F0F7FF CALL <JMP.&D2Common.#10460>
2016-04-18 09:10:35 +00:00
//6FB41A23 |. E8 96A7F7FF CALL <JMP.&D2Common.#11040>
2021-01-04 07:07:29 +00:00
//00486773 |. E8 484B1B00 CALL Game.0063B2C0 ; \Game.0063B2C0
2016-04-18 09:08:37 +00:00
// Get next item for print in green the item set name we have in stash
2020-10-25 13:10:17 +00:00
mem_seek R8 ( D2Client , 3F 0F A , 3F 0F A , 45 A1C , A728B , 71FF B , A73AB , 8 D4CB , 91 ABB , 86807 ) ;
2021-01-04 07:07:29 +00:00
MEMJ_REF4 ( D2UnitGetNextItem , getNextItemForSet ) ;
2016-04-18 09:08:37 +00:00
//6FAE5A1B E8 4A500800 CALL <JMP.&D2Common.#10304>
//6FB5728A |. E8 0B4FF6FF |CALL <JMP.&D2Common.#10934>
//6FB21FFA |. E8 A1A1F9FF |CALL <JMP.&D2Common.#11140>
//6FB573AA |. E8 7550F6FF |CALL <JMP.&D2Common.#10770>
//6FB3D4CA |. E8 99F0F7FF |CALL <JMP.&D2Common.#10464>
2016-04-18 09:10:35 +00:00
//6FB41ABA |. E8 A3A8F7FF |CALL <JMP.&D2Common.#10879>
2021-01-04 07:07:29 +00:00
//00486806 |. E8 95771B00 |CALL Game.0063DFA0 ; \Game.0063DFA0
2016-04-18 09:08:37 +00:00
log_msg ( " \n " ) ;
isInstalled = true ;
}
/*================================= END OF FILE =================================*/