//: The World of Aerth Subraces //: Created by Shargast October 2007 //: //: Kentra - godling of beauty and order //: 1. Kentran //: 2. Wood Elf //: 3. Broadarm-Dwarf //: 4. Fellow friend Gnome //: 5. Clurichaun //: 6. Avariel //: Ra - godling of balance and change //: 7. Plainrunner Elf //: 8. Broad foot Halfling //: 9. Tigrasidis //: 10. Minotaur //: 11. Cynocephali //: 12. Shroudrunner //: Dorgon - godling of chaos and destruction //: 13. Dark Elf (aka Dar'Roth) //: 14. Black Dwarf (aka Dar'Hammith) //: 15. Orc (aka Dar'Sinered) //: 16. Goblin (aka Sen'Kiips) //: 17. Kobald (aka Sen'Renn) //: 18. Ogre (aka Dar'Greneloth) //: 19. Ravian (aka Nec'Crau) #include "sha_subr_methds" void main() { //::::::::::::::::::::::::::::::::::::::: // The Races of Kentra : //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Kentran //Properties from the Skin: //Damage Resistance: Acid Resist 5 / - //Damage Resistance: Cold Resist 5 / - //Damage Resistance: Electrical Resist 5 / - //Saving Throw Bonus: Universal +2 //Must be: Human //ECL: + 1 CreateSubrace(RACIAL_TYPE_HUMAN, "kentran", "mm_pcl_hman", "none", FALSE, 0, FALSE, 0, 1); //LETO - Change ability scores: //Ability Bonus: Strength +1 //Ability Bonus: Charisma +2 //Ability Bonus: Wisdom +2 struct SubraceBaseStatsModifier KentranStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("kentran", KentranStats, 1); //LETO - Feats: //Undead Favoured Enemy ModifySubraceFeat("kentran", FEAT_FAVORED_ENEMY_UNDEAD, 1); //LETO - Skills: //Skill Bonus: Discipline +2 //Skill Bonus: Concentration +2 ModifySubraceSkill("kentran", SKILL_DISCIPLINE, 2, 1, FALSE); ModifySubraceSkill("kentran", SKILL_CONCENTRATION, 2, 1, FALSE); //Alignment Restriction: Good CreateSubraceAlignmentRestriction("kentran", TRUE, FALSE, FALSE); //Subrace Appearence AddSubraceEffect("kentran", EFFECT_TYPE_VISUALEFFECT, VFX_DUR_AURA_YELLOW_DARK, FALSE, DURATION_TYPE_PERMANENT, 0.0, TIME_BOTH); //Favored Class: Paladin AddSubraceFavoredClass("kentran", CLASS_TYPE_PALADIN, CLASS_TYPE_PALADIN); //Spell Resistance: Base: 10, Max: 50. (5 + 1 per level) CreateSubraceSpellResistance("kentran", 10, 50); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Wood-Elf ::::::::::: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Wood-Elf //Must be: Elf CreateSubrace(RACIAL_TYPE_ELF, "wood-elf", "mm_pcl_welf", "none", FALSE, 0, FALSE, 0, 1); //LETO - Change ability scores: //Ability Bonus: Dexterity +3 //Ability Bonus: Intelligence +1 //Ability Bonus: Wisdom +1 //Ability Bonus: Charisma +3 //Decreased Ability Score: Strength -1 //ECL: +1 struct SubraceBaseStatsModifier ElfWoodStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("wood-elf", ElfWoodStats, 1); //Favored Class: Ranger AddSubraceFavoredClass("wood-elf", CLASS_TYPE_RANGER, CLASS_TYPE_RANGER); //Orc Favoured Enemy ModifySubraceFeat("wood-elf", FEAT_FAVORED_ENEMY_ORC, 1); //Alignment Restriction: Good CreateSubraceAlignmentRestriction("wood-elf", TRUE, FALSE, FALSE); //Spell Resistance: Base: 12 CreateSubraceSpellResistance("wood-elf", 12, 12); //::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Broadarm-Dwarf :::::::: //::::::::::::::::::::::::::::::::::::: //Subrace Name: Broadarm-Dwarf //Properties from the Skin: //AC Bonus +1 //Immunity: Damage Type: Cold 25% Immunity Bonus //Immunity: Damage Type: Fire 25% Immunity Bonus //Immunity: Damage Type: Bludgeoning 25% Immunity Bonus //Saving Throw Bonus: Cold +2, Fear +4, Fire +2 //Bonus Feat: Alertness //Must be: Dwarf. //ECL: + 3 CreateSubrace(RACIAL_TYPE_DWARF, "broadarm-dwarf", "mm_pcl_bdw", "", FALSE, 0, FALSE, 0, 2); //LETO - Change ability scores: //Ability Bonus: Strength +5 //Decreased Ability Score: Dexterity -2 //Decreased Ability Score: Charisma -1 struct SubraceBaseStatsModifier BroadarmDwarfStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("broadarm-dwarf", BroadarmDwarfStats, 1); //LETO - Skills: //Skill Bonus: Discipline +4 ModifySubraceSkill("broadarm-dwarf", SKILL_DISCIPLINE, 4, 1, FALSE); //Favored class: barbarian AddSubraceFavoredClass("broadarm-dwarf", CLASS_TYPE_BARBARIAN, CLASS_TYPE_BARBARIAN); //Gaint Favoured Enemy ModifySubraceFeat("broadarm-dwarf", FEAT_FAVORED_ENEMY_GIANT, 1); //Alignment Restriction: Good CreateSubraceAlignmentRestriction("broadarm-dwarf", TRUE, FALSE, FALSE); //::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Fellowfriend-Gnome :::: //::::::::::::::::::::::::::::::::::::: //Subrace Name: Fellowfriend-Gnome //Properties from the Skin: //Spell Focus: Enchantment //Damage Resistance: Magical 15% //Saving throws: Mind Affecting +4, Will +2 //Must be: Gnome //ECL: + 1 CreateSubrace(RACIAL_TYPE_GNOME, "fellowfriend-gnome", "mm_pcl_ffg", "", FALSE, 0, FALSE, 0, 1); //LETO - Change ability scores: //Ability Bonus: Dexterity +2 //Decreased Ability Score: -2 //Decreased Ability Score: Strength -1 //Decreased Ability Score: Constitution -1 //Ability Bonus: Charisma +1 struct SubraceBaseStatsModifier FellowfriendGnomeStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("fellowfriend-gnome", FellowfriendGnomeStats, 1); //LETO - Skills: //Skill Bonus: Spellcraft +4 ModifySubraceSkill("fellowfriend-gnome", SKILL_SPELLCRAFT, 4, 1, FALSE); //Favored class: Ranger. AddSubraceFavoredClass("fellowfriend-gnome", CLASS_TYPE_SORCERER, CLASS_TYPE_SORCERER); AddSubraceFavoredClass("fellowfriend-gnome", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE); //Vermin Favoured Enemy ModifySubraceFeat("fellowfriend-gnome", FEAT_FAVORED_ENEMY_VERMIN, 1); //Alignment Restriction: Good CreateSubraceAlignmentRestriction("fellowfriend-gnome", TRUE, FALSE, FALSE); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Halfling - Clurichaun :: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Clurichaun //Properties from the Skin: //AC Bonus +4 //Bonus Feat Alertness //Freesom of Movement //Immunity: Poison, Sneak Attack //Regeneration +1 //Must be: Halfling. //ECL: +1 CreateSubrace(RACIAL_TYPE_HALFLING, "clurichaun", "mm_pcl_clu", "", FALSE, 0, FALSE, 0, 2); //LETO - Change ability scores: //Ability Bonus: Dexterity +8 //Ability Bonus: Wisdom +4 //Decreased Ability Score: Strength -5 //Movement Speed: Fast struct SubraceBaseStatsModifier ClurichaunStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_FAST); CreateBaseStatModifier("clurichaun", ClurichaunStats, 1); //LETO - Feats: //Darkvision //Bonus Feat: Dodge ModifySubraceFeat("clurichaun", FEAT_DARKVISION, 1); ModifySubraceFeat("clurichaun", FEAT_DODGE, 1); //Alignment Restriction: Good CreateSubraceAlignmentRestriction("clurichaun", TRUE, FALSE, FALSE); //Undead Favoured Enemy ModifySubraceFeat("clurichaun", FEAT_FAVORED_ENEMY_UNDEAD, 1); //Class Restriction: Can only be either: Cleric, Bard, Rogue, Sorcerer or Wizard. CreateSubraceClassRestriction("clurichaun", FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE); //Favored Class: Cleric. AddSubraceFavoredClass("clurichaun", CLASS_TYPE_CLERIC, CLASS_TYPE_CLERIC); AddSubraceFavoredClass("clurichaun", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE); //Appearance Change: Permanent - Clurichaun CreateSubraceAppearance("clurichaun", TIME_BOTH, APPEARANCE_TYPE_MEPHIT_WATER,APPEARANCE_TYPE_MEPHIT_WATER); //Spell Resistance: Base (at Level 1): 15, Max(at Level 40): 55. CreateSubraceSpellResistance("clurichaun", 15, 55); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Avariel :::::::::::::::: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Avariel //Properties from the Skin: //Damage Immunity: 100% Electrical //Damage Susceptibility: 25% Fire //Must be: Elf CreateSubrace(RACIAL_TYPE_ELF, "avariel", "mm_pcl_avr", "none", FALSE, 0, FALSE, 0, 3); //LETO - Change ability scores: //Ability Bonus: Dexterity +6 //Ability Bonus: Strength +4 //Ability Bonus: Wisdom +2 //Decreased Ability Score: Intelligence -1 //ECL +2 struct SubraceBaseStatsModifier AvarielStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_FAST); CreateBaseStatModifier("avariel", AvarielStats, 1); //LETO - Skills: //Skill Bonus: Spot +4 ModifySubraceSkill("avariel", SKILL_SPOT, 4, 1, FALSE); //Favored Class: Cleric AddSubraceFavoredClass("avariel", CLASS_TYPE_CLERIC, CLASS_TYPE_CLERIC); AddSubraceFavoredClass("avariel", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER); //Bonus Feat: Dodge ModifySubraceFeat("avariel", FEAT_MOBILITY, 1); ModifySubraceFeat("avariel", FEAT_DODGE, 1); ModifySubraceFeat("avariel", FEAT_ALERTNESS, 1); //Leto - Add Bird wings ModifySubraceAppearanceAttachment("avariel", APPEARANCE_TYPE_ATTACHMENT_WINGS_BIRD, APPEARANCE_TYPE_ATTACHMENT_WINGS_BIRD, 0, 0, 1); //Shapechangers Favoured Enemy ModifySubraceFeat("avariel", FEAT_FAVORED_ENEMY_SHAPECHANGER, 1); //Alignment Restriction: Good CreateSubraceAlignmentRestriction("avariel", TRUE, FALSE, FALSE); //::::::::::::::::::::::::::::::::::::::: // The Races of Ra : //::::::::::::::::::::::::::::::::::::::: //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Plainrunner-Elf :::::::: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Plainrunner-Elf //Properties from the Skin: //Damage Immunity: 100% Electrical //Must be: Elf CreateSubrace(RACIAL_TYPE_ELF, "plainrunner-elf", "mm_pcl_pre", "none", FALSE, 0, FALSE, 0, 2); //LETO - Change ability scores: //Ability Bonus: Constitution +3 //Ability Bonus: Dexterity +3 //Decreased Ability Score: Intelligence -2 struct SubraceBaseStatsModifier PlainrunnerElfStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_FAST); CreateBaseStatModifier("plainrunner-elf", PlainrunnerElfStats, 1); //Favored Class: Ranger & Rogue AddSubraceFavoredClass("plainrunner-elf", CLASS_TYPE_RANGER, CLASS_TYPE_RANGER); AddSubraceFavoredClass("plainrunner-elf", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE); //Magical Beast Favoured Enemy ModifySubraceFeat("plainrunner-elf", FEAT_FAVORED_ENEMY_MAGICAL_BEAST, 1); //Alignment Restriction: Neutral Only. CreateSubraceAlignmentRestriction("plainrunner-elf", FALSE, TRUE, FALSE); //Bonus Feat: Dodge & Mobility ModifySubraceFeat("plainrunner-elf", FEAT_MOBILITY, 1); ModifySubraceFeat("plainrunner-elf", FEAT_DODGE, 1); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Broadfoot-Halfling :::: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Broadfoot-Halfling //Properties from the Skin: //Damage AC +2 //Must be: Halfling CreateSubrace(RACIAL_TYPE_HALFLING, "broadfoot-halfling", "mm_pcl_bfh", "none", FALSE, 0, FALSE, 0, 1); //LETO - Change ability scores: //Ability Bonus: Constitution +3 //Ability Bonus: Strength +2 //Decreased Ability Score: Intelligence +2 //Decreased Ability Score: Dexterity -1 struct SubraceBaseStatsModifier BroadfootHalflingStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("broadfoot-halfling", BroadfootHalflingStats, 1); //Favored Class: Wizard & Fighter AddSubraceFavoredClass("broadfoot-halfling", CLASS_TYPE_WIZARD, CLASS_TYPE_WIZARD); AddSubraceFavoredClass("broadfoot-halfling", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER); //Magical Beast Favoured Enemy ModifySubraceFeat("broadfoot-halfling", FEAT_FAVORED_ENEMY_MAGICAL_BEAST, 1); //Alignment Restriction: Neutral Only. CreateSubraceAlignmentRestriction("broadfoot-halfling", FALSE, TRUE, FALSE); //Bonus Feat: Dodge ModifySubraceFeat("broadfoot-halfling", FEAT_DODGE, 1); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Tigrasidis :::::::::::::: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Tigrasidis //Properties from the Skin: //Damage: AC +4 //Damage Resistence: +1/10 //Saving Throws: +2 Fear, + 1 Reflex //Must be: Human CreateSubrace(RACIAL_TYPE_HUMAN, "tigrasidis", "mm_pcl_lup", "none", FALSE, 0, FALSE, 0, 2); //LETO - Change ability scores: //AC Bonus: +1 //Saving Throws: +2 Fear //Ability Bonus: Constitution +3 //Ability Bonus: Strength +5 //Decreased Ability Score: Intelligence -2 //Decreased Ability Score: Dexterity -2 //Decreased Ability Score: Charisma -1 struct SubraceBaseStatsModifier TigrasidisStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("tigrasidis", TigrasidisStats, 1); //Favored Class: Fighter AddSubraceFavoredClass("tigrasidis", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER); //Animals Favoured Enemy ModifySubraceFeat("tigrasidis", FEAT_FAVORED_ENEMY_ANIMAL, 1); //Alignment Restriction: Neutral Only. CreateSubraceAlignmentRestriction("tigrasidis", FALSE, TRUE, FALSE); //Bonus Feat: Dodge ModifySubraceFeat("tigrasidis", FEAT_AMBIDEXTERITY, 1); //Appearance: Tigrasidis CreateSubraceAppearance("tigrasidis", TIME_BOTH, APPEARANCE_TYPE_RAKSHASA_TIGER_MALE, APPEARANCE_TYPE_RAKSHASA_TIGER_MALE); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Minotaur :::::::::::::::: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Minotaur //Properties from the Skin: //Damage: AC +2 //Damage Resistence: +1/5 //Must be: Half-Orc CreateSubrace(RACIAL_TYPE_HALFORC, "minotaur", "mm_pcl_min", "none", FALSE, 0, FALSE, 0, 2); //LETO - Change ability scores: //Ability Bonus: Constitution +6 //Ability Bonus: Strength +8 //Decreased Ability Score: Intelligence -3 //Decreased Ability Score: Dexterity -2 //Decreased Ability Score: Charisma -3 //Decreased Ability Score: Wisdom -3 struct SubraceBaseStatsModifier MinotaurStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("minotaur", MinotaurStats, 1); //Favored Class: Fighter AddSubraceFavoredClass("minotaur", CLASS_TYPE_FIGHTER, CLASS_TYPE_FIGHTER); //Dragon Favoured Enemy ModifySubraceFeat("minotaur", FEAT_FAVORED_ENEMY_DRAGON, 1); //Alignment Restriction: Neutral Only. CreateSubraceAlignmentRestriction("minotaur", FALSE, TRUE, FALSE); //Bonus Feat: Dodge ModifySubraceFeat("minotaur", FEAT_BLIND_FIGHT, 1); //Appearance: Minotaur CreateSubraceAppearance("minotaur", TIME_BOTH, APPEARANCE_TYPE_MINOTAUR_CHIEFTAIN, APPEARANCE_TYPE_MINOTAUR_SHAMAN); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Cynocephali :::::::::::::::: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Cynocephali //Properties from the Skin: //Immunity: Fear //Must be: Half-Orc CreateSubrace(RACIAL_TYPE_HALFORC, "cynocephali", "mm_pcl_cyn", "none", FALSE, 0, FALSE, 0, 2); //LETO - Change ability scores: //Strength: + 2 //Dexterity: - 2 //Constitution: + 2 //Intelligence: + 4 //Wisdom:- 2 //Charisma: - 3 struct SubraceBaseStatsModifier CynocephaliStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_CURRENT); CreateBaseStatModifier("cynocephali", CynocephaliStats, 1); //Favored Class: Wizard AddSubraceFavoredClass("cynocephali", CLASS_TYPE_WIZARD, CLASS_TYPE_WIZARD); //Dwarf Favoured Enemy ModifySubraceFeat("cynocephali", FEAT_FAVORED_ENEMY_DWARF, 1); //Alignment Restriction: Neutral Only. CreateSubraceAlignmentRestriction("cynocephali", FALSE, TRUE, FALSE); //Bonus Feat: Keen Sense ModifySubraceFeat("cynocephali", FEAT_KEEN_SENSE, 1); //Spell Resistance: Base: 12 CreateSubraceSpellResistance("cynocephali", 12, 12); //Appearance: Cynocephali CreateSubraceAppearance("cynocephali", TIME_BOTH, APPEARANCE_TYPE_RAKSHASA_WOLF_MALE, APPEARANCE_TYPE_WEREWOLF); //::::::::::::::::::::::::::::::::::::::: //:::: SUBRACE: Elf - Shroudrunner :::: //::::::::::::::::::::::::::::::::::::::: //Subrace Name: Shroudrunner //Properties from the Skin: //Immunity Spell Darkness //Must be: Elf CreateSubrace(RACIAL_TYPE_ELF, "shroudrunner", "mm_pcl_shr", "none", FALSE, 0, FALSE, 0, 2); //LETO - Change ability scores: //Strength: 0 //Dexterity: +2 //Constitution: 0 //Intelligence: +1 //Wisdom: 0 //Charisma: 0 struct SubraceBaseStatsModifier ShroudrunnerStats = CustomBaseStatsModifiers(0, 0, 0, 0, 0, 0, MOVEMENT_SPEED_FAST); CreateBaseStatModifier("shroudrunner", ShroudrunnerStats, 1); //LETO - Feats: //Darkvision ModifySubraceFeat("shroudrunner", FEAT_DARKVISION, 1); //Favored Class: Rogue AddSubraceFavoredClass("shroudrunner", CLASS_TYPE_ROGUE, CLASS_TYPE_ROGUE); //Appearance: Cynocephali CreateSubraceAppearance("shroudrunner", TIME_BOTH, APPEARANCE_TYPE_SHADOW_FIEND, APPEARANCE_TYPE_SHADOW); //Alignment Restriction: Neutral Only. CreateSubraceAlignmentRestriction("cynocephali", FALSE, TRUE, FALSE); //Spell Resistance: 10 + 1 Per Level. CreateSubraceSpellResistance("shroudrunner", 10, 50); }