//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //:::::::::::::::::::::::: Shayan's Subrace Engine ::::::::::::::::::::::::::::: //:::::::::::::::::::::: File Name: sha_leto_sraces1 ::::::::::::::::::::::::::: //:::::::::::::::::::::::::: OnModuleLoad script ::::::::::::::::::::::::::::::: // Written By: Shayan // // Description: This script holds the pre-made Dwarf and Elf subraces found // listed here: Dwarf-Arctic, Dwarf-Deep, Dwarf-Duergar, Dwarf-Hill, Dwarf-Wild // Dwarf-Azer, Elf-Aquatic, Elf-Gray, Elf-High, Elf-Wild // // If you do not want to use these, simply comment the lines: // DelayCommand(3.0, ExecuteScript("sha_leto_sraces1", GetModule())); // in the script: sha_on_modload. // //////////////////////////////////////////////////////////////////////////////// #include "sha_subr_methds" void main() { //:::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Dwarf - Arctic ECL +1 :: //:::::::::::::::::::::::::::::::::::::: //Properties from the Skin: AC +1, Cold 100% Immunity Bonus CreateSubrace(RACIAL_TYPE_DWARF, "Dwarf-Arctic", "sha_pcl_dwarfart", "", FALSE, 0, FALSE, 0, 1); SetupSubraceAlias("Dwarf-Arctic", "dwarf-artic"); //LETO - Change ability scores: (Str +4, Dex -2, Con +2, Int, Wis, Cha) struct SubraceBaseStatsModifier DwarfArticStats = CustomBaseStatsModifiers(4, -2, 2, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("Dwarf-Arctic", DwarfArticStats, 1); //LETO - Bonus Skills: Hide +4 ModifySubraceSkill("Dwarf-Arctic", SKILL_HIDE, 4, 1, FALSE); //Favored class: Ranger AddSubraceFavoredClass("Dwarf-Arctic", CLASS_TYPE_RANGER, CLASS_TYPE_RANGER); //:::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Dwarf - Deep ECL 0 ::: //:::::::::::::::::::::::::::::::::::: //Properties from the Skin: +3 save vs spells, +3 save vs poison //Light sensitive CreateSubrace(RACIAL_TYPE_DWARF, "Dwarf-Deep", "sha_pc_dwarfdeep", "", TRUE); SetupSubraceAlias("Dwarf-Deep", "deep"); //Favored class: Fighter AddSubraceFavoredClass("Dwarf-Deep", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER); //LETO - Feats: Darkvision ModifySubraceFeat("Dwarf-Deep", FEAT_DARKVISION, 1); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Dwarf - Duergar ECL +2 :: //::::::::::::::::::::::::::::::::::::::: //Properties from the Skin: Immunity Paralysis, Poison, Spell Phantasmal Killer, Spell Weird //Abilities from the unique item: Cast Spell Invisibility (3) 1 Use Per/Day //Light sensitive CreateSubrace(RACIAL_TYPE_DWARF, "Dwarf-Duergar", "sha_pcl_dwarfdue", "sha_subrace_duer", TRUE, 0, FALSE, 0, 2); // Appearance: Hair: lightest gray = 16, Skin: stone = 60 ModifySubraceAppearanceColors("Dwarf-Duergar",16,16,60,60); SetupSubraceAlias("Dwarf-Duergar", "duergar"); SetupSubraceAlias("Dwarf-Duergar", "dwarf duergar"); //Alignment Restriction: Can only be evil CreateSubraceAlignmentRestriction("Dwarf-Duergar", FALSE, FALSE, TRUE); //LETO - Change ability scores: (Str, Dex, Con +2, Int, Wis, Cha -2) struct SubraceBaseStatsModifier DwarfDuergarStats = CustomBaseStatsModifiers(0, 0, 2, 0, 0, -2, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("Dwarf-Duergar", DwarfDuergarStats, 1); //LETO - Bonus Skills: Hide +1, Spot +1, Move Silently +4 ModifySubraceSkill("Dwarf-Duergar", SKILL_SPOT, 1, 1, FALSE); ModifySubraceSkill("Dwarf-Duergar", SKILL_LISTEN, 1, 1, FALSE); ModifySubraceSkill("Dwarf-Duergar", SKILL_MOVE_SILENTLY, 4, 1, FALSE); //Favored class: Fighter AddSubraceFavoredClass("Dwarf-Duergar", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER); //:::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Dwarf - Hill ECL 0:::: //:::::::::::::::::::::::::::::::::::: CreateSubrace(RACIAL_TYPE_DWARF, "Dwarf-Hill"); SetupSubraceAlias("Dwarf-Hill", "Hill Dwarf"); //Human Faction ModifySubraceFaction("Dwarf-Hill", "HUMAN_FACTION_NPC", SUBRACE_FACTION_REPUTATION_FRIENDLY); //Human Starting Point CreateSubraceStartLocation("Dwarf-Hill", "wp_human_start"); //Favored class: Fighter AddSubraceFavoredClass("Dwarf-Hill", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER); //Human Respawn Point CreateSubraceDeathLocation("Dwarf-Hill", "wp_human_death"); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Dwarf - Wild ECL +1:::::: //::::::::::::::::::::::::::::::::::::::: //Properties from the Skin: AC Bonus +1, Fire Resist 5 / -, Disease +4, Poison +1 CreateSubrace(RACIAL_TYPE_DWARF, "Dwarf-Wild", "sha_pcl_dwarfwil", "", FALSE, 0, FALSE, 0, 1); //LETO - Bonus Feats: Use Poison ModifySubraceFeat("Dwarf-Wild", FEAT_USE_POISON, 1); //LETO - Bonus Skills: Hide +4 ModifySubraceSkill("Dwarf-Wild", SKILL_HIDE, 4, 1, FALSE); //Favored class: Barbarian AddSubraceFavoredClass("Dwarf-Wild", CLASS_TYPE_BARBARIAN, CLASS_TYPE_BARBARIAN); //:::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Dwarf - Azer ECL +3 :: //:::::::::::::::::::::::::::::::::::: //Properties from the Skin: AC Bonus +6, Fire 100% Immunity Bonus, Cold 50% Damage Vulnerability CreateSubrace(RACIAL_TYPE_DWARF, "Azer", "sha_pcl_azer", "", FALSE, 0, FALSE, 0, 3); //LETO - Change ability scores: (Str +2, Dex +2, Con +2, Int +2, Wis +2, Cha) struct SubraceBaseStatsModifier AzerStats = CustomBaseStatsModifiers(2, 2, 2, 2, 2, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("Azer", AzerStats, 1); //LETO - Feats: Darkvision ModifySubraceFeat("Azer", FEAT_DARKVISION, 1); //Appearance: Azer - Permanent CreateSubraceAppearance("Azer", TIME_BOTH, 1109, 1110); //Spell Resistance: 13 + 1 Per Level. CreateSubraceSpellResistance("Azer", 13, 53); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Elf - Aquatic ECL 0 ::::: //::::::::::::::::::::::::::::::::::::::: //Properties from the Skin: Immunity Specific Spell Drown //String variable check on skin for "water breathing" ability - added by Birdman CreateSubrace(RACIAL_TYPE_ELF, "Elf-Aquatic", "sha_pcl_elfaquat", ""); SetupSubraceAlias("Elf-Aquatic", "Aquatic Elf"); // Appearance: Hair: green = 153, Skin: blue = 20 ModifySubraceAppearanceColors("Elf-Aquatic",153,153,20,20); //LETO - Change ability scores: (Str, Dex, Con, Int -2, Wis , Cha) struct SubraceBaseStatsModifier ElfAquaticStats = CustomBaseStatsModifiers(0, 0, 0, -2, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("Elf-Aquatic", ElfAquaticStats, 1); //Favored Class: Fighter AddSubraceFavoredClass("Elf-Aquatic", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Elf - Avariel ECL 0 :::: //::::::::::::::::::::::::::::::::::::::: CreateSubrace(RACIAL_TYPE_ELF, "Elf-Avariel"); SetupSubraceAlias("Elf-Avariel", "avariel"); //LETO - Change ability scores: (Str, Dex +2, Con, Int +2, Wis +2, Cha) struct SubraceBaseStatsModifier ElfAvarielStats = CustomBaseStatsModifiers(0, 2, 0, 2, 2, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("Elf-Avariel", ElfAvarielStats, 1); // Can Fly AddSubraceItem("Elf-Avariel", "sha_subrace_fly"); //LETO - Bonus Skills: Spot +2 ModifySubraceSkill("Elf-Avariel", SKILL_SPOT, 2, 1, FALSE); //Favored Class: Cleric AddSubraceFavoredClass("Elf-Avariel", CLASS_TYPE_CLERIC, CLASS_TYPE_CLERIC); //Leto - Add Bird wings ModifySubraceAppearanceAttachment("Elf-Avariel", CREATURE_WING_TYPE_BIRD, CREATURE_WING_TYPE_BIRD, 0, 0, 1); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Elf - Gray ECL 0 :::::::: //::::::::::::::::::::::::::::::::::::::: CreateSubrace(RACIAL_TYPE_ELF, "Elf-Gray"); SetupSubraceAlias("Elf-Gray", "Gray Elf"); SetupSubraceAlias("Elf-Gray", "Grey Elf"); SetupSubraceAlias("Elf-Gray", "Elf-Grey"); //Favored class: Wizard AddSubraceFavoredClass("Elf-Gray", CLASS_TYPE_WIZARD, CLASS_TYPE_WIZARD); //LETO - Change ability scores: (Str -2, Dex, Con, Int +2, Wis, Cha) struct SubraceBaseStatsModifier ElfGrayStats = CustomBaseStatsModifiers(-2, 0, 0, 2, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("Elf-Gray", ElfGrayStats, 1); //:::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Elf - High ECL 0 ::::: //:::::::::::::::::::::::::::::::::::: CreateSubrace(RACIAL_TYPE_ELF, "Elf-High"); SetupSubraceAlias("Elf-High", "High Elf"); //Favored class: Wizard AddSubraceFavoredClass("Elf-High", CLASS_TYPE_WIZARD, CLASS_TYPE_WIZARD); //LETO - Change ability scores: (Str -2, Dex, Con, Int +2, Wis, Cha +2) struct SubraceBaseStatsModifier ElfHighStats = CustomBaseStatsModifiers(-2, 0, 0, 2, 0, 2, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("Elf-High", ElfHighStats, 1); //LETO - Bonus Skills: Concentration +4, Lore +4, Spellcraft +4 ModifySubraceSkill("Elf-High", SKILL_CONCENTRATION, 4, 1, FALSE); ModifySubraceSkill("Elf-High", SKILL_LORE, 4, 1, FALSE); ModifySubraceSkill("Elf-High", SKILL_SPELLCRAFT, 4, 1, FALSE); //Appearance: Hair: Blonde = 8, Skin: Golden Bronze = 9 ModifySubraceAppearanceColors("Elf-High",8,8,9,9); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Elf - Wild ECL 0 ::::: //::::::::::::::::::::::::::::::::::::::: CreateSubrace(RACIAL_TYPE_ELF, "Elf-Wild"); //LETO - Change ability scores: (Str, Dex +2, Con, Int -2, Wis, Cha) struct SubraceBaseStatsModifier ElfWildStats = CustomBaseStatsModifiers(0, 2, 0, -2, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("Elf-Wild", ElfWildStats, 1); //LETO - Bonus Skills: Spot +2, Listen +2, Search +2 ModifySubraceSkill("Elf-Wild", SKILL_SPOT, 2, 1, FALSE); ModifySubraceSkill("Elf-Wild", SKILL_LISTEN, 2, 1, FALSE); ModifySubraceSkill("Elf-Wild", SKILL_SEARCH, 2, 1, FALSE); //Favored Class: Sorcerer AddSubraceFavoredClass("Elf-Wild", CLASS_TYPE_SORCERER, CLASS_TYPE_SORCERER); }