canary/data/scripts/lib
Eduardo Dantas 5ee38ce90a
feat: 15.13 npc module protocol and update NPC Lua scripts (#3982)
This commit standardizes NPC configuration across multiple Lua files by adding explicit profession and speechBubble properties to each affected NPC config.

The goal is to make each NPC role clear in the script itself and keep speech bubble behavior consistent between the server NPC configuration and the client presentation layer. NPCs now explicitly declare whether they are normal NPCs or trader NPCs, instead of relying on implicit or inconsistent defaults.

The profession value was added under npcConfig flags for all affected NPCs. Each NPC now uses either normal or trader depending on its expected role. This makes the NPC intent easier to read and helps avoid ambiguity when future scripts or client side behavior depend on the configured profession.

The speechBubble value was also added to each NPC config. Normal NPCs use SPEECHBUBBLE_NORMAL and trader NPCs use SPEECHBUBBLE_TRADE. This keeps the in game dialogue bubble aligned with the NPC role and improves consistency in how NPCs are displayed to players.

Main changes included in this commit

• Adds explicit profession configuration to affected NPC Lua files

• Uses normal for regular NPCs

• Uses trader for shop and trade related NPCs

• Adds explicit speechBubble configuration to affected NPC Lua files

• Uses SPEECHBUBBLE_NORMAL for normal NPC dialogue presentation

• Uses SPEECHBUBBLE_TRADE for trader NPC dialogue presentation

• Keeps NPC role information visible directly in each NPC config

• Reduces reliance on implicit default behavior

• Improves consistency between NPC server configuration and client side speech bubble rendering

• Aligns server NPC configs with the related client support added in tibia client PR 18

• Preserves existing NPC behavior while making the configuration more explicit

This is a configuration standardization change. It does not rework NPC logic or change the data access flow. The intended behavior remains the same, but the role and speech bubble metadata are now declared consistently so both server and client can interpret NPC presentation more reliably.
2026-07-01 10:12:58 -03:00
..
create_functions.lua fix: bestiary mitigation and move libs to core folder (#2175) 2024-02-05 20:15:42 +00:00
defaults_move_event.lua fix: bestiary mitigation and move libs to core folder (#2175) 2024-02-05 20:15:42 +00:00
helper_constructors.lua fix: bestiary mitigation and move libs to core folder (#2175) 2024-02-05 20:15:42 +00:00
proficiency_helper.lua feat: protocol 15.11 (weapon proficiency and new imbuement scroll) (#3845) 2026-05-21 14:34:39 -03:00
quests.lua fix: handle nil value for soul war to prevent errors with custom data (#2964) 2024-10-11 10:44:02 -03:00
register_achievements.lua feat: protocol 15.11 (weapon proficiency and new imbuement scroll) (#3845) 2026-05-21 14:34:39 -03:00
register_bestiary_charm.lua feat: protocol 14.12 (#3524) 2025-06-08 16:12:15 -03:00
register_item_tier.lua fix: bestiary mitigation and move libs to core folder (#2175) 2024-02-05 20:15:42 +00:00
register_lever_tables.lua feat: full soul war quest (#2535) 2024-09-11 19:32:24 -03:00
register_migrations.lua improve: move wheel scrolls to kv (#2637) 2024-05-24 00:46:48 -03:00
register_monster_type.lua feat: protocol 15.11 (weapon proficiency and new imbuement scroll) (#3845) 2026-05-21 14:34:39 -03:00
register_npc_type.lua feat: 15.13 npc module protocol and update NPC Lua scripts (#3982) 2026-07-01 10:12:58 -03:00
register_spells.lua feat: add Way of the Monk quest and monk-related content (#3794) 2026-02-12 23:03:25 -03:00
shops.lua feat: add Way of the Monk quest and monk-related content (#3794) 2026-02-12 23:03:25 -03:00