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