necropotions.dfn
[necromortar]
{
GET=base_item
NAME=a necromantic mortar and pestle
ID=0x1ae0
SCRIPT=5030
decay=1
}
[dragonsbloodpotion]
{
GET=base_item
NAME=Dragon's Blood Potion
ID=0x0E25
SCRIPT=5031
MOREY=1
decay=1
}
[batwingpotion]
{
GET=base_item
NAME=Batwing Potion
ID=0x0E26
SCRIPT=5031
MOREY=2
decay=1
}
[blackmoorpotion]
{
GET=base_item
NAME=Blackmoor Potion
ID=0x0E27
SCRIPT=5031
MOREY=3
decay=1
}
[bloodspawnpotion]
{
GET=base_item
NAME=Bloodspawn Potion
ID=0x0e28
SCRIPT=5031
MOREY=4
decay=1
}
[vialofbloodpotion]
{
GET=base_item
NAME=Vial of Blood Potion
ID=0x0efc
SCRIPT=5031
MOREY=5
decay=1
}
[bonepotion]
{
GET=base_item
NAME=Bone Potion
ID=0x0e29
SCRIPT=5031
MOREY=6
decay=1
}
[brimstonepotion]
{
GET=base_item
NAME=Brimstone Potion
ID=0x0e2a
SCRIPT=5031
MOREY=7
decay=1
}
[fertiledirtpotion]
{
GET=base_item
NAME=Fertile Dirt Potion
ID=0x0e2b
SCRIPT=5031
MOREY=8
decay=1
}
[executionerscappotion]
{
GET=base_item
NAME=Executioner's Cap Potion
ID=0x0e2c
SCRIPT=5031
MOREY=9
decay=1
}
[eyeofnewtpotion]
{
GET=base_item
NAME=Eye of Newt Potion
ID=0x0efb
SCRIPT=5031
MOREY=10
decay=1
}
[obsidianpotion]
{
GET=base_item
NAME=Obsidian Potion
ID=0x0efd
SCRIPT=5031
MOREY=11
decay=1
}
[pigironpotion]
{
GET=base_item
NAME=Pig Iron Potion
ID=0x0efe
SCRIPT=5031
MOREY=12
decay=1
}
[pumicepotion]
{
GET=base_item
NAME=Pumice Potion
ID=0x0eff
SCRIPT=5031
MOREY=13
decay=1
}
[serpentsscalepotion]
{
GET=base_item
NAME=Serpent's Scale Potion
ID=0x0f00
SCRIPT=5031
MOREY=14
decay=1
}
[deadwoodpotion]
{
GET=base_item
NAME=Dead Wood Potion
ID=0x0f02
SCRIPT=5031
MOREY=15
decay=1
}
[wyrmsheartpotion]
{
GET=base_item
NAME=Wyrm's Heart Potion
ID=0x0f03
SCRIPT=5031
MOREY=16
decay=1
}
[volcanicashpotion]
{
GET=base_item
NAME=Volcanic Ash Potion
ID=0x0f01
SCRIPT=5031
MOREY=17
decay=1
}
[emptybottle]
{
GET=base_item
NAME=an empty dragon's blood bottle
ID=0x0efd
decay=1
}
[emptybottle2]
{
GET=base_item
NAME=an empty batwing bottle
ID=0x0efe
decay=1
}
[emptybottle3]
{
GET=base_item
NAME=an empty blackmoor bottle
ID=0x0eff
decay=1
}
[emptybottle4]
{
GET=base_item
NAME=an empty bloodspawn bottle
ID=0x0f00
decay=1
}
[emptybottle5]
{
GET=base_item
NAME=an empty vial of blood bottle
ID=0x0f0e
decay=1
}
[emptybottle6]
{
GET=base_item
NAME=an empty bone bottle
ID=0x0e29
decay=1
}
[emptybottle7]
{
GET=base_item
NAME=an empty brimstone bottle
ID=0x0f02
decay=1
}
[emptybottle8]
{
GET=base_item
NAME=an empty Fertile Dirt bottle
ID=0x0f03
decay=1
}
[emptybottle9]
{
GET=base_item
NAME=an empty executioner's cap bottle
ID=0x0f04
decay=1
}
[emptybottle10]
{
GET=base_item
NAME=an empty eye of newt bottle
ID=0x0efb
decay=1
}
[emptybottle11]
{
GET=base_item
NAME=an empty obsidian bottle
ID=0x0efd
decay=1
}
[emptybottle12]
{
GET=base_item
NAME=an empty pig iron bottle
ID=0x0efe
decay=1
}
[emptybottle13]
{
GET=base_item
NAME=an empty pumice bottle
ID=0x0eff
decay=1
}
[emptybottle14]
{
GET=base_item
NAME=an empty serpent scale bottle
ID=0x0f00
decay=1
}
[emptybottle15]
{
GET=base_item
NAME=an empty volcanic ash bottle
ID=0x0f01
decay=1
}
[emptybottle16]
{
GET=base_item
NAME=an empty dead wood bottle
ID=0x0f02
decay=1
}
[emptybottle17]
{
GET=base_item
NAME=an empty wyrm's heart bottle
ID=0x0f03
decay=1
}
[dragonsblood]
{
GET=base_item
NAME=a dragon's blood
ID=0x0f82
pileable=1
amount=1
decay=1
}
[batwing]
{
GET=base_item
NAME=a batwing
ID=0x0f78
pileable=1
amount=1
decay=1
}
[blackmoor]
{
GET=base_item
NAME=a blackmoor
ID=0x0f79
pileable=1
amount=1
decay=1
}
[bloodspawn]
{
GET=base_item
NAME=a blood spawn
ID=0x0f7c
pileable=1
amount=1
decay=1
}
[vialofblood]
{
GET=base_item
NAME=a vial of blood
ID=0x0f7d
pileable=1
amount=1
decay=1
}
[bone]
{
GET=base_item
NAME=a bone
ID=0x0f7e
pileable=1
amount=1
decay=1
}
[brimstone]
{
GET=base_item
NAME=a brimstone
ID=0x0f7f
pileable=1
amount=1
decay=1
}
[fertiledirt]
{
GET=base_item
NAME=a fertile dirt
ID=0x0f81
pileable=1
amount=1
decay=1
}
[executionerscap]
{
GET=base_item
NAME=a executioners cap
ID=0x0f83
pileable=1
amount=1
decay=1
}
[eyeofnewt]
{
GET=base_item
NAME=a eye of newt
ID=0x0f83
pileable=1
amount=1
decay=1
}
[odbsidian]
{
GET=base_item
NAME=a odbsidian
ID=0x0f89
pileable=1
amount=1
decay=1
}
[pigiron]
{
GET=base_item
NAME=a pig iron
ID=0x0f8a
pileable=1
amount=1
decay=1
}
[pumice]
{
GET=base_item
NAME=a pumice
ID=0x0f8b
pileable=1
amount=1
decay=1
}
[seprentsscale]
{
GET=base_item
NAME=a seprents scale
ID=0x0f8e
pileable=1
amount=1
decay=1
}
[volcanicash]
{
GET=base_item
NAME=a volcanic ash
ID=0x0f8f
pileable=1
amount=1
decay=1
}
[deadwood]
{
GET=base_item
NAME=a dead wood
ID=0x0f90
pileable=1
amount=1
decay=1
}
[wyrmsheart]
{
GET=base_item
NAME=a wyrms heart
ID=0x0f91
pileable=1
amount=1
decay=1
}
necro.js
function onUseChecked ( pUser, iUsed )
{
// get users socket
var srcSock = pUser.socket;
// is it in users pack?
if( iUsed.container != null )
{
var iPackOwner = GetPackOwner( iUsed, 0 );
if( iPackOwner.serial != pUser.serial )
{
pUser.SysMessage( "This has to be in your backpack!" );
}
else
srcSock.CustomTarget( 0, "What do you want to use the necromantic mortar and pestle with?" );
}
else
pUser.SysMessage( "This has to be in your backpack!" );
return false;
}
function onCallback0( tSock, targSerial )
{
var pUser = tSock.currentChar;
var pName = pUser.name;
var StrangeByte = tSock.GetWord( 1 );
var targX = tSock.GetWord( 11 );
var targY = tSock.GetWord( 13 );
var targZ = tSock.GetSByte( 16 );
var tileID = tSock.GetWord( 17 );
if( tileID == 0 )
{ //Target is a Maptile
pUser.SysMessage("You cannot use necromantic mortar and pestle on that.");
}
else if( StrangeByte == 0 && targSerial.isChar )
{ //Target is a Character
pUser.SysMessage("You cannot use necromantic mortar and pestle on that.");
}
else
{
var resourceType = 0;
var resourceName = "";
var bottleType = 0;
var bottleName = "";
var potionName = "";
// Target is a Dynamic or Static Item
if( tileID == 0x0f82 )
{
resourceType = 0x0f82;
resourceName = "dragon's blood";
bottleType = 0x0f0e;
bottleName = "dragon's blood bottle";
potionName = "dragonsbloodpotion";
}
else if( tileID == 0x0f78 )
{
resourceType = 0x0f78;
resourceName = "batwing";
bottleType = 0x0f0e;
bottleName = "batwing bottle";
potionName = "batwingpotion";
}
else if( tileID == 0x0f79 )
{
resourceType = 0x0f79;
resourceName = "blackmoor";
bottleType = 0x0f0e;
bottleName = "blackmoor bottle";
potionName = "blackmoorpotion";
}
else if( tileID == 0x0f7c )
{
resourceType = 0x0f7c;
resourceName = "blood spawn";
bottleType = 0x0f0e;
bottleName = "bloodspawn bottle";
potionName = "bloodspawnpotion";
}
else if( tileID == 0x0f7d )
{
resourceType = 0x0f7d;
resourceName = "vial of blood";
bottleType = 0x0f0e;
bottleName = "vial of blood bottle";
potionName = "vialofbloodpotion";
}
else if( tileID == 0x0f7e )
{
resourceType = 0x0f7e;
resourceName = "bone";
bottleType = 0x0f0e;
bottleName = "bone bottle";
potionName = "bonepotion";
}
else if( tileID == 0x0f7f )
{
resourceType = 0x0f7f;
resourceName = "brimstone";
bottleType = 0x0f0e;
bottleName = "brimstone bottle";
potionName = "brimstonepotion";
}
else if( tileID == 0x0f81 )
{
resourceType = 0x0f81;
resourceName = "fertile dirt";
bottleType = 0x0f0e;
bottleName = "fertile dirt bottle";
potionName = "fertiledirtpotion";
}
else if( tileID == 0x0f83 )
{
resourceType = 0x0f83;
resourceName = "executioners cap";
bottleType = 0x0f0e;
bottleName = "executioner's cap bottle";
potionName = "executionerscappotion";
}
else if( tileID == 0x0f83 )
{
resourceType = 0x0f83;
resourceName = "eye of newt";
bottleType = 0x0f0e;
bottleName = "eye of newt bottle";
potionName = "eyeofnewtpotion";
}
else if( tileID == 0x0f89 )
{
resourceType = 0x0f89;
resourceName = "obsidian";
bottleType = 0x0f0e;
bottleName = "obsidian bottle";
potionName = "obsidianpotion";
}
else if( tileID == 0x0f8a )
{
resourceType = 0x0f8a;
resourceName = "pig iron";
bottleType = 0x0f0e;
bottleName = "pig iron bottle";
potionName = "pigironpotion";
}
else if( tileID == 0x0f8b )
{
resourceType = 0x0f8b;
resourceName = "pumice";
bottleType = 0x0f0e;
bottleName = "pumice bottle";
potionName = "pumicepotion";
}
else if( tileID == 0x0f8e )
{
resourceType = 0x0f8e;
resourceName = "seprent's scale";
bottleType = 0x0f0e;
bottleName = "serpent scale bottle";
potionName = "serpentsscalepotion";
}
else if( tileID == 0x0f8f )
{
resourceType = 0x0f8f;
resourceName = "volcanic ash";
bottleType = 0x0f0e;
bottleName = "volcanic ash bottle";
potionName = "volcanicashpotion";
}
else if( tileID == 0x0f90 )
{
resourceType = 0x0f90;
resourceName = "dead wood";
bottleType = 0x0f0e;
bottleName = "dead wood bottle";
potionName = "deadwoodpotion";
}
else if( tileID == 0x0f91 )
{
resourceType = 0x0f91;
resourceName = "wyrm's heart";
bottleType = 0x0f0e;
bottleName = "wyrm's heart bottle";
potionName = "wyrmsheartpotion";
}
// Common stuff shared between all resourcetypes
var iMakeResource = pUser.ResourceCount( bottleType ); // is there enough bottles to use up to make it
if( iMakeResource > 0 )
{
if( resourceType )
{
var iMakeResource2 = pUser.ResourceCount( resourceType ); // is there enough resources to use up to make it
if( iMakeResource2 > 0 )
{
pUser.UseResource( 1, resourceType ); // uses up a resource (amount, item ID, item colour)
pUser.UseResource( 1, bottleType );
pUser.SoundEffect( 0x0246, true );
pUser.DoAction( 0x22 );
// check the skill
if( !pUser.CheckSkill( 13, 0, 300 ) ) // character to check, skill #, minimum skill, and maximum skill
{
pUser.SysMessage( "You are too afraid and spill the liquid all over you." );
return;
}
var itemMade = CreateDFNItem( pUser.socket, pUser, potionName, 1, "ITEM", true ); // makes the potion
pUser.SysMessage( "A bottle materializes to form around the liquid." );
pUser.EmoteMessage( pName+ " grinds the " +resourceName +" successfully into a potion." );
}
else
pUser.SysMessage( "You don't seem to have any " +resourceName+ "!" );
}
}
else
pUser.SysMessage( "You don't seem to have an empty "+bottleName+"!" );
}
}