261 lines
12 KiB
Plaintext
261 lines
12 KiB
Plaintext
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
//:::::::::::::::::::::::: Shayan's Subrace Engine :::::::::::::::::::::::::::::
|
|
//:::::::::::::::::::::: File Name: sha_leto_sraces2 :::::::::::::::::::::::::::
|
|
//:::::::::::::::::::::::::: OnModuleLoad script :::::::::::::::::::::::::::::::
|
|
// Written By: Shayan
|
|
//
|
|
// Description: This script holds the pre-made Elf, Half-Elf and Gnome sub races
|
|
// listed here: Elf-Wood, Elf-Drow, Elf-Drider, Elf-Nymph, Half-Elf Air-Touched,
|
|
// Half-Elf Half-Drow, Half-Elf Half-High, Half-Elf Shadow, Half-Elf Satyr
|
|
// Gnome-Forest
|
|
//
|
|
// If you do not want to use these, simply comment the lines:
|
|
// DelayCommand(3.0, ExecuteScript("sha_leto_sraces2", GetModule()));
|
|
// in the script: sha_on_modload.
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#include "sha_subr_methds"
|
|
void main()
|
|
{
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Elf - Wood ECL 0 :::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_ELF, "Elf-Wood");
|
|
SetupSubraceAlias("Elf-Wood", "wood elf");
|
|
SetupSubraceAlias("Elf-Wood", "wood-elf");
|
|
|
|
//LETO - Change ability scores: (Str +2, Dex, Con, Int -2, Wis, Cha -2)
|
|
struct SubraceBaseStatsModifier ElfWoodStats = CustomBaseStatsModifiers(2, 0, 0, -2, 0, -2, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Elf-Wood", ElfWoodStats, 1);
|
|
|
|
//LETO - Skills: Animal Empathy +4, Craft Trap +2
|
|
ModifySubraceSkill("Elf-Wood", SKILL_ANIMAL_EMPATHY, 4, 1, FALSE);
|
|
ModifySubraceSkill("Elf-Wood", SKILL_CRAFT_TRAP, 2, 1, FALSE);
|
|
|
|
//LETO - Bonus Feats: Alertness
|
|
ModifySubraceFeat("Elf-Wood", FEAT_ALERTNESS, 1);
|
|
|
|
//Favored Class: Ranger
|
|
AddSubraceFavoredClass("Elf-Wood", CLASS_TYPE_RANGER, CLASS_TYPE_RANGER);
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Elf - Drow ECL +2 ::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: Will +2
|
|
//Abilities from the unique item: Cast Spell Darkness (5) 1/Day, Cast Spell Light () 1/Day
|
|
//Light Sensitive
|
|
CreateSubrace(RACIAL_TYPE_ELF, "Drow", "sha_pcl_drow", "sha_subrace_drow", TRUE, 0, FALSE, 0, 2);
|
|
SetupSubraceAlias("Drow", "dark elf");
|
|
|
|
//Appearance: White Hair, Black Skin
|
|
ModifySubraceAppearanceColors("Drow", 16, 16, 30, 30, 1);
|
|
|
|
// Give Faerie Fire - Violet
|
|
AddSubraceItem("Drow","sha_subrace_ff_v");
|
|
|
|
//LETO - Change ability scores: (Str, Dex, Con, Int +2, Wis, Cha +2)
|
|
struct SubraceBaseStatsModifier DrowStats = CustomBaseStatsModifiers(0, 0, 0, 2, 0, 2, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Drow", DrowStats, 1);
|
|
|
|
//LETO - Feats: Darkvision
|
|
ModifySubraceFeat("Drow", FEAT_DARKVISION, 1);
|
|
|
|
//LETO - Skills: Move Silently +2, Hide +2
|
|
ModifySubraceSkill("Drow", SKILL_MOVE_SILENTLY, 2, 1, FALSE);
|
|
ModifySubraceSkill("Drow", SKILL_HIDE, 2, 1, FALSE);
|
|
|
|
//Favored Class - Male: Wizard, Female: Cleric
|
|
AddSubraceFavoredClass("Drow", CLASS_TYPE_WIZARD, CLASS_TYPE_CLERIC);
|
|
|
|
//Alignment Restriction: 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 - Drider ECL +7 ::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: Will +2
|
|
//Abilities from the unique item: Cast Spell Darkness (5) 1/Day, Cast Spell Light () 1/Day
|
|
//Poison : Drider Bite
|
|
//Light Sensitive
|
|
CreateSubrace(RACIAL_TYPE_ELF, "Drider", "sha_pcl_drider", "sha_subrace_drid", TRUE, 0, FALSE, 0, 7);
|
|
|
|
//LETO - Change ability scores: (Str +4, Dex +4, Con +6, Int +4, Wis +6, Cha +6)
|
|
struct SubraceBaseStatsModifier DriderStats = CustomBaseStatsModifiers(4, 4, 6, 4, 6, 6, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Drider", DriderStats, 1);
|
|
|
|
//LETO - Bonus Feats: Darkvision
|
|
ModifySubraceFeat("Drider", FEAT_DARKVISION, 1);
|
|
|
|
//LETO - Bonus Skills: Hide +4, Silently +4
|
|
ModifySubraceSkill("Drider", SKILL_HIDE, 4, 1, FALSE);
|
|
ModifySubraceSkill("Drider", SKILL_MOVE_SILENTLY, 4, 1, FALSE);
|
|
|
|
//Favored Class - Male: Wizard, Female: Cleric
|
|
AddSubraceFavoredClass("Drider", CLASS_TYPE_WIZARD, CLASS_TYPE_CLERIC);
|
|
|
|
//Alignment Restriction: Can only be evil
|
|
CreateSubraceAlignmentRestriction("Drider", FALSE, FALSE, TRUE);
|
|
|
|
//Spell Resistance: Base (at Level 1): 10, Max(at Level 40): 50.
|
|
CreateSubraceSpellResistance("Drider", 10, 50);
|
|
|
|
//Appearance is permanently changed to Driders (male is different from female)
|
|
CreateSubraceAppearance("Drider", TIME_BOTH, APPEARANCE_TYPE_DRIDER, APPEARANCE_TYPE_DRIDER_FEMALE);
|
|
|
|
// Give Faerie Fire - Violet
|
|
AddSubraceItem("Drider","sha_subrace_ff_v");
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Elf - Nymph ECL +6 ::::::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: AC+5, Damage Reduction 10/+1
|
|
//Abilities from Unique Item: Cast Displacement 1/Day
|
|
CreateSubrace(RACIAL_TYPE_ELF, "Nymph", "sha_pcl_nymph", "sha_subrace_nymp", FALSE, 0 , FALSE, 0, 6);
|
|
|
|
//LETO - Change ability scores: (Str, Dex +6, Con +2, Int +6, Wis +6, Cha +8)
|
|
struct SubraceBaseStatsModifier NymphStats = CustomBaseStatsModifiers(0, 6, 2, 6, 6, 8, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Nymph", NymphStats, 1);
|
|
|
|
ModifySubraceFaction("Nymph", "FACTION_DRYAD", SUBRACE_FACTION_REPUTATION_FRIENDLY);
|
|
|
|
//LETO - Bonus Feats: Darkvision
|
|
ModifySubraceFeat("Nymph", FEAT_DARKVISION, 1);
|
|
|
|
//LETO - Bonus Skills: Animal Empath +6
|
|
ModifySubraceSkill("Nymph", SKILL_ANIMAL_EMPATHY, 6, 1, FALSE);
|
|
|
|
//Favored Class: Sorcerer
|
|
AddSubraceFavoredClass("Nymph", CLASS_TYPE_SORCERER, CLASS_TYPE_SORCERER);
|
|
|
|
//Appearance: Nymph - Permanent
|
|
CreateSubraceAppearance("Nymph", TIME_BOTH, APPEARANCE_TYPE_NYMPH, APPEARANCE_TYPE_NYMPH);
|
|
|
|
//Alignment Restriction: Chaotic Good Only
|
|
CreateSubraceAlignmentRestriction("Nymph", TRUE, FALSE, TRUE, FALSE, FALSE, TRUE);
|
|
|
|
// Gender : Female Only
|
|
CreateSubraceGenderRestriction("Nymph",FALSE,TRUE);
|
|
//:::::::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Half-Elf - Air-Touched ECL 0 ::
|
|
//:::::::::::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: AC Bonus vs. Alignment Group Lawful +2
|
|
// Magical 25% Damage Vulnerability, Cold 10% Immunity Bonus, Electrical 10% Immunity Bonus
|
|
CreateSubrace(RACIAL_TYPE_HALFELF, "Air-Touched", "sha_pcl_airtouch");
|
|
SetupSubraceAlias("Air-Touched", "air touched");
|
|
|
|
//Appearance: Hair: lightest gray 16, Skin: light blue 20
|
|
ModifySubraceAppearanceColors("Air-Touched",16,16,20,20);
|
|
|
|
//Alignment Restriction: Can only be evil
|
|
CreateSubraceAlignmentRestriction("Air-Touched", FALSE, FALSE, TRUE);
|
|
|
|
//LETO - Change ability scores: (Str -2, Dex +2, Con, Int +2, Wis -2, Cha)
|
|
struct SubraceBaseStatsModifier AirTouchedStats = CustomBaseStatsModifiers(-2, 2, 0, 2, -2, 0, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Air-Touched", AirTouchedStats, 1);
|
|
|
|
//Favored Class: Shadow Dancer
|
|
AddSubraceFavoredClass("Air-Touched", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE);
|
|
//:::::::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Half-Elf - Half-Drow ECL 0 ::::
|
|
//:::::::::::::::::::::::::::::::::::::::::::::
|
|
//Abilities from the unique item: Cast Spell Darkness (5) 1/Day, Cast Spell Light (5) 1/Day
|
|
CreateSubrace(RACIAL_TYPE_HALFELF, "Half-Drow", "sha_pcl_hlfdrow", "sha_sbr_hlfdrow", TRUE, 0, FALSE, 0, 1);
|
|
|
|
//LETO - Change ability scores: (Str, Dex, Con, Int +1, Wis, Cha +1)
|
|
struct SubraceBaseStatsModifier HalfDrowStats = CustomBaseStatsModifiers(0, 0, 0, 1, 0, 1, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Half-Drow", HalfDrowStats, 1);
|
|
|
|
//LETO - Bonus Skills: Hide +1, Move Silently +1
|
|
ModifySubraceSkill("Half-Drow", SKILL_HIDE, 1, 1, FALSE);
|
|
ModifySubraceSkill("Half-Drow", SKILL_MOVE_SILENTLY, 1, 1, FALSE);
|
|
|
|
//LETO - Bonus Feats: Darkvision
|
|
ModifySubraceFeat("Half-Drow", FEAT_DARKVISION, 1);
|
|
|
|
//Spell Resistance: Base (at Level 1): 10, Max(at Level 40): 50.
|
|
CreateSubraceSpellResistance("Half-Drow", 10, 10);
|
|
|
|
//Appearance: White Hair, Grey Skin
|
|
ModifySubraceAppearanceColors("Half-Drow", 16, 16, 43, 43, 1);
|
|
|
|
// Give Faerie Fire - Violet
|
|
AddSubraceItem("Half-Drow","sha_subrace_ff_v");
|
|
//:::::::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Half-Elf - Half-High ECL 0 ::::
|
|
//:::::::::::::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_HALFELF, "Half-Elf-High");
|
|
SetupSubraceAlias("Half-Elf-High", "Half-High");
|
|
SetupSubraceAlias("Half-Elf-High", "Half-High Elf");
|
|
SetupSubraceAlias("Half-Elf-High", "High Half-Elf");
|
|
|
|
//LETO - Change ability scores: (Str -1, Dex, Con, Int +1, Wis, Cha +1)
|
|
struct SubraceBaseStatsModifier HalfElfHighStats = CustomBaseStatsModifiers(-1, 0, 0, 1, 0, 1, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Half-Elf-High", HalfElfHighStats, 1);
|
|
|
|
//LETO - Bonus Skills: Concentration +2, Lore +2, Spellcraft +2
|
|
ModifySubraceSkill("Half-Elf-High", SKILL_CONCENTRATION, 2, 1, FALSE);
|
|
ModifySubraceSkill("Half-Elf-High", SKILL_LORE, 2, 1, FALSE);
|
|
ModifySubraceSkill("Half-Elf-High", SKILL_SPELLCRAFT, 2, 1, FALSE);
|
|
//::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Half-Elf - Shadow ECL 0 ::
|
|
//::::::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: AC Bonus vs. Alignment Group: Good +1
|
|
//Positive Energy 25% Damage Vulnerability, Negative Energy 10% Immunity Bonus
|
|
CreateSubrace(RACIAL_TYPE_HALFELF, "Shadow", "sha_pcl_shadow", "");
|
|
|
|
//Alignment Restriction: Can only be evil
|
|
CreateSubraceAlignmentRestriction("Shadow", FALSE, FALSE, TRUE);
|
|
|
|
//LETO - Bonus Feats: Darkvision
|
|
ModifySubraceFeat("Shadow", FEAT_DARKVISION, 1);
|
|
|
|
//LETO - Change ability scores: (Str, Dex, Con, Int +2, Wis, Cha -2)
|
|
struct SubraceBaseStatsModifier ShadowStats = CustomBaseStatsModifiers(0, 0, 0, 2, 0, -2, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Shadow", ShadowStats, 1);
|
|
|
|
//Favored Class: Shadow Dancer
|
|
AddSubraceFavoredClass("Shadow", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE);
|
|
//::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Half-Elf - Satyr ECL +5 ::
|
|
//::::::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: AC +4
|
|
CreateSubrace(RACIAL_TYPE_HALFELF, "Satyr", "sha_pcl_satyr", "", FALSE, 0, FALSE, 0, 5);
|
|
|
|
//LETO - Change ability scores: (Str, Dex +2, Con +2, Int +2, Wis +2, Cha +2)
|
|
//Make Fast as Satyr Model is Slower
|
|
struct SubraceBaseStatsModifier SatyrStats = CustomBaseStatsModifiers(0, 2, 2, 2, 2, 2, MOVEMENT_SPEED_FAST);
|
|
CreateBaseStatModifier("Satyr", SatyrStats, 1);
|
|
|
|
//LETO - Bonus Feats: Darkvision
|
|
ModifySubraceFeat("Satyr", FEAT_DARKVISION, 1);
|
|
|
|
//LETO - Bonus Skills: Hide +4, move silent +4, listen +4, perform +4, spot +4
|
|
ModifySubraceSkill("Satyr", SKILL_HIDE, 4, 1, FALSE);
|
|
ModifySubraceSkill("Satyr", SKILL_LISTEN, 4, 1, FALSE);
|
|
ModifySubraceSkill("Satyr", SKILL_MOVE_SILENTLY, 4, 1, FALSE);
|
|
ModifySubraceSkill("Satyr", SKILL_PERFORM, 4, 1, FALSE);
|
|
ModifySubraceSkill("Satyr", SKILL_SPOT, 4, 1, FALSE);
|
|
|
|
//Favored Class: Bard
|
|
AddSubraceFavoredClass("Satyr", CLASS_TYPE_BARD, CLASS_TYPE_BARD);
|
|
|
|
//Appearance: Satyr - Permanent
|
|
CreateSubraceAppearance("Satyr", TIME_BOTH, 143, 143);
|
|
|
|
// Gender : Male Only
|
|
CreateSubraceGenderRestriction("Satyr",TRUE,FALSE);
|
|
//:::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Gnome - Forest ECL 0 ::
|
|
//:::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: AC bonus vs Goblinoid +1, AC bonus vs Orc +1, AC bonus vs Reptillian +1
|
|
CreateSubrace(RACIAL_TYPE_GNOME, "Gnome-Forest", "sha_pcl_forest");
|
|
SetupSubraceAlias("Gnome-Forest", "Forest Gnome");
|
|
|
|
//LETO - Bonus Skills: Hide +4
|
|
ModifySubraceSkill("Gnome-Forest", SKILL_HIDE, 4, 1, FALSE);
|
|
|
|
//Favored Class: Wizard, Cleric
|
|
AddSubraceFavoredClass("Gnome-Forest", CLASS_TYPE_WIZARD, CLASS_TYPE_WIZARD);
|
|
AddSubraceFavoredClass("Gnome-Forest", CLASS_TYPE_CLERIC, CLASS_TYPE_CLERIC);
|
|
}
|