* ai_behaviour cleanup ft. less chatty tourists (#57945)
Each of these lines is punctuated by an audio sting every 8 seconds without refrain.
So, this PR adds a new vocalisation limiter to tourist bots who can't find a seat. Instead of always vocalising every 8 seconds, they're now guaranteed to vocalise the first time and then have a 60% chance to have vocalised again each minute thereafter.
Tourists waiting for food now have an approx 40% chance to have vocalised in any given minute. This should be considered alongside the fact that multiple (up to 10) tourists can be present at any given point in time and with the difficulty in players killing them, they can create a lot of unnecessary audio spam. If the tourists are being served rapidly, they're also giving regular guaranted audio stings on top of that which compounds the chances any given bot will output an audio cue.
The AI controller now passes the larger value between the behaviour's `action_cooldown` in real seconds (as opposed to deciseconds) and delta_time when performing behaviours. This has no gameplay changes outside of those documented in this PR, since no AI behaviours with cooldowns greater than the AI controller's delta_time attempted to use delta_time.
Finally, customers now have 10 minutes of patience before leaving instead of 100 minutes of patience due to a minor oversight where their patience was in deciseconds while delta_time was subtracted in seconds.
* ai_behaviour cleanup ft. less chatty tourists
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Bane AI (#57771)
We take Gotham from the corrupt! The rich! The oppressors of generations who have kept you down with myths of opportunity, and we give it back to you...the people...Gotham is yours. None shall interfere, do as you please!
* Bane AI
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Dogs no longer take whatever they're holding/wearing to the grave (#57670)
* Dogs no longer take whatever they're holding/wearing to the grave
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* /datum/ai_behavior/harass/proc/attack() now performs a standard UnarmedAttack(). (#57521)
* /datum/ai_behavior/harass/proc/attack() now performs a standard UnarmedAttack() instead of being peculiar.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* You can no longer get mauled by 20 rabid corgis in a duffel bag (#57592)
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* You can no longer get mauled by 20 rabid corgis in a duffel bag
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Tweaks to robo-tourists (#57497)
balance: Robotourists pay more for food now
qol: Only one robo-tourist will wait at the door at any time, preventing constant spam if you only have 2 seats.
qol: more variation in robo-tourist colors
* Tweaks to robo-tourists
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Dog AI 2.0 (#57186)
Now that JPS and AI movement datums are fully merged, I'm here to take another (my third actually) crack at giving dogs fun AI. Here's a video demonstration (somewhat WIP), and a quick rundown of everything dogs will be able to do. Basically all of these behaviors are generic and can be extended to other simple mobs,
Commands and Friendship
Fetching
Attack/Harass
Heel
Play Dead
* Dog AI 2.0
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Adds tourist robots that order food and drinks from the bar and cafeteria (#57010)
* Adds Tourism Economy
Co-authored-by: Emmanuel S. <emmanuelssr@ gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@ gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Adds tourist robots that order food and drinks from the bar and cafeteria
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Emmanuel S. <emmanuelssr@ gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@ gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Monkeys no longer rip apart machines from the inside
monkeys only take things if theyre on a turf now...technically this bug made sense cuz the monkey was in the machine with the parts
* Monkeys no longer rip apart machines from the inside
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Adds a subsystem for ai movement (#57111)
* done
* straight walk
* movement
* yep
* removes unused macro
* done
* Update ai_movement.dm
* Adds a subsystem for ai movement
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Adds the Hauntium material, which turns any item into a ghost (with AI) (#55728)
* Adds the Hauntium material, which turns any item into a ghost (with AI)
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Monkeys drop forced two handed items (#56329)
Monkeys cannot wield twohanded items.
But are not forced to drop items that must be wielded two handed.
This forces monkeys to drop items if they need to be two handed.
(Also makes monkey ais not try and pick up 2 handed weapons)
* Monkeys drop forced two handed items
Co-authored-by: NightRed <nightred@gmail.com>
* Linter, shut thee up. (#56193)
About The Pull Request
Renames a directory such that it does not have a .dm prefix as that is linted against and made it onto master.
Why It's Good For The Game
The linter can stop yelling at everyone over a filepath.
* Linter, shut thee up.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Reworks the brand intelligence event with AI controller datums (#55778)
These felt like another good test-case for ai controllers that someone could easily grasp, this makes it so that we can use the actual vending machine instead of a fake mimic mob. In theory you could even still use the vending machine, if you like living on the edge ofcourse.
The vendors now try to move towards you, and try to dive on top of you to squish you.
* Reworks the brand intelligence event with AI controller datums
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Makes it so player-controller monkeyized humans dont also keep AI control + extra AI controller fixes (#55515)
AI controllers now properly check if a mob is client-controlled and dont start processing if its the case.
AI controllers now handle deletion on unpossesion if that's filled in as an argument
Dead monkeys stop attacking things
* Makes it so player-controller monkeyized humans dont also keep AI control + extra AI controller fixes
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* [READY] Creates Datumized AI and applies it to monkeys (#55238)
New AI system, implemented for monkeys.
* [READY] Creates Datumized AI and applies it to monkeys
Co-authored-by: Qustinnus <Floydje123@hotmail.com>