1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-29 23:07:48 +02:00

Implemented artifact placement rules for advMap objects, but not for the random artifacts placed via editor. (feature #119)

This commit is contained in:
DjWarmonger
2009-10-24 19:21:32 +00:00
parent 21f574f5ee
commit 1683a419a3
5 changed files with 120 additions and 77 deletions

View File

@@ -4,6 +4,7 @@
#include "../global.h"
#include <vector>
#include <set>
#include <boost/random/linear_congruential.hpp>
#include "../client/FunctionList.h"
/*
@@ -57,7 +58,8 @@ public:
virtual void getTilesInRange(std::set<int3> &tiles, int3 pos, int radious, int player=-1, int mode=0); //mode 1 - only unrevealed tiles; mode 0 - all, mode -1 - only unrevealed
virtual void getAllTiles (std::set<int3> &tiles, int player=-1, int level=-1, int surface=0); //returns all tiles on given level (-1 - both levels, otherwise number of level); surface: 0 - land and water, 1 - only land, 2 - only water
virtual bool isAllowed(int type, int id); //type: 0 - spell; 1- artifact
virtual void getAllowedArts(std::vector<CArtifact*> &out, std::vector<CArtifact*> CArtHandler::*arts);
virtual ui16 getRandomArt (int flags);
virtual void getAllowedArts(std::vector<CArtifact*> &out, std::vector<CArtifact*> CArtHandler::*arts, int flag);
virtual void getAllowed(std::vector<CArtifact*> &out, int flags); //flags: bitfield uses EartClass
virtual void getAllowedSpells(std::vector<ui16> &out, ui16 level);
virtual int3 getMapSize(); //returns size of the map