General
(Object.Type == Position)
(Object.Type == Sim)
(Object.Type == Cart)
(Object.Type == Building)
(Object.Type==Vehicle) -- not sure.carts and ships? In the scripts Ships are counted as carts aswell though
(Object.GetObjectsByRadius(Building)==600) -- gets objects in range. Object type can be changed for sim, cart etc. attention, can get a lot of possible results!
(Object.GetLevel()==2) -- referenced as a building. Might work with sims aswell
(Object.GetState(state)) --> statename from scripts/states
(Object.CanAttack()) -- fisher boats can't attack, but not sure how this is done. State_impact no attack maybe?
(Object.IsInFight()) --> If battle is true
(Object.IsHostile()) --> now, this is a tricky one. Normally it refers to objects you are in battle with but I already experienced trouble when you are in battle and there are characters with very low favor nearby (even though they didn't attack me)
(Object.Property.PropertyName==1) -- Can be any name from any property you created in your scripts and any value you want
(Object.LacksProperty('is_apprentice')) -- opposite of having a property
(Object.IsClass(1)) --> this is tricky. It refers to characterclasses aswell as building classes, depending on what object you have selected before.
(Object.CompareHPRelative()<99) --> any HP percentage you want to check. Works for sims and buildings
(Object.HasImpact(EmbezzlePublicMoney)) --> Any impactname from DB/Impacts.dbt
(Object.GetItemCnt(AboutTalents1)>0) --> any itemname from DB/Items.dbt
(Object.IsMultiplayer()) -- true if the game is a multiplayer session
(Object.IsResourceMeasure()) -- has something to do with creating new resources (peasant)
(Object.GetResourceScriptFunction()=='Fishing') -- that refers to gather.lua iirc
(Object.GetReligion()>=0) -- RELIGION_CATHOLIC/RELIGION_EVANGELIC or RELIGION_NONE -- works for buildings aswell
(Object.HasSameReligion('Owner')) -- the string is probably the Alias from the Script init function. Might be hardcoded 'Owner' and 'Destination'
Dynasty-Related
(Object.BelongsToMe()) --> This works for buildings, family members and for employees.
(Object.CanBeControlled())--> This works unless the object has the StateImpact 'no_control'
(Object.HasDynasty())
(Object.IsDynastySim()) -- Dynasty sims are also NPCs sometimes. Target measures should use the correct target measure object instead (MeasureToObjects.dbt)
Building-Related
(Object.IsInBuilding())
(Object.CanHireNewWorker()) -- probably means that you have enough slots open.
(Object.IsBuyable()) --> This is for buildings on sale
(Object.CanLevelUp()) --> This is used for building levels. Maybe working for sims aswell?
(Object.GetInsideBuilding()) --> Gets the building you are currently in. False if outside
(Object.HasUpgrade(UpgradeName)) --> Name from DB/BuildingUpgrades.dbt
(Object.CameraIsInBuilding()) --> Probably checks whether you look at an indoor scene
(Object.Property.HasIndoor > 0) --> HasIndoor is probably a hardcoded property name?
(Object.HasItemToSell()) --> For market. Maybe for buildings aswell
(Object.IsType(4)) --> This refers to building types. See DB/BuildingTypes.dbt
(Object.IsBuildingOwnedByMe()) --> not sure if that refers to dynasty ownage or character ownage. might be the latter
(Object.CanBuildingBeOwnedByMe()) --> this probably checks for class and level requirements
(Object.IsBuildingMyHome()) -- Checks for GetHome
(Object.CanBeGathered()) --> for buildings that are resources
(Object.BuildingHasPrisoner()) -- this works for thieve huts. might work on the public prison aswell
Sim Related
(Object.CanHire()) --> probably means that you can hire the object
(Object.GetProfession()== ID) --> ID from DB/Professions.dbt, Dynasty chars have profession 0
(Object.CanWorkHere()) --> Only works with actions, that appear when your object is inside a building.
(Object.GetWorkBuilding()) --> works for employees
(Object.GetOwnedBuildings()) -- this only works for dynasty sims and will probably get a full list of objects. Make sure to get the type next.
(Object.MinAge(16)) --> this is only really needed for targets. For Object-Filter use 'CanBeControlled' instead. Unless you want to attach a measure to a non-controllable child.
(Object.IsNotAloneInRoom()) --> not sure if that counts NPCs aswell.
(Object.IsInBuilding(player)) --> this is really interesting. Not sure if player is hardcoded parameter or not
(Object.WillFollow(Owner)) --> follow only works on specific sims. Check FollowSim.lua
(Object.IsQuestSource()) -- probably if the Object started a quest (like the tutorial/campaign quests)
(Object.CanMoveTo(Destination)) --> I am not sure if that relates to pathfinding or anything else. Destination is probably the destination from measure init.
(Object.IsInOfficeBuilding()) --> probably just a quicker way to check for insidebuilding with type TOWNHALL
(Object.CanGatherResource()) --> not sure
(Object.ActionAdmissible()) --> this probably checks for state impacts that forbid interactions
(Object.HasAccessToItem(MiracleCure)) -- that probably refers to ai_HasAccessToItem and also counts the items in work buildings
(Object.HasBehavior(Schooldays)) -- behavior as an Scripts/Measures/Behavior (name from Measures.dbt)
(Object.CanCryForGuards()) -- sims who witness a crime I guess (actions which are evidence?)
(Object.HasSquad()) -- squads are created by the AI. You can do it as a player aswell if you press ctrl + number
(Object.CanJoinSquad()) -- not sure why this can by false
Carts
(Object.IsOnVehicle()) -- this is for cart operators
(Object.VehicleHasOperator())
(Object.IsInOwnLoadingRange()) --> this is cart related. Maybe if a cart is in reach of the building to appear in the storage list. Might work on sims aswell
Courting
(Object.HasDifferentSex())
(Object.CanCourt()) --> this is false if you are married. It probably is true if you just are 'in remorse
(Object.CanBeCourted()) --> the same
(Object.IsMarried())
(Object.HasCourtLover()) --> ongoing courtship
(Object.HasLiaison()) --> liason is a hardcoded status like married
(Object.IsSocialMeasureTarget()) -- not sure
(Object.HasFullLoverProgress()) -- 100% progress bar. hardcoded
(Object.IsMySpouse()) --pretty clear
(Object.IsMyLiaison())
(Object.IsMyLover()) --> Lover as in Courtlover? Not sure if that works with spouses or liasons aswell
(Object.IsMyCourtLover()) -- weird cause there is also IsMyLover
Office/Trial
(Object.EnoughEvidenceAgainst()) -->not sure how much 'enough' is
(Object.CanBeThreated()) -- you need evidence for that. maybe also checks for forced alliances
(Object.IsOfficeLevelLower(6)) -- has a lower office level than 6? See GetOfficeLevel
(Object.HasOfficeType(3)) -- For OfficeTypes see DB/Offices.dbt
(Object.InTalk()) --> talk is a hardcoded status, used to transfer evidence. Maybe also true for quest talks, unsure
(Object.PlayerHasOfficeImpact('CommandCityGuard')) --> office impacts are stored inside the privilege scripts iirc
(Object.IsVacantOffice()) -- if office is empty
(Object.IsOfficeBearer()) -- if object has an office
(Object.HasOfficeAccess('apply')) -- OfficeGetAccessRights says: (EN_POLL = 1, EN_REELECT = 2, EN_REMOVE = 4, EN_APPLY = 8
(Object.HasOfficeAccess('deposit')) -- same
(Object.HasOfficeAccess('leave')) -- yea
(Object.HasMinNobilityTitle(4)) --> Nobility title >=4 (see DB/NobilityTitles.dbt)
Cutscenes
(Object.CheckCutscene()) -- this means whether the character currently is in a cutscene
(Object.CanBeControlledInCutscene()) -- only relevant for cutscene break out sessions
(Object.HudIsInCutscene()) --> not sure
(Object.IsInventoryVisible()) --> HUD related
I'll edit this if I find more. Feel free to add.