There is a nice contribution from meko on that subject,
Menhir (Big rock that possesses magical powers and able to restore Health and Energy of Seekers resting/meditating nearby)
But, I thought to myself, well, that is wonderful, but why not make it portable?
An element of role play, a way to add functionality
to the item 7035 - Matchstick, To light a Campfire.
A Campfire is a portable temporary regeneration NPC.
OW, and it is configurable ;).
Campfire to restore / regenerate HP & SP.
When you sit by the Campfire, you start feeling the warmth and the comfort, thus your HP & SP begin to regenerate.
A phosphorus tipped stick that can be used to start a fire. (Now Indeed )
When you use the item Matchstick in your inventory, it will spawn a duplicate of the NPC called Campfire.
This will help you when you are in the field, farming, grinding, starting a Campfire will help you rest.
- You need to sit close to the Campfire (3 cells ) to feel the warmth.
- Anyone can sit by your Campfire and rest.
- Campfire lasts 2-3 minutes.
- Need to sit for at least some time to begin feeling the warmth and comfort.
- you cannot start a fire within 5 cells of another NPC
- If you use a match one more time, old Campfire disappears and a new one appears.
I think it will add an element of roleplay and romanticism to the gameplay.
To be able to use this script you need a plugin npc-duplicate.c
Install & enable this plugin
This script uses a relatively new NPC sprite at the moment of writing this release.
Therefore, you may have to edit the Hercules source to allow for this new NPC
To the /db/constants.conf
add this line:
In the /src/map/npc.h
change this line:
#define MAX_NPC_CLASS2_END 10800
This will allow for way more NPCs
Save and recompile Hercules.
In the client, you may not have this NPC
But luckily for you, I've included with this release a data.zip archive containing the NPC sprite
and the sound of striking a matchstick.
Just add it to your GRF or data folder if you use data folder.
In the client, Lua Files make sure you have this NPC sprite
JT_4_BONFIRE = 10252,
[jobtbl.JT_4_BONFIRE] = "4_bonfire",
In the /db/re/item_db.conf or /db/pre-re/item_db.conf
find Id: 7035
and add these 3 attributes
Script: <" callfunc("F_CreateCFDup"); ">
It is a configurable script
All of the parameters are explicitly commented for a better understanding of the rules
.refillHP_rate = 15; // number of HP to give every refill
.refillSP_rate = 5; // number of SP to give every refill
.refill_distance = 3; // max distance from fire HP/SP regeneration will work
.camp_fire_delay = 5; // Skip how many ticks before feel warm ;)
.refill_timer = 300; // wait rand(X) ms before refil
Feel free to adjust to your server needs
_distance = 5; // How far from other NPCs allowed to make fire.
_duration = 1000 * 60 * 3;// 3 minutes (How long will the Campfire last, in ms)