mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2025-12-10 10:26:33 +00:00
intent define change
This commit is contained in:
@@ -70,7 +70,7 @@
|
||||
#define INTENT_HELP "help"
|
||||
#define INTENT_DISARM "disarm"
|
||||
#define INTENT_GRAB "grab"
|
||||
#define I_HURT "harm"
|
||||
#define INTENT_HARM "harm"
|
||||
|
||||
//These are used Bump() code for living mobs, in the mob_bump_flag, mob_swap_flags, and mob_push_flags vars to determine whom can bump/swap with whom.
|
||||
#define HUMAN 1
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
*/
|
||||
/mob/proc/RangedAttack(var/atom/A, var/params)
|
||||
if(!mutations.len) return
|
||||
if((LASER in mutations) && a_intent == I_HURT)
|
||||
if((LASER in mutations) && a_intent == INTENT_HARM)
|
||||
LaserEyes(A) // moved into a proc below
|
||||
else if(TK in mutations)
|
||||
if(get_dist(src, A) > tk_maxrange)
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
|
||||
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
|
||||
using = new /obj/screen()
|
||||
using.name = I_HURT
|
||||
using.name = INTENT_HARM
|
||||
using.icon = ico
|
||||
using.screen_loc = ui_acti
|
||||
using.alpha = ui_alpha
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
|
||||
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
|
||||
using = new /obj/screen( src )
|
||||
using.name = I_HURT
|
||||
using.name = INTENT_HARM
|
||||
using.icon = ico
|
||||
using.screen_loc = ui_zonesel
|
||||
using.layer = HUD_LAYER+0.01
|
||||
|
||||
@@ -352,8 +352,8 @@
|
||||
if(INTENT_HELP)
|
||||
usr.a_intent = INTENT_HELP
|
||||
usr.hud_used.action_intent.icon_state = "intent_help"
|
||||
if(I_HURT)
|
||||
usr.a_intent = I_HURT
|
||||
if(INTENT_HARM)
|
||||
usr.a_intent = INTENT_HARM
|
||||
usr.hud_used.action_intent.icon_state = "intent_harm"
|
||||
if(INTENT_GRAB)
|
||||
usr.a_intent = INTENT_GRAB
|
||||
|
||||
@@ -77,7 +77,7 @@ avoid code duplication. This includes items that may sometimes act as a standard
|
||||
/obj/item/proc/attack(mob/living/M, mob/living/user, var/target_zone, var/attack_modifier)
|
||||
if(!force || (flags & NOBLUDGEON))
|
||||
return 0
|
||||
if(M == user && user.a_intent != I_HURT)
|
||||
if(M == user && user.a_intent != INTENT_HARM)
|
||||
return 0
|
||||
|
||||
/////////////////////////
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
if(!gloves && !mutations.len && !spitting)
|
||||
return
|
||||
var/obj/item/clothing/gloves/G = gloves
|
||||
if((LASER in mutations) && a_intent == I_HURT)
|
||||
if((LASER in mutations) && a_intent == INTENT_HARM)
|
||||
LaserEyes(A) // moved into a proc below
|
||||
|
||||
else if(istype(G) && G.Touch(A,0)) // for magic gloves
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
O.adjustToxLoss(M.getToxLoss() + 20)
|
||||
O.adjustOxyLoss(M.getOxyLoss())
|
||||
O.stat = M.stat
|
||||
O.a_intent = I_HURT
|
||||
O.a_intent = INTENT_HARM
|
||||
for (var/obj/item/implant/I in implants)
|
||||
I.loc = O
|
||||
I.implanted = O
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
return
|
||||
|
||||
/obj/item/card/id/guest/attack_self(mob/living/user as mob)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
if(icon_state == "guest_invalid")
|
||||
to_chat(user, "<span class='warning'>This guest pass is already deactivated!</span>")
|
||||
return
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
/obj/machinery/door/blast/attackby(obj/item/C as obj, mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
if(istype(C, /obj/item)) // For reasons unknown, sometimes C is actually not what it is advertised as, like a mob.
|
||||
if(C.pry == 1 && (user.a_intent != I_HURT || (stat & BROKEN))) // Can we pry it open with something, like a crowbar/fireaxe/lingblade?
|
||||
if(C.pry == 1 && (user.a_intent != INTENT_HARM || (stat & BROKEN))) // Can we pry it open with something, like a crowbar/fireaxe/lingblade?
|
||||
if(istype(C,/obj/item/material/twohanded/fireaxe)) // Fireaxes need to be in both hands to pry.
|
||||
var/obj/item/material/twohanded/fireaxe/F = C
|
||||
if(!F.wielded)
|
||||
@@ -141,7 +141,7 @@
|
||||
return
|
||||
|
||||
|
||||
else if(src.density && (user.a_intent == I_HURT)) //If we can't pry it open and it's a weapon, let's hit it.
|
||||
else if(src.density && (user.a_intent == INTENT_HARM)) //If we can't pry it open and it's a weapon, let's hit it.
|
||||
var/obj/item/W = C
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
if(W.damtype == BRUTE || W.damtype == BURN)
|
||||
@@ -171,7 +171,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You don't have enough sheets to repair this! You need at least [amt] sheets.</span>")
|
||||
|
||||
else if(src.density && (user.a_intent == I_HURT)) //If we can't pry it open and it's not a weapon.... Eh, let's attack it anyway.
|
||||
else if(src.density && (user.a_intent == INTENT_HARM)) //If we can't pry it open and it's not a weapon.... Eh, let's attack it anyway.
|
||||
var/obj/item/W = C
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
if(W.damtype == BRUTE || W.damtype == BURN)
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
return
|
||||
|
||||
//psa to whoever coded this, there are plenty of objects that need to call attack() on doors without bludgeoning them.
|
||||
if(src.density && istype(I, /obj/item) && user.a_intent == I_HURT && !istype(I, /obj/item/card))
|
||||
if(src.density && istype(I, /obj/item) && user.a_intent == INTENT_HARM && !istype(I, /obj/item/card))
|
||||
var/obj/item/W = I
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
if(W.damtype == BRUTE || W.damtype == BURN)
|
||||
|
||||
@@ -46,7 +46,7 @@ var/list/floor_light_cache = list()
|
||||
|
||||
/obj/machinery/floor_light/attack_hand(var/mob/user)
|
||||
|
||||
if(user.a_intent == I_HURT && !issmall(user))
|
||||
if(user.a_intent == INTENT_HARM && !issmall(user))
|
||||
if(!isnull(damaged) && !(stat & BROKEN))
|
||||
visible_message("<span class='danger'>\The [user] smashes \the [src]!</span>")
|
||||
playsound(src, "shatter", 70, 1)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
return
|
||||
if(istype(T, /mob/living))
|
||||
var/mob/living/M = T
|
||||
if(src.occupant.a_intent == I_HURT || istype(src.occupant, /mob/living/carbon/brain)) //Brains cannot change intents; Exo-piloting brains lack any form of physical feedback for control, limiting the ability to 'play nice'.
|
||||
if(src.occupant.a_intent == INTENT_HARM || istype(src.occupant, /mob/living/carbon/brain)) //Brains cannot change intents; Exo-piloting brains lack any form of physical feedback for control, limiting the ability to 'play nice'.
|
||||
playsound(src, 'sound/weapons/heavysmash.ogg', 50, 1)
|
||||
if(damtype == "brute")
|
||||
step_away(M,src,15)
|
||||
@@ -102,7 +102,7 @@
|
||||
else
|
||||
if(istype(T, /obj/machinery/disposal)) // Stops mechs from climbing into disposals
|
||||
return
|
||||
if(src.occupant.a_intent == I_HURT || istype(src.occupant, /mob/living/carbon/brain)) // Don't smash unless we mean it
|
||||
if(src.occupant.a_intent == INTENT_HARM || istype(src.occupant, /mob/living/carbon/brain)) // Don't smash unless we mean it
|
||||
if(damtype == "brute")
|
||||
src.occupant_message("You hit [T].")
|
||||
src.visible_message("<font color='red'><b>[src.name] hits [T]</b></font>")
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
else if(istype(target,/mob/living))
|
||||
var/mob/living/M = target
|
||||
if(M.stat>1) return
|
||||
if(chassis.occupant.a_intent == I_HURT || istype(chassis.occupant,/mob/living/carbon/brain)) //No tactile feedback for brains
|
||||
if(chassis.occupant.a_intent == INTENT_HARM || istype(chassis.occupant,/mob/living/carbon/brain)) //No tactile feedback for brains
|
||||
M.take_overall_damage(dam_force)
|
||||
M.adjustOxyLoss(round(dam_force/2))
|
||||
M.updatehealth()
|
||||
@@ -1254,7 +1254,7 @@
|
||||
else if(istype(target,/mob/living))
|
||||
var/mob/living/M = target
|
||||
if(M.stat>1) return
|
||||
if(chassis.occupant.a_intent == I_HURT)
|
||||
if(chassis.occupant.a_intent == INTENT_HARM)
|
||||
chassis.occupant_message("<span class='danger'>You obliterate [target] with [src.name], leaving blood and guts everywhere.</span>")
|
||||
chassis.visible_message("<span class='danger'>[chassis] destroys [target] in an unholy fury.</span>")
|
||||
if(chassis.occupant.a_intent == INTENT_DISARM)
|
||||
|
||||
@@ -854,7 +854,7 @@
|
||||
to_chat(user, "There's already a powercell installed.")
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/weldingtool) && user.a_intent != I_HURT)
|
||||
else if(istype(W, /obj/item/weldingtool) && user.a_intent != INTENT_HARM)
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if (WT.remove_fuel(0,user))
|
||||
if (hasInternalDamage(MECHA_INT_TANK_BREACH))
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
if(!melee_can_hit || !istype(target, /atom)) return
|
||||
if(istype(target, /mob/living))
|
||||
var/mob/living/M = target
|
||||
if(src.occupant.a_intent == I_HURT)
|
||||
if(src.occupant.a_intent == INTENT_HARM)
|
||||
playsound(src, 'sound/weapons/punch4.ogg', 50, 1)
|
||||
if(damtype == "brute")
|
||||
step_away(M,src,15)
|
||||
|
||||
@@ -347,7 +347,7 @@
|
||||
|
||||
/obj/item/shockpaddles/attack(mob/living/M, mob/living/user, var/target_zone)
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!istype(H) || user.a_intent == I_HURT)
|
||||
if(!istype(H) || user.a_intent == INTENT_HARM)
|
||||
return ..() //Do a regular attack. Harm intent shocking happens as a hit effect
|
||||
|
||||
if(can_use(user, H))
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
camera = new camtype(src)
|
||||
|
||||
/obj/item/camerabug/attack_self(mob/user)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
to_chat(user, "<span class='notice'>You crush the [src] under your foot, breaking it.</span>")
|
||||
visible_message("[user.name] crushes the [src] under their foot, breaking it!</span>")
|
||||
new brokentype(get_turf(src))
|
||||
|
||||
@@ -845,7 +845,7 @@
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
if(user.a_intent == INTENT_HELP)
|
||||
user.visible_message("<span class='notice'><b>\The [user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
|
||||
else if (user.a_intent == I_HURT)
|
||||
else if (user.a_intent == INTENT_HARM)
|
||||
user.visible_message("<span class='warning'><b>\The [user]</b> punches [src]!</span>","<span class='warning'>You punch [src]!</span>")
|
||||
else if (user.a_intent == INTENT_GRAB)
|
||||
user.visible_message("<span class='warning'><b>\The [user]</b> attempts to strangle [src]!</span>","<span class='warning'>You attempt to strangle [src]!</span>")
|
||||
@@ -893,7 +893,7 @@
|
||||
return
|
||||
if(user.a_intent == INTENT_HELP)
|
||||
user.visible_message("<span class='notice'><b>\The [user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
|
||||
else if (user.a_intent == I_HURT)
|
||||
else if (user.a_intent == INTENT_HARM)
|
||||
user.visible_message("<span class='warning'><b>\The [user]</b> punches [src]!</span>","<span class='warning'>You punch [src]!</span>")
|
||||
else if (user.a_intent == INTENT_GRAB)
|
||||
user.visible_message("<span class='warning'><b>\The [user]</b> attempts to strangle [src]!</span>","<span class='warning'>You attempt to strangle [src]!</span>")
|
||||
|
||||
@@ -311,7 +311,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
|
||||
/obj/item/clothing/mask/smokable/cigarette/attack_self(mob/user as mob)
|
||||
if(lit == 1)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
user.visible_message("<span class='notice'>[user] drops and treads on the lit [src], putting it out instantly.</span>")
|
||||
die(1)
|
||||
else
|
||||
@@ -404,7 +404,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
|
||||
/obj/item/clothing/mask/smokable/pipe/attack_self(mob/user as mob)
|
||||
if(lit == 1)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
user.visible_message("<span class='notice'>[user] empties the lit [src] on the floor!.</span>")
|
||||
die(1)
|
||||
else
|
||||
|
||||
@@ -117,7 +117,7 @@ var/last_chew = 0
|
||||
|
||||
var/mob/living/carbon/human/H = A
|
||||
if (!H.handcuffed) return
|
||||
if (H.a_intent != I_HURT) return
|
||||
if (H.a_intent != INTENT_HARM) return
|
||||
if (H.zone_sel.selecting != O_MOUTH) return
|
||||
if (H.wear_mask) return
|
||||
if (istype(H.wear_suit, /obj/item/clothing/suit/straight_jacket)) return
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
attack_verb = list("mushed", "splatted", "splooshed", "splushed") // Words that totally exist.
|
||||
|
||||
/obj/item/material/snow/snowball/attack_self(mob/user as mob)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
visible_message("[user] has smashed the snowball in their hand!", "You smash the snowball in your hand.")
|
||||
var/atom/S = new /obj/item/stack/material/snow(user.loc)
|
||||
del(src)
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
var/mob/living/carbon/human/H = target
|
||||
affecting = H.get_organ(hit_zone)
|
||||
|
||||
if(user.a_intent == I_HURT || user.a_intent == INTENT_DISARM)
|
||||
if(user.a_intent == INTENT_HARM || user.a_intent == INTENT_DISARM)
|
||||
. = ..()
|
||||
//whacking someone causes a much poorer electrical contact than deliberately prodding them.
|
||||
agony *= 0.5
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
W.forceMove(src.loc)
|
||||
else
|
||||
if(istype(W, /obj/item/shovel))
|
||||
if(user.a_intent == I_HURT) // Hurt intent means you're trying to kill someone, or just get rid of the grave
|
||||
if(user.a_intent == INTENT_HARM) // Hurt intent means you're trying to kill someone, or just get rid of the grave
|
||||
user.visible_message("<span class='notice'>[user] begins to smoothe out the dirt of \the [src.name].</span>", \
|
||||
"<span class='notice'>You start to smoothe out the dirt of \the [src.name].</span>", \
|
||||
"<span class='notice'>You hear dirt being moved.</span>")
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
if(user.nutrition < 20)
|
||||
to_chat(user, "<span class='warning'>You need more energy to use the punching bag. Go eat something.</span>")
|
||||
else
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
user.setClickCooldown(user.get_attack_speed())
|
||||
flick("[icon_state]_hit", src)
|
||||
playsound(src.loc, 'sound/effects/woodhit.ogg', 25, 1, -1)
|
||||
|
||||
@@ -370,7 +370,7 @@
|
||||
icon = 'icons/obj/flora/sifflora.dmi'
|
||||
|
||||
/obj/structure/flora/sif/attack_hand(mob/user)
|
||||
if (user.a_intent == I_HURT)
|
||||
if (user.a_intent == INTENT_HARM)
|
||||
if(do_after(user, 5 SECONDS))
|
||||
user.visible_message("\The [user] digs up \the [src.name].", "You dig up \the [src.name].")
|
||||
qdel(src)
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||
/obj/machinery/door/blast/puzzle/attackby(obj/item/C as obj, mob/user as mob)
|
||||
if(istype(C, /obj/item))
|
||||
if(C.pry == 1 && (user.a_intent != I_HURT || (stat & BROKEN)))
|
||||
if(C.pry == 1 && (user.a_intent != INTENT_HARM || (stat & BROKEN)))
|
||||
if(istype(C,/obj/item/material/twohanded/fireaxe))
|
||||
var/obj/item/material/twohanded/fireaxe/F = C
|
||||
if(!F.wielded)
|
||||
@@ -75,7 +75,7 @@
|
||||
to_chat(user, "<span class='notice'>[src]'s arcane workings resist your effort.</span>")
|
||||
return
|
||||
|
||||
else if(src.density && (user.a_intent == I_HURT))
|
||||
else if(src.density && (user.a_intent == INTENT_HARM))
|
||||
var/obj/item/W = C
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
if(W.damtype == BRUTE || W.damtype == BURN)
|
||||
|
||||
@@ -233,7 +233,7 @@
|
||||
to_chat(user, "<span class='danger'>There's \a [occupied] in the way.</span>")
|
||||
return
|
||||
if (G.state < 2)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
if (prob(15)) M.Weaken(5)
|
||||
M.apply_damage(8,def_zone = "head")
|
||||
take_damage(8)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
anchored = 1
|
||||
|
||||
/obj/structure/snowman/attack_hand(mob/user as mob)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
to_chat(user, "<span class='notice'>In one hit, [src] easily crumples into a pile of snow. You monster.</span>")
|
||||
var/turf/simulated/floor/F = get_turf(src)
|
||||
if (istype(F))
|
||||
|
||||
@@ -157,10 +157,10 @@
|
||||
..()
|
||||
if(!has_buckled_mobs()) return
|
||||
|
||||
if(propelled || (pulling && (pulling.a_intent == I_HURT)))
|
||||
if(propelled || (pulling && (pulling.a_intent == INTENT_HARM)))
|
||||
var/mob/living/occupant = unbuckle_mob()
|
||||
|
||||
if (pulling && (pulling.a_intent == I_HURT))
|
||||
if (pulling && (pulling.a_intent == INTENT_HARM))
|
||||
occupant.throw_at(A, 3, 3, pulling)
|
||||
else if (propelled)
|
||||
occupant.throw_at(A, 3, propelled)
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
user.do_attack_animation(src)
|
||||
shatter()
|
||||
|
||||
else if (usr.a_intent == I_HURT)
|
||||
else if (usr.a_intent == INTENT_HARM)
|
||||
|
||||
if (istype(usr,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = usr
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
else if(my_slime.can_consume(L) && L.lying)
|
||||
my_slime.a_intent = INTENT_GRAB // Then eat them.
|
||||
else
|
||||
my_slime.a_intent = I_HURT // Otherwise robust them.
|
||||
my_slime.a_intent = INTENT_HARM // Otherwise robust them.
|
||||
|
||||
/datum/ai_holder/simple_mob/xenobio_slime/closest_distance(atom/movable/AM)
|
||||
if(istype(AM, /mob/living))
|
||||
|
||||
@@ -67,7 +67,7 @@ var/global/list/all_tooltip_styles = list(
|
||||
ic = all_ui_styles_robot[UI_style_new]
|
||||
|
||||
for(var/obj/screen/I in icons)
|
||||
if(I.name in list(INTENT_HELP, I_HURT, INTENT_DISARM, INTENT_GRAB)) continue
|
||||
if(I.name in list(INTENT_HELP, INTENT_HARM, INTENT_DISARM, INTENT_GRAB)) continue
|
||||
I.icon = ic
|
||||
I.color = UI_style_color_new
|
||||
I.alpha = UI_style_alpha_new
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
if(istype(user.get_active_hand(),/obj) && istype(user.get_inactive_hand(),/obj))
|
||||
to_chat(user, "<span class='warning'>You need an empty hand to draw \the [holstered]!</span>")
|
||||
else
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
usr.visible_message(
|
||||
"<span class='danger'>[user] draws \the [holstered], ready to go!</span>", //VOREStation Edit
|
||||
"<span class='warning'>You draw \the [holstered], ready to go!</span>" //VOREStation Edit
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
side = "right"
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/glass2/afterattack(var/obj/target, var/mob/user, var/proximity)
|
||||
if(user.a_intent == I_HURT) //We only want splashing to be done if they are on harm intent.
|
||||
if(user.a_intent == INTENT_HARM) //We only want splashing to be done if they are on harm intent.
|
||||
if(!is_open_container() || !proximity)
|
||||
return 1
|
||||
if(standard_splash_mob(user, target))
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
flags |= OPENCONTAINER
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(force && !(flags & NOBLUDGEON) && user.a_intent == I_HURT)
|
||||
if(force && !(flags & NOBLUDGEON) && user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
|
||||
if(standard_feed_mob(user, M))
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
..()
|
||||
|
||||
var/mob/M = thrower
|
||||
if(isGlass && istype(M) && M.a_intent == I_HURT)
|
||||
if(isGlass && istype(M) && M.a_intent == INTENT_HARM)
|
||||
var/throw_dist = get_dist(throw_source, loc)
|
||||
if(speed >= throw_speed && smash_check(throw_dist)) //not as reliable as smashing directly
|
||||
if(reagents)
|
||||
@@ -141,7 +141,7 @@
|
||||
/obj/item/reagent_containers/food/drinks/bottle/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
|
||||
var/blocked = ..()
|
||||
|
||||
if(user.a_intent != I_HURT)
|
||||
if(user.a_intent != INTENT_HARM)
|
||||
return
|
||||
if(!smash_check(1))
|
||||
return //won't always break on the first hit
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
if(istype(user.loc,/turf/space))
|
||||
return
|
||||
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
user.visible_message("<span class='danger'>\The [user] squashes \the [src]!</span>")
|
||||
seed.thrown_at(src,user)
|
||||
sleep(-1)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
is_ranged = 1
|
||||
preparing_arrest_sounds = new()
|
||||
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
mob_bump_flag = HEAVY
|
||||
mob_swap_flags = ~HEAVY
|
||||
mob_push_flags = HEAVY
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
is_ranged = 1
|
||||
preparing_arrest_sounds = new()
|
||||
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
mob_bump_flag = HEAVY
|
||||
mob_swap_flags = ~HEAVY
|
||||
mob_push_flags = HEAVY
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
// Attacking someone with a weapon while they are neck-grabbed
|
||||
/mob/living/carbon/proc/check_neckgrab_attack(obj/item/W, mob/user, var/hit_zone)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
for(var/obj/item/grab/G in src.grabbed_by)
|
||||
if(G.assailant == user)
|
||||
if(G.state >= GRAB_AGGRESSIVE)
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
|
||||
if(M.zone_sel.selecting == "mouth" && wear_mask && istype(wear_mask, /obj/item/grenade))
|
||||
var/obj/item/grenade/G = wear_mask
|
||||
@@ -163,7 +163,7 @@
|
||||
// We didn't see this coming, so we get the full blow
|
||||
rand_damage = 5
|
||||
accurate = 1
|
||||
if(I_HURT, INTENT_GRAB)
|
||||
if(INTENT_HARM, INTENT_GRAB)
|
||||
// We're in a fighting stance, there's a chance we block
|
||||
if(src.canmove && src!=H && prob(20))
|
||||
block = 1
|
||||
|
||||
@@ -413,7 +413,7 @@
|
||||
// Called when using the shredding behavior.
|
||||
/datum/species/proc/can_shred(var/mob/living/carbon/human/H, var/ignore_intent)
|
||||
|
||||
if(!ignore_intent && H.a_intent != I_HURT)
|
||||
if(!ignore_intent && H.a_intent != INTENT_HARM)
|
||||
return 0
|
||||
|
||||
for(var/datum/unarmed_attack/attack in unarmed_attacks)
|
||||
|
||||
@@ -291,7 +291,7 @@
|
||||
if(Target.Adjacent(src))
|
||||
if(istype(Target, /mob/living/silicon)) // Glomp the silicons
|
||||
if(!Atkcool)
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
UnarmedAttack(Target)
|
||||
Atkcool = 1
|
||||
spawn(45)
|
||||
@@ -330,7 +330,7 @@
|
||||
if (frenemy.colour == colour)
|
||||
a_intent = INTENT_HELP
|
||||
else
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
UnarmedAttack(frenemy)
|
||||
|
||||
var/sleeptime = movement_delay()
|
||||
@@ -345,7 +345,7 @@
|
||||
a_intent = INTENT_HELP
|
||||
if (rabid || attacked)
|
||||
newmood = "angry"
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
else if (Target) newmood = "mischevous"
|
||||
|
||||
if (!newmood)
|
||||
|
||||
@@ -494,7 +494,7 @@
|
||||
M.install(src, user)
|
||||
return
|
||||
|
||||
if (istype(W, /obj/item/weldingtool) && user.a_intent != I_HURT)
|
||||
if (istype(W, /obj/item/weldingtool) && user.a_intent != INTENT_HARM)
|
||||
if (src == user)
|
||||
to_chat(user, "<span class='warning'>You lack the reach to be able to repair yourself.</span>")
|
||||
return
|
||||
@@ -526,7 +526,7 @@
|
||||
for(var/mob/O in viewers(user, null))
|
||||
O.show_message(text("<font color='red'>[user] has fixed some of the burnt wires on [src]!</font>"), 1)
|
||||
|
||||
else if (W.is_crowbar() && user.a_intent != I_HURT) // crowbar means open or close the cover
|
||||
else if (W.is_crowbar() && user.a_intent != INTENT_HARM) // crowbar means open or close the cover
|
||||
if(opened)
|
||||
if(cell)
|
||||
to_chat(user, "You close the cover.")
|
||||
@@ -686,7 +686,7 @@
|
||||
if(INTENT_HELP)
|
||||
visible_message("<span class='notice'>[H] pets [src].</span>")
|
||||
return
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
H.do_attack_animation(src)
|
||||
if(H.species.can_shred(H))
|
||||
attack_generic(H, rand(30,50), "slashed")
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
attacktext = list("slashed")
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
|
||||
environment_smash = 2
|
||||
status_flags = CANPUSH
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
ranged = 1
|
||||
rapid = 1
|
||||
projectiletype = /obj/item/projectile/beam/drone
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
health = 3000
|
||||
status_flags = CANPUSH
|
||||
// investigates = 1
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
density = 1
|
||||
mob_bump_flag = HEAVY
|
||||
mob_push_flags = ~HEAVY
|
||||
|
||||
@@ -226,7 +226,7 @@
|
||||
/mob/living/simple_mob/parrot/attack_hand(mob/living/carbon/M as mob)
|
||||
..()
|
||||
if(client) return
|
||||
if(!stat && M.a_intent == I_HURT)
|
||||
if(!stat && M.a_intent == INTENT_HARM)
|
||||
|
||||
icon_state = "parrot_fly" //It is going to be flying regardless of whether it flees or attacks
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
icon_living = "brainslug"
|
||||
icon_dead = "brainslug_dead"
|
||||
speed = 5
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
stop_automated_movement = 1
|
||||
status_flags = CANPUSH
|
||||
attacktext = list("nipped")
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
var/do_glow = 1
|
||||
|
||||
speed = -1
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
stop_automated_movement = 1
|
||||
|
||||
status_flags = CANPUSH
|
||||
|
||||
@@ -573,7 +573,7 @@
|
||||
FindTarget()
|
||||
if(STANCE_ATTACK)
|
||||
annoyed = 50
|
||||
a_intent = I_HURT
|
||||
a_intent = INTENT_HARM
|
||||
RequestHelp()
|
||||
MoveToTarget()
|
||||
if(STANCE_ATTACKING)
|
||||
@@ -642,7 +642,7 @@
|
||||
ai_log("attack_hand() I was grabbed by: [M]",2)
|
||||
react_to_attack(M)
|
||||
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
var/armor = run_armor_check(def_zone = null, attack_flag = "melee")
|
||||
apply_damage(damage = harm_intent_damage, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE)
|
||||
M.visible_message("<span class='warning'>[M] [response_harm] \the [src]!</span>")
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
|
||||
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
|
||||
using = new /obj/screen()
|
||||
using.name = I_HURT
|
||||
using.name = INTENT_HARM
|
||||
using.icon = ico
|
||||
using.screen_loc = ui_acti
|
||||
using.alpha = ui_alpha
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
else if(can_consume(target_mob) && target_mob.lying)
|
||||
a_intent = INTENT_GRAB // Then eat them.
|
||||
else
|
||||
a_intent = I_HURT // Otherwise robust them.
|
||||
a_intent = INTENT_HARM // Otherwise robust them.
|
||||
ai_log("PunchTarget() will [a_intent] [target_mob]",2)
|
||||
..()
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
start_consuming(L)
|
||||
post_attack(L, a_intent)
|
||||
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
ai_log("DoPunch() against [L], hurting.",2)
|
||||
var/damage_to_do = rand(melee_damage_lower, melee_damage_upper)
|
||||
var/armor_modifier = abs((L.getarmor(null, "bio") / 100) - 1)
|
||||
@@ -201,7 +201,7 @@
|
||||
var/obj/mecha/M = L
|
||||
M.attack_generic(src, rand(melee_damage_lower, melee_damage_upper), pick(attacktext))
|
||||
|
||||
/mob/living/simple_animal/slime/proc/post_attack(var/mob/living/L, var/intent = I_HURT)
|
||||
/mob/living/simple_animal/slime/proc/post_attack(var/mob/living/L, var/intent = INTENT_HARM)
|
||||
if(intent != INTENT_HELP)
|
||||
if(L.reagents && L.can_inject() && reagent_injected)
|
||||
L.reagents.add_reagent(reagent_injected, injection_amount)
|
||||
|
||||
@@ -374,7 +374,7 @@
|
||||
..() // Do regular attacks.
|
||||
|
||||
if(istype(L))
|
||||
if(a_intent == I_HURT)
|
||||
if(a_intent == INTENT_HARM)
|
||||
visible_message("<span class='danger'>\The [src] sends \the [L] flying with the impact!</span>")
|
||||
playsound(src, "punch", 50, 1)
|
||||
L.Weaken(1)
|
||||
@@ -612,10 +612,10 @@
|
||||
if(src) // Delete ourselves if the explosion didn't do it.
|
||||
qdel(src)
|
||||
|
||||
/mob/living/simple_animal/slime/oil/post_attack(var/mob/living/L, var/intent = I_HURT)
|
||||
/mob/living/simple_animal/slime/oil/post_attack(var/mob/living/L, var/intent = INTENT_HARM)
|
||||
if(!rabid)
|
||||
return ..()
|
||||
if(intent == I_HURT || intent == INTENT_GRAB)
|
||||
if(intent == INTENT_HARM || intent == INTENT_GRAB)
|
||||
say(pick("Sacrifice...!", "Sssss...", "Boom...!"))
|
||||
sleep(2 SECOND)
|
||||
log_and_message_admins("[src] has suicide-bombed themselves while trying to kill \the [L].")
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
L.visible_message("<span class='warning'>\The [L] has grabbed [src] passively!</span>")
|
||||
L.do_attack_animation(src)
|
||||
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
var/armor = run_armor_check(def_zone = null, attack_flag = "melee")
|
||||
apply_damage(damage = harm_intent_damage, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE)
|
||||
L.visible_message("<span class='warning'>\The [L] [response_harm] \the [src]!</span>")
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
// setClickCooldown(get_attack_speed())
|
||||
|
||||
if(has_hands && istype(A,/obj) && a_intent != I_HURT)
|
||||
if(has_hands && istype(A,/obj) && a_intent != INTENT_HARM)
|
||||
var/obj/O = A
|
||||
return O.attack_hand(src)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
if(isliving(A))
|
||||
custom_emote(1,"[pick(friendly)] \the [A]!")
|
||||
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
if(can_special_attack(A) && special_attack_target(A))
|
||||
return
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
|
||||
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
|
||||
using = new /obj/screen()
|
||||
using.name = I_HURT
|
||||
using.name = INTENT_HARM
|
||||
using.icon = ico
|
||||
using.screen_loc = ui_acti
|
||||
using.alpha = ui_alpha
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
if(isliving(A))
|
||||
holder.a_intent = INTENT_DISARM
|
||||
else
|
||||
holder.a_intent = I_HURT
|
||||
holder.a_intent = INTENT_HARM
|
||||
|
||||
/datum/ai_holder/simple_mob/ranged/kiting/threatening/frostfly/post_ranged_attack(atom/A)
|
||||
var/mob/living/simple_mob/animal/sif/frostfly/F = holder
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
hostile = initial(hostile)
|
||||
|
||||
/datum/ai_holder/simple_mob/intentional/kururak/pre_special_attack(atom/A)
|
||||
holder.a_intent = I_HURT
|
||||
holder.a_intent = INTENT_HARM
|
||||
if(isliving(A))
|
||||
var/mob/living/L = A
|
||||
if(holder.Adjacent(L))
|
||||
|
||||
@@ -493,11 +493,11 @@
|
||||
else
|
||||
holder.a_intent = INTENT_DISARM // They're standing up! Try to drop or stun them.
|
||||
else
|
||||
holder.a_intent = I_HURT // Otherwise, bite.
|
||||
holder.a_intent = INTENT_HARM // Otherwise, bite.
|
||||
|
||||
else if(istype(A, /obj/item))
|
||||
var/obj/item/I = A
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks))
|
||||
holder.a_intent = I_HURT
|
||||
holder.a_intent = INTENT_HARM
|
||||
else
|
||||
holder.a_intent = I_HURT
|
||||
holder.a_intent = INTENT_HARM
|
||||
|
||||
@@ -289,21 +289,21 @@
|
||||
lose_target()
|
||||
give_target(IT)
|
||||
return
|
||||
holder.a_intent = I_HURT
|
||||
holder.a_intent = INTENT_HARM
|
||||
else
|
||||
holder.a_intent = INTENT_DISARM // Otherwise, try to disarm them!
|
||||
else
|
||||
holder.a_intent = I_HURT // We can't disarm you, so we're going to hurt you.
|
||||
holder.a_intent = INTENT_HARM // We can't disarm you, so we're going to hurt you.
|
||||
|
||||
else if(istype(A, /obj/item))
|
||||
var/obj/item/I = A
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks)) // If we can't pick it up, or it's edible, go to harm.
|
||||
holder.a_intent = I_HURT
|
||||
holder.a_intent = INTENT_HARM
|
||||
else
|
||||
holder.a_intent = INTENT_HELP
|
||||
|
||||
else
|
||||
holder.a_intent = I_HURT
|
||||
holder.a_intent = INTENT_HARM
|
||||
|
||||
/datum/ai_holder/simple_mob/intentional/sakimm/should_go_home()
|
||||
if((!returns_home && !holder.get_active_hand()) || !home_turf) // If we have an item, we want to go home.
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
if(INTENT_GRAB)
|
||||
..()
|
||||
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
adjustBruteLoss(harm_intent_damage)
|
||||
M.visible_message(span("danger", "\The [M] [response_harm] \the [src]"))
|
||||
M.do_attack_animation(src)
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
switch(a_intent)
|
||||
if(INTENT_DISARM) // Side gun
|
||||
electric_defense(A)
|
||||
if(I_HURT) // Rockets
|
||||
if(INTENT_HARM) // Rockets
|
||||
launch_rockets(A)
|
||||
if(INTENT_GRAB) // Micro-singulo
|
||||
launch_microsingularity(A)
|
||||
@@ -286,11 +286,11 @@
|
||||
// Note that the intent will not change again until the next special attack is about to happen.
|
||||
/datum/ai_holder/simple_mob/intentional/adv_dark_gygax/on_engagement(atom/A)
|
||||
// Make the AI backpeddle if using an AoE special attack.
|
||||
var/list/risky_intents = list(INTENT_GRAB, I_HURT) // Mini-singulo and missiles.
|
||||
var/list/risky_intents = list(INTENT_GRAB, INTENT_HARM) // Mini-singulo and missiles.
|
||||
if(holder.a_intent in risky_intents)
|
||||
var/closest_distance = 1
|
||||
switch(holder.a_intent) // Plus one just in case.
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
closest_distance = rocket_explosive_radius + 1
|
||||
if(INTENT_GRAB)
|
||||
closest_distance = microsingulo_radius + 1
|
||||
@@ -303,7 +303,7 @@
|
||||
holder.IMove(get_step_towards(holder, A))
|
||||
|
||||
// Changes the mob's intent, which controls which special attack is used.
|
||||
// INTENT_DISARM causes Electric Defense, INTENT_GRAB causes Micro-Singularity, and I_HURT causes Missile Barrage.
|
||||
// INTENT_DISARM causes Electric Defense, INTENT_GRAB causes Micro-Singularity, and INTENT_HARM causes Missile Barrage.
|
||||
/datum/ai_holder/simple_mob/intentional/adv_dark_gygax/pre_special_attack(atom/A)
|
||||
if(isliving(A))
|
||||
var/mob/living/target = A
|
||||
@@ -340,10 +340,10 @@
|
||||
if(tally >= microsingulo_threshold)
|
||||
holder.a_intent = INTENT_GRAB
|
||||
else // Otherwise use rockets.
|
||||
holder.a_intent = I_HURT
|
||||
holder.a_intent = INTENT_HARM
|
||||
|
||||
else
|
||||
if(get_dist(holder, A) >= rocket_explosive_radius + 1)
|
||||
holder.a_intent = I_HURT // Fire rockets if it's an obj/turf.
|
||||
holder.a_intent = INTENT_HARM // Fire rockets if it's an obj/turf.
|
||||
else
|
||||
holder.a_intent = INTENT_DISARM // Electricity might not work but it's safe up close.
|
||||
|
||||
@@ -61,13 +61,13 @@
|
||||
start_consuming(L)
|
||||
return FALSE
|
||||
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
return ..() // Regular stuff.
|
||||
else
|
||||
return ..() // Do the regular stuff if we're hitting a window/mech/etc.
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/apply_melee_effects(mob/living/L)
|
||||
if(istype(L) && a_intent == I_HURT)
|
||||
if(istype(L) && a_intent == INTENT_HARM)
|
||||
// Pump them full of toxins, if able.
|
||||
if(L.reagents && L.can_inject() && reagent_injected)
|
||||
L.reagents.add_reagent(reagent_injected, injection_amount)
|
||||
|
||||
@@ -407,7 +407,7 @@
|
||||
/mob/living/simple_mob/slime/xenobio/ruby/apply_melee_effects(atom/A)
|
||||
..()
|
||||
|
||||
if(isliving(A) && a_intent == I_HURT)
|
||||
if(isliving(A) && a_intent == INTENT_HARM)
|
||||
var/mob/living/L = A
|
||||
if(L.mob_size <= MOB_MEDIUM)
|
||||
visible_message(span("danger", "\The [src] sends \the [L] flying with the impact!"))
|
||||
|
||||
@@ -326,7 +326,7 @@
|
||||
if(INTENT_GRAB)
|
||||
jointlock(affecting, assailant, hit_zone)
|
||||
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
if(hit_zone == O_EYES)
|
||||
attack_eye(affecting, assailant)
|
||||
else if(hit_zone == BP_HEAD)
|
||||
|
||||
@@ -309,7 +309,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
|
||||
return 0
|
||||
|
||||
//converts intent-strings into numbers and back
|
||||
var/list/intents = list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,I_HURT)
|
||||
var/list/intents = list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,INTENT_HARM)
|
||||
/proc/intent_numeric(argument)
|
||||
if(istext(argument))
|
||||
switch(argument)
|
||||
@@ -322,7 +322,7 @@ var/list/intents = list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,I_HURT)
|
||||
if(0) return INTENT_HELP
|
||||
if(1) return INTENT_DISARM
|
||||
if(2) return INTENT_GRAB
|
||||
else return I_HURT
|
||||
else return INTENT_HARM
|
||||
|
||||
//change a mob's act-intent. Input the intent as a string such as "help" or use "right"/"left
|
||||
/mob/verb/a_intent_change(input as text)
|
||||
@@ -331,7 +331,7 @@ var/list/intents = list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,I_HURT)
|
||||
|
||||
if(isliving(src) && !isrobot(src))
|
||||
switch(input)
|
||||
if(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,I_HURT)
|
||||
if(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,INTENT_HARM)
|
||||
a_intent = input
|
||||
if("right")
|
||||
a_intent = intent_numeric((intent_numeric(a_intent)+1) % 4)
|
||||
@@ -344,13 +344,13 @@ var/list/intents = list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,I_HURT)
|
||||
switch(input)
|
||||
if(INTENT_HELP)
|
||||
a_intent = INTENT_HELP
|
||||
if(I_HURT)
|
||||
a_intent = I_HURT
|
||||
if(INTENT_HARM)
|
||||
a_intent = INTENT_HARM
|
||||
if("right","left")
|
||||
a_intent = intent_numeric(intent_numeric(a_intent) - 3)
|
||||
if(hud_used && hud_used.action_intent)
|
||||
if(a_intent == I_HURT)
|
||||
hud_used.action_intent.icon_state = I_HURT
|
||||
if(a_intent == INTENT_HARM)
|
||||
hud_used.action_intent.icon_state = INTENT_HARM
|
||||
else
|
||||
hud_used.action_intent.icon_state = INTENT_HELP
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
var/alien_caste = pick("Hunter","Sentinel","Drone")
|
||||
var/mob/living/carbon/human/new_xeno = create_new_xenomorph(alien_caste,loc)
|
||||
|
||||
new_xeno.a_intent = I_HURT
|
||||
new_xeno.a_intent = INTENT_HARM
|
||||
new_xeno.key = key
|
||||
|
||||
to_chat(new_xeno, "<B>You are now an alien.</B>")
|
||||
@@ -231,7 +231,7 @@
|
||||
qdel(t)
|
||||
|
||||
var/mob/living/simple_mob/animal/passive/dog/corgi/new_corgi = new /mob/living/simple_mob/animal/passive/dog/corgi (loc)
|
||||
new_corgi.a_intent = I_HURT
|
||||
new_corgi.a_intent = INTENT_HARM
|
||||
new_corgi.key = key
|
||||
|
||||
to_chat(new_corgi, "<B>You are now a Corgi. Yap Yap!</B>")
|
||||
@@ -264,7 +264,7 @@
|
||||
var/mob/new_mob = new mobpath(src.loc)
|
||||
|
||||
new_mob.key = key
|
||||
new_mob.a_intent = I_HURT
|
||||
new_mob.a_intent = INTENT_HARM
|
||||
|
||||
|
||||
to_chat(new_mob, "You suddenly feel more... animalistic.")
|
||||
@@ -284,7 +284,7 @@
|
||||
var/mob/new_mob = new mobpath(src.loc)
|
||||
|
||||
new_mob.key = key
|
||||
new_mob.a_intent = I_HURT
|
||||
new_mob.a_intent = INTENT_HARM
|
||||
to_chat(new_mob, "You feel more... animalistic")
|
||||
|
||||
qdel(src)
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
return
|
||||
|
||||
/obj/item/paper/attack_self(mob/living/user as mob)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
if(icon_state == "scrap")
|
||||
user.show_message("<span class='warning'>\The [src] is already crumpled.</span>")
|
||||
return
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
if(user.a_intent == INTENT_HELP)
|
||||
user.visible_message("<span class='notice'><b>\The [user]</b> clicks [src] idly.</span>","<span class='notice'>You click [src] idly.</span>")
|
||||
playsound(user, 'sound/weapons/flipblade.ogg', 20, 1)
|
||||
else if (user.a_intent == I_HURT)
|
||||
else if (user.a_intent == INTENT_HARM)
|
||||
user.visible_message("<span class='warning'><b>\The [user]</b> clicks [src] angrily!</span>","<span class='warning'>You click [src] angrily!</span>")
|
||||
playsound(user, 'sound/weapons/flipblade.ogg', 20, 1)
|
||||
else if (user.a_intent == INTENT_GRAB)
|
||||
|
||||
@@ -846,7 +846,7 @@ var/global/list/light_type_cache = list()
|
||||
if(!proximity) return
|
||||
if(istype(target, /obj/machinery/light))
|
||||
return
|
||||
if(user.a_intent != I_HURT)
|
||||
if(user.a_intent != INTENT_HARM)
|
||||
return
|
||||
|
||||
shatter()
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
/obj/item/gun/attack(atom/A, mob/living/user, def_zone)
|
||||
if (A == user && user.zone_sel.selecting == O_MOUTH && !mouthshoot)
|
||||
handle_suicide(user)
|
||||
else if(user.a_intent == I_HURT) //point blank shooting
|
||||
else if(user.a_intent == INTENT_HARM) //point blank shooting
|
||||
if(user && user.client && user.aiming && user.aiming.active && user.aiming.aiming_at != A && A != user)
|
||||
PreFire(A,user) //They're using the new gun system, locate what they're aiming at.
|
||||
return
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
if(launcher_intent)
|
||||
switch(launcher_intent)
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
check_armour = "bullet"
|
||||
damage *= 3
|
||||
sharp = 1
|
||||
@@ -152,7 +152,7 @@
|
||||
visible_message("<span class='notice'>\The [src] [message] [target].</span>")
|
||||
done_mob_unique = TRUE
|
||||
success = TRUE
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
if(prob(10) && istype(L, /mob/living/carbon/human))
|
||||
to_chat(L, "<span class='warning'>\The [src] rips at your hands!</span>")
|
||||
ranged_disarm(L)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/obj/item/reagent_containers/blood/attack_self(mob/living/user as mob)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
if(reagents.total_volume && volume)
|
||||
var/remove_volume = volume* 0.1 //10% of what the bloodpack can hold.
|
||||
var/reagent_to_remove = reagents.get_master_reagent_id()
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
update_icon()
|
||||
|
||||
/obj/item/reagent_containers/glass/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(force && !(flags & NOBLUDGEON) && user.a_intent == I_HURT)
|
||||
if(force && !(flags & NOBLUDGEON) && user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
|
||||
if(standard_feed_mob(user, M))
|
||||
@@ -91,7 +91,7 @@
|
||||
if(!is_open_container())
|
||||
to_chat(user, "<span class='notice'>You need to open \the [src] first.</span>")
|
||||
return 1
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
return 1
|
||||
if(standard_pour_into(user, target)) //Pouring into another beaker?
|
||||
return
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
if(standard_splash_mob(user,target))
|
||||
return 1
|
||||
if(reagents && reagents.total_volume)
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
to_chat(user, "<span class='warning'>This syringe is broken!</span>")
|
||||
return
|
||||
|
||||
if(user.a_intent == I_HURT && ismob(target))
|
||||
if(user.a_intent == INTENT_HARM && ismob(target))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
target = user
|
||||
syringestab(target, user)
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
/obj/item/proc/do_surgery(mob/living/carbon/M, mob/living/user)
|
||||
if(!istype(M))
|
||||
return 0
|
||||
if (user.a_intent == I_HURT) //check for Hippocratic Oath
|
||||
if (user.a_intent == INTENT_HARM) //check for Hippocratic Oath
|
||||
return 0
|
||||
var/zone = user.zone_sel.selecting
|
||||
if(zone in M.op_stage.in_progress) //Can't operate on someone repeatedly.
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
if(!user.Adjacent(M))
|
||||
return
|
||||
if (G.state < 2)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
if (prob(15)) M.Weaken(5)
|
||||
M.apply_damage(8,def_zone = BP_HEAD)
|
||||
visible_message("<span class='danger'>[G.assailant] slams [G.affecting]'s face against \the [src]!</span>")
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
|
||||
if(P) // Does the gun even have a projectile type?
|
||||
weapon_damage = P.damage
|
||||
if(will_point_blank && a_intent == I_HURT)
|
||||
if(will_point_blank && a_intent == INTENT_HARM)
|
||||
weapon_damage *= 1.5
|
||||
weapon_attack_speed = G.fire_delay / (1 SECOND)
|
||||
qdel(P)
|
||||
@@ -206,7 +206,7 @@
|
||||
threat_guess *= 0.8
|
||||
if(INTENT_GRAB) // May try to restrain us. This is here for reference, or later tweaking if needed.
|
||||
threat_guess *= 1
|
||||
if(I_HURT) // May try to hurt us.
|
||||
if(INTENT_HARM) // May try to hurt us.
|
||||
threat_guess *= 1.25
|
||||
|
||||
// Then consider their defense.
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
/obj/structure/lift/proc/pressed(var/mob/user)
|
||||
if(!istype(user, /mob/living/silicon))
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
user.visible_message("<span class='danger'>\The [user] hammers on the lift button!</span>")
|
||||
else
|
||||
user.visible_message("<span class='notice'>\The [user] presses the lift button.</span>")
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
pred_name = pred.name
|
||||
|
||||
/obj/item/digestion_remains/attack_self(mob/user)
|
||||
if(user.a_intent == I_HURT)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
to_chat(user,"<span class='warning'>As you squeeze the [name], it crumbles into dust and falls apart into nothing!</span>")
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -287,7 +287,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
||||
return FALSE
|
||||
|
||||
//src stepped on someone with harm intent
|
||||
if(I_HURT)
|
||||
if(INTENT_HARM)
|
||||
// If bigger than them by at least 0.75, move onto them and print message.
|
||||
if((get_effective_size() - tmob.get_effective_size()) >= 0.75)
|
||||
now_pushing = 0
|
||||
@@ -298,7 +298,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
||||
var/damage = (rand(1,3)* size_damage_multiplier) //Rand 1-3 multiplied by 1 min or 1.75 max. 1 min 5.25 max damage to each limb.
|
||||
var/calculated_damage = damage/2 //This will sting, but not kill. Does .5 to 2.625 damage, randomly, to each limb.
|
||||
|
||||
//Running on I_HURT
|
||||
//Running on INTENT_HARM
|
||||
if(m_intent == "run")
|
||||
|
||||
//Not a human, or not a taur, generic message only
|
||||
@@ -319,7 +319,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
||||
Ht.drip(0.1)
|
||||
add_attack_logs(src,tmob,"Crushed underfoot (run, about [calculated_damage] damage)")
|
||||
|
||||
//Walking on I_HURT
|
||||
//Walking on INTENT_HARM
|
||||
else
|
||||
//Multiplies the above damage by 3.5. This means a min of 1.75 damage, or a max of 9.1875. damage to each limb, depending on size and RNG.
|
||||
calculated_damage *= 3.5
|
||||
@@ -345,7 +345,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
||||
//Return true, the sizediff was enough that we handled it.
|
||||
return TRUE
|
||||
|
||||
//Not enough sizediff for I_HURT to do anything.
|
||||
//Not enough sizediff for INTENT_HARM to do anything.
|
||||
else
|
||||
return FALSE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user