* Refactor /mob/unEquip.
* fix things found in testing
* more fixes from testing
* fix removal of hooded suits
* fix flayers inability to deploy swarmprod
* fix changeling blade activation
* unnecessary parens
* pass default unequip args to proc overrides
* fix belts being able to forceMove into full hands
* IT WORKS UP UNTIL THIS POINT
* Consolidates SLOT_FLAG and SLOT_HUD into one
* Remove cover_both_ears
* SLOT_HUD to ITEM_SLOT
* Remove clothing_trait changes for the time being
* Remove accidental copy-paste
* Re-add no-slip var
* More failure to copy-paste correctly
* Leftover flag
* Combine left and right slot flags where possible
* UNGOOF MY DEFINES, PHAND IS NOT A THING
* Minor spacing changes
* Some more fixes from merge
* Seperates ITEM SLOT AMOUNT into two defines
* ON SECOND THOUGHT LETS NOT DO THAT.
* Addresses Contra's review
* Thank you GREP
* Rename ITEM_SLOT_FEET to ITEM_SLOT_SHOES
* Added a comment to the bitmasks in clothing defines
* Rename ITEM_SLOT_TIE to ITEM_SLOT_ACCESSORY
* These are for a seperate PR.
* Magboot fixes
* Requested changes
* Re-add accidental removal
* Wrong flags
* Update code/__DEFINES/clothing_defines.dm
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Chap <erwin@lombok.demon.nl>
* Requested changes
* Merge fixes
* Fix double headset
* Fixes multiple accessories
---------
Signed-off-by: Chap <erwin@lombok.demon.nl>
Co-authored-by: Adrer <adrermail@gmail.com>
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
* undo all of it
* flags
* back
* head/mask
* left
* right
* Cuffs
* other name changes
* ID and PDA
* idk about calling them SLOT_HUD now
* glasses, gloves, and shoes, oh my!
* the rest
* comment
* step 1
* renaming 1
* how could I forget this
* renaming 2
* renaming 3
* add matching proc, even if unused can remove later
* rename team obj to match
* oops
* okay more stuff
* okay more stuff
* fix this stuff
* okay more stuff
* needs_target = FALSE
* OKAY MORE STUFF
* OOPS AGAIN.
* self-review
* more round_end stuff
* stuff 119
* yeah fix that too
* EVEN MORE CHANGES
* grammar
* fix
* s34n review
* fixes custom teams with no antags not showing objs
* makes objectives work properly with teams
* a
* Medical and RnD DMI files split
* Cargo DMI split
* Security DMI split
* Engineering DMI split
* Captain DMI split
* Civilian/service DMI split
This one hurt
* Forgot about this one
* Color DMI split
* Purges everything that was delted up until this point
... with a blindfold and a shotgun
* Dress and suit DMI split
* Pants and shorts DMI split
and merges pants and shorts files... shorts are pants, right?
* Donator/fluff jumpsuit clothing organisational relocation
* e
oops
* So this is used, repath bad
* Random commit
* Costumes DMI split and jumpsuits purge
* Some fixes
* pennywise
* Centcom DMI split
* SolGov DMI split
* Retro DMI split
* Syndicate DMI split
* Misc DMI split
* centcom officer
* Kills off uniform.dmi completely
* last fixes
* lastest fixes
* vox navy gold conflict
* civilian barber
* Tourist observers work now
* Hopefully working non-human humanoid clothing
* This being in suit.dmi is one of the reasons I made this PR
* This shouldn't be here
* Late night coding
* Pun Pun regains his drip
* Last fixes
* security/OFFICER
* Most important - clown fix
* working subtypes good
* Fixes chameleon jumpsuit
* Proper QM pathes
* Fixes jumpsuit rolling with the power of poor quality code
* Cargo tech character setup fix
* else instead
why didn't I do this in the first place
* PURP
* Fixes broken character setup job clothing
* CC suit fix
* Psychedelic jumpsuit proper path
* You must wear the jumpsuit to adjust it
* Handlers converted, now to fix 3532 compile errors
* 3532 compile fixes later, got runtimes on startup
* Well the server loads now atleast
* Take 2
* Oops
Adds a new martial art: Highlander Style!
- Wielders of the powerful Highlander claymores are imbued with this
mythical prowress. Should your both your hands ever lack a grip on a
Highlander claymore, you will relinquish your newfound skill.
- Highlander Style grants immunity to ranged attacks and an unwavering
distain of cowardly guns. Just like with Sleeping Carp, you will deflect
projectiles and cannot fire guns (but can pick them up to throw in the
trash where they belong).
Adds new weapon: Highlander Claymore
- Grants the wielder the Highlander Style while held in either hand.
- Normal claymores were left in, but do not provide the martial art (so
they are "safe" to use outside highlander)
Minor refactor to martial arts which prevent use of guns.
- No longer relies on the name of the style, but rather the new
aptly-named var: `can_use_guns`
🆑
rscadd: Adds Highlander Style, granted to the wielder of Highlander
Claymores. This martial art allows you to deflect ranged attacks from
the weapons of COWARDS. FOR THE HONOR OF THE HIGHLANDERS!
tweak: Highlander now equips combatants with a Highlander claymore
instead of a normal claymore. FIGHT ON BROTHERS!
/🆑
Players:
- The only thing that you should notice is that your backpack options
have changed. Instead of being "None", "Backpack", "Satchel", and
"Satchel Alt", there are 6 options:
- "Grey Backpack": Ensures you always recieve a plain grey backpack.
- "Grey Satchel": Same as the above, grey, plain, satchel.
- "Grey Dufflebag": So you don't have to rush the locker room, I
guess. Just kinda ransacked it from /tg/. Happy to revert it, please
do not post a five paragraph text wall calling me a shitlord
powergaming hitler-loving furry.
- "Leather Satchel": It's a leather satchel. What the hell did you
think it was?
- "Department Backpack": Gives you the department's default backpack.
Grey for most jobs.
- "Department Satchel": It gives you the department's default
satchel; A grey satchel if the department doesn't have one.
Coders:
- The above means this needs a minor SQL change:
```
SQL goes here
I'll write a query later
Can't be bothered now
Kill me please
```
- This is a cleaner method of handling job equipment than
"M.equip_or_collect" x 1000. Jobs specify a '/datum/outfit' datum,
which defines all of the things to equip to the user.
- Minor note: equip_or_collect will no longer ever generate a plastic
bag. It will instead just drop stuff on the floor if it can't stuff it
into a mob. If this is even slightly a point of contention, more than
happy to revert it; It was just requested by Fox.
- Addendum: This also has the effect of making it so that labcoats
are just thrown onto the floor if you have a loadout suit. It's not
really avoidable. Uniforms and suits are equipped before the
backpack.
- Changes from /tg/:
- Changed all of the "H.equip_to_slot_or_del" calls into invoking a
new "equip_item" proc; This is used to support a new variable called
"collect_not_del". Job outfits use this, it makes it so that the
system calls equip_or_collect instead of equip_to_slot_or_del. The
idea being that job items should never be lost to the void,
especially because they can conflict with loadout items.
TODO:
- Retrofit "Equip Mob" verb to use this for all of the non-job options
- Fully implement head announcements(?)
- May be best for a second PR that addresses all of the real issues
with our current job system
( Now go reread that SQL code block :) )
Refactored most instances of special_role setting/checking to use new
SPECIAL_ROLE_X defines in code/__DEFINES/gamemode.dm
Removed relative pathing from objective.dm and split large if statements
into multiple, plus a bunch of styling fixes
Refactored every instance of `istype(ticker.mode` into a GAMEMODE_IS_X
define in code/__DEFINES/gamemode.dm. Done primarily for when someone gets
around to making gamemode code less AWFUL
Highlander and Dodgeball will now view Vox as incompatible species and
convert them into humans to avoid issues with deleting their much-needed
internals
- Already did this for plasmamen
Adjusts team selection for Dodgeball to hopefully result in consistently
"balanced" teams (in terms of numbers)
- Rather than relying on a if(prob(50)) check, it now just switches back
and forth with each successful team addition
Adds a new admin panic button: "Del Singulo / Tesla"
- After a confirmation, deletes ALL singularities and tesla orbs across
all z-levels (except away missions and cent-comm), regardless of
containment
Not gonna changelog this since it's non-player stuff
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
Removed the last of the old promotion/demotion code.
Permissions panel accessible via player panel.
Uncommented the attack log verb. I mistakenly thought it wasn't used.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5102 316c924e-a436-60f5-8080-3fe189b3f50e
Code-wide changes: /mob -level procs:
equip_if_possible() is now known as equip_to_slot_or_del() to prevent confusion with equip_to_slot_if_possible() and to better describe what it does.
equip_to_slot_if_possible(item, slot, del_on_fail, disable_warning, redraw_mob)
equip_to_appropriate_slot() is now a /mob - level proc.
equip_to_slot() is an unsafe proc, which just handles the final step of actually getting an item onto the mob. It has no checks of whether it can or can't do that. Use equip_to_slot_if_possible() for that purpose.
New /obj/item -level proc:
/obj/item/proc/mob_can_equip(M as mob, slot, disable_warning = 0)
This proc can be used to determine whehter a mob can pick up an item from the item's side.
Carn, I'll need you to review code/modules/mob/living/carbon/human/inventory.dm to ensure that I'm not redrawing the mob too many times.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4423 316c924e-a436-60f5-8080-3fe189b3f50e
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...
Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)
These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.
Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.
If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.
Mob related in worlds before this commit: 1262
After: 4
I'm helping
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
Adds greater changeling code, but doesn't change the genome count yet on it.
Renames registered to registered_name on IDs because bs12 had it and it seemed like a good idea to do last night. For some reason.
Adds an afterattack to mobs that can be used. (In fairness, lots of shit in attack_hand should be in there instead, like stungloves and stuff, to minimize duplicated code)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3537 316c924e-a436-60f5-8080-3fe189b3f50e
- added feedback logging for newscasters
- added feedback logging for admin verbs
- added shuttle timers to escape pods
- added feedback logging to chemical reactions
- clipboard can now fit on your belt
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3465 316c924e-a436-60f5-8080-3fe189b3f50e