Table of Contents

Shopkeeper Mob - Code References

Shopkeeper

Java Classes

Java Class Content

package com.watabou.pixeldungeon.actors.mobs.npcs;
 
import com.nyrds.Packable;
import com.nyrds.pixeldungeon.game.GameLoop;
import com.nyrds.pixeldungeon.items.Treasury;
import com.nyrds.pixeldungeon.mechanics.NamedEntityKind;
import com.nyrds.pixeldungeon.windows.WndShopOptions;
import com.nyrds.util.ModdingBase;
import com.watabou.pixeldungeon.Badges;
import com.watabou.pixeldungeon.Dungeon;
import com.watabou.pixeldungeon.actors.Char;
import com.watabou.pixeldungeon.actors.CharUtils;
import com.watabou.pixeldungeon.actors.buffs.Regeneration;
import com.watabou.pixeldungeon.effects.CellEmitter;
import com.watabou.pixeldungeon.effects.particles.ElmoParticle;
import com.watabou.pixeldungeon.items.Item;
import com.watabou.pixeldungeon.items.bags.Bag;
import com.watabou.pixeldungeon.items.food.Food;
import com.watabou.pixeldungeon.items.food.OverpricedRation;
import com.watabou.pixeldungeon.scenes.GameScene;
import com.watabou.pixeldungeon.windows.WndBag;
import org.jetbrains.annotations.NotNull;
 
public class Shopkeeper extends NPC {
	{
		spriteClass = "spritesDesc/Shopkeeper.json";
		movable = false;
		addImmunity(Regeneration.class);
	}
 
	@Packable
	public String bagSold = "";
 
	@Override
	public void damage(int dmg, @NotNull NamedEntityKind src ) {
		destroy();
		getSprite().killAndErase();
		CellEmitter.get( getPos() ).burst( ElmoParticle.FACTORY, 6 );
	}
 
	@Override
	public boolean reset() {
		return true;
	}
 
	@Override
	public boolean interact(final Char hero) {
		// Shop interaction logic
	}
}

JSON Configuration

String Resources

<string name="Shopkeeper_Name">shopkeeper</string>
<string name="Shopkeeper_Desc">This stout guy looks more appropriate for a trade district in some large city than for a dungeon. His prices explain why he prefers to do business here.</string>
<string name="Shopkeeper_text">Welcome to the local Pixel-Mart branch.\nHow can I help you?</string>
<string name="Shopkeeper_Buy">Select item to buy</string>
<string name="Shopkeeper_Sell">Select an item to sell</string>
<string name="Shopkeeper_SellPrompt">I have stuff to sell</string>
<string name="Shopkeeper_BuyPrompt">Let see your inventory</string>
<string name="Shopkeeper_title">Shop</string>

Lua Scripts

This entity is implemented in Java, no Lua script exists

Usage in Code