Sphereserver / Source-X

Ultima Online server emulator
Apache License 2.0
58 stars 47 forks source link

Canflag/Override for NPCs to push through one another #715

Closed Soulless-1 closed 3 years ago

Soulless-1 commented 3 years ago

Can we get an override or MT flag for npcs to push through each other and completely ignore one another mt_shove_ignore mt_shove

something along the lines of that. or a tag.override.shove perhaps

it would also be good to not have the npc spam its speech when personal space is invaded if these flags / canflags are active. issue for npc speech spam already open https://github.com/Sphereserver/Source-X/issues/677#issue-882826744

Soulless-1 commented 3 years ago

just an example of a situation where this would be good to have, with squads of npcs, they should be able to push through their own squad members, or in this case they are guards and they should be able to just walk right over anyone.

https://user-images.githubusercontent.com/17236327/123224622-fcbc0080-d49f-11eb-84ce-848d527d6f76.mp4

drk84 commented 3 years ago

I can add tag.overrie.shove beause it seems the can mask is already full

Soulless-1 commented 3 years ago

I think a tag would be good, as long as it's on the npc doing the shoving, and allows them to pass through the other mobile without any checks or stopping them.

drk84 commented 3 years ago

fix sent

Soulless-1 commented 3 years ago

override tag works, though after some more research into this matter. It seems that the default sphere behavior of not allowing npcs to push through each other is incorrect. In UO this is possible, and it should be considered the expected behavior. And also making it work properly will resolve some exploitative and abusive game play mechanics employed by players. Looking back I can remember many times this has come up as an issue over the course of many shards and years.

You can effectively trap players by sending many npcs to follow them and they will have to escape by pushing by many many npcs since npcs will take up maximum room cause they cannot shove one another. You can block locations and cause extra hardships on someone, such as entering their own house, having to push through dozens of npcs placed there by a player. You can funnel difficult npcs into a tight area allowing yourself to escape any real legitimate risk of being overwhelmed and killed.

I think perhaps this should be considered a toggle to prevent npcs from shoving through one another, and left off by default. We can spare admins who want the standard uo shard thousands of tags, and continue to allow people to customize their shard as well this way.

drk84 commented 3 years ago

I can add a new setting in the ini for that, but by default it will be disabled like the container inside container

Soulless-1 commented 3 years ago

well the setting is the important part, doesnt have to be enabled :) Just having it so people can emulate uo properly, and without needing to jump through hoops. Thank you for your service!

I think it would be a good ini setting

drk84 commented 3 years ago

added the ini flag

Soulless-1 commented 3 years ago

Looks like it works good, thank you!

Jhobean commented 8 months ago

I check this feature now and I see it require 10 STAM for a NPC to pass. it's normal or it should be insta pass like GM?

Soulless-1 commented 7 months ago

from what i see it should require them to have stam to pass, thats how it operates by standard at least. in a script someone could prevent that though with @personalspace