Skip to content

Add support for experimental flag#6304

Draft
zach2good wants to merge 3 commits intobasefrom
experimental_flag
Draft

Add support for experimental flag#6304
zach2good wants to merge 3 commits intobasefrom
experimental_flag

Conversation

@zach2good
Copy link
Copy Markdown
Contributor

@zach2good zach2good commented Oct 2, 2024

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?

As seen in the AV commit:

---@type TMobEntity
local entity = {}

entity.experimental = true

entity.onMobSpawn = function(mob)
    ...

This allows us to mark an entity as experimental at the engine level. We'll use this to hook in messaging, remove loot drops, make fights unwinnable, etc.

The goal is to start allowing partial implementations of things into the codebase while providing an intrusive and player-facing mechanism to mark them as incomplete.

An experimental mob/npc will:

  • Announce to the log and all players in range that it's experimental and incomplete on spawn/engage/deathtrigger/trade. This message cannot be turned off easily.
  • Not produce any loot/exp/prizes on kill/trigger/trade (settings dependant)
  • Buff itself up to 2-3x its starting level (settings dependent)

TODO:

  • Refactor entity:printToArea() to be usable on mobs, and for the messaging/args around it to be clearer.
  • Add an arbitrary range :printToRange() helper
  • Hook up the relevant settings for experimental loot disable and experimental level buffing

@zach2good zach2good added the hold On hold, pending further action/info label Sep 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hold On hold, pending further action/info

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant