Tag is three moves: decide who is it, let them catch someone, and make the caught player it as well. One counter holds the state.
Trigger { -- 시작할 때 술래 한 명을 뽑는다
players = {P8},
conditions = {
Always();
},
actions = {
SetSwitch("Pick A", Randomize);
SetSwitch("Pick B", Randomize);
},
}Catching is done with a location that follows the tagger. Move it onto them every cycle, and anyone who ends up inside it has been caught.
Trigger { -- 로케이션을 술래에게 붙여 둔다
players = {Force1},
conditions = {
Deaths(CurrentPlayer, Exactly, 1, "IsTagger");
},
actions = {
MoveLocation("Tag Range", "Men", CurrentPlayer, "Anywhere");
PreserveTrigger();
},
}
Trigger { -- 잡히면 술래가 된다
players = {Force1},
conditions = {
Bring(CurrentPlayer, AtLeast, 1, "Men", "Tag Range");
Deaths(CurrentPlayer, Exactly, 0, "IsTagger");
},
actions = {
SetDeaths(CurrentPlayer, SetTo, 1, "IsTagger");
SetDeaths(P8, Add, 1, "TaggerCount");
DisplayText("\x13\x06잡혔습니다");
PreserveTrigger();
},
}The end condition is a head count: when everyone is it, the infected side has won.
It plays better if the tagger differs - sight range, speed, something. The simplest version is to swap the unit itself: RemoveUnit the old one and CreateUnit a different one in the same place.
