Skip to content

Instantly share code, notes, and snippets.

@Norbyte

Norbyte/funcs.cs Secret

Created December 19, 2023 15:05
Show Gist options
  • Save Norbyte/5628f9787b39741bfbe0918be4c823c2 to your computer and use it in GitHub Desktop.
Save Norbyte/5628f9787b39741bfbe0918be4c823c2 to your computer and use it in GitHub Desktop.
Thoth condition env functions
HasActionResource(string resourceType, double cost[, int level, bool isPercentage, bool ignoreResourceConsumeBoosts, Entity target])
HasProficiency(string proficiency[, Entity target])
IsOfProficiencyGroup(string proficiency[, Entity target])
HasProficiencyBonus(Ability ability, Skill skill[, Entity target])
HasShieldEquipped([Entity target])
HasWeaponProperty(WeaponProperties properties[, Entity target])
IsWeaponOfProficiencyGroup(string proficiency[, Entity target])
WieldingWeapon(string weaponFlags[, bool offHand, bool checkBothWeaponSets, Entity target])
CanHarm([Entity target, Entity source])
Locked([Entity target])
Combat([Entity target])
FacingMe([Entity target, Entity source])
IsConcentrating([Entity target])
IsMoving([Entity target])
WearingArmor([Entity target])
HasAttribute(string attribute, [Entity target])
Grounded([Entity target])
HasDamageEffectFlag(DamageFlags flag)
HasPassive(string passiveName, [Entity target])
SpellId(string spellId)
IsSpellChildOrVariantFromContext(string spellId)
StatusId(string statusId)
StatusHasStatusGroup(string status, string statusGroup)
IsDowned([Entity target])
RemoveCause(StatusRemoveCause removeCause)
HasInstrumentTypeEquipped(InstrumentType instrumentType, [Entity target])
IsProxy([Entity target])
CanDisarmWieldingWeapon([bool offHand, Entity target])
IsProficientWith([Entity source, Entity weapon])
IsProficientWithEquippedWeapon([Entity source, bool checkRanged, bool checkOffHand])
Dead([Entity target])
HasSpellFlag(SpellFlags flags, [Entity source])
IsSpellLevel(int level, [Entity source])
IsEquipped([Entity target])
IsWeapon([Entity target])
IsImprovisedWeapon([Entity target])
EquipmentSlotIs(EquipmentSlot slot, [Entity target])
CanRegainHP(HealingType healingType, [Entity target])
HasVerbalComponentBlocked([Entity target])
HasSpellCastBlocked([Entity target])
CanSee([Entity source, Entity target])
IsPassiveSource(Entity passive, Entity item, [Entity source])
IsPassiveOwner(Entity passive, Entity item, [Entity owner])
IsSpellAvailableFromClass(string spell, [Entity target])
IsItemDisabled([Entity target])
IsInActiveWeaponSet([Entity target])
SpellDamageTypeIs(DamageType damageType)
SpellCategoryIs(SpellCategory category)
SpellTypeIs(SpellType type)
IsSpellOfSchool(SpellSchool school)
HasStringInSpellRoll(string searchString, [bool checkMetaConditions])
HasStringInFunctorConditions(string searchString, [bool checkMetaConditions])
HasStringInSpellConditions(string searchString, [bool checkMetaConditions])
HasAoEConditions()
HasExtendableStatus()
HasUseCosts(string useCostDesc, [bool applyModifications, Entity source])
HasDuration(StatsFunctorType type, [float minDuration])
HasFunctor(StatsFunctorType type)
PassiveHasStatus(string)
SpellHasStatus(string statusId)
IsAnInstrumentRequired()
TurnBased([Entity target])
Player([Entity target])
Tagged(string tag, [Entity target])
HasAnyTags(table tagList, [Entity target])
HasNoTags(table tagList, [Entity target])
Party([Entity target])
Summon([Entity target])
IsInSightPyramid([Entity target, Vector3 position])
FreshCorpse([Entity target])
IsImmuneToStatus(string status, [Entity target, Entity source])
ActedThisRoundInCombat([Entity target])
HadTurnInCombat([Entity target])
IsSupply([Entity target])
IsStoryItem([Entity target])
CheckRulesetModifier(string modifierGuid, any value)
HasAnySpells([Entity target])
GetAttackAdvantage([Entity source, Entity target, bool isMainHand])
GetActiveArmor([Entity target])
Distance(Vector3 from, Vector3 to)
DistanceToEntityHitBounds(Vector3 from, Entity target)
GetEquipmentSlot([Entity target])
GetItemInEquipmentSlot(string slot, [Entity target])
GetAttackWeapon([Entity target])
GetActiveWeapon([Entity source, bool isMainHand])
CalculateSpellDC(Ability ability, [Entity source])
CalculateManeuverSaveDC([Entity source])
GetSummoner([Entity source, bool topOwner])
GetOwner([Entity source, bool topOwner])
GetSpellTargetRadius([Entity caster, Entity weapon])
GetSpellAreaRadius([Entity caster])
GetStatusDuration(string statusId, [Entity target])
Roll(int diceAmount, DiceType diceType, int additionalValue)
for chance calc: Attack(AttackType attackType, [bool advantage, bool disadvantage, Entity source, Vector3 sourcePosition, Entity target, Vector3 targetPosition])
for condition checks: Attack(AttackType attackType, [bool advantage, bool disadvantage, Entity target, Vector3 targetPosition, Entity source, Vector3 sourcePosition])
SavingThrow(Ability ability, int_or_RollOptions dcOptions, [bool advantage, bool disadvantage, Entity target])
SkillCheck(Skill skill, int_or_RollOptions dcOptions, [bool advantage, bool disadvantage, Entity target, Entity source])
AbilityCheck(Skill skill, int dc, [bool advantage, bool disadvantage, int additionalValue, Entity target, Entity source])
CanShortRest(string ignoreFlags)
GetTadpolePowersNumber([Entity target])
HasTadpolePower(string power, [Entity target])
IsInCombatWithHostilePartyMember(bool permanentlyHostile, [Entity target])
CrowdCharacter([Entity target])
@soulson
Copy link

soulson commented Sep 8, 2024

a few functions are missing from the list. hope this helps:

  • AreInSameCombat(target, source)
  • HasEquipmentWithAttribute(attribute, target)
  • IsCurrentTurnInCombat(target)
  • GetPreferredCastingAbility()
  • HasContextFlag(context)
  • Ally(target, source)
  • Enemy(target, source)
  • Character(target)
  • Item(target)
  • SummonOwner(target, source)
  • InSurface(gridStateStr, target, checkProxies)
  • Surface(gridStateStr, position, source)
  • CanTransformSurface(transformType, targetPosition, source)
  • HasStatus(status, target, source, ignoreDeletingStatuses)
  • HasAnyStatus(hasAnyStatuses, hasAllStatuses, hasNoneStatuses, target, source, ignoreDeletingStatuses)
  • CanPickup(target)
  • CanStand(templateId, position, source)
  • Immobilized(target)
  • Race(race, getOriginalRace, target)
  • IsInSunlight(target, checkClouds, checkGround)
  • CanMove(target, source, checkStack)
  • IsMovable(target)
  • IsUnimportant(target)
  • HasObscuredState(obscuredState, target)
  • HasObscuredStateAtPosition(obscuredState, position)
  • GetAlliesWithinRange(distance, target, source)
  • GetEnemiesWithinRange(distance, target, source)
  • GetItemsInInventory(target)
  • GetLiftingWeight(target, checkStacks)

@WaterWitch83
Copy link

WaterWitch83 commented Dec 7, 2024

I see you have Summon and SummonOwner. Can you add SummonInInventory? I assume the -1 means it lasts until a long rest and the 4 represents the quantity, but I'm not sure what the three false parameters at the end represent. Note: this is from the Goodberry spell.

SummonInInventory(GUID,-1,4,false,false,false)

@lostsoulman
Copy link

I see you have Summon and SummonOwner. Can you add SummonInInventory? I assume the -1 means it lasts until a long rest and the 4 represents the quantity, but I'm not sure what the three false parameters at the end represent. Note: this is from the Goodberry spell.

SummonInInventory(GUID,-1,4,false,false,false)

Hi WaterWitch83
Summonininventory can be found here: https://github.com/Norbyte/lslib/blob/master/LSLibDefinitions.xml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment