I wanted to have shadows in my game and thought the way they were implemented in Diablo was good enough. Any hints on how to produce a similar outcome?
The environment lighting demonstrated in your screenshots is largely tile-based. The effect is particularly notable along the diagonal just to the right of the enemies in the screenshot.
In such a system, the map is divided into tiles (which may or may not be the same tiles used to actually build the visuals of the map) and each tile has a base light level. Players and other objects have "light" values that are then added to this base light level to determine how bright or dim to shade any given tile. These light values generally decay in some fashion, per tile, in a radius around the object. For example, if the player has a light value of "3" and is standing at the center of a room, the player might impart light value bonuses as follows to the surrounding tiles:
+1 +1 +1 +1 +1 +1 +2 +2 +2 +1 +1 +2 +3 +2 +1 +1 +2 +2 +2 +1 +1 +1 +1 +1 +1
For additional realism, objects like walls can be marked as such to block or occlude the proliferation of the light pattern above.
As for the object shadows (those "cast" by the creatures), those can just be built in to the character's sprite. You can see this in the one demon at the bottom right of the fire column. It's shadow is clipping over the fire, and the fire itself does not impact its shadow at all. It does impact the environmental light as above, but not the creature's own shadow.