mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-10 22:54:32 +01:00
Unarmed Attack+Martial Arts Update+Golem Refactor
This commit is contained in:
@@ -394,6 +394,15 @@
|
||||
var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone))
|
||||
apply_damage(5, BRUTE, affecting, run_armor_check(affecting, "melee"))
|
||||
|
||||
/mob/living/carbon/human/bullet_act()
|
||||
if(martial_art && martial_art.deflection_chance) //Some martial arts users can deflect projectiles!
|
||||
if(!prob(martial_art.deflection_chance))
|
||||
return ..()
|
||||
if(!src.lying && !(HULK in mutations)) //But only if they're not lying down, and hulks can't do it
|
||||
src.visible_message("<span class='warning'>[src] deflects the projectile!</span>", "<span class='userdanger'>You deflect the projectile!</span>")
|
||||
return 0
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/attack_animal(mob/living/simple_animal/M as mob)
|
||||
if(M.melee_damage_upper == 0)
|
||||
M.custom_emote(1, "[M.friendly] [src]")
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
else
|
||||
LAssailant = M
|
||||
|
||||
var/damage = rand(0, M.species.max_hurt_damage)//BS12 EDIT
|
||||
var/damage = rand(M.species.punchdamagelow, M.species.punchdamagehigh)
|
||||
damage += attack.damage
|
||||
if(!damage)
|
||||
playsound(loc, attack.miss_sound, 25, 1, -1)
|
||||
@@ -158,7 +158,7 @@
|
||||
visible_message("\red <B>[M] [pick(attack.attack_verb)]ed [src]!</B>")
|
||||
|
||||
apply_damage(damage, BRUTE, affecting, armor_block, sharp=attack.sharp, edge=attack.edge) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway.
|
||||
if((stat != DEAD) && damage >= 9)
|
||||
if((stat != DEAD) && damage >= M.species.punchstunthreshold)
|
||||
visible_message("<span class='danger'>[M] has weakened [src]!</span>", \
|
||||
"<span class='userdanger'>[M] has weakened [src]!</span>")
|
||||
apply_effect(4, WEAKEN, armor_block)
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
language = "Wryn Hivemind"
|
||||
tail = "wryntail"
|
||||
unarmed_type = /datum/unarmed_attack/punch/weak
|
||||
punchdamagelow = 0
|
||||
punchdamagehigh = 1
|
||||
//primitive = /mob/living/carbon/monkey/wryn
|
||||
darksight = 3
|
||||
slowdown = 1
|
||||
|
||||
@@ -6,12 +6,33 @@
|
||||
deform = 'icons/mob/human_races/r_golem.dmi'
|
||||
|
||||
default_language = "Galactic Common"
|
||||
flags = NO_BREATHE | NO_PAIN | NO_BLOOD | NO_SCAN
|
||||
flags = NO_BREATHE | NO_BLOOD | RADIMMUNE
|
||||
virus_immune = 1
|
||||
dietflags = DIET_OMNI //golems can eat anything because they are magic or something
|
||||
reagent_tag = PROCESS_ORG
|
||||
|
||||
unarmed_type = /datum/unarmed_attack/punch
|
||||
punchdamagelow = 5
|
||||
punchdamagehigh = 14
|
||||
punchstunthreshold = 11 //about 40% chance to stun
|
||||
|
||||
warning_low_pressure = -1
|
||||
hazard_low_pressure = -1
|
||||
hazard_high_pressure = 999999999
|
||||
warning_high_pressure = 999999999
|
||||
|
||||
cold_level_1 = -1
|
||||
cold_level_2 = -1
|
||||
cold_level_3 = -1
|
||||
|
||||
heat_level_1 = 999999999
|
||||
heat_level_2 = 999999999
|
||||
heat_level_3 = 999999999
|
||||
heat_level_3_breathe = 999999999
|
||||
|
||||
blood_color = "#515573"
|
||||
flesh_color = "#137E8F"
|
||||
slowdown = 3
|
||||
siemens_coeff = 0
|
||||
|
||||
has_organ = list(
|
||||
@@ -45,62 +66,36 @@
|
||||
item_color = "golem"
|
||||
has_sensor = 0
|
||||
flags = ABSTRACT | NODROP
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/golem
|
||||
name = "adamantine shell"
|
||||
desc = "a golem's thick outter shell"
|
||||
icon_state = "golem"
|
||||
item_state = "golem"
|
||||
w_class = 4//bulky item
|
||||
gas_transfer_coefficient = 0.90
|
||||
permeability_coefficient = 0.50
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD
|
||||
slowdown = 1.0
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
flags = ONESIZEFITSALL | STOPSPRESSUREDMAGE | ABSTRACT | NODROP
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS | HEAD
|
||||
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
|
||||
armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
body_parts_covered = HEAD|UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
flags_inv = HIDEGLOVES|HIDESHOES
|
||||
flags = ONESIZEFITSALL | ABSTRACT | NODROP | THICKMATERIAL
|
||||
armor = list(melee = 55, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/shoes/golem
|
||||
name = "golem's feet"
|
||||
desc = "sturdy adamantine feet"
|
||||
icon_state = "golem"
|
||||
item_state = "golem"
|
||||
flags = NOSLIP | ABSTRACT | AIRTIGHT | MASKCOVERSMOUTH | NODROP
|
||||
slowdown = SHOES_SLOWDOWN+1
|
||||
|
||||
flags = ABSTRACT | NODROP
|
||||
|
||||
/obj/item/clothing/mask/gas/golem
|
||||
name = "golem's face"
|
||||
desc = "the imposing face of an adamantine golem"
|
||||
icon_state = "golem"
|
||||
item_state = "golem"
|
||||
siemens_coefficient = 0
|
||||
unacidable = 1
|
||||
flags = ABSTRACT | NODROP
|
||||
|
||||
|
||||
/obj/item/clothing/gloves/golem
|
||||
name = "golem's hands"
|
||||
desc = "strong adamantine hands"
|
||||
icon_state = "golem"
|
||||
item_state = null
|
||||
siemens_coefficient = 0
|
||||
flags = ABSTRACT | NODROP
|
||||
|
||||
|
||||
/obj/item/clothing/head/space/golem
|
||||
icon_state = "golem"
|
||||
item_state = "dermal"
|
||||
item_color = "dermal"
|
||||
name = "golem's head"
|
||||
desc = "a golem's head"
|
||||
unacidable = 1
|
||||
flags = STOPSPRESSUREDMAGE | ABSTRACT | NODROP
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
|
||||
armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
flags = ABSTRACT | NODROP
|
||||
@@ -57,7 +57,9 @@
|
||||
var/light_effect_amp //If 0, takes/heals 1 burn and brute per tick. Otherwise, both healing and damage effects are amplified.
|
||||
|
||||
var/total_health = 100
|
||||
var/max_hurt_damage = 9 // Max melee damage dealt + 5 if hulk
|
||||
var/punchdamagelow = 0 //lowest possible punch damage
|
||||
var/punchdamagehigh = 9 //highest possible punch damage
|
||||
var/punchstunthreshold = 9 //damage at which punches from this race will stun //yes it should be to the attacked race but it's not useful that way even if it's logical
|
||||
var/list/default_genes = list()
|
||||
|
||||
var/ventcrawler = 0 //Determines if the mob can go through the vents.
|
||||
@@ -345,7 +347,7 @@
|
||||
|
||||
/datum/unarmed_attack
|
||||
var/attack_verb = list("attack") // Empty hand hurt intent verb.
|
||||
var/damage = 0 // Extra empty hand attack damage.
|
||||
var/damage = 0 // How much flat bonus damage an attack will do. This is a *bonus* guaranteed damage amount on top of the random damage attacks do.
|
||||
var/attack_sound = "punch"
|
||||
var/miss_sound = 'sound/weapons/punchmiss.ogg'
|
||||
var/sharp = 0
|
||||
@@ -356,7 +358,6 @@
|
||||
|
||||
/datum/unarmed_attack/punch/weak
|
||||
attack_verb = list("flail")
|
||||
damage = 1
|
||||
|
||||
/datum/unarmed_attack/diona
|
||||
attack_verb = list("lash", "bludgeon")
|
||||
@@ -370,7 +371,7 @@
|
||||
|
||||
/datum/unarmed_attack/claws/armalis
|
||||
attack_verb = list("slash", "claw")
|
||||
damage = 6 //they're huge! they should do a little more damage, i'd even go for 15-20 maybe...
|
||||
damage = 6
|
||||
|
||||
/datum/species/proc/handle_can_equip(obj/item/I, slot, disable_warning = 0, mob/living/carbon/human/user)
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user