return mgteam;
}
+void minigame_frame()
+{
+ entity minig = self;
+
+ minig.minigame_event(minig,"frame");
+ minig.nextthink = time;
+}
+
entity start_minigame(entity player, string minigame )
{
if ( !autocvar_sv_minigames || !IS_REAL_CLIENT(player) )
minig.classname = "minigame";
minig.netname = strzone(strcat(e.netname,"_",ftos(num_for_edict(minig))));
minig.descriptor = e;
+ minig.think = minigame_frame;
+ minig.nextthink = time;
minig.minigame_event = e.minigame_event;
minig.minigame_event(minig,"start");
GameLogEcho(strcat(":minigame:start:",minig.netname));
}
}
-void initialize_minigames()
-{
- entity last_minig = world;
- entity minig;
- #define MINIGAME(name,nicename) \
- minig = spawn(); \
- minig.classname = "minigame_descriptor"; \
- minig.netname = #name; \
- minig.message = nicename; \
- minig.minigame_event = name##_server_event; \
- if ( !last_minig ) minigame_descriptors = minig; \
- else last_minig.list_next = minig; \
- last_minig = minig;
-
- REGISTERED_MINIGAMES
-
- #undef MINIGAME
-}
-
string invite_minigame(entity inviter, entity player)
{
if ( !inviter || !inviter.active_minigame )
}
else if ( minig_cmd == "list" )
{
- entity e;
- for ( e = minigame_descriptors; e != world; e = e.list_next )
- sprint(self,e.netname," (",e.message,") ","\n");
+ FOREACH(MINIGAMES, true, LAMBDA(
+ {
+ sprint(self,it.netname," (",it.message,") ","\n");
+ }));
return;
}
else if ( minig_cmd == "list-sessions" )