forked from github/server
remove ARENA_CREATION code, it wasn't active.
This commit is contained in:
parent
2d2ded8f0d
commit
76734c7929
|
@ -70,11 +70,6 @@ plane *arena = NULL;
|
||||||
/* local vars */
|
/* local vars */
|
||||||
#define CENTRAL_VOLCANO 1
|
#define CENTRAL_VOLCANO 1
|
||||||
|
|
||||||
#ifdef ARENA_CREATION
|
|
||||||
static unsigned int arena_id = 0;
|
|
||||||
static region *arena_center = NULL;
|
|
||||||
static int newarena = 0;
|
|
||||||
#endif
|
|
||||||
static region *tower_region[6];
|
static region *tower_region[6];
|
||||||
static region *start_region[6];
|
static region *start_region[6];
|
||||||
|
|
||||||
|
@ -236,143 +231,6 @@ static attrib_type at_hurting = {
|
||||||
"hurting", NULL, NULL, age_hurting, write_hurting, read_hurting
|
"hurting", NULL, NULL, age_hurting, write_hurting, read_hurting
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef ARENA_CREATION
|
|
||||||
static void make_temple(region * r)
|
|
||||||
{
|
|
||||||
const building_type *btype = bt_find("temple");
|
|
||||||
building *b;
|
|
||||||
if (btype == NULL) {
|
|
||||||
log_error("could not find buildingtype 'temple'\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
b = r->buildings;
|
|
||||||
while (b != NULL && b->type != btype)
|
|
||||||
b = b->next;
|
|
||||||
if (b != NULL)
|
|
||||||
return; /* gibt schon einen */
|
|
||||||
|
|
||||||
b = new_building(btype, r, NULL);
|
|
||||||
b->size = btype->maxsize;
|
|
||||||
b->name = _strdup("Igjarjuk's Tempel der Schreie");
|
|
||||||
b->display =
|
|
||||||
_strdup
|
|
||||||
("Ein Schrein aus spitzen Knochen und lodernden Flammen, gewidmet dem Wyrm der Wyrme");
|
|
||||||
a_add(&b->attribs, a_new(&at_hurting))->data.v = b;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialisierung Türme */
|
|
||||||
|
|
||||||
#ifdef ARENA_CREATION
|
|
||||||
static void tower_init(void)
|
|
||||||
{
|
|
||||||
int i, first = newarena;
|
|
||||||
item_type *it_demonseye = it_find("demonseye");
|
|
||||||
item_type *it_griphonwing = it_find("griphonwing");
|
|
||||||
assert(it_griphonwing && it_demonseye);
|
|
||||||
for (i = 0; i != 6; ++i) {
|
|
||||||
region *r = tower_region[i] =
|
|
||||||
findregion(arena_center->x + delta_x[i] * 3,
|
|
||||||
arena_center->y + delta_y[i] * 3);
|
|
||||||
if (r) {
|
|
||||||
start_region[i] =
|
|
||||||
findregion(arena_center->x + delta_x[i] * 2,
|
|
||||||
arena_center->y + delta_y[i] * 2);
|
|
||||||
if (rterrain(r) != T_DESERT)
|
|
||||||
terraform(r, T_DESERT);
|
|
||||||
if (!r->buildings) {
|
|
||||||
building *b = new_building(bt_find("castle"), r, NULL);
|
|
||||||
b->size = 10;
|
|
||||||
if (i != 0) {
|
|
||||||
sprintf(buf, "Turm des %s",
|
|
||||||
LOC(default_locale, mkname("school", magic_school[i])));
|
|
||||||
} else
|
|
||||||
sprintf(buf, "Turm der Ahnungslosen");
|
|
||||||
set_string(&b->name, buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (first && !arena_center->buildings) {
|
|
||||||
building *b = new_building(bt_find("castle"), arena_center, NULL);
|
|
||||||
attrib *a;
|
|
||||||
item *items;
|
|
||||||
|
|
||||||
i_add(&items, i_new(it_griphonwing, 1));
|
|
||||||
i_add(&items, i_new(it_demonseye, 1));
|
|
||||||
a = a_add(&b->attribs, make_giveitem(b, items));
|
|
||||||
|
|
||||||
b->size = 10;
|
|
||||||
set_string(&b->name, "Höhle des Greifen");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef ARENA_CREATION
|
|
||||||
static void guardian_faction(plane * pl, int id)
|
|
||||||
{
|
|
||||||
region *r;
|
|
||||||
faction *f = findfaction(id);
|
|
||||||
|
|
||||||
if (!f) {
|
|
||||||
f = calloc(1, sizeof(faction));
|
|
||||||
f->banner = _strdup("Sie dienen dem großen Wyrm");
|
|
||||||
f->passw = _strdup(itoa36(rng_int()));
|
|
||||||
set_email(&f->email, "igjarjuk@eressea.de");
|
|
||||||
f->name = _strdup("Igjarjuks Kundschafter");
|
|
||||||
f->race = get_race(RC_ILLUSION);
|
|
||||||
f->age = turn;
|
|
||||||
f->locale = get_locale("de");
|
|
||||||
f->options =
|
|
||||||
want(O_COMPRESS) | want(O_REPORT) | want(O_COMPUTER) | want(O_ADRESSEN) |
|
|
||||||
want(O_DEBUG);
|
|
||||||
|
|
||||||
f->no = id;
|
|
||||||
addlist(&factions, f);
|
|
||||||
fhash(f);
|
|
||||||
}
|
|
||||||
if (f->race != get_race(RC_ILLUSION)) {
|
|
||||||
assert(!"guardian id vergeben");
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
f->lastorders = turn;
|
|
||||||
f->alive = true;
|
|
||||||
for (r = regions; r; r = r->next)
|
|
||||||
if (getplane(r) == pl && rterrain(r) != T_FIREWALL) {
|
|
||||||
unit *u;
|
|
||||||
freset(r, RF_ENCOUNTER);
|
|
||||||
for (u = r->units; u; u = u->next) {
|
|
||||||
if (u->faction == f)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (u)
|
|
||||||
continue;
|
|
||||||
u = create_unit(r, f, 1, get_race(RC_GOBLIN), 0, NULL, NULL);
|
|
||||||
set_string(&u->name, "Igjarjuks Auge");
|
|
||||||
i_change(&u->items, it_find("roi"), 1);
|
|
||||||
set_order(&u->thisorder, NULL);
|
|
||||||
fset(u, UFL_ANON_FACTION);
|
|
||||||
set_money(u, 1000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BLOCKSIZE 9
|
|
||||||
|
|
||||||
#ifdef ARENA_CREATION
|
|
||||||
static void block_create(int x1, int y1, char terrain)
|
|
||||||
{
|
|
||||||
int x, y;
|
|
||||||
for (x = 0; x != BLOCKSIZE; ++x) {
|
|
||||||
for (y = 0; y != BLOCKSIZE; ++y) {
|
|
||||||
region *r = new_region(x1 + x, y1 + y, 0);
|
|
||||||
terraform(r, terrain);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CENTRAL_VOLCANO
|
#ifdef CENTRAL_VOLCANO
|
||||||
|
|
||||||
static int caldera_handle(trigger * t, void *data)
|
static int caldera_handle(trigger * t, void *data)
|
||||||
|
@ -440,90 +298,8 @@ struct trigger_type tt_caldera = {
|
||||||
caldera_read
|
caldera_read
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef ARENA_CREATION
|
|
||||||
static trigger *trigger_caldera(building * b)
|
|
||||||
{
|
|
||||||
trigger *t = t_new(&tt_caldera);
|
|
||||||
t->data.v = b;
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ARENA_CREATION
|
|
||||||
static void init_volcano(void)
|
|
||||||
{
|
|
||||||
building *b;
|
|
||||||
region *r = arena_center;
|
|
||||||
assert(arena_center);
|
|
||||||
if (rterrain(r) != T_DESERT)
|
|
||||||
return; /* been done before */
|
|
||||||
terraform(arena_center, T_VOLCANO_SMOKING);
|
|
||||||
b = new_building(bt_find("caldera"), r, NULL);
|
|
||||||
b->size = 1;
|
|
||||||
b->name = _strdup("Igjarjuk's Schlund");
|
|
||||||
b->display =
|
|
||||||
_strdup
|
|
||||||
("Feurige Lava fließt aus dem Krater des großen Vulkans. Alles wird von ihr verschlungen.");
|
|
||||||
add_trigger(&b->attribs, "timer", trigger_caldera(b));
|
|
||||||
tt_register(&tt_caldera);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef ARENA_CREATION
|
|
||||||
void create_arena(void)
|
|
||||||
{
|
|
||||||
int x;
|
|
||||||
arena_id = hashstring("arena");
|
|
||||||
arena = getplanebyid(arena_id);
|
|
||||||
if (arena != NULL)
|
|
||||||
return;
|
|
||||||
score(); /* ist wichtig, damit alle Parteien einen score haben, wenn sie durchs Tor wollen. */
|
|
||||||
guardian_faction(arena, 999);
|
|
||||||
if (arena)
|
|
||||||
arena_center = findregion(plane_center_x(arena), plane_center_y(arena));
|
|
||||||
if (!arena_center) {
|
|
||||||
newarena = 1;
|
|
||||||
arena =
|
|
||||||
create_new_plane(arena_id, "Arena", -10000, -10000, 0, BLOCKSIZE - 1,
|
|
||||||
PFL_LOWSTEALING | PFL_NORECRUITS | PFL_NOALLIANCES);
|
|
||||||
block_create(arena->minx, arena->miny, T_OCEAN);
|
|
||||||
arena_center = findregion(plane_center_x(arena), plane_center_y(arena));
|
|
||||||
for (x = 0; x != BLOCKSIZE; ++x) {
|
|
||||||
int y;
|
|
||||||
for (y = 0; y != BLOCKSIZE; ++y) {
|
|
||||||
region *r = findregion(arena->minx + x, arena->miny + y);
|
|
||||||
freset(r, RF_ENCOUNTER);
|
|
||||||
r->planep = arena;
|
|
||||||
switch (distance(r, arena_center)) {
|
|
||||||
case 4:
|
|
||||||
terraform(r, T_FIREWALL);
|
|
||||||
break;
|
|
||||||
case 0:
|
|
||||||
terraform(r, T_GLACIER);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
terraform(r, T_SWAMP);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
terraform(r, T_MOUNTAIN);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
make_temple(arena_center);
|
|
||||||
#ifdef CENTRAL_VOLCANO
|
|
||||||
init_volcano();
|
|
||||||
#else
|
|
||||||
if (arena_center->terrain != T_DESERT)
|
|
||||||
terraform(arena_center, T_DESERT);
|
|
||||||
#endif
|
|
||||||
rsetmoney(arena_center, 0);
|
|
||||||
rsetpeasants(arena_center, 0);
|
|
||||||
tower_init();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
void register_arena(void)
|
void register_arena(void)
|
||||||
{
|
{
|
||||||
at_register(&at_hurting);
|
at_register(&at_hurting);
|
||||||
|
|
Loading…
Reference in New Issue