How to add a non playing character - lzbk/BrowserQuest GitHub Wiki

Like for adding an item start by drawing your sprite. As an example, we'll add a character called librarian.

##Create the corresponding entity The link between the entity and the sprite is to be defined in shared/js/gametypes.js. Assign a constant to the entity (in variable Types.Entities — attribute Entities of the variable Types —: LIBRARIAN: 58) and then make the link, by creating a kind (in variable kinds, add epigraphist: [Types.Entities.LIBRARIAN, "npc"]).

##Make the character talk Edit Npc with the sentences your character is supposed to say to the user.

##Create a class for your npc In client/js/npcs.js, create a class for your npc. E.g.:Librarian: Npc.extend({ init: function(id) { this._super(id,Types.Entities.LIBRARIAN,1); } }),

##Add a builder to the EntityFactory Associate the constructor of the class that was just created, to the entity ID it corresponds to: EntityFactory.builders[Types.Entities.LIBRARIAN] = function(id){ return new NPCs.Librarian(id); };

##Add the NPC to the game Add it to the spriteNames array.