#include "prc_inc_racial" #include "prc_class_const" void GiveDMFI(object oPC, string sResRef) { //note: for DMFI items, tag and resref are identical object oItem = GetItemPossessedBy(oPC, sResRef); if (!GetIsObjectValid(oItem)) CreateItemOnObject(sResRef, oPC); } void main() { object oPC = GetPCSpeaker(); int iLanguageFlag = FALSE; //PC Autofollow Widget GiveDMFI(oPC, "dmfi_pc_follow"); //PC Dicebag GiveDMFI(oPC, "dmfi_pc_dicebag"); //PC Emote Wand GiveDMFI(oPC, "dmfi_pc_emote"); //Book of Player Voice Commands GiveDMFI(oPC, "dmfi_playerbook"); //:: Abyssal if ((GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL && GetAlignmentLawChaos(oPC) == ALIGNMENT_CHAOTIC && (MyPRCGetRacialType(oPC) == RACIAL_TYPE_OUTSIDER) || GetLevelByClass(CLASS_TYPE_CLERIC, oPC) != 0 || GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC) != 0 || GetLevelByClass(CLASS_TYPE_SOHEI, oPC) != 0 || GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC) != 0 || GetLevelByClass(CLASS_TYPE_WARLOCK, oPC) != 0 || GetLevelByClass(CLASS_TYPE_BLACKGUARD, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_ORCUS, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_ACOLYTE, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_PRC_EYE_OF_GRUUMSH, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_TENEBROUS_APOSTATE, oPC) != 0)) { GiveDMFI(oPC, "hlslang_11"); SendMessageToPC(oPC, "Abyssal language given."); } //:: Celestial if ((GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD && (MyPRCGetRacialType(oPC) == RACIAL_TYPE_OUTSIDER || GetLevelByClass(CLASS_TYPE_CLERIC, oPC) != 0 || GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC) != 0 || GetLevelByClass(CLASS_TYPE_SOHEI, oPC) != 0 || GetLevelByClass(CLASS_TYPE_HEALER, oPC) != 0 || GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC) != 0 )) || (GetLevelByClass(CLASS_TYPE_PALADIN, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_HEARTWARDER, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_SOLDIER_OF_LIGHT, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_VASSAL, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_SACREDFIST, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_MIGHTY_CONTENDER_KORD, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_MORNINGLORD, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_SLAYER_OF_DOMIEL, oPC) != 0)) { GiveDMFI(oPC, "hlslang_10"); SendMessageToPC(oPC, "Celestial language given."); } //::Infernal if ((GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL && GetAlignmentLawChaos(oPC) == ALIGNMENT_LAWFUL && (MyPRCGetRacialType(oPC) == RACIAL_TYPE_OUTSIDER) || GetLevelByClass(CLASS_TYPE_CLERIC, oPC) != 0 || GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC) != 0 || GetLevelByClass(CLASS_TYPE_SOHEI, oPC) != 0 || GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC) != 0 || GetLevelByClass(CLASS_TYPE_WARLOCK, oPC) != 0 || GetLevelByClass(CLASS_TYPE_BLACKGUARD, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_OCULAR, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_TALON_OF_TIAMAT, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_DISCIPLE_OF_ASMODEUS, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_HEXTOR, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_DISPATER, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_DISC_BAALZEBUL, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_DISCIPLE_OF_MEPH, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_DIABOLIST, oPC) != 0)) { GiveDMFI(oPC, "hlslang_12"); SendMessageToPC(oPC, "Infernal language given."); } //:: Animal if ((GetLevelByClass(CLASS_TYPE_DRUID, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_RANGER, oPC) != 0) || (GetLevelByClass(CLASS_TYPE_MONK, oPC) > 16) || (GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oPC) != 0)) { GiveDMFI(oPC, "hlslang_8"); SendMessageToPC(oPC, "Animal language given."); } //:: Draconic if ((MyPRCGetRacialType(oPC) == RACIAL_TYPE_DRAGON) || (GetRacialType(oPC) == RACIAL_TYPE_REDSPAWN_ARCANISS) || (GetLevelByClass(CLASS_TYPE_DRAGONDISCIPLE, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_DRAGON_DISCIPLE, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_DRAGONSONG_LYRIST, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_INITIATE_DRACONIC, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_HANDOTWM, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_DRAGON_DEVOTEE, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_DRAGONHEART_MAGE, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_DIAMOND_DRAGON, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_VASSAL, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_SWIFT_WING, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_TALON_OF_TIAMAT, oPC)!=0)) { GiveDMFI(oPC, "hlslang_7"); SendMessageToPC(oPC, "Draconic language given."); } //:: Drow if (GetRacialType(oPC) == RACIAL_TYPE_DROW_MALE || GetRacialType(oPC) == RACIAL_TYPE_DROW_FEMALE || GetRacialType(oPC) == RACIAL_TYPE_HALFDROW) { GiveDMFI(oPC, "hlslang_13"); SendMessageToPC(oPC, "Drow language given."); } //:: Dwarven if (MyPRCGetRacialType(oPC) == RACIAL_TYPE_DWARF) { GiveDMFI(oPC, "hlslang_4"); SendMessageToPC(oPC, "Dwarven language given."); } //:: Elven if ((MyPRCGetRacialType(oPC) == RACIAL_TYPE_ELF) || (MyPRCGetRacialType(oPC) == RACIAL_TYPE_HALFELF)) { GiveDMFI(oPC, "hlslang_1"); SendMessageToPC(oPC, "Elven language given."); } //:: Gnome if (MyPRCGetRacialType(oPC) == RACIAL_TYPE_GNOME) { GiveDMFI(oPC, "hlslang_2"); SendMessageToPC(oPC, "Gnomish language given."); } //:: Goblin if ((GetRacialType(oPC) == RACIAL_TYPE_BLUE_GOBLIN) || (GetRacialType(oPC) == RACIAL_TYPE_GOBLIN) || (GetRacialType(oPC) == RACIAL_TYPE_SNOW_GOBLIN) || (GetRacialType(oPC) == RACIAL_TYPE_HOBGOBLIN) || (GetRacialType(oPC) == RACIAL_TYPE_SUNSCORCH_HOBGOBLIN)) { GiveDMFI(oPC, "hlslang_6"); SendMessageToPC(oPC, "Goblin language given."); } //:: Halfling if (MyPRCGetRacialType(oPC) == RACIAL_TYPE_HALFLING) { GiveDMFI(oPC, "hlslang_3"); SendMessageToPC(oPC, "Halfling language given."); } //:: Orc if (MyPRCGetRacialType(oPC) == RACIAL_TYPE_HALFORC || GetRacialType(oPC) == RACIAL_TYPE_FROSTBLOOD_ORC || GetRacialType(oPC) == RACIAL_TYPE_OROG || GetRacialType(oPC) == RACIAL_TYPE_GRAYORC || GetRacialType(oPC) == RACIAL_TYPE_ORC) { GiveDMFI(oPC, "hlslang_5"); SendMessageToPC(oPC, "Orc language given."); } //:: Thieves' Cant if ((GetLevelByClass(CLASS_TYPE_ROGUE, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_SHADOW_THIEF_AMN, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_SHADOWLORD, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC)!=0) || (GetLevelByClass(CLASS_TYPE_SHADOWDANCER, oPC)!=0)) { GiveDMFI(oPC, "hlslang_9"); SendMessageToPC(oPC, "Thieves' language given."); } }