vgstation-coders / vgstation13

Butts
GNU General Public License v3.0
260 stars 541 forks source link

Attempts to fix CWC apprentices #36698

Closed boy2mantwicethefam closed 1 week ago

boy2mantwicethefam commented 2 weeks ago

If the recruiter is a wizard then it will search for whether the recruiter is in a civil war faction. If it is then the faction will add the apprentice to it. At least that's what it is supposed to do. I can't really test it. Also fixed a typo.

:cl:

Pancakemines commented 2 weeks ago

I did a test and the doggos did not attack the apprentice, I dunno if his hats the right colour or not though I dont play wizard. (Apprentice on left wizard king on right) dreamseeker_rq03TOQXQ1

boy2mantwicethefam commented 2 weeks ago

All the wizards are part of the same "wizard" faction both mind-wise (which transfers the faction to the mob whenever mind transferring happens) and mob-wise (which is often checked by wizard mobs such as pitbulls) which is really just plain text with nothing going for it, but the antag roles (each "antagonist" status has its own piece of code) have their faction set to a faction datum which is more elaborate, but at the same time janky, and does not actually seem to have an effect on wizard mobs. The PR code displaces the faction datum (the master-apprentice contract is actually a faction datum of its own, mostly to determine HUDs) of the Wizard Apprentice role (they are only apprentices, not the Wizard role) in order to set the master wizard's faction (which is a Civil War faction) as the Apprentice role's own. In theory it would get rid of the HUD that the master and apprentice see (the one with the red hat), but in turn it should allow the apprentice to see the HUD that the wizards have for their civil war side and vice versa.

Pancakemines commented 2 weeks ago

Sorry I should have been way clearer I meant i tested with your changes here since you said you couldn't do it yourself and that was the result. That was the apprentice pov see's both the hat icons and the pitbulls didnt attack it. The master sees the same thing I didn't really get what the goal was just wanted to give you the results from it. In the role panel both of them were in the same civil caster faction with the same objective to murder the other not them faction. The total steps I took to test were to make a wizard, add it to one of the civil war factions, buy pitbulls and apprentice scroll, sign up for the apprentice role on a second account, summoned pitbulls on the main wizard and took the screenshot after on the apprentice client after checking their roles. Results were seeing the wizard icons as shown, pitbulls didn't attack (not sure if this is relevant now), and both wizards were part of the same civil faction.

boy2mantwicethefam commented 2 weeks ago

Ah, try 3 players. One as both the master and a member of the civil war, one as the apprentice and another one as simply the member of the civil war on the same side as the master. See if the apprentice can see the other two civil war wizards as being on the same side as the apprentice and vice versa.

Pancakemines commented 2 weeks ago

Master wizard perspective + role. dreamseeker_22yxuwbBmq Other faction wizard perspective + role. image Apprentice perspective + role image

This seems to be consistent as soon as a standard faction wizard becomes a master they lose all ability to see other members of the faction and the apprentice can only ever see the master.

boy2mantwicethefam commented 2 weeks ago

Huh, so it DOES work to some extent but not as well as it should. I'll look into it, thank you!

boy2mantwicethefam commented 2 weeks ago

The code has been changed so that both the apprentice and the master are removed from the contract faction and brought into the civil war faction.

Pancakemines commented 2 weeks ago

So it now works the same as before but the apprentice can see the civil war caster icons but it still maintains the apprentice role and HUD icon, and the master now can't see any icons at all and keeps the master role too. (other casters in the faction can see both as before) Apprentice POV: dreamseeker_PkdK0AZAgB Master POV: dreamseeker_6GlurHHeCr

This is all above my paygrade in terms of code but running the debugger I THINK it fizzled out at line 400 in faction.dm with update_hud_removed