---
# System prepended metadata

title: appearance_flags

---

# New var: /atom/var/ignores_mob_sightings
* `0`: this will respect mob's sight flags
* `IGNORE_SIGHT`: this will be always visible by every mob regardless a mob can see this.
* `IGNORE_BLIND`: this will be always visible even if mob has BLIND flag. (to be honest, I am not sure when we will use this..)

![](https://hackmd.io/_uploads/SJWMDvQn3.png)

A and B can't see each others, but if A has `IGNORES_MOB_SIGHTING = IGNORE_SIGHT`, B can see A
If turf on A has `ignores_mob_sightings = IGNORE_SIGHT`, B can see that turf too.
This is basically to ignore SEE_MOBS, SEE_OBJS, SEE_TURFS flags in mob/sight

# New flags: /atom/var/vis_flags
### VIS_IGNORES_INVISIBILITY
Instead of inheriting `invisibility` from its vis parent, the object uses its own invisibility.
* i.e.) You are a ghost with 100 invisibility. Nobody can't see you generally, but you have an item in your `vis_contents`, and the item has `VIS_IGNORES_INVISIBILITY | VIS_INHERIT_ID` with 0 invisibility. 
They can't see ghost, but their mouse cursor will recognize the ghost by that item.

### VIS_IGNORES_SIGHT_FLAGS
This is the same thing to `IGNORES_MOB_SIGHTING` that's explained above, but vis_flag version.
vis_content will be visible to mobs regardless its vis parent has `IGNORES_MOB_SIGHTING = 0`. 

![](https://hackmd.io/_uploads/rkv02PX2h.png)

* i.e.) A has "unknown presence" in `vis_contents`, and that has `vis_flags = VIS_IGNORES_SIGHT_FLAGS`. 
Everyone can notice someone is there beyond the wall, but hovering a cursor on it will only tell "unknown presence".
If that has `vis_flags |= VIS_INHERIT_ID` as well, you can notice who that it is (but still can't see their appearance)


### VIS_IGNORES_SIGHT_BLIND
It's just `IGNORE_BLIND` for vis_flags. (to be honest, I am not sure when we will use this..)