public int Run(uint nwnObjectId) { if (TemplateItem.Initialized(nwnObjectId)) { return(0); } if (NWScript.GetItemPossessedBy(nwnObjectId, "platinum_token") == NWScript.OBJECT_INVALID) { NWScript.SendMessageToPC(nwnObjectId, "This subrace requires DM permission to play."); return(0); } if (NWScript.GetRacialType(nwnObjectId) != NWScript.RACIAL_TYPE_ELF) { NWScript.SendMessageToPC(nwnObjectId, "Fey'ri only works with the Moon Elf base race."); return(0); } NWScript.CreateItemOnObject(TemplateItem.TemplateItemResRef, nwnObjectId); SetSubraceModifiers(nwnObjectId); var templateRunner = new TemplateRunner(); templateRunner.Run(nwnObjectId); CreaturePlugin.SetRacialType(nwnObjectId, NWScript.RACIAL_TYPE_OUTSIDER); CreaturePlugin.AddFeatByLevel(nwnObjectId, 228, 1); return(0); }
public int Run(uint nwnObjectId) { if (TemplateItem.Initialized(nwnObjectId)) { return(0); } if (NWScript.GetItemPossessedBy(nwnObjectId, "platinum_token") == NWScript.OBJECT_INVALID) { NWScript.SendMessageToPC(nwnObjectId, "This subrace requires DM permission to play."); return(0); } if (NWScript.GetRacialType(nwnObjectId) != NWScript.RACIAL_TYPE_HUMAN) { NWScript.SendMessageToPC(nwnObjectId, "Lizardfolk only works with the Non-Regional Human base race."); return(0); } NWScript.CreateItemOnObject(TemplateItem.TemplateItemResRef, nwnObjectId); SetSubraceModifiers(nwnObjectId); var templateRunner = new TemplateRunner(); CreaturePlugin.SetRacialType(nwnObjectId, NWScript.RACIAL_TYPE_HUMANOID_REPTILIAN); templateRunner.Run(nwnObjectId); return(0); }
public static void AddFeat(this NwCreature creature, Feat feat, int level = 0) { if (level > 0) { CreaturePlugin.AddFeatByLevel(creature, (int)feat, level); } else { CreaturePlugin.AddFeat(creature, (int)feat); } }
public int Run(uint nwnObjectId) { if (TemplateItem.Initialized(nwnObjectId)) { return(0); } NWScript.CreateItemOnObject(TemplateItem.TemplateItemResRef, nwnObjectId); CreaturePlugin.SetRacialType(nwnObjectId, NWScript.RACIAL_TYPE_OUTSIDER); CreaturePlugin.AddFeatByLevel(nwnObjectId, 228, 1); SetSubRaceMod(nwnObjectId); var templateRunner = new TemplateRunner(); templateRunner.Run(nwnObjectId); return(0); }
public void SetupStats(Player player) { CreaturePlugin.ModifyRawAbilityScore(player.ObjectId, NWScript.ABILITY_CONSTITUTION, 2); CreaturePlugin.ModifyRawAbilityScore(player.ObjectId, NWScript.ABILITY_CHARISMA, 2); }
public void SetupStats(Player player) { CreaturePlugin.ModifyRawAbilityScore(player.ObjectId, NWScript.ABILITY_WISDOM, 2); }
public void SetupStats(Player player) { var playerId = player.ObjectId; CreaturePlugin.ModifyRawAbilityScore(playerId, NWScript.ABILITY_STRENGTH, 1); }
public static bool DeserializeQuickbar(this NwCreature creature, string serializedQuickbar) { return(CreaturePlugin.DeserializeQuickbar(creature, serializedQuickbar).ToBool()); }
public static string SerializeQuickbar(this NwCreature creature) { return(CreaturePlugin.SerializeQuickbar(creature)); }
public static ClassType GetClassByLevel(this NwCreature creature, int level) { return((ClassType)CreaturePlugin.GetClassByLevel(creature, level)); }
public static void ClearMemorisedSpell(this NwCreature creature, ClassType classType, int spellLevel, int index) { CreaturePlugin.ClearMemorisedSpell(creature, (int)classType, spellLevel, index); }
public static int GetMemorisedSpellCountByLevel(this NwCreature creature, ClassType classType, int spellLevel) { return(CreaturePlugin.GetMemorisedSpellCountByLevel(creature, (int)classType, spellLevel)); }
public static int GetFeatGrantLevel(this NwCreature creature, Feat feat) { return(CreaturePlugin.GetFeatGrantLevel(creature, (int)feat)); }
public static void RemoveFeat(this NwCreature creature, Feat feat) { CreaturePlugin.RemoveFeat(creature, (int)feat); }
public static bool KnowsFeat(this NwCreature creature, Feat feat) { return(CreaturePlugin.GetKnowsFeat(creature, (int)feat).ToBool()); }
private void UpdateAbility(int ability, int newAbilityValue) { CreaturePlugin.SetRawAbilityScore(ObjectId, ability, newAbilityValue); }