forked from github/server
bind regeneration (of health and aura) to Lua
This commit is contained in:
parent
e579210fec
commit
64a91a75a1
|
@ -42,6 +42,7 @@ function test_process()
|
||||||
assert_equal("function", _G.type(eressea.process.enter))
|
assert_equal("function", _G.type(eressea.process.enter))
|
||||||
assert_equal("function", _G.type(eressea.process.magic))
|
assert_equal("function", _G.type(eressea.process.magic))
|
||||||
assert_equal("function", _G.type(eressea.process.give_control))
|
assert_equal("function", _G.type(eressea.process.give_control))
|
||||||
|
assert_equal("function", _G.type(eressea.process.regeneration))
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_settings()
|
function test_settings()
|
||||||
|
|
|
@ -224,3 +224,8 @@ end
|
||||||
function test_process_give_control()
|
function test_process_give_control()
|
||||||
eressea.process.give_control()
|
eressea.process.give_control()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function test_process_regeneration()
|
||||||
|
eressea.process.regeneration()
|
||||||
|
end
|
||||||
|
|
||||||
|
|
|
@ -211,6 +211,11 @@ void process_give_control(void) {
|
||||||
process_cmd(K_CONTACT, give_control_cmd, 0);
|
process_cmd(K_CONTACT, give_control_cmd, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void process_regeneration(void) {
|
||||||
|
monthly_healing();
|
||||||
|
regenerate_aura();
|
||||||
|
}
|
||||||
|
|
||||||
void process_enter(int final) {
|
void process_enter(int final) {
|
||||||
region * r;
|
region * r;
|
||||||
for (r=regions; r; r=r->next) {
|
for (r=regions; r; r=r->next) {
|
||||||
|
|
|
@ -34,6 +34,7 @@ void process_contact(void);
|
||||||
void process_enter(int final);
|
void process_enter(int final);
|
||||||
void process_magic(void);
|
void process_magic(void);
|
||||||
void process_give_control(void);
|
void process_give_control(void);
|
||||||
|
void process_regeneration(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,5 +31,6 @@ module eressea {
|
||||||
void process_enter @ enter(int message); /* ENTER */
|
void process_enter @ enter(int message); /* ENTER */
|
||||||
void process_magic @ magic(void); /* CAST */
|
void process_magic @ magic(void); /* CAST */
|
||||||
void process_give_control @ give_control(void); /* GIVE CONTROL */
|
void process_give_control @ give_control(void); /* GIVE CONTROL */
|
||||||
|
void process_regeneration @ regeneration(void); /* regen health & aura */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1514,9 +1514,16 @@ void quit(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
destroyfaction(f);
|
destroyfaction(f);
|
||||||
|
} else {
|
||||||
|
++f->age;
|
||||||
|
if (f->age + 1 < NewbieImmunity()) {
|
||||||
|
ADDMSG(&f->msgs, msg_message("newbieimmunity", "turns",
|
||||||
|
NewbieImmunity() - f->age - 1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (*fptr == f)
|
if (*fptr == f) {
|
||||||
fptr = &f->next;
|
fptr = &f->next;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
remove_idle_players();
|
remove_idle_players();
|
||||||
remove_empty_units();
|
remove_empty_units();
|
||||||
|
@ -3773,7 +3780,7 @@ static double heal_factor(const unit * u)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void monthly_healing(void)
|
void monthly_healing(void)
|
||||||
{
|
{
|
||||||
region *r;
|
region *r;
|
||||||
static const curse_type *heal_ct = NULL;
|
static const curse_type *heal_ct = NULL;
|
||||||
|
@ -3979,19 +3986,6 @@ static void update_spells(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void age_factions(void)
|
|
||||||
{
|
|
||||||
faction *f;
|
|
||||||
|
|
||||||
for (f = factions; f; f = f->next) {
|
|
||||||
++f->age;
|
|
||||||
if (f->age + 1 < NewbieImmunity()) {
|
|
||||||
ADDMSG(&f->msgs, msg_message("newbieimmunity", "turns",
|
|
||||||
NewbieImmunity() - f->age - 1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int use_cmd(unit * u, struct order *ord)
|
int use_cmd(unit * u, struct order *ord)
|
||||||
{
|
{
|
||||||
const char *t;
|
const char *t;
|
||||||
|
@ -4489,7 +4483,6 @@ void init_processor(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
p += 10;
|
p += 10;
|
||||||
add_proc_global(p, &age_factions, "Parteienalter++");
|
|
||||||
add_proc_order(p, K_MAIL, &mail_cmd, 0, "Botschaften");
|
add_proc_order(p, K_MAIL, &mail_cmd, 0, "Botschaften");
|
||||||
add_proc_order(p, K_CONTACT, &contact_cmd, 0, "Kontaktieren");
|
add_proc_order(p, K_CONTACT, &contact_cmd, 0, "Kontaktieren");
|
||||||
|
|
||||||
|
@ -4580,7 +4573,7 @@ void init_processor(void)
|
||||||
p += 10;
|
p += 10;
|
||||||
|
|
||||||
add_proc_global(p, &monthly_healing, "Regeneration (HP)");
|
add_proc_global(p, &monthly_healing, "Regeneration (HP)");
|
||||||
add_proc_global(p, ®eneration_magiepunkte, "Regeneration (Aura)");
|
add_proc_global(p, ®enerate_aura, "Regeneration (Aura)");
|
||||||
if (!global.disabled[K_DEFAULT]) {
|
if (!global.disabled[K_DEFAULT]) {
|
||||||
add_proc_global(p, &defaultorders, "Defaults setzen");
|
add_proc_global(p, &defaultorders, "Defaults setzen");
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,6 +51,7 @@ extern "C" {
|
||||||
|
|
||||||
extern void new_units(void);
|
extern void new_units(void);
|
||||||
extern void quit(void);
|
extern void quit(void);
|
||||||
|
extern void monthly_healing(void);
|
||||||
extern void renumber_factions(void);
|
extern void renumber_factions(void);
|
||||||
extern void restack_units(void);
|
extern void restack_units(void);
|
||||||
extern void update_long_order(struct unit *u);
|
extern void update_long_order(struct unit *u);
|
||||||
|
|
|
@ -1445,7 +1445,7 @@ static double regeneration(unit * u)
|
||||||
return aura;
|
return aura;
|
||||||
}
|
}
|
||||||
|
|
||||||
void regeneration_magiepunkte(void)
|
void regenerate_aura(void)
|
||||||
{
|
{
|
||||||
region *r;
|
region *r;
|
||||||
unit *u;
|
unit *u;
|
||||||
|
|
|
@ -192,7 +192,7 @@ typedef struct sc_mage {
|
||||||
|
|
||||||
void magic(void);
|
void magic(void);
|
||||||
|
|
||||||
void regeneration_magiepunkte(void);
|
void regenerate_aura(void);
|
||||||
|
|
||||||
extern struct attrib_type at_seenspell;
|
extern struct attrib_type at_seenspell;
|
||||||
extern struct attrib_type at_mage;
|
extern struct attrib_type at_mage;
|
||||||
|
|
Loading…
Reference in New Issue