[1.1.5]Marson's Bosses Gone AWOL -NPC Monitor & Clone Killer

A place to post your add ons and ideas for them

Moderator: Moderator

Message
Author
Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

[1.1.5]Marson's Bosses Gone AWOL -NPC Monitor & Clone Killer

#1 Post by Marson »

The addon you hope you never have to use.

If all goes well, you never have to touch it. Behind the scenes, BGA monitors the location of every NPC on the current map level.

• In cheat mode you can use CTRL-B to pull up a list of all NPCs with details about their locations. Cheat mode will stamp your character, but it can be used as a last resort to see if a quest-required boss has gone all-out missing or not.

• If an NPC goes outside the map borders or into the middle of a wall (and it isn't a ghost), BGA will notify you and allow you to relocate the offender to a random free tile somewhere else on the level so that you can reach it. The NPC will not be placed into a vault, but it may be in a secluded room you have to dig to reach. Some levels have rooms behind undiggable walls that aren't marked as vaults. At this point, there isn't much that can be done about those locations beyond using a teleport of some sort.

• If a summons is temporarily removed from the level via Time Skip, it remains in your party. If you leave the level before the summons returns, the connection to the summons is severed and it becomes a not-there party member. If you return to the previous level, the original summons will come back out of Time Skip, but it will now be a separate entity from the one that's in your party. The one on the level will sit there and then decay. The one in your party will not decay and will take up a summons slot from that point on, but will not be on any level you visit. BGA will remove the summons in the party slot if the connection is broken, clearing it for future summons.

• If an NPC spawns and is then killed in the same turn, it can sit on that tile 'dead'. If a creature—including yourself—walks over that tile, a clone will be made, possibly creating an impassable roadblock. Hitting CTRL-C will cycle through all tiles on the level and remove any clones it finds.

• Some rooms will spawn a large group of NPCs. If there are more NPCs than tiles, they will exist 'out of phase'. You can't see or target them and can walk through them as if they didn't exist, but party members may attack the tile they are on. If the NPC has an AOE effect on them, such as an Empire Wright's lighting, it may strike you. You may also hear any sounds associated with the NPC. BGA will 'rephase' the NPC once the square they are on is unoccupied. If the tile and NPC are in sight, you will get the message, '[Name] steps out from hiding.' This may result in an unexpected enemy or two showing up in packed rooms.

• Log will flush after special actions are taken so that cut/paste is available immediately.

• Checks for invalid Dark Fey Clones (StarKeep's Faerie Race addon)
+ Ignores Elemental walls, such as Jadir's Pinpoint Toss (grayswandir's Elemental Race addon)
+ Does not remove escorts from party, just in case.
+ Ignores Dreamscape and Fearscape.

• Compatible with ToME 1.1.5 to 1.2.2

***This addon cannot be used to cheat and will not reveal any details about NPCs under normal play circumstances. If an NPC needs to be relocated, you will be presented with its current location and why the addon determined that there was a problem, but the new location is not revealed.***

http://te4.org/games/addons/tome/marson-awol
Last edited by Marson on Sun Jun 15, 2014 3:13 am, edited 9 times in total.

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: [1.1.5] Marson's Bosses Gone AWOL

#2 Post by Doctornull »

Nice.
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5] Marson's Bosses Gone AWOL

#3 Post by Marson »

Thanks. Just yesterday I had a unique midge swarm in the Ruined Dungeon that I could not see or interact with. My shadows kept targeting this one spot on the floor and I could hear the buzz, but I could walk through it and right-clicking did not give me the "Inspect" option. I checked the x,y coords via debug and it matched with that spot on the floor. Luckily it wasn't one of the orb guardians.

So this addon doesn't solve *that* issue, but I'll see if I can figure out what can be done about it.

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: [1.1.5] Marson's Bosses Gone AWOL

#4 Post by Doctornull »

I've noticed that the Fortress Training Room can generate a training dummy on my position, removing my character from view. When I step off of the tile, my character is visible but the training dummy is gone, and the tile appears empty.

That might be a way to recreate that case for your tests.

Use StarKeep's Infinite Farportal, and stand just north of the green orb.
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5] Marson's Bosses Gone AWOL

#5 Post by Marson »

Nice, thanks!

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5] Marson's Bosses Gone AWOL ??!?

#6 Post by Marson »

+ If a summons is temporarily removed from the level via Time Skip, it remains in your party. If you leave the level before the summons returns, the connection to the summons is severed and it becomes a not-there NPC. If you return to the previous level, the original summons will come back out of Time Skip, but it will now be a separate entity from the one that's in your party. The one on the level will sit there and then decay. The one in your party will not decay and will take up a summons slot from that point on, but will not be on any level you visit. BGA will remove the summons in the party slot if the connection is broken.

StarKeep
Uruivellas
Posts: 703
Joined: Sun Feb 03, 2013 12:29 am
Location: Turtlemire

Re: [1.1.5] Marson's Bosses Gone AWOL ??!?

#7 Post by StarKeep »

Question: Would it be possible for you to add an option to purge the party list?

Your addon is detecting a 'dead' party member of mine, but is trying to relocate it instead of just remove it.

Edit: It correctly removed it upon entering the World Map... for some reason. Unsure why it decided to keep trying to move it before.
<mex> have you heard the good word about archmage?
<mex> I'm here to tell you about your lord and savior shalore archmage
<mex> have you repented your bulwark sins yet?
<mex> cornac shall inherit the Eyal

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5] Marson's Bosses Gone AWOL ??!?

#8 Post by Marson »

If the addon tried to move the party member, it still existed on that level's entity list. Once you changed level, it wasn't moved to that level's list due to being dead, at which point the addon removed it from your party.

I'll add a check for death for at least the relocation code so it won't ask. Some NPCs stay in your party even when dead, like the golem. Removing them from the party may or may not work. If the golem has code that adds them to your party on resurrection, then removing them from the party may be a good indication that they've died offscreen, but only if it can be added back to your party correctly.

Thanks for the feedback.

StarKeep
Uruivellas
Posts: 703
Joined: Sun Feb 03, 2013 12:29 am
Location: Turtlemire

Re: [1.1.5] Marson's Bosses Gone AWOL ??!?

#9 Post by StarKeep »

Marson wrote:If the addon tried to move the party member, it still existed on that level's entity list. Once you changed level, it wasn't moved to that level's list due to being dead, at which point the addon removed it from your party.
Ah, let me give some more information, I feel like a misunderstanding occured.

It kept giving the 'try to move error' on the level it 'died' at, but upon switching levels, that stopped popping up, but the party member remained.
The party member wasn't fully removed until I reached the world map.
<mex> have you heard the good word about archmage?
<mex> I'm here to tell you about your lord and savior shalore archmage
<mex> have you repented your bulwark sins yet?
<mex> cornac shall inherit the Eyal

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5] Marson's Bosses Gone AWOL ??!?

#10 Post by Marson »

Hm... Did you see the "[MARSON-AWOL] Removed invalid party member %s %s" message on that last level change? I'm wondering if my addon removed the dead member or ToME did. (It also gets printed to the log file.)

What kind of party member was it? (summons, golem, escort, etc)
StarKeep wrote:Question: Would it be possible for you to add an option to purge the party list?
I want to avoid that option as it could be abused.

It looks like removing the golem from the party breaks the golem, but that should be a simple check to prevent removal.

I makes sense to me that, if the member was dead and still in the level's entity list, it would trigger the relocation dialog—it probably had nil x,y coords. My Actor.move() attempts would fail because of the .dead flag, so the dialog would retrigger each turn you moved.

When you changed level the first time, the entity wasn't allocated to the new level's entity list because it was dead, and so didn't trigger the addon's relocation dialog.

The next time your character moved is the point I would have expected the addon to remove the dead party member, so it has me a little confuzled that it didn't happen until the next level change. I'm wondering if ToME did it because you went to the world map.

StarKeep
Uruivellas
Posts: 703
Joined: Sun Feb 03, 2013 12:29 am
Location: Turtlemire

Re: [1.1.5] Marson's Bosses Gone AWOL ??!?

#11 Post by StarKeep »

Afraid I've not a log of it.

As for the unit, it was a dead Dark Fey Clone, which should, for all intents and purposes, be treated in the same general way as a Stone Warden split.
<mex> have you heard the good word about archmage?
<mex> I'm here to tell you about your lord and savior shalore archmage
<mex> have you repented your bulwark sins yet?
<mex> cornac shall inherit the Eyal

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5] Marson's Bosses Gone AWOL ??!?

#12 Post by Marson »

Update:
+ Dead NPCs will not trigger a relocation dialog.
+ Dead alchemy golems will not be removed from the party.
+ NPCs that exist but are dead will be noted in the CTRL-B dialog.
+ Removes erant clones of party members.

Though Steam has made a dupe and it seems to be random which one will update. Probably best to use the one from ToME for now.
StarKeep wrote:Afraid I've not a log of it.

As for the unit, it was a dead Dark Fey Clone, which should, for all intents and purposes, be treated in the same general way as a Stone Warden split.
No worries. Didn't know if you happened to see the text scroll by or not.

I've been meaning to try some of the class addons, so this is a good excuse.

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5]Marson's Bosses Gone AWOL -NPC Monitor & Clone Ki

#13 Post by Marson »

+ If an NPC spawns and is then killed in the same turn, it can sit on that tile 'dead'. If a creature—including yourself—walks over that tile, a clone will be made, possibly creating an impassable roadblock. Hitting CTRL-C will cycle through all tiles on the level and remove any clones it finds.

The monitoring greatly reducing the chance of these clones forming in the first place, but if they do, you can now get rid of them.

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5]Marson's Bosses Gone AWOL -NPC Monitor & Clone Ki

#14 Post by Marson »

+ Removed checks on the wilderness (world) map.
+ Removed wall checks from Sandworm Lair.

Marson
Uruivellas
Posts: 645
Joined: Thu Jan 16, 2014 4:56 am

Re: [1.1.5]Marson's Bosses Gone AWOL -NPC Monitor & Clone Ki

#15 Post by Marson »

+ Some rooms will spawn a large group of NPCs. If there are more NPCs than tiles, they will exist 'out of phase'. You can't see or target them and can walk through them as if they didn't exist, but party members may attack the tile they are on. If the NPC has an AOE effect on them, such as an Empire Wright's lighting, it may strike you. You may also hear any sounds associated with the NPC. BGA will 'rephase' the NPC once the square they are on is unoccupied. If the tile and NPC are in sight, you will get the message, '[Name] steps out from hiding.' This may result in an unexpected enemy or two showing up in packed rooms.

Post Reply