MCPcopy Create free account
hub / github.com/Open-GD/OpenGD / ringJump

Method ringJump

Source/PlayerObject.cpp:416–533  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

414void PlayerObject::setTouchedRing(GameObject* obj) { _touchedRingObject = obj; }
415
416void PlayerObject::ringJump(GameObject* obj)
417{
418 if (_touchedRingObject && _queuedHold && m_bIsHolding)
419 {
420 GameToolbox::log("h ffsiofsfsdofs");
421 _touchedRingObject->triggerActivated(this);
422 m_isRising = true;
423 _queuedHold = false;
424 setIsOnGround(false);
425
426 double newYVel = m_dJumpHeight;
427
428 switch (obj->getGameObjectType())
429 {
430 case kGameObjectTypeDropRing:
431 switch (_currentGamemode)
432 {
433 case PlayerGamemodeUFO:
434 newYVel = -11.2 * flipMod();
435 break;
436 case PlayerGamemodeShip:
437 case PlayerGamemodeWave:
438 newYVel = -14 * flipMod();
439 break;
440 case PlayerGamemodeSpider:
441 newYVel = -16.5 * flipMod();
442 break;
443 default:
444 newYVel = -15 * flipMod();
445 break;
446 }
447 m_dYVel = newYVel;
448 activateStreak();
449 if (_currentGamemode == PlayerGamemodeBall) m_bIsHolding = false;
450 _touchedRingObject = nullptr;
451 return;
452 case kGameObjectTypeRedJumpRing:
453 switch (_currentGamemode)
454 {
455 case PlayerGamemodeShip:
456 if (_vehicleSize != 1.0f) newYVel *= 1.4;
457 break;
458 case PlayerGamemodeUFO:
459 if (_vehicleSize == 1.0f)
460 newYVel *= 1.02;
461 else
462 newYVel *= 1.36;
463 break;
464 case PlayerGamemodeSpider:
465 case PlayerGamemodeBall:
466 newYVel *= 1.34;
467 break;
468 case PlayerGamemodeRobot:
469 newYVel *= 1.28;
470 break;
471 default:
472 newYVel *= 1.38;
473 break;

Callers 1

checkCollisionsMethod · 0.80

Calls 3

logFunction · 0.85
getGameObjectTypeMethod · 0.80
triggerActivatedMethod · 0.45

Tested by

no test coverage detected