Bastelanleitung für den 'Thronsaal'

Hier können sich alle gegenseitig helfen beim erstellen eines Spiels

Moderator: Agatho

Bastelanleitung für den 'Thronsaal'

Beitragvon crazy-daddy » 30.05.2004, 17:38

Ihr wolltet doch bestimmt schon immer ein dem Thronsaal ähnliches Gebäude proggen. Das ist ja auch kein Problem. Aber was wenn es _ZWEI_ solcher Gebäude sein sollen? Dies wird nötig wenn man als "Agga" ein solches Teil hat und als "Uga" ein anderes.

Dazu müssen 2 Dateien editiert werden:
1. die ticker_defs.h

AUS:
Code: Alles auswählen
#define TAKEOVER_MULTIPLIER_BUILDING 21

WIRD:
Code: Alles auswählen
#define TAKEOVER_MULTIPLIER_BUILDING_UGA 21
#define TAKEOVER_MULTIPLIER_BUILDING_AGGA 22


DIE NUMMERN DAHINTER BITTE DURCH DIE ID DER GEBÄUDE ERSETZTEN, SONST BRINGT PLÖTZLICH DER SAMMLER EINE VERDOPPLUNG DER KAMPFSTÄRKE *g* !!!!!!!

2. die movement_handler.c

AUS:
Code: Alles auswählen
static int get_takeover_multiplier (const struct Cave *cave)
{
  return 1 + cave->building[TAKEOVER_MULTIPLIER_BUILDING];
}

WIRD:
Code: Alles auswählen
static int get_takeover_multiplier (const struct Cave *cave)
{
  return 1 + cave->building[TAKEOVER_MULTIPLIER_BUILDING_UGA] + cave->building[TAKEOVER_MULTIPLIER_BUILDING_AGGA];
}
crazy-daddy
 

Beitragvon Gast » 03.06.2004, 23:45

Um zu verhindern, dass jemand eine Höhle übernimmt in der bereits ein Thronsaal des anderen Gottes steht und dadurch einen supermultiplikator hätte kann man in der movement_handler.c auch einen IF-Befehl einfügen:

AUS:
Code: Alles auswählen
static int get_takeover_multiplier (const struct Cave *cave)
{
  return 1 + cave->building[TAKEOVER_MULTIPLIER_BUILDING];
}


WIRD
Code: Alles auswählen
static int get_takeover_multiplier (const struct Cave *cave)
{
  if (cave->science[ID_SCIENCE_UGA]>0)
   return 1 + cave->building[TAKEOVER_MULTIPLIER_BUILDING_UGA];
//wenn uga>0 soll er ugas thronsaal nehmen
  else if (cave->science[ID_SCIENCE_AGGA]>0)
   return 1 + cave->building[TAKEOVER_MULTIPLIER_BUILDING_AGGA];
//wenn agga>0 soll er aggas thronsaal nehmen
  else
   return 1;
//wenn kein gott erforscht is soll er auch garnix nehmen :)
}


Hoffe das stimmt so...ich kann eigentlich kein C *g* hab mir das nur mal schnell so aus delphi,pascal,php und so abgeleitet und in den beigefügten C Dateien geguckt *g*
Gast
 

Beitragvon vampir20 » 04.06.2004, 16:05

es müsste so was in der art ja auch für die GG geben, da es auch für uga ein anderes Gebaeude (VA) als für Agga.
vampir20
Proviantschlepper
Proviantschlepper
 
Beiträge: 69
Registriert: 29.01.2004, 02:18
Wohnort: Transylvanien

Beitragvon crazy-daddy » 04.06.2004, 22:26

Vampir20: Das is in der Einrichtung.xml in der Produktionsformel für GG gemacht nicht inner C. Wäre ja schlimm wenn das alles hart gecodet wäre :D
Code: Alles auswählen
Max(SIGN(Uga)*(Uga-Weihstätte+Ugas Garten),SIGN(Agga)*(Agga-Opferstätte+Marterstätten))*(1+Gunstfaktor)+Gunstbonus

So sieht das in der XML aus. Einfach das "Vorzeichen" (-1,0,+1) von Uga mal GG-produzierende-Gebäude und für Agga auch.
crazy-daddy
 


Zurück zu Bastelstube für die CVS Version

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste