[English] List of all Filter-functions (Filter.dbt)

  • 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.