Commit Graph

95 Commits

Author SHA1 Message Date
kingofkosmos
c3ea51908d Adds "you" to local visible_messages (#45631)
* adds "you" to some combat visible_messages.

* more you-messages and attack verbs to present tense.

* small fixes

* more additions and small fixes

* few message tweaks

* Fixes a typo and few other wordings.
2019-08-06 02:15:34 -07:00
nemvar
ccbb0a91d7 Cleans up some martial art code. (#45502)
* Removes/Moves some weirdly placed variables in martial arts. Splits NO_GUNS and CHUNCKY_FINGERS traits.

* Maybe this should actually compile

* c begone
2019-08-05 16:58:12 -07:00
nemvar
cd9b898ef4 Cleans up sleeping carp exclusive code in human_defense.dm (#45132)
* Cleans up sleeping carp exclusive code in human_defense.dm

* BULLET_ACT_HIT
2019-07-18 20:58:36 -07:00
tralezab
43ecae6fa2 sleeping carp now deflects projectiles in random directions (#42647)
* bad ass shit

* durr

* nice

Co-Authored-By: tralezab <40974010+tralezab@users.noreply.github.com>
2019-02-08 11:56:25 -05:00
MadmanMartian
7108b2919e Adds helpers for finding martial arts types (#42045)
cl
code: Adds helpers for finding if a user has a martial art type
/cl

[why]: requested in coderbus, as somebody is making a new martial art or something.
2018-12-30 00:57:02 +13:00
Qustinnus
b9f5dbac6b Adds a new race: Ethereal (also adds wrappers for nutrition adjustment) (#40995)
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl

Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.

They have the following specifications:

    They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
    They do burn punch damage instead of blunt.
    They are weaker to blunt; especially when low on charge
    They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
    They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
2018-11-29 10:09:56 +13:00
kevinz000
3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
Patrick Chieppe
2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
kevinz000
b2f860620a fixes cqc working outside chef assigned areas (#37375)
* cqc

* Update martial.dm

* Update cqc.dm

* Update cqc.dm

* Update human_defense.dm

* Update human_defense.dm

* Update human_defense.dm
2018-04-24 11:23:32 -04:00
AnturK
5ad59da350 Prefixes apply_effect flags, fixes unconcious define conflict 2018-03-31 16:31:11 +02:00
ShizCalev
8acf82ab93 martial art sanity check 2018-01-22 16:42:58 -05:00
food
58c0be66a3 Makes martial arts not be deleted 2017-07-06 11:04:51 -04:00
Really-Good-Soda-Flavor
d23c6f910d Checks for temporary martial arts on mind transfer (#28746)
* Checks for temporary martial arts on mind transfer

* Makes transferring its own proc

* Makes sure martial arts are qdeleted on removal

* Improves teaching and removing
2017-07-04 11:34:05 +02:00
Joan Lung
2672d88800 Renames stun effects and changes stun input values as preliminary work for changing stuns to status effects (#28524) 2017-06-18 23:03:51 -03:00
Really-Good-Soda-Flavor
41294bd58d Reorganizes martial arts and stores them in the MIND. (#27324)
* Reorganizes martial arts and stores them in the MIND.

* Moves martial arts to mind.

* Added more sanity checks

* MORE sanity checks!

* Fixes the checks.
2017-05-22 14:12:27 +02:00
c0
ee049b38de Changes some << to to_chat 2017-04-27 04:20:26 +03:00
Profakos
7f8baa1131 CQC disarms respects no drop (#25954) 2017-04-08 11:29:21 -03:00
Iamgoofball
49b58e2e53 Remembers the Basics (#25958) 2017-04-07 22:40:51 -05:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
oranges
60a9891994 Tweaks to logging around disarms, general code cleanup (#25329)
The mob add_log helper has been improved to be more readable and do less
work over and over

Disarms now log the item they disarmed if applicable
Some found old code was chopped out and improved
2017-03-25 19:29:49 +01:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Cyberboss
e9b01e6f4f Kills off an arbitrary number of spawn()s (#24730)
* Kills off an arbitrary number of spawn()s

* Fix the shit
2017-03-08 09:44:24 +13:00
Cruix
74f0214a14 Made temporary martial arts not override sleeping carp (#23287)
* Made temporary martial arts inherit the inability to use guns from their base martial art.

* Made sleeping carp not able to be overridden by temporary martial arts

* Made sleeping carp respect the make_temporary parameter
2017-01-30 10:04:52 +13:00
Kyle Spier-Swenson
bee4b132a3 [READY]Makes addtimer use callbacks (#22660)
* Makes addtimer use callbacks

* I broke the comment

* I fucked up the regex

* this was a silly idea.
2017-01-04 16:02:56 +13:00
Mervill
0972f78800 a_intent now uses defines 2016-12-02 22:27:30 -08:00
Mervill
09ea5ad2e5 w_class now uses defines 2016-12-01 21:33:14 -08:00
Cyberboss
e37f807941 Fixes the false armblade removal timer. Refactors addtimer (#21714)
* Clever girl...

* Make the addtimer unique param safe

* Refactor addtimer calls

* Moved the location of the define so the other SSs can use it
2016-11-25 22:05:58 +13:00
kevinz000
caeec1da09 . 2016-11-17 00:19:09 -08:00
Militaires
889c82a247 CQC tweaks, improvements and fixes [and adds and utilizes martial art blocks) (#21201)
fixes an abusive exploit and makes 2 combos easier to use, increases cqc harm damage, adds martial art block_chance var which is only activated if you have your throw_mode on for active defense.

baton blocks stun the person attempting the attack too, you can now block batons and then throw or chokehold.

makes tc cost for CQC 13 with all the buffs.
2016-11-07 09:01:41 +13:00
Lzimann
90d76b652c You can see your own attack log once again 2016-10-28 17:35:22 -02:00
Joan Lung
7f89fdf39f The range for combat-y visible messages is now a define (#21077) 2016-10-21 15:20:14 +13:00
oranges
97eb86f34d Adjacency check for grab and code move
Fixes human species grabs not checking for adjacency before grabbing
when using the ctrl click hotkey.

Moves the code into the click code and not down in the martial arts code
2016-10-19 21:55:34 +00:00
oranges
86a8d8a7f5 Merge pull request #20962 from phil235/hit_message
No more message spam when you witness someone being attacked or shot
2016-10-18 09:17:41 +13:00
Militaires
2431e709b8 CQC PR AGAIN and does what orangus wanted. (#20932)
A third martial art, CQC, has been added and is now available to nuke ops instead of sleeping carp

added leg sweeps by resting and then harming someone, so that you can flank someone by pretending to be crit or ded henk, not putting it in the recall teachings cause im a memer like that

new: CUSTOM CQC SOUNDS
2016-10-18 09:11:02 +13:00
phil235
f9c71fbfb0 Made some slightly less uglier sprites for attack effects.dmi
Melee attacks, gun firing, and things being hit by bullets will now still give witnesses a message, but only if they are less than 3 tiles away. The attacker still doesn't get the message for its own attacks.

I added two arguments to visible_message(), one to specify the visibility range, and one to ignore a specific mob that shouldn't get the message.
2016-10-15 16:10:28 +02:00
phil235
1ea0e47aa4 Visible_message() when being attacked by melee or projectile is replaced by a simple message only to the target instead of all viewers.
The message when firing a gun is removed.
To keep things balanced melee attacks (punches, alien attacks, animal attacks, etc...) now show a visual effect (similar to what we current have with item attacks.
Fixes muzzle flash effect not appearing for mech guns.
Fixes muzzle flash effect not appearing for certain ranged animal.
Fixes the item attack effect not being visible to camera viewers and mech occupants.
Fixes toy guns foam dart not dropping on the ground when shooting a mob on the same tile as us.
Fixes toy smg magazine sprite being invisible sometimes.
Fixes foam dart not facing the correct direction when fired.
Changes the bullet projectile sprite to have a slight tracer effect so as to be more visible.
2016-10-13 19:21:30 +02:00
Joan Lung
bdcb16113a Adds a few turf istype helpers (#20754)
* a very calming act
when the world is too much, too fast

* i'm tired
but i have to be efficient, infinite

* lick your lips at the sight of me
a fantasy made reality
2016-10-01 19:25:46 +02:00
phil235
443a4501ec Carbon Dismemberment , second attempt. (#20461)
* - I rearranged X_defense.dm mob files, more damage_procs.dm.Here's what's inside:
* X_defense.dm: is for the procs of attacks onto the mob, all the XXX_act() proc (things happening to the mob), as well as protection check and get procs (armor, ear prot, projectile dismemberment)
* damage_procs.dm: actual damage procs like adjustBruteLoss() getfireloss, any proc that handles damaging.

- some bugfixes with gibspawner effects.
- monkey's bodyparts can be dismembered and are used to create its icon.
- brains are no longer carbons.
- all carbon have bodyparts that can be dropped when the mob is gibbed.
- adminspawned bodyparts now have a default icon.
- robotic parts are now a child of bodyparts.
- health analyzer on alien/monkey shows damage on each limb
- added admin option to add/remove bodyparts for all carbon (instead of just remove on humans)
- Fixes keycheck message spam for janicart and all when trying to move.
- Fixes bug with buckling to a scooter while limbless.
- removed arg "hit_zone" in proj's on_hit() because we can already use the def_zone var (where hit_zone got its value)
- Fixes mob not getting any damage when hit by a projectile on their missing limb, despite a hit message shown). carbon/apply_damage() now when we specify a def_zone and the corresponding BP is missing we default to the chest instead of stopping the proc. Consistently with how human/attacked_by() default to its attack to chest if missing limb.
- Fixes mini uzi icon when empty and no mag (typo).
- I renamed and changed a bit check_eye_prot and ear prot
- renamed flash_eyes to flash_act()
- I made a soundbang_act() similar to flash_act but for loud bangs.
- added a gib and dust animation to larva.
- husked monkeys
- no damage overlay for husk or skeleton.
- damage overlay for robotic limb now.
- no damage overlay when organic bodypart husked.
- one handed human with a bloody hand still get a bloody single hand overlay.
- fix admin heal being unable to heal robotic bodyparts.
- slightly touched robotic bodypart sprites (head one pixel too high)
- Fixes 18532 "beheaded husk has hair".
- Fixes 18584 "Ling stasis appearance bug"
- no more eyes or lipstick on husks.
- can remove flashes/wires/cells from robot chest and head with crowbar.
- Fixes not being able to surgically amputate robotic arm/leg.

* More merge conflict fixes and adding the new files I forgot to add.

* of course I forgot birdstation

* More typos and stuff I forgot to undo.

* Fixing a typo in examine.dm
Removing an unnecessary check.
Making admin heal regenerate limbs on all carbons.
Monkey-human transformation now transfer missing limbs info and presence of a cavity implant.
NODISMEMBER species can still lack a limb if the mob lacked a limb and changed into that new species.
Changeling Regenerate ability now also regenerate limbs when in monkey form. (and remove some cryptic useless code)

* Fixing more conflicts with remie's multihands PR.

* Fixes runtime with hud when calling build_hand_slots().
Fixes lightgeist healing not working.
Fixes null.handle_fall() runtimes with pirate mobs.
Fixes typo in has_left_hadn() and has_right_hand().

* Derp, forgot to remove debug message.
2016-09-12 19:33:50 +02:00
Remie Richards
00738bd2a3 More than 2 hands!? WHAAAAAAT 2016-09-02 16:10:16 +01:00
KorPhaeron
074bc50fb4 Damage Multiplier Config 2016-08-18 20:19:19 -05:00
kevinz000
3ba9053fde Martial Arts Logging (#19092)
In theory I added logging to everything I saw
In practice there's probably a lot of duplicate logs so I either need to test this extensively or someone needs to tell me if I'm duplicating things
Fixes #17809 . In theory.
2016-07-04 14:08:01 +12:00
Remie Richards
fda2c699fc Automatic conversion via Regex 2016-06-11 18:37:48 +01:00
Lzimann
cf87aca7c3 Fix temporary martial arts not working properly 2016-06-01 18:45:23 -03:00
phil235
aab577aae7 Make grab upgrade faster. Passive -> Aggressive is instantaneous (unless you count the 1 second click cooldown, same as between two melee attacks). Upgrading to neck grab or kill grab now takes 3 seconds instead of 4. 2016-05-29 17:14:05 +02:00
phil235
11ca987acb Merges Pull and Grab into a single functionality. Pulling someone is now the same as a passive grab. You can start pulling someone with ctrlclick or by using the grab intent with empty hand. Using the grab intent again on the pulled person tries to grab them aggressively, then neck grab, then kill grab.
Two mobs can no longer pull the same mob at the same time. Pulling someone break any other pull/grab from other mob on that person.

The grab item is gone entirely.

You can now only grab one mob at a time, instead of two (one for each hand).

Being aggressively grabbed or more now counts as being restrained (like handcuffed). A neck grab or more makes you lie down and prevents you from getting up until the grab is broken.

Fixes movement when moving with a grabbed person.
Fixes movement when moving a pulled person around you diagonally.
Fixes neckgrab moving the victim on your turf even if the turf is dense.
2016-05-24 01:28:04 +02:00
phil235
524a55a757 Merge branch 'master' of https://github.com/tgstation/-tg-station into Dismemberment
Conflicts:
	code/datums/martial.dm
	code/game/gamemodes/changeling/powers/fleshmend.dm
	code/modules/mob/living/carbon/carbon.dm
2016-05-05 21:57:10 +02:00
phil235
68da092009 Dismemberment port from Hippie code, based on RemieRichard's work. Big thanks to RemieRichards and crystalwarrior. 2016-05-05 18:17:51 +02:00
Cheridan
6f08be42eb Merge pull request #16933 from Iamgoofball/SNAP-INTO-A-SLIM-JIM
MIGHTY MAN BRANDI BRUTAL HERE TO TEACH YOU ABOUT THE REAL INTER-GALACTIC HEAVYWEIGHT CHAMPION, YOURSELF: Adds a new version of Wrestling to the Championship belt.
2016-05-05 00:50:38 -05:00
phil235
0480790b0a Same things but with structures now. 2016-04-24 20:38:33 +02:00
AndrewJacksonThe2nd
d36bcdb76b MACHO MADNESS
SKY IS THE LIMIT
2016-04-17 02:02:49 -07:00