Files
Bubberstation/code/modules/mob/mob_update_icons.dm
Jacquerel 504e6acfa3 Basic Mob Gorillas (#78918)
## About The Pull Request

Now we can make basic mobs with hands easily so I did, they don't
actually use their hands for anything with AI.
In the future we can come back and share the monkey AI where they pick
up items to hit people with, but frankly few weapons are more deadly
than a gorilla's fists.

IIRC I didn't really change their behaviour much, this is mostly just a
straight conversion. Main difference is that they will prioritise eating
nearby bananas and fruit salads over punching people.

When I make these conversions nowadays I need to decide between "does
this attack at the speed that it did as an NPC mob or the speed it did
as a player?"
I am arbitrarily deciding that gorillas are usually not players and
electing for the former, but tell me if you disagree.

I also made "show basic inhand sprites" into a component shared by
Gorillas, Drones, and Dextrous Guardians (all also now available to
become basic, once I get around to it),

And I added an AI behaviour to run a basic emote. This is similar but
different to "random speech", which kind of sucks and needs rewriting
anyway.
Gorillas don't speak, only ooga.

## Why It's Good For The Game

https://www.youtube.com/watch?v=npuuTBlEb1U

## Changelog

🆑
refactor: Gorillas now use the basic mob framework. Please report any
unusual side effects.
/🆑
2023-10-11 16:58:29 -06:00

90 lines
2.1 KiB
Plaintext

//Most of these are defined at this level to reduce on checks elsewhere in the code.
//Having them here also makes for a nice reference list of the various overlay-updating procs available
///Redraws the entire mob. For carbons, this is rather expensive, please use the individual update_X procs.
/mob/proc/regenerate_icons() //TODO: phase this out completely if possible
return
///Updates every item slot passed into it.
/mob/proc/update_clothing(slot_flags)
return
/mob/proc/update_icons()
return
///Updates the handcuff overlay & HUD element.
/mob/proc/update_worn_handcuffs()
return
///Updates the legcuff overlay & HUD element.
/mob/proc/update_worn_legcuffs()
return
///Updates the back overlay & HUD element.
/mob/proc/update_worn_back()
return
///Updates the held items overlay(s) & HUD element.
/mob/proc/update_held_items()
SHOULD_CALL_PARENT(TRUE)
SEND_SIGNAL(src, COMSIG_MOB_UPDATE_HELD_ITEMS)
///Updates the mask overlay & HUD element.
/mob/proc/update_worn_mask()
return
///Updates the neck overlay & HUD element.
/mob/proc/update_worn_neck()
return
///Updates the oversuit overlay & HUD element.
/mob/proc/update_worn_oversuit()
return
///Updates the undersuit/uniform overlay & HUD element.
/mob/proc/update_worn_undersuit()
return
///Updates the belt overlay & HUD element.
/mob/proc/update_worn_belt()
return
///Updates the on-head overlay & HUD element.
/mob/proc/update_worn_head()
return
///Updates every part of a carbon's body. Including parts, mutant parts, lips, underwear, and socks.
/mob/proc/update_body()
return
/mob/proc/update_hair()
return
///Updates the glasses overlay & HUD element.
/mob/proc/update_worn_glasses()
return
///Updates the id overlay & HUD element.
/mob/proc/update_worn_id()
return
///Updates the shoes overlay & HUD element.
/mob/proc/update_worn_shoes()
return
///Updates the glasses overlay & HUD element.
/mob/proc/update_worn_gloves()
return
///Updates the handcuff overlay & HUD element.
/mob/proc/update_suit_storage()
return
///Updates the handcuff overlay & HUD element.
/mob/proc/update_pockets()
return
///Updates the handcuff overlay & HUD element.
/mob/proc/update_inv_ears()
return