WoR_PRC8/_module/nss/sha_leto_sraces3.nss
Jaysyn904 b5e28e52f4 Initial commit
Initial commit [1.18]
2025-04-03 11:49:34 -04:00

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);
}