User Tools

Site Tools


mr:plague_doctor_npc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
mr:plague_doctor_npc [2026/02/27 21:01] – Wiki maintenance: Fix link references and enhance mr: namespace pages Qwen Assistantmr:plague_doctor_npc [2026/02/27 21:02] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Plague Doctor NPC - Code References ======
  
 +{{ rpd:images:plague_doctor_npc_mob.png|Plague Doctor NPC }}
 +
 +**PlagueDoctorNPC** is an NPC entity in Remixed Dungeon that provides a quest involving rat hides and rewards the player with accessories.
 +
 +===== Java Classes =====
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/npc/PlagueDoctorNPC.java|PlagueDoctorNPC.java]] - Main NPC class extending ImmortalNPC
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/npc/ImmortalNPC.java|ImmortalNPC.java]] - Parent class for immortal NPCs
 +
 +===== Code Behavior =====
 +  * **Quest giver**: Offers a quest to collect 5 rat hides from rats
 +  * **Quest reward**: Gives MedicineMask after quest completion, PlagueDoctorMaskHood and PlagueDoctorMask for first completion
 +  * **Spawns in**: Sewers level (Town area)
 +  * **Special behavior**: Removed if hero class is DOCTOR (onSpawn check)
 +  * **Quest tracking**: Uses Journal.Feature.PLAGUEDOCTOR for quest tracking
 +  * **Rat interaction**: Rat.java calls PlagueDoctorNPC.Quest.process() when rat dies
 +  * **Badge unlock**: Unlocks DOCTOR_QUEST_COMPLETED badge on first completion
 +  * **Quest state**: Tracks given, completed, processed, and depth state in bundles
 +
 +===== Related Java Files =====
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/accessories/PlagueDoctorMask.java|PlagueDoctorMask.java]] - Quest reward accessory
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/accessories/PlagueDoctorMaskHood.java|PlagueDoctorMaskHood.java]] - Quest reward accessory
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/accessories/MedicineMask.java|MedicineMask.java]] - Quest completion reward
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/common/RatHide.java|RatHide.java]] - Quest item
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/common/RatArmor.java|RatArmor.java]] - Quest reward item
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/Rat.java|Rat.java]] - Calls quest process on death
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/Dungeon.java|Dungeon.java]] - Quest reset and bundle storage
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/Journal.java|Journal.java]] - Quest journal feature
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/Badges.java|Badges.java]] - Badge tracking
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/hero/HeroClass.java|HeroClass.java]] - Hero class check for DOCTOR
 +
 +===== JSON Configuration =====
 +This entity is implemented in Java, no JSON configuration exists
 +
 +===== String Resources =====
 +<code xml>
 +<string name="PlagueDoctorNPC_Name">plague doctor</string>
 +<string name="PlagueDoctorNPC_Gender">masculine</string>
 +<string name="PlagueDoctorNPC_Name_Objective">plague doctor</string>
 +<string name="PlagueDoctorNPC_Desc">The whole body of this humpbacked person is hidden under a leather jumpsuit. Also, from him comes a bitter smell of medicine and ... garlic?</string>
 +<string name="PlagueDoctorNPC_Quest_Start_Male">Bah! Can you believe it?! Those idiots still haven\'t realized how dangerous this damn sewer is! Like guards and adventurers can protect the town from anything. Hah! No weapon can stop the disease from spreading. But I need evidence, maybe you can help me with that? Bring me %d rat hides, so that I can do some additional tests.</string>
 +<string name="PlagueDoctorNPC_Quest_Start_Female">Bah! Can you believe it?! Those idiots still haven\'t realized how dangerous this damn sewer is! Like guards and adventurers can protect the town from anything. Hah! No weapon can stop the disease from spreading. But I need evidence, maybe you can help me with that? Bring me %d rat hides, so that I can do some additional tests.</string>
 +<string name="PlagueDoctorNPC_Quest_Reminder">Bring me %d rat hides.</string>
 +<string name="PlagueDoctorNPC_Quest_End">Ah, thank you, I hope these will have some trace of disease. Previous examples were absolutely harmless. So I made this for you while I was waiting for new samples.</string>
 +<string name="PlagueDoctorNPC_After_Quest">I\'ll show them, I\'ll show them all!</string>
 +<string name="Journal_PlagueDoctorNPC">Plague doctor</string>
 +<string name="PlagueDoctorNPC_After_Quest_2">You are still here? Here! Take this.</string>
 +</code>
 +
 +===== Lua Scripts =====
 +This entity is implemented in Java, no Lua script exists
 +
 +===== Related mr Entities =====
 +  * [[mr:rat_hide_item|Rat Hide (Item)]]
 +  * [[mr:rat_armor_item|Rat Armor (Item)]]
 +  * [[mr:medicine_mask_item|Medicine Mask (Item)]]
 +  * [[mr:plague_doctor_mask_item|Plague Doctor Mask (Item)]]
 +  * [[mr:plague_doctor_mask_hood_item|Plague Doctor Mask Hood (Item)]]
 +  * [[mr:doctor_class|Doctor (Class)]]
 +  * [[mr:rat_mob|Rat (Mob)]]