def do_leave(self, ship, force_functional=False): primitives.do_group_for_ship(absroot, self.leave_effects, ship) sg_postevent(UE_FACTION_LEFT, faction=self, ship=ship) debug("A " + ship.id_str + " left " + self.id_str) if (self.id_str in ship.faction_memberships): del ship.faction_memberships[ship.faction_memberships.index( self.id_str)]
def do_join(self, ship, force_functional=False): primitives.do_group_for_ship(absroot, self.join_effects, ship) sg_postevent(UE_FACTION_JOINED, faction=self, ship=ship) debug("A "+ship.id_str+" joined "+self.id_str+" [functional]") if (self.id_str not in ship.faction_memberships) and not force_functional: ship.faction_memberships.append(self.id_str) sg_postevent(UE_FACTION_JOINED_LOGIC, faction=self, ship=ship) debug("A "+ship.id_str+" joined "+self.id_str+" [logical]")
def do_join(self, ship, force_functional=False): primitives.do_group_for_ship(absroot, self.join_effects, ship) sg_postevent(UE_FACTION_JOINED, faction=self, ship=ship) debug("A " + ship.id_str + " joined " + self.id_str + " [functional]") if (self.id_str not in ship.faction_memberships) and not force_functional: ship.faction_memberships.append(self.id_str) sg_postevent(UE_FACTION_JOINED_LOGIC, faction=self, ship=ship) debug("A " + ship.id_str + " joined " + self.id_str + " [logical]")
def can_leave(self, ship): return primitives.do_group_for_ship(absroot, self.leave_required, ship)
def do_leave(self, ship, force_functional=False): primitives.do_group_for_ship(absroot, self.leave_effects, ship) sg_postevent(UE_FACTION_LEFT, faction=self, ship=ship) debug("A "+ship.id_str+" left "+self.id_str) if (self.id_str in ship.faction_memberships): del ship.faction_memberships[ship.faction_memberships.index(self.id_str)]
def can_join(self, ship): return primitives.do_group_for_ship(absroot, self.join_required, ship)
def run_in_item(self, item): primitives.do_group_for_ship(self.root, self.config["sudo_primitives"], item.parent.targeted)
def die(self): debug(self.name+" was destroyed") self.sg_postevent(UE_SHIP_DIE_RUN, ship=self) primitives.do_group_for_ship(self.root, dget(self.config, "ship_die", []), self)
def die(self): debug(self.name + " was destroyed") self.sg_postevent(UE_SHIP_DIE_RUN, ship=self) primitives.do_group_for_ship(self.root, dget(self.config, "ship_die", []), self)
def run_in_item(self, item): primitives.do_group_for_ship(self.root, self.config["sudo_primitives"], item.parent)