示例#1
0
def draw():
    BackgroundHandler.draw_background(gameDisplay)
    ObjectHandler.draw_objects(gameDisplay)
    NPCHandler.draw_npcs(gameDisplay)
    player.draw(gameDisplay)
    Abilities.draw(gameDisplay)
    UIHandler.draw(gameDisplay)
示例#2
0
	def getAbilities(self):
		toRet = []
		if self.stats["Class"] in self.classLevels and len(self.classLevels[self.stats["Class"]]) == 10:
			abils = Abilities.getAbilities(self.stats["Class"])
			levels = self.classLevels[self.stats["Class"]]
			return [abils[0](levels[0:3]), abils[1](levels[3:6]), abils[2](levels[6:10])]
		else:
			return [Abilities.ExplodeBalls([0, 0, 0]), Abilities.SplitBalls([0, 0, 0]), Abilities.CreateBall([0, 0, 0, 0])]
示例#3
0
	def loadStats(self, unit):
		if unit in UNITSTATS:
			#Set default values of stats
			for k in self.stats:
				if k in UNITSTATS[unit]:
					self.stats[k] = [0, int(UNITSTATS[unit][k])]
				else:
					print "ERROR when loading stats.  UNITSTATS[" + unit + "] does not contain '" + k + "'"
			
			#Add Nature Bonuses
			if self.nature:
				if self.nature[0] in self.stats:
					self.stats[self.nature[0]][1] *= 1.1
				if self.nature[1] in self.stats:
					self.stats[self.nature[1]][1] *= 0.9
			#Set picture/evolution state
			if "PIC" in UNITSTATS[unit] and "STATE" in UNITSTATS[unit]:
				self.sprite = Sprites.Sprite(UNITSTATS[unit]["PIC"], int(UNITSTATS[unit]["STATE"]))
				self.state = UNITSTATS[unit]["STATE"]
			else:
				print "ERROR when loading stats.  UNITSTATS[" + unit + "] does not contain PIC or STATS"
			#Set size
			if "SIZE" in UNITSTATS[unit]:
				self.size = int(UNITSTATS[unit]["SIZE"]) / 2
			else:
				print "ERROR when loading stats.  UNITSTATS[" + unit + "] does not contain SIZE"
			#Calculate current values of stats
			calcStatsAtLevel(self.level, self.stats, self.health, self.energy)
			self.speed = calcSpeed(self.getStat("SPE"), self.level)
			
		else:
			print "ERROR: ", unit, "not in Unit stats"
			
		self.abilities = Abilities.calcAbilList(self.level, self, self.abilsToUse)
示例#4
0
 def __init__(self, startPos, level):
     Unit.__init__(self, startPos, level)
     self.maxHealth = self.getStat("health")
     self.health = self.maxHealth
     self.frame = 0
     self.target = None
     self.abilList = [Abilities.ArcherShotAbil()]
     self.nextDistanceCheck = 0
     self.team = 2
     self.stunResistance = 0.0
     self.picture = "Archer"
     self.offset = 0
     self.patrolTarget = PTRS["TERRAIN"].getPatrolPathAtPos(self.pos)
     if self.patrolTarget and self.patrolTarget.getNumDestinations():
         self.patrolDestination = self.randint(
             0,
             self.patrolTarget.getNumDestinations() - 1)
     else:
         self.patrolDestination = 0
     self.scanTime = 1
     self.scanDeltaTime = 1
     self.scanDeltaAng = 0
     self.scanType = "Passive"
     self.scanAngle = 0
     self.angleFacing = self.angle
     self.moveState = "patrol"
     self.alerted = 0
     self.reachedTarget = False
     self.deathInvestigated = False
     self.moveTarget = None
     self.walkList = []
     self.investigateAngle = 0
     self.itemHeld = 0
示例#5
0
 def __init__(self, owner):
     self.equipmentIteration = 0
     self.owner = owner
     self.cash = 0
     self.inventory = [Item("PineBow", owner), Item("StoneSword", owner)]
     self.equipped = [
         None, None, None, None, None, None, None, None, None, None, None,
         None
     ]
     self.cachedStats = {}
     self.baseAttack = Abilities.SwordsmanAbil(owner)
示例#6
0
 def __init__(self, startPos, level):
     Unit.__init__(self, startPos, level)
     self.frame = 0
     self.team = 1
     self.maxHealth = 1
     self.health = self.maxHealth
     self.picture = "MageKnight"
     self.abilList = [Abilities.SwordsmanAbil()
                      ]  #[Abilities.PlayerArcAttackAbility()]
     self.abilSelected = 1
     self.stunResistance = 0.5
     self.keyRecorder = KeyRecorder()
     self.controlled = False
     self.controller = 0
示例#7
0
文件: GUIREC.py 项目: MarcelHB/gemrb
def LUNextPress ():
	CloseLUWindow ()

	# pass on LevelDiff and selected class (already in LUClass)
	GemRB.SetVar ("LevelDiff", LevelDiff)

	# grant an ability point or three (each 4 levels)
	pc = GemRB.GameGetSelectedPCSingle ()
	levelSum = GemRB.GetPlayerStat (pc, IE_CLASSLEVELSUM)
	rankDiff = (levelSum+LevelDiff)//4 - levelSum//4
	if rankDiff > 0:
		import Abilities
		Abilities.OpenAbilitiesWindow (0, rankDiff)
	else:
		import Enemy
		Enemy.OpenEnemyWindow ()
示例#8
0
 def __init__(self, owner):
     self.equipmentIteration = 0
     self.owner = owner
     self.cash = 0
     self.inventory = [
         Item("WoodSword", owner),
         Item("WoodDagger", owner),
         Item("PineBow", owner)
     ]
     self.equipped = [
         Item("WoodDagger", owner),
         Item("WoodDagger", owner), None, None, None, None, None, None,
         None, None, None
     ]
     self.cachedStats = {"KEYWORDS": {}}
     self.baseAttack = Abilities.BasicAttack(owner)
     self.currentHand = 0
示例#9
0
	def __init__(self, pNum):
		self.keys = Keys()
		self.lastActive = {}
		t = [[1] * 40] + [[1] + [0] * 38 + [1]] * 28 + [[1] * 40]
		self.terrainChanges = Globals.terrain.convertToString()
		self.inStore = False
		self.pNum = pNum
		self.abilsSelected = [Abilities.ProjectileAbility()] + [None] * (Globals.NUMABILS - 1)
		self.abilInstances = {}
		for k in Abilities.abilDict:
			self.abilInstances[k] = Abilities.abilDict[k]()
		self.gold = STARTGOLD
		self.stats = {"defense":1000, 
								 "attack" :1000,
								 "knockbackAttack":1000,
								 "knockbackDefense":1000}
		self.createUnit()
示例#10
0
 def __init__(self, startPos, level):
     Unit.__init__(self, startPos, level)
     self.maxHealth = self.getStat("health")
     self.health = self.maxHealth
     self.frame = 0
     self.target = None
     self.abilList = [Abilities.ArcherShotAbil()]
     self.nextDistanceCheck = 0
     self.moveSpeed = 3
     self.team = 2
     self.stunResistance = 0.0
     self.picture = "Archer"
     self.offset = 0
     self.patrolTarget = [
         self.startPos[0] / TILESIZE[0], self.startPos[1] / TILESIZE[1]
     ]
     self.scanTime = 1
     self.scanDeltaTime = 1
     self.scanDeltaAng = 0
     self.scanType = "Passive"
     self.scanAngle = 0
示例#11
0
    def loadStats(self, unit):
        if unit in UNITSTATS:
            #Set default values of stats
            for k in self.stats:
                if k in UNITSTATS[unit]:
                    self.stats[k] = [0, int(UNITSTATS[unit][k])]
                else:
                    print "ERROR when loading stats.  UNITSTATS[" + unit + "] does not contain '" + k + "'"

            #Add Nature Bonuses
            if self.nature:
                if self.nature[0] in self.stats:
                    self.stats[self.nature[0]][1] *= 1.1
                if self.nature[1] in self.stats:
                    self.stats[self.nature[1]][1] *= 0.9
            #Set picture/evolution state
            if "PIC" in UNITSTATS[unit] and "STATE" in UNITSTATS[unit]:
                self.sprite = Sprites.Sprite(UNITSTATS[unit]["PIC"],
                                             int(UNITSTATS[unit]["STATE"]))
                self.state = UNITSTATS[unit]["STATE"]
            else:
                print "ERROR when loading stats.  UNITSTATS[" + unit + "] does not contain PIC or STATS"
            #Set size
            if "SIZE" in UNITSTATS[unit]:
                self.size = int(UNITSTATS[unit]["SIZE"]) / 2
            else:
                print "ERROR when loading stats.  UNITSTATS[" + unit + "] does not contain SIZE"
            #Calculate current values of stats
            calcStatsAtLevel(self.level, self.stats, self.health, self.energy)
            self.speed = calcSpeed(self.getStat("SPE"), self.level)

        else:
            print "ERROR: ", unit, "not in Unit stats"

        self.abilities = Abilities.calcAbilList(self.level, self,
                                                self.abilsToUse)
示例#12
0
def use_sparkle():
    on_use_ability()
    Abilities.use_sparkle()
    global sparkle_active
    sparkle_active = True
示例#13
0
def use_score_up():
    on_use_ability()
    Abilities.use_score_up()
    global score_up_active
    score_up_active = True
示例#14
0
def use_extend_deadline(x, y):
    on_use_ability()
    Abilities.use_extend_deadline(x, y)
示例#15
0
def use_shout(x, y):
    on_use_ability()
    Abilities.use_shout(x, y)
示例#16
0
 def __init__(self, startPos, level):
     PlayerUnit.__init__(self, startPos, level)
     self.picture = "Archer"
     self.abilList = [Abilities.ArcherShotAbil()
                      ]  #[Abilities.PlayerArcAttackAbility()]
示例#17
0
 def __init__(self, startPos, level):
     EnemyUnit.__init__(self, startPos, level)
     self.picture = "Civilian"
     self.abilList = [Abilities.SwordsmanAbil()]