forked from github/server
Unicode WIP:
- completed i18n for spells.c - started on i18n for combatspells
This commit is contained in:
parent
d37f068104
commit
7e36df93a4
5 changed files with 109 additions and 60 deletions
|
@ -239,14 +239,6 @@ message_all(battle * b, message * m)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
battlerecord(battle * b, const char *s)
|
|
||||||
{
|
|
||||||
struct message * m = msg_message("battle_msg", "string", s);
|
|
||||||
message_all(b, m);
|
|
||||||
msg_release(m);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
fbattlerecord(battle * b, faction * f, const char *s)
|
fbattlerecord(battle * b, faction * f, const char *s)
|
||||||
{
|
{
|
||||||
|
|
|
@ -238,7 +238,6 @@ extern "C" {
|
||||||
extern troop select_enemy(struct fighter * af, int minrow, int maxrow, int select);
|
extern troop select_enemy(struct fighter * af, int minrow, int maxrow, int select);
|
||||||
extern int count_enemies(struct battle * b, const struct fighter * af, int minrow, int maxrow, int select);
|
extern int count_enemies(struct battle * b, const struct fighter * af, int minrow, int maxrow, int select);
|
||||||
extern boolean terminate(troop dt, troop at, int type, const char *damage, boolean missile);
|
extern boolean terminate(troop dt, troop at, int type, const char *damage, boolean missile);
|
||||||
extern void battlerecord(battle * b, const char *s);
|
|
||||||
extern void message_all(battle * b, struct message * m);
|
extern void message_all(battle * b, struct message * m);
|
||||||
extern void message_faction(battle * b, struct faction * f, struct message * m);
|
extern void message_faction(battle * b, struct faction * f, struct message * m);
|
||||||
extern int hits(troop at, troop dt, weapon * awp);
|
extern int hits(troop at, troop dt, weapon * awp);
|
||||||
|
|
|
@ -525,21 +525,7 @@ sp_mindblast(fighter * fi, int level, double power, spell * sp)
|
||||||
--force;
|
--force;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(buf, "%d Krieger %s Erinnerungen", k, k == 1 ? "verliert" : "verlieren");
|
m = msg_message("sp_midblast_effect", "mage spell amount dead", mage, sp, k, killed);
|
||||||
|
|
||||||
if (killed > 0) {
|
|
||||||
scat(", ");
|
|
||||||
icat(killed);
|
|
||||||
scat(" Krieger ");
|
|
||||||
if (killed == 1) {
|
|
||||||
scat("wurde");
|
|
||||||
} else {
|
|
||||||
scat("wurden");
|
|
||||||
}
|
|
||||||
scat(" getötet");
|
|
||||||
}
|
|
||||||
|
|
||||||
m = msg_message("cast_spell_effect", "mage spell effect", mage, sp, buf);
|
|
||||||
message_all(b, m);
|
message_all(b, m);
|
||||||
msg_release(m);
|
msg_release(m);
|
||||||
return level;
|
return level;
|
||||||
|
@ -699,6 +685,7 @@ sp_shadowcall(fighter * fi, int level, double power, spell * sp)
|
||||||
unit *u;
|
unit *u;
|
||||||
const char * races[3] = { "shadowbat", "nightmare", "vampunicorn" };
|
const char * races[3] = { "shadowbat", "nightmare", "vampunicorn" };
|
||||||
const race *rc = rc_find(races[rng_int()%3]);
|
const race *rc = rc_find(races[rng_int()%3]);
|
||||||
|
message * msg;
|
||||||
|
|
||||||
unused(sp);
|
unused(sp);
|
||||||
|
|
||||||
|
@ -715,9 +702,9 @@ sp_shadowcall(fighter * fi, int level, double power, spell * sp)
|
||||||
a_add(&u->attribs, a);
|
a_add(&u->attribs, a);
|
||||||
|
|
||||||
make_fighter(b, u, fi->side, is_attacker(fi));
|
make_fighter(b, u, fi->side, is_attacker(fi));
|
||||||
sprintf(buf, "%s ruft %d %s zu Hilfe", unitname(mage), force,
|
msg = msg_message("sp_shadowcall_effect", "mage amount race", mage, u->number, u->race);
|
||||||
racename(default_locale, u, u->race));
|
message_all(b, msg);
|
||||||
battlerecord(b, buf);
|
msg_release(msg);
|
||||||
return level;
|
return level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1308,7 +1295,7 @@ sp_armorshield(fighter * fi, int level, double power, spell * sp)
|
||||||
int effect;
|
int effect;
|
||||||
int duration;
|
int duration;
|
||||||
battle *b = fi->side->battle;
|
battle *b = fi->side->battle;
|
||||||
message * m = msg_message("cast_spell_effect", "mage spell effect", fi->unit, sp, "");
|
message * m = msg_message("cast_spell_effect", "mage spell", fi->unit, sp);
|
||||||
|
|
||||||
message_all(b, m);
|
message_all(b, m);
|
||||||
msg_release(m);
|
msg_release(m);
|
||||||
|
@ -1335,7 +1322,7 @@ sp_reduceshield(fighter * fi, int level, double power, spell * sp)
|
||||||
int effect;
|
int effect;
|
||||||
int duration;
|
int duration;
|
||||||
battle *b = fi->side->battle;
|
battle *b = fi->side->battle;
|
||||||
message * m = msg_message("cast_spell_effect", "mage spell effect", fi->unit, sp, "");
|
message * m = msg_message("cast_spell_effect", "mage spell", fi->unit, sp);
|
||||||
message_all(b, m);
|
message_all(b, m);
|
||||||
msg_release(m);
|
msg_release(m);
|
||||||
|
|
||||||
|
@ -1362,7 +1349,7 @@ sp_fumbleshield(fighter * fi, int level, double power, spell * sp)
|
||||||
int effect;
|
int effect;
|
||||||
int duration;
|
int duration;
|
||||||
battle *b = fi->side->battle;
|
battle *b = fi->side->battle;
|
||||||
message * m = msg_message("cast_spell_effect", "mage spell effect", fi->unit, sp, "");
|
message * m = msg_message("cast_spell_effect", "mage spell", fi->unit, sp);
|
||||||
|
|
||||||
message_all(b, m);
|
message_all(b, m);
|
||||||
msg_release(m);
|
msg_release(m);
|
||||||
|
@ -1464,7 +1451,7 @@ int
|
||||||
sp_keeploot(fighter * fi, int level, double power, spell * sp)
|
sp_keeploot(fighter * fi, int level, double power, spell * sp)
|
||||||
{
|
{
|
||||||
battle *b = fi->side->battle;
|
battle *b = fi->side->battle;
|
||||||
message * m = msg_message("cast_spell_effect", "mage spell effect", fi->unit, sp, "");
|
message * m = msg_message("cast_spell_effect", "mage spell", fi->unit, sp);
|
||||||
|
|
||||||
message_all(b, m);
|
message_all(b, m);
|
||||||
msg_release(m);
|
msg_release(m);
|
||||||
|
|
|
@ -5506,7 +5506,7 @@ sp_pullastral(castorder *co)
|
||||||
rl2 = rl2->next;
|
rl2 = rl2->next;
|
||||||
}
|
}
|
||||||
if (!rl2) {
|
if (!rl2) {
|
||||||
ADDMSG(&u->faction->msgs, msg_feedback(u, co->order, "spellfail::nocontact",
|
ADDMSG(&mage->faction->msgs, msg_feedback(mage, co->order, "spellfail::nocontact",
|
||||||
"target", rt));
|
"target", rt));
|
||||||
free_regionlist(rl);
|
free_regionlist(rl);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -6079,6 +6079,7 @@ sp_eternizewall(castorder *co)
|
||||||
int cast_level = co->level;
|
int cast_level = co->level;
|
||||||
double power = co->force;
|
double power = co->force;
|
||||||
spellparameter *pa = co->par;
|
spellparameter *pa = co->par;
|
||||||
|
message * msg;
|
||||||
|
|
||||||
/* wenn kein Ziel gefunden, Zauber abbrechen */
|
/* wenn kein Ziel gefunden, Zauber abbrechen */
|
||||||
if (pa->param[0]->flag == TARGET_NOTFOUND) return 0;
|
if (pa->param[0]->flag == TARGET_NOTFOUND) return 0;
|
||||||
|
@ -6094,17 +6095,21 @@ sp_eternizewall(castorder *co)
|
||||||
|
|
||||||
/* melden, 1x pro Partei in der Burg */
|
/* melden, 1x pro Partei in der Burg */
|
||||||
for (u = r->units; u; u = u->next) freset(u->faction, FFL_SELECT);
|
for (u = r->units; u; u = u->next) freset(u->faction, FFL_SELECT);
|
||||||
|
msg = msg_message("sp_eternizewall_effect", "mage building region", mage, b, r);
|
||||||
for (u = r->units; u; u = u->next) {
|
for (u = r->units; u; u = u->next) {
|
||||||
if (!fval(u->faction, FFL_SELECT)) {
|
if (!fval(u->faction, FFL_SELECT)) {
|
||||||
fset(u->faction, FFL_SELECT);
|
fset(u->faction, FFL_SELECT);
|
||||||
if (u->building == b) {
|
if (u->building == b) {
|
||||||
sprintf(buf, "Mit einem Ritual bindet %s die magischen Kräfte "
|
r_addmessage(r, u->faction, msg);
|
||||||
"der Erde in die Mauern von %s", unitname(mage),
|
|
||||||
buildingname(b));
|
|
||||||
addmessage(r, u->faction, buf, MSG_EVENT, ML_INFO);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (r!=mage->region) {
|
||||||
|
add_message(&mage->faction->msgs, msg);
|
||||||
|
} else if (mage->building!=b) {
|
||||||
|
r_addmessage(r, mage->faction, msg);
|
||||||
|
}
|
||||||
|
msg_release(msg);
|
||||||
|
|
||||||
return cast_level;
|
return cast_level;
|
||||||
}
|
}
|
||||||
|
@ -6133,11 +6138,11 @@ sp_permtransfer(castorder *co)
|
||||||
{
|
{
|
||||||
int aura;
|
int aura;
|
||||||
unit *tu;
|
unit *tu;
|
||||||
region *r = co->rt;
|
|
||||||
unit *mage = co->magician.u;
|
unit *mage = co->magician.u;
|
||||||
int cast_level = co->level;
|
int cast_level = co->level;
|
||||||
spellparameter *pa = co->par;
|
spellparameter *pa = co->par;
|
||||||
const spell *sp = co->sp;
|
const spell *sp = co->sp;
|
||||||
|
message * msg;
|
||||||
|
|
||||||
/* wenn kein Ziel gefunden, Zauber abbrechen */
|
/* wenn kein Ziel gefunden, Zauber abbrechen */
|
||||||
if (pa->param[0]->flag == TARGET_NOTFOUND) return 0;
|
if (pa->param[0]->flag == TARGET_NOTFOUND) return 0;
|
||||||
|
@ -6167,8 +6172,12 @@ sp_permtransfer(castorder *co)
|
||||||
change_maxspellpoints(tu, aura/3);
|
change_maxspellpoints(tu, aura/3);
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(buf, "%s opfert %s %d Aura.", unitname(mage), unitname(tu), aura);
|
msg = msg_message("sp_permtransfer_effect", "mage target amount", mage, tu, aura);
|
||||||
addmessage(r, mage->faction, buf, MSG_MAGIC, ML_INFO);
|
add_message(&mage->faction->msgs, msg);
|
||||||
|
if (tu->faction!=mage->faction) {
|
||||||
|
add_message(&tu->faction->msgs, msg);
|
||||||
|
}
|
||||||
|
msg_release(msg);
|
||||||
|
|
||||||
return cast_level;
|
return cast_level;
|
||||||
}
|
}
|
||||||
|
@ -6187,7 +6196,7 @@ sp_movecastle(castorder *co)
|
||||||
unit *mage = co->magician.u;
|
unit *mage = co->magician.u;
|
||||||
int cast_level = co->level;
|
int cast_level = co->level;
|
||||||
spellparameter *pa = co->par;
|
spellparameter *pa = co->par;
|
||||||
const spell *sp = co->sp;
|
message* msg;
|
||||||
|
|
||||||
/* wenn kein Ziel gefunden, Zauber abbrechen */
|
/* wenn kein Ziel gefunden, Zauber abbrechen */
|
||||||
if (pa->param[0]->flag == TARGET_NOTFOUND) return 0;
|
if (pa->param[0]->flag == TARGET_NOTFOUND) return 0;
|
||||||
|
@ -6202,22 +6211,14 @@ sp_movecastle(castorder *co)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b->size > (cast_level-12) * 250) {
|
if (b->size > (cast_level-12) * 250) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER %s': Der Elementar ist "
|
ADDMSG(&mage->faction->msgs, msg_feedback(mage, co->order, "sp_movecastle_fail_0", ""));
|
||||||
"zu klein, um das Gebäude zu tragen.", unitname(mage),
|
|
||||||
regionname(mage->region, mage->faction), spell_name(sp, mage->faction->locale));
|
|
||||||
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
|
||||||
return cast_level;
|
return cast_level;
|
||||||
}
|
}
|
||||||
|
|
||||||
target_region = rconnect(r,dir);
|
target_region = rconnect(r,dir);
|
||||||
|
|
||||||
if (!(target_region->terrain->flags & LAND_REGION)) {
|
if (!(target_region->terrain->flags & LAND_REGION)) {
|
||||||
sprintf(buf, "%s in %s: 'ZAUBER %s': Der Erdelementar "
|
ADDMSG(&mage->faction->msgs, msg_feedback(mage, co->order, "sp_movecastle_fail_1", "direction", dir));
|
||||||
"weigert sich, nach %s zu gehen.",
|
|
||||||
unitname(mage), regionname(mage->region, mage->faction),
|
|
||||||
spell_name(sp, mage->faction->locale),
|
|
||||||
locale_string(mage->faction->locale, directions[dir]));
|
|
||||||
addmessage(0, mage->faction, buf, MSG_MAGIC, ML_MISTAKE);
|
|
||||||
return cast_level;
|
return cast_level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6237,10 +6238,6 @@ sp_movecastle(castorder *co)
|
||||||
u = unext;
|
u = unext;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(buf, "Ein Beben erschüttert %s. Viele kleine Pseudopodien "
|
|
||||||
"erheben das Gebäude und tragen es in Richtung %s.",
|
|
||||||
buildingname(b), locale_string(mage->faction->locale, directions[dir]));
|
|
||||||
|
|
||||||
if ((b->type==bt_find("caravan") || b->type==bt_find("dam") || b->type==bt_find("tunnel"))) {
|
if ((b->type==bt_find("caravan") || b->type==bt_find("dam") || b->type==bt_find("tunnel"))) {
|
||||||
boolean damage = false;
|
boolean damage = false;
|
||||||
direction_t d;
|
direction_t d;
|
||||||
|
@ -6250,9 +6247,12 @@ sp_movecastle(castorder *co)
|
||||||
damage = true;
|
damage = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (damage) strcat(buf, " Die Straßen der Region wurden beschädigt.");
|
/* if (damage) strcat(buf, " Die Straßen der Region wurden beschädigt."); */
|
||||||
}
|
}
|
||||||
addmessage(r, 0, buf, MSG_MAGIC, ML_INFO);
|
|
||||||
|
msg = msg_message("sp_movecastle_effect", "building direction", b, dir);
|
||||||
|
r_addmessage(r, NULL, msg);
|
||||||
|
msg_release(msg);
|
||||||
|
|
||||||
return cast_level;
|
return cast_level;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1251,6 +1251,24 @@
|
||||||
<text locale="de">"$unit($mage) kümmert sich um die Verletzten und benutzt ein $resource($item,1), um den Zauber zu verstärken. $int($amount) Verwundete werden geheilt."</text>
|
<text locale="de">"$unit($mage) kümmert sich um die Verletzten und benutzt ein $resource($item,1), um den Zauber zu verstärken. $int($amount) Verwundete werden geheilt."</text>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
|
<message name="sp_eternizewall_effect" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="mage" type="unit"/>
|
||||||
|
<arg name="building" type="building"/>
|
||||||
|
<arg name="region" type="region"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"Mit einem Ritual bindet $unit($mage) die magischen Kräfte der Erde von $region($region) in die Mauern von $building($building)."</text>
|
||||||
|
</message>
|
||||||
|
|
||||||
|
<message name="sp_permtransfer_effect" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="mage" type="unit"/>
|
||||||
|
<arg name="target" type="unit"/>
|
||||||
|
<arg name="amount" type="int"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($mage) opfert $unit($target) $int($amount) Aura."</text>
|
||||||
|
</message>
|
||||||
|
|
||||||
<message name="reanimate_effect_0" section="magic">
|
<message name="reanimate_effect_0" section="magic">
|
||||||
<type>
|
<type>
|
||||||
<arg name="mage" type="unit"/>
|
<arg name="mage" type="unit"/>
|
||||||
|
@ -1575,8 +1593,31 @@
|
||||||
<arg name="race" type="race"/>
|
<arg name="race" type="race"/>
|
||||||
</type>
|
</type>
|
||||||
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - $unit($target) kann keine $race($race,1)-Gestalt annehmen."</text>
|
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - $unit($target) kann keine $race($race,1)-Gestalt annehmen."</text>
|
||||||
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - $unit($target) cannot assume the shape of a $race($race,1)."</text>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
|
<message name="sp_movecastle_fail_0" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="unit" type="unit"/>
|
||||||
|
<arg name="region" type="region"/>
|
||||||
|
<arg name="command" type="order"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Der Elementar ist zu klein, um das Gebäude zu tragen."</text>
|
||||||
|
</text>
|
||||||
|
</message>
|
||||||
|
|
||||||
|
<message name="sp_movecastle_fail_1" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="unit" type="unit"/>
|
||||||
|
<arg name="region" type="region"/>
|
||||||
|
<arg name="command" type="order"/>
|
||||||
|
<arg name="direction" type="direction"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Der Elementar weigert sich, nach $direction($direction) zu gehen."</text>
|
||||||
|
</text>
|
||||||
|
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - The elemental refuses to go $direction($direction)."</text>
|
||||||
|
</text>
|
||||||
|
</message>
|
||||||
|
|
||||||
<message name="sp_migranten_fail1" section="magic">
|
<message name="sp_migranten_fail1" section="magic">
|
||||||
<type>
|
<type>
|
||||||
<arg name="unit" type="unit"/>
|
<arg name="unit" type="unit"/>
|
||||||
|
@ -1607,6 +1648,7 @@
|
||||||
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - $unit($unit) ruft Drachen nach $region($target)."</text>
|
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - $unit($unit) ruft Drachen nach $region($target)."</text>
|
||||||
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - $unit($unit) calls dragons to $region($target)."</text>
|
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - $unit($unit) calls dragons to $region($target)."</text>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message name="magiccreate_effect" section="magic">
|
<message name="magiccreate_effect" section="magic">
|
||||||
<type>
|
<type>
|
||||||
<arg name="unit" type="unit"/>
|
<arg name="unit" type="unit"/>
|
||||||
|
@ -1619,6 +1661,15 @@
|
||||||
<text locale="fr">"$unit($unit) in $region($region): '$order($command)' - $unit($unit) creates $int($amount) ${item}."</text>
|
<text locale="fr">"$unit($unit) in $region($region): '$order($command)' - $unit($unit) creates $int($amount) ${item}."</text>
|
||||||
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - $unit($unit) creates $int($amount) ${item}."</text>
|
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - $unit($unit) creates $int($amount) ${item}."</text>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
|
<message name="sp_movecastle_effect" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="building" type="building"/>
|
||||||
|
<arg name="direction" type="direction"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"Ein Beben erschüttert $building($building). Viele kleine Pseudopodien erheben das Gebäude und tragen es in Richtung $direction($direction)."</text>
|
||||||
|
</message>
|
||||||
|
|
||||||
<message name="use_tacticcrystal" section="magic">
|
<message name="use_tacticcrystal" section="magic">
|
||||||
<type>
|
<type>
|
||||||
<arg name="unit" type="unit"/>
|
<arg name="unit" type="unit"/>
|
||||||
|
@ -7270,15 +7321,35 @@
|
||||||
<text locale="de">"$unit($mage) beschwört $int($number) Dämonen aus dem Reich der Schatten."</text>
|
<text locale="de">"$unit($mage) beschwört $int($number) Dämonen aus dem Reich der Schatten."</text>
|
||||||
<text locale="en">"$unit($mage) summons $int($number) demons from the realm of shadows."</text>
|
<text locale="en">"$unit($mage) summons $int($number) demons from the realm of shadows."</text>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message name="cast_spell_effect" section="magic">
|
<message name="cast_spell_effect" section="magic">
|
||||||
<type>
|
<type>
|
||||||
<arg name="mage" type="unit"/>
|
<arg name="mage" type="unit"/>
|
||||||
<arg name="spell" type="spell"/>
|
<arg name="spell" type="spell"/>
|
||||||
<arg name="effect" type="string"/>
|
|
||||||
</type>
|
</type>
|
||||||
<text locale="de">"$unit($mage) zaubert $spell($spell)$if($strlen($effect),": $effect","")."</text>
|
<text locale="de">"$unit($mage) zaubert $spell($spell)."</text>
|
||||||
<text locale="en">"$unit($mage) casts $spell($spell)$if($strlen($effect),": $effect","")."</text>
|
<text locale="en">"$unit($mage) casts $spell($spell)."</text>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
|
<message name="sp_mindblast_effect" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="mage" type="unit"/>
|
||||||
|
<arg name="spell" type="spell"/>
|
||||||
|
<arg name="amount" type="int"/>
|
||||||
|
<arg name="dead" type="int"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($mage) zaubert $spell($spell). $int($amount) Krieger verloren Erinnerungen, $int($dead) wurden getötet."</text>
|
||||||
|
</message>
|
||||||
|
|
||||||
|
<message name="sp_shadowcall_effect" section="magic">
|
||||||
|
<type>
|
||||||
|
<arg name="mage" type="unit"/>
|
||||||
|
<arg name="amount" type="int"/>
|
||||||
|
<arg name="race" type="race"/>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($mage) ruft $int($amount) $race($race, 0) zu Hilfe."</text>
|
||||||
|
</message>
|
||||||
|
|
||||||
<message name="battle::killed" section="battle">
|
<message name="battle::killed" section="battle">
|
||||||
<type>
|
<type>
|
||||||
<arg name="unit" type="unit"/>
|
<arg name="unit" type="unit"/>
|
||||||
|
|
Loading…
Reference in a new issue