Merge branch 'features/ttn' of http://git.toontownstride.com/toontownstride/src into features/ttn

This commit is contained in:
Blurryface 2015-07-28 20:12:29 +02:00
commit a9d6a70ef7
7 changed files with 66 additions and 23 deletions

View file

@ -608,7 +608,7 @@ dclass DistributedToon : DistributedPlayer {
setTunnelOut(int16, int16/10, int16/10, int16/10, int16/10, int16/100, int32/100) ownsend broadcast;
setAnimState(char [0-1024], int16/1000, int16) broadcast ram ownsend airecv;
setEmoteState(int16, int16/1000, int16) broadcast ram ownsend;
setEmoteAccess(uint8[] = [1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]) required ownrecv db;
setEmoteAccess(uint8[] = [1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]) required ownrecv db;
setCustomMessages(uint16[] = []) required ownrecv db;
setSleepAutoReply(uint32) broadcast clsend ownrecv;
setResistanceMessages(pair16 [] = []) required ownrecv db;

View file

@ -283,6 +283,9 @@ EmoteList = ['Wave',
'Banana Peel',
'Resistance Salute',
'Laugh',
lYes,
lNo,
lOK,
'Surprise',
'Cry',
'Delighted',
@ -334,13 +337,16 @@ EmoteFuncDict = {'Wave': 0,
'Banana Peel': 14,
'Resistance Salute': 15,
'Laugh': 16,
'Surprise': 17,
'Cry': 18,
'Delighted': 19,
'Furious': 20,
'Laugh': 21,
'Taunt': 22,
'Rage': 23}
lYes: 17,
lNo: 18,
lOK: 19,
'Surprise': 20,
'Cry': 21,
'Delighted': 22,
'Furious': 23,
'Laugh': 24,
'Taunt': 25,
'Rage': 26}
SuitBrushOffs = {'f': ["I'm late for a meeting."],
'p': ['Push off.'],
'ym': ['Yes Man says NO.'],

View file

@ -535,14 +535,14 @@ MonthlySchedule = ((7,
CatalogClothingItem(1606, 0, True),
CatalogClothingItem(1603, 0, True),
CatalogClothingItem(1600, 0, True),
CatalogEmoteItem(22, True),
CatalogEmoteItem(23, True),
CatalogEmoteItem(17, True),
CatalogEmoteItem(18, True),
CatalogEmoteItem(19, True),
CatalogEmoteItem(25, True),
CatalogEmoteItem(26, True),
CatalogEmoteItem(20, True),
CatalogEmoteItem(21, True),
CatalogClothingItem(1821, True))),
CatalogEmoteItem(22, True),
CatalogEmoteItem(23, True),
CatalogEmoteItem(24, True),
CatalogClothingItem(1821, 0, True))),
(5,
26,
6,

View file

@ -64,7 +64,7 @@ class DistributedRewardCrateAI(DistributedFurnitureItemAI):
self.sendUpdateToAvatarId(av.doId, 'useKeyResponse', [ToontownGlobals.CRATE_NAMETAGS, 0])
elif prizeType == ToontownGlobals.CRATE_EMOTES:
playerEmotes = av.emoteAccess
remainingEmotes = [i for i, access in enumerate(playerEmotes) if not access]
remainingEmotes = [i for i, access in enumerate(playerEmotes) if (not access) and access not in (17, 18, 19)]
if not remainingEmotes:
self.choosePrize(av, tryNumber + 1)

View file

@ -94,7 +94,7 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute
self.disguisePage = None
self.sosPage = None
self.gardenPage = None
self.emoteAccess = [0] * 24
self.emoteAccess = [0] * 27
self.cogTypes = [0, 0, 0, 0]
self.cogLevels = [0, 0, 0, 0]
self.cogParts = [0, 0, 0, 0]

View file

@ -4263,6 +4263,10 @@ def maxToon(missingTrack=None):
for emoteId in OTPLocalizer.EmoteFuncDict.values():
if emoteId >= len(emotes):
continue
# The following emotions are ignored because they are unable to be
# obtained:
if emoteId in (17, 18, 19):
continue
emotes[emoteId] = 1
invoker.b_setEmoteAccess(emotes)
@ -4330,6 +4334,10 @@ def unlocks():
for emoteId in OTPLocalizer.EmoteFuncDict.values():
if emoteId >= len(emotes):
continue
# The following emotions are ignored because they are unable to be
# obtained:
if emoteId in (17, 18, 19):
continue
emotes[emoteId] = 1
invoker.b_setEmoteAccess(emotes)

View file

@ -85,6 +85,30 @@ def doSleep(toon, volume = 1):
return (track, duration, exitTrack)
def doYes(toon, volume = 1):
tracks = Parallel(autoFinish=1)
for lod in toon.getLODNames():
h = toon.getPart('head', lod)
tracks.append(Sequence(LerpHprInterval(h, 0.1, Vec3(0, -30, 0)), LerpHprInterval(h, 0.15, Vec3(0, 20, 0)), LerpHprInterval(h, 0.15, Vec3(0, -20, 0)), LerpHprInterval(h, 0.15, Vec3(0, 20, 0)), LerpHprInterval(h, 0.15, Vec3(0, -20, 0)), LerpHprInterval(h, 0.15, Vec3(0, 20, 0)), LerpHprInterval(h, 0.1, Vec3(0, 0, 0))))
tracks.start()
return (None, 0, None)
def doNo(toon, volume = 1):
tracks = Parallel(autoFinish=1)
for lod in toon.getLODNames():
h = toon.getPart('head', lod)
tracks.append(Sequence(LerpHprInterval(h, 0.1, Vec3(40, 0, 0)), LerpHprInterval(h, 0.15, Vec3(-40, 0, 0)), LerpHprInterval(h, 0.15, Vec3(40, 0, 0)), LerpHprInterval(h, 0.15, Vec3(-40, 0, 0)), LerpHprInterval(h, 0.15, Vec3(20, 0, 0)), LerpHprInterval(h, 0.15, Vec3(-20, 0, 0)), LerpHprInterval(h, 0.1, Vec3(0, 0, 0))))
tracks.start()
return (None, 0, None)
def doOk(toon, volume = 1):
return (None, 0, None)
def doShrug(toon, volume = 1):
sfx = base.loadSfx('phase_3.5/audio/sfx/avatar_emotion_shrug.ogg')
@ -339,7 +363,10 @@ EmoteFunc = [[doWave, 0],
[doBow, 0],
[doSlipBackward, 0],
[doResistanceSalute, 0],
[doLaugh, 0],
[doNothing, 0],
[doYes, 0],
[doNo, 0],
[doOk, 0],
[doSurprise, 0],
[doUpset, 0],
[doDelighted, 0],
@ -369,15 +396,17 @@ class TTEmote(Emote.Emote):
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23]
self.headEmotes = [2]
23,
24,
25,
26]
self.headEmotes = [2,
17,
18,
19]
if len(self.emoteFunc) != len(OTPLocalizer.EmoteList):
self.notify.error('Emote.EmoteFunc and OTPLocalizer.EmoteList are different lengths.')
self.track = None