Add Cigar Smoke Cog attack

This commit is contained in:
John Cote 2015-05-11 22:50:12 -04:00
parent 1e1a7e25fc
commit 0c4d6feffa
7 changed files with 207 additions and 35 deletions

View file

@ -91,6 +91,8 @@ def createParticleEffect(name = None, file = None, numParticles = None, color =
return loadParticleFile('shred.ptf') return loadParticleFile('shred.ptf')
elif name == 'Smile': elif name == 'Smile':
return loadParticleFile('smile.ptf') return loadParticleFile('smile.ptf')
elif name == 'Smoke':
return loadParticleFile('smoke.ptf')
elif name == 'SpriteFiredFlecks': elif name == 'SpriteFiredFlecks':
return loadParticleFile('spriteFiredFlecks.ptf') return loadParticleFile('spriteFiredFlecks.ptf')
elif name == 'Synergy': elif name == 'Synergy':

View file

@ -370,6 +370,8 @@ def chooseSuitShot(attack, attackDuration):
camTrack.append(defaultCamera(openShotDuration=2.9)) camTrack.append(defaultCamera(openShotDuration=2.9))
elif name == CHOMP: elif name == CHOMP:
camTrack.append(defaultCamera(openShotDuration=2.8)) camTrack.append(defaultCamera(openShotDuration=2.8))
elif name == CIGAR_SMOKE:
camTrack.append(defaultCamera(openShotDuration=3.0))
elif name == CLIPON_TIE: elif name == CLIPON_TIE:
camTrack.append(defaultCamera(openShotDuration=3.3)) camTrack.append(defaultCamera(openShotDuration=3.3))
elif name == CRUNCH: elif name == CRUNCH:

View file

@ -136,7 +136,7 @@ def doSuitAttack(attack):
elif name == CHOMP: elif name == CHOMP:
suitTrack = doChomp(attack) suitTrack = doChomp(attack)
elif name == CIGAR_SMOKE: elif name == CIGAR_SMOKE:
suitTrack = doDefault(attack) suitTrack = doCigarSmoke(attack)
elif name == CLIPON_TIE: elif name == CLIPON_TIE:
suitTrack = doClipOnTie(attack) suitTrack = doClipOnTie(attack)
elif name == CRUNCH: elif name == CRUNCH:
@ -2249,6 +2249,60 @@ def doPickPocket(attack):
return multiTrackList return multiTrackList
def doCigarSmoke(attack):
suit = attack['suit']
battle = attack['battle']
target = attack['target']
toon = target['toon']
dmg = target['hp']
BattleParticles.loadParticles()
smoke = BattleParticles.createParticleEffect('Smoke')
BattleParticles.setEffectTexture(smoke, 'snow-particle')
cigar = globalPropPool.getProp('cigar')
suitTrack = getSuitTrack(attack)
cigarPosPoints = [Point3(-0.05, -0.2, -0.25), VBase3(180.0, 0.0, 0.0)]
cigarPropTrack = getPropTrack(cigar, suit.getRightHand(), cigarPosPoints, 0.6, 3.6, scaleUpPoint=Point3(6.0, 6.0, 6.0))
toonTrack = getToonTrack(attack, 3.55, ['cringe'], 3.0, ['sidestep'])
multiTrackList = Parallel(suitTrack, toonTrack)
smokeTrack = getPartTrack(smoke, 3.45, 1.5, [smoke, suit, 0])
multiTrackList.append(cigarPropTrack)
multiTrackList.append(smokeTrack)
def changeColor(parts):
track = Parallel()
for partNum in xrange(0, parts.getNumPaths()):
nextPart = parts.getPath(partNum)
track.append(Func(nextPart.setColorScale, Vec4(0, 0, 0, 1)))
return track
def resetColor(parts):
track = Parallel()
for partNum in xrange(0, parts.getNumPaths()):
nextPart = parts.getPath(partNum)
track.append(Func(nextPart.clearColorScale))
return track
if dmg > 0:
headParts = toon.getHeadParts()
torsoParts = toon.getTorsoParts()
legsParts = toon.getLegsParts()
colorTrack = Sequence()
colorTrack.append(Wait(3.6))
colorTrack.append(Func(battle.movie.needRestoreColor))
colorTrack.append(changeColor(headParts))
colorTrack.append(changeColor(torsoParts))
colorTrack.append(changeColor(legsParts))
colorTrack.append(Wait(2.2))
colorTrack.append(resetColor(headParts))
colorTrack.append(resetColor(torsoParts))
colorTrack.append(resetColor(legsParts))
colorTrack.append(Func(battle.movie.clearRestoreColor))
multiTrackList.append(colorTrack)
return multiTrackList
def doFilibuster(attack): def doFilibuster(attack):
suit = attack['suit'] suit = attack['suit']
target = attack['target'] target = attack['target']

View file

@ -4836,6 +4836,69 @@ def snowdisk(self):
self.addForceGroup(f0) self.addForceGroup(f0)
@particle
def smoke(self):
self.reset()
self.setPos(0.000, 3.500, 5.100)
self.setHpr(-180.000, 80.000, -180.000)
self.setScale(0.0250, 0.0250, 0.0250)
p0 = Particles.Particles('particles-1')
p0.setFactory("PointParticleFactory")
p0.setRenderer("SpriteParticleRenderer")
p0.setEmitter("SphereVolumeEmitter")
p0.setPoolSize(50)
p0.setBirthRate(0.0300)
p0.setLitterSize(1)
p0.setLitterSpread(1)
p0.setSystemLifespan(0.0000)
p0.setLocalVelocityFlag(1)
p0.setSystemGrowsOlderFlag(0)
p0.factory.setLifespanBase(1.6000)
p0.factory.setLifespanSpread(0.0000)
p0.factory.setMassBase(1.0000)
p0.factory.setMassSpread(0.0000)
p0.factory.setTerminalVelocityBase(400.0000)
p0.factory.setTerminalVelocitySpread(0.0000)
p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
p0.renderer.setUserAlpha(1.00)
p0.renderer.setIgnoreScale(1)
p0.renderer.addTextureFromFile('phase_6/maps/tt_t_efx_ext_smoke_a.rgb')
p0.renderer.setColor(Vec4(0.10, 0.10, 0.10, 0.10))
p0.renderer.setXScaleFlag(1)
p0.renderer.setYScaleFlag(1)
p0.renderer.setAnimAngleFlag(0)
p0.renderer.setInitialXScale(0.6)
p0.renderer.setFinalXScale(0.3)
p0.renderer.setInitialYScale(0.6)
p0.renderer.setFinalYScale(0.3)
p0.renderer.setNonanimatedTheta(0.0000)
p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPBLENDLINEAR)
p0.renderer.setAlphaDisable(0)
p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
p0.emitter.setAmplitude(2.0000)
p0.emitter.setAmplitudeSpread(0.0000)
p0.emitter.setOffsetForce(Vec3(0.0000, 0.0000, -4.0000))
p0.emitter.setExplicitLaunchVector(Vec3(1.0000, 0.0000, 0.0000))
p0.emitter.setRadiateOrigin(Point3(0.0000, 0.0000, 0.0000))
p0.emitter.setRadius(0.0200)
self.addParticles(p0)
f0 = ForceGroup.ForceGroup('forces')
force0 = LinearSinkForce(Point3(0.0000, 0.0000, -4.0000), LinearDistanceForce.FTONEOVERR, 1.0000, 2.5308, 1)
force0.setActive(1)
f0.addForce(force0)
force1 = LinearVectorForce(Vec3(0.0000, -5.0000, 0.0000), 1.0000, 0)
force1.setActive(1)
f0.addForce(force1)
self.addForceGroup(f0)
@particle @particle
def bossCogFrontAttack(self): def bossCogFrontAttack(self):
self.reset() self.reset()

View file

@ -1471,11 +1471,11 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
75, 75,
80, 80,
90), 90),
(25, (20,
25, 20,
25, 20,
25, 20,
25)), 20)),
('PowerTrip', ('PowerTrip',
(10, (10,
13, 13,
@ -1503,11 +1503,27 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
75, 75,
85, 85,
95), 95),
(30, (20,
30, 20,
30, 20,
30, 20,
30)), 20)),
('CigarSmoke',
(10,
12,
15,
18,
20),
(55,
65,
75,
85,
95),
(15,
15,
15,
15,
15)),
('TeeOff', ('TeeOff',
(8, (8,
9, 9,
@ -2210,11 +2226,27 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
70, 70,
75, 75,
80), 80),
(50, (33,
50, 33,
50, 33,
50, 33,
50)), ('TeeOff', 33)),
('CigarSmoke',
(10,
12,
15,
18,
20),
(55,
65,
75,
85,
95),
(33,
33,
33,
33,
33)), ('TeeOff',
(10, (10,
12, 12,
14, 14,
@ -2225,11 +2257,11 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
75, 75,
85, 85,
90), 90),
(50, (33,
50, 33,
50, 33,
50, 33,
50)))}, 33)))},
'bf': {'name': TTLocalizer.SuitBottomFeeder, 'bf': {'name': TTLocalizer.SuitBottomFeeder,
'singularname': TTLocalizer.SuitBottomFeederS, 'singularname': TTLocalizer.SuitBottomFeederS,
'pluralname': TTLocalizer.SuitBottomFeederP, 'pluralname': TTLocalizer.SuitBottomFeederP,
@ -2649,11 +2681,11 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
80, 80,
85, 85,
90), 90),
(40, (35,
40, 35,
40, 35,
40, 35,
40)), ('RestrainingOrder', 35)), ('RestrainingOrder',
(6, (6,
7, 7,
9, 9,
@ -2668,7 +2700,22 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
25, 25,
25, 25,
25, 25,
25)), ('FingerWag', 25)), ('CigarSmoke',
(10,
12,
15,
18,
20),
(55,
65,
75,
85,
95),
(15,
15,
15,
15,
15)), ('FingerWag',
(5, (5,
6, 6,
7, 7,
@ -2679,11 +2726,11 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
65, 65,
75, 75,
80), 80),
(35, (25,
35, 25,
35, 25,
35, 25,
35)))}, 25)))},
'sd': {'name': TTLocalizer.SuitSpinDoctor, 'sd': {'name': TTLocalizer.SuitSpinDoctor,
'singularname': TTLocalizer.SuitSpinDoctorS, 'singularname': TTLocalizer.SuitSpinDoctorS,
'pluralname': TTLocalizer.SuitSpinDoctorP, 'pluralname': TTLocalizer.SuitSpinDoctorP,

View file

@ -106,7 +106,8 @@ tf = (('phone', 'phone', 5),
m = (('speak', 'speak', 5), m = (('speak', 'speak', 5),
('magic2', 'magic2', 5), ('magic2', 'magic2', 5),
('magic1', 'magic1', 5), ('magic1', 'magic1', 5),
('golf-club-swing', 'golf-club-swing', 5)) ('golf-club-swing', 'golf-club-swing', 5),
('cigar-smoke', 'cigar-smoke', 8))
mh = (('magic1', 'magic1', 5), mh = (('magic1', 'magic1', 5),
('smile', 'smile', 5), ('smile', 'smile', 5),
('golf-club-swing', 'golf-club-swing', 5), ('golf-club-swing', 'golf-club-swing', 5),
@ -121,7 +122,7 @@ bc = (('phone', 'phone', 5), ('hold-pencil', 'hold-pencil', 5))
nc = (('phone', 'phone', 5), ('throw-object', 'throw-object', 5)) nc = (('phone', 'phone', 5), ('throw-object', 'throw-object', 5))
mb = (('magic1', 'magic1', 5), ('throw-paper', 'throw-paper', 3.5)) mb = (('magic1', 'magic1', 5), ('throw-paper', 'throw-paper', 3.5))
ls = (('throw-paper', 'throw-paper', 5), ('throw-object', 'throw-object', 5), ('hold-pencil', 'hold-pencil', 5)) ls = (('throw-paper', 'throw-paper', 5), ('throw-object', 'throw-object', 5), ('hold-pencil', 'hold-pencil', 5))
rb = (('glower', 'glower', 5), ('magic1', 'magic1', 5), ('golf-club-swing', 'golf-club-swing', 5)) rb = (('glower', 'glower', 5), ('cigar-smoke', 'cigar-smoke', 8), ('magic1', 'magic1', 5), ('golf-club-swing', 'golf-club-swing', 5))
bf = (('pickpocket', 'pickpocket', 5), bf = (('pickpocket', 'pickpocket', 5),
('rubber-stamp', 'rubber-stamp', 5), ('rubber-stamp', 'rubber-stamp', 5),
('shredder', 'shredder', 3.5), ('shredder', 'shredder', 3.5),
@ -140,7 +141,7 @@ ac = (('throw-object', 'throw-object', 5),
('stomp', 'stomp', 5), ('stomp', 'stomp', 5),
('phone', 'phone', 5), ('phone', 'phone', 5),
('throw-paper', 'throw-paper', 5)) ('throw-paper', 'throw-paper', 5))
bs = (('magic1', 'magic1', 5), ('throw-paper', 'throw-paper', 5), ('finger-wag', 'fingerwag', 5)) bs = (('magic1', 'magic1', 5), ('cigar-smoke', 'cigar-smoke', 8), ('throw-paper', 'throw-paper', 5), ('finger-wag', 'fingerwag', 5))
sd = (('magic2', 'magic2', 5), sd = (('magic2', 'magic2', 5),
('quick-jump', 'jump', 6), ('quick-jump', 'jump', 6),
('stomp', 'stomp', 5), ('stomp', 'stomp', 5),

View file

@ -2499,6 +2499,9 @@ SuitAttackTaunts = {'Audit': ["I believe your books don't balance.",
"Why don't you chomp on this?", "Why don't you chomp on this?",
"I'm going to have you for dinner.", "I'm going to have you for dinner.",
'I love to feed on Toons!'], 'I love to feed on Toons!'],
'CigarSmoke': ['Gentlemen.',
'I need a good smoke.',
'Smoking is a dirty habit.'],
'ClipOnTie': ['Better dress for our meeting.', 'ClipOnTie': ['Better dress for our meeting.',
"You can't go OUT without your tie.", "You can't go OUT without your tie.",
'The best dressed ' + Cogs + ' wear them.', 'The best dressed ' + Cogs + ' wear them.',