Habilis
New member

View File
[NPC] Campfire to regenerate HP/SP
Originally:
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)
Thanks, meko!
But, I thought to myself, well, that is wonderful, but why not make it portable?
The Idea:
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.
Mechanics :
A phosphorus tipped stick that can be used to start a fire. (Now Indeed :meh: )
When you use the item
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.
Installation :
- To be able to use this script you need a plugin npc-duplicate.c
https://github.com/dastgirp/HPM-Plugins/blob/master/src/plugins/npc-duplicate.c
Install & enable this plugin
- This script uses a relatively new NPC sprite at the moment of writing this release.
4_BONFIRE
Therefore, you may have to edit the Hercules source to allow for this new NPC
To the /db/constants.conf
add this line:
4_BONFIRE: 10252
In the /src/map/npc.h
change this line:
This will allow for way more NPCsCode:#define MAX_NPC_CLASS2_END 10800
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
LuaFiles514/Lua Files/Datainfo/NPCIdentity.lub
LuaFiles514/Lua Files/Datainfo/jobName.lubCode:JT_4_BONFIRE = 10252,
Code:[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
Code:Type: 2 Delay: 3000 Script: <" callfunc("F_CreateCFDup"); ">
Configuration:
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
Code:
.@nofire_distance = 5; // How far from other NPCs allowed to make fire.
.@fire_duration = 1000 * 60 * 3;// 3 minutes (How long will the Campfire last, in ms)

