1085 lines
39 KiB
Python
1085 lines
39 KiB
Python
|
from BattleBase import *
|
||
|
import random
|
||
|
from direct.directnotify import DirectNotifyGlobal
|
||
|
from otp.otpbase import OTPLocalizer
|
||
|
from toontown.toonbase import TTLocalizer
|
||
|
notify = DirectNotifyGlobal.directNotify.newCategory('SuitBattleGlobals')
|
||
|
debugAttackSequence = {}
|
||
|
|
||
|
def pickFromFreqList(freqList):
|
||
|
randNum = random.randint(0, 99)
|
||
|
count = 0
|
||
|
index = 0
|
||
|
level = None
|
||
|
for f in freqList:
|
||
|
count = count + f
|
||
|
if randNum < count:
|
||
|
level = index
|
||
|
break
|
||
|
index = index + 1
|
||
|
|
||
|
return level
|
||
|
|
||
|
|
||
|
def getActualFromRelativeLevel(name, relLevel):
|
||
|
data = SuitAttributes[name]
|
||
|
actualLevel = data['level'] + relLevel
|
||
|
return actualLevel
|
||
|
|
||
|
|
||
|
def getSuitVitals(name, level = -1):
|
||
|
data = SuitAttributes[name]
|
||
|
if level == -1:
|
||
|
level = pickFromFreqList(data['freq'])
|
||
|
dict = {}
|
||
|
dict['level'] = getActualFromRelativeLevel(name, level)
|
||
|
if dict['level'] == 11:
|
||
|
level = 0
|
||
|
dict['hp'] = data['hp'][level]
|
||
|
dict['def'] = data['def'][level]
|
||
|
attacks = data['attacks']
|
||
|
alist = []
|
||
|
for a in attacks:
|
||
|
adict = {}
|
||
|
name = a[0]
|
||
|
adict['name'] = name
|
||
|
adict['animName'] = SuitAttacks[name][0]
|
||
|
adict['hp'] = a[1][level]
|
||
|
adict['acc'] = a[2][level]
|
||
|
adict['freq'] = a[3][level]
|
||
|
adict['group'] = SuitAttacks[name][1]
|
||
|
alist.append(adict)
|
||
|
|
||
|
dict['attacks'] = alist
|
||
|
return dict
|
||
|
|
||
|
|
||
|
def pickSuitAttack(attacks, suitLevel):
|
||
|
attackNum = None
|
||
|
randNum = random.randint(0, 99)
|
||
|
notify.debug('pickSuitAttack: rolled %d' % randNum)
|
||
|
count = 0
|
||
|
index = 0
|
||
|
total = 0
|
||
|
for c in attacks:
|
||
|
total = total + c[3][suitLevel]
|
||
|
|
||
|
for c in attacks:
|
||
|
count = count + c[3][suitLevel]
|
||
|
if randNum < count:
|
||
|
attackNum = index
|
||
|
notify.debug('picking attack %d' % attackNum)
|
||
|
break
|
||
|
index = index + 1
|
||
|
|
||
|
configAttackName = simbase.config.GetString('attack-type', 'random')
|
||
|
if configAttackName == 'random':
|
||
|
return attackNum
|
||
|
elif configAttackName == 'sequence':
|
||
|
for i in xrange(len(attacks)):
|
||
|
if attacks[i] not in debugAttackSequence:
|
||
|
debugAttackSequence[attacks[i]] = 1
|
||
|
return i
|
||
|
|
||
|
return attackNum
|
||
|
else:
|
||
|
for i in xrange(len(attacks)):
|
||
|
if attacks[i][0] == configAttackName:
|
||
|
return i
|
||
|
|
||
|
return attackNum
|
||
|
return
|
||
|
|
||
|
|
||
|
def getSuitAttack(suitName, suitLevel, attackNum = -1):
|
||
|
attackChoices = SuitAttributes[suitName]['attacks']
|
||
|
if attackNum == -1:
|
||
|
notify.debug('getSuitAttack: picking attacking for %s' % suitName)
|
||
|
attackNum = pickSuitAttack(attackChoices, suitLevel)
|
||
|
attack = attackChoices[attackNum]
|
||
|
adict = {}
|
||
|
adict['suitName'] = suitName
|
||
|
name = attack[0]
|
||
|
adict['name'] = name
|
||
|
adict['id'] = SuitAttacks.keys().index(name)
|
||
|
adict['animName'] = SuitAttacks[name][0]
|
||
|
adict['hp'] = attack[1][suitLevel]
|
||
|
adict['acc'] = attack[2][suitLevel]
|
||
|
adict['freq'] = attack[3][suitLevel]
|
||
|
adict['group'] = SuitAttacks[name][1]
|
||
|
return adict
|
||
|
|
||
|
|
||
|
# Formatted by Jake S. - You're welcome!
|
||
|
SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky, # cog name
|
||
|
'singularname': TTLocalizer.SuitFlunkyS, # cogs singular name, for tasks
|
||
|
'pluralname': TTLocalizer.SuitFlunkyP, # cogs plural name, for tasks
|
||
|
'level': 0, # level the cog starts at (level - 1)
|
||
|
'hp':(40,60,80,100,120), # cogs hp (more numbers, more levels)
|
||
|
'def':(25,50,69,80,100), # cogs defence (more numbers, more levels)
|
||
|
'freq':(50,30,10,7,5), # cogs level frequency
|
||
|
'acc':(50,55,60,65,70), # cogs accuracy (more numbers, more levels)
|
||
|
'attacks':
|
||
|
(('Watercooler',
|
||
|
(15,25,30,34,40), # attack damage
|
||
|
(50,65,75,80,90), # attack accuracy
|
||
|
(30,35,40,45,50)), # move frequency (all move frequency of each attack must add up to 100, for example 30,10,60 from level 1 of each attack)
|
||
|
('RubberStamp',
|
||
|
(15,25,30,34,40), # attack damage
|
||
|
(25,35,50,65,70),
|
||
|
(10,15,20,25,30)),
|
||
|
('ClipOnTie',
|
||
|
(7,7,15,15,20),
|
||
|
(75,80,85,90,95),
|
||
|
(60,50,40,30,20)))},
|
||
|
'p': {'name': TTLocalizer.SuitPencilPusher,
|
||
|
'singularname': TTLocalizer.SuitPencilPusherS,
|
||
|
'pluralname': TTLocalizer.SuitPencilPusherP,
|
||
|
'level': 1,
|
||
|
'hp':(12,20,30,42,56),
|
||
|
'def':(5,10,15,20,25),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(45,50,55,60,65),
|
||
|
'attacks':
|
||
|
(('FountainPen',
|
||
|
(2,3,4,6,9),
|
||
|
(75,75,75,75,75),
|
||
|
(20,20,20,20,20)),
|
||
|
('RubOut',
|
||
|
(4,5,6,8,12),
|
||
|
(75,75,75,75,75),
|
||
|
(20,20,20,20,20)),
|
||
|
('FingerWag',
|
||
|
(1,2,2,3,4),
|
||
|
(75,75,75,75,75),
|
||
|
(35,30,25,20,15)),
|
||
|
('WriteOff',
|
||
|
(4,6,8,10,12),
|
||
|
(75,75,75,75,75),
|
||
|
(5,10,15,20,25)),
|
||
|
('FillWithLead',
|
||
|
(3,4,5,6,7),
|
||
|
(75,75,75,75,75),
|
||
|
(20,20,20,20,20)))},
|
||
|
'ym': {'name': TTLocalizer.SuitYesman,
|
||
|
'singularname': TTLocalizer.SuitYesmanS,
|
||
|
'pluralname': TTLocalizer.SuitYesmanP,
|
||
|
'level': 2,
|
||
|
'hp':(20,30,42,56,72),
|
||
|
'def':(10,15,20,25,30),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(65,70,75,80,85),
|
||
|
'attacks':
|
||
|
(('RubberStamp',
|
||
|
(2,2,3,3,4),
|
||
|
(75,75,75,75,75),
|
||
|
(35,35,35,35,35)),
|
||
|
('RazzleDazzle',
|
||
|
(1,1,1,1,1),
|
||
|
(50,50,50,50,50),
|
||
|
(25,20,15,10,5)),
|
||
|
('Synergy',
|
||
|
(4,5,6,7,8),
|
||
|
(50,60,70,80,90),
|
||
|
(5,10,15,20,25)),
|
||
|
('TeeOff',
|
||
|
(3,3,4,4,5),
|
||
|
(50,60,70,80,90),
|
||
|
(35,35,35,35,35)))},
|
||
|
'mm': {'name': TTLocalizer.SuitMicromanager,
|
||
|
'singularname': TTLocalizer.SuitMicromanagerS,
|
||
|
'pluralname': TTLocalizer.SuitMicromanagerP,
|
||
|
'level': 3,
|
||
|
'hp':(30,42,56,72,90),
|
||
|
'def':(15,20,25,30,35),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(70,75,80,82,85),
|
||
|
'attacks':
|
||
|
(('Demotion',
|
||
|
(6,8,12,15,18),
|
||
|
(50,60,70,80,90),
|
||
|
(30,30,30,30,30)),
|
||
|
('FingerWag',
|
||
|
(4,6,9,12,15),
|
||
|
(50,60,70,80,90),
|
||
|
(10,10,10,10,10)),
|
||
|
('FountainPen',
|
||
|
(3,4,6,8,10),
|
||
|
(50,60,70,80,90),
|
||
|
(15,15,15,15,15)),
|
||
|
('BrainStorm',
|
||
|
(4,6,9,12,15),
|
||
|
(5,5,5,5,5),
|
||
|
(25,25,25,25,25)),
|
||
|
('BuzzWord',
|
||
|
(4,6,9,12,15),
|
||
|
(50,60,70,80,90),
|
||
|
(20,20,20,20,20)))},
|
||
|
'ds': {'name': TTLocalizer.SuitDownsizer,
|
||
|
'singularname': TTLocalizer.SuitDownsizerS,
|
||
|
'pluralname': TTLocalizer.SuitDownsizerP,
|
||
|
'level': 4,
|
||
|
'hp':(42,56,72,90,110),
|
||
|
'def':(20,25,30,35,40),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('Canned',
|
||
|
(5,6,8,10,12),
|
||
|
(60,75,80,85,90),
|
||
|
(25,25,25,25,25)),
|
||
|
('Downsize',
|
||
|
(8,9,11,13,15),
|
||
|
(50,65,70,75,80),
|
||
|
(35,35,35,35,35)),
|
||
|
('PinkSlip',
|
||
|
(4,5,6,7,8),
|
||
|
(60,65,75,80,85),
|
||
|
(25,25,25,25,25)),
|
||
|
('Sacked',
|
||
|
(5,6,7,8,9),
|
||
|
(50,50,50,50,50),
|
||
|
(15,15,15,15,15)))},
|
||
|
'hh': {'name': TTLocalizer.SuitHeadHunter,
|
||
|
'singularname': TTLocalizer.SuitHeadHunterS,
|
||
|
'pluralname': TTLocalizer.SuitHeadHunterP,
|
||
|
'level': 5,
|
||
|
'hp':(56,72,90,110,132),
|
||
|
'def':(25,30,35,40,45),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('FountainPen',
|
||
|
(5,6,8,10,12),
|
||
|
(60,75,80,85,90),
|
||
|
(15,15,15,15,15)),
|
||
|
('GlowerPower',
|
||
|
(7,8,10,12,13),
|
||
|
(50,60,70,80,90),
|
||
|
(20,20,20,20,20)),
|
||
|
('HalfWindsor',
|
||
|
(8,10,12,14,16),
|
||
|
(60,65,70,75,80),
|
||
|
(20,20,20,20,20)),
|
||
|
('HeadShrink',
|
||
|
(10,12,15,18,21),
|
||
|
(65,75,80,85,95),
|
||
|
(35,35,35,35,35)),
|
||
|
('Rolodex',
|
||
|
(6,7,8,9,10),
|
||
|
(60,65,70,75,80),
|
||
|
(10,10,10,10,10)))},
|
||
|
'cr': {'name': TTLocalizer.SuitCorporateRaider,
|
||
|
'singularname': TTLocalizer.SuitCorporateRaiderS,
|
||
|
'pluralname': TTLocalizer.SuitCorporateRaiderP,
|
||
|
'level': 6,
|
||
|
'hp':(72,90,110,132,156),
|
||
|
'def':(30,35,40,45,50),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('Canned',
|
||
|
(6,7,8,9,10),
|
||
|
(60,75,80,85,90),
|
||
|
(20,20,20,20,20)),
|
||
|
('EvilEye',
|
||
|
(12,15,18,21,24),
|
||
|
(60,70,75,80,90),
|
||
|
(35,35,35,35,35)),
|
||
|
('PlayHardball',
|
||
|
(7,8,12,15,16),
|
||
|
(60,65,70,75,80),
|
||
|
(30,30,30,30,30)),
|
||
|
('PowerTie',
|
||
|
(10,12,14,16,18),
|
||
|
(65,75,80,85,95),
|
||
|
(15,15,15,15,15)))},
|
||
|
'tbc': {'name': TTLocalizer.SuitTheBigCheese,
|
||
|
'singularname': TTLocalizer.SuitTheBigCheeseS,
|
||
|
'pluralname': TTLocalizer.SuitTheBigCheeseP,
|
||
|
'level': 7,
|
||
|
'hp':(90,110,132,156,200,462,992,1722,2652,3382,4112,4842,5572,6302),
|
||
|
'def':(35,40,45,50,55,60,65,70,70,70,70,70,70,70),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55,60,65,70,70,70,70,70,70,70),
|
||
|
'attacks':
|
||
|
(('CigarSmoke',
|
||
|
(10,12,15,18,20,22,23,24,25,26,27,28,29,30),
|
||
|
(55,65,75,85,95,95,95,95,95,95,95,95,95,95),
|
||
|
(20,20,20,20,20,20,20,20,20,20,20,20,20,20)),
|
||
|
('FloodTheMarket',
|
||
|
(14,16,18,20,22,23,23,24,25,26,27,28,29,30),
|
||
|
(70,75,85,90,95,95,95,95,95,95,95,95,95,95),
|
||
|
(10,10,10,10,10,10,10,10,10,10,10,10,10,10)),
|
||
|
('SongAndDance',
|
||
|
(14,15,17,19,20,21,22,23,24,25,26,27,28,29),
|
||
|
(60,65,70,75,80,85,90,90,90,90,90,90,90,90),
|
||
|
(20,20,20,20,20,20,20,20,20,20,20,20,20,20)),
|
||
|
('TeeOff',
|
||
|
(8,11,14,17,20,21,21,22,22,23,23,24,24,25),
|
||
|
(55,65,70,75,80,85,90,90,90,90,90,90,90,90),
|
||
|
(50,50,50,50,50,50,50,50,50,50,50,50,50,50)))},
|
||
|
'cc': {'name': TTLocalizer.SuitColdCaller,
|
||
|
'singularname': TTLocalizer.SuitColdCallerS,
|
||
|
'pluralname': TTLocalizer.SuitColdCallerP,
|
||
|
'level': 0,
|
||
|
'hp':(6,12,20,30,42),
|
||
|
'def':(2,5,10,12,15),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('FreezeAssets',
|
||
|
(1,1,1,1,1),
|
||
|
(90,90,90,90,90),
|
||
|
(5,10,15,20,25)),
|
||
|
('PoundKey',
|
||
|
(2,2,3,4,5),
|
||
|
(75,80,85,90,95),
|
||
|
(25,25,25,25,25)),
|
||
|
('DoubleTalk',
|
||
|
(2,3,4,6,8),
|
||
|
(50,55,60,65,70),
|
||
|
(25,25,25,25,25)),
|
||
|
('HotAir',
|
||
|
(3,4,6,8,10),
|
||
|
(50,50,50,50,50),
|
||
|
(45,40,35,30,25)))},
|
||
|
'tm': {'name': TTLocalizer.SuitTelemarketer,
|
||
|
'singularname': TTLocalizer.SuitTelemarketerS,
|
||
|
'pluralname': TTLocalizer.SuitTelemarketerP,
|
||
|
'level': 1,
|
||
|
'hp':(12,20,30,42,56),
|
||
|
'def':(5,10,15,20,25),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(45,50,55,60,65),
|
||
|
'attacks':
|
||
|
(('ClipOnTie',
|
||
|
(2,2,3,3,4),
|
||
|
(75,75,75,75,75),
|
||
|
(15,15,15,15,15)),
|
||
|
('PickPocket',
|
||
|
(1,1,1,1,1),
|
||
|
(75,75,75,75,75),
|
||
|
(15,15,15,15,15)),
|
||
|
('Rolodex',
|
||
|
(4,6,7,9,12),
|
||
|
(50,50,50,50,50),
|
||
|
(30,30,30,30,30)),
|
||
|
('DoubleTalk',
|
||
|
(4,6,7,9,12),
|
||
|
(75,80,85,90,95),
|
||
|
(40,40,40,40,40)))},
|
||
|
'nd': {'name': TTLocalizer.SuitNameDropper,
|
||
|
'singularname': TTLocalizer.SuitNameDropperS,
|
||
|
'pluralname': TTLocalizer.SuitNameDropperP,
|
||
|
'level': 2,
|
||
|
'hp':(20,30,42,56,72),
|
||
|
'def':(10,15,20,25,30),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(65,70,75,80,85),
|
||
|
'attacks':
|
||
|
(('RazzleDazzle',
|
||
|
(4,5,6,9,12),
|
||
|
(75,80,85,90,95),
|
||
|
(30,30,30,30,30)),
|
||
|
('Rolodex',
|
||
|
(5,6,7,10,14),
|
||
|
(95,95,95,95,95),
|
||
|
(40,40,40,40,40)),
|
||
|
('Synergy',
|
||
|
(3,4,6,9,12),
|
||
|
(50,50,50,50,50),
|
||
|
(15,15,15,15,15)),
|
||
|
('PickPocket',
|
||
|
(2,2,2,2,2),
|
||
|
(95,95,95,95,95),
|
||
|
(15,15,15,15,15)))},
|
||
|
'gh': {'name': TTLocalizer.SuitGladHander,
|
||
|
'singularname': TTLocalizer.SuitGladHanderS,
|
||
|
'pluralname': TTLocalizer.SuitGladHanderP,
|
||
|
'level': 3,
|
||
|
'hp':(30,42,56,72,90),
|
||
|
'def':(15,20,25,30,35),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(70,75,80,82,85),
|
||
|
'attacks':
|
||
|
(('RubberStamp',
|
||
|
(4,3,3,2,1),
|
||
|
(90,70,50,30,10),
|
||
|
(40,30,20,10,5)),
|
||
|
('FountainPen',
|
||
|
(3,3,2,1,1),
|
||
|
(70,60,50,40,30),
|
||
|
(40,30,20,10,5)),
|
||
|
('Filibuster',
|
||
|
(4,6,9,12,15),
|
||
|
(30,40,50,60,70),
|
||
|
(10,20,30,40,45)),
|
||
|
('Schmooze',
|
||
|
(5,7,11,15,20),
|
||
|
(55,65,75,85,95),
|
||
|
(10,20,30,40,45)))},
|
||
|
'ms': {'name': TTLocalizer.SuitMoverShaker,
|
||
|
'singularname': TTLocalizer.SuitMoverShakerS,
|
||
|
'pluralname': TTLocalizer.SuitMoverShakerP,
|
||
|
'level': 4,
|
||
|
'hp':(42,56,72,90,110),
|
||
|
'def':(20,25,30,35,40),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('BrainStorm',
|
||
|
(5,6,8,10,12),
|
||
|
(60,75,80,85,90),
|
||
|
(15,15,15,15,15)),
|
||
|
('HalfWindsor',
|
||
|
(6,9,11,13,16),
|
||
|
(50,65,70,75,80),
|
||
|
(20,20,20,20,20)),
|
||
|
('Quake',
|
||
|
(9,12,15,18,21),
|
||
|
(60,65,75,80,85),
|
||
|
(20,20,20,20,20)),
|
||
|
('Shake',
|
||
|
(6,8,10,12,14),
|
||
|
(70,75,80,85,90),
|
||
|
(25,25,25,25,25)),
|
||
|
('Tremor',
|
||
|
(5,6,7,8,9),
|
||
|
(50,50,50,50,50),
|
||
|
(20,20,20,20,20)))},
|
||
|
'tf': {'name': TTLocalizer.SuitTwoFace,
|
||
|
'singularname': TTLocalizer.SuitTwoFaceS,
|
||
|
'pluralname': TTLocalizer.SuitTwoFaceP,
|
||
|
'level': 5,
|
||
|
'hp':(56,72,90,110,132),
|
||
|
'def':(25,30,35,40,45),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('EvilEye',
|
||
|
(10,12,14,16,18),
|
||
|
(60,75,80,85,90),
|
||
|
(30,30,30,30,30)),
|
||
|
('HangUp',
|
||
|
(7,8,10,12,13),
|
||
|
(50,60,70,80,90),
|
||
|
(15,15,15,15,15)),
|
||
|
('RazzleDazzle',
|
||
|
(8,10,12,14,16),
|
||
|
(60,65,70,75,80),
|
||
|
(30,30,30,30,30)),
|
||
|
('RedTape',
|
||
|
(6,7,8,9,10),
|
||
|
(60,65,75,85,90),
|
||
|
(25,25,25,25,25)))},
|
||
|
'm': {'name': TTLocalizer.SuitTheMingler,
|
||
|
'singularname': TTLocalizer.SuitTheMinglerS,
|
||
|
'pluralname': TTLocalizer.SuitTheMinglerP,
|
||
|
'level': 6,
|
||
|
'hp':(72,90,110,132,156),
|
||
|
'def':(30,35,40,45,50),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('BuzzWord',
|
||
|
(10,11,13,15,16),
|
||
|
(60,75,80,85,90),
|
||
|
(20,20,20,20,20)),
|
||
|
('ParadigmShift',
|
||
|
(12,15,18,21,24),
|
||
|
(60,70,75,80,90),
|
||
|
(25,25,25,25,25)),
|
||
|
('PowerTrip',
|
||
|
(10,13,14,15,18),
|
||
|
(60,65,70,75,80),
|
||
|
(15,15,15,15,15)),
|
||
|
('Schmooze',
|
||
|
(7,8,12,15,16),
|
||
|
(55,65,75,85,95),
|
||
|
(30,30,30,30,30)),
|
||
|
('TeeOff',
|
||
|
(8,9,10,11,12),
|
||
|
(70,75,80,85,95),
|
||
|
(10,10,10,10,10)))},
|
||
|
'mh': {'name': TTLocalizer.SuitMrHollywood,
|
||
|
'singularname': TTLocalizer.SuitMrHollywoodS,
|
||
|
'pluralname': TTLocalizer.SuitMrHollywoodP,
|
||
|
'level': 7,
|
||
|
'hp':(90,110,132,156,200,462,992,1722,2652,3382,4112,4842,5572,6302),
|
||
|
'def':(35,40,45,50,55,60,65,70,70,70,70,70,70,70),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55,60,65,70,70,70,70,70,70,70),
|
||
|
'attacks':
|
||
|
(('PowerTrip',
|
||
|
(10,12,15,18,20,22,24,26,28,30,32,34,36,38),
|
||
|
(55,65,75,85,95,95,95,95,95,95,95,95,95,95),
|
||
|
(50,50,50,50,50,50,50,50,50,50,50,50,50,50)),
|
||
|
('RazzleDazzle',
|
||
|
(8,11,14,17,20,22,24,26,28,30,32,34,36,38),
|
||
|
(70,75,85,90,95,95,95,95,95,95,95,95,95,95),
|
||
|
(50,50,50,50,50,50,50,50,50,50,50,50,50,50)))},
|
||
|
'sc': {'name': TTLocalizer.SuitShortChange,
|
||
|
'singularname': TTLocalizer.SuitShortChangeS,
|
||
|
'pluralname': TTLocalizer.SuitShortChangeP,
|
||
|
'level': 0,
|
||
|
'hp':(6,12,20,30,42),
|
||
|
'def':(2,5,10,12,15),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('Watercooler',
|
||
|
(2,2,3,4,6),
|
||
|
(50,50,50,50,50),
|
||
|
(20,20,20,20,20)),
|
||
|
('BounceCheck',
|
||
|
(3,5,7,9,11),
|
||
|
(75,80,85,90,95),
|
||
|
(15,15,15,15,15)),
|
||
|
('ClipOnTie',
|
||
|
(1,1,2,2,3),
|
||
|
(50,50,50,50,50),
|
||
|
(25,25,25,25,25)),
|
||
|
('PickPocket',
|
||
|
(2,2,3,4,6),
|
||
|
(95,95,95,95,95),
|
||
|
(40,40,40,40,40)))},
|
||
|
'pp': {'name': TTLocalizer.SuitPennyPincher,
|
||
|
'singularname': TTLocalizer.SuitPennyPincherS,
|
||
|
'pluralname': TTLocalizer.SuitPennyPincherP,
|
||
|
'level': 1,
|
||
|
'hp':(12,20,30,42,56),
|
||
|
'def':(5,10,15,20,25),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(45,50,55,60,65),
|
||
|
'attacks':
|
||
|
(('BounceCheck',
|
||
|
(4,5,6,8,12),
|
||
|
(75,75,75,75,75),
|
||
|
(45,45,45,45,45)),
|
||
|
('FreezeAssets',
|
||
|
(2,3,4,6,9),
|
||
|
(75,75,75,75,75),
|
||
|
(20,20,20,20,20)),
|
||
|
('FingerWag',
|
||
|
(1,2,3,4,6),
|
||
|
(50,50,50,50,50),
|
||
|
(35,35,35,35,35)))},
|
||
|
'tw': {'name': TTLocalizer.SuitTightwad,
|
||
|
'singularname': TTLocalizer.SuitTightwadS,
|
||
|
'pluralname': TTLocalizer.SuitTightwadP,
|
||
|
'level': 2,
|
||
|
'hp':(20,30,42,56,72),
|
||
|
'def':(10,15,20,25,30),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(65,70,75,80,85),
|
||
|
'attacks':
|
||
|
(('Fired',
|
||
|
(3,4,5,5,6),
|
||
|
(75,75,75,75,75),
|
||
|
(75,5,5,5,5)),
|
||
|
('GlowerPower',
|
||
|
(3,4,6,9,12),
|
||
|
(95,95,95,95,95),
|
||
|
(10,15,20,25,30)),
|
||
|
('FingerWag',
|
||
|
(3,3,4,4,5),
|
||
|
(75,75,75,75,75),
|
||
|
(5,70,5,5,5)),
|
||
|
('FreezeAssets',
|
||
|
(3,4,6,9,12),
|
||
|
(75,75,75,75,75),
|
||
|
(5,5,65,5,30)),
|
||
|
('BounceCheck',
|
||
|
(5,6,9,13,18),
|
||
|
(75,75,75,75,75),
|
||
|
(5,5,5,60,30)))},
|
||
|
'bc': {'name': TTLocalizer.SuitBeanCounter,
|
||
|
'singularname': TTLocalizer.SuitBeanCounterS,
|
||
|
'pluralname': TTLocalizer.SuitBeanCounterP,
|
||
|
'level': 3,
|
||
|
'hp':(30,42,56,72,90),
|
||
|
'def':(15,20,25,30,35),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(70,75,80,82,85),
|
||
|
'attacks':
|
||
|
(('Audit',
|
||
|
(4,6,9,12,15),
|
||
|
(95,95,95,95,95),
|
||
|
(20,20,20,20,20)),
|
||
|
('Calculate',
|
||
|
(4,6,9,12,15),
|
||
|
(75,75,75,75,75),
|
||
|
(25,25,25,25,25)),
|
||
|
('Tabulate',
|
||
|
(4,6,9,12,15),
|
||
|
(75,75,75,75,75),
|
||
|
(25,25,25,25,25)),
|
||
|
('WriteOff',
|
||
|
(4,6,9,12,15),
|
||
|
(95,95,95,95,95),
|
||
|
(30,30,30,30,30)))},
|
||
|
'nc': {'name': TTLocalizer.SuitNumberCruncher,
|
||
|
'singularname': TTLocalizer.SuitNumberCruncherS,
|
||
|
'pluralname': TTLocalizer.SuitNumberCruncherP,
|
||
|
'level': 4,
|
||
|
'hp':(42,56,72,90,110),
|
||
|
'def':(20,25,30,35,40),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('Audit',
|
||
|
(5,6,8,10,12),
|
||
|
(60,75,80,85,90),
|
||
|
(15,15,15,15,15)),
|
||
|
('Calculate',
|
||
|
(6,7,9,11,13),
|
||
|
(50,65,70,75,80),
|
||
|
(30,30,30,30,30)),
|
||
|
('Crunch',
|
||
|
(8,9,11,13,15),
|
||
|
(60,65,75,80,85),
|
||
|
(35,35,35,35,35)),
|
||
|
('Tabulate',
|
||
|
(5,6,7,8,9),
|
||
|
(50,50,50,50,50),
|
||
|
(20,20,20,20,20)))},
|
||
|
'mb': {'name': TTLocalizer.SuitMoneyBags,
|
||
|
'singularname': TTLocalizer.SuitMoneyBagsS,
|
||
|
'pluralname': TTLocalizer.SuitMoneyBagsP,
|
||
|
'level': 5,
|
||
|
'hp':(56,72,90,110,132),
|
||
|
'def':(25,30,35,40,45),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('Liquidate',
|
||
|
(10,12,14,16,18),
|
||
|
(60,75,80,85,90),
|
||
|
(30,30,30,30,30)),
|
||
|
('MarketCrash',
|
||
|
(8,10,12,14,16),
|
||
|
(60,65,70,75,80),
|
||
|
(45,45,45,45,45)),
|
||
|
('PowerTie',
|
||
|
(6,7,8,9,10),
|
||
|
(60,65,75,85,90),
|
||
|
(25,25,25,25,25)))},
|
||
|
'ls': {'name': TTLocalizer.SuitLoanShark,
|
||
|
'singularname': TTLocalizer.SuitLoanSharkS,
|
||
|
'pluralname': TTLocalizer.SuitLoanSharkP,
|
||
|
'level': 6,
|
||
|
'hp':(72,90,110,132,156),
|
||
|
'def':(30,35,40,45,50),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('Bite',
|
||
|
(10,11,13,15,16),
|
||
|
(60,75,80,85,90),
|
||
|
(30,30,30,30,30)),
|
||
|
('Chomp',
|
||
|
(12,15,18,21,24),
|
||
|
(60,70,75,80,90),
|
||
|
(35,35,35,35,35)),
|
||
|
('PlayHardball',
|
||
|
(9,11,12,13,15),
|
||
|
(55,65,75,85,95),
|
||
|
(20,20,20,20,20)),
|
||
|
('WriteOff',
|
||
|
(6,8,10,12,14),
|
||
|
(70,75,80,85,95),
|
||
|
(15,15,15,15,15)))},
|
||
|
'rb': {'name': TTLocalizer.SuitRobberBaron,
|
||
|
'singularname': TTLocalizer.SuitRobberBaronS,
|
||
|
'pluralname': TTLocalizer.SuitRobberBaronP,
|
||
|
'level': 7,
|
||
|
'hp':(90,110,132,156,200,462,992,1722,2652,3382,4112,4842,5572,6302),
|
||
|
'def':(35,40,45,50,55,60,65,70,70,70,70,70,70,70),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55,60,65,70,70,70,70,70,70,70),
|
||
|
'attacks':
|
||
|
(('PowerTrip',
|
||
|
(11,14,16,18,21,22,23,24,25,26,27,28,29,30),
|
||
|
(60,65,70,75,80,80,80,85,90,90,90,90,90,90),
|
||
|
(50,50,50,50,50,50,50,50,50,50,50,50,50,50)),
|
||
|
('TeeOff',
|
||
|
(10,12,14,16,18,20,22,24,26,27,28,29,30,31),
|
||
|
(60,65,75,85,90,90,90,90,95,95,95,95,95,95),
|
||
|
(50,50,50,50,50,50,50,50,50,50,50,50,50,50)))},
|
||
|
|
||
|
'bf': {'name': TTLocalizer.SuitBottomFeeder,
|
||
|
'singularname': TTLocalizer.SuitBottomFeederS,
|
||
|
'pluralname': TTLocalizer.SuitBottomFeederP,
|
||
|
'level': 0,
|
||
|
'hp':(6,12,20,30,42),
|
||
|
'def':(2,5,10,12,15),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('RubberStamp',
|
||
|
(2,3,4,5,6),
|
||
|
(75,80,85,90,95),
|
||
|
(20,20,20,20,20)),
|
||
|
('Shred',
|
||
|
(2,4,6,8,10),
|
||
|
(50,55,60,65,70),
|
||
|
(20,20,20,20,20)),
|
||
|
('Watercooler',
|
||
|
(3,4,5,6,7),
|
||
|
(95,95,95,95,95),
|
||
|
(10,10,10,10,10)),
|
||
|
('PickPocket',
|
||
|
(1,1,2,2,3),
|
||
|
(25,30,35,40,45),
|
||
|
(50,50,50,50,50)))},
|
||
|
'b': {'name': TTLocalizer.SuitBloodsucker,
|
||
|
'singularname': TTLocalizer.SuitBloodsuckerS,
|
||
|
'pluralname': TTLocalizer.SuitBloodsuckerP,
|
||
|
'level': 1,
|
||
|
'hp':(12,20,30,42,56),
|
||
|
'def':(5,10,15,20,25),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(45,50,55,60,65),
|
||
|
'attacks':
|
||
|
(('EvictionNotice',
|
||
|
(1,2,3,3,4),
|
||
|
(75,75,75,75,75),
|
||
|
(20,20,20,20,20)),
|
||
|
('RedTape',
|
||
|
(2,3,4,6,9),
|
||
|
(75,75,75,75,75),
|
||
|
(20,20,20,20,20)),
|
||
|
('Withdrawal',
|
||
|
(6,8,10,12,14),
|
||
|
(95,95,95,95,95),
|
||
|
(10,10,10,10,10)),
|
||
|
('Liquidate',
|
||
|
(2,3,4,6,9),
|
||
|
(50,60,70,80,90),
|
||
|
(50,50,50,50,50)))},
|
||
|
'dt': {'name': TTLocalizer.SuitDoubleTalker,
|
||
|
'singularname': TTLocalizer.SuitDoubleTalkerS,
|
||
|
'pluralname': TTLocalizer.SuitDoubleTalkerP,
|
||
|
'level': 2,
|
||
|
'hp':(20,30,42,56,72),
|
||
|
'def':(10,15,20,25,30),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(65,70,75,80,85),
|
||
|
'attacks':
|
||
|
(('RubberStamp',
|
||
|
(1,1,1,1,1),
|
||
|
(50,60,70,80,90),
|
||
|
(5,5,5,5,5)),
|
||
|
('BounceCheck',
|
||
|
(1,1,1,1,1),
|
||
|
(50,60,70,80,90),
|
||
|
(5,5,5,5,5)),
|
||
|
('BuzzWord',
|
||
|
(1,2,3,5,6),
|
||
|
(50,60,70,80,90),
|
||
|
(20,20,20,20,20)),
|
||
|
('DoubleTalk',
|
||
|
(6,6,9,13,18),
|
||
|
(50,60,70,80,90),
|
||
|
(25,25,25,25,25)),
|
||
|
('Jargon',
|
||
|
(3,4,6,9,12),
|
||
|
(50,60,70,80,90),
|
||
|
(25,25,25,25,25)),
|
||
|
('MumboJumbo',
|
||
|
(3,4,6,9,12),
|
||
|
(50,60,70,80,90),
|
||
|
(20,20,20,20,20)))},
|
||
|
'ac': {'name': TTLocalizer.SuitAmbulanceChaser,
|
||
|
'singularname': TTLocalizer.SuitAmbulanceChaserS,
|
||
|
'pluralname': TTLocalizer.SuitAmbulanceChaserP,
|
||
|
'level': 3,
|
||
|
'hp':(30,42,56,72,90),
|
||
|
'def':(15,20,25,30,35),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(65,70,75,80,85),
|
||
|
'attacks':
|
||
|
(('Shake',
|
||
|
(4,6,9,12,15),
|
||
|
(75,75,75,75,75),
|
||
|
(15,15,15,15,15)),
|
||
|
('RedTape',
|
||
|
(6,8,12,15,19),
|
||
|
(75,75,75,75,75),
|
||
|
(30,30,30,30,30)),
|
||
|
('Rolodex',
|
||
|
(3,4,5,6,7),
|
||
|
(75,75,75,75,75),
|
||
|
(20,20,20,20,20)),
|
||
|
('HangUp',
|
||
|
(2,3,4,5,6),
|
||
|
(75,75,75,75,75),
|
||
|
(35,35,35,35,35)))},
|
||
|
'bs': {'name': TTLocalizer.SuitBackStabber,
|
||
|
'singularname': TTLocalizer.SuitBackStabberS,
|
||
|
'pluralname': TTLocalizer.SuitBackStabberP,
|
||
|
'level': 4,
|
||
|
'hp':(42,56,72,90,110),
|
||
|
'def':(20,25,30,35,40),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('GuiltTrip',
|
||
|
(8,11,13,15,18),
|
||
|
(60,75,80,85,90),
|
||
|
(40,40,40,40,40)),
|
||
|
('RestrainingOrder',
|
||
|
(6,7,9,11,13),
|
||
|
(50,65,70,75,90),
|
||
|
(25,25,25,25,25)),
|
||
|
('FingerWag',
|
||
|
(5,6,7,8,9),
|
||
|
(50,55,65,75,80),
|
||
|
(35,35,35,35,35)))},
|
||
|
'sd': {'name': TTLocalizer.SuitSpinDoctor,
|
||
|
'singularname': TTLocalizer.SuitSpinDoctorS,
|
||
|
'pluralname': TTLocalizer.SuitSpinDoctorP,
|
||
|
'level': 5,
|
||
|
'hp':(56,72,90,110,132),
|
||
|
'def':(25,30,35,40,45),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('ParadigmShift',
|
||
|
(9,10,13,16,17),
|
||
|
(60,75,80,85,90),
|
||
|
(30,30,30,30,30)),
|
||
|
('Quake',
|
||
|
(8,10,12,14,16),
|
||
|
(60,65,70,75,80),
|
||
|
(20,20,20,20,20)),
|
||
|
('Spin',
|
||
|
(10,12,15,18,20),
|
||
|
(70,75,80,85,90),
|
||
|
(35,35,35,35,35)),
|
||
|
('WriteOff',
|
||
|
(6,7,8,9,10),
|
||
|
(60,65,75,85,90),
|
||
|
(15,15,15,15,15)))},
|
||
|
'le': {'name': TTLocalizer.SuitLegalEagle,
|
||
|
'singularname': TTLocalizer.SuitLegalEagleS,
|
||
|
'pluralname': TTLocalizer.SuitLegalEagleP,
|
||
|
'level': 6,
|
||
|
'hp':(72,90,110,132,156),
|
||
|
'def':(30,35,40,45,50),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55),
|
||
|
'attacks':
|
||
|
(('EvilEye',
|
||
|
(10,11,13,15,16),
|
||
|
(60,75,80,85,90),
|
||
|
(20,20,20,20,20)),
|
||
|
('Jargon',
|
||
|
(7,9,11,13,15),
|
||
|
(60,70,75,80,90),
|
||
|
(15,15,15,15,15)),
|
||
|
('Legalese',
|
||
|
(11,13,16,19,21),
|
||
|
(55,65,75,85,95),
|
||
|
(35,35,35,35,35)),
|
||
|
('PeckingOrder',
|
||
|
(12,15,17,19,22),
|
||
|
(70,75,80,85,95),
|
||
|
(30,30,30,30,30)))},
|
||
|
'bw': {'name': TTLocalizer.SuitBigWig,
|
||
|
'singularname': TTLocalizer.SuitBigWigS,
|
||
|
'pluralname': TTLocalizer.SuitBigWigP,
|
||
|
'level': 7,
|
||
|
'hp':(90,110,132,156,200,462,992,1722,2652,3382,4112,4842,5572,6302),
|
||
|
'def':(35,40,45,50,55,60,65,70,70,70,70,70,70,70),
|
||
|
'freq':(50,30,10,5,5),
|
||
|
'acc':(35,40,45,50,55,60,65,70,70,70,70,70,70,70),
|
||
|
'attacks':
|
||
|
(('PowerTrip',
|
||
|
(10,11,13,15,16,18,20,21,23,24,25,25,26,27),
|
||
|
(75,80,85,90,95,95,95,95,95,95,95,95,95,95),
|
||
|
(50,50,50,50,50,50,50,50,50,50,50,50,50,50)),
|
||
|
('ThrowBook',
|
||
|
(13,15,17,19,21,23,25,27,29,32,34,36,38,40),
|
||
|
(80,85,85,85,90,90,90,90,95,95,95,95,95,95),
|
||
|
(50,50,50,50,50,50,50,50,50,50,50,50,50,50)))}}
|
||
|
|
||
|
ATK_TGT_UNKNOWN = 1
|
||
|
ATK_TGT_SINGLE = 2
|
||
|
ATK_TGT_GROUP = 3
|
||
|
SuitAttacks = {'Audit': ('phone', ATK_TGT_SINGLE),
|
||
|
'Bite': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'BounceCheck': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'BrainStorm': ('effort', ATK_TGT_SINGLE),
|
||
|
'BuzzWord': ('speak', ATK_TGT_SINGLE),
|
||
|
'Calculate': ('phone', ATK_TGT_SINGLE),
|
||
|
'Canned': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'Chomp': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'CigarSmoke': ('cigar-smoke', ATK_TGT_SINGLE),
|
||
|
'ClipOnTie': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'Crunch': ('throw-object', ATK_TGT_SINGLE),
|
||
|
'Demotion': ('magic1', ATK_TGT_SINGLE),
|
||
|
'DoubleTalk': ('speak', ATK_TGT_SINGLE),
|
||
|
'Downsize': ('magic2', ATK_TGT_SINGLE),
|
||
|
'EvictionNotice': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'EvilEye': ('glower', ATK_TGT_SINGLE),
|
||
|
'Filibuster': ('speak', ATK_TGT_SINGLE),
|
||
|
'FillWithLead': ('pencil-sharpener', ATK_TGT_SINGLE),
|
||
|
'FingerWag': ('finger-wag', ATK_TGT_SINGLE),
|
||
|
'Fired': ('magic2', ATK_TGT_SINGLE),
|
||
|
'FiveOClockShadow': ('glower', ATK_TGT_SINGLE),
|
||
|
'FloodTheMarket': ('glower', ATK_TGT_SINGLE),
|
||
|
'FountainPen': ('pen-squirt', ATK_TGT_SINGLE),
|
||
|
'FreezeAssets': ('glower', ATK_TGT_SINGLE),
|
||
|
'Gavel': ('gavel', ATK_TGT_SINGLE),
|
||
|
'GlowerPower': ('glower', ATK_TGT_SINGLE),
|
||
|
'GuiltTrip': ('magic1', ATK_TGT_GROUP),
|
||
|
'HalfWindsor': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'HangUp': ('phone', ATK_TGT_SINGLE),
|
||
|
'HeadShrink': ('magic1', ATK_TGT_SINGLE),
|
||
|
'HotAir': ('speak', ATK_TGT_SINGLE),
|
||
|
'Jargon': ('speak', ATK_TGT_SINGLE),
|
||
|
'Legalese': ('speak', ATK_TGT_SINGLE),
|
||
|
'Liquidate': ('magic1', ATK_TGT_SINGLE),
|
||
|
'MarketCrash': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'MumboJumbo': ('speak', ATK_TGT_SINGLE),
|
||
|
'ParadigmShift': ('magic2', ATK_TGT_GROUP),
|
||
|
'PeckingOrder': ('throw-object', ATK_TGT_SINGLE),
|
||
|
'PickPocket': ('pickpocket', ATK_TGT_SINGLE),
|
||
|
'PinkSlip': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'PlayHardball': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'PoundKey': ('phone', ATK_TGT_SINGLE),
|
||
|
'PowerTie': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'PowerTrip': ('magic1', ATK_TGT_GROUP),
|
||
|
'Quake': ('quick-jump', ATK_TGT_GROUP),
|
||
|
'RazzleDazzle': ('smile', ATK_TGT_SINGLE),
|
||
|
'RedTape': ('throw-object', ATK_TGT_SINGLE),
|
||
|
'ReOrg': ('magic3', ATK_TGT_SINGLE),
|
||
|
'RestrainingOrder': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'Rolodex': ('roll-o-dex', ATK_TGT_SINGLE),
|
||
|
'RubberStamp': ('rubber-stamp', ATK_TGT_SINGLE),
|
||
|
'RubOut': ('hold-eraser', ATK_TGT_SINGLE),
|
||
|
'Sacked': ('throw-paper', ATK_TGT_SINGLE),
|
||
|
'SandTrap': ('golf-club-swing', ATK_TGT_SINGLE),
|
||
|
'Schmooze': ('speak', ATK_TGT_SINGLE),
|
||
|
'Shake': ('stomp', ATK_TGT_GROUP),
|
||
|
'Shred': ('shredder', ATK_TGT_SINGLE),
|
||
|
'SongAndDance': ('song-and-dance', ATK_TGT_SINGLE),
|
||
|
'Spin': ('magic3', ATK_TGT_SINGLE),
|
||
|
'Synergy': ('magic3', ATK_TGT_GROUP),
|
||
|
'Tabulate': ('phone', ATK_TGT_SINGLE),
|
||
|
'TeeOff': ('golf-club-swing', ATK_TGT_SINGLE),
|
||
|
'ThrowBook': ('throw-object', ATK_TGT_SINGLE),
|
||
|
'Tremor': ('stomp', ATK_TGT_GROUP),
|
||
|
'Watercooler': ('watercooler', ATK_TGT_SINGLE),
|
||
|
'Withdrawal': ('magic1', ATK_TGT_SINGLE),
|
||
|
'WriteOff': ('hold-pencil', ATK_TGT_SINGLE)}
|
||
|
AUDIT = SuitAttacks.keys().index('Audit')
|
||
|
BITE = SuitAttacks.keys().index('Bite')
|
||
|
BOUNCE_CHECK = SuitAttacks.keys().index('BounceCheck')
|
||
|
BRAIN_STORM = SuitAttacks.keys().index('BrainStorm')
|
||
|
BUZZ_WORD = SuitAttacks.keys().index('BuzzWord')
|
||
|
CALCULATE = SuitAttacks.keys().index('Calculate')
|
||
|
CANNED = SuitAttacks.keys().index('Canned')
|
||
|
CHOMP = SuitAttacks.keys().index('Chomp')
|
||
|
CIGAR_SMOKE = SuitAttacks.keys().index('CigarSmoke')
|
||
|
CLIPON_TIE = SuitAttacks.keys().index('ClipOnTie')
|
||
|
CRUNCH = SuitAttacks.keys().index('Crunch')
|
||
|
DEMOTION = SuitAttacks.keys().index('Demotion')
|
||
|
DOWNSIZE = SuitAttacks.keys().index('Downsize')
|
||
|
DOUBLE_TALK = SuitAttacks.keys().index('DoubleTalk')
|
||
|
EVICTION_NOTICE = SuitAttacks.keys().index('EvictionNotice')
|
||
|
EVIL_EYE = SuitAttacks.keys().index('EvilEye')
|
||
|
FILIBUSTER = SuitAttacks.keys().index('Filibuster')
|
||
|
FILL_WITH_LEAD = SuitAttacks.keys().index('FillWithLead')
|
||
|
FINGER_WAG = SuitAttacks.keys().index('FingerWag')
|
||
|
FIRED = SuitAttacks.keys().index('Fired')
|
||
|
FIVE_O_CLOCK_SHADOW = SuitAttacks.keys().index('FiveOClockShadow')
|
||
|
FLOOD_THE_MARKET = SuitAttacks.keys().index('FloodTheMarket')
|
||
|
FOUNTAIN_PEN = SuitAttacks.keys().index('FountainPen')
|
||
|
FREEZE_ASSETS = SuitAttacks.keys().index('FreezeAssets')
|
||
|
GAVEL = SuitAttacks.keys().index('Gavel')
|
||
|
GLOWER_POWER = SuitAttacks.keys().index('GlowerPower')
|
||
|
GUILT_TRIP = SuitAttacks.keys().index('GuiltTrip')
|
||
|
HALF_WINDSOR = SuitAttacks.keys().index('HalfWindsor')
|
||
|
HANG_UP = SuitAttacks.keys().index('HangUp')
|
||
|
HEAD_SHRINK = SuitAttacks.keys().index('HeadShrink')
|
||
|
HOT_AIR = SuitAttacks.keys().index('HotAir')
|
||
|
JARGON = SuitAttacks.keys().index('Jargon')
|
||
|
LEGALESE = SuitAttacks.keys().index('Legalese')
|
||
|
LIQUIDATE = SuitAttacks.keys().index('Liquidate')
|
||
|
MARKET_CRASH = SuitAttacks.keys().index('MarketCrash')
|
||
|
MUMBO_JUMBO = SuitAttacks.keys().index('MumboJumbo')
|
||
|
PARADIGM_SHIFT = SuitAttacks.keys().index('ParadigmShift')
|
||
|
PECKING_ORDER = SuitAttacks.keys().index('PeckingOrder')
|
||
|
PICK_POCKET = SuitAttacks.keys().index('PickPocket')
|
||
|
PINK_SLIP = SuitAttacks.keys().index('PinkSlip')
|
||
|
PLAY_HARDBALL = SuitAttacks.keys().index('PlayHardball')
|
||
|
POUND_KEY = SuitAttacks.keys().index('PoundKey')
|
||
|
POWER_TIE = SuitAttacks.keys().index('PowerTie')
|
||
|
POWER_TRIP = SuitAttacks.keys().index('PowerTrip')
|
||
|
QUAKE = SuitAttacks.keys().index('Quake')
|
||
|
RAZZLE_DAZZLE = SuitAttacks.keys().index('RazzleDazzle')
|
||
|
RED_TAPE = SuitAttacks.keys().index('RedTape')
|
||
|
RE_ORG = SuitAttacks.keys().index('ReOrg')
|
||
|
RESTRAINING_ORDER = SuitAttacks.keys().index('RestrainingOrder')
|
||
|
ROLODEX = SuitAttacks.keys().index('Rolodex')
|
||
|
RUBBER_STAMP = SuitAttacks.keys().index('RubberStamp')
|
||
|
RUB_OUT = SuitAttacks.keys().index('RubOut')
|
||
|
SACKED = SuitAttacks.keys().index('Sacked')
|
||
|
SANDTRAP = SuitAttacks.keys().index('SandTrap')
|
||
|
SCHMOOZE = SuitAttacks.keys().index('Schmooze')
|
||
|
SHAKE = SuitAttacks.keys().index('Shake')
|
||
|
SHRED = SuitAttacks.keys().index('Shred')
|
||
|
SONG_AND_DANCE = SuitAttacks.keys().index('SongAndDance')
|
||
|
SPIN = SuitAttacks.keys().index('Spin')
|
||
|
SYNERGY = SuitAttacks.keys().index('Synergy')
|
||
|
TABULATE = SuitAttacks.keys().index('Tabulate')
|
||
|
TEE_OFF = SuitAttacks.keys().index('TeeOff')
|
||
|
THROW_BOOK = SuitAttacks.keys().index('ThrowBook')
|
||
|
TREMOR = SuitAttacks.keys().index('Tremor')
|
||
|
WATERCOOLER = SuitAttacks.keys().index('Watercooler')
|
||
|
WITHDRAWAL = SuitAttacks.keys().index('Withdrawal')
|
||
|
WRITE_OFF = SuitAttacks.keys().index('WriteOff')
|
||
|
|
||
|
def getFaceoffTaunt(suitName, doId):
|
||
|
if suitName in SuitFaceoffTaunts:
|
||
|
taunts = SuitFaceoffTaunts[suitName]
|
||
|
else:
|
||
|
taunts = TTLocalizer.SuitFaceoffDefaultTaunts
|
||
|
return taunts[doId % len(taunts)]
|
||
|
|
||
|
|
||
|
SuitFaceoffTaunts = OTPLocalizer.SuitFaceoffTaunts
|
||
|
|
||
|
def getAttackTauntIndexFromIndex(suit, attackIndex):
|
||
|
adict = getSuitAttack(suit.getStyleName(), suit.getLevel(), attackIndex)
|
||
|
return getAttackTauntIndex(adict['name'])
|
||
|
|
||
|
|
||
|
def getAttackTauntIndex(attackName):
|
||
|
if attackName in SuitAttackTaunts:
|
||
|
taunts = SuitAttackTaunts[attackName]
|
||
|
return random.randint(0, len(taunts) - 1)
|
||
|
else:
|
||
|
return 1
|
||
|
|
||
|
|
||
|
def getAttackTaunt(attackName, index = None):
|
||
|
if attackName in SuitAttackTaunts:
|
||
|
taunts = SuitAttackTaunts[attackName]
|
||
|
else:
|
||
|
taunts = TTLocalizer.SuitAttackDefaultTaunts
|
||
|
if index != None:
|
||
|
if index >= len(taunts):
|
||
|
notify.warning('index exceeds length of taunts list in getAttackTaunt')
|
||
|
return TTLocalizer.SuitAttackDefaultTaunts[0]
|
||
|
return taunts[index]
|
||
|
else:
|
||
|
return random.choice(taunts)
|
||
|
return
|
||
|
|
||
|
|
||
|
SuitAttackTaunts = TTLocalizer.SuitAttackTaunts
|