* crashbug im prefix-fix

* falscher namespace für damage-anzeige
* falsche Ursprünge in Eternath
* Mistelzweige, mehrere aauf einmal benutzbar.
This commit is contained in:
Enno Rehling 2002-02-10 07:53:54 +00:00
parent 32bc84c970
commit a0fe319b4b
9 changed files with 48 additions and 45 deletions

View File

@ -52,22 +52,6 @@
#include <stdlib.h>
#include <string.h>
/* eine insel pro 9x9 feld. das erste feld von (0,0) bis (8,8) */
/* Ozean und Grasland wird automatisch generiert (ein Ozean, darin eine Insel
* aus Grasland). Jedes Seed generiert ein Feld des entsprechenden terrains,
* und max. 3 angrenzende Felder. Details in der Funktion SEED und TRANSMUTE in
* REGIONS.C */
/* ------------------------------------------------------------- */
/* OCEAN, PLAIN, FOREST, SWAMP, DESERT, HIGHLAND, MOUNTAIN, GLACIER,
* MAXTERRAINS */
/* ------------------------------------------------------------- */
/* ------------------------------------------------------------- */
void
createmonsters(void)
{
@ -91,8 +75,6 @@ createmonsters(void)
/* ------------------------------------------------------------- */
void
listnames(void)
{

View File

@ -556,7 +556,7 @@ cr_output_unit(FILE * F, const region * r,
ap = a_find(u->faction->attribs, &at_raceprefix);
}
if (ap) {
const char * name = (const char*)a->data.v;
const char * name = (const char*)ap->data.v;
fprintf(F, "\"%s\";typprefix\n", add_translation(name, LOC(f->locale, name)));
}
fprintf(F, "%d;Partei\n", u->faction->no);

View File

@ -1825,7 +1825,7 @@ create_item(unit * u, const item_type * itype, int want)
}
}
void
static void
make(region * r, unit * u)
{
char *s;
@ -2512,7 +2512,7 @@ plant(region *r, unit *u, int raw)
}
#if GROWING_TREES
void
static void
planttrees(region *r, unit *u, int raw)
{
int n, i, skill, planted = 0;
@ -2558,8 +2558,8 @@ planttrees(region *r, unit *u, int raw)
produceexp(u, SK_HERBALISM, u->number);
new_use_pooled(u, itype->rtype, GET_DEFAULT, n);
add_message(&u->faction->msgs, new_message(u->faction,
"plant%u:unit%r:region%i:amount%X:herb", u, r, planted, itype->rtype));
ADDMSG(&u->faction->msgs, msg_message("plant",
"unit region amount herb", u, r, planted, itype->rtype));
}
#endif
@ -2759,7 +2759,7 @@ rough_amount(int a, int m)
return "sehr viele";
}
void
static void
research(region *r, unit *u)
{
char *s;

View File

@ -1919,12 +1919,14 @@ use_bloodpotion(struct unit *u, const struct potion_type *ptype, const char *cmd
static int
use_mistletoe(struct unit * user, const struct item_type * itype, const char * cmd)
{
if (user->number!=1) {
int mtoes = new_get_pooled(user, itype->rtype, GET_SLACK|GET_RESERVE|GET_POOLED_SLACK);
if (user->number>mtoes) {
ADDMSG(&user->faction->msgs, msg_message("use_singleperson",
"unit item region command", user, itype, user->region, cmd));
return -1;
}
new_use_pooled(user, itype->rtype, GET_SLACK|GET_RESERVE|GET_POOLED_SLACK, 1);
new_use_pooled(user, itype->rtype, GET_SLACK|GET_RESERVE|GET_POOLED_SLACK, user->number);
a_add(&user->attribs, make_fleechance((float)1.0));
ADDMSG(&user->faction->msgs, msg_message("use_item",
"unit item", user, itype));

View File

@ -117,16 +117,11 @@ hp_status(const unit * u)
{
double p = (double) ((double) u->hp / (double) (u->number * unit_max_hp(u)));
if (p > 2.00)
return "dmg_critical";
if (p > 1.50)
return "dmg_heavily";
if (p < 0.50)
return "dmg_badly";
if (p < 0.75)
return "dmg_wounded";
if (p < 0.99)
return "dmg_exhausted";
if (p > 2.00) return mkname("damage", "critical");
if (p > 1.50) return mkname("damage", "heavily");
if (p < 0.50) return mkname("damage", "badly");
if (p < 0.75) return mkname("damage", "wounded");
if (p < 0.99) return mkname("damage", "exhausted");
return NULL;
}

View File

@ -6916,7 +6916,7 @@ sp_destroy_curse(castorder *co)
switch(obj){
case SPP_REGION:
ap = &r->attribs;
set_string(&ts, regionid(r));
set_string(&ts, regionname(r, mage->faction));
break;
case SPP_UNIT:

View File

@ -2665,6 +2665,28 @@ convert_skills(void)
}
#endif
static int
fix_questcoors(void)
{
plane * p = getplanebyid (59034966);
if (p) {
faction * f;
region * eternath = findregion(-8750, 3631);
if (eternath) for (f=factions;f;f=f->next) {
ursprung * u = f->ursprung;
while (u) {
if (u->id == p->id) {
u->x = eternath->x;
u->y = eternath->y;
break;
}
u=u->next;
}
}
}
return 0;
}
void
korrektur(void)
{
@ -2715,6 +2737,7 @@ korrektur(void)
do_once("idlo", fix_idleout());
do_once("szip", set_zip());
do_once("heal", heal_all());
do_once("fqco", fix_questcoors());
/* seems something fishy is going on, do this just
* to be on the safe side:

View File

@ -583,8 +583,8 @@ main(int argc, char *argv[])
kernel_init();
game_init();
#if defined(BETA_CODE) && 0
xml_writeships();
/* xml_writeitems("items.xml"); */
/* xml_writeships(); */
xml_writeitems("items.xml");
return 0;
#endif

View File

@ -3153,26 +3153,27 @@
<text locale="en">dwarf</text>
</string>
<string name="dmg_critical">
</namespace>
<namespace name="damage">
<string name="critical">
<text locale="de">sehr stark</text>
<text locale="en">critically wounded</text>
</string>
<string name="dmg_heavily">
<string name="heavily">
<text locale="de">stark</text>
<text locale="en">heavily wounded</text>
</string>
<string name="dmg_badly">
<string name="badly">
<text locale="de">schwer verwundet</text>
<text locale="en">badly wounded</text>
</string>
<string name="dmg_wounded">
<string name="wounded">
<text locale="de">verwundet</text>
<text locale="en">wounded</text>
</string>
<string name="dmg_exhausted">
<string name="exhausted">
<text locale="de">erschöpft</text>
<text locale="en">exhausted</text>
</string>
</namespace>
</strings>