791 lines
24 KiB
Plaintext
791 lines
24 KiB
Plaintext
/*
|
|
s_modload - Incorporate this code into Module::OnLoad
|
|
*/
|
|
#include "sha_subr_methds"
|
|
#include "sha_artif_syste2"
|
|
void main()
|
|
{
|
|
|
|
/* Start the export characters timer */
|
|
DelayCommand(600.0, SignalEvent(OBJECT_SELF, EventUserDefined(200)));
|
|
|
|
/*Initialize a databases*/
|
|
SetLocalString(GetModule(), "X0_CAMPAIGN_DB", "RHUN_DATABASE");
|
|
|
|
/*Spell Hooks*/
|
|
SetLocalString(GetModule(), "X2_S_UD_SPELLSCRIPT", "sha_spellhooks");
|
|
|
|
|
|
|
|
ExecuteScript("x2_mod_def_load", GetModule());
|
|
ExecuteScript("x3moddefloadcopy", GetModule());
|
|
}
|
|
|
|
// Below is not needed as we have upgraded to version 3.6.9 of the SSE
|
|
// Script sha_on_modload holds all the subrace information to load now
|
|
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
//:: Rhun Subraces (using Shayan's Subrace Engine v2.0)
|
|
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
//----------------ELVEN SUBRACES-------------------------
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Elf - Drow :::::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Drow
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Charisma +2
|
|
//Ability Bonus: Intelligence +2
|
|
//Darkvision
|
|
//Saving Throw Bonus: Specific: Will +2
|
|
//Skill Bonus: Hide +2
|
|
//Skill Bonus: Move Silently +2
|
|
|
|
//Abilities from the unique item:
|
|
//Cast Spell: Darkness (5) 1 Use Per Day
|
|
//Cast Spell: Light () 1 Use Per Day
|
|
|
|
//Must be Elf. Light Sensitive.
|
|
//ECL: +2
|
|
CreateSubrace(RACIAL_TYPE_ELF, "drow", "sha_pc_drow", "sha_subrace_drow", TRUE, 0, FALSE, 0, 2);
|
|
|
|
//Favored Class - Male: Wizard, Female: Cleric.
|
|
AddSubraceFavoredClass("drow", CLASS_TYPE_WIZARD, CLASS_TYPE_CLERIC);
|
|
|
|
//Can only be evil
|
|
CreateSubraceAlignmentRestriction("drow", FALSE, FALSE, TRUE);
|
|
|
|
//Spell Resistance: Base (at Level 1): 10, Max(at Level 40): 50.
|
|
CreateSubraceSpellResistance("drow", 10, 50);
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Elf - Aquatic :::::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Elf-Aquatic
|
|
|
|
//Properties from the Skin:
|
|
//Decreased Ability Score: Intelligence -2
|
|
//Immunity: Specific Spell Drown
|
|
|
|
//Must be: Elf
|
|
CreateSubrace(RACIAL_TYPE_ELF, "aquatic-elf", "sha_pc_elfaquati", "");
|
|
|
|
//Favored Class: Fighter
|
|
AddSubraceFavoredClass("aquatic-elf", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER);
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Elf - Avariel ::::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Elf-Avariel
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Dexterity +2
|
|
//Ability Bonus: Intelligence +2
|
|
//Ability Bonus: Wisdom +2
|
|
//Skill Bonus: Spot +2
|
|
|
|
|
|
//Must be: Elf
|
|
CreateSubrace(RACIAL_TYPE_ELF, "avariel-elf", "sha_pc_elfavarie", "");
|
|
|
|
//Favored Class: Cleric
|
|
AddSubraceFavoredClass("avariel-elf", CLASS_TYPE_CLERIC, CLASS_TYPE_CLERIC);
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Elf - Wild :::::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Elf-Wild
|
|
|
|
//Properties from the Skin:
|
|
//Decreased Ability Score: Intelligence -2
|
|
|
|
|
|
//Must be: Elf
|
|
CreateSubrace(RACIAL_TYPE_ELF, "wild-elf", "sha_pc_elfwild", "");
|
|
|
|
//Favored Class: Sorcerer
|
|
AddSubraceFavoredClass("wild-elf", CLASS_TYPE_SORCERER, CLASS_TYPE_SORCERER);
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Elf - Wood :::::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Elf-Wood
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Strength +2
|
|
//Decreased Ability Score: Charisma -2
|
|
//Decreased Ability Score: Intelligence -2
|
|
|
|
|
|
//Must be: Elf
|
|
CreateSubrace(RACIAL_TYPE_ELF, "wood-elf", "sha_pc_elfwood", "");
|
|
|
|
//Favored Class: Ranger
|
|
AddSubraceFavoredClass("wood-elf", CLASS_TYPE_RANGER, CLASS_TYPE_RANGER);
|
|
|
|
|
|
//::::::::::::::::::::::
|
|
//:::SUBRACE: Sun elf::
|
|
//::::::::::::::::::::::
|
|
//Must be Elf
|
|
CreateSubrace(RACIAL_TYPE_ELF, "sun-elf", "sha_pc_sunelf", "");
|
|
|
|
//::::::::::::::::::::::
|
|
//:::SUBRACE: Gray elf::
|
|
//::::::::::::::::::::::
|
|
//Must be Elf
|
|
CreateSubrace(RACIAL_TYPE_ELF, "gray-elf", "sha_pc_grayelf", "");
|
|
|
|
|
|
|
|
//::::::::::::::::::::::
|
|
//:::SUBRACE: Dark elf::
|
|
//::::::::::::::::::::::
|
|
//Must be Elf
|
|
CreateSubrace(RACIAL_TYPE_ELF, "dark-elf", "sha_pc_drow", "sha_subrace_drow", TRUE, 0, FALSE, 0, 1);
|
|
//Can also be Half-elf
|
|
AddAdditionalBaseRaceToSubrace("dark-elf", RACIAL_TYPE_HALFELF);
|
|
//Can't be evil
|
|
CreateSubraceAlignmentRestriction("dark-elf", TRUE, TRUE, FALSE);
|
|
//SR base: 10, Max 30
|
|
CreateSubraceSpellResistance("dark-elf", 10, 30);
|
|
|
|
//Favored Class - Male: Rogue, Female: Cleric.
|
|
AddSubraceFavoredClass("dark-elf", CLASS_TYPE_ROGUE, CLASS_TYPE_CLERIC);
|
|
|
|
|
|
//-----------------------HUMAN SUBRACES-----------------------------------
|
|
|
|
//::::::::::::::::::::::::::::::::::::
|
|
//::::: SUBRACE: Undead - Lich :::::::
|
|
//::::::::::::::::::::::::::::::::::::
|
|
|
|
//This is an example of how you can equip different skins on Players at different level.
|
|
//So that you do not necessarily have to give all subrace feats at once.
|
|
|
|
|
|
//Subrace Name: Lich
|
|
|
|
//Properties from the Skin:
|
|
//Level 1:
|
|
//Ability Bonus: Charisma +2
|
|
//Ability Bonus: Intelligence +2
|
|
//Ability Bonus: Wisdom +2
|
|
//Damage Reduction: +1 Soak 15 Damage
|
|
//Turn Resistance +4
|
|
//Immunity: Damage Type: Cold 100% Immunity Bonus
|
|
//Immunity: Damage Type: Electrical 100% Immunity Bonus
|
|
|
|
//Level 5:
|
|
//Gains - Immunity: Miscellaneous: Disease
|
|
|
|
//Level 10:
|
|
//Gains - Immunity: Miscellaneous: Poison
|
|
|
|
//Level 15:
|
|
//Gains - Immunity: Miscellaneous: Paralysis
|
|
|
|
//Level 20:
|
|
//Gains - Immunity: Miscellaneous: Level/Ability Drain
|
|
|
|
//Level 25:
|
|
//Gains - Immunity: Miscellaneous: Mind-Affecting Spells
|
|
|
|
//Level 30:
|
|
//Gains - Immunity: Miscellaneous: Death Magic
|
|
|
|
//Level 35:
|
|
//Gains - Immunity: Miscellaneous: Sneak Attack
|
|
|
|
//Level 40:
|
|
//Gains - Immunity: Miscellaneous: Critical Hits
|
|
|
|
|
|
//Abilities from the unique item:
|
|
//Cast Spell: Destruction (13) 1 Use/Day
|
|
//Cast Spell: Vampiric Touch (5) 1 Use/Day
|
|
|
|
//Human. Light Sensitive. Takes 5 Divine Damage While in Sunlight.
|
|
//ECL: + 3
|
|
//Undead
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "lich", "sha_pc_lich", "sha_subrace_lich", TRUE, 4, FALSE, 0, 3, TRUE);
|
|
|
|
//The different skins to be equipped at different levels...
|
|
AddAdditionalSkinsToSubrace("lich", "sha_pc_lich1", 5);
|
|
AddAdditionalSkinsToSubrace("lich", "sha_pc_lich2", 10);
|
|
AddAdditionalSkinsToSubrace("lich", "sha_pc_lich3", 15);
|
|
AddAdditionalSkinsToSubrace("lich", "sha_pc_lich4", 20);
|
|
AddAdditionalSkinsToSubrace("lich", "sha_pc_lich5", 25);
|
|
AddAdditionalSkinsToSubrace("lich", "sha_pc_lich6", 30);
|
|
AddAdditionalSkinsToSubrace("lich", "sha_pc_lich7", 35);
|
|
AddAdditionalSkinsToSubrace("lich", "sha_pc_lich8", 40);
|
|
|
|
//Alignment Restriction - Must be Evil.
|
|
CreateSubraceAlignmentRestriction("lich", FALSE, FALSE, TRUE);
|
|
|
|
//Class Restriction - Can only be Wizard or Sorcerer.
|
|
CreateSubraceClassRestriction("lich", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE);
|
|
|
|
//Spell Resistance: 10 + 1/2 Per Level.
|
|
CreateSubraceSpellResistance("lich", 10, 30);
|
|
|
|
//Appearance: Skeleton - Permanent. 1-19
|
|
CreateSubraceAppearance("lich", TIME_BOTH, APPEARANCE_TYPE_SKELETON_MAGE, APPEARANCE_TYPE_SKELETON_MAGE, 1);
|
|
|
|
//Appearance: Lich - Permanent. 20-39
|
|
CreateSubraceAppearance("lich", TIME_BOTH, APPEARANCE_TYPE_LICH, APPEARANCE_TYPE_HEURODIS_LICH, 20);
|
|
|
|
//Appearance: Demi-Lich - Permanent. 40
|
|
CreateSubraceAppearance("lich", TIME_BOTH, APPEARANCE_TYPE_DEMI_LICH, APPEARANCE_TYPE_DEMI_LICH, 40);
|
|
|
|
//Favored Class: Wizard
|
|
AddSubraceFavoredClass("lich", CLASS_TYPE_WIZARD, CLASS_TYPE_WIZARD);
|
|
|
|
|
|
//::::::::::::::::::::::
|
|
//:::SUBRACE: Vampire ::
|
|
//::::::::::::::::::::::
|
|
|
|
//Subrace Name: Vampire
|
|
|
|
//Properties from the Skin:
|
|
|
|
//Level 1:
|
|
//Damage Vulnerability: Divine 100% Damage Vulnerability
|
|
//Darkvision
|
|
//Decreased Ability Score: Charisma -2
|
|
//Decreased Saving Throws: Divine -5
|
|
//Regeneration +1
|
|
|
|
//Level 5:
|
|
//Gains - Immunity: Miscellaneous: Paralysis
|
|
|
|
//Level 10:
|
|
//Gains - Immunity: Miscellaneous: Poison
|
|
|
|
//Level 15:
|
|
//Gains - Immunity: Miscellaneous: Disease
|
|
|
|
//Level 20:
|
|
//Gains - Immunity: Miscellaneous: Death Magic
|
|
// Regeneration Increases by +1
|
|
|
|
//Level 25:
|
|
//Gains - Immunity: Miscellaneous: Level/Ability Drain
|
|
|
|
//Level 30:
|
|
//Gains - Immunity: Miscellaneous: Mind-Affecting Spells
|
|
|
|
//Level 35:
|
|
//Gains - Immunity: Miscellaneous: Sneak Attack
|
|
|
|
|
|
//Level 40:
|
|
//Gains - Immunity: Miscellaneous: Critical Hits
|
|
// Regeneration Increases by +1
|
|
|
|
//NOTE: Final Regeneration rate (At Level 40) is +3.
|
|
|
|
|
|
//Human. Light Sensitive. Takes 2 Divine Damage while in Sunlight.
|
|
//ECL: + 3
|
|
//Undead
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "vampire", "sha_pc_vamp001", "sha_subrace_vamp", TRUE, 2, FALSE, 0, 3, TRUE);
|
|
|
|
//Skins that are equipped at certain levels...
|
|
AddAdditionalSkinsToSubrace("vampire", "sha_pc_vamp002", 5);
|
|
AddAdditionalSkinsToSubrace("vampire", "sha_pc_vamp003", 10);
|
|
AddAdditionalSkinsToSubrace("vampire", "sha_pc_vamp004", 15);
|
|
AddAdditionalSkinsToSubrace("vampire", "sha_pc_vamp005", 20);
|
|
AddAdditionalSkinsToSubrace("vampire", "sha_pc_vamp006", 25);
|
|
AddAdditionalSkinsToSubrace("vampire", "sha_pc_vamp007", 30);
|
|
AddAdditionalSkinsToSubrace("vampire", "sha_pc_vamp008", 35);
|
|
AddAdditionalSkinsToSubrace("vampire", "sha_pc_vamp", 40);
|
|
|
|
//Alignment Restriction: Can only be evil.
|
|
CreateSubraceAlignmentRestriction("vampire", FALSE, FALSE, TRUE);
|
|
|
|
//Appearance: Change the Appearance to a Vampire during night time, and revert back to normal during day time.
|
|
CreateSubraceAppearance("vampire", TIME_NIGHT, APPEARANCE_TYPE_VAMPIRE_MALE, APPEARANCE_TYPE_VAMPIRE_FEMALE, 1);
|
|
|
|
//Appearance: Vampire... but now controlable at level 20.
|
|
CreateSubraceAppearance("vampire", TIME_NONE, APPEARANCE_TYPE_VAMPIRE_MALE, APPEARANCE_TYPE_VAMPIRE_FEMALE, 20);
|
|
|
|
//Give the vampire the appearance control item at level 20.
|
|
AddSubraceItem("vampire", "sha_vamp_control", 20);
|
|
|
|
struct SubraceStats VampStats = CreateCustomStats(SUBRACE_STAT_MODIFIER_TYPE_PERCENTAGE, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.15, -0.20);
|
|
CreateTemporaryStatModifier("vampire", VampStats, TIME_DAY);
|
|
|
|
//Temporary Stats: Bonuses at Night time.
|
|
struct SubraceStats VampStats1 = CreateCustomStats(SUBRACE_STAT_MODIFIER_TYPE_PERCENTAGE, 0.20, 0.20, 0.20, 0.0, 0.0, 0.20, 0.0, 0.10);
|
|
CreateTemporaryStatModifier("vampire", VampStats1, TIME_NIGHT);
|
|
|
|
//Favored Class: Rogue.
|
|
AddSubraceFavoredClass("vampire", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE);
|
|
|
|
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Human - Aasimar :::::
|
|
//:::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Aasimar
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Charisma +2
|
|
//Ability Bonus: Wisdom +2
|
|
//Damage Resistance: Acid Resist 5 / -
|
|
//Damage Resistance: Cold Resist 5 / -
|
|
//Damage Resistance: Electrical Resist 5 / -
|
|
//Darkvision
|
|
//Saving Throw Bonus: Universal +2
|
|
//Skill Bonus: Listen +2
|
|
//Skill Bonus: Spot +2
|
|
|
|
//Abilities from the unique item:
|
|
//Cast Spell: Light (5) 1 Use/Per Day
|
|
|
|
//Must be: Human
|
|
//ECL: + 1
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "aasimar", "sha_pc_aasimar", "sha_subrace_aasi", FALSE, 0, FALSE, 0, 1);
|
|
|
|
//Alignment Restriction: Good
|
|
CreateSubraceAlignmentRestriction("aasimar", TRUE, FALSE, FALSE);
|
|
|
|
//Favored Class: Paladin
|
|
AddSubraceFavoredClass("aasimar", CLASS_TYPE_PALADIN, CLASS_TYPE_PALADIN);
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Human - Tiefling ::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Tiefling
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Dexterity +2
|
|
//Ability Bonus: Intelligence +2
|
|
//Damage Resistance: Cold Resist 5 / -
|
|
//Damage Resistance: Electrical Resist 5 / -
|
|
//Damage Resistance: Fire Resist 5 / -
|
|
//Darkvision
|
|
//Decreased Ability Score: Charisma -2
|
|
//Skill Bonus: Bluff +2
|
|
//Skill Bonus: Hide +2
|
|
|
|
//Abilities from the unique item:
|
|
//Cast Spell: Darkness (3) 1 Use/Per Day
|
|
|
|
|
|
//Must be: Human
|
|
//ECL: + 1
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "tiefling", "sha_pc_tiefling", "sha_subrace_tief", FALSE, 0, FALSE, 0, 1);
|
|
|
|
//Alignment Restriction: Evil
|
|
CreateSubraceAlignmentRestriction("tiefling", FALSE, FALSE, TRUE);
|
|
|
|
//Favored Class: Rogue
|
|
AddSubraceFavoredClass("tiefling", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE);
|
|
|
|
|
|
//:::::::::::::::::::::
|
|
//:::SUBRACE: Werecat::
|
|
//:::::::::::::::::::::
|
|
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "werecat", "sha_pc_werecat", "", FALSE, 0, FALSE, 0, 2);
|
|
|
|
CreateSubraceAppearance("werecat", TIME_NIGHT, APPEARANCE_TYPE_WERECAT, APPEARANCE_TYPE_WERECAT);
|
|
|
|
CreateSubraceAlignmentRestriction("werecat", TRUE, TRUE, TRUE, FALSE);
|
|
|
|
struct SubraceStats WereStats = CreateCustomStats(SUBRACE_STAT_MODIFIER_TYPE_POINTS, 0.0, 0.0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0);
|
|
CreateTemporaryStatModifier("werecat", WereStats, TIME_DAY);
|
|
|
|
struct SubraceStats WereStats1 = CreateCustomStats(SUBRACE_STAT_MODIFIER_TYPE_POINTS, 6.0, 4.0, 4.0, 0.0, -4.0, -2.0, 0.0, 0.0);
|
|
CreateTemporaryStatModifier("werecat", WereStats1, TIME_NIGHT);
|
|
|
|
//Appearance no longer changes, but the player will get a control item.
|
|
CreateSubraceAppearance("werecat", TIME_NONE, APPEARANCE_TYPE_WERECAT, APPEARANCE_TYPE_WERECAT, 20);
|
|
AddSubraceItem("werecat", "sha_werecat_app", 20);
|
|
|
|
//:: A special code in 'sha_subr_methds' makes sure that these restrictions only apply when
|
|
//:: the werecat is in werecat appearance.
|
|
SubraceRestrictUseOfItems("werecat", ITEM_TYPE_WEAPON_RANGED, TIME_BOTH);
|
|
|
|
|
|
|
|
//Favored Class: Barbarian
|
|
AddSubraceFavoredClass("werecat", CLASS_TYPE_BARBARIAN, CLASS_TYPE_BARBARIAN);
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Human - Air Genasi ::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Air-Genasi
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Dexterity +2
|
|
//Ability Bonus: Intelligence +2
|
|
//Darkvision
|
|
//Decreased Ability Score: Charisma -2
|
|
//Decreased Ability Score: Wisdom -2
|
|
|
|
//Must be: Human
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "air-genasi", "sha_pc_airgenasi");
|
|
|
|
//Favored Class: Fighter
|
|
AddSubraceFavoredClass("air-genasi", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER);
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Human - Earth Genasi ::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Earth-Genasi
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Constitution +2
|
|
//Ability Bonus: Strength +2
|
|
//Darkvision
|
|
//Decreased Ability Score: Charisma -2
|
|
//Decreased Ability Score: Wisdom -2
|
|
|
|
//Must be: Human
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "earth-genasi", "sha_pc_earthgena");
|
|
|
|
//Favored Class: Fighter
|
|
AddSubraceFavoredClass("earth-genasi", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER);
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Human - Fire Genasi :::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Fire-Genasi
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Intelligence +2
|
|
//Darkvision
|
|
//Decreased Ability Score: Charisma -2
|
|
|
|
//Must be: Human
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "fire-genasi", "sha_pc_firegenas");
|
|
|
|
//Favored Class: Fighter
|
|
AddSubraceFavoredClass("fire-genasi", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER);
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Human - Water Genasi ::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Water-Genasi
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Constitution +2
|
|
//Darkvision
|
|
//Decreased Ability Score: Charisma -2
|
|
//Immunity: Specific Spell Drown
|
|
|
|
//Must be: Human
|
|
CreateSubrace(RACIAL_TYPE_HUMAN, "water-genasi", "sha_pc_watergena");
|
|
|
|
//Favored Class: Fighter
|
|
AddSubraceFavoredClass("water-genasi", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER);
|
|
|
|
|
|
|
|
|
|
//------------------------------HALFING SUBRACES----------------------------
|
|
//::::::::::::::::::::::::::::::::::
|
|
//:::SUBRACE: Strongheart Halfling::
|
|
//::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "strongheart", "sha_pc_strhearth", "");
|
|
|
|
//::::::::::::::::::::::::::::::::::
|
|
//:::SUBRACE: Lightfoot Halfling::
|
|
//::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "lightfoot", "sha_pc_lfhalflin", "");
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Ghostwise ::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Ghostwise
|
|
|
|
//Must be: Halfling.
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "ghostwise", "none");
|
|
|
|
//Favored Class: Barbarian.
|
|
AddSubraceFavoredClass("ghostwise", CLASS_TYPE_BARBARIAN, CLASS_TYPE_BARBARIAN);
|
|
|
|
//::::::::::::::::::::::::::::::::::
|
|
//:::SUBRACE: Imp::
|
|
//::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "imp", "sha_pc_imp", "");
|
|
//can only be Wizard, Sorcerer or Rogue.
|
|
CreateSubraceClassRestriction("imp", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE);
|
|
//Apearance: Imp!
|
|
int Appearance = APPEARANCE_TYPE_IMP;
|
|
CreateSubraceAppearance("imp", TIME_BOTH, Appearance, Appearance);
|
|
//Can only be chaotic-evil
|
|
CreateSubraceAlignmentRestriction("imp", FALSE, FALSE, TRUE, FALSE, FALSE, TRUE);
|
|
AddSubraceFavoredClass("imp", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE);
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Deep :::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Deep
|
|
|
|
//Properties from the Skin:
|
|
//Darkvision
|
|
//Skill Bonus: Search +2
|
|
|
|
//Must be: Halfling.
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "deep", "sha_pc_deep");
|
|
|
|
|
|
|
|
|
|
//----------------------------GNOME SUBRACES---------------------------------
|
|
//::::::::::::::::::::::::
|
|
//:: SUBRACE: Deep Gnome::
|
|
//::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_GNOME, "svirfneblin", "sha_pc_deepgnome", "sha_subrace_dgno", TRUE, 0, FALSE, 0, 3);
|
|
//Can only be neutral
|
|
CreateSubraceAlignmentRestriction("svirfneblin", FALSE, TRUE, FALSE);
|
|
//SR base: 10, Max 32
|
|
CreateSubraceSpellResistance("svirfneblin", 10, 32);
|
|
|
|
//:::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Gnome - Tinker ::::::
|
|
//:::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Tinker
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Intelligence +2
|
|
//Decreased Ability Score: Wisdom -2
|
|
//Skill Bonus: Appraise +2
|
|
//Skill Bonus: Craft Armor +4
|
|
//Skill Bonus: Craft Trap +4
|
|
//Skill Bonus: Craft Weapon +4
|
|
//Skill Bonus: Disable Trap +2
|
|
//Skill Bonus: Open Lock +2
|
|
//Skill Bonus: Set Trap +2
|
|
//Skill Bonus: Use Magic Device +4
|
|
|
|
//Must be: Gnome.
|
|
CreateSubrace(RACIAL_TYPE_GNOME, "tinker", "sha_pc_tinker");
|
|
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Gnome - Svirfneblin :::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Svirfneblin
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Dexterity +2
|
|
//Ability Bonus: Wisdom +2
|
|
//Bonus Feat: Dodge
|
|
//Darkvision
|
|
//Decreased Ability Score: Charisma -4
|
|
//Saving Throw Bonus: Universal +2
|
|
//Skill Bonus: Search +2
|
|
|
|
//Abilities from the unique item:
|
|
//Cast Spell: Blindness/Deafness (3) 1 Use/Day
|
|
|
|
//Must be: Gnome.
|
|
//Light Sensitive.
|
|
//ECL: + 2
|
|
CreateSubrace(RACIAL_TYPE_GNOME, "svirfneblin", "sha_pc_svirfnebl", "sha_subrace_svir", TRUE, 0, FALSE, 2);
|
|
|
|
//Spell Resistance: 10 + 1 Per Level.
|
|
CreateSubraceSpellResistance("svirfneblin", 10, 50);
|
|
|
|
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Dwarf - Wild ::::::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Dwarf-Wild.
|
|
|
|
//Properties from the Skin:
|
|
//AC Bonus +1
|
|
//Bonus Feat: Use Poison
|
|
//Damage Resistance: Fire Resist 5 / -
|
|
//Saving Throw Bonus: Disease +4
|
|
//Saving Throw Bonus: Poison +1
|
|
//Skill Bonus: Hide +4
|
|
|
|
//Must be: Dwarf.
|
|
CreateSubrace(RACIAL_TYPE_DWARF, "wild-dwarf", "sha_pc_dwarfwild", "");
|
|
|
|
//Favored class: Barbarian.
|
|
AddSubraceFavoredClass("wild-dwarf", CLASS_TYPE_BARBARIAN, CLASS_TYPE_BARBARIAN);
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Dwarf - Artic :::::::::
|
|
//:::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Dwarf-Artic.
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Strength +4
|
|
//AC Bonus +1
|
|
//Decreased Ability Score: Dexterity -2
|
|
//Immunity: Damage Type: Cold 100% Immunity Bonus
|
|
//Skill Bonus: Hide +4
|
|
|
|
//Must be: Dwarf.
|
|
//ECL: + 1
|
|
CreateSubrace(RACIAL_TYPE_DWARF, "artic", "sha_pc_dwarfarti", "", FALSE, 0, FALSE, 0, 1);
|
|
|
|
//Favored class: Ranger.
|
|
AddSubraceFavoredClass("artic", CLASS_TYPE_RANGER, CLASS_TYPE_RANGER);
|
|
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Dwarf - Azer ::::::::
|
|
//:::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Azer
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Dexterity +2
|
|
//Ability Bonus: Intelligence +2
|
|
//Ability Bonus: Strength +2
|
|
//Ability Bonus: Wisdom +2
|
|
//AC Bonus +6
|
|
//Damage Vulnerability: Cold 50% Damage Vulnerability
|
|
//Darkvision
|
|
//Immunity: Damage Type: Fire 100% Immunity Bonus
|
|
|
|
//Must be: Dwarf
|
|
//ECL: + 3
|
|
CreateSubrace(RACIAL_TYPE_DWARF, "azer", "sha_pc_azer", "", FALSE, 0, FALSE, 0, 3);
|
|
|
|
//Appearance: Azer - Permanent.
|
|
CreateSubraceAppearance("azer", TIME_BOTH, APPEARANCE_TYPE_AZER_MALE, APPEARANCE_TYPE_AZER_FEMALE);
|
|
|
|
//Spell Resistance: 13 + 1/2 Per Level.
|
|
CreateSubraceSpellResistance("azer", 13, 32);
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Half-Elf - Shadow :::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Shadow
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Intelligence +2
|
|
//AC Bonus vs. Alignment Group: Good +1
|
|
//Damage Vulnerability: Positive Energy 25% Damage Vulnerability
|
|
//Darkvision
|
|
//Decreased Ability Score: Charisma -2
|
|
//Immunity: Damage Type: Negative Energy 10% Immunity Bonus
|
|
|
|
//Must be: Half-Elf
|
|
CreateSubrace(RACIAL_TYPE_HALFELF, "shadow", "sha_pc_shadow", "");
|
|
|
|
//Favored Class: Shadow Dancer
|
|
AddSubraceFavoredClass("shadow", CLASS_TYPE_SHADOWDANCER, CLASS_TYPE_SHADOWDANCER);
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Half-Elf - Air-Touched ::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Air-Touched
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Dexterity +2
|
|
//Ability Bonus: Intelligence +2
|
|
//AC Bonus vs. Alignment Group: Lawful +2
|
|
//Damage Vulnerability: Magical 25% Damage Vulnerability
|
|
//Decreased Ability Score: Strength -2
|
|
//Decreased Ability Score: Wisdom -2
|
|
//Immunity: Damage Type: Cold 10% Immunity Bonus
|
|
//Immunity: Damage Type: Electrical 10% Immunity Bonus
|
|
|
|
//Must be: Half-Elf
|
|
CreateSubrace(RACIAL_TYPE_HALFELF, "air-touched", "sha_pc_airtouche", "");
|
|
|
|
//Favored Class: Shadow Dancer
|
|
AddSubraceFavoredClass("air-touched", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE);
|
|
|
|
|
|
|
|
|
|
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Pixie ::::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
|
|
//Subrace Name: Pixie
|
|
|
|
//Properties from the Skin:
|
|
//Ability Bonus: Charisma +6
|
|
//Ability Bonus: Dexterity +8
|
|
//Ability Bonus: Intelligence +6
|
|
//Ability Bonus: Wisdom +4
|
|
//AC Bonus +1
|
|
//Bonus Feat: Dodge
|
|
//Damage Reduction: +1 Soak 5 Damage
|
|
//Darkvision
|
|
//Decreased Ability Score: Constitution -4
|
|
//Decreased Ability Score: Strength -4
|
|
|
|
//Abilities from the unique item:
|
|
//Cast Spell: Confusion (10) 1 Use/Day
|
|
//Cast Spell: Entangle (5) 1 Use/Day
|
|
//Cast Spell: Invisibility (3) 1 Use/Day
|
|
//Cast Spell: Lesser Dispel (5) 1 Use/Day
|
|
//Cast Spell: Polymorph Self (7) 1 Use/Day
|
|
|
|
|
|
//Must be: Halfling.
|
|
//ECL: +3
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "pixie", "sha_pc_pixie", "sha_subrace_pixi", FALSE, 0, FALSE, 0, 3);
|
|
|
|
//Alignment Restriction: Neutral Only.
|
|
CreateSubraceAlignmentRestriction("pixie", FALSE, TRUE, FALSE);
|
|
|
|
//Class Restriction: Can only be either: Bard, Rogue, Sorcerer or Wizard.
|
|
CreateSubraceClassRestriction("pixie", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE);
|
|
|
|
//Favored Class: Sorcerer.
|
|
AddSubraceFavoredClass("pixie", CLASS_TYPE_SORCERER, CLASS_TYPE_SORCERER);
|
|
|
|
//Appearance Change: Permanent - Pixie
|
|
CreateSubraceAppearance("pixie", TIME_BOTH, APPEARANCE_TYPE_FAIRY, APPEARANCE_TYPE_FAIRY);
|
|
|
|
//Effect: Visual Effect - Fairy Dust.
|
|
AddSubraceEffect("pixie", EFFECT_TYPE_VISUALEFFECT, VFX_DUR_PIXIEDUST, FALSE, DURATION_TYPE_PERMANENT, 0.0, TIME_BOTH);
|
|
|
|
//Spell Resistance: Base (at Level 1): 15, Max(at Level 40): 55.
|
|
CreateSubraceSpellResistance("pixie", 15, 55);
|
|
|
|
//Can only use tiny weapons.
|
|
SubraceRestrictUseOfItems("pixie", ITEM_TYPE_WEAPON_SIZE_TINY, TIME_BOTH, TRUE);
|
|
|
|
//Can only wear clothing. Can't use any shields.
|
|
SubraceRestrictUseOfItems("pixie", ITEM_TYPE_ARMOR_TYPE_CLOTH, TIME_BOTH, TRUE);
|
|
|
|
}
|
|
*/
|