inspircd / inspircd-contrib

Third-party InspIRCd module repository.
https://www.inspircd.org
66 stars 72 forks source link

Roleplay #244

Closed Elizafox closed 3 years ago

Elizafox commented 3 years ago

This is a 3.0 module.

It implements SCENE, SCENEA, NARRATOR, NARRATORA, AMBIANCE, FSAY, FACTION, NPC, and NPCA. SCENE, SCENEA, FACTION, and FSAY are from Charybdis (and probably from elsewhere from there); and NARRATOR, NARRATORA, NPC, NPCA, and AMBIANCE are from the old RPG module.

Quick breakdown:

SCENE and SCENEA send a message from the =Scene= user, can be used to set the scene of a roleplay session.

NARRATOR and NARRATORA send a message from the =Narrator= user, can be used for narration.

AMBIANCE sends a message from the >Ambiance< user, for compatibility with the previous module (and many other roleplay modules in other IRC daemons).

NPC and NPCA send messages from (shocker) NPC's. The nicks are underlined to avoid apparent spoofing.

FSAY and FACTION are like NPC and NPCA except that they don't underline the nicks. These were taken from Charybdis. They require operator privileges and the channels/roleplay permission.

I know this is a big one, sorry. :(

Thoroughly tested it and everything works as expected.

SadieCat commented 3 years ago

You may want to add the inspircd.org/bot to messages sent from fake clients?

CyberBotX commented 3 years ago

So, I know this has already been merged and that the referenced issue mentions this is a rewrite and the issue that I sat on and never worked on it because of lack of time, but I would appreciate a little attribution to my version of the module that brought this module into existence. Especially with the mentions of the "old" module yet nothing mentioning my work on the old module.

Elizafox commented 3 years ago

So, I know this has already been merged and that the referenced issue mentions this is a rewrite and the issue that I sat on and never worked on it because of lack of time, but I would appreciate a little attribution to my version of the module that brought this module into existence. Especially with the mentions of the "old" module yet nothing mentioning my work on the old module.

I didn't mean to cause offense, sorry.

I was inspired mostly by the implementation in Charybdis; I don't know if the Charybdis module is older or not, but I certainly have known about it for many years before I found this one. I happened upon m_rpg in the old contrib modules, tried to port it, and aborted my effort as I realised I wanted to incorporate more functionality and commands, as well as cut back on code duplication. I did a total rewrite and the result doesn't bear much resemblance to your old module (even the command semantics differ a little).

I think the only ideas I took were NARRATOR, NARRATORA, the format for the AMBIANCE nick, and the idea of a setting for requiring +o or above in the channel. That, you deserve credit for.

I'm submitting a PR for this.