Caged Kobold is an NPC mob found in the Ice Caves level. He is part of a quest where the player must free him from a cage using an Ice Key.
Class Structure:
Quest Mechanics:
1. Player approaches Caged Kobold in Ice Caves
2. NPC gives quest dialogue (CagedKobold_Intro) 3. Quest.given = true, Quest.processed = true 4. Journal entry added (Journal.Feature.CAGEDKOBOLD) 5. Player finds Ice Key 6. Player returns and exchanges Ice Key for CandleOfMindVision 7. Quest.complete() called 8. Journal entry removed 9. NPC transforms into candle (killAndErase)
Interaction Logic:
Spawn Behavior:
Sprite configuration (spritesDesc/CagedKobold.json):
{
"texture" : "mobs/caged_kobold.png",
"width" : 16,
"height" : 16,
"idle" : {
"fps" : 2,
"looped" : true,
"frames" : [0, 1, 2, 3]
},
"run" : {
"fps" : 2,
"looped" : true,
"frames" : [0, 1, 2, 3]
},
"attack" : {
"fps" : 2,
"looped" : true,
"frames" : [0, 1, 2, 3]
},
"die" : {
"fps" : 2,
"looped" : true,
"frames" : [0, 1, 2, 3]
}
}
English (values/strings_all.xml):
<string name="CagedKobold_Desc">A kobold, in a cage.</string> <string name="CagedKobold_Intro">Hey... HEY! You're the adventurer thingy, right? Help me out pal, these damn militarists locked me up in here! They wanted to reactivate an ancient weapon to conquer the humanoids up there! But it was too dangerous and I spoke against it, but they just threw me out and locked me up in this cage! Please find the cage key, in return I'll help you to the best of my abilities.</string> <string name="CagedKobold_Message1">Please...</string> <string name="CagedKobold_Message2">Hey buddy, you gotta help me out</string> <string name="CagedKobold_Message3">I hate everything about this cage</string> <string name="CagedKobold_Name">caged kobold</string> <string name="CagedKobold_Name_Objective">caged kobold</string> <string name="CagedKobold_Quest_End">Oh, thank you, thank you so much! How you managed to find the key? You... you destroyed the weapon?! That's incredible! You know what, I said I'll help you, and I think I know the best way to do it. I'll stick with you for a while. *Caged Kobold has turned into a candle</string> <string name="Journal_Caged_Kobold">Caged Kobold</string>
Russian (values-ru/strings_all.xml):
<string name="CagedKobold_Desc">Кобольд в клетке.</string> <string name="CagedKobold_Intro">Эй, эй! Ты ведь тот искатель приключений, да? Помоги мне выбраться, приятель, эти чертовы милитаристы заперли меня здесь! Они хотели реактивировать древнее оружие, чтобы завоевать гуманоидов наверху! Но это было слишком опасно, и я выступил против, но они просто выкинули меня и заперли в этой клетке! Пожалуйста, найди ключ от клетки, а взамен я помогу тебе, чем смогу.</string> <string name="CagedKobold_Message1">Пожалуйста...</string> <string name="CagedKobold_Message2">Эй, приятель, ты должен помочь мне</string> <string name="CagedKobold_Message3">Я ненавижу всё в этой клетке</string> <string name="CagedKobold_Name">запертый кобольд</string> <string name="CagedKobold_Name_Objective">запертый кобольд</string> <string name="CagedKobold_Quest_End">О, спасибо, спасибо большое! Как тебе удалось найти ключ? Ты... ты уничтожил оружие?! Это невероятно! Знаешь что, я сказал, что помогу тебе, и я думаю, что знаю лучший способ сделать это. Я побуду с тобой некоторое время. *Запертый кобольд превратился в свечу</string>
Other languages:
This entity is implemented in Java, no Lua script exists