Skip to content

[lua, c++] WoTG 37 + 46 - Spitewarden Mimicry#9530

Merged
Xaver-DaRed merged 1 commit into
LandSandBoat:basefrom
Aeshur:fourth_spitewarden_cs
Feb 25, 2026
Merged

[lua, c++] WoTG 37 + 46 - Spitewarden Mimicry#9530
Xaver-DaRed merged 1 commit into
LandSandBoat:basefrom
Aeshur:fourth_spitewarden_cs

Conversation

@Aeshur
Copy link
Copy Markdown
Contributor

@Aeshur Aeshur commented Feb 25, 2026

I affirm:

  • I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
  • I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
  • I have read and understood the Contributing Guide and the Code of Conduct.
  • I have tested my code and the things my code has changed since the last commit in the PR and will test after any later commits.

What does this pull request do?

Corrects model for the Fourth Spitewarden to mimicry the player's face and currently equipped gear (excluding legs/feet as those are unique to the model) in the cutscenes for missions 37 and 46. I Included a setLookfromPlayer function as well that can later be used for the battlefield mimicry function when entering WoTG 46 BCNM, but I could always remove it on request.

Steps to test these changes

!zone 156
!addmission 5 36
!cs 10

!zone 182
!addmission 5 45
!cs 1

image

@Aeshur Aeshur force-pushed the fourth_spitewarden_cs branch 2 times, most recently from b3dfabb to 0c7e4b2 Compare February 25, 2026 07:30
Comment thread src/map/lua/lua_baseentity.cpp Outdated
* Purpose : Copies a player's equipped appearance onto a mob
* Example : mob:setLookFromPlayer(player)
* Note : Preserves the mob's own legs/feet and copies model size
************************************************************************/
Copy link
Copy Markdown
Contributor

@Xaver-DaRed Xaver-DaRed Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the use-case of this function right now?

I'd rather itd be introduced when needed instead of "in advance"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For future battlefield implementation of WoTG 46

https://ffxiclopedia.fandom.com/wiki/When_Wills_Collide

image

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can be introduced with that quest, if needed.
No issues with the function in itself, but, introducing functions that arent used has brought us problems in the past.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fyi this binding could be expanded instead of making a new one.

/************************************************************************
 *  Function: setLook()
 *  Purpose : Updates the look of an equipped NPC
 *  Example : npc:setLook({ race = xi.race.HUME_M, face = 1 })
 *  Note    : Only for equipped NPCs that dynamically change their race/face
 ************************************************************************/
void CLuaBaseEntity::setLook(const sol::table& look)
{
    if (auto* PNpc = dynamic_cast<CNpcEntity*>(m_PBaseEntity))
    {
        PNpc->look.size = MODEL_EQUIPPED;
        PNpc->look.face = look.get_or<uint32>("face", 0);
        PNpc->look.race = look.get_or<uint32>("race", 0);
        return;
    }

    ShowWarning("Invalid entity type calling function (%s).", m_PBaseEntity->getName());
}

@Aeshur Aeshur force-pushed the fourth_spitewarden_cs branch from 0c7e4b2 to 46a597d Compare February 25, 2026 08:03
@Xaver-DaRed Xaver-DaRed merged commit a749c1d into LandSandBoat:base Feb 25, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants