615 lines
36 KiB
Plaintext
615 lines
36 KiB
Plaintext
//:://////////////////////////////////////////////
|
|
//:: Created By: Cuprius
|
|
//:: Created On: 2/20/08
|
|
//:://////////////////////////////////////////////
|
|
#include "zep_inc_main"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*
|
|
The following settings provide module builders with several options that
|
|
affect what appearances players can select for weapon, shield and cloak
|
|
appearances. To change: uncomment the line for the option you want and
|
|
comment out the other.
|
|
*/
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Set to FALSE (default) to prevent players from selecting light saber-like
|
|
// blade appearances. (CEP includes one red or blue "light saber" blade
|
|
// appearance for most original game blade weapons.)
|
|
// Set to TRUE to allow players to select light saber-like blade appearances.
|
|
const int bLCSAllowLightSaberBlades = FALSE; // Default
|
|
// const int bAllowLightSaberBlades = TRUE;
|
|
|
|
// Set to FALSE (default) to prevent players from selecting transparent shield
|
|
// appearances. (CEP includes multiple transparent appearances for each shield
|
|
// type.)
|
|
// Set to TRUE to allow players to select transparent shield appearances.
|
|
const int bLCSAllowTransparentShields = FALSE; // Default
|
|
// const int bAllowTransparentShields = TRUE;
|
|
|
|
// Set to TRUE (default) if you want to give player characters with wings the
|
|
// option to have their wings visible when they wear a cloak. (Players can
|
|
// still set their cloak appearance to conceal their wings, if desired.)
|
|
// Set to FALSE if you always want cloaks to conceal the wings of player
|
|
// characters that have them.
|
|
const int bLCSAllowVisibleWingCloaks = TRUE; // Default
|
|
// const int bLCSAllowVisibleWingCloaks = FALSE;
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*
|
|
The following settings allow module builders with custom haks that add
|
|
weapons, armor, and/or cloaks beyond those included in CEP 2.1 to tailor LCS
|
|
for that additional content. These settings should be adjusted only by those
|
|
who are familiar with hak contents and 2da files.
|
|
*/
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// If you have a custom cloak hak that adds cloak appearances beyond those
|
|
// included in CEP 2.1, such as Estelindis' FR Deity and Faction Cloaks,
|
|
// adjust the following settings to match the line numbers for entries in your
|
|
// cloakmodel.2da file.
|
|
// The following constants allow you to set up to three ranges of cloakmodel.2da
|
|
// line numbers for normal cloak appearances (wings not visible, HIDEWING set to 1)
|
|
// and up to three corresponding ranges of matching cloak appearances with wings
|
|
// visible (HIDEWING set to 0)
|
|
// Rules:
|
|
// - Set Min = 0 and Max = 0 for range 3 or ranges 2 and 3 if you don't want to
|
|
// use them. (Ranges 2 and 3 are not needed for CEP 2.1 cloaks alone)
|
|
// - Corresponding cloaks should be in the same order in their respective ranges,
|
|
// e.g. in range 1, values in cloakmodel.2da line 1 (no wings) should be the
|
|
// same as those in line 51 (w/wings), except for the value in the HIDEWING
|
|
// column; values in line 2 (no wings) should be the same as those in
|
|
// line 52 (w/wings), except for the HIDEWING value; etc.
|
|
// - Only the Min and Max cloakmodel.2da line in each range must have an entry.
|
|
// Some or all of the lines in between may be "****"
|
|
// - If you do not want a specific cloak to have a visible wings option, set the
|
|
// values for its cloakmodel.2da line in the w/wings range to "****", e.g. if
|
|
// you want the cloak appearance listed in cloakmodel.2da line 3 to always
|
|
// hide wings, set line 53 values to "****"
|
|
// - If used, range 2 line numbers must be higher than range 1, and range 3 line
|
|
// numbers must be higher than range 2
|
|
/* Range 1 Settings */
|
|
const int nLCSCloak2daRowNoWingsMin1 = 1; // Leave at 1
|
|
const int nLCSCloak2daRowNoWingsMax1 = 31; // 31 for CEP 2.1, 42 for CEP 2.1 with Estelindis Cloaks v1.8
|
|
const int nLCSCloak2daRowWingsMin1 = 51; // 51 for CEP 2.1
|
|
const int nLCSCloak2daRowWingsMax1 = 64; // 64 for CEP 2.1, 92 for CEP 2.1 with Estelindis Cloaks v1.8
|
|
/* Range 2 Settings */
|
|
const int nLCSCloak2daRowNoWingsMin2 = 0; // 0 for CEP 2.1, 101 for CEP 2.1 with Estelindis Cloaks v1.8
|
|
const int nLCSCloak2daRowNoWingsMax2 = 0; // 0 for CEP 2.1, 217 for CEP 2.1 with Estelindis Cloaks v1.8
|
|
const int nLCSCloak2daRowWingsMin2 = 0; // 0 for CEP 2.1, 241 for CEP 2.1 with Estelindis Cloaks v1.8
|
|
const int nLCSCloak2daRowWingsMax2 = 0; // 0 for CEP 2.1, 357 for CEP 2.1 with Estelindis Cloaks v1.8
|
|
/* Range 3 Settings */
|
|
const int nLCSCloak2daRowNoWingsMin3 = 0; // 0 for CEP 2.1
|
|
const int nLCSCloak2daRowNoWingsMax3 = 0; // 0 for CEP 2.1
|
|
const int nLCSCloak2daRowWingsMin3 = 0; // 0 for CEP 2.1
|
|
const int nLCSCloak2daRowWingsMax3 = 0; // 0 for CEP 2.1
|
|
|
|
|
|
// If you have a custom hak that adds shield appearances beyond those included
|
|
// in CEP 2.1, ensure that the following three constants match the highest
|
|
// numbered model for each type of shield in all of your haks, including those
|
|
// from CEP 2.1.
|
|
// Shield models are named:
|
|
// ashsw_###.mdl for Small Shields
|
|
// ashlw_###.mdl for Large Shields
|
|
// ashto_###.mdl for Tower Shields
|
|
// Also ensure that you add the appropriate entries for your additional shields
|
|
// to models_shield1.2da and models_shield2.2da and save the 2da's in a revised
|
|
// version of the LCS hak file for use in your module.
|
|
// (Note: models_shield1.2da deliberately omits small shields 34-39, 44-49
|
|
// and 61-64, large shields 44-49 and tower shields 14-19, but
|
|
// models_shield2.2da deliberately includes them.)
|
|
const int nLCSMaxSmallShield = 88; // CEP 2.1 default = 88
|
|
const int nLCSMaxLargeShield = 255; // CEP 2.1 default = 255
|
|
const int nLCSMaxTowerShield = 237; // CEP 2.1 default = 237
|
|
|
|
|
|
// If you have a custom hak that adds weapon appearances beyond those included
|
|
// in CEP 2.1, ensure that the constants in the dsc_GetUpperBound and
|
|
// dsc_GetLowerBound functions below match the highest and lowest numbered
|
|
// model, respectively, for each weapon part in your haks, including those from
|
|
// CEP 2.1.
|
|
//
|
|
// You must also add entries for your additional weapon parts to the appropriate
|
|
// 2da file(s).
|
|
// - If your additional weapon parts are for a Trident or CEP-only weapon
|
|
// (Assassin Dagger, Double Scimitar, Falchion, Falchion 2, Goad, Heavy Mace,
|
|
// Heavy Pick, Katar (Punching Dagger), Khukri 2, Light Mace 2, Light Pick,
|
|
// Longsword 2, Maul, Nanchuku, Sai, Sap, or Wind Fire Wheel), add appropriate
|
|
// entries to models_cepwpn.2da.
|
|
// - For all other weapon parts, add appropriate entries to models_weapon.2da
|
|
// AND models_weapon1.2da. (Note: models_weapon.2da and models_weapon1.2da
|
|
// are almost identical - models_weapon.2da deliberately omits entries for the
|
|
// CEP "light saber" blade (top) appearances for blade weapons, but
|
|
// models_weapon1.2da includes them. The value of bLCSAllowLightSaberBlades
|
|
// above determines which 2da is used.)
|
|
// - Save your updated 2da's in a revised version of the LCS hak file for use in
|
|
// your module.
|
|
// - For all three 2da files:
|
|
// column = specific weapon part (e.g. Longsword Top)
|
|
// row = model #
|
|
// entry = model # (integer) if that specific weapon part model is included
|
|
// in your haks or "NULL" if it is not
|
|
//
|
|
// Note: It is best to use a 2da editor such as Excimer's 2da Combinulator to
|
|
// make any 2da changes, since the 2da files are too large to easily edit with
|
|
// a text editor like Windows Notepad.
|
|
//
|
|
// Weapon part models are named:
|
|
// w****_b_###.mdl for weapon bottoms (handle ends, etc.)
|
|
// w****_m_###.mdl for weapon middles (handles, hand guards, etc.)
|
|
// w****_t_###.mdl for weapon tops (blades, etc.)
|
|
//
|
|
// Weapon part model names (w****) are as follows:
|
|
// Battleaxe waxbt
|
|
// Greataxe waxgr
|
|
// Handaxe waxhn
|
|
// Club wblcl
|
|
// Heavy Flail wblfh
|
|
// Light Flail wblfl
|
|
// Light Hammer wblhl
|
|
// Warhammer wblhw
|
|
// Light Mace 2 wblmc (CEP only)
|
|
// Light Mace wblml
|
|
// Morningstar wblms
|
|
// Nunchaku wblnn (CEP only)
|
|
// Heavy Pick wblph (CEP only)
|
|
// Light Pick wblpl (CEP only)
|
|
// Compound Longbow wbwlc (Selectable for Longbow as appearances 5-8)
|
|
// Longbow wbwln
|
|
// Compound Shortbow wbwsc (Selectable for Shortbow as appearances 4-6)
|
|
// Shortbow wbwsh
|
|
// Sling wbwsl (No LCS changes)
|
|
// Heavy Crossbow wbwxh
|
|
// Light Crossbow wbwxl
|
|
// Double Crossbow wbwxr (Appearance not selectable, no LCS changes)
|
|
// Double Axe wdbax
|
|
// Dire Mace wdbma
|
|
// Quarterstaff wdbqs
|
|
// Two-Bladed Sword wdbsw
|
|
// Maug Doublesword wmads (CEP only, no LCS changes)
|
|
// Fashion Accessory wmgfs (CEP only, no LCS changes)
|
|
// Rod wmgrd (No LCS changes)
|
|
// Staff wmgst
|
|
// Wand wmgwn (No LCS changes)
|
|
// Halberd wplhb
|
|
// Scythe wplsc
|
|
// Short Spear wplss
|
|
// Trident wpltr
|
|
// Gauntlet wspga (No LCS changes)
|
|
// Goad wspgd (CEP only)
|
|
// Kama wspka
|
|
// Khukri wspku
|
|
// Khukri 2 wspkk (CEP only)
|
|
// Nanchuku wspnn (CEP only)
|
|
// Sickle wspsc
|
|
// Sap wspsp (CEP only)
|
|
// Wind Fire Wheel wspwf (CEP only)
|
|
// Bastard Sword wswbs
|
|
// Dagger Assassin wswda (CEP only)
|
|
// Dagger wswdg
|
|
// Katar wswdp (Punching Dagger, CEP only)
|
|
// Falchion wswfa (CEP only)
|
|
// Greatsword wswgs
|
|
// Katana wswka
|
|
// Longsword wswls
|
|
// Longsword 2 wswlz (CEP only)
|
|
// Rapier wswrp
|
|
// Scimitar wswsc
|
|
// Sai wswsi (CEP only)
|
|
// Short Sword wswss
|
|
// Throwing Axe wthax
|
|
// Dart wthdt (No LCS changes)
|
|
// Whip wwhip
|
|
// Maul wxblma (CEP only)
|
|
// Heavy Mace wxblmh (CEP only)
|
|
// Double Scimitar wxdbsc (CEP only)
|
|
// Falchion 2 wxswfa (CEP only)
|
|
/*
|
|
If you have a custom hak that adds weapon appearances beyond those included
|
|
in CEP 2.1, set the values in dsc_GetUpperBound below to match those of the
|
|
highest numbered top, middle and bottom model for each weapon part in your
|
|
haks. Values must be between 1 and 25 and >= to the corresponding value in
|
|
dsc_GetLowerBound below. (Default values for CEP 2.1 only are noted in the
|
|
comments at the end of each line.) See above for a list of weapon part model
|
|
names and instructions for altering your 2da files.
|
|
*/
|
|
// dsc_GetUpperBound(object oItem, int nPart) returns the highest model (.mdl)
|
|
// number for part nPart of oItem's weapon type.
|
|
int dsc_GetUpperBound(object oItem, int nPart)
|
|
{
|
|
int nWeaponType = GetBaseItemType(oItem);
|
|
|
|
if(nPart == ITEM_APPR_WEAPON_MODEL_TOP)
|
|
{
|
|
switch(nWeaponType)
|
|
{
|
|
case BASE_ITEM_BASTARDSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_BATTLEAXE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_CLUB : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_DAGGER : return 22; // CEP 2.1 default = 22
|
|
case BASE_ITEM_DAGGERASSASSIN : return 6; // CEP only. CEP 2.1 default = 6
|
|
case BASE_ITEM_DIREMACE : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_DOUBLEAXE : return 14; // CEP 2.1 default = 14
|
|
case BASE_ITEM_DOUBLESCIMITAR : return 13; // CEP only. CEP 2.1 default = 13
|
|
case BASE_ITEM_DWARVENWARAXE : return 10; // CEP 2.1 default = 10
|
|
case BASE_ITEM_FALCHION1 : return 5; // CEP only. CEP 2.1 default = 5
|
|
case BASE_ITEM_FALCHION2 : return 15; // CEP only. CEP 2.1 default = 15
|
|
case BASE_ITEM_GOAD : return 1; // CEP only. CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATAXE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_GREATSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_HALBERD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_HANDAXE : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYCROSSBOW : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYFLAIL : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYMACE : return 15; // CEP only. CEP 2.1 default = 15
|
|
case BASE_ITEM_HEAVYPICK : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_KAMA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATANA : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_KATAR : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_KUKRI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI2 : return 2; // CEP only. CEP 2.1 default = 2
|
|
case BASE_ITEM_LIGHTCROSSBOW : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTFLAIL : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTHAMMER : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTMACE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_LIGHTMACE2 : return 14; // CEP only. CEP 2.1 default = 14
|
|
case BASE_ITEM_LIGHTPICK : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_LONGBOW : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_LONGSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_MAGICSTAFF : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_MAUL : return 15; // CEP only. CEP 2.1 default = 15
|
|
case BASE_ITEM_MERCURIALGREATSWORD : return 25; // CEP only. CEP 2.1 default = 25
|
|
case BASE_ITEM_MERCURIALLONGSWORD : return 25; // CEP only. CEP 2.1 default = 25
|
|
case BASE_ITEM_MORNINGSTAR : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_NUNCHAKU : return 5; // CEP only. CEP 2.1 default = 5
|
|
case BASE_ITEM_QUARTERSTAFF : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_RAPIER : return 14; // CEP 2.1 default = 14
|
|
case BASE_ITEM_SAI : return 7; // CEP only. CEP 2.1 default = 7
|
|
case BASE_ITEM_SAP : return 1; // CEP only. CEP 2.1 default = 1
|
|
case BASE_ITEM_SCIMITAR : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SCYTHE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SHORTBOW : return 11; // CEP 2.1 default = 11
|
|
case BASE_ITEM_SHORTSPEAR : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SHORTSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SICKLE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_THROWINGAXE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_TRIDENT : return 9; // CEP 2.1 default = 9
|
|
case BASE_ITEM_TWOBLADEDSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_WARHAMMER : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_WHIP : return 1; // CEP 2.1 default =
|
|
case BASE_ITEM_WINDFIREWHEEL : return 1; // CEP only. CEP 2.1 default = 1
|
|
}
|
|
}
|
|
else if(nPart == ITEM_APPR_WEAPON_MODEL_MIDDLE)
|
|
{
|
|
switch(nWeaponType)
|
|
{
|
|
case BASE_ITEM_BASTARDSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_BATTLEAXE : return 24; // CEP 2.1 default = 24
|
|
case BASE_ITEM_CLUB : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_DAGGER : return 22; // CEP 2.1 default = 22
|
|
case BASE_ITEM_DAGGERASSASSIN : return 6; // CEP only. CEP 2.1 default = 6
|
|
case BASE_ITEM_DIREMACE : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_DOUBLEAXE : return 12; // CEP 2.1 default = 12
|
|
case BASE_ITEM_DOUBLESCIMITAR : return 12; // CEP only. CEP 2.1 default = 12
|
|
case BASE_ITEM_DWARVENWARAXE : return 10; // CEP 2.1 default = 10
|
|
case BASE_ITEM_FALCHION1 : return 5; // CEP only. CEP 2.1 default = 5
|
|
case BASE_ITEM_FALCHION2 : return 13; // CEP only. CEP 2.1 default = 13
|
|
case BASE_ITEM_GOAD : return 1; // CEP only. CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATAXE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_GREATSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_HALBERD : return 23; // CEP 2.1 default = 23
|
|
case BASE_ITEM_HANDAXE : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYCROSSBOW : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYFLAIL : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYMACE : return 14; // CEP only. CEP 2.1 default = 14
|
|
case BASE_ITEM_HEAVYPICK : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_KAMA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATANA : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_KATAR : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_KUKRI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI2 : return 2; // CEP only. CEP 2.1 default = 2
|
|
case BASE_ITEM_LIGHTCROSSBOW : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTFLAIL : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTHAMMER : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTMACE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_LIGHTMACE2 : return 14; // CEP only. CEP 2.1 default = 14
|
|
case BASE_ITEM_LIGHTPICK : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_LONGBOW : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_LONGSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_MAGICSTAFF : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_MAUL : return 14; // CEP only. CEP 2.1 default = 14
|
|
case BASE_ITEM_MERCURIALGREATSWORD : return 25; // CEP only. CEP 2.1 default = 25
|
|
case BASE_ITEM_MERCURIALLONGSWORD : return 25; // CEP only. CEP 2.1 default = 25
|
|
case BASE_ITEM_MORNINGSTAR : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_NUNCHAKU : return 5; // CEP only. CEP 2.1 default = 5
|
|
case BASE_ITEM_QUARTERSTAFF : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_RAPIER : return 24; // CEP 2.1 default =
|
|
case BASE_ITEM_SAI : return 7; // CEP only. CEP 2.1 default = 7
|
|
case BASE_ITEM_SAP : return 1; // CEP only. CEP 2.1 default = 1
|
|
case BASE_ITEM_SCIMITAR : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SCYTHE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SHORTBOW : return 16; // CEP 2.1 default = 16
|
|
case BASE_ITEM_SHORTSPEAR : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SHORTSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SICKLE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_THROWINGAXE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_TRIDENT : return 9; // CEP 2.1 default = 9
|
|
case BASE_ITEM_TWOBLADEDSWORD : return 24; // CEP 2.1 default = 24
|
|
case BASE_ITEM_WARHAMMER : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_WHIP : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_WINDFIREWHEEL : return 1; // CEP only. CEP 2.1 default = 1
|
|
}
|
|
}
|
|
else if(nPart == ITEM_APPR_WEAPON_MODEL_BOTTOM)
|
|
{
|
|
switch(nWeaponType)
|
|
{
|
|
case BASE_ITEM_BASTARDSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_BATTLEAXE : return 24; // CEP 2.1 default = 24
|
|
case BASE_ITEM_CLUB : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_DAGGER : return 22; // CEP 2.1 default = 22
|
|
case BASE_ITEM_DAGGERASSASSIN : return 6; // CEP only. CEP 2.1 default = 6
|
|
case BASE_ITEM_DIREMACE : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_DOUBLEAXE : return 18; // CEP 2.1 default = 18
|
|
case BASE_ITEM_DOUBLESCIMITAR : return 14; // CEP only. CEP 2.1 default = 14
|
|
case BASE_ITEM_DWARVENWARAXE : return 10; // CEP 2.1 default = 10
|
|
case BASE_ITEM_FALCHION1 : return 5; // CEP only. CEP 2.1 default = 5
|
|
case BASE_ITEM_FALCHION2 : return 13; // CEP only. CEP 2.1 default = 13
|
|
case BASE_ITEM_GOAD : return 1; // CEP only. CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATAXE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_GREATSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_HALBERD : return 23; // CEP 2.1 default = 23
|
|
case BASE_ITEM_HANDAXE : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYCROSSBOW : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYFLAIL : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_HEAVYMACE : return 14; // CEP only. CEP 2.1 default = 14
|
|
case BASE_ITEM_HEAVYPICK : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_KAMA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATANA : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_KATAR : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_KUKRI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI2 : return 2; // CEP only. CEP 2.1 default = 2
|
|
case BASE_ITEM_LIGHTCROSSBOW : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTFLAIL : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTHAMMER : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_LIGHTMACE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_LIGHTMACE2 : return 14; // CEP only. CEP 2.1 default = 14
|
|
case BASE_ITEM_LIGHTPICK : return 4; // CEP only. CEP 2.1 default = 4
|
|
case BASE_ITEM_LONGBOW : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_LONGSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_MAGICSTAFF : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_MAUL : return 14; // CEP only. CEP 2.1 default = 14
|
|
case BASE_ITEM_MERCURIALGREATSWORD : return 25; // CEP only. CEP 2.1 default = 25
|
|
case BASE_ITEM_MERCURIALLONGSWORD : return 25; // CEP only. CEP 2.1 default = 25
|
|
case BASE_ITEM_MORNINGSTAR : return 4; // CEP 2.1 default = 4
|
|
case BASE_ITEM_NUNCHAKU : return 5; // CEP only. CEP 2.1 default = 1
|
|
case BASE_ITEM_QUARTERSTAFF : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_RAPIER : return 16; // CEP 2.1 default = 16
|
|
case BASE_ITEM_SAI : return 7; // CEP only. CEP 2.1 default = 7
|
|
case BASE_ITEM_SAP : return 1; // CEP only. CEP 2.1 default = 1
|
|
case BASE_ITEM_SCIMITAR : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SCYTHE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SHORTBOW : return 6; // CEP 2.1 default = 6
|
|
case BASE_ITEM_SHORTSPEAR : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SHORTSWORD : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_SICKLE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_THROWINGAXE : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_TRIDENT : return 9; // CEP 2.1 default = 9
|
|
case BASE_ITEM_TWOBLADEDSWORD : return 24; // CEP 2.1 default = 24
|
|
case BASE_ITEM_WARHAMMER : return 25; // CEP 2.1 default = 25
|
|
case BASE_ITEM_WHIP : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WINDFIREWHEEL : return 1; // CEP only. CEP 2.1 default = 1
|
|
}
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
/*
|
|
If you have a custom hak that adds weapon appearances beyond those included
|
|
in CEP 2.1, set the values in dsc_GetLowerBound below to match those of the
|
|
lowest numbered top, middle and bottom model for each weapon part in your
|
|
haks. Values must be between 1 and 25 and <= to the corresponding value in
|
|
dsc_GetUpperBound below. (Default values for CEP 2.1 only are noted in the
|
|
comments at the end of each line.) See above for a list of weapon part model
|
|
names and instructions for altering your 2da files.
|
|
*/
|
|
// dsc_GetLowerBound(object oItem, int nPart) returns the lowest model (.mdl)
|
|
// number for part nPart of oItem's weapon type. (Added to account for CEP
|
|
// weapons with lowest appearance number greater than 1 - Cuprius)
|
|
int dsc_GetLowerBound(object oItem, int nPart)
|
|
{
|
|
int nWeaponType = GetBaseItemType(oItem);
|
|
|
|
if(nPart == ITEM_APPR_WEAPON_MODEL_TOP)
|
|
{
|
|
switch(nWeaponType)
|
|
{
|
|
case BASE_ITEM_BASTARDSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_BATTLEAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_CLUB : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DAGGER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DAGGERASSASSIN : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DIREMACE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DOUBLEAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DOUBLESCIMITAR : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_DWARVENWARAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_FALCHION1 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_FALCHION2 : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_GOAD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HALBERD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HANDAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYCROSSBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYFLAIL : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYMACE : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_HEAVYPICK : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KAMA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATANA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI2 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTCROSSBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTFLAIL : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTHAMMER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTMACE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTMACE2 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTPICK : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LONGBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LONGSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MAGICSTAFF : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MAUL : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_MERCURIALGREATSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MERCURIALLONGSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MORNINGSTAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_NUNCHAKU : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_QUARTERSTAFF : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_RAPIER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SAI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SAP : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SCIMITAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SCYTHE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTSPEAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SICKLE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_THROWINGAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_TRIDENT : return 6; // CEP only. CEP 2.1 default = 6
|
|
case BASE_ITEM_TWOBLADEDSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WARHAMMER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WHIP : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WINDFIREWHEEL : return 1; // CEP 2.1 default = 1
|
|
}
|
|
}
|
|
else if(nPart == ITEM_APPR_WEAPON_MODEL_MIDDLE)
|
|
{
|
|
switch(nWeaponType)
|
|
{
|
|
case BASE_ITEM_BASTARDSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_BATTLEAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_CLUB : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DAGGER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DAGGERASSASSIN : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DIREMACE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DOUBLEAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DOUBLESCIMITAR : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_DWARVENWARAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_FALCHION1 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_FALCHION2 : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_GOAD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HALBERD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HANDAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYCROSSBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYFLAIL : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYMACE : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_HEAVYPICK : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KAMA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATANA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI2 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTCROSSBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTFLAIL : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTHAMMER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTMACE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTMACE2 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTPICK : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LONGBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LONGSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MAGICSTAFF : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MAUL : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_MERCURIALGREATSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MERCURIALLONGSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MORNINGSTAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_NUNCHAKU : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_QUARTERSTAFF : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_RAPIER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SAI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SAP : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SCIMITAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SCYTHE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTSPEAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SICKLE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_THROWINGAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_TRIDENT : return 6; // CEP only. CEP 2.1 default = 6
|
|
case BASE_ITEM_TWOBLADEDSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WARHAMMER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WHIP : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WINDFIREWHEEL : return 1; // CEP 2.1 default = 1
|
|
}
|
|
}
|
|
else if(nPart == ITEM_APPR_WEAPON_MODEL_BOTTOM)
|
|
{
|
|
switch(nWeaponType)
|
|
{
|
|
case BASE_ITEM_BASTARDSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_BATTLEAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_CLUB : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DAGGER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DAGGERASSASSIN : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DIREMACE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DOUBLEAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_DOUBLESCIMITAR : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_DWARVENWARAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_FALCHION1 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_FALCHION2 : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_GOAD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_GREATSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HALBERD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HANDAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYCROSSBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYFLAIL : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_HEAVYMACE : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_HEAVYPICK : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KAMA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATANA : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KATAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_KUKRI2 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTCROSSBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTFLAIL : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTHAMMER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTMACE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTMACE2 : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LIGHTPICK : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LONGBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_LONGSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MAGICSTAFF : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MAUL : return 11; // CEP only. CEP 2.1 default = 11
|
|
case BASE_ITEM_MERCURIALGREATSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MERCURIALLONGSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_MORNINGSTAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_NUNCHAKU : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_QUARTERSTAFF : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_RAPIER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SAI : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SAP : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SCIMITAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SCYTHE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTBOW : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTSPEAR : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SHORTSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_SICKLE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_THROWINGAXE : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_TRIDENT : return 6; // CEP only. CEP 2.1 default = 6
|
|
case BASE_ITEM_TWOBLADEDSWORD : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WARHAMMER : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WHIP : return 1; // CEP 2.1 default = 1
|
|
case BASE_ITEM_WINDFIREWHEEL : return 1; // CEP 2.1 default = 1
|
|
}
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
|