[MIRROR] Deletes magic armor [MDB IGNORE] (#9330)

* Deletes magic armor (#62594)

* Deletes magic armor

* removes arcane barrage's 0 armor penetration

* makes magic use NO flags. Get fucked.

* Deletes magic armor

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
This commit is contained in:
SkyratBot
2021-11-09 13:09:46 +00:00
committed by GitHub
parent d666734423
commit bd39aef673
6 changed files with 14 additions and 27 deletions

View File

@@ -35,8 +35,6 @@
#define FIRE "fire"
/// Involves corrosive substances.
#define ACID "acid"
/// Involves magic.
#define MAGIC "magic"
/// Involved in checking the likelyhood of applying a wound to a mob.
#define WOUND "wound"
/// Involves being eaten

View File

@@ -1,9 +1,9 @@
#define ARMORID "armor-[melee]-[bullet]-[laser]-[energy]-[bomb]-[bio]-[fire]-[acid]-[magic]-[wound]"
#define ARMORID "armor-[melee]-[bullet]-[laser]-[energy]-[bomb]-[bio]-[fire]-[acid]-[wound]"
/proc/getArmor(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, magic = 0, wound = 0)
/proc/getArmor(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, wound = 0)
. = locate(ARMORID)
if (!.)
. = new /datum/armor(melee, bullet, laser, energy, bomb, bio, fire, acid, magic, wound)
. = new /datum/armor(melee, bullet, laser, energy, bomb, bio, fire, acid, wound)
/datum/armor
datum_flags = DF_USE_TAG
@@ -15,11 +15,10 @@
var/bio
var/fire
var/acid
var/magic
var/wound
var/consume
/datum/armor/New(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, magic = 0, wound = 0)
/datum/armor/New(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, wound = 0)
src.melee = melee
src.bullet = bullet
src.laser = laser
@@ -28,18 +27,17 @@
src.bio = bio
src.fire = fire
src.acid = acid
src.magic = magic
src.wound = wound
src.consume = melee
tag = ARMORID
/datum/armor/proc/modifyRating(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, magic = 0, wound = 0)
return getArmor(src.melee+melee, src.bullet+bullet, src.laser+laser, src.energy+energy, src.bomb+bomb, src.bio+bio, src.fire+fire, src.acid+acid, src.magic+magic, src.wound+wound)
/datum/armor/proc/modifyRating(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, wound = 0)
return getArmor(src.melee+melee, src.bullet+bullet, src.laser+laser, src.energy+energy, src.bomb+bomb, src.bio+bio, src.fire+fire, src.acid+acid, src.wound+wound)
/datum/armor/proc/modifyAllRatings(modifier = 0)
return getArmor(melee+modifier, bullet+modifier, laser+modifier, energy+modifier, bomb+modifier, bio+modifier, fire+modifier, acid+modifier, magic+modifier, wound+modifier)
return getArmor(melee+modifier, bullet+modifier, laser+modifier, energy+modifier, bomb+modifier, bio+modifier, fire+modifier, acid+modifier, wound+modifier)
/datum/armor/proc/setRating(melee, bullet, laser, energy, bomb, bio, fire, acid, magic, wound)
/datum/armor/proc/setRating(melee, bullet, laser, energy, bomb, bio, fire, acid, wound)
return getArmor((isnull(melee) ? src.melee : melee),\
(isnull(bullet) ? src.bullet : bullet),\
(isnull(laser) ? src.laser : laser),\
@@ -48,20 +46,19 @@
(isnull(bio) ? src.bio : bio),\
(isnull(fire) ? src.fire : fire),\
(isnull(acid) ? src.acid : acid),\
(isnull(magic) ? src.magic : magic),\
(isnull(wound) ? src.wound : wound))
/datum/armor/proc/getRating(rating)
return vars[rating]
/datum/armor/proc/getList()
return list(MELEE = melee, BULLET = bullet, LASER = laser, ENERGY = energy, BOMB = bomb, BIO = bio, FIRE = fire, ACID = acid, MAGIC = magic, WOUND = wound)
return list(MELEE = melee, BULLET = bullet, LASER = laser, ENERGY = energy, BOMB = bomb, BIO = bio, FIRE = fire, ACID = acid, WOUND = wound)
/datum/armor/proc/attachArmor(datum/armor/AA)
return getArmor(melee+AA.melee, bullet+AA.bullet, laser+AA.laser, energy+AA.energy, bomb+AA.bomb, bio+AA.bio, fire+AA.fire, acid+AA.acid, magic+AA.magic, wound+AA.wound)
return getArmor(melee+AA.melee, bullet+AA.bullet, laser+AA.laser, energy+AA.energy, bomb+AA.bomb, bio+AA.bio, fire+AA.fire, acid+AA.acid, wound+AA.wound)
/datum/armor/proc/detachArmor(datum/armor/AA)
return getArmor(melee-AA.melee, bullet-AA.bullet, laser-AA.laser, energy-AA.energy, bomb-AA.bomb, bio-AA.bio, fire-AA.fire, acid-AA.acid, magic-AA.magic, wound-AA.wound)
return getArmor(melee-AA.melee, bullet-AA.bullet, laser-AA.laser, energy-AA.energy, bomb-AA.bomb, bio-AA.bio, fire-AA.fire, acid-AA.acid, wound-AA.wound)
/datum/armor/vv_edit_var(var_name, var_value)
if (var_name == NAMEOF(src, tag))

View File

@@ -466,7 +466,6 @@
damage = 0
nodamage = TRUE // love can't actually hurt you
armour_penetration = 100 // but if it could, it would cut through even the thickest plate
flag = MAGIC // and most importantly, love is magic~
/obj/projectile/kiss/fire(angle, atom/direct_target)
if(firer)

View File

@@ -331,8 +331,6 @@
armor_list += list("ENERGY" = armor.energy)
if(armor.laser)
armor_list += list("LASER" = armor.laser)
if(armor.magic)
armor_list += list("MAGIC" = armor.magic)
if(armor.melee)
armor_list += list("MELEE" = armor.melee)

View File

@@ -126,7 +126,8 @@
var/damage = 10
var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here
var/nodamage = FALSE //Determines if the projectile will skip any damage inflictions
var/flag = BULLET //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb
///Defines what armor to use when it hits things. Must be set to bullet, laser, energy, or bomb
var/flag = BULLET
///How much armor this projectile pierces.
var/armour_penetration = 0
///Whether or not our bullet lacks penetrative power, and is easily stopped by armor.

View File

@@ -5,7 +5,7 @@
damage_type = OXY
nodamage = TRUE
armour_penetration = 100
flag = MAGIC
flag = NONE
/obj/projectile/magic/death
name = "bolt of death"
@@ -203,7 +203,6 @@
icon_state = "lavastaff"
damage = 15
damage_type = BURN
flag = MAGIC
dismemberment = 50
nodamage = FALSE
@@ -222,8 +221,6 @@
damage = 20
damage_type = BURN
nodamage = FALSE
armour_penetration = 0
flag = MAGIC
hitsound = 'sound/weapons/barragespellhit.ogg'
/obj/projectile/magic/arcane_barrage/on_hit(target)
@@ -240,7 +237,6 @@
name = "locker bolt"
icon_state = "locker"
nodamage = TRUE
flag = MAGIC
var/weld = TRUE
var/created = FALSE //prevents creation of more then one locker if it has multiple hits
var/locker_suck = TRUE
@@ -475,7 +471,6 @@
damage_type = BURN
nodamage = FALSE
speed = 0.3
flag = MAGIC
var/zap_power = 20000
var/zap_range = 15
@@ -543,7 +538,6 @@
nodamage = FALSE
armour_penetration = 100
temperature = -200 // Cools you down greatly per hit
flag = MAGIC
/obj/projectile/magic/nothing
name = "bolt of nothing"