205 lines
9.0 KiB
Plaintext
205 lines
9.0 KiB
Plaintext
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
//:::::::::::::::::::::::: Shayan's Subrace Engine :::::::::::::::::::::::::::::
|
|
//:::::::::::::::::::::: File Name: sha_leto_sraces3 :::::::::::::::::::::::::::
|
|
//:::::::::::::::::::::::::: OnModuleLoad script :::::::::::::::::::::::::::::::
|
|
// Written By: Shayan
|
|
//
|
|
// Description: This script holds the pre-made Gnome and Halfling subraces listed
|
|
// here: Gnome-Rock, Gnome-Svirfneblin, Gnome-Tinker, Halfling-Deep,
|
|
// Halfling-Ghostwise, Halfling-Imp, Halfling-Lightfoot, Halfling-Tallfellow,
|
|
// Halfling-Goblin, Halfling-Kobold
|
|
//
|
|
// If you do not want to use these, simply comment the lines:
|
|
// DelayCommand(3.0, ExecuteScript("sha_leto_sraces3", GetModule()));
|
|
// in the script: sha_on_modload.
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#include "sha_subr_methds"
|
|
void main()
|
|
{
|
|
//:::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Gnome - Rock ECL 0 ::
|
|
//:::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_GNOME, "Gnome-Rock", "", "sha_subrace_gnrk", TRUE, 0, FALSE, 0);
|
|
SetupSubraceAlias("Gnome-Rock", "Rock Gnome");
|
|
SetupSubraceAlias("Gnome-Rock", "gnome rock");
|
|
|
|
//LETO - Bonus Feats: Darkvision, Dodge
|
|
ModifySubraceFeat("Gnome-Rock", FEAT_DARKVISION, 1);
|
|
ModifySubraceFeat("Gnome-Rock", FEAT_DODGE, 1);
|
|
|
|
//LETO - Bonus Skills: Animal Empathy +2
|
|
ModifySubraceSkill("Gnome-Rock", SKILL_ANIMAL_EMPATHY, 2, 1, FALSE);
|
|
|
|
// Hair, Skin: stone = 60
|
|
ModifySubraceAppearanceColors("Gnome-Rock",60,60,60,60);
|
|
//:::::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Gnome - Svirfneblin ECL +2 ::
|
|
//:::::::::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: Universal Saves +2
|
|
//Abilities from the unique item: Cast Spell Blindness/Deafness (3) 1/Day
|
|
//Light Sensitive
|
|
CreateSubrace(RACIAL_TYPE_GNOME, "Svirfneblin", "sha_pcl_svirfneb", "sha_subrace_svir", TRUE, 0, FALSE, 2);
|
|
|
|
// Hair, Skin: stone = 60
|
|
ModifySubraceAppearanceColors("Svirfneblin",60,60,60,60);
|
|
|
|
//LETO - Change ability scores:
|
|
//Ability Bonus: Dexterity +2
|
|
//Ability Bonus: Wisdom +2
|
|
//Decreased Ability Score: Charisma -4
|
|
struct SubraceBaseStatsModifier SvirnStats = CustomBaseStatsModifiers(0, 2, 0, 0, 2, -4, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Svirfneblin", SvirnStats, 1);
|
|
|
|
//LETO - Feats:
|
|
//Darkvision
|
|
//Bonus Feat: Dodge
|
|
ModifySubraceFeat("Svirfneblin", FEAT_DARKVISION, 1);
|
|
ModifySubraceFeat("Svirfneblin", FEAT_DODGE, 1);
|
|
|
|
//Neutral Only
|
|
CreateSubraceAlignmentRestriction("Svirfneblin", FALSE, TRUE, FALSE, FALSE, TRUE, FALSE);
|
|
|
|
//LETO - Skills:
|
|
//Skill Bonus: Search +2
|
|
ModifySubraceSkill("Svirfneblin", SKILL_SEARCH, 2, 1, FALSE);
|
|
|
|
// Favored Class Wizard
|
|
AddSubraceFavoredClass("Svirfneblin", CLASS_TYPE_WIZARD, CLASS_TYPE_WIZARD);
|
|
|
|
//Spell Resistance: 10 + 1 Per Level.
|
|
CreateSubraceSpellResistance("Svirfneblin", 10, 50);
|
|
//:::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Gnome - Tinker ECL 0 ::
|
|
//:::::::::::::::::::::::::::::::::::::
|
|
//Subrace Name: Tinker
|
|
//Must be: Gnome.
|
|
CreateSubrace(RACIAL_TYPE_GNOME, "Tinker");
|
|
|
|
//LETO - Change ability scores: (Str, Dex, Con, Int +2, Wis -2, Cha)
|
|
struct SubraceBaseStatsModifier TinkerStats = CustomBaseStatsModifiers(0, 0, 0, 2, -2, 0, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Tinker", TinkerStats, 1);
|
|
|
|
//LETO - Bonus Skills: Appraise +2, Craft Armor +4, Craft Trap +4, Craft Weapon +4
|
|
//Disable Trap +2, Open Lock +2, Set Trap +2, Use Magic Device +4
|
|
ModifySubraceSkill("Tinker", SKILL_APPRAISE, 2, 1, FALSE);
|
|
ModifySubraceSkill("Tinker", SKILL_CRAFT_ARMOR, 4, 1, FALSE);
|
|
ModifySubraceSkill("Tinker", SKILL_CRAFT_TRAP, 4, 1, FALSE);
|
|
ModifySubraceSkill("Tinker", SKILL_DISABLE_TRAP, 2, 1, FALSE);
|
|
ModifySubraceSkill("Tinker", SKILL_OPEN_LOCK, 2, 1, FALSE);
|
|
ModifySubraceSkill("Tinker", SKILL_SET_TRAP, 2, 1, FALSE);
|
|
ModifySubraceSkill("Tinker", SKILL_USE_MAGIC_DEVICE, 4, 1, FALSE);
|
|
|
|
// Favored Class Wizard
|
|
AddSubraceFavoredClass("Tinker", CLASS_TYPE_WIZARD, CLASS_TYPE_WIZARD);
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Deep ECL 0 :::
|
|
//:::::::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "Halfling-Deep");
|
|
SetupSubraceAlias("Halfling-Deep", "Deep-Halfling");
|
|
|
|
//LETO - Bonus Feats: Darkvision
|
|
ModifySubraceFeat("Halfling-Deep", FEAT_DARKVISION, 1);
|
|
|
|
//LETO - Bonus Skills: Search +2
|
|
ModifySubraceSkill("Halfling-Deep", SKILL_SEARCH, 2, 1, FALSE);
|
|
ModifySubraceSkill("Halfling-Deep", SKILL_APPRAISE, 2, 1, FALSE);
|
|
//:::::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Ghostwise ECL 0 ::
|
|
//:::::::::::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "Ghostwise");
|
|
|
|
//LETO - Bonus Skills: Search +2
|
|
ModifySubraceSkill("Ghostwise", SKILL_SEARCH, 2, 1, FALSE);
|
|
ModifySubraceSkill("Ghostwise", SKILL_SPOT, 2, 1, FALSE);
|
|
ModifySubraceSkill("Ghostwise", SKILL_LISTEN, 2, 1, FALSE);
|
|
ModifySubraceSkill("Ghostwise", SKILL_HIDE, 2, 1, FALSE);
|
|
ModifySubraceSkill("Ghostwise", SKILL_MOVE_SILENTLY, 2, 1, FALSE);
|
|
|
|
//Favored Class: Barbarian.
|
|
AddSubraceFavoredClass("Ghostwise", CLASS_TYPE_BARBARIAN, CLASS_TYPE_BARBARIAN);
|
|
//:::::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Lightfoot ECL 0 ::
|
|
//:::::::::::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "Halfling-Lightfoot");
|
|
SetupSubraceAlias("Halfling-Lightfoot", "Lightfoot");
|
|
SetupSubraceAlias("Halfling-Lightfoot", "Lightfoot Halfling");
|
|
|
|
//LETO - Change ability scores: (Str -2, Dex +2, Con, Int, Wis, Cha)
|
|
struct SubraceBaseStatsModifier LightfootStats = CustomBaseStatsModifiers(-2, 2, 0, 2, 0, 0, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Halfling-Lightfoot", LightfootStats, 1);
|
|
|
|
//LETO - Bonus Skills: Listen +2
|
|
ModifySubraceSkill("Halfling-Lightfoot", SKILL_LISTEN, 2, 1, FALSE);
|
|
|
|
// Favored Class: Rogue
|
|
AddSubraceFavoredClass("Halfling-Lightfoot", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE);
|
|
//:::::::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Tallfellow ECL 0 :::
|
|
//:::::::::::::::::::::::::::::::::::::::::::::
|
|
//Subrace Name: Halfling-Tallfellow
|
|
//Must be: Halfling.
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "Halfling-Tallfellow");
|
|
SetupSubraceAlias("Halfling-Tallfellow", "Tallfellow");
|
|
SetupSubraceAlias("Halfling-Tallfellow", "Tallfellow Halfling");
|
|
|
|
//LETO - Skills: Listen +2, Spot +2
|
|
//Skill Decrease: Move Silent -2
|
|
ModifySubraceSkill("Halfling-Tallfellow", SKILL_SPOT, 2, 1, FALSE);
|
|
ModifySubraceSkill("Halfling-Tallfellow", SKILL_LISTEN, 2, 1, FALSE);
|
|
ModifySubraceSkill("Halfling-Tallfellow", SKILL_MOVE_SILENTLY, -2, 1, FALSE);
|
|
//::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Goblin ECL 0 ::
|
|
//::::::::::::::::::::::::::::::::::::::::
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "Goblin");
|
|
|
|
//LETO - Change ability scores: (Str, Dex +2, Con, Int, Wis, Cha -2)
|
|
struct SubraceBaseStatsModifier GoblinStats = CustomBaseStatsModifiers(0, 2, 0, 0, 0, -2, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Goblin", GoblinStats, 1);
|
|
|
|
// set Goblin subrace to be friendly with Goblins (not all goblins)
|
|
ModifySubraceFaction("Goblin", "FACTION_GOBLIN", SUBRACE_FACTION_REPUTATION_FRIENDLY);
|
|
|
|
//LETO - Bonus Feats: Darkvision
|
|
ModifySubraceFeat("Goblin", FEAT_DARKVISION, 1);
|
|
|
|
//Alignment Restrictions: Evil Only
|
|
CreateSubraceAlignmentRestriction("Goblin", FALSE, FALSE, TRUE, TRUE, TRUE, TRUE);
|
|
|
|
//LETO - Bonus Skills: Move Silently +4
|
|
ModifySubraceSkill("Goblin", SKILL_MOVE_SILENTLY, 4, 1, FALSE);
|
|
|
|
//Favored Class: Sorcerer
|
|
AddSubraceFavoredClass("Goblin", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE);
|
|
|
|
//Apearance: Goblin - Permanent
|
|
CreateSubraceAppearance("Goblin", TIME_BOTH, 1159, 1159);
|
|
//::::::::::::::::::::::::::::::::::::::::
|
|
//:::: SUBRACE: Halfling - Kobold ECL 0 ::
|
|
//::::::::::::::::::::::::::::::::::::::::
|
|
//Properties from the Skin: AC +1
|
|
CreateSubrace(RACIAL_TYPE_HALFLING, "Kobold", "sha_pcl_kobold", "");
|
|
|
|
//LETO - Change ability scores: (Str -2, Dex +2, Con -2, Int, Wis, Cha)
|
|
struct SubraceBaseStatsModifier KoboldStats = CustomBaseStatsModifiers(-2, 2, -2, 0, 0, 0, MOVEMENT_SPEED_CURRENT);
|
|
CreateBaseStatModifier("Kobold", KoboldStats, 1);
|
|
|
|
//LETO - Bonus Feats: Darkvision
|
|
ModifySubraceFeat("Kobold", FEAT_DARKVISION, 1);
|
|
|
|
//LETO - Bonus Skills: Craft Trap +2, Search +2, Hide +4
|
|
ModifySubraceSkill("Kobold", SKILL_CRAFT_TRAP, 2, 1, FALSE);
|
|
ModifySubraceSkill("Kobold", SKILL_SEARCH, 2, 1, FALSE);
|
|
ModifySubraceSkill("Kobold", SKILL_HIDE, 4, 1, FALSE);
|
|
|
|
//Apearance: Kobold - Permanent
|
|
CreateSubraceAppearance("Kobold", TIME_BOTH, APPEARANCE_TYPE_KOBOLD_A, APPEARANCE_TYPE_KOBOLD_A);
|
|
|
|
//Favored Class: Sorcerer
|
|
AddSubraceFavoredClass("Kobold", CLASS_TYPE_SORCERER, CLASS_TYPE_SORCERER);
|
|
|
|
//Alignment Restriction: Evil Only
|
|
CreateSubraceAlignmentRestriction("Kobold", FALSE, FALSE, TRUE, TRUE, TRUE, TRUE);
|
|
}
|
|
|