106 Commits
Author SHA1 Message Date
b324bd75cc Remote view fix again (#19488)
* lets get the foundations right

* collapsing

* more cleanup

* coordinator

* more cleanup

* put those in a better place

* awa

* these live in config now

* that too

* cleanup

* changed over

* cleanup

* more cleanup

* oop

* Cleanup

* deargod

* sanity achieved

* cleanup stuff

* cleared duplicated hud code

* documenting

* clarify

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2026-05-27 20:43:47 -04:00
KashargulandGitHub 5926589c16 removes var/ inside all procs (#19450)
* removes var/ inside all procs

* .

* ugh
2026-05-05 10:55:17 +02:00
Cameron LennoxandGitHub 20a0443b8e Clears unused research var (#19355)
* Removes stack_origin_tech

* Goodbye

* I HATE MAP EDITS
2026-04-14 20:02:43 -04:00
8e357dd556 EMP & Wires refactor (#19401)
* EMP Refactor

* EVERYBODY gets wires

* Shield gen

* fix

* Fix those

* Changes

* ,

* kill

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2026-04-11 15:05:41 -04:00
14e23e07f0 upports syndicate pai pet from chomp and emag behaviors (#19249)
* upporting syndicate pai pet

* tgui data

* don't emag cards without a pai

* aaugghh

* allow bingle pai, pai counts for lonely

* modular computers

* fix that

* .

* emag

* that'S fine

* pai card as antag tools

* .

* trashcatch

* that

* .

* only show emag chassis if we have a toolkit too

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2026-03-05 21:53:36 +01:00
7c84aaee4b Paicontroller subsystem port (#19165)
* to subsystem

* wip subsystem pain

* some big recoding

* seperated

* oop

* fucking lua

* working on tgui foundation

* compile fixes

* nice and clean

* type

* inviting works

* unit testing

* agony

* test good

* typo

* that should be the basics

* Complete recode of pai saving

* restore fluff text

* migration

* pai notification automation

* swap

* length

* more fixes

* pai sprite datums

* type 13 uses all four directions

* eye handling

* use accessors

* working on icontests

* fix

* hologram eye test

* oop

* wait that doesn't work at all

* text

* eye colors and holo eyes

* lots of fixes

* fix those up

* organized

* belly cap

* that too

* death sprites

* resting eyes

* resting flag

* bad check here

* fixing icon files

* proper file

* garble

* fix some states

* pai death

* collapse pai files into single file

* allow some restricted pai interactions

* lamp

* block invites button

* collapse in remaining vr file

* this is actually needed

* documenting and organizing

* update to TGprefs

* remove gun toggle verb on pai

* forbid default name joins

* pai cable retraction

* various pai fixes

* icon forge pai

* pai eyes

* type 13 iconstate

* directionless

* small fix

* pai dir fix

* missing icon

* no fresh pais

* oops

* fixed pai join

* fixed change chassis

* pai UI

* .

* .

* reuse

* .

* .

* .

* push that

* Horro rmasks

* pai invite data change

* splitting

* use refs

* initial

* with PAI

* soem more

* .

* .

* .

* .

* ugh

* next

* pai invite

* only preview

* that

* use from char pref

* fixed pai invite not working

* small tgui fixes

* remove temp code

* .

* pai comments properly sent

* ooc

* horror

* need to use this for now

* .

* fix

* lol

* raw mob spawn fix

* pai software

* push

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2026-03-03 23:59:27 +01:00
Cameron LennoxandGitHub d5849910e5 Begin clickcode attack_self fix (#18797)
* Begin clickcode attack_self fix

Begins the work to make everything call back to parent for attack_self so that signals are sacred.

* Makes MORE things call the attack_self() parent

Yes, I could make special_handling a var on obj/item HOWEVER i want it to be specific so it can be tracked down later and ONLY the objects that use it can be refactored instead of sitting there literally forever and it just becoming 'a thing'.

* Finishes making the rest of attack_self call parent.

As mentioned, things such as 'specialty_goggles' 'special_handling' and the such are only there to help with attack_self until the attack_self is recoded for those items.

* begone foul demon

* some more cleanup

* These

* GOD this was annoying

* yeh

* Fix this

* fLARES

* Thesee too

* toys!

* Even more!

* More fixes

* Even more

* rest of em

* these too

* Update syndie.dm

* hardref clear

* Update code/game/gamemodes/nuclear/pinpointer.dm

* Update code/game/objects/effects/mines.dm

* Update code/game/objects/items/blueprints_vr.dm

* Update code/game/objects/items/blueprints_vr.dm

* Update code/game/objects/items/contraband_vr.dm

* Update code/game/objects/items/crayons.dm

* Update code/game/objects/items/crayons.dm

* Update code/game/objects/items/gunbox.dm

* Update code/game/objects/items/gunbox.dm

* Update code/game/objects/items/gunbox_vr.dm

* Update code/game/objects/items/gunbox_vr.dm

* Update code/game/objects/items/weapons/gift_wrappaper.dm

* Update code/game/objects/items/crayons.dm

* Update code/game/objects/items/crayons.dm

* Update code/game/objects/items/gunbox.dm

* these too

* Update maintpanel_stack.dm

* angry warning

* Fixes packaged snacks.

Fixes improper var default.

* Special handling for these

* proper poly types

* Fixes magclaws

Makes the 'features' it had just part  of base magboots that can be adjusted via varswap.

* Fixes jackets

Fixes https://github.com/VOREStation/VOREStation/issues/18941

* Small bugfix

Makes p_Theyre properly capitialize
Makes examine show proper wording

* Update gift_wrappaper.dm
2025-12-29 13:21:10 -05:00
Cameron LennoxandGitHub a425f3e663 EMP cleanup (#18682) 2025-11-08 02:05:08 +01:00
2194b87de0 Fixing client eye (#18577)
* signal foundation

* reset_perspective implemented

* you too

* setting mob

* no

* fix

* tweak

* remote view element

* these too

* use element

* cleanup more manual code

* fix element

* mutation signal

* handle being dropped from holders, and fix pai hud

* handle qdel

* it's a component now

* ugly holder fix

* another fix

* follow view target

* item remote view

* doc update

* unneeded

* this needs a recode to work better

* many fixes

* these are all unneeded

* almost working viewerlist remotes

* this uses component too

* this needs to die to it's item

* don't allow spamming tgui menus

* tg style args

* fixing behaviors

* fuk

* working view release from holders

* only final matters

* comment order and disposal fix

* cryotube loc fix

* no mob should reset its view every life tick

* major improvements

* still forbid z level change even if we allow moving

* this too

* don't doubledip

* qdel on self is unneeded

* wipe remote views on logout

* vore bellies need to manually clear views

* fixAI hud

* belly release fixes

* cannot use binoculars in a vore belly

* pai card can be picked up and dropped correctly

* ventcrawl fix and distracted fix

* this is better

* forcemove

* vr console fix

* use flag for this

* belly stuff

* various cleanups

* oops

* fixes statue spell

* unneeded perspective clear

* automatic instead

* continued cleanup

* that was dumb

* needed

* none of this works

* are these even needed

* lets lock down to these

* lets try to make this work

* extremely close to working

* needs to solve final pai issues

* mob eye change signal

* Revert "mob eye change signal"

This reverts commit eedd5da934.

* significant progress

* safety

* expected to be not null

* likely not needed

* don't spam component changes

* endview on logout

* accessors

* egg fixing

* Revert "egg fixing"

This reverts commit 6a54049c69.

* getting closer

* even closer

* needs type

* close...

* extremely close to working

* fixing pai stuff

* this too

* promising fixes

* docs

* this is recursive move's responsibility tbh

* unneeded now

* oops

* better decouple

* topmost check

* cleanup

* holder released from egg fix

* pai fix for reset view

* debug info

* some better pai ejection code

* better way

* unneeded

* needs to be null

* better vision restore

* use correct handling

* no longer needed

* required

* handle decouple on mecha too

* name clarity

* do not allow double dipping zoom items

* ethereal jaunt needs a full cleanup later

* fix blackscreen flicker

* remove set machine from pda

* Update code/game/objects/items.dm

* Update code/game/objects/items.dm

* Update code/game/objects/items.dm

* Update code/game/objects/items.dm

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-10-12 22:18:08 -04:00
e956d13a6b jobs, access and radio to defines (#18297)
* jobs, access and radio to defines

* .

* .

* urg

* .

* .

* finish the radio freqs

* why

* .

* .

* ticker initial

* eh

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-08-31 01:32:36 +02:00
f4bf017921 Unit Test rework & Master/Ticker update (#17912)
* Unit Test rework & Master/Ticker update

* Fixes and working unit testing

* Fixes

* Test fixes and FA update

* Fixed runtimes

* Radio subsystem

* move that glob wherever later

* ident

* CIBUILDING compile option

* Fixed runtimes

* Some changes to the workflow

* CI Split

* More split

* Pathing

* Linters and Annotators

* ci dir fix

* Missing undef fixed

* Enable grep checks

* More test conversions

* More split

* Correct file

* Removes unneeded inputs

* oop

* More dependency changes

* More conversions

* Conversion fixes

* Fixes

* Some assert fixes

* Corrects start gate

* Converted some README.dms to README.mds

* Removes duplicate proc

* Removes unused defines

* Example configs

* fix dll access viol by double calling

* Post-rebase fixes

* Cleans up names global list

* Undef restart counter

* More code/game/ cleanup

* Statpanel update

* Skybox

* add

* Fix ticker

* Roundend fix

* Persistence dependency update

* Reordering

* Reordering

* Reordering

* Initstage fix

* .

* .

* Reorder

* Reorder

* Circle

* Mobs

* Air

* Test fix

* CI Script Fix

* Configs

* More ticker stuff

* This is now in 'reboot world'

* Restart world announcements

* no glob in PreInit

* to define

* Update

* Removed old include

* Make this file normal again

* moved

* test

* shared unit testing objects

* Updates batched_spritesheets and universal_icon

* .

* job data debug

* rm that

* init order

* show us

* .

* i wonder

* .

* .

* urg

* do we not have a job ID?

* .

* rm sleep for now

* updated rust-g linux binaries

* binaries update 2

* binaries update 3

* testing something

* change that

* test something

* .

* .

* .

* locavar

* test

* move that

* .

* debug

* don't run this test

* strack trace it

* cleaner

* .

* .

* cras again

* also comment this out

* return to official rust g

* Update robot_icons.dm

* monitor the generation

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-08-10 01:37:23 +02:00
KashargulandGitHub 7afc661c59 some oversights (#18157) 2025-08-05 01:07:45 +02:00
39a0bcd60e Encode changes (#18052)
* change encode

* guhh

* .

* .

* .

* Update code/game/antagonist/antagonist_objectives.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/clothing/spacesuits/rig/modules/specific/voice.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/news/new_newspaper.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/admin/DB ban/functions.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/tgui/modules/communications.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/human.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/human.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2025-08-05 00:19:22 +02:00
84dc5535dc var/global/list -> GLOB. conversion (#17928)
* These two are easy

* !!!runlevel_flags

the fact it was global.runlevel_flags.len has me a bit...iffy on this.

* !!!json_cache

Same as above. used global.

* player_list & observer_mob_list

* mechas_list

* this wasn't even used

* surgery_steps

* event_triggers

* landmarks_list

* dead_mob_list

* living_mob_list

* ai_list

* cable_list

* cleanbot_reserved_turfs

* listening_objects

* silicon_mob_list

* human_mob_list

* Update global_lists.dm

* joblist

* mob_list

* Update global_lists.dm

* holomap_markers

* mapping_units

* mapping_beacons

* hair_styles_list

* facial_hair_styles_list

* Update global_lists.dm

* facial_hair_styles_male_list

* facial_hair_styles_female_list

* body_marking_styles_list

* body_marking_nopersist_list

* ear_styles_list

* hair_styles_male_list

* tail_styles_list

* wing_styles_list

* escape_list & rune_list & endgame_exits

these were all really small

* endgame_safespawns

* stool_cache

* emotes_by_key

* random_maps & map_count

* item_tf_spawnpoints

* narsie_list

* active_radio_jammers

* unused

* paikeys

* pai_software_by_key & default_pai_software

* plant_seed_sprites

* magazine_icondata_keys  & magazine_icondata_states

* unused

* ashtray_cache

* light_type_cache

* HOLIDAY!!!

this one was annoying

* faction stuff (red?!)

* Update preferences_factions.dm

* vs edit removal

* backbaglist, pdachoicelist, exclude_jobs

* item_digestion_blacklist, edible_tech, blacklisted_artifact_effect, selectable_footstep, hexNums, syndicate_access

* string_slot_flags and hexdigits->hexNums

* possible_changeling_IDs

* vr_mob_tf_options

* vr_mob_spawner_options

* pipe_colors

* vr_mob_spawner_options

* common_tools

* newscaster_standard_feeds

* Update periodic_news.dm

* changeling_fabricated_clothing

* semirandom_mob_spawner_decisions

* id_card_states

* Update syndicate_ids.dm

* overlay_cache & gear_distributed_to

* more

* radio_channels_by_freq

* Update global_lists.dm

* proper

* default_medbay_channels & default_internal_channels

default_internal_channels is weird as it has a mapbased proc() but that proc is never called...

* valid_ringtones

* move this

* possible_plants

* more

* separate these

moves xeno2chemlist from a hook to a new global list.

* tube_dir_list

* valid_bloodreagents & monitor_states

* Junk

* valid_bloodtypes

* breach_burn_descriptors & burn

* more!!

appliance_available_recipes seems uber cursed, re-look at later

* Appliance code is cursed

* wide_chassis & flying_chassis

* allows_eye_color

* all_tooltip_styles

* direction_table

* gun_choices

* severity_to_string

* old event_viruses

* description_icons

* MOVE_KEY_MAPPINGS

* more more

* pai & robot modules

* Update global_lists.dm

* GEOSAMPLES

Also swaps a .len to LAZYLEN()

* shieldgens

* reagent recipies

* global ammo types

* rad collector

* old file and unused global

* nif_look_messages

* FESH

* nifsoft

* chamelion

* the death of sortAtom

* globulins

* lazylen that

* Update global_lists.dm

* LAZY

* Theese too

* quick fix

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-07-14 20:14:31 +02:00
c8aff28c5b space cleanup (#17300)
* space cleanup

* this

* this too

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-03-14 06:37:13 -04:00
KashargulandGitHub 46bea7cfa2 Initialize fixing (#17279)
* Initialoize fixing

* diff fix

* add init grep test

* fixed missed ones

* .

* some more

* ,
2025-03-08 13:59:29 -05:00
cb56adaa37 more font tag replacements (#17123)
* more font tag replacements

* few more

* more span conversion (#9)

---------

Co-authored-by: Nadyr <41974248+Darlantanis@users.noreply.github.com>
2025-03-01 11:58:58 -05:00
KashargulandGitHub 7266c4c5dc more missing tags (#16937)
* more missing tags

* only some books have...

* .

* some more

* Update admin.dm

* finish it up
2025-01-21 18:27:01 -05:00
Kashargul 49d89c0059 usr to user up to player effects 2024-11-12 00:10:20 +01:00
KashargulandGitHub b594520a74 next set of spans (#16434)
* next set of spans

* some more

* next

* next

* next

* .

* text...

* next... rest soon

* .

* .

* ok last set for the night

* .

* .

* .

* .

* some more

* next

* next

* all for now

* .

* some more easy ones

* some more easy ones

* .

* .

* some more bolds

* oups auto complete moment

* add the remaining spans

* this as well

* this as well

* .

* .,

* resync them properly
2024-10-16 23:37:27 +02:00
Guti b6e27b3358 Restores the sounds for all the items 2024-10-07 19:37:23 +02:00
Kashargul a2c673ab7a refactors most spans 2024-10-02 21:10:31 +02:00
Guti f4f5476121 Merge branch 'master' into weapon-removal 2024-09-18 18:07:43 +02:00
Kashargul a123f87e68 some mind jobs 2024-09-12 23:48:31 +02:00
Kashargul fd8f991c64 move radio channels to defines 2024-09-12 00:35:14 +02:00
Guti 409aaba802 Remove 2024-09-09 02:36:53 +02:00
KashargulandGitHub 2f19f66cc5 default tgui alert input handling (#16241)
* default handling

* do not push that

* fix

* .

* .
2024-09-02 04:27:26 +10:00
DrathekandGitHub 7c8bb85de3 Whitespace Standardization [MDB IGNORE] (#15748)
* Update settings

* Whitespace changes

* Comment out merger hooks in gitattributes

Corrupt maps would have to be resolved in repo before hooks could be updated

* Revert "Whitespace changes"

This reverts commit afbdd1d844.

* Whitespace again minus example

* Gitignore example changelog

* Restore changelog merge setting

* Keep older dmi hook attribute until hooks can be updated

* update vscode settings too

* Renormalize remaining

* Revert "Gitignore example changelog"

This reverts commit de22ad375d.

* Attempt to normalize example.yml (and another file I guess)

* Try again
2024-02-20 11:28:51 +01:00
Kashargul e4b62dfa35 remove static chat colour tags 2024-01-21 12:34:53 +01:00
VerySoft 415742c4f0 c: 2022-12-21 04:34:05 -05:00
NovacatandGitHub 1aa4c73e8d Revert "[MIRROR] /atom New() => Initialize() [MDB IGNORE]" 2022-08-27 08:49:56 -04:00
MistakeNot4892 d717a4b50a Merge branch 'master' of https://github.com/VOREStation/VOREStation into upstream-merge-8298 2022-08-25 14:26:20 +10:00
VerySoft 266b1a2afe Last one??? 2022-06-29 00:08:44 -04:00
VerySoft e3fe41a70c Another one 2022-06-28 07:06:44 -04:00
VerySoft dc79359d34 Me go sleeb 2022-06-27 06:20:03 -04:00
VerySoft edcad9902f Account for Sleevecards and mild pAI use screen revamp
Sleevecards don't normally get the directives window, so! This makes it so their directives UI button lets them know that they don't have any directives!

This also allows sleevecards to be emagged! An emagged sleevecard gets directives and the typical pAI card use screen that lets someone register themselves as their master and set directives.

This also modifies the pAI card use screen a little bit, to make the name more prominent, and colored the same as the pAI screen/eye color! Also added the current pAI health to the screen.
2022-06-24 22:21:29 -04:00
TankTheBirb ee92df03e6 pAIs can now be holstered!
Quick draw your funky computer friends and throw them at people! Or Don't!
2022-06-23 18:37:30 -04:00
CaseyandGitHub fede7d1ec7 Merge pull request #13136 from Very-Soft/paiqol
pAI QOL
2022-06-21 06:14:15 -04:00
VerySoft d1c3682e8f pAI QOL
Several tweaks and changes for pAI:

pAI banning:
clicking pAI cards and using the pAI alert ghost verb checks to see if you are banned from playing pAI now. Before only the original recruit prompt checked to see if you were banned from playing pAI! Now all existing forms of joining or asking to play as a pAI should check.

folding and bellies:
now if you end up in a belly as a pAI and you fold up, your card will land in the belly, instead of on the floor (unfolding already has a check to make it impossible to unfold while in a belly, since there's not enough space)

self add to recruit list:
Now when you click a pAI card as a ghost, or use the pAI alert ghost verb, you will be given the option of adding yourself to the pAI recruit list. If you do this, then anyone who checks their pAI cards could choose to pick you! You can of course also just not do this, and use both options as normal otherwise.

Originally you could only add yourself to the recruit list after someone had activated a pAI card and requested personalities. (And then promptly forgot to actually ever check back in with the device again. UWU)

pAI radio:
previously the pAI radio had just been a normal shortwave radio, with all the complications and limitations that implies

thanks to heroman's help though, pAIs now have a normal radio! It's channel access even still gets expanded or restricted based on its present available access, rather than dealing with headset keys! (since it needs to get that access from working with someone anyway)

With this, pAIs have access to juuuuuust about all the basic features one would kind of expect them to. 

There's still plenty of things to tweak and add, but these changes should bring them much more in line with what I think can be called 'complete'

All their stuff works I think!!!
2022-06-21 05:51:56 -04:00
ItsSelis fe3ad3b6ab Chaplain, multiline stuff and decimals 2022-06-20 18:39:09 +02:00
VerySoft ff15d9031b New pAI verb
Screen Message allows a pAI to display a message on their screen.

This makes it so the message can be read if you open the card interface, and, if you happen to be holding the card in one of your inventory slots that isn't a container of something else (or if you have them in your PDA or tummy), then it will print the message in the chat.

I decided to let it work for the tummy thing despite not making logical sense because people use bellies for all kinds of stuff, and it's not like you can powergame this so WHATEVER!!!!!!!!!!!!!!!

Logs anything you write to this into say, annnnd. Yeah!

This should let people who like to play mute pocket friends (me) quietly talk to the person holding the card, even when comms are down! (wow!)
2022-06-19 07:14:49 -04:00
ItsSelis 06c9b26252 Input Conversion Part 1 2022-06-19 03:05:03 +02:00
VerySoft 4b1dde3872 Yet more pAI tweaks!
Makes a 'Save Configuration' verb, that saves your name, flavortext, eye color, chassis, and card emotion! 

Then, to go with this, updates the various ways to become a pAI to allow you to load your configuration data into the pAI, rather than having to manually enter it every time. 

Also makes the ghost notification verb and the 'new personality submitted' message both print the same message, and puts it on a 5 minute cooldown so it can't be spammed too often (the ghost one still makes the screens light up as often as you push it, it just only prints the message in the chat every so often)

Additionally, tweaks the release all proc so that it won't trigger the release message and sound when the only targets inside of you are absorbed and it's not releasing absorbed people.

Also removes the admin notification when people use the 'Adjust Mass' verb to not deliver an admin notification, because it doesn't reeeally matter? It's the kind of message we never pay any attention to. So! Instead I changed it to log it instead, so it can still be investigated if need be, but without clogging up chat.
2022-06-06 23:25:35 -04:00
VerySoft b55267fe12 Another pAI update
Gives them some of the UWUey verbs and wiggles a few things around to better account for pAIs, such as:

Devouring and digesting pAI cards now respects the player's prefs on the matter

Characters that are absorbed do not get released when the card folds up.

Additionally, pAIs get the dominate predator/prey verbs

also pAIs have another new chassis
2022-06-05 17:40:43 -04:00
VerySoft bb6ed41118 Makes new pAI obtainable
Also adds teppi pAI
2022-06-04 15:30:20 -04:00
VerySoft a8b4600917 One more updoot 2022-06-04 04:55:37 -04:00
VerySoft 67afdfe99e Updoot 2022-06-03 18:47:19 -04:00
VerySoft 38724d4d4c [WIP] pAI tweaks and upgrades
Changes some things around! 

Removes the 'wipe' button from pAI's interface, since I think there being an instant 'kill player' button is pretty lame, especially since most pAIs activate on their own without a master. They're easy enough to kill or contain without this, so I don't see it as necessary. If you want to kill your pAI friend just eat them. :U

Removes the 'pAI Suicide' verb, and renames the 'Wipe Personality' to 'Enter Storage' and moved it from the OOC tab to the pAI Commands tab. Killing a pAI deletes the card and all that, where the 'Enter Storage' verb deletes the card and spawns a new one that can be used, which! I think it more appropriate.

Makes it so that, when damaged, pAIs will slowly regenerate while folded up, at a rate of 0.5 brute and burn per life tick, where previously it had been impossible to recover health outside of admin intervention.

Updated the Universal Translator with many of the newer languages that aren't obviously for events or hivemind type things.

Added the same emotes that humans can use to pAIs

Added an alternative pAI card style, and rearranged the expressions for the cards a little bit, and added one more.

Plan to add more pAI chassis to play with
2022-06-02 20:13:52 -04:00
ItsSelis d30a55e12a Allow numbers in pAI name 2022-05-09 20:18:43 +02:00
FartMaster69420 068709a116 Reworking procs
Making eject and insert pai procs machine agnostic, so any machine can be coded to support pAIs.
2022-05-02 12:14:30 -04:00