The updated G3 guide says the PickLock action doesn't work. I'll take their word for it, but it should be possible to simulate lock-picking by going through a series of stat checks. The Pick Locks skill is no. 26 in STATS.IDS, so how about this for a creature with that skill at 30 to 35:
IF CheckStatGT(Myself,29,26) CheckStatLT(Myself,31,26) THEN RESPONSE #65 MoveToObject("door/chest") DisplayString(Myself,"Sorry, couldn't do it.") RESPONSE #35 MoveToObject("door/chest") Unlock("door/chest") DisplayString(Myself,"There you go!") END
How about this? The 35% chance is a little generous for the 30-35% percentage, and the lock might be of some extreme difficulty which we can't actually measure, but I think those factors would only make this NPC ability more useful, and so enjoyable, in practice. The problem is getting the doors and the containers in that Object field generally, without having to write specific ones in there. NearestDoor() is a possibility for doors, though I don't know how well that works in practice - I tried it for BashDoor without much success, but there might have been bad code there.
At any rate, bashing doors is not a problem, a gnome could do it. The trick is a) getting the bashing to work on chests and b) with the lock-picking, the challenge is to have some way of making a creature aware of containers around it - hopefully this will not include a scroll case or a Bag of Holding. Once it is aware, we can use a series of checks like the one above, up to 100%, to simulate the picking. Any ideas?
P.S. Does an area-of-effect Knock work?