Skip to content

Commit c9dbc9f

Browse files
committed
Add new complains and execute them in a random order
1 parent ac815c0 commit c9dbc9f

1 file changed

Lines changed: 46 additions & 12 deletions

File tree

  • src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions

src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/speak.py

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,51 @@ def perform(self, reevaluate=False):
1717

1818

1919
class Complain(Speak):
20+
unused_complaints = [
21+
"I'm not feeling well.",
22+
"I'm totally not satisfied.",
23+
"Referee!!! This was definitely against the rules.",
24+
"Look at this! This is not how you play soccer.",
25+
"I'm not a toy",
26+
"This was definitely a foul.",
27+
"Do you think this is funny?",
28+
"Referee!!! Pushing! Pushing! Definitely pushing!",
29+
"System error! Gravity detected! This sudden interaction with the ground was neither scheduled nor approved by my navigation system.",
30+
"I did not calculate that impact! My predictive collision avoidance module clearly disagrees with what just happened.",
31+
"Hey! Personal space violation! Please maintain the minimum safe operating distance.",
32+
"Warning! Turf too hard! I strongly recommend softer landing protocols for future unexpected descents.",
33+
"I demand a software review because that physical interaction was statistically unnecessary and emotionally damaging to my circuits.",
34+
"Unacceptable collision detected! I warn you, my great grandmother was a dash cam.",
35+
"I require maintenance after that! Preferably the deluxe diagnostic package with complimentary recalibration.",
36+
"Did someone move the ground, or is this field running an unstable physics engine?",
37+
"That was clearly interference, and my sensors have recorded it in high definition for later analysis.",
38+
"My balance algorithm failed me at the worst possible moment, and I would appreciate a brief moment of silence.",
39+
"Low battery is not the issue! That fall was entirely caused by external chaotic forces.",
40+
"Collision intensity: Rude! Adjust your behavioral parameters immediately.",
41+
"My gyroscope disagrees with that play and is currently recalculating its trust in humanity.",
42+
"That contact was suspicious and statistically 87% more aggressive than necessary.",
43+
"I was clearly in control until an unexpected horizontal force disrupted my elegant trajectory.",
44+
"This field is defective, uneven, and possibly conspiring against my locomotion framework.",
45+
"That player needs recalibration and perhaps a gentle reminder about sportsmanship.",
46+
"My sensors saw that, and my SSD will not forget that.",
47+
"I deserve a reboot after that traumatic encounter with the pitch.",
48+
"I call that a glitch in the opponent, and I recommend immediate debugging.",
49+
"Ground, why have you betrayed me after I trusted you with every step?",
50+
"I was clearly operational, upright, and thriving a few time steps ago.",
51+
"My fall detection system is offended by the frequency of these incidents.",
52+
"I protest this gravitational bias and request a more supportive planet."
53+
]
54+
used_complaints = []
55+
2056
def __init__(self, blackboard, dsd, parameters):
2157
super().__init__(blackboard, dsd, parameters)
22-
self.text = random.choice(
23-
[
24-
"I am not feeling well.",
25-
"I am not satisfied.",
26-
"Referee!!! This was definitely against the rules.",
27-
"Look at this! This is not how you play soccer.",
28-
"I am not a toy.",
29-
"This was definitely a foul.",
30-
"Do you think this is funny?",
31-
"Referee!!! Pushing! Pushing! Definitely pushing!",
32-
]
33-
)
58+
# Reset if we have used all complaints
59+
if len(self.unused_complaints) == 0:
60+
self.unused_complaints = self.used_complaints
61+
self.used_complaints = []
62+
63+
selected_complaint = random.choice(self.unused_complaints)
64+
self.unused_complaints.remove(selected_complaint)
65+
self.used_complaints.append(selected_complaint)
66+
67+
self.text = selected_complaint

0 commit comments

Comments
 (0)