forked from github/server
- Pyramidenregionfindezauber. Setzen des Attributs in passenden Regionen
fehlt noch.
This commit is contained in:
parent
53ee1dcc1f
commit
06c2177715
6 changed files with 155 additions and 1 deletions
|
@ -498,7 +498,7 @@ new_message(struct faction * receiver, const char* sig, ...)
|
||||||
args[i] = (void*)va_arg(marker, const resource_type *);
|
args[i] = (void*)va_arg(marker, const resource_type *);
|
||||||
break;
|
break;
|
||||||
case 'x':
|
case 'x':
|
||||||
args[i] = (void*)oldresourcetype[(resource_t)va_arg(marker, resource_t)];
|
args[i] = (void*)oldresourcetype[(resource_t)va_arg(marker, int)];
|
||||||
break;
|
break;
|
||||||
case 't':
|
case 't':
|
||||||
args[i] = (void*)va_arg(marker, int);
|
args[i] = (void*)va_arg(marker, int);
|
||||||
|
|
|
@ -88,6 +88,12 @@ attrib_type at_unitdissolve = {
|
||||||
"unitdissolve", NULL, NULL, NULL, a_writedefault, a_readdefault
|
"unitdissolve", NULL, NULL, NULL, a_writedefault, a_readdefault
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef WDW_PYRAMIDSPELL
|
||||||
|
attrib_type at_wdwpyramid = {
|
||||||
|
"wdwpyramid", NULL, NULL, NULL, a_writedefault, a_readdefault
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------- */
|
/* ----------------------------------------------------------------------- */
|
||||||
|
|
||||||
#ifdef TODO
|
#ifdef TODO
|
||||||
|
@ -7217,6 +7223,43 @@ sp_becomewyrm(castorder *co)
|
||||||
return co->level;
|
return co->level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------- */
|
||||||
|
/* Name: WDW-Pyramidenfindezauber
|
||||||
|
* Stufe: unterschiedlich
|
||||||
|
* Gebiet: alle
|
||||||
|
* Wirkung:
|
||||||
|
* gibt an, ob sich der Magier in einer Pyramidenbauregion
|
||||||
|
* befindet.
|
||||||
|
*
|
||||||
|
* Flags:
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
sp_wdwpyramid(castorder *co)
|
||||||
|
{
|
||||||
|
region *r = co->rt;
|
||||||
|
unit *mage = (unit *)co->magician;
|
||||||
|
int cast_level = co->level;
|
||||||
|
|
||||||
|
if(!(landregion(rterrain(r)))){
|
||||||
|
cmistake(mage, strdup(co->order), 186, MSG_MAGIC);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(a_find(r->attribs, &at_wdwpyramid) != NULL) {
|
||||||
|
add_message(&mage->faction->msgs, new_message(mage->faction,
|
||||||
|
"wdw_pyramidspell_found%u:mage%r:region%s:command",
|
||||||
|
mage, r, strdup(co->order)));
|
||||||
|
|
||||||
|
} else {
|
||||||
|
add_message(&mage->faction->msgs, new_message(mage->faction,
|
||||||
|
"wdw_pyramidspell_notfound%u:mage%r:region%s:command",
|
||||||
|
mage, r, strdup(co->order)));
|
||||||
|
}
|
||||||
|
|
||||||
|
return cast_level;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
/* Name: Alltagszauber, hat je nach Gebiet anderen Namen
|
/* Name: Alltagszauber, hat je nach Gebiet anderen Namen
|
||||||
* Stufe: 1
|
* Stufe: 1
|
||||||
|
@ -10389,6 +10432,83 @@ spell spelldaten[] =
|
||||||
(spell_f)sp_immolation, patzer
|
(spell_f)sp_immolation, patzer
|
||||||
},
|
},
|
||||||
|
|
||||||
|
#ifdef WDW_PYRAMIDSPELL
|
||||||
|
{SPL_WDWPYRAMID_TRAUM, "Traum von den Göttern",
|
||||||
|
"Mit Hilfe dieses Zaubers kann der Magier erkennen, ob eine "
|
||||||
|
"Region für den Pyramidenbau geeignet ist.",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
M_TRAUM, (0), 5, 4,
|
||||||
|
{
|
||||||
|
{R_AURA, 2, SPC_FIX},
|
||||||
|
{R_PLAIN_3, 1, SPC_FIX},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0}},
|
||||||
|
(spell_f)sp_wdwpyramid, patzer
|
||||||
|
},
|
||||||
|
|
||||||
|
{SPL_WDWPYRAMID_ASTRAL, "Göttliches Netz",
|
||||||
|
"Mit Hilfe dieses Zaubers kann der Magier erkennen, ob eine "
|
||||||
|
"Region für den Pyramidenbau geeignet ist.",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
M_ASTRAL, (0), 5, 3,
|
||||||
|
{
|
||||||
|
{R_AURA, 4, SPC_FIX},
|
||||||
|
{R_WISE, 1, SPC_FIX},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0}},
|
||||||
|
(spell_f)sp_wdwpyramid, patzer
|
||||||
|
},
|
||||||
|
|
||||||
|
{SPL_WDWPYRAMID_DRUIDE, "Kraft der Natur",
|
||||||
|
"Mit Hilfe dieses Zaubers kann der Magier erkennen, ob eine "
|
||||||
|
"Region für den Pyramidenbau geeignet ist.",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
M_DRUIDE, (0), 5, 5,
|
||||||
|
{
|
||||||
|
{R_AURA, 3, SPC_FIX},
|
||||||
|
{R_MALLORN, 5, SPC_FIX},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0}},
|
||||||
|
(spell_f)sp_wdwpyramid, patzer
|
||||||
|
},
|
||||||
|
|
||||||
|
{SPL_WDWPYRAMID_BARDE, "Gesang der Götter",
|
||||||
|
"Mit Hilfe dieses Zaubers kann der Magier erkennen, ob eine "
|
||||||
|
"Region für den Pyramidenbau geeignet ist.",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
M_BARDE, (0), 5, 4,
|
||||||
|
{
|
||||||
|
{R_AURA, 2, SPC_FIX},
|
||||||
|
{R_HIGHLAND_3, 1, SPC_FIX},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0}},
|
||||||
|
(spell_f)sp_wdwpyramid, patzer
|
||||||
|
},
|
||||||
|
|
||||||
|
{SPL_WDWPYRAMID_CHAOS, "Göttliche Macht",
|
||||||
|
"Mit Hilfe dieses Zaubers kann der Magier erkennen, ob eine "
|
||||||
|
"Region für den Pyramidenbau geeignet ist.",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
M_CHAOS, (0), 5, 5,
|
||||||
|
{
|
||||||
|
{R_AURA, 1, SPC_FIX},
|
||||||
|
{R_PERMAURA, 1, SPC_FIX},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0}},
|
||||||
|
(spell_f)sp_wdwpyramid, patzer
|
||||||
|
},
|
||||||
|
#endif
|
||||||
|
|
||||||
/* SPL_NOSPELL MUSS der letzte Spruch der Liste sein*/
|
/* SPL_NOSPELL MUSS der letzte Spruch der Liste sein*/
|
||||||
|
|
||||||
{SPL_NOSPELL, "Keiner", NULL, NULL, NULL, 0, 0, 0, 0,
|
{SPL_NOSPELL, "Keiner", NULL, NULL, NULL, 0, 0, 0, 0,
|
||||||
|
@ -10396,3 +10516,4 @@ spell spelldaten[] =
|
||||||
NULL, NULL
|
NULL, NULL
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -212,6 +212,13 @@ enum {
|
||||||
SPL_FIREODEM, /* 181 */
|
SPL_FIREODEM, /* 181 */
|
||||||
SPL_ICEODEM,
|
SPL_ICEODEM,
|
||||||
SPL_ACIDODEM,
|
SPL_ACIDODEM,
|
||||||
|
#ifdef WDW_PYRAMIDSPELL
|
||||||
|
SPL_WDWPYRAMID_TRAUM,
|
||||||
|
SPL_WDWPYRAMID_ASTRAL,
|
||||||
|
SPL_WDWPYRAMID_DRUIDE,
|
||||||
|
SPL_WDWPYRAMID_BARDE,
|
||||||
|
SPL_WDWPYRAMID_CHAOS,
|
||||||
|
#endif
|
||||||
MAXALLSPELLS,
|
MAXALLSPELLS,
|
||||||
NO_SPELL = (spellid_t) -1
|
NO_SPELL = (spellid_t) -1
|
||||||
};
|
};
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
#define AUTOALLIANCE (HELP_FIGHT)
|
#define AUTOALLIANCE (HELP_FIGHT)
|
||||||
|
|
||||||
#define WDW_PHOENIX
|
#define WDW_PHOENIX
|
||||||
|
#define WDW_PYRAMIDSPELL
|
||||||
#define NEW_STARTEQUIPMENT
|
#define NEW_STARTEQUIPMENT
|
||||||
|
|
||||||
#define MAILITPATH "/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"
|
#define MAILITPATH "/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"
|
||||||
|
|
|
@ -274,6 +274,11 @@ show_newspells(void)
|
||||||
* terminieren */
|
* terminieren */
|
||||||
|
|
||||||
spellid_t newspellids[] = {
|
spellid_t newspellids[] = {
|
||||||
|
SPL_WDWPYRAMID_TRAUM,
|
||||||
|
SPL_WDWPYRAMID_ASTRAL,
|
||||||
|
SPL_WDWPYRAMID_DRUIDE,
|
||||||
|
SPL_WDWPYRAMID_BARDE,
|
||||||
|
SPL_WDWPYRAMID_CHAOS,
|
||||||
SPL_NOSPELL
|
SPL_NOSPELL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5618,4 +5618,24 @@
|
||||||
<text locale="fr">"$int($votes) members of $alliance($alliance) tried to kick you out of the alliance."</text>
|
<text locale="fr">"$int($votes) members of $alliance($alliance) tried to kick you out of the alliance."</text>
|
||||||
<text locale="en">"$int($votes) members of $alliance($alliance) tried to kick you out of the alliance."</text>
|
<text locale="en">"$int($votes) members of $alliance($alliance) tried to kick you out of the alliance."</text>
|
||||||
</message>
|
</message>
|
||||||
|
<message name="wdw_pyramidspell_found" section="events">
|
||||||
|
<type>
|
||||||
|
<arg name="unit" type="unit"></arg>
|
||||||
|
<arg name="region" type="region"></arg>
|
||||||
|
<arg name="command" type="string"></arg>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($unit) in $region($region): '$command' - In dieser Regione können Pyramiden gebaut werden."</text>
|
||||||
|
<text locale="en">"$unit($unit) in $region($region): '$command' - Pyramids may be build in this region."</text>
|
||||||
|
<text locale="fr">"$unit($unit) in $region($region): '$command' - Pyramids may be build in this region."</text>
|
||||||
|
</message>
|
||||||
|
<message name="wdw_pyramidspell_notfound" section="events">
|
||||||
|
<type>
|
||||||
|
<arg name="unit" type="unit"></arg>
|
||||||
|
<arg name="region" type="region"></arg>
|
||||||
|
<arg name="command" type="string"></arg>
|
||||||
|
</type>
|
||||||
|
<text locale="de">"$unit($unit) in $region($region): '$command' - In dieser Regione können keine Pyramiden gebaut werden."</text>
|
||||||
|
<text locale="en">"$unit($unit) in $region($region): '$command' - No pyramids may be build in this region."</text>
|
||||||
|
<text locale="fr">"$unit($unit) in $region($region): '$command' - No pyramids may be build in this region."</text>
|
||||||
|
</message>
|
||||||
</messages>
|
</messages>
|
||||||
|
|
Loading…
Reference in a new issue