mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-27 23:14:18 +01:00
Replaced all instances of armour/armoury with armor/armory (#9593)
This commit is contained in:
@@ -99,7 +99,7 @@
|
||||
|
||||
//Apply weapon damage
|
||||
var/damage_flags = I.damage_flags()
|
||||
if(prob(blocked)) //armour provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
if(prob(blocked)) //armor provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
damage_flags &= ~DAM_SHARP
|
||||
damage_flags &= ~DAM_EDGE
|
||||
|
||||
|
||||
@@ -90,10 +90,10 @@
|
||||
|
||||
|
||||
//This is called when a gestalt is hit by an explosion. Nymphs will take damage too
|
||||
//Damage to nymphs depends on the severity of the blast, and on explosive-resistant armour worn by the gestalt
|
||||
//A severity 1 explosion without armour will usually kill all nymphs in the gestalt
|
||||
//Damage to nymphs depends on the severity of the blast, and on explosive-resistant armor worn by the gestalt
|
||||
//A severity 1 explosion without armor will usually kill all nymphs in the gestalt
|
||||
//Damage is randomised for each nymph, often some will survive and others wont
|
||||
//Nymphs have 100 health, so without armour there is a small possibility for each nymph to survive a severity 1 blast
|
||||
//Nymphs have 100 health, so without armor there is a small possibility for each nymph to survive a severity 1 blast
|
||||
/mob/living/carbon/human/proc/diona_contained_explosion_damage(var/severity)
|
||||
var/damage = 0
|
||||
var/damage_factor = 0.1 //Safety value
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing \icon[head] <a href='?src=\ref[src];lookitem_desc_only=\ref[head]'>\a [head]</a> on [T.his] head.\n"
|
||||
|
||||
//suit/armour
|
||||
//suit/armor
|
||||
if(wear_suit)
|
||||
var/tie_msg
|
||||
var/tie_msg_warn
|
||||
@@ -97,7 +97,7 @@
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing \icon[wear_suit] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_suit]'>\a [wear_suit]</a>[tie_msg].\n"
|
||||
|
||||
//suit/armour storage
|
||||
//suit/armor storage
|
||||
if(s_store && !skipsuitstorage)
|
||||
if(s_store.blood_color)
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying \icon[s_store] [s_store.gender==PLURAL?"some":"a"] [fluid_color_type_map(s_store.blood_color)]-stained <a href='?src=\ref[src];lookitem_desc_only=\ref[s_store]'>[s_store.name]</a> on [T.his] [wear_suit.name]!</span>\n"
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
if (prob(50))
|
||||
Paralyse(10)
|
||||
|
||||
// factor in armour
|
||||
// factor in armor
|
||||
var/protection = BLOCKED_MULT(getarmor(null, "bomb"))
|
||||
b_loss *= protection
|
||||
f_loss *= protection
|
||||
|
||||
@@ -329,12 +329,12 @@
|
||||
var/obj/item/clothing/gloves/force/X = H.gloves
|
||||
real_damage *= X.amplification
|
||||
|
||||
var/armour = run_armor_check(hit_zone, "melee")
|
||||
var/armor = run_armor_check(hit_zone, "melee")
|
||||
// Apply additional unarmed effects.
|
||||
attack.apply_effects(H, src, armour, rand_damage, hit_zone)
|
||||
attack.apply_effects(H, src, armor, rand_damage, hit_zone)
|
||||
|
||||
// Finally, apply damage to target
|
||||
apply_damage(real_damage, hit_dam_type, hit_zone, armour, damage_flags = damage_flags)
|
||||
apply_damage(real_damage, hit_dam_type, hit_zone, armor, damage_flags = damage_flags)
|
||||
|
||||
|
||||
if(M.resting && src.help_up_offer)
|
||||
|
||||
@@ -286,7 +286,7 @@
|
||||
|
||||
|
||||
/*
|
||||
In most cases it makes more sense to use apply_damage() instead! And make sure to check armour if applicable.
|
||||
In most cases it makes more sense to use apply_damage() instead! And make sure to check armor if applicable.
|
||||
*/
|
||||
//Damages ONE external organ, organ gets randomly selected from damagable ones.
|
||||
//It automatically updates damage overlays if necesary
|
||||
|
||||
@@ -127,7 +127,7 @@ emp_act
|
||||
results.Add(C)
|
||||
return results
|
||||
|
||||
//this proc returns the armour value for a particular external organ.
|
||||
//this proc returns the armor value for a particular external organ.
|
||||
/mob/living/carbon/human/proc/getarmor_organ(var/obj/item/organ/external/def_zone, var/type)
|
||||
if(!type || !def_zone) return 0
|
||||
var/protection = 0
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
attack_name = "power fist"
|
||||
shredding = 1
|
||||
|
||||
/datum/unarmed_attack/terminator/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/terminator/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(prob(25) && target.mob_size <= 30)
|
||||
playsound(user, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
@@ -138,7 +138,7 @@
|
||||
sleep(1)
|
||||
step_away(target,user,15)
|
||||
sleep(1)
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armour)
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armor)
|
||||
|
||||
/datum/unarmed_attack/claws/cleave
|
||||
attack_verb = list("cleaved", "plowed", "swiped")
|
||||
@@ -149,7 +149,7 @@
|
||||
attack_name = "massive claws"
|
||||
shredding = 1
|
||||
|
||||
/datum/unarmed_attack/claws/cleave/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/claws/cleave/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
var/hit_mobs = 0
|
||||
for(var/mob/living/L in orange(1,user))
|
||||
@@ -157,7 +157,7 @@
|
||||
continue
|
||||
if(L == target)
|
||||
continue
|
||||
L.apply_damage(rand(5,20), BRUTE, zone, armour)
|
||||
L.apply_damage(rand(5,20), BRUTE, zone, armor)
|
||||
to_chat(L, "<span class='danger'>\The [user] [pick(attack_verb)] you with its [attack_noun]!</span>")
|
||||
hit_mobs++
|
||||
if(hit_mobs)
|
||||
@@ -176,7 +176,7 @@
|
||||
/datum/unarmed_attack/bite/infectious
|
||||
shredding = 1
|
||||
|
||||
/datum/unarmed_attack/bite/infectious/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/bite/infectious/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(target && target.stat == DEAD)
|
||||
return
|
||||
@@ -184,8 +184,7 @@
|
||||
to_chat(user, "<span class='danger'>You feel that \the [target] has been already infected!</span>")
|
||||
|
||||
var/infection_chance = 80
|
||||
var/armor = target.run_armor_check(zone,"melee")
|
||||
infection_chance -= armor
|
||||
infection_chance -= target.run_armor_check(zone,"melee")
|
||||
if(prob(infection_chance))
|
||||
if(target.reagents)
|
||||
target.reagents.add_reagent(/datum/reagent/toxin/trioxin, 10)
|
||||
@@ -206,7 +205,7 @@
|
||||
attack_sound = 'sound/effects/sparks4.ogg'
|
||||
attack_name = "electrifying touch"
|
||||
|
||||
/datum/unarmed_attack/shocking/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/shocking/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(prob(25))
|
||||
target.electrocute_act(20, user, def_zone = zone)
|
||||
@@ -219,7 +218,7 @@
|
||||
attack_name = "flaming touch"
|
||||
damage_type = BURN
|
||||
|
||||
/datum/unarmed_attack/flame/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/flame/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(prob(25))
|
||||
target.apply_effect(1, INCINERATE, 0)
|
||||
@@ -43,7 +43,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
/datum/unarmed_attack/proc/get_unarmed_damage()
|
||||
return damage
|
||||
|
||||
/datum/unarmed_attack/proc/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
/datum/unarmed_attack/proc/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
|
||||
if(target.stat == DEAD)
|
||||
return
|
||||
@@ -54,13 +54,13 @@ var/global/list/sparring_attack_cache = list()
|
||||
if(!target.can_feel_pain())
|
||||
pain_message = FALSE
|
||||
|
||||
if(attack_damage >= 5 && armour < 100 && !(target == user) && stun_chance <= attack_damage * 5) // 25% standard chance
|
||||
if(attack_damage >= 5 && armor < 100 && !(target == user) && stun_chance <= attack_damage * 5) // 25% standard chance
|
||||
switch(zone) // strong punches can have effects depending on where they hit
|
||||
if(BP_HEAD, BP_MOUTH, BP_EYES)
|
||||
// Induce blurriness
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='danger'>[target] looks momentarily disoriented.</span>", "<span class='danger'>You see stars.</span>")
|
||||
target.apply_effect(attack_damage*2, EYE_BLUR, armour)
|
||||
target.apply_effect(attack_damage*2, EYE_BLUR, armor)
|
||||
if(BP_L_ARM, BP_L_HAND)
|
||||
if (target.l_hand)
|
||||
// Disarm left hand
|
||||
@@ -82,22 +82,22 @@ var/global/list/sparring_attack_cache = list()
|
||||
target.visible_message("<span class='danger'>[target] slams into [T]!</span>")
|
||||
if(prob(50))
|
||||
target.set_dir(reverse_dir[target.dir])
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armour)
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armor)
|
||||
if(BP_GROIN)
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='warning'>[target] looks like \he [gender_datums[target.gender].is] in pain!</span>", "<span class='warning'>[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your [pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]</span>")
|
||||
target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armour)
|
||||
target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armor)
|
||||
if(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT)
|
||||
if(!target.lying)
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='warning'>[target] gives way slightly.</span>")
|
||||
target.apply_effect(attack_damage*3, PAIN, armour)
|
||||
else if(attack_damage >= 5 && !(target == user) && (stun_chance + attack_damage * 5 >= 100) && armour < 100) // Chance to get the usual throwdown as well (25% standard chance)
|
||||
target.apply_effect(attack_damage*3, PAIN, armor)
|
||||
else if(attack_damage >= 5 && !(target == user) && (stun_chance + attack_damage * 5 >= 100) && armor < 100) // Chance to get the usual throwdown as well (25% standard chance)
|
||||
if(!target.lying)
|
||||
target.visible_message("<span class='danger'>[target] [pick("slumps", "falls", "drops")] down to the ground!</span>")
|
||||
else
|
||||
target.visible_message("<span class='danger'>[target] has been weakened!</span>")
|
||||
target.apply_effect(3, WEAKEN, armour)
|
||||
target.apply_effect(3, WEAKEN, armor)
|
||||
|
||||
/datum/unarmed_attack/proc/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage)
|
||||
var/obj/item/organ/external/affecting = target.get_organ(zone)
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
/*
|
||||
run_armor_check() args
|
||||
def_zone - What part is getting hit, if null will check entire body
|
||||
attack_flag - The type of armour to be checked
|
||||
armour_pen - reduces the effectiveness of armour
|
||||
attack_flag - The type of armor to be checked
|
||||
armor_pen - reduces the effectiveness of armor
|
||||
absorb_text - shown if the armor check is 100% successful
|
||||
soften_text - shown if the armor check is more than 0% successful and less than 100%
|
||||
Returns
|
||||
@@ -12,16 +12,16 @@
|
||||
#define MOB_FIRE_LIGHT_RANGE 3 //These control the intensity and range of light given off by a mob which is on fire
|
||||
#define MOB_FIRE_LIGHT_POWER 2
|
||||
|
||||
/mob/living/proc/run_armor_check(var/def_zone = null, var/attack_flag = "melee", var/armour_pen = 0, var/absorb_text = null, var/soften_text = null)
|
||||
if(armour_pen >= 100)
|
||||
/mob/living/proc/run_armor_check(var/def_zone = null, var/attack_flag = "melee", var/armor_pen = 0, var/absorb_text = null, var/soften_text = null)
|
||||
if(armor_pen >= 100)
|
||||
return 0 //might as well just skip the processing
|
||||
|
||||
var/armor = getarmor(def_zone, attack_flag)
|
||||
|
||||
if(armour_pen >= armor)
|
||||
if(armor_pen >= armor)
|
||||
return 0 //effective_armor is going to be 0, fullblock is going to be 0, blocked is going to 0, let's save ourselves the trouble
|
||||
|
||||
var/effective_armor = (armor - armour_pen)/100
|
||||
var/effective_armor = (armor - armor_pen)/100
|
||||
var/fullblock = (effective_armor*effective_armor) * ARMOR_BLOCK_CHANCE_MULT
|
||||
|
||||
if(fullblock >= 1 || prob(fullblock*100))
|
||||
@@ -31,7 +31,7 @@
|
||||
show_message("<span class='warning'>Your armor absorbs the blow!</span>")
|
||||
return 100
|
||||
|
||||
//this makes it so that X armour blocks X% damage, when including the chance of hard block.
|
||||
//this makes it so that X armor blocks X% damage, when including the chance of hard block.
|
||||
//I double checked and this formula will also ensure that a higher effective_armor
|
||||
//will always result in higher (non-fullblock) damage absorption too, which is also a nice property
|
||||
//In particular, blocked will increase from 0 to 50 as effective_armor increases from 0 to 0.999 (if it is 1 then we never get here because ofc)
|
||||
@@ -88,7 +88,7 @@
|
||||
return
|
||||
|
||||
//Armor
|
||||
var/absorb = run_armor_check(def_zone, P.check_armour, P.armor_penetration)
|
||||
var/absorb = run_armor_check(def_zone, P.check_armor, P.armor_penetration)
|
||||
var/damaged
|
||||
if(prob(absorb))
|
||||
if(P.damage_flags & DAM_SHARP || P.damage_flags & DAM_SHARP || P.damage_flags & DAM_LASER)
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
//Apply weapon damage
|
||||
var/damage_flags = I.damage_flags()
|
||||
if(prob(blocked)) //armour provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
if(prob(blocked)) //armor provides a chance to turn sharp/edge weapon attacks into blunt ones
|
||||
damage_flags &= ~DAM_SHARP
|
||||
damage_flags &= ~DAM_EDGE
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
// Protects the cyborg from damage. Usually first module to be hit
|
||||
// No power usage
|
||||
/datum/robot_component/armor
|
||||
name = "armour plating"
|
||||
name = "armor plating"
|
||||
external_type = /obj/item/robot_parts/robot_component/armor
|
||||
max_damage = 60
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
components["diagnosis unit"] = new /datum/robot_component/diagnosis_unit(src)
|
||||
components["camera"] = new /datum/robot_component/camera(src)
|
||||
components["comms"] = new /datum/robot_component/binary_communication(src)
|
||||
components["armour"] = new /datum/robot_component/armor(src)
|
||||
components["armor"] = new /datum/robot_component/armor(src)
|
||||
components["jetpack"] = new /datum/robot_component/jetpack(src)
|
||||
components["surge"] = new /datum/robot_component/surge(src)
|
||||
jetpackComponent = components["jetpack"]
|
||||
|
||||
@@ -54,10 +54,10 @@
|
||||
if(C.installed == 1) rval += C
|
||||
return rval
|
||||
|
||||
/mob/living/silicon/robot/proc/get_armour()
|
||||
/mob/living/silicon/robot/proc/get_armor()
|
||||
if(!length(components))
|
||||
return FALSE
|
||||
var/datum/robot_component/C = components["armour"]
|
||||
var/datum/robot_component/C = components["armor"]
|
||||
if(C?.installed == TRUE)
|
||||
return C
|
||||
return FALSE
|
||||
@@ -92,7 +92,7 @@
|
||||
to_chat(src, SPAN_WARNING("Your shield absorbs some of the impact!"))
|
||||
|
||||
if(!emp)
|
||||
var/datum/robot_component/armor/A = get_armour()
|
||||
var/datum/robot_component/armor/A = get_armor()
|
||||
if(A)
|
||||
A.take_damage(brute, burn, damage_flags)
|
||||
return
|
||||
@@ -138,7 +138,7 @@
|
||||
burn -= absorb_burn
|
||||
to_chat(src, SPAN_WARNING("Your shield absorbs some of the impact!"))
|
||||
|
||||
var/datum/robot_component/armor/A = get_armour()
|
||||
var/datum/robot_component/armor/A = get_armor()
|
||||
if(A)
|
||||
A.take_damage(brute, burn, damage_flags)
|
||||
return
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
//can't inject synths
|
||||
/mob/living/silicon/can_inject(mob/user, error_msg)
|
||||
if(error_msg)
|
||||
to_chat(user, SPAN_ALERT("The armoured plating is too tough."))
|
||||
to_chat(user, SPAN_ALERT("The armored plating is too tough."))
|
||||
return FALSE
|
||||
|
||||
//Silicon mob language procs
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/mob/living/simple_animal/construct/armoured
|
||||
/mob/living/simple_animal/construct/armored
|
||||
name = "Juggernaut"
|
||||
real_name = "Juggernaut"
|
||||
desc = "A possessed suit of armour driven by the will of the restless dead."
|
||||
desc = "A possessed suit of armor driven by the will of the restless dead."
|
||||
icon = 'icons/mob/mob.dmi'
|
||||
icon_state = "behemoth"
|
||||
icon_living = "behemoth"
|
||||
@@ -11,7 +11,7 @@
|
||||
harm_intent_damage = 0
|
||||
melee_damage_lower = 30
|
||||
melee_damage_upper = 30
|
||||
attacktext = "smashed their armoured gauntlet into"
|
||||
attacktext = "smashed their armored gauntlet into"
|
||||
mob_size = MOB_LARGE
|
||||
speed = 3
|
||||
environment_smash = 2
|
||||
@@ -20,7 +20,7 @@
|
||||
resistance = 10
|
||||
construct_spells = list(/spell/aoe_turf/conjure/forcewall/lesser)
|
||||
|
||||
/mob/living/simple_animal/construct/armoured/bullet_act(var/obj/item/projectile/P)
|
||||
/mob/living/simple_animal/construct/armored/bullet_act(var/obj/item/projectile/P)
|
||||
if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))
|
||||
var/reflectchance = 80 - round(P.damage / 3)
|
||||
if(prob(reflectchance))
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
var/construct_class = alert(U, "Please choose which type of construct you wish to create.",,"Juggernaut","Wraith","Artificer")
|
||||
switch(construct_class)
|
||||
if("Juggernaut")
|
||||
var/mob/living/simple_animal/construct/armoured/Z = new /mob/living/simple_animal/construct/armoured (get_turf(T.loc))
|
||||
var/mob/living/simple_animal/construct/armored/Z = new /mob/living/simple_animal/construct/armored (get_turf(T.loc))
|
||||
Z.key = A.key
|
||||
if(iscultist(U))
|
||||
cult.add_antagonist(Z.mind)
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
// Xenoarch aliens.
|
||||
/mob/living/simple_animal/hostile/samak
|
||||
name = "samak"
|
||||
desc = "A fast, armoured predator accustomed to hiding and ambushing in cold terrain."
|
||||
desc = "A fast, armored predator accustomed to hiding and ambushing in cold terrain."
|
||||
faction = "samak"
|
||||
icon_state = "samak"
|
||||
icon_living = "samak"
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
name = "electrical discharge"
|
||||
icon_state = "stun"
|
||||
damage_type = BURN
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
damage = 5
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/stun
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
nodamage = 1
|
||||
taser_effect = 1
|
||||
agony = 20
|
||||
check_armour = "energy"
|
||||
check_armor = "energy"
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
var/list/thoughts = list(
|
||||
"You hear a cacophany of alien sounds.",
|
||||
|
||||
@@ -219,7 +219,7 @@ var/list/global/base_miss_chance = list(
|
||||
)
|
||||
|
||||
//Used to weight organs when an organ is hit randomly (i.e. not a directed, aimed attack).
|
||||
//Also used to weight the protection value that armour provides for covering that body part when calculating protection from full-body effects.
|
||||
//Also used to weight the protection value that armor provides for covering that body part when calculating protection from full-body effects.
|
||||
var/list/global/organ_rel_size = list(
|
||||
BP_HEAD = 25,
|
||||
BP_CHEST = 70,
|
||||
|
||||
@@ -321,7 +321,7 @@
|
||||
if(ispath(MP, /mob/living/simple_animal/space_worm))
|
||||
return 0 //Unfinished. Very buggy, they seem to just spawn additional space worms everywhere and eating your own tail results in new worms spawning.
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/armoured))
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/armored))
|
||||
return 0 //Verbs do not appear for players. These constructs should really have their own class simple_animal/construct/subtype
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/wraith))
|
||||
|
||||
Reference in New Issue
Block a user