mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 14:32:52 +00:00
[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:
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user