Paradise icon indicating copy to clipboard operation
Paradise copied to clipboard

Monke Business - Ports monkey AI from TG

Open PollardTheDragon opened this issue 1 month ago • 15 comments

What Does This PR Do

Gives monkeys an AI controller that can do a variety of things, ranging from passively emoting on idle to angrily fighting back when harmed, grabbed, thrown, or cuffed. This AI controller is unique in that it lets the monkey pick up and use items as weapons, including firearms. It also allows monkeys to perform shenanigans, such as eating, drinking, pickpocketing, and gifting items.

This PR affects monkeys, niara, stok, wolpin, worme, and farwa.

Why It's Good For The Game

Monkeys currently do fuck all. They sit still as you beat them to death. This makes monkeys have an intelligent form of self-defense while also providing entertaining ways for them to interact with the crew.

Testing

Spawned as bartender. Attacked pun pun with toolbox. Was disarmed of toolbox and beaten to death with toolbox. Was disposaled after I died.

Declaration

  • [x] I confirm that I either do not require pre-approval for this PR, or I have obtained such approval and have included a screenshot to demonstrate this below.
image

Changelog

:cl: add: Added a new complex AI controller for carbon mobs, and gave it to monkeys. /:cl:

PollardTheDragon avatar Nov 21 '25 03:11 PollardTheDragon

YEEEEEEEEAHHHHHH

Screampuff avatar Nov 21 '25 03:11 Screampuff

How does xenobiology fare with this change? Do the monkeys beat up the slimes?

alfalfascout avatar Nov 21 '25 03:11 alfalfascout

How does xenobiology fare with this change? Do the monkeys beat up the slimes?

image

Xenobiology monkeys work fine.

PollardTheDragon avatar Nov 21 '25 04:11 PollardTheDragon

Now this is some serious monkey business. Looking forward to seeing this!

Ahzpy avatar Nov 21 '25 16:11 Ahzpy

Return to monke.

Denthamos avatar Nov 21 '25 17:11 Denthamos

Is there a list of monkey interactions?

spacegeese avatar Nov 22 '25 05:11 spacegeese

One problem that I have been encountering is playing bartender, I will put out synthetic drinks on the bar for people to enjoy and Pun Pun will grab all of them, drink them, and throw up everywhere.

alfalfascout avatar Nov 27 '25 22:11 alfalfascout

Something I spotted one round is I don't know if its the same for other stations but on cyberiad Viro monkeys interact with the firealarm turning it off and on constantly

jpr156 avatar Nov 27 '25 22:11 jpr156

One problem that I have been encountering is playing bartender, I will put out synthetic drinks on the bar for people to enjoy and Pun Pun will grab all of them, drink them, and throw up everywhere.

Less of a problem, more of intended feature. Monkeys will eat and drink what they can get their hands on. I recommend putting Pun Pun in the backroom if you want to keep him from drinking your booze.

PollardTheDragon avatar Nov 28 '25 04:11 PollardTheDragon

Less of a problem, more of intended feature. Monkeys will eat and drink what they can get their hands on. I recommend putting Pun Pun in the backroom if you want to keep him from drinking your booze.

The back room with cabinets full of beer for him to open and drink?

alfalfascout avatar Nov 28 '25 04:11 alfalfascout

Some new behavior's are annoying or over the top, such as disposalling corpses and pulling fire alarms. Is there a full list of the new behaviors?

Dafrek avatar Dec 04 '25 11:12 Dafrek

I noticed that a monkey trapped in a locker will continually resist, which seems to cancel its ability to actually break out

BiancaWilkson avatar Dec 09 '25 00:12 BiancaWilkson

Monkeys don't fall asleep when they have an N2O tank attached and internals on.

Christer2222 avatar Dec 09 '25 04:12 Christer2222

Monkeys don't fall asleep when they have an N2O tank attached and internals on.

image

Check your N2O tank. No code changes have been made since this comment and this monkey is very asleep from N2O.

PollardTheDragon avatar Dec 13 '25 06:12 PollardTheDragon

I noticed that a monkey trapped in a locker will continually resist, which seems to cancel its ability to actually break out

#define SHOULD_RESIST(source) (source.on_fire || source.buckled || source.restrained() || source.pulledby)

Monkeys don't auto-resist when in lockers unless they are also on fire/buckled/restrained/etc.

PollardTheDragon avatar Dec 13 '25 07:12 PollardTheDragon

Humanized monkeys retain the tripping effect. When walking into someone, it'll trip them.

Toastical avatar Dec 20 '25 18:12 Toastical