mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-10-31 00:37:54 +00:00
Add Cigar Smoke Cog attack
This commit is contained in:
parent
1e1a7e25fc
commit
0c4d6feffa
7 changed files with 207 additions and 35 deletions
|
@ -91,6 +91,8 @@ def createParticleEffect(name = None, file = None, numParticles = None, color =
|
|||
return loadParticleFile('shred.ptf')
|
||||
elif name == 'Smile':
|
||||
return loadParticleFile('smile.ptf')
|
||||
elif name == 'Smoke':
|
||||
return loadParticleFile('smoke.ptf')
|
||||
elif name == 'SpriteFiredFlecks':
|
||||
return loadParticleFile('spriteFiredFlecks.ptf')
|
||||
elif name == 'Synergy':
|
||||
|
|
|
@ -370,6 +370,8 @@ def chooseSuitShot(attack, attackDuration):
|
|||
camTrack.append(defaultCamera(openShotDuration=2.9))
|
||||
elif name == CHOMP:
|
||||
camTrack.append(defaultCamera(openShotDuration=2.8))
|
||||
elif name == CIGAR_SMOKE:
|
||||
camTrack.append(defaultCamera(openShotDuration=3.0))
|
||||
elif name == CLIPON_TIE:
|
||||
camTrack.append(defaultCamera(openShotDuration=3.3))
|
||||
elif name == CRUNCH:
|
||||
|
|
|
@ -136,7 +136,7 @@ def doSuitAttack(attack):
|
|||
elif name == CHOMP:
|
||||
suitTrack = doChomp(attack)
|
||||
elif name == CIGAR_SMOKE:
|
||||
suitTrack = doDefault(attack)
|
||||
suitTrack = doCigarSmoke(attack)
|
||||
elif name == CLIPON_TIE:
|
||||
suitTrack = doClipOnTie(attack)
|
||||
elif name == CRUNCH:
|
||||
|
@ -2249,6 +2249,60 @@ def doPickPocket(attack):
|
|||
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):
|
||||
suit = attack['suit']
|
||||
target = attack['target']
|
||||
|
|
|
@ -4836,6 +4836,69 @@ def snowdisk(self):
|
|||
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
|
||||
def bossCogFrontAttack(self):
|
||||
self.reset()
|
||||
|
|
|
@ -1471,11 +1471,11 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
|
|||
75,
|
||||
80,
|
||||
90),
|
||||
(25,
|
||||
25,
|
||||
25,
|
||||
25,
|
||||
25)),
|
||||
(20,
|
||||
20,
|
||||
20,
|
||||
20,
|
||||
20)),
|
||||
('PowerTrip',
|
||||
(10,
|
||||
13,
|
||||
|
@ -1503,11 +1503,27 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
|
|||
75,
|
||||
85,
|
||||
95),
|
||||
(30,
|
||||
30,
|
||||
30,
|
||||
30,
|
||||
30)),
|
||||
(20,
|
||||
20,
|
||||
20,
|
||||
20,
|
||||
20)),
|
||||
('CigarSmoke',
|
||||
(10,
|
||||
12,
|
||||
15,
|
||||
18,
|
||||
20),
|
||||
(55,
|
||||
65,
|
||||
75,
|
||||
85,
|
||||
95),
|
||||
(15,
|
||||
15,
|
||||
15,
|
||||
15,
|
||||
15)),
|
||||
('TeeOff',
|
||||
(8,
|
||||
9,
|
||||
|
@ -2210,11 +2226,27 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
|
|||
70,
|
||||
75,
|
||||
80),
|
||||
(50,
|
||||
50,
|
||||
50,
|
||||
50,
|
||||
50)), ('TeeOff',
|
||||
(33,
|
||||
33,
|
||||
33,
|
||||
33,
|
||||
33)),
|
||||
('CigarSmoke',
|
||||
(10,
|
||||
12,
|
||||
15,
|
||||
18,
|
||||
20),
|
||||
(55,
|
||||
65,
|
||||
75,
|
||||
85,
|
||||
95),
|
||||
(33,
|
||||
33,
|
||||
33,
|
||||
33,
|
||||
33)), ('TeeOff',
|
||||
(10,
|
||||
12,
|
||||
14,
|
||||
|
@ -2225,11 +2257,11 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
|
|||
75,
|
||||
85,
|
||||
90),
|
||||
(50,
|
||||
50,
|
||||
50,
|
||||
50,
|
||||
50)))},
|
||||
(33,
|
||||
33,
|
||||
33,
|
||||
33,
|
||||
33)))},
|
||||
'bf': {'name': TTLocalizer.SuitBottomFeeder,
|
||||
'singularname': TTLocalizer.SuitBottomFeederS,
|
||||
'pluralname': TTLocalizer.SuitBottomFeederP,
|
||||
|
@ -2649,11 +2681,11 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
|
|||
80,
|
||||
85,
|
||||
90),
|
||||
(40,
|
||||
40,
|
||||
40,
|
||||
40,
|
||||
40)), ('RestrainingOrder',
|
||||
(35,
|
||||
35,
|
||||
35,
|
||||
35,
|
||||
35)), ('RestrainingOrder',
|
||||
(6,
|
||||
7,
|
||||
9,
|
||||
|
@ -2668,7 +2700,22 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
|
|||
25,
|
||||
25,
|
||||
25,
|
||||
25)), ('FingerWag',
|
||||
25)), ('CigarSmoke',
|
||||
(10,
|
||||
12,
|
||||
15,
|
||||
18,
|
||||
20),
|
||||
(55,
|
||||
65,
|
||||
75,
|
||||
85,
|
||||
95),
|
||||
(15,
|
||||
15,
|
||||
15,
|
||||
15,
|
||||
15)), ('FingerWag',
|
||||
(5,
|
||||
6,
|
||||
7,
|
||||
|
@ -2679,11 +2726,11 @@ SuitAttributes = {'f': {'name': TTLocalizer.SuitFlunky,
|
|||
65,
|
||||
75,
|
||||
80),
|
||||
(35,
|
||||
35,
|
||||
35,
|
||||
35,
|
||||
35)))},
|
||||
(25,
|
||||
25,
|
||||
25,
|
||||
25,
|
||||
25)))},
|
||||
'sd': {'name': TTLocalizer.SuitSpinDoctor,
|
||||
'singularname': TTLocalizer.SuitSpinDoctorS,
|
||||
'pluralname': TTLocalizer.SuitSpinDoctorP,
|
||||
|
|
|
@ -106,7 +106,8 @@ tf = (('phone', 'phone', 5),
|
|||
m = (('speak', 'speak', 5),
|
||||
('magic2', 'magic2', 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),
|
||||
('smile', 'smile', 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))
|
||||
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))
|
||||
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),
|
||||
('rubber-stamp', 'rubber-stamp', 5),
|
||||
('shredder', 'shredder', 3.5),
|
||||
|
@ -140,7 +141,7 @@ ac = (('throw-object', 'throw-object', 5),
|
|||
('stomp', 'stomp', 5),
|
||||
('phone', 'phone', 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),
|
||||
('quick-jump', 'jump', 6),
|
||||
('stomp', 'stomp', 5),
|
||||
|
|
|
@ -2499,6 +2499,9 @@ SuitAttackTaunts = {'Audit': ["I believe your books don't balance.",
|
|||
"Why don't you chomp on this?",
|
||||
"I'm going to have you for dinner.",
|
||||
'I love to feed on Toons!'],
|
||||
'CigarSmoke': ['Gentlemen.',
|
||||
'I need a good smoke.',
|
||||
'Smoking is a dirty habit.'],
|
||||
'ClipOnTie': ['Better dress for our meeting.',
|
||||
"You can't go OUT without your tie.",
|
||||
'The best dressed ' + Cogs + ' wear them.',
|
||||
|
|
Loading…
Reference in a new issue