bastd.actor.spazappearance
Appearance functionality for spazzes.
1# Released under the MIT License. See LICENSE for details. 2# 3"""Appearance functionality for spazzes.""" 4from __future__ import annotations 5 6from typing import TYPE_CHECKING 7 8import ba 9import ba.internal 10 11if TYPE_CHECKING: 12 pass 13 14 15def get_appearances(include_locked: bool = False) -> list[str]: 16 """Get the list of available spaz appearances.""" 17 # pylint: disable=too-many-statements 18 # pylint: disable=too-many-branches 19 get_purchased = ba.internal.get_purchased 20 disallowed = [] 21 if not include_locked: 22 # hmm yeah this'll be tough to hack... 23 if not get_purchased('characters.santa'): 24 disallowed.append('Santa Claus') 25 if not get_purchased('characters.frosty'): 26 disallowed.append('Frosty') 27 if not get_purchased('characters.bones'): 28 disallowed.append('Bones') 29 if not get_purchased('characters.bernard'): 30 disallowed.append('Bernard') 31 if not get_purchased('characters.pixie'): 32 disallowed.append('Pixel') 33 if not get_purchased('characters.pascal'): 34 disallowed.append('Pascal') 35 if not get_purchased('characters.actionhero'): 36 disallowed.append('Todd McBurton') 37 if not get_purchased('characters.taobaomascot'): 38 disallowed.append('Taobao Mascot') 39 if not get_purchased('characters.agent'): 40 disallowed.append('Agent Johnson') 41 if not get_purchased('characters.jumpsuit'): 42 disallowed.append('Lee') 43 if not get_purchased('characters.assassin'): 44 disallowed.append('Zola') 45 if not get_purchased('characters.wizard'): 46 disallowed.append('Grumbledorf') 47 if not get_purchased('characters.cowboy'): 48 disallowed.append('Butch') 49 if not get_purchased('characters.witch'): 50 disallowed.append('Witch') 51 if not get_purchased('characters.warrior'): 52 disallowed.append('Warrior') 53 if not get_purchased('characters.superhero'): 54 disallowed.append('Middle-Man') 55 if not get_purchased('characters.alien'): 56 disallowed.append('Alien') 57 if not get_purchased('characters.oldlady'): 58 disallowed.append('OldLady') 59 if not get_purchased('characters.gladiator'): 60 disallowed.append('Gladiator') 61 if not get_purchased('characters.wrestler'): 62 disallowed.append('Wrestler') 63 if not get_purchased('characters.operasinger'): 64 disallowed.append('Gretel') 65 if not get_purchased('characters.robot'): 66 disallowed.append('Robot') 67 if not get_purchased('characters.cyborg'): 68 disallowed.append('B-9000') 69 if not get_purchased('characters.bunny'): 70 disallowed.append('Easter Bunny') 71 if not get_purchased('characters.kronk'): 72 disallowed.append('Kronk') 73 if not get_purchased('characters.zoe'): 74 disallowed.append('Zoe') 75 if not get_purchased('characters.jackmorgan'): 76 disallowed.append('Jack Morgan') 77 if not get_purchased('characters.mel'): 78 disallowed.append('Mel') 79 if not get_purchased('characters.snakeshadow'): 80 disallowed.append('Snake Shadow') 81 return [ 82 s for s in list(ba.app.spaz_appearances.keys()) if s not in disallowed 83 ] 84 85 86class Appearance: 87 """Create and fill out one of these suckers to define a spaz appearance""" 88 89 def __init__(self, name: str): 90 self.name = name 91 if self.name in ba.app.spaz_appearances: 92 raise Exception( 93 'spaz appearance name "' + self.name + '" already exists.' 94 ) 95 ba.app.spaz_appearances[self.name] = self 96 self.color_texture = '' 97 self.color_mask_texture = '' 98 self.icon_texture = '' 99 self.icon_mask_texture = '' 100 self.head_model = '' 101 self.torso_model = '' 102 self.pelvis_model = '' 103 self.upper_arm_model = '' 104 self.forearm_model = '' 105 self.hand_model = '' 106 self.upper_leg_model = '' 107 self.lower_leg_model = '' 108 self.toes_model = '' 109 self.jump_sounds: list[str] = [] 110 self.attack_sounds: list[str] = [] 111 self.impact_sounds: list[str] = [] 112 self.death_sounds: list[str] = [] 113 self.pickup_sounds: list[str] = [] 114 self.fall_sounds: list[str] = [] 115 self.style = 'spaz' 116 self.default_color: tuple[float, float, float] | None = None 117 self.default_highlight: tuple[float, float, float] | None = None 118 119 120def register_appearances() -> None: 121 """Register our builtin spaz appearances.""" 122 123 # this is quite ugly but will be going away so not worth cleaning up 124 # pylint: disable=invalid-name 125 # pylint: disable=too-many-locals 126 # pylint: disable=too-many-statements 127 128 # Spaz ####################################### 129 t = Appearance('Spaz') 130 t.color_texture = 'neoSpazColor' 131 t.color_mask_texture = 'neoSpazColorMask' 132 t.icon_texture = 'neoSpazIcon' 133 t.icon_mask_texture = 'neoSpazIconColorMask' 134 t.head_model = 'neoSpazHead' 135 t.torso_model = 'neoSpazTorso' 136 t.pelvis_model = 'neoSpazPelvis' 137 t.upper_arm_model = 'neoSpazUpperArm' 138 t.forearm_model = 'neoSpazForeArm' 139 t.hand_model = 'neoSpazHand' 140 t.upper_leg_model = 'neoSpazUpperLeg' 141 t.lower_leg_model = 'neoSpazLowerLeg' 142 t.toes_model = 'neoSpazToes' 143 t.jump_sounds = ['spazJump01', 'spazJump02', 'spazJump03', 'spazJump04'] 144 t.attack_sounds = [ 145 'spazAttack01', 146 'spazAttack02', 147 'spazAttack03', 148 'spazAttack04', 149 ] 150 t.impact_sounds = [ 151 'spazImpact01', 152 'spazImpact02', 153 'spazImpact03', 154 'spazImpact04', 155 ] 156 t.death_sounds = ['spazDeath01'] 157 t.pickup_sounds = ['spazPickup01'] 158 t.fall_sounds = ['spazFall01'] 159 t.style = 'spaz' 160 161 # Zoe ##################################### 162 t = Appearance('Zoe') 163 t.color_texture = 'zoeColor' 164 t.color_mask_texture = 'zoeColorMask' 165 t.default_color = (0.6, 0.6, 0.6) 166 t.default_highlight = (0, 1, 0) 167 t.icon_texture = 'zoeIcon' 168 t.icon_mask_texture = 'zoeIconColorMask' 169 t.head_model = 'zoeHead' 170 t.torso_model = 'zoeTorso' 171 t.pelvis_model = 'zoePelvis' 172 t.upper_arm_model = 'zoeUpperArm' 173 t.forearm_model = 'zoeForeArm' 174 t.hand_model = 'zoeHand' 175 t.upper_leg_model = 'zoeUpperLeg' 176 t.lower_leg_model = 'zoeLowerLeg' 177 t.toes_model = 'zoeToes' 178 t.jump_sounds = ['zoeJump01', 'zoeJump02', 'zoeJump03'] 179 t.attack_sounds = [ 180 'zoeAttack01', 181 'zoeAttack02', 182 'zoeAttack03', 183 'zoeAttack04', 184 ] 185 t.impact_sounds = [ 186 'zoeImpact01', 187 'zoeImpact02', 188 'zoeImpact03', 189 'zoeImpact04', 190 ] 191 t.death_sounds = ['zoeDeath01'] 192 t.pickup_sounds = ['zoePickup01'] 193 t.fall_sounds = ['zoeFall01'] 194 t.style = 'female' 195 196 # Ninja ########################################## 197 t = Appearance('Snake Shadow') 198 t.color_texture = 'ninjaColor' 199 t.color_mask_texture = 'ninjaColorMask' 200 t.default_color = (1, 1, 1) 201 t.default_highlight = (0.55, 0.8, 0.55) 202 t.icon_texture = 'ninjaIcon' 203 t.icon_mask_texture = 'ninjaIconColorMask' 204 t.head_model = 'ninjaHead' 205 t.torso_model = 'ninjaTorso' 206 t.pelvis_model = 'ninjaPelvis' 207 t.upper_arm_model = 'ninjaUpperArm' 208 t.forearm_model = 'ninjaForeArm' 209 t.hand_model = 'ninjaHand' 210 t.upper_leg_model = 'ninjaUpperLeg' 211 t.lower_leg_model = 'ninjaLowerLeg' 212 t.toes_model = 'ninjaToes' 213 ninja_attacks = ['ninjaAttack' + str(i + 1) + '' for i in range(7)] 214 ninja_hits = ['ninjaHit' + str(i + 1) + '' for i in range(8)] 215 ninja_jumps = ['ninjaAttack' + str(i + 1) + '' for i in range(7)] 216 t.jump_sounds = ninja_jumps 217 t.attack_sounds = ninja_attacks 218 t.impact_sounds = ninja_hits 219 t.death_sounds = ['ninjaDeath1'] 220 t.pickup_sounds = ninja_attacks 221 t.fall_sounds = ['ninjaFall1'] 222 t.style = 'ninja' 223 224 # Barbarian ##################################### 225 t = Appearance('Kronk') 226 t.color_texture = 'kronk' 227 t.color_mask_texture = 'kronkColorMask' 228 t.default_color = (0.4, 0.5, 0.4) 229 t.default_highlight = (1, 0.5, 0.3) 230 t.icon_texture = 'kronkIcon' 231 t.icon_mask_texture = 'kronkIconColorMask' 232 t.head_model = 'kronkHead' 233 t.torso_model = 'kronkTorso' 234 t.pelvis_model = 'kronkPelvis' 235 t.upper_arm_model = 'kronkUpperArm' 236 t.forearm_model = 'kronkForeArm' 237 t.hand_model = 'kronkHand' 238 t.upper_leg_model = 'kronkUpperLeg' 239 t.lower_leg_model = 'kronkLowerLeg' 240 t.toes_model = 'kronkToes' 241 kronk_sounds = [ 242 'kronk1', 243 'kronk2', 244 'kronk3', 245 'kronk4', 246 'kronk5', 247 'kronk6', 248 'kronk7', 249 'kronk8', 250 'kronk9', 251 'kronk10', 252 ] 253 t.jump_sounds = kronk_sounds 254 t.attack_sounds = kronk_sounds 255 t.impact_sounds = kronk_sounds 256 t.death_sounds = ['kronkDeath'] 257 t.pickup_sounds = kronk_sounds 258 t.fall_sounds = ['kronkFall'] 259 t.style = 'kronk' 260 261 # Chef ########################################### 262 t = Appearance('Mel') 263 t.color_texture = 'melColor' 264 t.color_mask_texture = 'melColorMask' 265 t.default_color = (1, 1, 1) 266 t.default_highlight = (0.1, 0.6, 0.1) 267 t.icon_texture = 'melIcon' 268 t.icon_mask_texture = 'melIconColorMask' 269 t.head_model = 'melHead' 270 t.torso_model = 'melTorso' 271 t.pelvis_model = 'kronkPelvis' 272 t.upper_arm_model = 'melUpperArm' 273 t.forearm_model = 'melForeArm' 274 t.hand_model = 'melHand' 275 t.upper_leg_model = 'melUpperLeg' 276 t.lower_leg_model = 'melLowerLeg' 277 t.toes_model = 'melToes' 278 mel_sounds = [ 279 'mel01', 280 'mel02', 281 'mel03', 282 'mel04', 283 'mel05', 284 'mel06', 285 'mel07', 286 'mel08', 287 'mel09', 288 'mel10', 289 ] 290 t.attack_sounds = mel_sounds 291 t.jump_sounds = mel_sounds 292 t.impact_sounds = mel_sounds 293 t.death_sounds = ['melDeath01'] 294 t.pickup_sounds = mel_sounds 295 t.fall_sounds = ['melFall01'] 296 t.style = 'mel' 297 298 # Pirate ####################################### 299 t = Appearance('Jack Morgan') 300 t.color_texture = 'jackColor' 301 t.color_mask_texture = 'jackColorMask' 302 t.default_color = (1, 0.2, 0.1) 303 t.default_highlight = (1, 1, 0) 304 t.icon_texture = 'jackIcon' 305 t.icon_mask_texture = 'jackIconColorMask' 306 t.head_model = 'jackHead' 307 t.torso_model = 'jackTorso' 308 t.pelvis_model = 'kronkPelvis' 309 t.upper_arm_model = 'jackUpperArm' 310 t.forearm_model = 'jackForeArm' 311 t.hand_model = 'jackHand' 312 t.upper_leg_model = 'jackUpperLeg' 313 t.lower_leg_model = 'jackLowerLeg' 314 t.toes_model = 'jackToes' 315 hit_sounds = [ 316 'jackHit01', 317 'jackHit02', 318 'jackHit03', 319 'jackHit04', 320 'jackHit05', 321 'jackHit06', 322 'jackHit07', 323 ] 324 sounds = ['jack01', 'jack02', 'jack03', 'jack04', 'jack05', 'jack06'] 325 t.attack_sounds = sounds 326 t.jump_sounds = sounds 327 t.impact_sounds = hit_sounds 328 t.death_sounds = ['jackDeath01'] 329 t.pickup_sounds = sounds 330 t.fall_sounds = ['jackFall01'] 331 t.style = 'pirate' 332 333 # Santa ###################################### 334 t = Appearance('Santa Claus') 335 t.color_texture = 'santaColor' 336 t.color_mask_texture = 'santaColorMask' 337 t.default_color = (1, 0, 0) 338 t.default_highlight = (1, 1, 1) 339 t.icon_texture = 'santaIcon' 340 t.icon_mask_texture = 'santaIconColorMask' 341 t.head_model = 'santaHead' 342 t.torso_model = 'santaTorso' 343 t.pelvis_model = 'kronkPelvis' 344 t.upper_arm_model = 'santaUpperArm' 345 t.forearm_model = 'santaForeArm' 346 t.hand_model = 'santaHand' 347 t.upper_leg_model = 'santaUpperLeg' 348 t.lower_leg_model = 'santaLowerLeg' 349 t.toes_model = 'santaToes' 350 hit_sounds = ['santaHit01', 'santaHit02', 'santaHit03', 'santaHit04'] 351 sounds = ['santa01', 'santa02', 'santa03', 'santa04', 'santa05'] 352 t.attack_sounds = sounds 353 t.jump_sounds = sounds 354 t.impact_sounds = hit_sounds 355 t.death_sounds = ['santaDeath'] 356 t.pickup_sounds = sounds 357 t.fall_sounds = ['santaFall'] 358 t.style = 'santa' 359 360 # Snowman ################################### 361 t = Appearance('Frosty') 362 t.color_texture = 'frostyColor' 363 t.color_mask_texture = 'frostyColorMask' 364 t.default_color = (0.5, 0.5, 1) 365 t.default_highlight = (1, 0.5, 0) 366 t.icon_texture = 'frostyIcon' 367 t.icon_mask_texture = 'frostyIconColorMask' 368 t.head_model = 'frostyHead' 369 t.torso_model = 'frostyTorso' 370 t.pelvis_model = 'frostyPelvis' 371 t.upper_arm_model = 'frostyUpperArm' 372 t.forearm_model = 'frostyForeArm' 373 t.hand_model = 'frostyHand' 374 t.upper_leg_model = 'frostyUpperLeg' 375 t.lower_leg_model = 'frostyLowerLeg' 376 t.toes_model = 'frostyToes' 377 frosty_sounds = ['frosty01', 'frosty02', 'frosty03', 'frosty04', 'frosty05'] 378 frosty_hit_sounds = ['frostyHit01', 'frostyHit02', 'frostyHit03'] 379 t.attack_sounds = frosty_sounds 380 t.jump_sounds = frosty_sounds 381 t.impact_sounds = frosty_hit_sounds 382 t.death_sounds = ['frostyDeath'] 383 t.pickup_sounds = frosty_sounds 384 t.fall_sounds = ['frostyFall'] 385 t.style = 'frosty' 386 387 # Skeleton ################################ 388 t = Appearance('Bones') 389 t.color_texture = 'bonesColor' 390 t.color_mask_texture = 'bonesColorMask' 391 t.default_color = (0.6, 0.9, 1) 392 t.default_highlight = (0.6, 0.9, 1) 393 t.icon_texture = 'bonesIcon' 394 t.icon_mask_texture = 'bonesIconColorMask' 395 t.head_model = 'bonesHead' 396 t.torso_model = 'bonesTorso' 397 t.pelvis_model = 'bonesPelvis' 398 t.upper_arm_model = 'bonesUpperArm' 399 t.forearm_model = 'bonesForeArm' 400 t.hand_model = 'bonesHand' 401 t.upper_leg_model = 'bonesUpperLeg' 402 t.lower_leg_model = 'bonesLowerLeg' 403 t.toes_model = 'bonesToes' 404 bones_sounds = ['bones1', 'bones2', 'bones3'] 405 bones_hit_sounds = ['bones1', 'bones2', 'bones3'] 406 t.attack_sounds = bones_sounds 407 t.jump_sounds = bones_sounds 408 t.impact_sounds = bones_hit_sounds 409 t.death_sounds = ['bonesDeath'] 410 t.pickup_sounds = bones_sounds 411 t.fall_sounds = ['bonesFall'] 412 t.style = 'bones' 413 414 # Bear ################################### 415 t = Appearance('Bernard') 416 t.color_texture = 'bearColor' 417 t.color_mask_texture = 'bearColorMask' 418 t.default_color = (0.7, 0.5, 0.0) 419 t.icon_texture = 'bearIcon' 420 t.icon_mask_texture = 'bearIconColorMask' 421 t.head_model = 'bearHead' 422 t.torso_model = 'bearTorso' 423 t.pelvis_model = 'bearPelvis' 424 t.upper_arm_model = 'bearUpperArm' 425 t.forearm_model = 'bearForeArm' 426 t.hand_model = 'bearHand' 427 t.upper_leg_model = 'bearUpperLeg' 428 t.lower_leg_model = 'bearLowerLeg' 429 t.toes_model = 'bearToes' 430 bear_sounds = ['bear1', 'bear2', 'bear3', 'bear4'] 431 bear_hit_sounds = ['bearHit1', 'bearHit2'] 432 t.attack_sounds = bear_sounds 433 t.jump_sounds = bear_sounds 434 t.impact_sounds = bear_hit_sounds 435 t.death_sounds = ['bearDeath'] 436 t.pickup_sounds = bear_sounds 437 t.fall_sounds = ['bearFall'] 438 t.style = 'bear' 439 440 # Penguin ################################### 441 t = Appearance('Pascal') 442 t.color_texture = 'penguinColor' 443 t.color_mask_texture = 'penguinColorMask' 444 t.default_color = (0.3, 0.5, 0.8) 445 t.default_highlight = (1, 0, 0) 446 t.icon_texture = 'penguinIcon' 447 t.icon_mask_texture = 'penguinIconColorMask' 448 t.head_model = 'penguinHead' 449 t.torso_model = 'penguinTorso' 450 t.pelvis_model = 'penguinPelvis' 451 t.upper_arm_model = 'penguinUpperArm' 452 t.forearm_model = 'penguinForeArm' 453 t.hand_model = 'penguinHand' 454 t.upper_leg_model = 'penguinUpperLeg' 455 t.lower_leg_model = 'penguinLowerLeg' 456 t.toes_model = 'penguinToes' 457 penguin_sounds = ['penguin1', 'penguin2', 'penguin3', 'penguin4'] 458 penguin_hit_sounds = ['penguinHit1', 'penguinHit2'] 459 t.attack_sounds = penguin_sounds 460 t.jump_sounds = penguin_sounds 461 t.impact_sounds = penguin_hit_sounds 462 t.death_sounds = ['penguinDeath'] 463 t.pickup_sounds = penguin_sounds 464 t.fall_sounds = ['penguinFall'] 465 t.style = 'penguin' 466 467 # Ali ################################### 468 t = Appearance('Taobao Mascot') 469 t.color_texture = 'aliColor' 470 t.color_mask_texture = 'aliColorMask' 471 t.default_color = (1, 0.5, 0) 472 t.default_highlight = (1, 1, 1) 473 t.icon_texture = 'aliIcon' 474 t.icon_mask_texture = 'aliIconColorMask' 475 t.head_model = 'aliHead' 476 t.torso_model = 'aliTorso' 477 t.pelvis_model = 'aliPelvis' 478 t.upper_arm_model = 'aliUpperArm' 479 t.forearm_model = 'aliForeArm' 480 t.hand_model = 'aliHand' 481 t.upper_leg_model = 'aliUpperLeg' 482 t.lower_leg_model = 'aliLowerLeg' 483 t.toes_model = 'aliToes' 484 ali_sounds = ['ali1', 'ali2', 'ali3', 'ali4'] 485 ali_hit_sounds = ['aliHit1', 'aliHit2'] 486 t.attack_sounds = ali_sounds 487 t.jump_sounds = ali_sounds 488 t.impact_sounds = ali_hit_sounds 489 t.death_sounds = ['aliDeath'] 490 t.pickup_sounds = ali_sounds 491 t.fall_sounds = ['aliFall'] 492 t.style = 'ali' 493 494 # cyborg ################################### 495 t = Appearance('B-9000') 496 t.color_texture = 'cyborgColor' 497 t.color_mask_texture = 'cyborgColorMask' 498 t.default_color = (0.5, 0.5, 0.5) 499 t.default_highlight = (1, 0, 0) 500 t.icon_texture = 'cyborgIcon' 501 t.icon_mask_texture = 'cyborgIconColorMask' 502 t.head_model = 'cyborgHead' 503 t.torso_model = 'cyborgTorso' 504 t.pelvis_model = 'cyborgPelvis' 505 t.upper_arm_model = 'cyborgUpperArm' 506 t.forearm_model = 'cyborgForeArm' 507 t.hand_model = 'cyborgHand' 508 t.upper_leg_model = 'cyborgUpperLeg' 509 t.lower_leg_model = 'cyborgLowerLeg' 510 t.toes_model = 'cyborgToes' 511 cyborg_sounds = ['cyborg1', 'cyborg2', 'cyborg3', 'cyborg4'] 512 cyborg_hit_sounds = ['cyborgHit1', 'cyborgHit2'] 513 t.attack_sounds = cyborg_sounds 514 t.jump_sounds = cyborg_sounds 515 t.impact_sounds = cyborg_hit_sounds 516 t.death_sounds = ['cyborgDeath'] 517 t.pickup_sounds = cyborg_sounds 518 t.fall_sounds = ['cyborgFall'] 519 t.style = 'cyborg' 520 521 # Agent ################################### 522 t = Appearance('Agent Johnson') 523 t.color_texture = 'agentColor' 524 t.color_mask_texture = 'agentColorMask' 525 t.default_color = (0.3, 0.3, 0.33) 526 t.default_highlight = (1, 0.5, 0.3) 527 t.icon_texture = 'agentIcon' 528 t.icon_mask_texture = 'agentIconColorMask' 529 t.head_model = 'agentHead' 530 t.torso_model = 'agentTorso' 531 t.pelvis_model = 'agentPelvis' 532 t.upper_arm_model = 'agentUpperArm' 533 t.forearm_model = 'agentForeArm' 534 t.hand_model = 'agentHand' 535 t.upper_leg_model = 'agentUpperLeg' 536 t.lower_leg_model = 'agentLowerLeg' 537 t.toes_model = 'agentToes' 538 agent_sounds = ['agent1', 'agent2', 'agent3', 'agent4'] 539 agent_hit_sounds = ['agentHit1', 'agentHit2'] 540 t.attack_sounds = agent_sounds 541 t.jump_sounds = agent_sounds 542 t.impact_sounds = agent_hit_sounds 543 t.death_sounds = ['agentDeath'] 544 t.pickup_sounds = agent_sounds 545 t.fall_sounds = ['agentFall'] 546 t.style = 'agent' 547 548 # Jumpsuit ################################### 549 t = Appearance('Lee') 550 t.color_texture = 'jumpsuitColor' 551 t.color_mask_texture = 'jumpsuitColorMask' 552 t.default_color = (0.3, 0.5, 0.8) 553 t.default_highlight = (1, 0, 0) 554 t.icon_texture = 'jumpsuitIcon' 555 t.icon_mask_texture = 'jumpsuitIconColorMask' 556 t.head_model = 'jumpsuitHead' 557 t.torso_model = 'jumpsuitTorso' 558 t.pelvis_model = 'jumpsuitPelvis' 559 t.upper_arm_model = 'jumpsuitUpperArm' 560 t.forearm_model = 'jumpsuitForeArm' 561 t.hand_model = 'jumpsuitHand' 562 t.upper_leg_model = 'jumpsuitUpperLeg' 563 t.lower_leg_model = 'jumpsuitLowerLeg' 564 t.toes_model = 'jumpsuitToes' 565 jumpsuit_sounds = ['jumpsuit1', 'jumpsuit2', 'jumpsuit3', 'jumpsuit4'] 566 jumpsuit_hit_sounds = ['jumpsuitHit1', 'jumpsuitHit2'] 567 t.attack_sounds = jumpsuit_sounds 568 t.jump_sounds = jumpsuit_sounds 569 t.impact_sounds = jumpsuit_hit_sounds 570 t.death_sounds = ['jumpsuitDeath'] 571 t.pickup_sounds = jumpsuit_sounds 572 t.fall_sounds = ['jumpsuitFall'] 573 t.style = 'spaz' 574 575 # ActionHero ################################### 576 t = Appearance('Todd McBurton') 577 t.color_texture = 'actionHeroColor' 578 t.color_mask_texture = 'actionHeroColorMask' 579 t.default_color = (0.3, 0.5, 0.8) 580 t.default_highlight = (1, 0, 0) 581 t.icon_texture = 'actionHeroIcon' 582 t.icon_mask_texture = 'actionHeroIconColorMask' 583 t.head_model = 'actionHeroHead' 584 t.torso_model = 'actionHeroTorso' 585 t.pelvis_model = 'actionHeroPelvis' 586 t.upper_arm_model = 'actionHeroUpperArm' 587 t.forearm_model = 'actionHeroForeArm' 588 t.hand_model = 'actionHeroHand' 589 t.upper_leg_model = 'actionHeroUpperLeg' 590 t.lower_leg_model = 'actionHeroLowerLeg' 591 t.toes_model = 'actionHeroToes' 592 action_hero_sounds = [ 593 'actionHero1', 594 'actionHero2', 595 'actionHero3', 596 'actionHero4', 597 ] 598 action_hero_hit_sounds = ['actionHeroHit1', 'actionHeroHit2'] 599 t.attack_sounds = action_hero_sounds 600 t.jump_sounds = action_hero_sounds 601 t.impact_sounds = action_hero_hit_sounds 602 t.death_sounds = ['actionHeroDeath'] 603 t.pickup_sounds = action_hero_sounds 604 t.fall_sounds = ['actionHeroFall'] 605 t.style = 'spaz' 606 607 # Assassin ################################### 608 t = Appearance('Zola') 609 t.color_texture = 'assassinColor' 610 t.color_mask_texture = 'assassinColorMask' 611 t.default_color = (0.3, 0.5, 0.8) 612 t.default_highlight = (1, 0, 0) 613 t.icon_texture = 'assassinIcon' 614 t.icon_mask_texture = 'assassinIconColorMask' 615 t.head_model = 'assassinHead' 616 t.torso_model = 'assassinTorso' 617 t.pelvis_model = 'assassinPelvis' 618 t.upper_arm_model = 'assassinUpperArm' 619 t.forearm_model = 'assassinForeArm' 620 t.hand_model = 'assassinHand' 621 t.upper_leg_model = 'assassinUpperLeg' 622 t.lower_leg_model = 'assassinLowerLeg' 623 t.toes_model = 'assassinToes' 624 assassin_sounds = ['assassin1', 'assassin2', 'assassin3', 'assassin4'] 625 assassin_hit_sounds = ['assassinHit1', 'assassinHit2'] 626 t.attack_sounds = assassin_sounds 627 t.jump_sounds = assassin_sounds 628 t.impact_sounds = assassin_hit_sounds 629 t.death_sounds = ['assassinDeath'] 630 t.pickup_sounds = assassin_sounds 631 t.fall_sounds = ['assassinFall'] 632 t.style = 'spaz' 633 634 # Wizard ################################### 635 t = Appearance('Grumbledorf') 636 t.color_texture = 'wizardColor' 637 t.color_mask_texture = 'wizardColorMask' 638 t.default_color = (0.2, 0.4, 1.0) 639 t.default_highlight = (0.06, 0.15, 0.4) 640 t.icon_texture = 'wizardIcon' 641 t.icon_mask_texture = 'wizardIconColorMask' 642 t.head_model = 'wizardHead' 643 t.torso_model = 'wizardTorso' 644 t.pelvis_model = 'wizardPelvis' 645 t.upper_arm_model = 'wizardUpperArm' 646 t.forearm_model = 'wizardForeArm' 647 t.hand_model = 'wizardHand' 648 t.upper_leg_model = 'wizardUpperLeg' 649 t.lower_leg_model = 'wizardLowerLeg' 650 t.toes_model = 'wizardToes' 651 wizard_sounds = ['wizard1', 'wizard2', 'wizard3', 'wizard4'] 652 wizard_hit_sounds = ['wizardHit1', 'wizardHit2'] 653 t.attack_sounds = wizard_sounds 654 t.jump_sounds = wizard_sounds 655 t.impact_sounds = wizard_hit_sounds 656 t.death_sounds = ['wizardDeath'] 657 t.pickup_sounds = wizard_sounds 658 t.fall_sounds = ['wizardFall'] 659 t.style = 'spaz' 660 661 # Cowboy ################################### 662 t = Appearance('Butch') 663 t.color_texture = 'cowboyColor' 664 t.color_mask_texture = 'cowboyColorMask' 665 t.default_color = (0.3, 0.5, 0.8) 666 t.default_highlight = (1, 0, 0) 667 t.icon_texture = 'cowboyIcon' 668 t.icon_mask_texture = 'cowboyIconColorMask' 669 t.head_model = 'cowboyHead' 670 t.torso_model = 'cowboyTorso' 671 t.pelvis_model = 'cowboyPelvis' 672 t.upper_arm_model = 'cowboyUpperArm' 673 t.forearm_model = 'cowboyForeArm' 674 t.hand_model = 'cowboyHand' 675 t.upper_leg_model = 'cowboyUpperLeg' 676 t.lower_leg_model = 'cowboyLowerLeg' 677 t.toes_model = 'cowboyToes' 678 cowboy_sounds = ['cowboy1', 'cowboy2', 'cowboy3', 'cowboy4'] 679 cowboy_hit_sounds = ['cowboyHit1', 'cowboyHit2'] 680 t.attack_sounds = cowboy_sounds 681 t.jump_sounds = cowboy_sounds 682 t.impact_sounds = cowboy_hit_sounds 683 t.death_sounds = ['cowboyDeath'] 684 t.pickup_sounds = cowboy_sounds 685 t.fall_sounds = ['cowboyFall'] 686 t.style = 'spaz' 687 688 # Witch ################################### 689 t = Appearance('Witch') 690 t.color_texture = 'witchColor' 691 t.color_mask_texture = 'witchColorMask' 692 t.default_color = (0.3, 0.5, 0.8) 693 t.default_highlight = (1, 0, 0) 694 t.icon_texture = 'witchIcon' 695 t.icon_mask_texture = 'witchIconColorMask' 696 t.head_model = 'witchHead' 697 t.torso_model = 'witchTorso' 698 t.pelvis_model = 'witchPelvis' 699 t.upper_arm_model = 'witchUpperArm' 700 t.forearm_model = 'witchForeArm' 701 t.hand_model = 'witchHand' 702 t.upper_leg_model = 'witchUpperLeg' 703 t.lower_leg_model = 'witchLowerLeg' 704 t.toes_model = 'witchToes' 705 witch_sounds = ['witch1', 'witch2', 'witch3', 'witch4'] 706 witch_hit_sounds = ['witchHit1', 'witchHit2'] 707 t.attack_sounds = witch_sounds 708 t.jump_sounds = witch_sounds 709 t.impact_sounds = witch_hit_sounds 710 t.death_sounds = ['witchDeath'] 711 t.pickup_sounds = witch_sounds 712 t.fall_sounds = ['witchFall'] 713 t.style = 'spaz' 714 715 # Warrior ################################### 716 t = Appearance('Warrior') 717 t.color_texture = 'warriorColor' 718 t.color_mask_texture = 'warriorColorMask' 719 t.default_color = (0.3, 0.5, 0.8) 720 t.default_highlight = (1, 0, 0) 721 t.icon_texture = 'warriorIcon' 722 t.icon_mask_texture = 'warriorIconColorMask' 723 t.head_model = 'warriorHead' 724 t.torso_model = 'warriorTorso' 725 t.pelvis_model = 'warriorPelvis' 726 t.upper_arm_model = 'warriorUpperArm' 727 t.forearm_model = 'warriorForeArm' 728 t.hand_model = 'warriorHand' 729 t.upper_leg_model = 'warriorUpperLeg' 730 t.lower_leg_model = 'warriorLowerLeg' 731 t.toes_model = 'warriorToes' 732 warrior_sounds = ['warrior1', 'warrior2', 'warrior3', 'warrior4'] 733 warrior_hit_sounds = ['warriorHit1', 'warriorHit2'] 734 t.attack_sounds = warrior_sounds 735 t.jump_sounds = warrior_sounds 736 t.impact_sounds = warrior_hit_sounds 737 t.death_sounds = ['warriorDeath'] 738 t.pickup_sounds = warrior_sounds 739 t.fall_sounds = ['warriorFall'] 740 t.style = 'spaz' 741 742 # Superhero ################################### 743 t = Appearance('Middle-Man') 744 t.color_texture = 'superheroColor' 745 t.color_mask_texture = 'superheroColorMask' 746 t.default_color = (0.3, 0.5, 0.8) 747 t.default_highlight = (1, 0, 0) 748 t.icon_texture = 'superheroIcon' 749 t.icon_mask_texture = 'superheroIconColorMask' 750 t.head_model = 'superheroHead' 751 t.torso_model = 'superheroTorso' 752 t.pelvis_model = 'superheroPelvis' 753 t.upper_arm_model = 'superheroUpperArm' 754 t.forearm_model = 'superheroForeArm' 755 t.hand_model = 'superheroHand' 756 t.upper_leg_model = 'superheroUpperLeg' 757 t.lower_leg_model = 'superheroLowerLeg' 758 t.toes_model = 'superheroToes' 759 superhero_sounds = ['superhero1', 'superhero2', 'superhero3', 'superhero4'] 760 superhero_hit_sounds = ['superheroHit1', 'superheroHit2'] 761 t.attack_sounds = superhero_sounds 762 t.jump_sounds = superhero_sounds 763 t.impact_sounds = superhero_hit_sounds 764 t.death_sounds = ['superheroDeath'] 765 t.pickup_sounds = superhero_sounds 766 t.fall_sounds = ['superheroFall'] 767 t.style = 'spaz' 768 769 # Alien ################################### 770 t = Appearance('Alien') 771 t.color_texture = 'alienColor' 772 t.color_mask_texture = 'alienColorMask' 773 t.default_color = (0.3, 0.5, 0.8) 774 t.default_highlight = (1, 0, 0) 775 t.icon_texture = 'alienIcon' 776 t.icon_mask_texture = 'alienIconColorMask' 777 t.head_model = 'alienHead' 778 t.torso_model = 'alienTorso' 779 t.pelvis_model = 'alienPelvis' 780 t.upper_arm_model = 'alienUpperArm' 781 t.forearm_model = 'alienForeArm' 782 t.hand_model = 'alienHand' 783 t.upper_leg_model = 'alienUpperLeg' 784 t.lower_leg_model = 'alienLowerLeg' 785 t.toes_model = 'alienToes' 786 alien_sounds = ['alien1', 'alien2', 'alien3', 'alien4'] 787 alien_hit_sounds = ['alienHit1', 'alienHit2'] 788 t.attack_sounds = alien_sounds 789 t.jump_sounds = alien_sounds 790 t.impact_sounds = alien_hit_sounds 791 t.death_sounds = ['alienDeath'] 792 t.pickup_sounds = alien_sounds 793 t.fall_sounds = ['alienFall'] 794 t.style = 'spaz' 795 796 # OldLady ################################### 797 t = Appearance('OldLady') 798 t.color_texture = 'oldLadyColor' 799 t.color_mask_texture = 'oldLadyColorMask' 800 t.default_color = (0.3, 0.5, 0.8) 801 t.default_highlight = (1, 0, 0) 802 t.icon_texture = 'oldLadyIcon' 803 t.icon_mask_texture = 'oldLadyIconColorMask' 804 t.head_model = 'oldLadyHead' 805 t.torso_model = 'oldLadyTorso' 806 t.pelvis_model = 'oldLadyPelvis' 807 t.upper_arm_model = 'oldLadyUpperArm' 808 t.forearm_model = 'oldLadyForeArm' 809 t.hand_model = 'oldLadyHand' 810 t.upper_leg_model = 'oldLadyUpperLeg' 811 t.lower_leg_model = 'oldLadyLowerLeg' 812 t.toes_model = 'oldLadyToes' 813 old_lady_sounds = ['oldLady1', 'oldLady2', 'oldLady3', 'oldLady4'] 814 old_lady_hit_sounds = ['oldLadyHit1', 'oldLadyHit2'] 815 t.attack_sounds = old_lady_sounds 816 t.jump_sounds = old_lady_sounds 817 t.impact_sounds = old_lady_hit_sounds 818 t.death_sounds = ['oldLadyDeath'] 819 t.pickup_sounds = old_lady_sounds 820 t.fall_sounds = ['oldLadyFall'] 821 t.style = 'spaz' 822 823 # Gladiator ################################### 824 t = Appearance('Gladiator') 825 t.color_texture = 'gladiatorColor' 826 t.color_mask_texture = 'gladiatorColorMask' 827 t.default_color = (0.3, 0.5, 0.8) 828 t.default_highlight = (1, 0, 0) 829 t.icon_texture = 'gladiatorIcon' 830 t.icon_mask_texture = 'gladiatorIconColorMask' 831 t.head_model = 'gladiatorHead' 832 t.torso_model = 'gladiatorTorso' 833 t.pelvis_model = 'gladiatorPelvis' 834 t.upper_arm_model = 'gladiatorUpperArm' 835 t.forearm_model = 'gladiatorForeArm' 836 t.hand_model = 'gladiatorHand' 837 t.upper_leg_model = 'gladiatorUpperLeg' 838 t.lower_leg_model = 'gladiatorLowerLeg' 839 t.toes_model = 'gladiatorToes' 840 gladiator_sounds = ['gladiator1', 'gladiator2', 'gladiator3', 'gladiator4'] 841 gladiator_hit_sounds = ['gladiatorHit1', 'gladiatorHit2'] 842 t.attack_sounds = gladiator_sounds 843 t.jump_sounds = gladiator_sounds 844 t.impact_sounds = gladiator_hit_sounds 845 t.death_sounds = ['gladiatorDeath'] 846 t.pickup_sounds = gladiator_sounds 847 t.fall_sounds = ['gladiatorFall'] 848 t.style = 'spaz' 849 850 # Wrestler ################################### 851 t = Appearance('Wrestler') 852 t.color_texture = 'wrestlerColor' 853 t.color_mask_texture = 'wrestlerColorMask' 854 t.default_color = (0.3, 0.5, 0.8) 855 t.default_highlight = (1, 0, 0) 856 t.icon_texture = 'wrestlerIcon' 857 t.icon_mask_texture = 'wrestlerIconColorMask' 858 t.head_model = 'wrestlerHead' 859 t.torso_model = 'wrestlerTorso' 860 t.pelvis_model = 'wrestlerPelvis' 861 t.upper_arm_model = 'wrestlerUpperArm' 862 t.forearm_model = 'wrestlerForeArm' 863 t.hand_model = 'wrestlerHand' 864 t.upper_leg_model = 'wrestlerUpperLeg' 865 t.lower_leg_model = 'wrestlerLowerLeg' 866 t.toes_model = 'wrestlerToes' 867 wrestler_sounds = ['wrestler1', 'wrestler2', 'wrestler3', 'wrestler4'] 868 wrestler_hit_sounds = ['wrestlerHit1', 'wrestlerHit2'] 869 t.attack_sounds = wrestler_sounds 870 t.jump_sounds = wrestler_sounds 871 t.impact_sounds = wrestler_hit_sounds 872 t.death_sounds = ['wrestlerDeath'] 873 t.pickup_sounds = wrestler_sounds 874 t.fall_sounds = ['wrestlerFall'] 875 t.style = 'spaz' 876 877 # OperaSinger ################################### 878 t = Appearance('Gretel') 879 t.color_texture = 'operaSingerColor' 880 t.color_mask_texture = 'operaSingerColorMask' 881 t.default_color = (0.3, 0.5, 0.8) 882 t.default_highlight = (1, 0, 0) 883 t.icon_texture = 'operaSingerIcon' 884 t.icon_mask_texture = 'operaSingerIconColorMask' 885 t.head_model = 'operaSingerHead' 886 t.torso_model = 'operaSingerTorso' 887 t.pelvis_model = 'operaSingerPelvis' 888 t.upper_arm_model = 'operaSingerUpperArm' 889 t.forearm_model = 'operaSingerForeArm' 890 t.hand_model = 'operaSingerHand' 891 t.upper_leg_model = 'operaSingerUpperLeg' 892 t.lower_leg_model = 'operaSingerLowerLeg' 893 t.toes_model = 'operaSingerToes' 894 opera_singer_sounds = [ 895 'operaSinger1', 896 'operaSinger2', 897 'operaSinger3', 898 'operaSinger4', 899 ] 900 opera_singer_hit_sounds = ['operaSingerHit1', 'operaSingerHit2'] 901 t.attack_sounds = opera_singer_sounds 902 t.jump_sounds = opera_singer_sounds 903 t.impact_sounds = opera_singer_hit_sounds 904 t.death_sounds = ['operaSingerDeath'] 905 t.pickup_sounds = opera_singer_sounds 906 t.fall_sounds = ['operaSingerFall'] 907 t.style = 'spaz' 908 909 # Pixie ################################### 910 t = Appearance('Pixel') 911 t.color_texture = 'pixieColor' 912 t.color_mask_texture = 'pixieColorMask' 913 t.default_color = (0, 1, 0.7) 914 t.default_highlight = (0.65, 0.35, 0.75) 915 t.icon_texture = 'pixieIcon' 916 t.icon_mask_texture = 'pixieIconColorMask' 917 t.head_model = 'pixieHead' 918 t.torso_model = 'pixieTorso' 919 t.pelvis_model = 'pixiePelvis' 920 t.upper_arm_model = 'pixieUpperArm' 921 t.forearm_model = 'pixieForeArm' 922 t.hand_model = 'pixieHand' 923 t.upper_leg_model = 'pixieUpperLeg' 924 t.lower_leg_model = 'pixieLowerLeg' 925 t.toes_model = 'pixieToes' 926 pixie_sounds = ['pixie1', 'pixie2', 'pixie3', 'pixie4'] 927 pixie_hit_sounds = ['pixieHit1', 'pixieHit2'] 928 t.attack_sounds = pixie_sounds 929 t.jump_sounds = pixie_sounds 930 t.impact_sounds = pixie_hit_sounds 931 t.death_sounds = ['pixieDeath'] 932 t.pickup_sounds = pixie_sounds 933 t.fall_sounds = ['pixieFall'] 934 t.style = 'pixie' 935 936 # Robot ################################### 937 t = Appearance('Robot') 938 t.color_texture = 'robotColor' 939 t.color_mask_texture = 'robotColorMask' 940 t.default_color = (0.3, 0.5, 0.8) 941 t.default_highlight = (1, 0, 0) 942 t.icon_texture = 'robotIcon' 943 t.icon_mask_texture = 'robotIconColorMask' 944 t.head_model = 'robotHead' 945 t.torso_model = 'robotTorso' 946 t.pelvis_model = 'robotPelvis' 947 t.upper_arm_model = 'robotUpperArm' 948 t.forearm_model = 'robotForeArm' 949 t.hand_model = 'robotHand' 950 t.upper_leg_model = 'robotUpperLeg' 951 t.lower_leg_model = 'robotLowerLeg' 952 t.toes_model = 'robotToes' 953 robot_sounds = ['robot1', 'robot2', 'robot3', 'robot4'] 954 robot_hit_sounds = ['robotHit1', 'robotHit2'] 955 t.attack_sounds = robot_sounds 956 t.jump_sounds = robot_sounds 957 t.impact_sounds = robot_hit_sounds 958 t.death_sounds = ['robotDeath'] 959 t.pickup_sounds = robot_sounds 960 t.fall_sounds = ['robotFall'] 961 t.style = 'spaz' 962 963 # Bunny ################################### 964 t = Appearance('Easter Bunny') 965 t.color_texture = 'bunnyColor' 966 t.color_mask_texture = 'bunnyColorMask' 967 t.default_color = (1, 1, 1) 968 t.default_highlight = (1, 0.5, 0.5) 969 t.icon_texture = 'bunnyIcon' 970 t.icon_mask_texture = 'bunnyIconColorMask' 971 t.head_model = 'bunnyHead' 972 t.torso_model = 'bunnyTorso' 973 t.pelvis_model = 'bunnyPelvis' 974 t.upper_arm_model = 'bunnyUpperArm' 975 t.forearm_model = 'bunnyForeArm' 976 t.hand_model = 'bunnyHand' 977 t.upper_leg_model = 'bunnyUpperLeg' 978 t.lower_leg_model = 'bunnyLowerLeg' 979 t.toes_model = 'bunnyToes' 980 bunny_sounds = ['bunny1', 'bunny2', 'bunny3', 'bunny4'] 981 bunny_hit_sounds = ['bunnyHit1', 'bunnyHit2'] 982 t.attack_sounds = bunny_sounds 983 t.jump_sounds = ['bunnyJump'] 984 t.impact_sounds = bunny_hit_sounds 985 t.death_sounds = ['bunnyDeath'] 986 t.pickup_sounds = bunny_sounds 987 t.fall_sounds = ['bunnyFall'] 988 t.style = 'bunny'
def
get_appearances(include_locked: bool = False) -> list[str]:
16def get_appearances(include_locked: bool = False) -> list[str]: 17 """Get the list of available spaz appearances.""" 18 # pylint: disable=too-many-statements 19 # pylint: disable=too-many-branches 20 get_purchased = ba.internal.get_purchased 21 disallowed = [] 22 if not include_locked: 23 # hmm yeah this'll be tough to hack... 24 if not get_purchased('characters.santa'): 25 disallowed.append('Santa Claus') 26 if not get_purchased('characters.frosty'): 27 disallowed.append('Frosty') 28 if not get_purchased('characters.bones'): 29 disallowed.append('Bones') 30 if not get_purchased('characters.bernard'): 31 disallowed.append('Bernard') 32 if not get_purchased('characters.pixie'): 33 disallowed.append('Pixel') 34 if not get_purchased('characters.pascal'): 35 disallowed.append('Pascal') 36 if not get_purchased('characters.actionhero'): 37 disallowed.append('Todd McBurton') 38 if not get_purchased('characters.taobaomascot'): 39 disallowed.append('Taobao Mascot') 40 if not get_purchased('characters.agent'): 41 disallowed.append('Agent Johnson') 42 if not get_purchased('characters.jumpsuit'): 43 disallowed.append('Lee') 44 if not get_purchased('characters.assassin'): 45 disallowed.append('Zola') 46 if not get_purchased('characters.wizard'): 47 disallowed.append('Grumbledorf') 48 if not get_purchased('characters.cowboy'): 49 disallowed.append('Butch') 50 if not get_purchased('characters.witch'): 51 disallowed.append('Witch') 52 if not get_purchased('characters.warrior'): 53 disallowed.append('Warrior') 54 if not get_purchased('characters.superhero'): 55 disallowed.append('Middle-Man') 56 if not get_purchased('characters.alien'): 57 disallowed.append('Alien') 58 if not get_purchased('characters.oldlady'): 59 disallowed.append('OldLady') 60 if not get_purchased('characters.gladiator'): 61 disallowed.append('Gladiator') 62 if not get_purchased('characters.wrestler'): 63 disallowed.append('Wrestler') 64 if not get_purchased('characters.operasinger'): 65 disallowed.append('Gretel') 66 if not get_purchased('characters.robot'): 67 disallowed.append('Robot') 68 if not get_purchased('characters.cyborg'): 69 disallowed.append('B-9000') 70 if not get_purchased('characters.bunny'): 71 disallowed.append('Easter Bunny') 72 if not get_purchased('characters.kronk'): 73 disallowed.append('Kronk') 74 if not get_purchased('characters.zoe'): 75 disallowed.append('Zoe') 76 if not get_purchased('characters.jackmorgan'): 77 disallowed.append('Jack Morgan') 78 if not get_purchased('characters.mel'): 79 disallowed.append('Mel') 80 if not get_purchased('characters.snakeshadow'): 81 disallowed.append('Snake Shadow') 82 return [ 83 s for s in list(ba.app.spaz_appearances.keys()) if s not in disallowed 84 ]
Get the list of available spaz appearances.
class
Appearance:
87class Appearance: 88 """Create and fill out one of these suckers to define a spaz appearance""" 89 90 def __init__(self, name: str): 91 self.name = name 92 if self.name in ba.app.spaz_appearances: 93 raise Exception( 94 'spaz appearance name "' + self.name + '" already exists.' 95 ) 96 ba.app.spaz_appearances[self.name] = self 97 self.color_texture = '' 98 self.color_mask_texture = '' 99 self.icon_texture = '' 100 self.icon_mask_texture = '' 101 self.head_model = '' 102 self.torso_model = '' 103 self.pelvis_model = '' 104 self.upper_arm_model = '' 105 self.forearm_model = '' 106 self.hand_model = '' 107 self.upper_leg_model = '' 108 self.lower_leg_model = '' 109 self.toes_model = '' 110 self.jump_sounds: list[str] = [] 111 self.attack_sounds: list[str] = [] 112 self.impact_sounds: list[str] = [] 113 self.death_sounds: list[str] = [] 114 self.pickup_sounds: list[str] = [] 115 self.fall_sounds: list[str] = [] 116 self.style = 'spaz' 117 self.default_color: tuple[float, float, float] | None = None 118 self.default_highlight: tuple[float, float, float] | None = None
Create and fill out one of these suckers to define a spaz appearance
Appearance(name: str)
90 def __init__(self, name: str): 91 self.name = name 92 if self.name in ba.app.spaz_appearances: 93 raise Exception( 94 'spaz appearance name "' + self.name + '" already exists.' 95 ) 96 ba.app.spaz_appearances[self.name] = self 97 self.color_texture = '' 98 self.color_mask_texture = '' 99 self.icon_texture = '' 100 self.icon_mask_texture = '' 101 self.head_model = '' 102 self.torso_model = '' 103 self.pelvis_model = '' 104 self.upper_arm_model = '' 105 self.forearm_model = '' 106 self.hand_model = '' 107 self.upper_leg_model = '' 108 self.lower_leg_model = '' 109 self.toes_model = '' 110 self.jump_sounds: list[str] = [] 111 self.attack_sounds: list[str] = [] 112 self.impact_sounds: list[str] = [] 113 self.death_sounds: list[str] = [] 114 self.pickup_sounds: list[str] = [] 115 self.fall_sounds: list[str] = [] 116 self.style = 'spaz' 117 self.default_color: tuple[float, float, float] | None = None 118 self.default_highlight: tuple[float, float, float] | None = None
def
register_appearances() -> None:
121def register_appearances() -> None: 122 """Register our builtin spaz appearances.""" 123 124 # this is quite ugly but will be going away so not worth cleaning up 125 # pylint: disable=invalid-name 126 # pylint: disable=too-many-locals 127 # pylint: disable=too-many-statements 128 129 # Spaz ####################################### 130 t = Appearance('Spaz') 131 t.color_texture = 'neoSpazColor' 132 t.color_mask_texture = 'neoSpazColorMask' 133 t.icon_texture = 'neoSpazIcon' 134 t.icon_mask_texture = 'neoSpazIconColorMask' 135 t.head_model = 'neoSpazHead' 136 t.torso_model = 'neoSpazTorso' 137 t.pelvis_model = 'neoSpazPelvis' 138 t.upper_arm_model = 'neoSpazUpperArm' 139 t.forearm_model = 'neoSpazForeArm' 140 t.hand_model = 'neoSpazHand' 141 t.upper_leg_model = 'neoSpazUpperLeg' 142 t.lower_leg_model = 'neoSpazLowerLeg' 143 t.toes_model = 'neoSpazToes' 144 t.jump_sounds = ['spazJump01', 'spazJump02', 'spazJump03', 'spazJump04'] 145 t.attack_sounds = [ 146 'spazAttack01', 147 'spazAttack02', 148 'spazAttack03', 149 'spazAttack04', 150 ] 151 t.impact_sounds = [ 152 'spazImpact01', 153 'spazImpact02', 154 'spazImpact03', 155 'spazImpact04', 156 ] 157 t.death_sounds = ['spazDeath01'] 158 t.pickup_sounds = ['spazPickup01'] 159 t.fall_sounds = ['spazFall01'] 160 t.style = 'spaz' 161 162 # Zoe ##################################### 163 t = Appearance('Zoe') 164 t.color_texture = 'zoeColor' 165 t.color_mask_texture = 'zoeColorMask' 166 t.default_color = (0.6, 0.6, 0.6) 167 t.default_highlight = (0, 1, 0) 168 t.icon_texture = 'zoeIcon' 169 t.icon_mask_texture = 'zoeIconColorMask' 170 t.head_model = 'zoeHead' 171 t.torso_model = 'zoeTorso' 172 t.pelvis_model = 'zoePelvis' 173 t.upper_arm_model = 'zoeUpperArm' 174 t.forearm_model = 'zoeForeArm' 175 t.hand_model = 'zoeHand' 176 t.upper_leg_model = 'zoeUpperLeg' 177 t.lower_leg_model = 'zoeLowerLeg' 178 t.toes_model = 'zoeToes' 179 t.jump_sounds = ['zoeJump01', 'zoeJump02', 'zoeJump03'] 180 t.attack_sounds = [ 181 'zoeAttack01', 182 'zoeAttack02', 183 'zoeAttack03', 184 'zoeAttack04', 185 ] 186 t.impact_sounds = [ 187 'zoeImpact01', 188 'zoeImpact02', 189 'zoeImpact03', 190 'zoeImpact04', 191 ] 192 t.death_sounds = ['zoeDeath01'] 193 t.pickup_sounds = ['zoePickup01'] 194 t.fall_sounds = ['zoeFall01'] 195 t.style = 'female' 196 197 # Ninja ########################################## 198 t = Appearance('Snake Shadow') 199 t.color_texture = 'ninjaColor' 200 t.color_mask_texture = 'ninjaColorMask' 201 t.default_color = (1, 1, 1) 202 t.default_highlight = (0.55, 0.8, 0.55) 203 t.icon_texture = 'ninjaIcon' 204 t.icon_mask_texture = 'ninjaIconColorMask' 205 t.head_model = 'ninjaHead' 206 t.torso_model = 'ninjaTorso' 207 t.pelvis_model = 'ninjaPelvis' 208 t.upper_arm_model = 'ninjaUpperArm' 209 t.forearm_model = 'ninjaForeArm' 210 t.hand_model = 'ninjaHand' 211 t.upper_leg_model = 'ninjaUpperLeg' 212 t.lower_leg_model = 'ninjaLowerLeg' 213 t.toes_model = 'ninjaToes' 214 ninja_attacks = ['ninjaAttack' + str(i + 1) + '' for i in range(7)] 215 ninja_hits = ['ninjaHit' + str(i + 1) + '' for i in range(8)] 216 ninja_jumps = ['ninjaAttack' + str(i + 1) + '' for i in range(7)] 217 t.jump_sounds = ninja_jumps 218 t.attack_sounds = ninja_attacks 219 t.impact_sounds = ninja_hits 220 t.death_sounds = ['ninjaDeath1'] 221 t.pickup_sounds = ninja_attacks 222 t.fall_sounds = ['ninjaFall1'] 223 t.style = 'ninja' 224 225 # Barbarian ##################################### 226 t = Appearance('Kronk') 227 t.color_texture = 'kronk' 228 t.color_mask_texture = 'kronkColorMask' 229 t.default_color = (0.4, 0.5, 0.4) 230 t.default_highlight = (1, 0.5, 0.3) 231 t.icon_texture = 'kronkIcon' 232 t.icon_mask_texture = 'kronkIconColorMask' 233 t.head_model = 'kronkHead' 234 t.torso_model = 'kronkTorso' 235 t.pelvis_model = 'kronkPelvis' 236 t.upper_arm_model = 'kronkUpperArm' 237 t.forearm_model = 'kronkForeArm' 238 t.hand_model = 'kronkHand' 239 t.upper_leg_model = 'kronkUpperLeg' 240 t.lower_leg_model = 'kronkLowerLeg' 241 t.toes_model = 'kronkToes' 242 kronk_sounds = [ 243 'kronk1', 244 'kronk2', 245 'kronk3', 246 'kronk4', 247 'kronk5', 248 'kronk6', 249 'kronk7', 250 'kronk8', 251 'kronk9', 252 'kronk10', 253 ] 254 t.jump_sounds = kronk_sounds 255 t.attack_sounds = kronk_sounds 256 t.impact_sounds = kronk_sounds 257 t.death_sounds = ['kronkDeath'] 258 t.pickup_sounds = kronk_sounds 259 t.fall_sounds = ['kronkFall'] 260 t.style = 'kronk' 261 262 # Chef ########################################### 263 t = Appearance('Mel') 264 t.color_texture = 'melColor' 265 t.color_mask_texture = 'melColorMask' 266 t.default_color = (1, 1, 1) 267 t.default_highlight = (0.1, 0.6, 0.1) 268 t.icon_texture = 'melIcon' 269 t.icon_mask_texture = 'melIconColorMask' 270 t.head_model = 'melHead' 271 t.torso_model = 'melTorso' 272 t.pelvis_model = 'kronkPelvis' 273 t.upper_arm_model = 'melUpperArm' 274 t.forearm_model = 'melForeArm' 275 t.hand_model = 'melHand' 276 t.upper_leg_model = 'melUpperLeg' 277 t.lower_leg_model = 'melLowerLeg' 278 t.toes_model = 'melToes' 279 mel_sounds = [ 280 'mel01', 281 'mel02', 282 'mel03', 283 'mel04', 284 'mel05', 285 'mel06', 286 'mel07', 287 'mel08', 288 'mel09', 289 'mel10', 290 ] 291 t.attack_sounds = mel_sounds 292 t.jump_sounds = mel_sounds 293 t.impact_sounds = mel_sounds 294 t.death_sounds = ['melDeath01'] 295 t.pickup_sounds = mel_sounds 296 t.fall_sounds = ['melFall01'] 297 t.style = 'mel' 298 299 # Pirate ####################################### 300 t = Appearance('Jack Morgan') 301 t.color_texture = 'jackColor' 302 t.color_mask_texture = 'jackColorMask' 303 t.default_color = (1, 0.2, 0.1) 304 t.default_highlight = (1, 1, 0) 305 t.icon_texture = 'jackIcon' 306 t.icon_mask_texture = 'jackIconColorMask' 307 t.head_model = 'jackHead' 308 t.torso_model = 'jackTorso' 309 t.pelvis_model = 'kronkPelvis' 310 t.upper_arm_model = 'jackUpperArm' 311 t.forearm_model = 'jackForeArm' 312 t.hand_model = 'jackHand' 313 t.upper_leg_model = 'jackUpperLeg' 314 t.lower_leg_model = 'jackLowerLeg' 315 t.toes_model = 'jackToes' 316 hit_sounds = [ 317 'jackHit01', 318 'jackHit02', 319 'jackHit03', 320 'jackHit04', 321 'jackHit05', 322 'jackHit06', 323 'jackHit07', 324 ] 325 sounds = ['jack01', 'jack02', 'jack03', 'jack04', 'jack05', 'jack06'] 326 t.attack_sounds = sounds 327 t.jump_sounds = sounds 328 t.impact_sounds = hit_sounds 329 t.death_sounds = ['jackDeath01'] 330 t.pickup_sounds = sounds 331 t.fall_sounds = ['jackFall01'] 332 t.style = 'pirate' 333 334 # Santa ###################################### 335 t = Appearance('Santa Claus') 336 t.color_texture = 'santaColor' 337 t.color_mask_texture = 'santaColorMask' 338 t.default_color = (1, 0, 0) 339 t.default_highlight = (1, 1, 1) 340 t.icon_texture = 'santaIcon' 341 t.icon_mask_texture = 'santaIconColorMask' 342 t.head_model = 'santaHead' 343 t.torso_model = 'santaTorso' 344 t.pelvis_model = 'kronkPelvis' 345 t.upper_arm_model = 'santaUpperArm' 346 t.forearm_model = 'santaForeArm' 347 t.hand_model = 'santaHand' 348 t.upper_leg_model = 'santaUpperLeg' 349 t.lower_leg_model = 'santaLowerLeg' 350 t.toes_model = 'santaToes' 351 hit_sounds = ['santaHit01', 'santaHit02', 'santaHit03', 'santaHit04'] 352 sounds = ['santa01', 'santa02', 'santa03', 'santa04', 'santa05'] 353 t.attack_sounds = sounds 354 t.jump_sounds = sounds 355 t.impact_sounds = hit_sounds 356 t.death_sounds = ['santaDeath'] 357 t.pickup_sounds = sounds 358 t.fall_sounds = ['santaFall'] 359 t.style = 'santa' 360 361 # Snowman ################################### 362 t = Appearance('Frosty') 363 t.color_texture = 'frostyColor' 364 t.color_mask_texture = 'frostyColorMask' 365 t.default_color = (0.5, 0.5, 1) 366 t.default_highlight = (1, 0.5, 0) 367 t.icon_texture = 'frostyIcon' 368 t.icon_mask_texture = 'frostyIconColorMask' 369 t.head_model = 'frostyHead' 370 t.torso_model = 'frostyTorso' 371 t.pelvis_model = 'frostyPelvis' 372 t.upper_arm_model = 'frostyUpperArm' 373 t.forearm_model = 'frostyForeArm' 374 t.hand_model = 'frostyHand' 375 t.upper_leg_model = 'frostyUpperLeg' 376 t.lower_leg_model = 'frostyLowerLeg' 377 t.toes_model = 'frostyToes' 378 frosty_sounds = ['frosty01', 'frosty02', 'frosty03', 'frosty04', 'frosty05'] 379 frosty_hit_sounds = ['frostyHit01', 'frostyHit02', 'frostyHit03'] 380 t.attack_sounds = frosty_sounds 381 t.jump_sounds = frosty_sounds 382 t.impact_sounds = frosty_hit_sounds 383 t.death_sounds = ['frostyDeath'] 384 t.pickup_sounds = frosty_sounds 385 t.fall_sounds = ['frostyFall'] 386 t.style = 'frosty' 387 388 # Skeleton ################################ 389 t = Appearance('Bones') 390 t.color_texture = 'bonesColor' 391 t.color_mask_texture = 'bonesColorMask' 392 t.default_color = (0.6, 0.9, 1) 393 t.default_highlight = (0.6, 0.9, 1) 394 t.icon_texture = 'bonesIcon' 395 t.icon_mask_texture = 'bonesIconColorMask' 396 t.head_model = 'bonesHead' 397 t.torso_model = 'bonesTorso' 398 t.pelvis_model = 'bonesPelvis' 399 t.upper_arm_model = 'bonesUpperArm' 400 t.forearm_model = 'bonesForeArm' 401 t.hand_model = 'bonesHand' 402 t.upper_leg_model = 'bonesUpperLeg' 403 t.lower_leg_model = 'bonesLowerLeg' 404 t.toes_model = 'bonesToes' 405 bones_sounds = ['bones1', 'bones2', 'bones3'] 406 bones_hit_sounds = ['bones1', 'bones2', 'bones3'] 407 t.attack_sounds = bones_sounds 408 t.jump_sounds = bones_sounds 409 t.impact_sounds = bones_hit_sounds 410 t.death_sounds = ['bonesDeath'] 411 t.pickup_sounds = bones_sounds 412 t.fall_sounds = ['bonesFall'] 413 t.style = 'bones' 414 415 # Bear ################################### 416 t = Appearance('Bernard') 417 t.color_texture = 'bearColor' 418 t.color_mask_texture = 'bearColorMask' 419 t.default_color = (0.7, 0.5, 0.0) 420 t.icon_texture = 'bearIcon' 421 t.icon_mask_texture = 'bearIconColorMask' 422 t.head_model = 'bearHead' 423 t.torso_model = 'bearTorso' 424 t.pelvis_model = 'bearPelvis' 425 t.upper_arm_model = 'bearUpperArm' 426 t.forearm_model = 'bearForeArm' 427 t.hand_model = 'bearHand' 428 t.upper_leg_model = 'bearUpperLeg' 429 t.lower_leg_model = 'bearLowerLeg' 430 t.toes_model = 'bearToes' 431 bear_sounds = ['bear1', 'bear2', 'bear3', 'bear4'] 432 bear_hit_sounds = ['bearHit1', 'bearHit2'] 433 t.attack_sounds = bear_sounds 434 t.jump_sounds = bear_sounds 435 t.impact_sounds = bear_hit_sounds 436 t.death_sounds = ['bearDeath'] 437 t.pickup_sounds = bear_sounds 438 t.fall_sounds = ['bearFall'] 439 t.style = 'bear' 440 441 # Penguin ################################### 442 t = Appearance('Pascal') 443 t.color_texture = 'penguinColor' 444 t.color_mask_texture = 'penguinColorMask' 445 t.default_color = (0.3, 0.5, 0.8) 446 t.default_highlight = (1, 0, 0) 447 t.icon_texture = 'penguinIcon' 448 t.icon_mask_texture = 'penguinIconColorMask' 449 t.head_model = 'penguinHead' 450 t.torso_model = 'penguinTorso' 451 t.pelvis_model = 'penguinPelvis' 452 t.upper_arm_model = 'penguinUpperArm' 453 t.forearm_model = 'penguinForeArm' 454 t.hand_model = 'penguinHand' 455 t.upper_leg_model = 'penguinUpperLeg' 456 t.lower_leg_model = 'penguinLowerLeg' 457 t.toes_model = 'penguinToes' 458 penguin_sounds = ['penguin1', 'penguin2', 'penguin3', 'penguin4'] 459 penguin_hit_sounds = ['penguinHit1', 'penguinHit2'] 460 t.attack_sounds = penguin_sounds 461 t.jump_sounds = penguin_sounds 462 t.impact_sounds = penguin_hit_sounds 463 t.death_sounds = ['penguinDeath'] 464 t.pickup_sounds = penguin_sounds 465 t.fall_sounds = ['penguinFall'] 466 t.style = 'penguin' 467 468 # Ali ################################### 469 t = Appearance('Taobao Mascot') 470 t.color_texture = 'aliColor' 471 t.color_mask_texture = 'aliColorMask' 472 t.default_color = (1, 0.5, 0) 473 t.default_highlight = (1, 1, 1) 474 t.icon_texture = 'aliIcon' 475 t.icon_mask_texture = 'aliIconColorMask' 476 t.head_model = 'aliHead' 477 t.torso_model = 'aliTorso' 478 t.pelvis_model = 'aliPelvis' 479 t.upper_arm_model = 'aliUpperArm' 480 t.forearm_model = 'aliForeArm' 481 t.hand_model = 'aliHand' 482 t.upper_leg_model = 'aliUpperLeg' 483 t.lower_leg_model = 'aliLowerLeg' 484 t.toes_model = 'aliToes' 485 ali_sounds = ['ali1', 'ali2', 'ali3', 'ali4'] 486 ali_hit_sounds = ['aliHit1', 'aliHit2'] 487 t.attack_sounds = ali_sounds 488 t.jump_sounds = ali_sounds 489 t.impact_sounds = ali_hit_sounds 490 t.death_sounds = ['aliDeath'] 491 t.pickup_sounds = ali_sounds 492 t.fall_sounds = ['aliFall'] 493 t.style = 'ali' 494 495 # cyborg ################################### 496 t = Appearance('B-9000') 497 t.color_texture = 'cyborgColor' 498 t.color_mask_texture = 'cyborgColorMask' 499 t.default_color = (0.5, 0.5, 0.5) 500 t.default_highlight = (1, 0, 0) 501 t.icon_texture = 'cyborgIcon' 502 t.icon_mask_texture = 'cyborgIconColorMask' 503 t.head_model = 'cyborgHead' 504 t.torso_model = 'cyborgTorso' 505 t.pelvis_model = 'cyborgPelvis' 506 t.upper_arm_model = 'cyborgUpperArm' 507 t.forearm_model = 'cyborgForeArm' 508 t.hand_model = 'cyborgHand' 509 t.upper_leg_model = 'cyborgUpperLeg' 510 t.lower_leg_model = 'cyborgLowerLeg' 511 t.toes_model = 'cyborgToes' 512 cyborg_sounds = ['cyborg1', 'cyborg2', 'cyborg3', 'cyborg4'] 513 cyborg_hit_sounds = ['cyborgHit1', 'cyborgHit2'] 514 t.attack_sounds = cyborg_sounds 515 t.jump_sounds = cyborg_sounds 516 t.impact_sounds = cyborg_hit_sounds 517 t.death_sounds = ['cyborgDeath'] 518 t.pickup_sounds = cyborg_sounds 519 t.fall_sounds = ['cyborgFall'] 520 t.style = 'cyborg' 521 522 # Agent ################################### 523 t = Appearance('Agent Johnson') 524 t.color_texture = 'agentColor' 525 t.color_mask_texture = 'agentColorMask' 526 t.default_color = (0.3, 0.3, 0.33) 527 t.default_highlight = (1, 0.5, 0.3) 528 t.icon_texture = 'agentIcon' 529 t.icon_mask_texture = 'agentIconColorMask' 530 t.head_model = 'agentHead' 531 t.torso_model = 'agentTorso' 532 t.pelvis_model = 'agentPelvis' 533 t.upper_arm_model = 'agentUpperArm' 534 t.forearm_model = 'agentForeArm' 535 t.hand_model = 'agentHand' 536 t.upper_leg_model = 'agentUpperLeg' 537 t.lower_leg_model = 'agentLowerLeg' 538 t.toes_model = 'agentToes' 539 agent_sounds = ['agent1', 'agent2', 'agent3', 'agent4'] 540 agent_hit_sounds = ['agentHit1', 'agentHit2'] 541 t.attack_sounds = agent_sounds 542 t.jump_sounds = agent_sounds 543 t.impact_sounds = agent_hit_sounds 544 t.death_sounds = ['agentDeath'] 545 t.pickup_sounds = agent_sounds 546 t.fall_sounds = ['agentFall'] 547 t.style = 'agent' 548 549 # Jumpsuit ################################### 550 t = Appearance('Lee') 551 t.color_texture = 'jumpsuitColor' 552 t.color_mask_texture = 'jumpsuitColorMask' 553 t.default_color = (0.3, 0.5, 0.8) 554 t.default_highlight = (1, 0, 0) 555 t.icon_texture = 'jumpsuitIcon' 556 t.icon_mask_texture = 'jumpsuitIconColorMask' 557 t.head_model = 'jumpsuitHead' 558 t.torso_model = 'jumpsuitTorso' 559 t.pelvis_model = 'jumpsuitPelvis' 560 t.upper_arm_model = 'jumpsuitUpperArm' 561 t.forearm_model = 'jumpsuitForeArm' 562 t.hand_model = 'jumpsuitHand' 563 t.upper_leg_model = 'jumpsuitUpperLeg' 564 t.lower_leg_model = 'jumpsuitLowerLeg' 565 t.toes_model = 'jumpsuitToes' 566 jumpsuit_sounds = ['jumpsuit1', 'jumpsuit2', 'jumpsuit3', 'jumpsuit4'] 567 jumpsuit_hit_sounds = ['jumpsuitHit1', 'jumpsuitHit2'] 568 t.attack_sounds = jumpsuit_sounds 569 t.jump_sounds = jumpsuit_sounds 570 t.impact_sounds = jumpsuit_hit_sounds 571 t.death_sounds = ['jumpsuitDeath'] 572 t.pickup_sounds = jumpsuit_sounds 573 t.fall_sounds = ['jumpsuitFall'] 574 t.style = 'spaz' 575 576 # ActionHero ################################### 577 t = Appearance('Todd McBurton') 578 t.color_texture = 'actionHeroColor' 579 t.color_mask_texture = 'actionHeroColorMask' 580 t.default_color = (0.3, 0.5, 0.8) 581 t.default_highlight = (1, 0, 0) 582 t.icon_texture = 'actionHeroIcon' 583 t.icon_mask_texture = 'actionHeroIconColorMask' 584 t.head_model = 'actionHeroHead' 585 t.torso_model = 'actionHeroTorso' 586 t.pelvis_model = 'actionHeroPelvis' 587 t.upper_arm_model = 'actionHeroUpperArm' 588 t.forearm_model = 'actionHeroForeArm' 589 t.hand_model = 'actionHeroHand' 590 t.upper_leg_model = 'actionHeroUpperLeg' 591 t.lower_leg_model = 'actionHeroLowerLeg' 592 t.toes_model = 'actionHeroToes' 593 action_hero_sounds = [ 594 'actionHero1', 595 'actionHero2', 596 'actionHero3', 597 'actionHero4', 598 ] 599 action_hero_hit_sounds = ['actionHeroHit1', 'actionHeroHit2'] 600 t.attack_sounds = action_hero_sounds 601 t.jump_sounds = action_hero_sounds 602 t.impact_sounds = action_hero_hit_sounds 603 t.death_sounds = ['actionHeroDeath'] 604 t.pickup_sounds = action_hero_sounds 605 t.fall_sounds = ['actionHeroFall'] 606 t.style = 'spaz' 607 608 # Assassin ################################### 609 t = Appearance('Zola') 610 t.color_texture = 'assassinColor' 611 t.color_mask_texture = 'assassinColorMask' 612 t.default_color = (0.3, 0.5, 0.8) 613 t.default_highlight = (1, 0, 0) 614 t.icon_texture = 'assassinIcon' 615 t.icon_mask_texture = 'assassinIconColorMask' 616 t.head_model = 'assassinHead' 617 t.torso_model = 'assassinTorso' 618 t.pelvis_model = 'assassinPelvis' 619 t.upper_arm_model = 'assassinUpperArm' 620 t.forearm_model = 'assassinForeArm' 621 t.hand_model = 'assassinHand' 622 t.upper_leg_model = 'assassinUpperLeg' 623 t.lower_leg_model = 'assassinLowerLeg' 624 t.toes_model = 'assassinToes' 625 assassin_sounds = ['assassin1', 'assassin2', 'assassin3', 'assassin4'] 626 assassin_hit_sounds = ['assassinHit1', 'assassinHit2'] 627 t.attack_sounds = assassin_sounds 628 t.jump_sounds = assassin_sounds 629 t.impact_sounds = assassin_hit_sounds 630 t.death_sounds = ['assassinDeath'] 631 t.pickup_sounds = assassin_sounds 632 t.fall_sounds = ['assassinFall'] 633 t.style = 'spaz' 634 635 # Wizard ################################### 636 t = Appearance('Grumbledorf') 637 t.color_texture = 'wizardColor' 638 t.color_mask_texture = 'wizardColorMask' 639 t.default_color = (0.2, 0.4, 1.0) 640 t.default_highlight = (0.06, 0.15, 0.4) 641 t.icon_texture = 'wizardIcon' 642 t.icon_mask_texture = 'wizardIconColorMask' 643 t.head_model = 'wizardHead' 644 t.torso_model = 'wizardTorso' 645 t.pelvis_model = 'wizardPelvis' 646 t.upper_arm_model = 'wizardUpperArm' 647 t.forearm_model = 'wizardForeArm' 648 t.hand_model = 'wizardHand' 649 t.upper_leg_model = 'wizardUpperLeg' 650 t.lower_leg_model = 'wizardLowerLeg' 651 t.toes_model = 'wizardToes' 652 wizard_sounds = ['wizard1', 'wizard2', 'wizard3', 'wizard4'] 653 wizard_hit_sounds = ['wizardHit1', 'wizardHit2'] 654 t.attack_sounds = wizard_sounds 655 t.jump_sounds = wizard_sounds 656 t.impact_sounds = wizard_hit_sounds 657 t.death_sounds = ['wizardDeath'] 658 t.pickup_sounds = wizard_sounds 659 t.fall_sounds = ['wizardFall'] 660 t.style = 'spaz' 661 662 # Cowboy ################################### 663 t = Appearance('Butch') 664 t.color_texture = 'cowboyColor' 665 t.color_mask_texture = 'cowboyColorMask' 666 t.default_color = (0.3, 0.5, 0.8) 667 t.default_highlight = (1, 0, 0) 668 t.icon_texture = 'cowboyIcon' 669 t.icon_mask_texture = 'cowboyIconColorMask' 670 t.head_model = 'cowboyHead' 671 t.torso_model = 'cowboyTorso' 672 t.pelvis_model = 'cowboyPelvis' 673 t.upper_arm_model = 'cowboyUpperArm' 674 t.forearm_model = 'cowboyForeArm' 675 t.hand_model = 'cowboyHand' 676 t.upper_leg_model = 'cowboyUpperLeg' 677 t.lower_leg_model = 'cowboyLowerLeg' 678 t.toes_model = 'cowboyToes' 679 cowboy_sounds = ['cowboy1', 'cowboy2', 'cowboy3', 'cowboy4'] 680 cowboy_hit_sounds = ['cowboyHit1', 'cowboyHit2'] 681 t.attack_sounds = cowboy_sounds 682 t.jump_sounds = cowboy_sounds 683 t.impact_sounds = cowboy_hit_sounds 684 t.death_sounds = ['cowboyDeath'] 685 t.pickup_sounds = cowboy_sounds 686 t.fall_sounds = ['cowboyFall'] 687 t.style = 'spaz' 688 689 # Witch ################################### 690 t = Appearance('Witch') 691 t.color_texture = 'witchColor' 692 t.color_mask_texture = 'witchColorMask' 693 t.default_color = (0.3, 0.5, 0.8) 694 t.default_highlight = (1, 0, 0) 695 t.icon_texture = 'witchIcon' 696 t.icon_mask_texture = 'witchIconColorMask' 697 t.head_model = 'witchHead' 698 t.torso_model = 'witchTorso' 699 t.pelvis_model = 'witchPelvis' 700 t.upper_arm_model = 'witchUpperArm' 701 t.forearm_model = 'witchForeArm' 702 t.hand_model = 'witchHand' 703 t.upper_leg_model = 'witchUpperLeg' 704 t.lower_leg_model = 'witchLowerLeg' 705 t.toes_model = 'witchToes' 706 witch_sounds = ['witch1', 'witch2', 'witch3', 'witch4'] 707 witch_hit_sounds = ['witchHit1', 'witchHit2'] 708 t.attack_sounds = witch_sounds 709 t.jump_sounds = witch_sounds 710 t.impact_sounds = witch_hit_sounds 711 t.death_sounds = ['witchDeath'] 712 t.pickup_sounds = witch_sounds 713 t.fall_sounds = ['witchFall'] 714 t.style = 'spaz' 715 716 # Warrior ################################### 717 t = Appearance('Warrior') 718 t.color_texture = 'warriorColor' 719 t.color_mask_texture = 'warriorColorMask' 720 t.default_color = (0.3, 0.5, 0.8) 721 t.default_highlight = (1, 0, 0) 722 t.icon_texture = 'warriorIcon' 723 t.icon_mask_texture = 'warriorIconColorMask' 724 t.head_model = 'warriorHead' 725 t.torso_model = 'warriorTorso' 726 t.pelvis_model = 'warriorPelvis' 727 t.upper_arm_model = 'warriorUpperArm' 728 t.forearm_model = 'warriorForeArm' 729 t.hand_model = 'warriorHand' 730 t.upper_leg_model = 'warriorUpperLeg' 731 t.lower_leg_model = 'warriorLowerLeg' 732 t.toes_model = 'warriorToes' 733 warrior_sounds = ['warrior1', 'warrior2', 'warrior3', 'warrior4'] 734 warrior_hit_sounds = ['warriorHit1', 'warriorHit2'] 735 t.attack_sounds = warrior_sounds 736 t.jump_sounds = warrior_sounds 737 t.impact_sounds = warrior_hit_sounds 738 t.death_sounds = ['warriorDeath'] 739 t.pickup_sounds = warrior_sounds 740 t.fall_sounds = ['warriorFall'] 741 t.style = 'spaz' 742 743 # Superhero ################################### 744 t = Appearance('Middle-Man') 745 t.color_texture = 'superheroColor' 746 t.color_mask_texture = 'superheroColorMask' 747 t.default_color = (0.3, 0.5, 0.8) 748 t.default_highlight = (1, 0, 0) 749 t.icon_texture = 'superheroIcon' 750 t.icon_mask_texture = 'superheroIconColorMask' 751 t.head_model = 'superheroHead' 752 t.torso_model = 'superheroTorso' 753 t.pelvis_model = 'superheroPelvis' 754 t.upper_arm_model = 'superheroUpperArm' 755 t.forearm_model = 'superheroForeArm' 756 t.hand_model = 'superheroHand' 757 t.upper_leg_model = 'superheroUpperLeg' 758 t.lower_leg_model = 'superheroLowerLeg' 759 t.toes_model = 'superheroToes' 760 superhero_sounds = ['superhero1', 'superhero2', 'superhero3', 'superhero4'] 761 superhero_hit_sounds = ['superheroHit1', 'superheroHit2'] 762 t.attack_sounds = superhero_sounds 763 t.jump_sounds = superhero_sounds 764 t.impact_sounds = superhero_hit_sounds 765 t.death_sounds = ['superheroDeath'] 766 t.pickup_sounds = superhero_sounds 767 t.fall_sounds = ['superheroFall'] 768 t.style = 'spaz' 769 770 # Alien ################################### 771 t = Appearance('Alien') 772 t.color_texture = 'alienColor' 773 t.color_mask_texture = 'alienColorMask' 774 t.default_color = (0.3, 0.5, 0.8) 775 t.default_highlight = (1, 0, 0) 776 t.icon_texture = 'alienIcon' 777 t.icon_mask_texture = 'alienIconColorMask' 778 t.head_model = 'alienHead' 779 t.torso_model = 'alienTorso' 780 t.pelvis_model = 'alienPelvis' 781 t.upper_arm_model = 'alienUpperArm' 782 t.forearm_model = 'alienForeArm' 783 t.hand_model = 'alienHand' 784 t.upper_leg_model = 'alienUpperLeg' 785 t.lower_leg_model = 'alienLowerLeg' 786 t.toes_model = 'alienToes' 787 alien_sounds = ['alien1', 'alien2', 'alien3', 'alien4'] 788 alien_hit_sounds = ['alienHit1', 'alienHit2'] 789 t.attack_sounds = alien_sounds 790 t.jump_sounds = alien_sounds 791 t.impact_sounds = alien_hit_sounds 792 t.death_sounds = ['alienDeath'] 793 t.pickup_sounds = alien_sounds 794 t.fall_sounds = ['alienFall'] 795 t.style = 'spaz' 796 797 # OldLady ################################### 798 t = Appearance('OldLady') 799 t.color_texture = 'oldLadyColor' 800 t.color_mask_texture = 'oldLadyColorMask' 801 t.default_color = (0.3, 0.5, 0.8) 802 t.default_highlight = (1, 0, 0) 803 t.icon_texture = 'oldLadyIcon' 804 t.icon_mask_texture = 'oldLadyIconColorMask' 805 t.head_model = 'oldLadyHead' 806 t.torso_model = 'oldLadyTorso' 807 t.pelvis_model = 'oldLadyPelvis' 808 t.upper_arm_model = 'oldLadyUpperArm' 809 t.forearm_model = 'oldLadyForeArm' 810 t.hand_model = 'oldLadyHand' 811 t.upper_leg_model = 'oldLadyUpperLeg' 812 t.lower_leg_model = 'oldLadyLowerLeg' 813 t.toes_model = 'oldLadyToes' 814 old_lady_sounds = ['oldLady1', 'oldLady2', 'oldLady3', 'oldLady4'] 815 old_lady_hit_sounds = ['oldLadyHit1', 'oldLadyHit2'] 816 t.attack_sounds = old_lady_sounds 817 t.jump_sounds = old_lady_sounds 818 t.impact_sounds = old_lady_hit_sounds 819 t.death_sounds = ['oldLadyDeath'] 820 t.pickup_sounds = old_lady_sounds 821 t.fall_sounds = ['oldLadyFall'] 822 t.style = 'spaz' 823 824 # Gladiator ################################### 825 t = Appearance('Gladiator') 826 t.color_texture = 'gladiatorColor' 827 t.color_mask_texture = 'gladiatorColorMask' 828 t.default_color = (0.3, 0.5, 0.8) 829 t.default_highlight = (1, 0, 0) 830 t.icon_texture = 'gladiatorIcon' 831 t.icon_mask_texture = 'gladiatorIconColorMask' 832 t.head_model = 'gladiatorHead' 833 t.torso_model = 'gladiatorTorso' 834 t.pelvis_model = 'gladiatorPelvis' 835 t.upper_arm_model = 'gladiatorUpperArm' 836 t.forearm_model = 'gladiatorForeArm' 837 t.hand_model = 'gladiatorHand' 838 t.upper_leg_model = 'gladiatorUpperLeg' 839 t.lower_leg_model = 'gladiatorLowerLeg' 840 t.toes_model = 'gladiatorToes' 841 gladiator_sounds = ['gladiator1', 'gladiator2', 'gladiator3', 'gladiator4'] 842 gladiator_hit_sounds = ['gladiatorHit1', 'gladiatorHit2'] 843 t.attack_sounds = gladiator_sounds 844 t.jump_sounds = gladiator_sounds 845 t.impact_sounds = gladiator_hit_sounds 846 t.death_sounds = ['gladiatorDeath'] 847 t.pickup_sounds = gladiator_sounds 848 t.fall_sounds = ['gladiatorFall'] 849 t.style = 'spaz' 850 851 # Wrestler ################################### 852 t = Appearance('Wrestler') 853 t.color_texture = 'wrestlerColor' 854 t.color_mask_texture = 'wrestlerColorMask' 855 t.default_color = (0.3, 0.5, 0.8) 856 t.default_highlight = (1, 0, 0) 857 t.icon_texture = 'wrestlerIcon' 858 t.icon_mask_texture = 'wrestlerIconColorMask' 859 t.head_model = 'wrestlerHead' 860 t.torso_model = 'wrestlerTorso' 861 t.pelvis_model = 'wrestlerPelvis' 862 t.upper_arm_model = 'wrestlerUpperArm' 863 t.forearm_model = 'wrestlerForeArm' 864 t.hand_model = 'wrestlerHand' 865 t.upper_leg_model = 'wrestlerUpperLeg' 866 t.lower_leg_model = 'wrestlerLowerLeg' 867 t.toes_model = 'wrestlerToes' 868 wrestler_sounds = ['wrestler1', 'wrestler2', 'wrestler3', 'wrestler4'] 869 wrestler_hit_sounds = ['wrestlerHit1', 'wrestlerHit2'] 870 t.attack_sounds = wrestler_sounds 871 t.jump_sounds = wrestler_sounds 872 t.impact_sounds = wrestler_hit_sounds 873 t.death_sounds = ['wrestlerDeath'] 874 t.pickup_sounds = wrestler_sounds 875 t.fall_sounds = ['wrestlerFall'] 876 t.style = 'spaz' 877 878 # OperaSinger ################################### 879 t = Appearance('Gretel') 880 t.color_texture = 'operaSingerColor' 881 t.color_mask_texture = 'operaSingerColorMask' 882 t.default_color = (0.3, 0.5, 0.8) 883 t.default_highlight = (1, 0, 0) 884 t.icon_texture = 'operaSingerIcon' 885 t.icon_mask_texture = 'operaSingerIconColorMask' 886 t.head_model = 'operaSingerHead' 887 t.torso_model = 'operaSingerTorso' 888 t.pelvis_model = 'operaSingerPelvis' 889 t.upper_arm_model = 'operaSingerUpperArm' 890 t.forearm_model = 'operaSingerForeArm' 891 t.hand_model = 'operaSingerHand' 892 t.upper_leg_model = 'operaSingerUpperLeg' 893 t.lower_leg_model = 'operaSingerLowerLeg' 894 t.toes_model = 'operaSingerToes' 895 opera_singer_sounds = [ 896 'operaSinger1', 897 'operaSinger2', 898 'operaSinger3', 899 'operaSinger4', 900 ] 901 opera_singer_hit_sounds = ['operaSingerHit1', 'operaSingerHit2'] 902 t.attack_sounds = opera_singer_sounds 903 t.jump_sounds = opera_singer_sounds 904 t.impact_sounds = opera_singer_hit_sounds 905 t.death_sounds = ['operaSingerDeath'] 906 t.pickup_sounds = opera_singer_sounds 907 t.fall_sounds = ['operaSingerFall'] 908 t.style = 'spaz' 909 910 # Pixie ################################### 911 t = Appearance('Pixel') 912 t.color_texture = 'pixieColor' 913 t.color_mask_texture = 'pixieColorMask' 914 t.default_color = (0, 1, 0.7) 915 t.default_highlight = (0.65, 0.35, 0.75) 916 t.icon_texture = 'pixieIcon' 917 t.icon_mask_texture = 'pixieIconColorMask' 918 t.head_model = 'pixieHead' 919 t.torso_model = 'pixieTorso' 920 t.pelvis_model = 'pixiePelvis' 921 t.upper_arm_model = 'pixieUpperArm' 922 t.forearm_model = 'pixieForeArm' 923 t.hand_model = 'pixieHand' 924 t.upper_leg_model = 'pixieUpperLeg' 925 t.lower_leg_model = 'pixieLowerLeg' 926 t.toes_model = 'pixieToes' 927 pixie_sounds = ['pixie1', 'pixie2', 'pixie3', 'pixie4'] 928 pixie_hit_sounds = ['pixieHit1', 'pixieHit2'] 929 t.attack_sounds = pixie_sounds 930 t.jump_sounds = pixie_sounds 931 t.impact_sounds = pixie_hit_sounds 932 t.death_sounds = ['pixieDeath'] 933 t.pickup_sounds = pixie_sounds 934 t.fall_sounds = ['pixieFall'] 935 t.style = 'pixie' 936 937 # Robot ################################### 938 t = Appearance('Robot') 939 t.color_texture = 'robotColor' 940 t.color_mask_texture = 'robotColorMask' 941 t.default_color = (0.3, 0.5, 0.8) 942 t.default_highlight = (1, 0, 0) 943 t.icon_texture = 'robotIcon' 944 t.icon_mask_texture = 'robotIconColorMask' 945 t.head_model = 'robotHead' 946 t.torso_model = 'robotTorso' 947 t.pelvis_model = 'robotPelvis' 948 t.upper_arm_model = 'robotUpperArm' 949 t.forearm_model = 'robotForeArm' 950 t.hand_model = 'robotHand' 951 t.upper_leg_model = 'robotUpperLeg' 952 t.lower_leg_model = 'robotLowerLeg' 953 t.toes_model = 'robotToes' 954 robot_sounds = ['robot1', 'robot2', 'robot3', 'robot4'] 955 robot_hit_sounds = ['robotHit1', 'robotHit2'] 956 t.attack_sounds = robot_sounds 957 t.jump_sounds = robot_sounds 958 t.impact_sounds = robot_hit_sounds 959 t.death_sounds = ['robotDeath'] 960 t.pickup_sounds = robot_sounds 961 t.fall_sounds = ['robotFall'] 962 t.style = 'spaz' 963 964 # Bunny ################################### 965 t = Appearance('Easter Bunny') 966 t.color_texture = 'bunnyColor' 967 t.color_mask_texture = 'bunnyColorMask' 968 t.default_color = (1, 1, 1) 969 t.default_highlight = (1, 0.5, 0.5) 970 t.icon_texture = 'bunnyIcon' 971 t.icon_mask_texture = 'bunnyIconColorMask' 972 t.head_model = 'bunnyHead' 973 t.torso_model = 'bunnyTorso' 974 t.pelvis_model = 'bunnyPelvis' 975 t.upper_arm_model = 'bunnyUpperArm' 976 t.forearm_model = 'bunnyForeArm' 977 t.hand_model = 'bunnyHand' 978 t.upper_leg_model = 'bunnyUpperLeg' 979 t.lower_leg_model = 'bunnyLowerLeg' 980 t.toes_model = 'bunnyToes' 981 bunny_sounds = ['bunny1', 'bunny2', 'bunny3', 'bunny4'] 982 bunny_hit_sounds = ['bunnyHit1', 'bunnyHit2'] 983 t.attack_sounds = bunny_sounds 984 t.jump_sounds = ['bunnyJump'] 985 t.impact_sounds = bunny_hit_sounds 986 t.death_sounds = ['bunnyDeath'] 987 t.pickup_sounds = bunny_sounds 988 t.fall_sounds = ['bunnyFall'] 989 t.style = 'bunny'
Register our builtin spaz appearances.