Mercurial > irccd
comparison plugins/roulette/roulette.js @ 146:175bc5d41cc4
Plugin roulette: use new format section, #410
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 19 May 2016 22:29:15 +0200 |
parents | ce3e96deb9e4 |
children | 52affa4ade71 |
comparison
equal
deleted
inserted
replaced
145:410f71eb9237 | 146:175bc5d41cc4 |
---|---|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
17 */ | 17 */ |
18 | 18 |
19 // Modules. | |
19 var Logger = Irccd.Logger; | 20 var Logger = Irccd.Logger; |
20 var Plugin = Irccd.Plugin; | 21 var Plugin = Irccd.Plugin; |
21 var Server = Irccd.Server; | 22 var Server = Irccd.Server; |
22 var Util = Irccd.Util; | 23 var Util = Irccd.Util; |
23 | 24 |
24 /* Plugin information */ | 25 // Plugin information. |
25 info = { | 26 info = { |
26 author: "David Demelier <markand@malikania.fr>", | 27 author: "David Demelier <markand@malikania.fr>", |
27 license: "ISC", | 28 license: "ISC", |
28 summary: "A russian roulette for IRC", | 29 summary: "A russian roulette for IRC", |
29 version: "@IRCCD_VERSION@" | 30 version: "@IRCCD_VERSION@" |
31 }; | |
32 | |
33 /** | |
34 * Formats for writing. | |
35 */ | |
36 Plugin.format = { | |
37 "lucky": "#{nickname}, you're lucky this time", | |
38 "shot": "HEADSHOT" | |
30 }; | 39 }; |
31 | 40 |
32 function Gun(server, channel) | 41 function Gun(server, channel) |
33 { | 42 { |
34 this.server = server; | 43 this.server = server; |
39 | 48 |
40 /** | 49 /** |
41 * Map of games. | 50 * Map of games. |
42 */ | 51 */ |
43 Gun.map = {}; | 52 Gun.map = {}; |
44 | |
45 /** | |
46 * Formats for writing. | |
47 */ | |
48 Gun.formats = { | |
49 "lucky": "#{nickname}, you're lucky this time", | |
50 "shot": "HEADSHOT" | |
51 }; | |
52 | 53 |
53 /** | 54 /** |
54 * Search for an existing game. | 55 * Search for an existing game. |
55 * | 56 * |
56 * @param server the server object | 57 * @param server the server object |
87 /** | 88 /** |
88 * Load all formats. | 89 * Load all formats. |
89 */ | 90 */ |
90 Gun.loadFormats = function () | 91 Gun.loadFormats = function () |
91 { | 92 { |
92 for (var key in Gun.formats) { | 93 // --- DEPRECATED ------------------------------------------ |
94 // | |
95 // This code will be removed. | |
96 // | |
97 // Since: 2.1.0 | |
98 // Until: 3.0.0 | |
99 // Reason: new [format] section replaces it. | |
100 // | |
101 // ---------------------------------------------------------- | |
102 for (var key in Plugin.format) { | |
93 var optname = "format-" + key; | 103 var optname = "format-" + key; |
94 | 104 |
95 if (typeof (Plugin.config[optname]) !== "string") | 105 if (typeof (Plugin.config[optname]) !== "string") |
96 continue; | 106 continue; |
97 | 107 |
98 if (Plugin.config[optname].length === 0) | 108 if (Plugin.config[optname].length === 0) |
99 Logger.warning("skipping empty '" + optname + "' format"); | 109 Logger.warning("skipping empty '" + optname + "' format"); |
100 else | 110 else |
101 Gun.formats[key] = Plugin.config[optname]; | 111 Plugin.format[key] = Plugin.config[optname]; |
102 } | 112 } |
103 } | 113 } |
104 | 114 |
105 Gun.prototype.shot = function () | 115 Gun.prototype.shot = function () |
106 { | 116 { |
129 | 139 |
130 if (!game) | 140 if (!game) |
131 game = Gun.create(server, channel); | 141 game = Gun.create(server, channel); |
132 | 142 |
133 if (game.shot()) { | 143 if (game.shot()) { |
134 server.kick(Util.splituser(origin), channel, Util.format(Gun.formats["shot"], kw)); | 144 server.kick(Util.splituser(origin), channel, Util.format(Plugin.format["shot"], kw)); |
135 Gun.remove(game); | 145 Gun.remove(game); |
136 } else { | 146 } else { |
137 kw.count = (6 - game.index).toString(); | 147 kw.count = (6 - game.index).toString(); |
138 server.message(channel, Util.format(Gun.formats["lucky"], kw)); | 148 server.message(channel, Util.format(Plugin.format["lucky"], kw)); |
139 } | 149 } |
140 } | 150 } |