Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions data/js/server/data/material_types.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ const itemTileIDList = [
//New ToL Weapons
0xaea4, 0xaea5, 0xaeb3, 0xaeb4, 0xaec2, 0xaec3, 0xaed1, 0xaed2,

// Publish 123 Weapons
0xB4BF, 0xB4C0, 0xB4C1, 0xB4C2, 0xB4C3, 0xB4C4, 0xB4C5, 0xB4C6, 0xB4C7, 0xB4C8, 0xB4C9,
0xB4CA, 0xB4CB, 0xB4CC, 0xB4CD, 0xB4CE, 0xB4D4, 0xB4D5, 0xB4D6, 0xB4D7, 0xB4DA, 0xB4DB,
0xB4DC, 0xB4DD, 0xB4DE, 0xB4DF, 0xB4E0, 0xB4E1,

// Armor
0x13bb, 0x13be, 0x13bf, 0x13c0, 0x13c3, 0x13c4, 0x13eb, 0x13ec, 0x13ed, 0x13ee, 0x13ef,
0x13f0, 0x13f1, 0x13f2, 0x1408, 0x1409, 0x140a, 0x140b, 0x140c, 0x140d, 0x140e, 0x140f,
Expand All @@ -54,6 +59,9 @@ const itemTileIDList = [
0xaebf, 0xaec0, 0xaec6, 0xaec7, 0xaec8, 0xaec9, 0xaeca, 0xaecb, 0xaecc, 0xaecd,
0xaece, 0xaecf, 0xaed5, 0xaed6, 0xaed7, 0xaed8, 0xaed9, 0xaeda, 0xaedb,

// Publish 123 Armors
0xB4E2, 0xB4E3,

// Shields
0x1b72, 0x1b73, 0x1b74, 0x1b75, 0x1b76, 0x1b77, 0x1b7b, 0x2b01, 0x4201, 0x4202, 0x4203,
0x4204, 0x4206, 0x4208, 0x4209, 0x420a, 0xa649, 0xa64a, 0xa831, 0xa832, 0x7818, 0x7817,
Expand Down Expand Up @@ -132,6 +140,9 @@ const itemTileIDList = [
0xa700, 0xa701, 0xa702, 0xa703, 0xb2b7, 0xb2b8, 0xb2b9, 0xb2ba, 0xb298, 0xb299, 0xb29a, 0xb29b, 0xb29c, 0xb29d, 0xaea3,
0xaeb2, 0xaec1, 0xaed0, 0xb1de,

// Publish 123 Clothing
0xB40A,

// Armor
0x2794, 0x2797, 0x2798, 0x405f, 0x4060, 0x4061, 0x4062, 0x4063, 0x4064, 0x4065, 0x4066
]],
Expand Down Expand Up @@ -166,17 +177,18 @@ const itemTileIDList = [
]]
];

/** @type { ( itemToCheck: Item | null, idToCheck?: number ) => string | number | boolean } */
function GetItemMaterialType( itemToCheck, idToCheck )
{
var itemTileID = 0;

if( ValidateObject( itemToCheck ))
{
// Return custom material from item tag, if it exists
if( itemToCheck.GetTag( "materialType" ))
{
return itemToCheck.GetTag( "materialType" );
}

// Otherwise return material based on item's ID
itemTileID = itemToCheck.id;
}
Expand Down Expand Up @@ -232,6 +244,7 @@ const resourceTileIDList = [
]]*/
];

/** @type { ( idToCheck: number ) => string } */
function GetResourceType( idToCheck )
{
for( var i = 0; i < resourceTileIDList.length; i++ )
Expand All @@ -250,13 +263,14 @@ function GetResourceType( idToCheck )
const mapTileIDList = [
];

/** @type { ( mapTileID: number ) => string } */
function GetGroundMaterialType( mapTileID )
{
for( var i = 0; i < mapTileIDListList.length; i++ )
for( var i = 0; i < mapTileIDList.length; i++ )
{
for( var j = 0; j < mapTileIDListList[i].length; j++ )
{
if( mapTileIDListList[i][j].indexOf( mapTileID ) > -1 )
if( mapTileIDList[i][j].indexOf( mapTileID ) > -1 )
{
return mapTileIDListList[i][0];
}
Expand Down
36 changes: 35 additions & 1 deletion data/js/server/data/weapontypes.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
// "WRESTLING"
// "THROWING"

/** @type { ( mChar: Character | null, itemID: number | null ) => string } */
function GetWeaponType( mChar, itemID )
{
var weaponType;
Expand Down Expand Up @@ -97,6 +98,8 @@ function GetWeaponType( mChar, itemID )
case 0x48C7: //gargish bone harvester - SA
case 0xA28B: // Bladed Whip - tol
case 0xA293: // Bladed Whip - tol
case 0xB4CD: //Gargish Bokuto Publish 123
case 0xB4CE: //Gargish Bokuto Publish 123
weaponType = "DEF_SWORDS"; break;
// Default Swords
case 0x13F6: //butcher knife
Expand Down Expand Up @@ -158,6 +161,10 @@ function GetWeaponType( mChar, itemID )
case 0x27F3: //bokuto - SE
case 0x2D32: //rune blade - ML
case 0x2D26: //rune blade - ML
case 0x0908: //gargish talwar - SA
case 0x4075: //gargish talwar - SA
case 0xB4BF: //Tachi Publish 123
case 0xB4C0: //Tachi Publish 123
weaponType = "TWOHND_LG_SWORDS"; break;
// Bardiche
case 0x0F4D: //bardiche
Expand Down Expand Up @@ -206,6 +213,8 @@ function GetWeaponType( mChar, itemID )
case 0x48B1: //gargish battleaxe - SA
case 0x48B2: //gargish axe - SA
case 0x48B3: //gargish axe - SA
case 0xB4DE: //Skull_Axe Publish 123
case 0xB4DF: //Skull_Axe Publish 123
weaponType = "TWOHND_AXES"; break;
// Default Maces
case 0x0DF2: // Wand
Expand Down Expand Up @@ -249,6 +258,12 @@ function GetWeaponType( mChar, itemID )
case 0xAEB3: //Water Paladin Hammer - ToL
case 0xAEC2: //Earth Paladin Hammer - ToL
case 0xAED1: //Fire Paladin Hammer - ToL
case 0xB4C1: //Escrima Publish 123
case 0xB4C2: //Escrima Publish 123
case 0xB4CB: //Gargish Otsuchi Publish 123
case 0xB4CC: //Gargish Otsuchi Publish 123
case 0xB4DA: //Skull_Mace Publish 123
case 0xB4DB: //Skull_Mace Publish 123
weaponType = "DEF_MACES"; break;
// Large Maces
case 0x1438: //war hammer
Expand All @@ -267,6 +282,10 @@ function GetWeaponType( mChar, itemID )
case 0x48C1: //gargish war hammer - SA
case 0x48CC: //gargish tessen - SA
case 0x48CD: //gargish tessen - SA
case 0xA7C3: //candycane staff
case 0xA7C4: //candycane staff
case 0xB4C3: //Bo Staff Publish 123
case 0xB4C4: //Bo Staff Publish 123
weaponType = "LG_MACES"; break;
// Staffs - treated differently in some cases than other maces
case 0x13F4: //crook
Expand Down Expand Up @@ -311,6 +330,8 @@ function GetWeaponType( mChar, itemID )
case 0x27F0: //yumi - SE
case 0x2D1F: //magical shortbow - ML
case 0x2D2B: //magical shortbow - ML
case 0xB4DC: //Skull_Crossbow Publish 123
case 0xB4DD: //Skull_Crossbow Publish 123
weaponType = "BOWS"; break;
// Crossbows
case 0x0F4F: //crossbow
Expand Down Expand Up @@ -353,6 +374,12 @@ function GetWeaponType( mChar, itemID )
case 0xAEB4: //Water Paladin fork - ToL
case 0xAEC3: //Earth Paladin fork - ToL
case 0xAED2: //Fire Paladin fork - ToL
case 0xB4C7: //Tanto Publish 123
case 0xB4C8: //Tanto Publish 123
case 0xB4C9: //Gargish Tanto Publish 123
case 0xB4CA: //Gargish Tanto Publish 123
case 0xB4D4: //Skull_Blade Publish 123
case 0xB4D5: //Skull_Blade Publish 123
weaponType = "DEF_FENCING"; break;
// Stabbing Fencing Weapons
case 0x0E87: //pitchfork
Expand Down Expand Up @@ -382,6 +409,10 @@ function GetWeaponType( mChar, itemID )
case 0x48C9: //gargish pike - SA
case 0x48CA: //gargish lance - SA
case 0x48CB: //gargish lance - SA
case 0xB4C5: //Yari Publish 123
case 0xB4C6: //Yari Publish 123
case 0xB4D6: //Skull_Spear Publish 123
case 0xB4D7: //Skull_Spear Publish 123
weaponType = "TWOHND_FENCING"; break;
case 0x27AF: //sai - SE
case 0x27FA: //sai - SE
Expand All @@ -406,14 +437,17 @@ function GetWeaponType( mChar, itemID )
case 0x406C: //gargish cyclone - SA
case 0x090A: //gargish soul glaive - SA
case 0x406B: //gargish soul glaive - SA
weapontype = "THROWN"; break;
case 0xB4E0: //Skull_Glaive_G Publish 123
case 0xB4E1: //Skull_Glaive_G Publish 123
weaponType = "THROWN"; break;
default: // Wrestling
weaponType = "WRESTLING"; break;
}

return weaponType;
}

/** @type { ( weaponType: string ) => string } */
function GetCombatSkill( weaponType )
{
var combatSkill;
Expand Down
28 changes: 28 additions & 0 deletions source/combat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -727,6 +727,8 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0x48BB: //gargish katana - SA
case 0xA28B: //bladed whip - ToL
case 0xA293: //bladed whip - ToL
case 0xB4CD: //Gargish Bokuto Publish 123
case 0xB4CE: //Gargish Bokuto Publish 123
return SLASH_SWORDS;
// One-Handed Lg. Swords
case 0x0F5E: //broadsword
Expand Down Expand Up @@ -768,6 +770,8 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0x2D32: //rune blade - ML
case 0x0908: //gargish talwar - SA
case 0x4075: //gargish talwar - SA
case 0xB4BF: //Tachi Publish 123
case 0xB4C0: //Tachi Publish 123
return TWOHND_LG_SWORDS;
// Bardiche
case 0x0F4D: //bardiche
Expand Down Expand Up @@ -816,6 +820,8 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0x48B1: //gargish battleaxe - SA
case 0x48B2: //gargish axe - SA
case 0x48B3: //gargish axe - SA
case 0xB4DE: //Skull_Axe Publish 123
case 0xB4DF: //Skull_Axe Publish 123
return TWOHND_AXES;
// Default Maces
case 0x0DF2: // Wand
Expand Down Expand Up @@ -861,6 +867,12 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0xAEB3: //Water Paladin Hammer - ToL
case 0xAEC2: //Earth Paladin Hammer - ToL
case 0xAED1: //Fire Paladin Hammer - ToL
case 0xB4C1: //Escrima Publish 123
case 0xB4C2: //Escrima Publish 123
case 0xB4CB: //Gargish Otsuchi Publish 123
case 0xB4CC: //Gargish Otsuchi Publish 123
case 0xB4DA: //Skull_Mace Publish 123
case 0xB4DB: //Skull_Mace Publish 123
return DEF_MACES;
// Large Maces
case 0x13F4: //crook
Expand Down Expand Up @@ -908,6 +920,8 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0xA348: //gargoyle skull staff east
case 0xA7C3: //candycane staff
case 0xA7C4: //candycane staff
case 0xB4C3: //Bo Staff Publish 123
case 0xB4C4: //Bo Staff Publish 123
return LG_MACES;
// Bows
case 0x13B1: //bow
Expand All @@ -929,6 +943,8 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0x13FD: //heavy crossbow
case 0x26C3: //repeating crossbow - AoS
case 0x26CD: //repeating crossbow - AoS
case 0xB4DC: //Skull_Crossbow Publish 123
case 0xB4DD: //Skull_Crossbow Publish 123
return XBOWS;
case 0x27AA: //fukiya - SE - Blowgun, uses Dart ammo (0x2806 or 0x2804)
case 0x27F5: //fukiya - SE - Blowgun, uses Dart ammo (0x2806 or 0x2804)
Expand Down Expand Up @@ -963,6 +979,12 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0xAEB4: //Water Paladin fork - ToL
case 0xAEC3: //Earth Paladin fork - ToL
case 0xAED2: //Fire Paladin fork - ToL
case 0xB4C7: //Tanto Publish 123
case 0xB4C8: //Tanto Publish 123
case 0xB4C9: //Gargish Tanto Publish 123
case 0xB4CA: //Gargish Tanto Publish 123
case 0xB4D4: //Skull_Blade Publish 123
case 0xB4D5: //Skull_Blade Publish 123
return DEF_FENCING;
// Stabbing Fencing Weapons
case 0x0E87: //pitchfork
Expand All @@ -988,6 +1010,10 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0x48C9: //gargish pike - SA
case 0x48CA: //gargish lance - SA
case 0x48CB: //gargish lance - SA
case 0xB4C5: //Yari Publish 123
case 0xB4C6: //Yari Publish 123
case 0xB4D6: //Skull_Spear Publish 123
case 0xB4D7: //Skull_Spear Publish 123
return TWOHND_FENCING;
case 0x27AF: //sai - SE
case 0x27FA: //sai - SE
Expand All @@ -1012,6 +1038,8 @@ UI08 CHandleCombat::GetWeaponType( CItem *i )
case 0x406C: //gargish cyclone - SA
case 0x090A: //gargish soul glaive - SA
case 0x406B: //gargish soul glaive - SA
case 0xB4E0: //Skull_Glaive_G Publish 123
case 0xB4E1: //Skull_Glaive_G Publish 123
return THROWN;
default: // Wrestling
return WRESTLING;
Expand Down
Loading