MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / SetSuper

Method SetSuper

scripts/aigame4.cpp:451–527  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

449}
450
451void MercEndBoss::SetSuper(int obj, bool f_super) {
452 int me = obj;
453 memory->f_sub_super = f_super;
454
455 if (memory->mode == MERCENDBOSS_MATTER) {
456 if (f_super) {
457 Obj_SetCustomAnim(memory->turret_object, 0.0f, 5.0f, 0.5f, AIAF_LOOPING, Sound_FindId("MercFBWinding"), AS_ALERT);
458
459 int flags = AIF_FIRE;
460 AI_Value(me, VF_CLEAR_FLAGS, AIV_I_FLAGS, &flags);
461 AI_Value(memory->turret_object, VF_SET_FLAGS, AIV_I_FLAGS, &flags);
462
463 // flags = DWBF_ENABLED;
464 // Obj_WBValue(me, 0, VF_CLEAR_FLAGS, WBV_I_DYNAMIC_FLAGS, &flags);
465 // Obj_WBValue(me, 4, VF_CLEAR_FLAGS, WBV_I_DYNAMIC_FLAGS, &flags);
466 } else {
467 Obj_SetCustomAnim(memory->turret_object, 0.0f, 0.0f, 0.5f, AIAF_NOTIFY, -1, AS_ALERT);
468
469 int flags = AIF_FIRE;
470 AI_Value(me, VF_SET_FLAGS, AIV_I_FLAGS, &flags);
471 AI_Value(memory->turret_object, VF_CLEAR_FLAGS, AIV_I_FLAGS, &flags);
472
473 // flags = DWBF_ENABLED;
474 // Obj_WBValue(me, 0, VF_SET_FLAGS, WBV_I_DYNAMIC_FLAGS, &flags);
475 // Obj_WBValue(me, 4, VF_SET_FLAGS, WBV_I_DYNAMIC_FLAGS, &flags);
476 }
477 } else if (memory->mode == MERCENDBOSS_ENERGY) {
478 // int flags = DWBF_ENABLED;
479 //
480 // Obj_WBValue(me, 0, VF_CLEAR_FLAGS, WBV_I_DYNAMIC_FLAGS, &flags);
481 // Obj_WBValue(me, 4, VF_CLEAR_FLAGS, WBV_I_DYNAMIC_FLAGS, &flags);
482
483 int flags = AIF_FIRE;
484 AI_Value(me, VF_CLEAR_FLAGS, AIV_I_FLAGS, &flags);
485
486 if (f_super) {
487 aObjGhostSet(0, memory->combine_object);
488 aObjGhostSet(0, memory->emitter[0]);
489 aObjGhostSet(0, memory->emitter[1]);
490
491 Sound_Play3d(me, Sound_FindId("MercFBBeamCanon"));
492
493 aLightningCreate(memory->emitter[0], memory->combine_object, ENERGY_SUPER_TIME, 3.0f, 1,
494 Scrpt_FindTextureName("endbossbeamweapon2"), 1.0f, 1, 255, 255, 255, true);
495 aLightningCreate(memory->emitter[0], memory->combine_object, ENERGY_SUPER_TIME, 2.8f, 1,
496 Scrpt_FindTextureName("endbossbeamweapon2"), 1.95f, 1, 255, 255, 255, true);
497
498 aLightningCreate(memory->emitter[1], memory->combine_object, ENERGY_SUPER_TIME, 3.0f, 1,
499 Scrpt_FindTextureName("endbossbeamweapon2"), 1.0f, 1, 255, 255, 255, true);
500 aLightningCreate(memory->emitter[1], memory->combine_object, ENERGY_SUPER_TIME, 2.8f, 1,
501 Scrpt_FindTextureName("endbossbeamweapon2"), 1.96f, 1, 255, 255, 255, true);
502
503 aLightningCreate(memory->turret_object, memory->combine_object, ENERGY_SUPER_TIME, 3.0f, 1,
504 Scrpt_FindTextureName("endbossbeamweapon2"), 1.0f, 1, 255, 255, 255, true);
505 aLightningCreate(memory->turret_object, memory->combine_object, ENERGY_SUPER_TIME, 2.8f, 1,
506 Scrpt_FindTextureName("endbossbeamweapon2"), 1.96f, 1, 255, 255, 255, true);
507
508 float max_speed = 8500.0f;

Callers

nothing calls this directly

Calls 4

Obj_SetCustomAnimFunction · 0.85
aObjGhostSetFunction · 0.85
Sound_Play3dFunction · 0.85
aLightningCreateFunction · 0.85

Tested by

no test coverage detected