mirror of
https://github.com/Jusctsch5/ironsphererpg.git
synced 2026-01-19 19:44:45 +00:00
Taking everything obtained from http://ironsphererpg2.webs.com/ and dumping it in a git repo
959 lines
38 KiB
C#
959 lines
38 KiB
C#
//######################################################################################
|
|
// Skills
|
|
//######################################################################################
|
|
|
|
$SkillSlashing = 1;
|
|
$SkillPiercing = 2;
|
|
$SkillBludgeoning = 3;
|
|
$SkillArchery = 4;
|
|
$SkillOffensiveCasting = 5;
|
|
$SkillDefensiveCasting = 6;
|
|
$SkillNeutralCasting = 7;
|
|
$SkillWeightCapacity = 8;
|
|
$SkillEndurance = 9;
|
|
$SkillStealing = 10;
|
|
$SkillHiding = 11;
|
|
|
|
$SkillBashing = 12;
|
|
$SkillCleaving = 13;
|
|
$SkillBackstabbing = 14;
|
|
$SkillIgniteArrow = 15;
|
|
$SkillFocus = 16;
|
|
|
|
$SkillHealing = 17;
|
|
$SkillSenseHeading = 18;
|
|
$SkillMining = 19;
|
|
$SkillSpeech = 20;
|
|
$SkillHaggling = 21;
|
|
$SkillDodgeing = 22;
|
|
|
|
$Skill::Slashing = 1;
|
|
$Skill::Piercing = 2;
|
|
$Skill::Bludgeoning = 3;
|
|
$Skill::Archery = 4;
|
|
$Skill::OffensiveCasting = 5;
|
|
$Skill::DefensiveCasting = 6;
|
|
$Skill::NeutralCasting = 7;
|
|
$Skill::WeightCapacity = 8;
|
|
$Skill::Endurance = 9;
|
|
$Skill::Stealing = 10;
|
|
$Skill::Hiding = 11;
|
|
|
|
$Skill::Bashing = 12;
|
|
$Skill::Cleaving = 13;
|
|
$Skill::Backstabbing = 14;
|
|
$Skill::IgniteArrow = 15;
|
|
$Skill::Focus = 16;
|
|
|
|
$Skill::Healing = 17;
|
|
$Skill::SenseHeading = 18;
|
|
$Skill::Mining = 19;
|
|
$Skill::Speech = 20;
|
|
$Skill::Haggling = 21;
|
|
$Skill::Dodgeing = 22;
|
|
|
|
$MinLevel = "L";
|
|
$MinGroup = "G";
|
|
$MinClass = "C";
|
|
$MinAdmin = "A";
|
|
$MinHouse = "H";
|
|
$Magic = "M";
|
|
|
|
|
|
$SkillDesc[$Skill::Slashing] = "Slashing";
|
|
$SkillDesc[$Skill::Piercing] = "Piercing";
|
|
$SkillDesc[$Skill::Bludgeoning] = "Bludgeoning";
|
|
$SkillDesc[$Skill::Archery] = "Archery";
|
|
$SkillDesc[$Skill::OffensiveCasting] = "Offensive Casting";
|
|
$SkillDesc[$Skill::DefensiveCasting] = "Defensive Casting";
|
|
$SkillDesc[$Skill::NeutralCasting] = "Neutral Casting";
|
|
$SkillDesc[$Skill::WeightCapacity] = "Weight Capacity";
|
|
$SkillDesc[$Skill::Endurance] = "Endurance";
|
|
$SkillDesc[$Skill::Stealing] = "Stealing";
|
|
$SkillDesc[$Skill::Hiding] = "Hiding";
|
|
$SkillDesc[$Skill::Bashing] = "Bashing";
|
|
$SkillDesc[$Skill::Cleaving] = "Cleaving";
|
|
$SkillDesc[$Skill::Backstabbing] = "Backstabbing";
|
|
$SkillDesc[$Skill::IgniteArrow] = "IgniteArrow";
|
|
$SkillDesc[$Skill::Focus] = "Focus";
|
|
$SkillDesc[$Skill::Healing] = "Healing";
|
|
$SkillDesc[$Skill::SenseHeading] = "Sense Heading";
|
|
$SkillDesc[$Skill::Mining] = "Mining";
|
|
$SkillDesc[$Skill::Speech] = "Speech";
|
|
$SkillDesc[$Skill::Haggling] = "Haggling";
|
|
$SkillDesc[$MinLevel] = "Level";
|
|
$SkillDesc[$MinGroup] = "Group";
|
|
$SkillDesc[$MinClass] = "Class";
|
|
$SkillDesc[$MinAdmin] = "Admin Level";
|
|
$SkillDesc[$MinHouse] = "House";
|
|
$SkillDesc[$Magic] = "Magic Skill";
|
|
|
|
$SkillData[$Skill::Slashing] = "This skill is used with Slashing weapons.";
|
|
$SkillData[$Skill::Piercing] = "This skill is used with Piercing weapons.";
|
|
$SkillData[$Skill::Bludgeoning] = "This skill is used with Bludgeoning weapons";
|
|
$SkillData[$Skill::Archery] = "This skill is used with Projectile weapons.";
|
|
$SkillData[$Skill::OffensiveCasting] = "This skill is used for Offensive magic.";
|
|
$SkillData[$Skill::DefensiveCasting] = "This skill is used for Defensive magic";
|
|
$SkillData[$Skill::NeutralCasting] = "This skill is used for Neutral indirect magic.";
|
|
$SkillData[$Skill::WeightCapacity] = "This skill determines how much weight your character can hold.";
|
|
$SkillData[$Skill::Endurance] = "This skill affects your players HP and armor class";
|
|
$SkillData[$Skill::Stealing] = "This skill shows how effectivly you can use the dark art of thievery.";
|
|
$SkillData[$Skill::Hiding] = "This skill shows how well you can evade the light.";
|
|
$SkillData[$Skill::Bashing] = "This skill is used with Bludgeoning weapons and can send people flying.";
|
|
$SkillData[$Skill::Cleaving] = "This skill is used with Slashing weapons!";
|
|
$SkillData[$Skill::Backstabbing] = "This skill is used when you are hiding and you hit someone in the back with a piercing weapon.";
|
|
$SkillData[$Skill::IgniteArrow] = "This is used with your archery skill and increases the power of your arrows.";
|
|
$SkillData[$Skill::Focus] = "This is used with your magic and increases the power of your spells.";
|
|
$SkillData[$Skill::Healing] = "This affects the rate you heal over time.";
|
|
$SkillData[$Skill::SenseHeading] = "This skill covers all your general tracking and hunting skills.";
|
|
$SkillData[$Skill::Mining] = "This skill affects how well you can identify gems and minerals.";
|
|
$SkillData[$Skill::Speech] = "This skill shows how well you can organize thoughts into words.";
|
|
$SkillData[$Skill::Haggling] = "This skill is used to barter a better price with local merchants.";
|
|
|
|
$CategorySlashing = 1;
|
|
$CategoryPiercing = 2;
|
|
$CategoryBludgeoning = 3;
|
|
$CategoryArchery = 4;
|
|
$CategorySpells = 5;
|
|
$CategoryThieving = 6;
|
|
$CategoryStrength = 7;
|
|
$CategoryIntelligence = 8;
|
|
|
|
$CategoryDesc[$CategorySlashing] = "Slashing";
|
|
$CategoryDesc[$CategoryPiercing] = "Piercing";
|
|
$CategoryDesc[$CategoryBludgeoning] = "Bludgeoning";
|
|
$CategoryDesc[$CategoryArchery] = "Archery";
|
|
$CategoryDesc[$CategorySpells] = "Spell Casting";
|
|
$CategoryDesc[$CategoryThieving] = "Thieving";
|
|
$CategoryDesc[$CategoryStrength] = "Strength";
|
|
$CategoryDesc[$CategoryIntelligence] = "Intelligence";
|
|
|
|
$CategoryID[$Skill::Slashing] = $CategorySlashing;
|
|
$CategoryID[$Skill::Cleaving] = $CategorySlashing;
|
|
$CategoryID[$Skill::Piercing] = $CategoryPiercing;
|
|
$CategoryID[$Skill::Backstabbing] = $CategoryPiercing;
|
|
$CategoryID[$Skill::Bludgeoning] = $CategoryBludgeoning;
|
|
$CategoryID[$Skill::Bashing] = $CategoryBludgeoning;
|
|
$CategoryID[$Skill::Archery] = $CategoryArchery;
|
|
$CategoryID[$Skill::IgniteArrow] = $CategoryArchery;
|
|
$CategoryID[$Skill::OffensiveCasting] = $CategorySpells;
|
|
$CategoryID[$Skill::DefensiveCasting] = $CategorySpells;
|
|
$CategoryID[$Skill::NeutralCasting] = $CategorySpells;
|
|
$CategoryID[$Skill::Focus] = $CategorySpells;
|
|
$CategoryID[$Skill::WeightCapacity] = $CategoryStrength;
|
|
$CategoryID[$Skill::Endurance] = $CategoryStrength;
|
|
$CategoryID[$Skill::Mining] = $CategoryStrength;
|
|
$CategoryID[$Skill::Stealing] = $CategoryThieving;
|
|
$CategoryID[$Skill::Hiding] = $CategoryThieving;
|
|
$CategoryID[$Skill::SenseHeading] = $CategoryIntelligence;
|
|
$CategoryID[$Skill::Speech] = $CategoryIntelligence;
|
|
$CategoryID[$Skill::Haggling] = $CategoryIntelligence;
|
|
|
|
//######################################################################################
|
|
// Class multipliers
|
|
//######################################################################################
|
|
|
|
//***********************************
|
|
// GENERAL RULES FOR MULTIPLIERS:
|
|
//***********************************
|
|
//- Maximum multiplier should be 2.0
|
|
//- Minimum multiplier should be 0.1
|
|
//- A 0.1 should be VERY rare. The normal minimum is 0.2. If a class should not even
|
|
// be near a certain skill, that's when the 0.1 comes in.
|
|
|
|
//******** SUMMARY ******************
|
|
//- Primary skills use a 2.0 multiplier
|
|
//- Secondary skills use a 1.5 multiplier
|
|
//- Normal skills use a ~1.0 multiplier
|
|
//- Weak skills use a ~0.5 multiplier
|
|
//- VERY weak skills use a 0.2
|
|
//- Unsuitable skills for a specific class use a 0.1
|
|
|
|
//--------------
|
|
// Cleric
|
|
//--------------
|
|
// Clerics are good with Bludgeoning weapons but VERY good at healing spells. They also
|
|
// know the basics behind offensive spells.
|
|
|
|
//Primary Skill: Defensive Casting
|
|
//Secondary Skills: Healing, Energy, Bludgeoning
|
|
|
|
$SkillMultiplier[Cleric, $Skill::Slashing] = 0.6;
|
|
$SkillMultiplier[Cleric, $Skill::Piercing] = 0.7;
|
|
$SkillMultiplier[Cleric, $Skill::Bludgeoning] = 1.5;
|
|
$SkillMultiplier[Cleric, $Skill::Dodging] = 0.7;
|
|
$SkillMultiplier[Cleric, $Skill::WeightCapacity] = 1.0;
|
|
$SkillMultiplier[Cleric, $Skill::Bashing] = 0.5;
|
|
$SkillMultiplier[Cleric, $Skill::Stealing] = 0.2;
|
|
$SkillMultiplier[Cleric, $Skill::Hiding] = 0.2;
|
|
$SkillMultiplier[Cleric, $Skill::Backstabbing] = 0.2;
|
|
$SkillMultiplier[Cleric, $Skill::OffensiveCasting] = 0.9;
|
|
$SkillMultiplier[Cleric, $Skill::DefensiveCasting] = 2.0;
|
|
$SkillMultiplier[Cleric, $Skill::NeutralCasting] = 1.2;
|
|
$SkillMultiplier[Cleric, $Skill::SpellResistance] = 1.5;
|
|
$SkillMultiplier[Cleric, $Skill::Healing] = 2.0;
|
|
$SkillMultiplier[Cleric, $Skill::Archery] = 0.5;
|
|
$SkillMultiplier[Cleric, $Skill::Endurance] = 1.1;
|
|
$SkillMultiplier[Cleric, $Skill::Mining] = 1.0;
|
|
$SkillMultiplier[Cleric, $Skill::Speech] = 1.0;
|
|
$SkillMultiplier[Cleric, $Skill::SenseHeading] = 1.0;
|
|
$SkillMultiplier[Cleric, $Skill::Energy] = 1.5;
|
|
$SkillMultiplier[Cleric, $Skill::Haggling] = 1.0;
|
|
$SkillMultiplier[Cleric, $Skill::Cleaving] = 0.5;
|
|
$SkillMultiplier[Cleric, $Skill::IgniteArrow] = 0.4;
|
|
$SkillMultiplier[Cleric, $Skill::Focus] = 1.5;
|
|
$HPPerLvl[Cleric] = 0;
|
|
$EXPmultiplier[Cleric] = 0.85;
|
|
|
|
//--------------
|
|
// Druid
|
|
//--------------
|
|
// Druids are good with Bludgeoning weapons and are somewhat familiar with spells. They specialize in Neutral casting.
|
|
// However they are also able to easily hide.
|
|
|
|
//Primary Skill: Neutral Casting
|
|
//Secondary Skill: Hiding, Slashing, Spell Resistance
|
|
|
|
$SkillMultiplier[Druid, $Skill::Slashing] = 1.5;
|
|
$SkillMultiplier[Druid, $Skill::Piercing] = 0.7;
|
|
$SkillMultiplier[Druid, $Skill::Bludgeoning] = 0.6;
|
|
$SkillMultiplier[Druid, $Skill::Dodging] = 2.0;
|
|
$SkillMultiplier[Druid, $Skill::WeightCapacity] = 2.0;
|
|
$SkillMultiplier[Druid, $Skill::Bashing] = 0.5;
|
|
$SkillMultiplier[Druid, $Skill::Stealing] = 0.2;
|
|
$SkillMultiplier[Druid, $Skill::Hiding] = 2.0;
|
|
$SkillMultiplier[Druid, $Skill::Backstabbing] = 0.5;
|
|
$SkillMultiplier[Druid, $Skill::OffensiveCasting] = 0.7;
|
|
$SkillMultiplier[Druid, $Skill::DefensiveCasting] = 0.7;
|
|
$SkillMultiplier[Druid, $Skill::NeutralCasting] = 2.0;
|
|
$SkillMultiplier[Druid, $Skill::SpellResistance] = 1.0;
|
|
$SkillMultiplier[Druid, $Skill::Healing] = 1.3;
|
|
$SkillMultiplier[Druid, $Skill::Archery] = 0.7;
|
|
$SkillMultiplier[Druid, $Skill::Endurance] = 0.8;
|
|
$SkillMultiplier[Druid, $Skill::Mining] = 2.0;
|
|
$SkillMultiplier[Druid, $Skill::Speech] = 1.0;
|
|
$SkillMultiplier[Druid, $Skill::SenseHeading] = 1.7;
|
|
$SkillMultiplier[Druid, $Skill::Energy] = 1.2;
|
|
$SkillMultiplier[Druid, $Skill::Haggling] = 1.3;
|
|
$SkillMultiplier[Druid, $Skill::Cleaving] = 1.0;
|
|
$SkillMultiplier[Druid, $Skill::IgniteArrow] = 0.5;
|
|
$SkillMultiplier[Druid, $Skill::Focus] = 1.0;
|
|
$HPPerLvl[Druid] = 1;
|
|
$EXPmultiplier[Druid] = 0.8;
|
|
|
|
//--------------
|
|
// Thief
|
|
//--------------
|
|
//Thieves handle piercing weapons well enough, and are very good at hiding and backstabbing.
|
|
//And of course, they are great at stealing.
|
|
|
|
//Primary Skill: Stealing
|
|
//Secondary Skill: Hiding, Backstabbing, Piercing, Archery
|
|
|
|
$SkillMultiplier[Thief, $Skill::Slashing] = 0.6;
|
|
$SkillMultiplier[Thief, $Skill::Piercing] = 1.8;
|
|
$SkillMultiplier[Thief, $Skill::Bludgeoning] = 0.5;
|
|
$SkillMultiplier[Thief, $Skill::Dodging] = 1.1;
|
|
$SkillMultiplier[Thief, $Skill::WeightCapacity] = 0.7;
|
|
$SkillMultiplier[Thief, $Skill::Bashing] = 0.2;
|
|
$SkillMultiplier[Thief, $Skill::Stealing] = 1.8;
|
|
$SkillMultiplier[Thief, $Skill::Hiding] = 1.8;
|
|
$SkillMultiplier[Thief, $Skill::Backstabbing] = 2.0;
|
|
$SkillMultiplier[Thief, $Skill::OffensiveCasting] = 0.2;
|
|
$SkillMultiplier[Thief, $Skill::DefensiveCasting] = 0.2;
|
|
$SkillMultiplier[Thief, $Skill::NeutralCasting] = 0.2;
|
|
$SkillMultiplier[Thief, $Skill::SpellResistance] = 0.3;
|
|
$SkillMultiplier[Thief, $Skill::Healing] = 0.5;
|
|
$SkillMultiplier[Thief, $Skill::Archery] = 1.6;
|
|
$SkillMultiplier[Thief, $Skill::Endurance] = 1.0;
|
|
$SkillMultiplier[Thief, $Skill::Mining] = 1.0;
|
|
$SkillMultiplier[Thief, $Skill::Speech] = 1.0;
|
|
$SkillMultiplier[Thief, $Skill::SenseHeading] = 1.0;
|
|
$SkillMultiplier[Thief, $Skill::Energy] = 0.5;
|
|
$SkillMultiplier[Thief, $Skill::Haggling] = 1.5;
|
|
$SkillMultiplier[Thief, $Skill::Cleaving] = 0.1;
|
|
$SkillMultiplier[Thief, $Skill::IgniteArrow] = 0.3;
|
|
$SkillMultiplier[Thief, $Skill::Focus] = 0.1;
|
|
$HPPerLvl[Thief] = 4;
|
|
$EXPmultiplier[Thief] = 0.8;
|
|
|
|
//--------------
|
|
// Bard
|
|
//--------------
|
|
//Bards are much like thieves, except that they are a bit more evenly balanced.
|
|
|
|
//Primary Skill: Stealing
|
|
//Secondary Skill: Archery
|
|
|
|
$SkillMultiplier[Bard, $Skill::Slashing] = 1.3;
|
|
$SkillMultiplier[Bard, $Skill::Piercing] = 1.5;
|
|
$SkillMultiplier[Bard, $Skill::Bludgeoning] = 1.3;
|
|
$SkillMultiplier[Bard, $Skill::Dodging] = 2.0;
|
|
$SkillMultiplier[Bard, $Skill::WeightCapacity] = 0.8;
|
|
$SkillMultiplier[Bard, $Skill::Bashing] = 0.2;
|
|
$SkillMultiplier[Bard, $Skill::Stealing] = 2.0;
|
|
$SkillMultiplier[Bard, $Skill::Hiding] = 1.8;
|
|
$SkillMultiplier[Bard, $Skill::Backstabbing] = 1.8;
|
|
$SkillMultiplier[Bard, $Skill::OffensiveCasting] = 0.3;
|
|
$SkillMultiplier[Bard, $Skill::DefensiveCasting] = 0.3;
|
|
$SkillMultiplier[Bard, $Skill::NeutralCasting] = 0.5;
|
|
$SkillMultiplier[Bard, $Skill::SpellResistance] = 0.5;
|
|
$SkillMultiplier[Bard, $Skill::Healing] = 2.0;
|
|
$SkillMultiplier[Bard, $Skill::Archery] = 1.4;
|
|
$SkillMultiplier[Bard, $Skill::Endurance] = 2.0;
|
|
$SkillMultiplier[Bard, $Skill::Mining] = 2.0;
|
|
$SkillMultiplier[Bard, $Skill::Speech] = 1.0;
|
|
$SkillMultiplier[Bard, $Skill::SenseHeading] = 1.5;
|
|
$SkillMultiplier[Bard, $Skill::Energy] = 0.6;
|
|
$SkillMultiplier[Bard, $Skill::Haggling] = 2.0;
|
|
$SkillMultiplier[Bard, $Skill::Cleaving] = 0.5;
|
|
$SkillMultiplier[Bard, $Skill::IgniteArrow] = 0.3;
|
|
$SkillMultiplier[Bard, $Skill::Focus] = 0.9;
|
|
$HPPerLvl[Bard] = 2;
|
|
$EXPmultiplier[Bard] = 0.8;
|
|
|
|
//--------------
|
|
// Fighter
|
|
//--------------
|
|
// Fighters are great with swords, namely slashing weapons. They are strong, but dumb.
|
|
// They know nothing when it comes to spells. However they can easily wear armor and
|
|
// wield all kinds of weapons.
|
|
|
|
//Primary Skill: Slashing
|
|
//Secondary Skill: Bludgeoning
|
|
|
|
$SkillMultiplier[Fighter, $Skill::Slashing] = 2.0;
|
|
$SkillMultiplier[Fighter, $Skill::Piercing] = 1.5;
|
|
$SkillMultiplier[Fighter, $Skill::Bludgeoning] = 2.0;
|
|
$SkillMultiplier[Fighter, $Skill::Dodging] = 1.5;
|
|
$SkillMultiplier[Fighter, $Skill::WeightCapacity] = 1.5;
|
|
$SkillMultiplier[Fighter, $Skill::Bashing] = 1.6;
|
|
$SkillMultiplier[Fighter, $Skill::Stealing] = 0.2;
|
|
$SkillMultiplier[Fighter, $Skill::Hiding] = 0.2;
|
|
$SkillMultiplier[Fighter, $Skill::Backstabbing] = 0.2;
|
|
$SkillMultiplier[Fighter, $Skill::OffensiveCasting] = 0.1;
|
|
$SkillMultiplier[Fighter, $Skill::DefensiveCasting] = 0.1;
|
|
$SkillMultiplier[Fighter, $Skill::NeutralCasting] = 0.1;
|
|
$SkillMultiplier[Fighter, $Skill::SpellResistance] = 0.2;
|
|
$SkillMultiplier[Fighter, $Skill::Healing] = 1.2;
|
|
$SkillMultiplier[Fighter, $Skill::Archery] = 1.6;
|
|
$SkillMultiplier[Fighter, $Skill::Endurance] = 1.6;
|
|
$SkillMultiplier[Fighter, $Skill::Mining] = 1.0;
|
|
$SkillMultiplier[Fighter, $Skill::Speech] = 0.8;
|
|
$SkillMultiplier[Fighter, $Skill::SenseHeading] = 0.8;
|
|
$SkillMultiplier[Fighter, $Skill::Energy] = 0.2;
|
|
$SkillMultiplier[Fighter, $Skill::Haggling] = 1.0;
|
|
$SkillMultiplier[Fighter, $Skill::Cleaving] = 1.5;
|
|
$SkillMultiplier[Fighter, $Skill::IgniteArrow] = 0.9;
|
|
$SkillMultiplier[Fighter, $Skill::Focus] = 0.1;
|
|
$HPPerLvl[Fighter] = 12;
|
|
$EXPmultiplier[Fighter] = 1.0;
|
|
|
|
//--------------
|
|
// Paladin
|
|
//--------------
|
|
//Paladins are much like Fighters, except that they are a bit more evenly balanced.
|
|
|
|
//Primary Skill: Bludgeoning
|
|
//Secondary Skill: Healing
|
|
|
|
$SkillMultiplier[Paladin, $Skill::Slashing] = 1.5;
|
|
$SkillMultiplier[Paladin, $Skill::Piercing] = 1.5;
|
|
$SkillMultiplier[Paladin, $Skill::Bludgeoning] = 1.9;
|
|
$SkillMultiplier[Paladin, $Skill::Dodging] = 1.5;
|
|
$SkillMultiplier[Paladin, $Skill::WeightCapacity] = 1.5;
|
|
$SkillMultiplier[Paladin, $Skill::Bashing] = 1.5;
|
|
$SkillMultiplier[Paladin, $Skill::Stealing] = 0.3;
|
|
$SkillMultiplier[Paladin, $Skill::Hiding] = 0.3;
|
|
$SkillMultiplier[Paladin, $Skill::Backstabbing] = 0.3;
|
|
$SkillMultiplier[Paladin, $Skill::OffensiveCasting] = 0.2;
|
|
$SkillMultiplier[Paladin, $Skill::DefensiveCasting] = 1.0;
|
|
$SkillMultiplier[Paladin, $Skill::NeutralCasting] = 0.3;
|
|
$SkillMultiplier[Paladin, $Skill::SpellResistance] = 0.9;
|
|
$SkillMultiplier[Paladin, $Skill::Healing] = 2.0;
|
|
$SkillMultiplier[Paladin, $Skill::Archery] = 1.2;
|
|
$SkillMultiplier[Paladin, $Skill::Endurance] = 1.5;
|
|
$SkillMultiplier[Paladin, $Skill::Mining] = 1.0;
|
|
$SkillMultiplier[Paladin, $Skill::Speech] = 0.8;
|
|
$SkillMultiplier[Paladin, $Skill::SenseHeading] = 0.7;
|
|
$SkillMultiplier[Paladin, $Skill::Energy] = 0.9;
|
|
$SkillMultiplier[Paladin, $Skill::Haggling] = 1.3;
|
|
$SkillMultiplier[Paladin, $Skill::Cleaving] = 0.5;
|
|
$SkillMultiplier[Paladin, $Skill::IgniteArrow] = 0.5;
|
|
$SkillMultiplier[Paladin, $Skill::Focus] = 0.7;
|
|
$HPPerLvl[Paladin] = 5;
|
|
$EXPmultiplier[Paladin] = 1.0;
|
|
|
|
//--------------
|
|
// Ranger
|
|
//--------------
|
|
// Rangers specialize in ranged weaponry. They are also good at finding their way when lost.
|
|
// They can also wear armors and wield weapons easily enough.
|
|
|
|
//Primary Skill: Archery
|
|
//Secondary Skills: Slashing, Sense Heading
|
|
|
|
$SkillMultiplier[Ranger, $Skill::Slashing] = 1.6;
|
|
$SkillMultiplier[Ranger, $Skill::Piercing] = 1.1;
|
|
$SkillMultiplier[Ranger, $Skill::Bludgeoning] = 1.2;
|
|
$SkillMultiplier[Ranger, $Skill::Dodging] = 1.8;
|
|
$SkillMultiplier[Ranger, $Skill::WeightCapacity] = 1.0;
|
|
$SkillMultiplier[Ranger, $Skill::Bashing] = 0.9;
|
|
$SkillMultiplier[Ranger, $Skill::Stealing] = 0.5;
|
|
$SkillMultiplier[Ranger, $Skill::Hiding] = 1.0;
|
|
$SkillMultiplier[Ranger, $Skill::Backstabbing] = 0.4;
|
|
$SkillMultiplier[Ranger, $Skill::OffensiveCasting] = 0.2;
|
|
$SkillMultiplier[Ranger, $Skill::DefensiveCasting] = 0.4;
|
|
$SkillMultiplier[Ranger, $Skill::NeutralCasting] = 0.3;
|
|
$SkillMultiplier[Ranger, $Skill::SpellResistance] = 0.2;
|
|
$SkillMultiplier[Ranger, $Skill::Healing] = 0.8;
|
|
$SkillMultiplier[Ranger, $Skill::Archery] = 2.0;
|
|
$SkillMultiplier[Ranger, $Skill::Endurance] = 1.2;
|
|
$SkillMultiplier[Ranger, $Skill::Mining] = 1.0;
|
|
$SkillMultiplier[Ranger, $Skill::Speech] = 1.0;
|
|
$SkillMultiplier[Ranger, $Skill::SenseHeading] = 2.0;
|
|
$SkillMultiplier[Ranger, $Skill::Energy] = 0.7;
|
|
$SkillMultiplier[Ranger, $Skill::Haggling] = 0.7;
|
|
$SkillMultiplier[Ranger, $Skill::Cleaving] = 0.5;
|
|
$SkillMultiplier[Ranger, $Skill::IgniteArrow] = 1.8;
|
|
$SkillMultiplier[Ranger, $Skill::Focus] = 0.1;
|
|
$HPPerLvl[Ranger] = 10;
|
|
$EXPmultiplier[Ranger] = 0.95;
|
|
|
|
//--------------
|
|
// Mage
|
|
//--------------
|
|
// Mages are horrible with weapons and armor, but excel in anything that
|
|
// relates to spells.
|
|
|
|
//Primary Skill: Offensive Casting
|
|
//Secondary Skills: Focus
|
|
|
|
$SkillMultiplier[Mage, $Skill::Slashing] = 0.3;
|
|
$SkillMultiplier[Mage, $Skill::Piercing] = 0.8;
|
|
$SkillMultiplier[Mage, $Skill::Bludgeoning] = 1.0;
|
|
$SkillMultiplier[Mage, $Skill::Dodging] = 1.2;
|
|
$SkillMultiplier[Mage, $Skill::WeightCapacity] = 0.6;
|
|
$SkillMultiplier[Mage, $Skill::Bashing] = 0.1;
|
|
$SkillMultiplier[Mage, $Skill::Stealing] = 0.1;
|
|
$SkillMultiplier[Mage, $Skill::Hiding] = 0.1;
|
|
$SkillMultiplier[Mage, $Skill::Backstabbing] = 0.1;
|
|
$SkillMultiplier[Mage, $Skill::OffensiveCasting] = 2.0;
|
|
$SkillMultiplier[Mage, $Skill::DefensiveCasting] = 0.6;
|
|
$SkillMultiplier[Mage, $Skill::NeutralCasting] = 1.2;
|
|
$SkillMultiplier[Mage, $Skill::SpellResistance] = 1.5;
|
|
$SkillMultiplier[Mage, $Skill::Healing] = 0.7;
|
|
$SkillMultiplier[Mage, $Skill::Archery] = 0.8;
|
|
$SkillMultiplier[Mage, $Skill::Endurance] = 0.5;
|
|
$SkillMultiplier[Mage, $Skill::Mining] = 1.0;
|
|
$SkillMultiplier[Mage, $Skill::Speech] = 1.5;
|
|
$SkillMultiplier[Mage, $Skill::SenseHeading] = 0.1;
|
|
$SkillMultiplier[Mage, $Skill::Energy] = 0.0;//not in
|
|
$SkillMultiplier[Mage, $Skill::Haggling] = 1.0;
|
|
$SkillMultiplier[Mage, $Skill::Cleaving] = 0.1;
|
|
$SkillMultiplier[Mage, $Skill::IgniteArrow] = 1.0;
|
|
$SkillMultiplier[Mage, $Skill::Focus] = 2.0;
|
|
$HPPerLvl[Mage] = 2;
|
|
$EXPmultiplier[Mage] = 1.0;
|
|
|
|
//--------------
|
|
// Conjurer
|
|
//--------------
|
|
// Conjurer are horrible with weapons and armor, but excel in anything that
|
|
// relates to spells (offensive and neutral)
|
|
|
|
//Primary Skill: Offensive Casting
|
|
//Secondary Skills: Neutral Casting
|
|
|
|
$SkillMultiplier[Conjurer, $Skill::Slashing] = 0.6;
|
|
$SkillMultiplier[Conjurer, $Skill::Piercing] = 0.3;
|
|
$SkillMultiplier[Conjurer, $Skill::Bludgeoning] = 1.0;
|
|
$SkillMultiplier[Conjurer, $Skill::Dodging] = 1.2;
|
|
$SkillMultiplier[Conjurer, $Skill::WeightCapacity] = 0.9;
|
|
$SkillMultiplier[Conjurer, $Skill::Bashing] = 0.1;
|
|
$SkillMultiplier[Conjurer, $Skill::Stealing] = 0.1;
|
|
$SkillMultiplier[Conjurer, $Skill::Hiding] = 0.1;
|
|
$SkillMultiplier[Conjurer, $Skill::Backstabbing] = 0.1;
|
|
$SkillMultiplier[Conjurer, $Skill::OffensiveCasting] = 2.0;
|
|
$SkillMultiplier[Conjurer, $Skill::DefensiveCasting] = 0.1;
|
|
$SkillMultiplier[Conjurer, $Skill::NeutralCasting] = 2.0;
|
|
$SkillMultiplier[Conjurer, $Skill::SpellResistance] = 1.0;
|
|
$SkillMultiplier[Conjurer, $Skill::Healing] = 0.6;
|
|
$SkillMultiplier[Conjurer, $Skill::Archery] = 0.2;
|
|
$SkillMultiplier[Conjurer, $Skill::Endurance] = 0.6;
|
|
$SkillMultiplier[Conjurer, $Skill::Mining] = 0.9;
|
|
$SkillMultiplier[Conjurer, $Skill::Speech] = 1.9;
|
|
$SkillMultiplier[Conjurer, $Skill::SenseHeading] = 0.5;
|
|
$SkillMultiplier[Conjurer, $Skill::Energy] = 1.5;
|
|
$SkillMultiplier[Conjurer, $Skill::Haggling] = 1.3;
|
|
$SkillMultiplier[Conjurer, $Skill::Cleaving] = 0.8;
|
|
$SkillMultiplier[Conjurer, $Skill::IgniteArrow] = 0.5;
|
|
$SkillMultiplier[Conjurer, $Skill::Focus] = 1.5;
|
|
$HPPerLvl[Conjurer] = 4;
|
|
$EXPmultiplier[Conjurer] = 0.95;
|
|
|
|
//######################################################################################
|
|
// Skill Restriction tables
|
|
//######################################################################################
|
|
|
|
//To determine skill restrictions, do the following:
|
|
//
|
|
//-Determine the following variables first:
|
|
// (weapon):
|
|
// a = ATK * 1.1 (archery is 0.75)
|
|
// b = Delay = Cap((Weight / 3), 1, "inf")
|
|
//
|
|
// (armor):
|
|
// a = (DEF + MDEF) / 6
|
|
// b = 1.0
|
|
//
|
|
//-To find out what the skill restriction number is, follow this formula, where s is the final skill restriction:
|
|
// s = Cap((a / b) - 20), 0, "inf") * 10.0;
|
|
//
|
|
|
|
$SkillRestriction[BluePotion] = $Skill::Healing @ " 0";
|
|
$SkillRestriction[CrystalBluePotion] = $Skill::Healing @ " 0";
|
|
$SkillRestriction[BasicRobe] = $Magic @ " 10";
|
|
$SkillRestriction[ApprenticeRobe] = $Magic SPC "30";
|
|
$SkillRestriction[LightRobe] = $Skill::Endurance @ " 3 " @ $Magic @ " 80";
|
|
$SkillRestriction[FineRobe] = $Skill::Endurance @ " 9 " @ $Magic @ " 175";
|
|
$SkillRestriction[BloodRobe] = $Skill::Endurance @ " 8 " @ $Magic @ " 300";
|
|
$SkillRestriction[AdvisorRobe] = $Skill::Endurance @ " 10 " @ $Magic @ " 450";
|
|
$SkillRestriction[ElvenRobe] = $Skill::Endurance @ " 12 " @ $Magic @ " 620";
|
|
//$SkillRestriction[RobeOfVenjance] = $Skill::Endurance @ " 18 " @ $Magic @ " 800";
|
|
$SkillRestriction[PhensRobe] = $Skill::Endurance @ " 20 " @ $Magic @ " 980";
|
|
$SkillRestriction[QuestMasterRobe] = $MinAdmin @ " 3";
|
|
|
|
$SkillRestriction[PaddedArmor] = $SkillEndurance @ " 5";
|
|
$SkillRestriction[LeatherArmor] = $SkillEndurance @ " 40";
|
|
$SkillRestriction[StuddedLeatherArmor] = $SkillEndurance @ " 95";
|
|
$SkillRestriction[SpikedLeatherArmor] = $SkillEndurance @ " 135";
|
|
$SkillRestriction[HideArmor] = $SkillEndurance @ " 180";
|
|
$SkillRestriction[ScaleMailBody] = $SkillEndurance @ " 240";
|
|
$SkillRestriction[BrigandineBody] = $SkillEndurance @ " 300";
|
|
$SkillRestriction[ChainMailBody] = $SkillEndurance @ " 350";
|
|
$SkillRestriction[RingMailBody] = $SkillEndurance @ " 410";
|
|
$SkillRestriction[BandedMailArmor] = $SkillEndurance @ " 490";
|
|
$SkillRestriction[SplintMailBody] = $SkillEndurance @ " 580";
|
|
$SkillRestriction[BronzePlateMail] = $SkillEndurance @ " 660";
|
|
$SkillRestriction[HalfPlate] = $SkillEndurance @ " 775";
|
|
$SkillRestriction[FieldPlate] = $SkillEndurance @ " 840";
|
|
$SkillRestriction[DragonMail] = $SkillEndurance @ " 950";
|
|
$SkillRestriction[FullPlate] = $SkillEndurance @ " 1065";
|
|
$SkillRestriction[LeatherBoots] = $Skill::Endurance @ " 8";
|
|
$SkillRestriction[BootsOfGliding] = $MinLevel @ " 25";
|
|
$SkillRestriction[WindWalkers] = $MinLevel @ " 60";
|
|
$SkillRestriction[KeldrinitePlate] = $SkillEndurance @ " 1305";
|
|
|
|
$SkillRestriction[KnightShield] = $SkillEndurance @ " 140";
|
|
$SkillRestriction[HeavenlyShield] = $SkillEndurance @ " 540";
|
|
$SkillRestriction[DragonShield] = $SkillEndurance @ " 715";
|
|
|
|
$SkillRestriction[Hatchet] = $Skill::Slashing @ " 0";
|
|
$SkillRestriction[WarAxe] = $Skill::Slashing @ " 35";
|
|
$SkillRestriction[BroadSword] = $Skill::Slashing @ " 70";
|
|
$SkillRestriction[LongSword] = $Skill::Slashing @ " 140";
|
|
$SkillRestriction[IceBroadSword] = $Skill::Slashing SPC "170";
|
|
$SkillRestriction[FireBroadSword] = $skillRestriction[IceBroadSword];
|
|
$SkillRestriction[WaterBroadSword] = $skillRestriction[IceBroadSword];
|
|
$SkillRestriction[BattleAxe] = $Skill::Slashing @ " 300";
|
|
$SkillRestriction[BastardSword] = $Skill::Slashing @ " 620";
|
|
$SkillRestriction[Halberd] = $Skill::Slashing @ " 768";
|
|
$SkillRestriction[Claymore] = $Skill::Slashing @ " 900";
|
|
$SkillRestriction[GreatClaymore] = $Skill::Slashing @ " 900";
|
|
$SkillRestriction[KeldriniteLS] = $Skill::Slashing @ " 1120";
|
|
//.................................................................................
|
|
$SkillRestriction[Club] = $SkillBludgeoning @ " 0";
|
|
$SkillRestriction[QuarterStaff] = $SkillBludgeoning @ " 20";
|
|
$SkillRestriction[BoneClub] = $SkillBludgeoning @ " 45";
|
|
$SkillRestriction[SpikedClub] = $SkillBludgeoning @ " 60";
|
|
$SkillRestriction[Mace] = $SkillBludgeoning @ " 140";
|
|
$SkillRestriction[HammerPick] = $SkillBludgeoning @ " 300";
|
|
$SkillRestriction[SpikedBoneClub] = $SkillBludgeoning @ " 450";
|
|
$SkillRestriction[LongStaff] = $SkillBludgeoning @ " 620";
|
|
$SkillRestriction[WarHammer] = $SkillBludgeoning @ " 768";
|
|
$SkillRestriction[JusticeStaff] = $SkillBludgeoning @ " 834";
|
|
$SkillRestriction[WarMaul] = $SkillBludgeoning @ " 900";
|
|
//.................................................................................
|
|
$SkillRestriction[PickAxe] = $Skill::Piercing @ " 0";
|
|
$SkillRestriction[Knife] = $Skill::Piercing @ " 0";
|
|
$SkillRestriction[Dagger] = $Skill::Piercing @ " 60";
|
|
$SkillRestriction[ShortSword] = $Skill::Piercing @ " 140";
|
|
$SkillRestriction[Spear] = $Skill::Piercing @ " 280";
|
|
$SkillRestriction[Gladius] = $Skill::Piercing @ " 450";
|
|
$SkillRestriction[Trident] = $Skill::Piercing @ " 620";
|
|
$SkillRestriction[Rapier] = $Skill::Piercing @ " 768";
|
|
$SkillRestriction[Katana] = $Skill::Piercing @ " 768";
|
|
$SkillRestriction[AwlPike] = $Skill::Piercing @ " 900";
|
|
$SkillRestriction[Katar] = $Skill::Piercing @ " 680";
|
|
//.................................................................................
|
|
$SkillRestriction[Sling] = $SkillArchery @ " 0";
|
|
$SkillRestriction[ShortBow] = $SkillArchery @ " 25";
|
|
$SkillRestriction[LightCrossbow] = $SkillArchery @ " 160";
|
|
$SkillRestriction[LongBow] = $SkillArchery @ " 318";
|
|
$SkillRestriction[CompositeBow] = $SkillArchery @ " 438";
|
|
$SkillRestriction[RepeatingCrossbow] = $SkillArchery @ " 550";
|
|
$SkillRestriction[ElvenBow] = $SkillArchery @ " 685";
|
|
$SkillRestriction[AeolusWing] = $SkillArchery @ " 805";
|
|
$SkillRestriction[HeavyCrossbow] = $SkillArchery @ " 925";
|
|
//.................................................................................
|
|
$SkillRestriction[SmallRock] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[BasicArrow] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[ShortQuarrel] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[LightQuarrel] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[SheafArrow] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[StoneFeather] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[BladedArrow] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[HeavyQuarrel] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[MetalFeather] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[Talon] = $Skill::Archery @ " 0";
|
|
$SkillRestriction[CeraphumsFeather] = $Skill::Archery @ " 0";
|
|
|
|
|
|
// Chat functions
|
|
//Phantom139: Re-ordered by level requirement/class
|
|
$SkillRestriction["#backstab"] = $Skill::Backstabbing @ " 15";
|
|
$SkillRestriction["#surge"] = $Skill::Backstabbing @ " 50";
|
|
$SkillRestriction["#encumber"] = $Skill::Backstabbing @ " 150";
|
|
|
|
$SkillRestriction["#ignite"] = $Skill::IgniteArrow @ " 15";
|
|
|
|
$SkillRestriction["#cleave"] = $Skill::Cleaving @ " 15";
|
|
$SkillRestriction["#berserk"] = $Skill::Cleaving @ " 50";
|
|
$SkillRestriction["#targetleg"] = $Skill::Cleaving @ " 150";
|
|
|
|
$SkillRestriction["#say"] = $Skill::Speech @ " 0";
|
|
$SkillRestriction["#whisper"] = $Skill::Speech @ " 0";
|
|
$SkillRestriction["#tell"] = $Skill::Speech @ " 0";
|
|
$SkillRestriction["#zone"] = $Skill::Speech @ " 0";
|
|
$SkillRestriction["#party"] = $Skill::Speech @ " 0";
|
|
$SkillRestriction["#shout"] = $Skill::Speech @ " 3";
|
|
$SkillRestriction["#global"] = $Skill::Speech @ " 0";
|
|
$SkillRestriction["#group"] = $Skill::Speech @ " 5";
|
|
$SkillRestriction["#guild"] = $Skill::Speech @ " 10";
|
|
|
|
$SkillRestriction["#steal"] = $Skill::Stealing @ " 15";
|
|
$SkillRestriction["#pickpocket"] = $Skill::Stealing @ " 270";
|
|
$SkillRestriction["#mug"] = $Skill::Stealing @ " 620";
|
|
|
|
$SkillRestriction["#hide"] = $Skill::Hiding @ " 15";
|
|
|
|
$SkillRestriction["#focus"] = $Skill::Focus @ " 15";
|
|
|
|
$SkillRestriction["#shove"] = $Skill::Bashing @ " 5";
|
|
$SkillRestriction["#bash"] = $Skill::Bashing @ " 15";
|
|
$SkillRestriction["#disrupt"] = $Skill::Bashing @ " 50";
|
|
$SkillRestriction["#stun"] = $Skill::Bashing @ " 170";
|
|
|
|
$SkillRestriction["#compass"] = $Skill::SenseHeading @ " 3";
|
|
$SkillRestriction["#track"] = $Skill::SenseHeading @ " 15";
|
|
$SkillRestriction["#advcompass"] = $Skill::SenseHeading @ " 20";
|
|
$SkillRestriction["#zonelist"] = $Skill::SenseHeading @ " 45";
|
|
$SkillRestriction["#trackpack"] = $Skill::SenseHeading @ " 85";
|
|
|
|
|
|
// Spells
|
|
$SkillRestriction[Bolt] = $Skill::OffensiveCasting @ " 5";
|
|
$SkillRestriction[thorn] = $Skill::OffensiveCasting @ " 15";
|
|
$SkillRestriction[fireball] = $Skill::OffensiveCasting @ " 20";
|
|
$SkillRestriction[firebomb] = $Skill::OffensiveCasting @ " 35";
|
|
$SkillRestriction[icespike] = $Skill::OffensiveCasting @ " 45";
|
|
$SkillRestriction[icestorm] = $Skill::OffensiveCasting @ " 85";
|
|
$SkillRestriction[ironfist] = $Skill::OffensiveCasting @ " 110";
|
|
$SkillRestriction[cloud] = $Skill::OffensiveCasting @ " 145";
|
|
$SkillRestriction[melt] = $Skill::OffensiveCasting @ " 220";
|
|
$SkillRestriction[powercloud] = $Skill::OffensiveCasting @ " 340";
|
|
$skillRestriction[spikes] = $skill::OffensiveCasting @ " 380";
|
|
$SkillRestriction[hellstorm] = $Skill::OffensiveCasting @ " 420";
|
|
$SkillRestriction[beam] = $Skill::OffensiveCasting @ " 520";
|
|
$SkillRestriction[dimensionrift] = $Skill::OffensiveCasting @ " 950";
|
|
$SkillRestriction[snowstorm] = $skill::OffensiveCasting @ " 750";
|
|
|
|
$SkillRestriction[Flare] = $Skill::NeutralCasting @ " 5";
|
|
$SkillRestriction[SignalFlare] = $Skill::NeutralCasting @ " 20";
|
|
$SkillRestriction[AdminSignalFlare] = $MinAdmin SPC "3";
|
|
$SkillRestriction[teleport] = $Skill::NeutralCasting @ " 60";
|
|
$SkillRestriction[Guildteleport] = $Skill::NeutralCasting @ " 20";
|
|
$SkillRestriction[AdvGuildteleport] = $Skill::NeutralCasting @ " 260";
|
|
$SkillRestriction[transport] = $Skill::NeutralCasting @ " 200";
|
|
$SkillRestriction[advtransport] = $Skill::NeutralCasting @ " 350";
|
|
//$SkillRestriction[remort] = $Skill::NeutralCasting @ " 0 " @ $MinLevel @ " 101";
|
|
//$SkillRestriction[mimic] = $Skill::NeutralCasting @ " 145 " @ $MinRemort @ " 2";
|
|
$SkillRestriction[masstransport] = $Skill::NeutralCasting @ " 650";
|
|
|
|
$SkillRestriction[heal] = $Skill::DefensiveCasting @ " 10";
|
|
$SkillRestriction[strongheal] = $Skill::DefensiveCasting @ " 80";
|
|
$SkillRestriction[advheal] = $Skill::DefensiveCasting @ " 110";
|
|
$SkillRestriction[ExpertHeal] = $Skill::DefensiveCasting @ " 200";
|
|
//$SkillRestriction[advheal4] = $SkillDefensiveCasting @ " 320";
|
|
//$SkillRestriction[advheal5] = $SkillDefensiveCasting @ " 400";
|
|
//$SkillRestriction[advheal6] = $SkillDefensiveCasting @ " 500";
|
|
$SkillRestriction[godlyheal] = $Skill::DefensiveCasting @ " 600";
|
|
$SkillRestriction[fullheal] = $Skill::DefensiveCasting @ " 750";
|
|
$SkillRestriction[massheal] = $Skill::DefensiveCasting @ " 850";
|
|
$SkillRestriction[massfullheal] = $Skill::DefensiveCasting @ " 950";
|
|
$SkillRestriction[shield] = $Skill::DefensiveCasting @ " 20";
|
|
$SkillRestriction[FireShield] = $Skill::DefensiveCasting @ " 60";
|
|
$SkillRestriction[EarthShield] = $Skill::DefensiveCasting @ " 70";
|
|
$SkillRestriction[WaterShield] = $Skill::DefensiveCasting @ " 80";
|
|
$SkillRestriction[WindShield] = $Skill::DefensiveCasting @ " 90";
|
|
$SkillRestriction[EnergyShield] = $Skill::DefensiveCasting @ " 100";
|
|
$SkillRestriction[GravityShield] = $Skill::DefensiveCasting @ " 140";
|
|
$SkillRestriction[advshield] = $Skill::DefensiveCasting @ " 290";
|
|
//$SkillRestriction[advshield4] = $Skill::DefensiveCasting @ " 420";
|
|
$SkillRestriction[AdvFireShield] = $Skill::DefensiveCasting @ " 420";
|
|
$SkillRestriction[AdvEarthShield] = $Skill::DefensiveCasting @ " 440";
|
|
$SkillRestriction[AdvWaterShield] = $Skill::DefensiveCasting @ " 480";
|
|
$SkillRestriction[AdvWindShield] = $Skill::DefensiveCasting @ " 500";
|
|
$SkillRestriction[AdvEnergyShield] = $Skill::DefensiveCasting @ " 520";
|
|
$SkillRestriction[AdvGravityShield] = $Skill::DefensiveCasting @ " 540";
|
|
$SkillRestriction[godlyshield] = $Skill::DefensiveCasting @ " 635";
|
|
$SkillRestriction[massshield] = $Skill::DefensiveCasting @ " 680";
|
|
$SkillRestriction[heavenlyshield] = $Skill::DefensiveCasting @ " 1100";
|
|
|
|
//######################################################################################
|
|
// Skill functions
|
|
//######################################################################################
|
|
|
|
function GetNumSkills()
|
|
{
|
|
for(%i = 1; $SkillDesc[%i] !$= ""; %i++){}
|
|
return %i-1;
|
|
}
|
|
function AddSkillPoint(%client, %skill, %delta)
|
|
{
|
|
return game.AddSkillPoint(%client, %skill, %delta);
|
|
}
|
|
function RPGGame::AddSkillPoint(%game, %client, %skill, %delta)
|
|
{
|
|
if(%delta $= "")
|
|
%delta = 1;
|
|
|
|
//==== CAPS ================
|
|
//if(%client.PlayerSkill[%skill] >= $SkillCap)
|
|
// return false;
|
|
|
|
//%ub = ($skillRangePerLevel * fetchData(%client, "LVL")) + 20;
|
|
//if(%client.PlayerSkill[%skill] >= %ub)
|
|
// return false;
|
|
//==========================
|
|
|
|
%a = GetSkillMultiplier(%client, %skill) * %delta;
|
|
%b = %client.data.PlayerSkill[%skill];
|
|
%c = %a + %b;
|
|
|
|
%client.data.PlayerSkill[%skill] = %c;
|
|
|
|
//Phantom139: Display any newly obtained skills
|
|
CaptureNewSkills(%client, %skill, %b, %c);
|
|
|
|
return true;
|
|
}
|
|
function RPGGame::GetPlayerSkill(%game, %client, %skill)
|
|
{
|
|
return %client.data.PlayerSkill[%skill];
|
|
}
|
|
function GetPlayerSkill(%client, %skill)
|
|
{
|
|
return game.GetplayerSkill(%client, %skill);
|
|
}
|
|
function GetSkillMultiplier(%client, %skill)
|
|
{
|
|
game.GetSkillMultiplier(%client, %skill);
|
|
}
|
|
function RPGGame::GetSkillMultiplier(%game, %client, %skill)
|
|
{
|
|
%a = $SkillMultiplier[fetchData(%client, "CLASS"), %skill];
|
|
|
|
%c = Cap(%a, "inf", 30.0);
|
|
|
|
return %c;
|
|
}
|
|
function GetEXPmultiplier(%client)
|
|
{
|
|
%a = $EXPmultiplier[fetchData(%client, "CLASS")];
|
|
|
|
|
|
%c = %a + %b;
|
|
|
|
return %c;
|
|
}
|
|
|
|
function SetAllSkills(%client, %n)
|
|
{
|
|
for(%i = 1; $SkillDesc[%i] !$= ""; %i++)
|
|
%client.data.PlayerSkill[%i] = %n;
|
|
}
|
|
function SetSkillsToMulti(%client)
|
|
{
|
|
for(%i = 1; $skillDesc[%i] !$= ""; %i++)
|
|
{
|
|
AddSkillPoint(%client, %i, 1);
|
|
}
|
|
|
|
}
|
|
function SkillCanUse(%client, %thing)
|
|
{
|
|
return game.SkillCanUse(%client, %thing);
|
|
}
|
|
function RPGGame::SkillCanUse(%game, %client, %thing)
|
|
{
|
|
if(%client.adminLevel >= 5)
|
|
return true;
|
|
|
|
%flag = 0;
|
|
%gc = 0;
|
|
%gcflag = 0;
|
|
|
|
for(%i = 0; GetWord($SkillRestriction[%thing], %i) !$= ""; %i+=2)
|
|
{
|
|
%s = GetWord($SkillRestriction[%thing], %i);
|
|
%n = GetWord($SkillRestriction[%thing], %i+1);
|
|
|
|
if(%s $= "L")
|
|
{
|
|
if(fetchData(%client, "LVL") < %n)
|
|
%flag = 1;
|
|
}
|
|
else if(%s $= "R")
|
|
{
|
|
if(fetchData(%client, "RemortStep") < %n)
|
|
%flag = 1;
|
|
}
|
|
else if(%s $= "A")
|
|
{
|
|
if(%client.adminLevel < %n)
|
|
%flag = 1;
|
|
}
|
|
else if(%s $= "G")
|
|
{
|
|
%gcflag++;
|
|
if(stricmp(fetchData(%client, "GROUP"), %n) $= 0)
|
|
%gc = 1;
|
|
}
|
|
else if(%s $= "C")
|
|
{
|
|
%gcflag++;
|
|
if(stricmp(fetchData(%client, "CLASS"), %n) $= 0)
|
|
%gc = 1;
|
|
}
|
|
else if(%s $= "H")
|
|
{
|
|
%hflag++;
|
|
if(stricmp(fetchData(%client, "MyHouse"), %n) $= 0)
|
|
%hh = 1;
|
|
}
|
|
else if(%s $= "M")
|
|
{
|
|
if(%client.data.PlayerSkill[$skill::defensivecasting] + %client.data.PlayerSkill[$skill::OffensiveCasting] + %Client.data.PlayerSkill[$skill::neutralCasting] < %n)
|
|
%flag = 1;
|
|
}
|
|
else if(%s $= "MF")
|
|
{
|
|
if(%client.data.PlayerSkill[$skill::defensivecasting] + %client.data.PlayerSkill[$skill::OffensiveCasting] + %Client.data.PlayerSkill[$skill::neutralCasting] < %n)
|
|
%flag = 1;
|
|
}
|
|
else
|
|
{
|
|
if(%client.data.PlayerSkill[%s] < %n)
|
|
%flag = 1;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
//First, if there are any class/group restrictions, house restrictions, check these first.
|
|
if(%gcflag > 0)
|
|
{
|
|
if(%gc $= 0)
|
|
%flag = 1;
|
|
}
|
|
if(%hflag > 0)
|
|
{
|
|
if(%hh $= 0)
|
|
%flag = 1;
|
|
}
|
|
|
|
|
|
if(%flag !$= 1)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
function RPGGame::UseSkill(%game, %client, %skilltype, %successful, %showmsg, %base, %refreshall)
|
|
{
|
|
if(%base $= "") %base = 35;
|
|
%lvl = fetchdata(%client, "LVL");
|
|
if(%lvl > 101 && !isTaggedSkill(%client, %skilltype)) %lvl = 101;//cap all but 'tagged' skills at level 101.
|
|
|
|
%ub = ($skillRangePerLevel * %lvl) + 20;
|
|
if(%client.data.PlayerSkill[%skilltype] < %ub) {
|
|
if(%successful)
|
|
%client.data.SkillCounter[%skilltype] += 1;
|
|
else
|
|
%client.data.SkillCounter[%skilltype] += 0.05;
|
|
|
|
//%p = 1 - (%client.PlayerSkill[%skilltype] / 1150);
|
|
%e = round( (%base / GetSkillMultiplier(%client, %skilltype)) );
|
|
if(%client.data.SkillCounter[ %skilltype] >= %e) {
|
|
%client.data.SkillCounter[%skilltype] = 0;
|
|
%retval = AddSkillPoint(%client, %skilltype, 1);
|
|
|
|
if(%retval) {
|
|
if(%showmsg)
|
|
messageClient(%client, 'UseSkill', "You have increased your skill in " @ $SkillDesc[%skilltype] @ " (" @ %client.data.PlayerSkill[%skilltype] @ ")");
|
|
if(%refreshall)
|
|
RefreshAll(%client);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function UseSkill(%client, %skilltype, %successful, %showmsg, %base, %refreshall)
|
|
{
|
|
return Game.useSkill(%client, %skilltype, %successful, %showmsg, %base, %refreshall);
|
|
}
|
|
function isTaggedSkill(%client, %skilltype)
|
|
{
|
|
|
|
if(fetchdata(%client, "TagSkill1") == %skilltype )
|
|
return true;
|
|
if(fetchdata(%client, "TagSkill2") == %skilltype )
|
|
return true;
|
|
if(fetchdata(%client, "TagSkill3") == %skilltype )
|
|
return true;
|
|
return false;
|
|
}
|
|
function WhatSkills(%thing)
|
|
{
|
|
%t = "";
|
|
for(%i = 0; GetWord($SkillRestriction[%thing], %i) !$= ""; %i+=2)
|
|
{
|
|
%s = GetWord($SkillRestriction[%thing], %i);
|
|
%n = GetWord($SkillRestriction[%thing], %i+1);
|
|
|
|
%t = %t @ $SkillDesc[%s] @ ": " @ %n @ ", ";
|
|
}
|
|
if(%t $= "")
|
|
%t = "None";
|
|
else
|
|
%t = getsubstr(%t, 0, strlen(%t)-2);
|
|
|
|
return %t;
|
|
}
|
|
|
|
function GetSkillAmount(%thing, %skill)
|
|
{
|
|
for(%i = 0; GetWord($SkillRestriction[%thing], %i) !$= ""; %i+=2)
|
|
{
|
|
%s = GetWord($SkillRestriction[%thing], %i);
|
|
|
|
if(%s $= %skill)
|
|
return GetWord($SkillRestriction[%thing], %i+1);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
function CaptureNewSkills(%client, %skill, %oldLevel, %newLevel) {
|
|
|
|
}
|