The entity kind for this mob is:
maze_shadow
Configuration file: MazeShadow.json
Key configuration properties:
Script file: MazeShadow.lua
The mob uses a custom interact function that swaps positions with the player:
local RPD = require "scripts/lib/commonClasses" local mob = require"scripts/lib/mob" return mob.init({ interact = function(self, chr) local ownPos = self:getPos() local newPos = chr:getPos() self:move(newPos) self:getSprite():move(ownPos, newPos) chr:move(ownPos) chr:getSprite():move(newPos, ownPos) end })
String resource keys used:
Shadow_Name- Mob name
Shadow_Name_Objective- Objective form of name
Shadow_Desc- Mob description
Shadow_Gender- Gender reference
Example English strings (from values/strings_all.xml):
<string name="Shadow_Name">Shadow</string> <string name="Shadow_Name_Objective">Shadow</string> <string name="Shadow_Desc">Shadows silently wander the ruins of the old prison. They only occasionally show themselves to adventurers, usually on their last adventure.</string>