Design: Stealth/invis
Posted: Fri Aug 09, 2013 3:14 am
Just posting some design ideas for stealth abilities for later =).
1. Add stealth, invis, see stealth and see invis bool values to entities in the info struct
2. Add a check in the vis packet to check stealth/invis, set visual_flag as 1 if either are true; also force crouching while stealthed.
3. Add a (zoneserver iterator?) to check if spawns are either grey, or if a player has see-invis/stealth, add spawn access to players that meet these requirements only - friendly players should show regardless(ex: not a hostile pvp faction)
4. Add a see invis/stealth check for mob agro (could possibly just make this part of the spawn access check - not entirely sure how mobs will behave without access to a player)
5. Add an lua function to set stealthed/invis and another for the visions
6. While invis or stealthed set speed to whatever that spawn's stealth speed is set to (default is 0)
7. Finally add a check for if a player either casts, or gets attacked to cancel stealth/invis.
1. Add stealth, invis, see stealth and see invis bool values to entities in the info struct
2. Add a check in the vis packet to check stealth/invis, set visual_flag as 1 if either are true; also force crouching while stealthed.
3. Add a (zoneserver iterator?) to check if spawns are either grey, or if a player has see-invis/stealth, add spawn access to players that meet these requirements only - friendly players should show regardless(ex: not a hostile pvp faction)
4. Add a see invis/stealth check for mob agro (could possibly just make this part of the spawn access check - not entirely sure how mobs will behave without access to a player)
5. Add an lua function to set stealthed/invis and another for the visions
6. While invis or stealthed set speed to whatever that spawn's stealth speed is set to (default is 0)
7. Finally add a check for if a player either casts, or gets attacked to cancel stealth/invis.