MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / makeMonsterCallbacks

Method makeMonsterCallbacks

source/game/StarMonster.cpp:556–678  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

554}
555
556LuaCallbacks Monster::makeMonsterCallbacks() {
557 LuaCallbacks callbacks;
558
559 callbacks.registerCallback("type", [this]() {
560 return m_monsterVariant.type;
561 });
562
563 callbacks.registerCallback("seed", [this]() {
564 return toString(m_monsterVariant.seed);
565 });
566
567 callbacks.registerCallback("uniqueParameters", [this]() {
568 return m_monsterVariant.uniqueParameters;
569 });
570
571 callbacks.registerCallback("level", [this]() {
572 return *m_monsterLevel;
573 });
574
575 callbacks.registerCallback("setDamageOnTouch", [this](bool arg1) {
576 m_damageOnTouch = arg1;
577 });
578
579 callbacks.registerCallback("setDamageSources", [this](Maybe<JsonArray> const& damageSources) {
580 m_damageSources.set(damageSources.value().transformed(construct<DamageSource>()));
581 });
582
583 callbacks.registerCallback("setDamageParts", [this](StringSet const& parts) {
584 m_animationDamageParts.set(parts);
585 });
586
587 callbacks.registerCallback("setAggressive", [this](bool arg1) {
588 m_aggressive = arg1;
589 });
590
591 callbacks.registerCallback("setActiveSkillName", [this](Maybe<String> const& activeSkillName) {
592 m_activeSkillName = activeSkillName.value();
593 });
594
595 callbacks.registerCallback("setDropPool", [this](Json dropPool) {
596 m_dropPool = std::move(dropPool);
597 });
598
599 callbacks.registerCallback("toAbsolutePosition", [this](Vec2F const& p) {
600 return getAbsolutePosition(p);
601 });
602
603 callbacks.registerCallback("mouthPosition", [this]() {
604 return mouthPosition();
605 });
606
607 // This callback is registered here rather than in
608 // makeActorMovementControllerCallbacks
609 // because it requires access to world
610 callbacks.registerCallback("flyTo", [this](Vec2F const& arg1) {
611 m_movementController->controlFly(world()->geometry().diff(arg1, position()));
612 });
613

Callers

nothing calls this directly

Calls 11

toStringFunction · 0.85
EntityDamageTeamClass · 0.85
controlFlyMethod · 0.80
registerCallbackMethod · 0.45
setMethod · 0.45
transformedMethod · 0.45
valueMethod · 0.45
diffMethod · 0.45
geometryMethod · 0.45
replaceTagsMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected