def draw(): BackgroundHandler.draw_background(gameDisplay) ObjectHandler.draw_objects(gameDisplay) NPCHandler.draw_npcs(gameDisplay) player.draw(gameDisplay) Abilities.draw(gameDisplay) UIHandler.draw(gameDisplay)
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])]
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)
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
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)
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
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 ()
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
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()
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
def use_sparkle(): on_use_ability() Abilities.use_sparkle() global sparkle_active sparkle_active = True
def use_score_up(): on_use_ability() Abilities.use_score_up() global score_up_active score_up_active = True
def use_extend_deadline(x, y): on_use_ability() Abilities.use_extend_deadline(x, y)
def use_shout(x, y): on_use_ability() Abilities.use_shout(x, y)
def __init__(self, startPos, level): PlayerUnit.__init__(self, startPos, level) self.picture = "Archer" self.abilList = [Abilities.ArcherShotAbil() ] #[Abilities.PlayerArcAttackAbility()]
def __init__(self, startPos, level): EnemyUnit.__init__(self, startPos, level) self.picture = "Civilian" self.abilList = [Abilities.SwordsmanAbil()]