// -*- c++ -*-
#ifndef _RULES_H
#define _RULES_H

#include "mytypes.h"

#include "list.h"
#include "hash.h"
#include "misc.h"
#include "global.h"

class Player;

// call this after the world is set up
void InitializeRules();

void InitialScience(Player *player);

void Discover(Player *player, Science science); // all this does is update obsolete rules
void CanDiscover(Player *player, List<Science> *canDiscover);
void CanGovern(Player *player, List<charp> *canGovern);

int DiscoverCost(Player *player, Science science);
Science ObsoletedBy(BuildObject obj);

void SaveRules();
void RestoreRules();
	      
#endif
