mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Ports wounds from TG (#11955)
* piss * second set of files * theos feels pain and dies * code works lmao * other stuff * YES YES YES * Update zombies.dm * egg * whoops * bubblegum alt attacks won't wound * bone hurting juice hurts bones * something's fucky wucky * humans are no longer blue space babes but projectile damage is still wack * IT WORKS??????? * other stuff * turns out im big brain and already handled that should be testable live now * WHOOPS * medical pens not in stupid area * fix regen mesh icons * tool_behavior and defines plus allowing wound healing to override surgical tool no touchy bit * should help * mapping problem * fix monkies shitting out blood all the time * going to remove examine_more being stupid * this is stupid i think it works though * Empty commit, more bad code * this probably fdixes something * buckshot buffed back to where it should be * woundings * missed this one * fix gamebreaking bug * turns out damaging ANYTHING causes suit sensors to break whoops * stuff up to limb disable refactor * aid scanner can no longer kill you if you use it too much, preventing the robot uprising for another few decades * Update burn_dressing.dm * wtf * shotgun slugs have a wound bonus of -30 putting them in line with other high damage weaponry that has even less * burn debriding uses the scalpel rather than the hemostat * debriding for patch/treat no longer causes wounds * Give syndicate medical cyborg a bonesetter * like 5 more prs ported * fixes burn ointment and mesh application not having a progress bar * gamemode zombies get easydismember and easily wounded * managed to screw up self cautery this fixes it * carbons can't use check self for injuries but humans can * honey gives +2 sanitization to burns * re-add this if sensors get fixed * should fix a runtime I made on accident when trying to make examine more less jank * last 2 prs and some holdup fixes since these touched on that * set target = src so the progress par shows up i think * Update mutations.dm * fixes twohanded reuqired weapons by reverting some change I don't understand * fixes blood sprites * actually properly fixes the thing Co-authored-by: Gabriel Adamson <adamson.g@gmail.com> Co-authored-by: Jamie D <993128+JamieD1@users.noreply.github.com>
This commit is contained in:
@@ -223,7 +223,7 @@
|
||||
LAZYREMOVE(M.do_afters, src)
|
||||
|
||||
targeted_by = null
|
||||
|
||||
|
||||
QDEL_NULL(light)
|
||||
|
||||
return ..()
|
||||
@@ -497,6 +497,20 @@
|
||||
|
||||
SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .)
|
||||
|
||||
/**
|
||||
* Called when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_TIME (default 1.5 seconds)
|
||||
*
|
||||
* This is where you can put extra information on something that may be superfluous or not important in critical gameplay
|
||||
* moments, while allowing people to manually double-examine to take a closer look
|
||||
*
|
||||
* Produces a signal [COMSIG_PARENT_EXAMINE_MORE]
|
||||
*/
|
||||
/atom/proc/examine_more(mob/user)
|
||||
. = list()
|
||||
SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE_MORE, user, .)
|
||||
if(!LAZYLEN(.)) // lol ..length
|
||||
return FALSE
|
||||
|
||||
/**
|
||||
* An atom we are buckled or is contained within us has tried to move
|
||||
*
|
||||
@@ -1110,6 +1124,40 @@
|
||||
var/reverse_message = "has been [what_done] by [ssource][postfix]"
|
||||
target.log_message(reverse_message, LOG_ATTACK, color="orange", log_globally=FALSE)
|
||||
|
||||
/**
|
||||
* log_wound() is for when someone is *attacked* and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over
|
||||
*
|
||||
* Note that this has no info on the attack that dealt the wound: information about where damage came from isn't passed to the bodypart's damaged proc. When in doubt, check the attack log for attacks at that same time
|
||||
* TODO later: Add logging for healed wounds, though that will require some rewriting of healing code to prevent admin heals from spamming the logs. Not high priority
|
||||
*
|
||||
* Arguments:
|
||||
* * victim- The guy who got wounded
|
||||
* * suffered_wound- The wound, already applied, that we're logging. It has to already be attached so we can get the limb from it
|
||||
* * dealt_damage- How much damage is associated with the attack that dealt with this wound.
|
||||
* * dealt_wound_bonus- The wound_bonus, if one was specified, of the wounding attack
|
||||
* * dealt_bare_wound_bonus- The bare_wound_bonus, if one was specified *and applied*, of the wounding attack. Not shown if armor was present
|
||||
* * base_roll- Base wounding ability of an attack is a random number from 1 to (dealt_damage ** WOUND_DAMAGE_EXPONENT). This is the number that was rolled in there, before mods
|
||||
*/
|
||||
/proc/log_wound(atom/victim, datum/wound/suffered_wound, dealt_damage, dealt_wound_bonus, dealt_bare_wound_bonus, base_roll)
|
||||
if(QDELETED(victim) || !suffered_wound)
|
||||
return
|
||||
var/message = "has suffered: [suffered_wound][suffered_wound.limb ? " to [suffered_wound.limb.name]" : null]"// maybe indicate if it's a promote/demote?
|
||||
|
||||
if(dealt_damage)
|
||||
message += " | Damage: [dealt_damage]"
|
||||
// The base roll is useful since it can show how lucky someone got with the given attack. For example, dealing a cut
|
||||
if(base_roll)
|
||||
message += "(rolled [base_roll]/[dealt_damage ** WOUND_DAMAGE_EXPONENT])"
|
||||
|
||||
if(dealt_wound_bonus)
|
||||
message += " | WB: [dealt_wound_bonus]"
|
||||
|
||||
if(dealt_bare_wound_bonus)
|
||||
message += " | BWB: [dealt_bare_wound_bonus]"
|
||||
|
||||
victim.log_message(message, LOG_ATTACK, color="blue")
|
||||
|
||||
|
||||
/atom/movable/proc/add_filter(name,priority,list/params)
|
||||
if(!filter_data)
|
||||
filter_data = list()
|
||||
|
||||
Reference in New Issue
Block a user