Page 1 of 1
die and custom vitals setup
Posted: Sat Feb 04, 2006 10:17 am
by zandor
In current script I can add vitals (vitals.cfg) but character dies
when life go to zero on vital "Life" and this is hard-coded.
A new setting in vital:
"DieWhen 0"
that decide tha character dies when precise vital reach zero?
It could be usefull to use "DieWhen" on multiple vital also.
What do you think?
Posted: Sat Feb 04, 2006 1:09 pm
by Yukiko
That's not a bad idea.
Like when mana reaches zero you die.
Could be like a set of flags. Might look something like this
// Flags to check for death on certain stats
ChecDeathStr 1 // a 1 means watch this stat a 0 means ignore this stat
CheckDeathSta 1
CheckDeathMan 1
DeathWhenStr 0 //sets the level to kill the character
DeathWhenSta 0
DeathWhenMan 0
Posted: Sat Feb 04, 2006 1:44 pm
by Pierce
I think there are more important things to do

Posted: Sat Feb 04, 2006 2:35 pm
by Yukiko
Ahem..
Please refrain from knocking ideas. This is a "suggestion" forum after all.
Besides the idea wpuld add versatility to the emulator. And POL is known for its versatility.
Posted: Sun Feb 05, 2006 6:14 am
by zandor
Vital customization is incomplete if scripter can't define itself when mobile die.
There is function death.src and chardeath.src in misc.
I think it could be also exist a
and
And after an old core function not very loved by staff (aready I suggested it):
that kill but do not pass from vital mechanisms. I think that if vitals are custom shuld be possibile kill a mobile without use vital internal core functions.
I could also need to define that player do not more ever but only script can do die it with KillMobile() command.
This could be very flexibile.
And it cound be nice also to "define" new player status... non only live od dead... for a player it cound be interesting applly a new "state" like not_dead and for every state define what to do with vitals.
A command like:
Code: Select all
const DIE := 0x01;
const LIVE := 0x02;
const NEW_STATE := 0x03;
ApplyMobileStatus(status);
that substituite:
Code: Select all
KillMobile() -> ApplyMobileStatus(DIE);
Resurrect(mobile, flags := 0); -> ApplyMobileStatus(LIVE);
Posted: Sun Feb 05, 2006 7:49 am
by Jasaka
I have only one simple word to comment this: lol
Posted: Sun Feb 05, 2006 1:44 pm
by Yukiko
*smirks*
lol is an acronym.
deathtest
Posted: Sun Feb 26, 2006 3:08 pm
by daneel
By the way, it would be nice if before calling death or chrdeath scripts, like when deciding wether an object is to be allowed for equipping with equiptest.ecl script, death would be tested with some (chr)deathtest.ecl script, returning 1 or 0 if the script is allowing or not death, respectively.
It's something like a generalized or customized invulnerability right; if the mob is invulnerable, the script is not called and death doesn't occur; otherwise the core runs (chr)death script only if (chr)deathtest returns 1.
It would be cool and useful for many situations
Regards