From cbf72ae20cf861631c0dd733bbdff6a7a825a227 Mon Sep 17 00:00:00 2001 From: Bokkiewokkie Date: Thu, 20 Jun 2024 19:23:45 +0200 Subject: [PATCH 01/16] Initial commit --- nsv13.dme | 1 + .../modules/overmap/armour/armour_quadrant.dm | 4 +-- nsv13/code/modules/overmap/physics.dm | 4 +-- nsv13/code/modules/overmap/weapons/damage.dm | 2 +- nsv13/code/modules/overmap/weapons/mines.dm | 25 ++++++++++++++++++ nsv13/icons/overmap/effects.dmi | Bin 18277 -> 18520 bytes 6 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 nsv13/code/modules/overmap/weapons/mines.dm diff --git a/nsv13.dme b/nsv13.dme index 8806afaff65..ec3802e49c7 100644 --- a/nsv13.dme +++ b/nsv13.dme @@ -4049,6 +4049,7 @@ #include "nsv13\code\modules\overmap\types\spacepirates.dm" #include "nsv13\code\modules\overmap\types\syndicate.dm" #include "nsv13\code\modules\overmap\weapons\damage.dm" +#include "nsv13\code\modules\overmap\weapons\mines.dm" #include "nsv13\code\modules\overmap\weapons\plasma_gun.dm" #include "nsv13\code\modules\overmap\weapons\projectiles_fx.dm" #include "nsv13\code\modules\overmap\weapons\ship_weapon.dm" diff --git a/nsv13/code/modules/overmap/armour/armour_quadrant.dm b/nsv13/code/modules/overmap/armour/armour_quadrant.dm index 97746a39f4c..ba600fff0d8 100644 --- a/nsv13/code/modules/overmap/armour/armour_quadrant.dm +++ b/nsv13/code/modules/overmap/armour/armour_quadrant.dm @@ -19,8 +19,8 @@ if(270 to 360) //Then this represents the last quadrant of the circle, the northwest one return ARMOUR_FORWARD_STARBOARD -/obj/structure/overmap/proc/projectile_quadrant_impact(obj/item/projectile/P) - var/shield_angle_hit = SIMPLIFY_DEGREES(get_angle(P, src) - angle) +/obj/structure/overmap/proc/quadrant_impact(obj/O) + var/shield_angle_hit = SIMPLIFY_DEGREES(get_angle(O, src) - angle) switch(shield_angle_hit) if(0 to 89) //0 - 90 deg is the first right quarter of the circle, it's like dividing up a pizza! return ARMOUR_FORWARD_PORT diff --git a/nsv13/code/modules/overmap/physics.dm b/nsv13/code/modules/overmap/physics.dm index eee33df53e2..472a4d4b26a 100644 --- a/nsv13/code/modules/overmap/physics.dm +++ b/nsv13/code/modules/overmap/physics.dm @@ -479,8 +479,8 @@ This proc is to be used when someone gets stuck in an overmap ship, gauss, WHATE if(!impact_sound_cooldown && (bonk > 2 || bonk2 > 2)) bonk *= 5 //The rammer gets an innate penalty, to discourage ramming metas. bonk2 *= 5 - take_quadrant_hit(bonk, projectile_quadrant_impact(other)) //This looks horrible, but trust me, it isn't! Probably!. Armour_quadrant.dm for more info - other.take_quadrant_hit(bonk2, projectile_quadrant_impact(src)) //This looks horrible, but trust me, it isn't! Probably!. Armour_quadrant.dm for more info + take_quadrant_hit(bonk, quadrant_impact(other)) //This looks horrible, but trust me, it isn't! Probably!. Armour_quadrant.dm for more info + other.take_quadrant_hit(bonk2, quadrant_impact(src)) //This looks horrible, but trust me, it isn't! Probably!. Armour_quadrant.dm for more info log_game("[key_name(pilot)] has impacted an overmap ship into [other] with velocity [bonk]") diff --git a/nsv13/code/modules/overmap/weapons/damage.dm b/nsv13/code/modules/overmap/weapons/damage.dm index 1bcd3fa46b1..cc420822ec1 100644 --- a/nsv13/code/modules/overmap/weapons/damage.dm +++ b/nsv13/code/modules/overmap/weapons/damage.dm @@ -53,7 +53,7 @@ Bullet reactions visible_message("[src] is hit by \a [P]!", null, null, COMBAT_MESSAGE_RANGE) if(!QDELETED(src)) //Bullet on_hit effect might have already destroyed this object //var/datum/vector2d/point_of_collision = src.physics2d?.collider2d.get_collision_point(P.physics2d?.collider2d)//Get the collision point, see if the armour quadrants need to absorb this hit. - take_quadrant_hit(run_obj_armor(P.damage, P.damage_type, P.flag, null, P.armour_penetration), projectile_quadrant_impact(P)) //This looks horrible, but trust me, it isn't! Probably!. Armour_quadrant.dm for more info + take_quadrant_hit(run_obj_armor(P.damage, P.damage_type, P.flag, null, P.armour_penetration), quadrant_impact(P)) //This looks horrible, but trust me, it isn't! Probably!. Armour_quadrant.dm for more info /obj/structure/overmap/proc/relay_damage(proj_type) if(!length(occupying_levels)) diff --git a/nsv13/code/modules/overmap/weapons/mines.dm b/nsv13/code/modules/overmap/weapons/mines.dm new file mode 100644 index 00000000000..418ac2fcfb8 --- /dev/null +++ b/nsv13/code/modules/overmap/weapons/mines.dm @@ -0,0 +1,25 @@ +/obj/structure/space_mine + name = "space mine" + desc = "Like a naval mine, but in space!" + icon = "nsv13/icons/overmap/effects.dmi" + icon_state = "mine" + anchored = TRUE + density = TRUE + layer = ABOVE_MOB_LAYER + animate_movement = NO_STEPS + max_integrity = 300 + var/damage = 100 + var/damage_type = BRUTE + var/damage_flag = "overmap_heavy" + +/obj/structure/space_mine/obj_destruction(damage_flag) + . = ..(damage_flag) + mine_explode() //Why you mine explode? To the woods with you + +/obj/structure/space_mine/proc/mine_explode(obj/structure/overmap/OM) + var/armour_penetration + if(OM) //You just flew into a mine + armour_penetration = 20 //It's blowing up right next to you + if(OM.use_armour_quadrants) + OM.take_quadrant_hit(OM.run_obj_armor(damage, damage_type, flag, null, armour_penetration), quadrant_impact(P)) + diff --git a/nsv13/icons/overmap/effects.dmi b/nsv13/icons/overmap/effects.dmi index f66b17861426ac110d4c05ea25d3ad0683275176..be4f190a56279ae2cd6a06657c2b82e28df5d43b 100644 GIT binary patch delta 1075 zcma)+{WBYO0EfSc9O>pQL1lD0lwBu1oj4sobF0o0^16w3X37 zdz-+QRFl#As&_{QkCNv#Y@PaFco;WG#JyXN)JZztk%Rv}zM-M}&GK4ZSmHMvOSGhm6Bi_m zD8N+noVD2!-Jn&nrio6DQYeko5w!H6$gI4qMBiK|rPw2fgtHsLr-y@gg_MrVkCfV- zUEx-^gCQ-g^LmNx&4wd|hrjmZVcL~bU3PvoTfIPADo{H)-j7}Em+MyG4)upQUH2r% z`|XJd*g5z276+Q4k?W${K8kGN4v~#2k&R02k6<#@nwptrARet9?2&y9IhPzHuz%We zu@n7(iBm`&e6S)k)pNo#2JrU?EBw6q_1UGR;Ur&vv5Zd$Av$XCP|`H@!fp&?Sxl#( zE&CFJ=Olvo!^aF}(|vLXYe$|pBbEMHo0sI*IWEY}G9F--hY0J4Hj1|$!VHns^KJbul`xtrVV~Y-G-L z&f!XV6?O)Vf^F0@s^5!l?_b4h+qgN2ZWohK+7d>5{nwb2N`#mx#o5$_RmxIDXj&7S z?2p;x6@-zAkXI3;zYj~{Q^VK2-ky(X44^7D`dg0iLHaArohP|+XjL7J)C6EMH=1iy;s4xA{E+|v delta 840 zcmV-O1GoIxkOAe60gx7d0N@A)0002&LAX!=007*2R9JLGWpiV4X>fFDZ*Bkpc%03U z&1%Ci5QNX#rx=o}F#d)1pi6KlJ|wRYM7*&DjwB>ew{M?A4l*UB*Rm|j!tM;;>~T1L z3}^JGfj&7z<17@~q9n1JG0jkDY7#S>X->~2CY=}xyQIU!X-8szG$BHvB5@1)&JhZA zM`Gkfe?y@z%D1MG|9-R??ao$Tjh!-FyMb#qY_gV{NTS!Ph>wDh>LXIg3?K z59q(RYm`l!P+?wAUwhxzAjDKOF@vP2>Xl(9fyAIfuE0 ze#wEL^AkY2&tfi~Xl+;J^fJ#7a_jS0yQRKw{Jvy;UYIguaY{b!;9@UYpRv@}!loY! zec#YwPW}V{dGm?%tCBKY2r{pbe@c*BziWMVD}7B68bV)#D-Bn0*QUt}`uQpD%xX6k z*%jQ!@~d`g`QYPtGROJju_r}8oKK%itj){fxpw?n>1!N2Df(bIyu*O8H=jwZ1RMxr zo&YfozfJDz2Vh8cZY}@-GQf`A`FkM%z#Ies07eV~001Kf0RVszg8%@)i1`I``Y7{P SSWZd+0000 Date: Thu, 27 Jun 2024 19:06:58 +0200 Subject: [PATCH 02/16] Mine'd if I park this here --- .../modules/overmap/armour/armour_quadrant.dm | 6 ++++-- nsv13/code/modules/overmap/weapons/mines.dm | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/nsv13/code/modules/overmap/armour/armour_quadrant.dm b/nsv13/code/modules/overmap/armour/armour_quadrant.dm index ba600fff0d8..e5ea027f683 100644 --- a/nsv13/code/modules/overmap/armour/armour_quadrant.dm +++ b/nsv13/code/modules/overmap/armour/armour_quadrant.dm @@ -2,6 +2,7 @@ new /obj/structure/overmap/syndicate/ai(get_turf(pick(orange(10, src)))) //Thank you once again to qwerty for writing the directional calc for this. +///Returns the quadrant hit based on a vector point /obj/structure/overmap/proc/check_quadrant(matrix/vector/point_of_collision) if(!point_of_collision) return @@ -19,9 +20,10 @@ if(270 to 360) //Then this represents the last quadrant of the circle, the northwest one return ARMOUR_FORWARD_STARBOARD +///Returns the quadrant hit by an object /obj/structure/overmap/proc/quadrant_impact(obj/O) - var/shield_angle_hit = SIMPLIFY_DEGREES(get_angle(O, src) - angle) - switch(shield_angle_hit) + var/hit_angle = SIMPLIFY_DEGREES(get_angle(O, src) - angle) + switch(hit_angle) if(0 to 89) //0 - 90 deg is the first right quarter of the circle, it's like dividing up a pizza! return ARMOUR_FORWARD_PORT if(90 to 179) diff --git a/nsv13/code/modules/overmap/weapons/mines.dm b/nsv13/code/modules/overmap/weapons/mines.dm index 418ac2fcfb8..394f4efc775 100644 --- a/nsv13/code/modules/overmap/weapons/mines.dm +++ b/nsv13/code/modules/overmap/weapons/mines.dm @@ -8,6 +8,7 @@ layer = ABOVE_MOB_LAYER animate_movement = NO_STEPS max_integrity = 300 + var/faction = "syndicate" //evil mines var/damage = 100 var/damage_type = BRUTE var/damage_flag = "overmap_heavy" @@ -19,7 +20,22 @@ /obj/structure/space_mine/proc/mine_explode(obj/structure/overmap/OM) var/armour_penetration if(OM) //You just flew into a mine + if(OM.faction == faction || ((faction == "nanotrasen" || faction == "solgov") && (OM.faction == "nanotrasen" || OM.faction == "solgov"))) + return //You are spared armour_penetration = 20 //It's blowing up right next to you if(OM.use_armour_quadrants) - OM.take_quadrant_hit(OM.run_obj_armor(damage, damage_type, flag, null, armour_penetration), quadrant_impact(P)) + OM.take_quadrant_hit(OM.run_obj_armor(damage, damage_type, damage_flag, null, armour_penetration), OM.quadrant_impact(P)) + else + OM.take_damage(damage, damage_type, damage_flag, FALSE, TRUE) + else + for(obj/structure/overmap/O in orange(2)) //You're too close + OM = O + if(OM.faction == faction || ((faction == "nanotrasen" || faction == "solgov") && (OM.faction == "nanotrasen" || OM.faction == "solgov"))) + continue //You are spared + if(OM.use_armour_quadrants) + OM.take_quadrant_hit(OM.run_obj_armor(damage, damage_type, damage_flag, null, armour_penetration), OM.quadrant_impact(P)) + else + OM.take_damage(damage, damage_type, damage_flag, FALSE, TRUE) + new /obj/effect/temp_visual/fading_overmap(get_turf(src), name, icon, icon_state) + From 75c416c97e4b35d7b31a810256b004221ea5f704 Mon Sep 17 00:00:00 2001 From: Bokkiewokkie Date: Thu, 27 Jun 2024 22:39:17 +0200 Subject: [PATCH 03/16] icons I also moved all of the torps to the left by one pixel --- nsv13/code/modules/overmap/weapons/mines.dm | 30 +++++++++++++------ nsv13/code/modules/projectiles/projectile.dm | 2 +- nsv13/icons/obj/munition_types.dmi | Bin 8380 -> 8901 bytes nsv13/icons/overmap/effects.dmi | Bin 18520 -> 19944 bytes 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/nsv13/code/modules/overmap/weapons/mines.dm b/nsv13/code/modules/overmap/weapons/mines.dm index 394f4efc775..fcceed4b94a 100644 --- a/nsv13/code/modules/overmap/weapons/mines.dm +++ b/nsv13/code/modules/overmap/weapons/mines.dm @@ -4,34 +4,46 @@ icon = "nsv13/icons/overmap/effects.dmi" icon_state = "mine" anchored = TRUE - density = TRUE + density = FALSE layer = ABOVE_MOB_LAYER animate_movement = NO_STEPS max_integrity = 300 + integrity_failure = 100 var/faction = "syndicate" //evil mines - var/damage = 100 + var/damage = 85 var/damage_type = BRUTE var/damage_flag = "overmap_heavy" + alpha = 100 //spawns in being 'invisible' on sensors + +/obj/structure/space_mine/CanPass(atom/movable/mover, turf/target) + if(istype(AM,/obj/structure/overmap)) + var/obj/structure/overmap/OM = AM + if(OM.faction != faction || !(OM.faction == "nanotrasen" || OM.faction == "solgov") && !(faction == "nanotrasen" || faction == "solgov")) + mine_explode(OM) + return TRUE //it blew up, nothing stopping you now :) + return ..() + +/obj/structure/space_mine/obj_break(damage_flag) + if(prob(80)) + mine_explode() + else //Whoops, IFF broke! + faction = null /obj/structure/space_mine/obj_destruction(damage_flag) - . = ..(damage_flag) mine_explode() //Why you mine explode? To the woods with you + . = ..(damage_flag) /obj/structure/space_mine/proc/mine_explode(obj/structure/overmap/OM) var/armour_penetration if(OM) //You just flew into a mine - if(OM.faction == faction || ((faction == "nanotrasen" || faction == "solgov") && (OM.faction == "nanotrasen" || OM.faction == "solgov"))) - return //You are spared - armour_penetration = 20 //It's blowing up right next to you + armour_penetration = 20 //It's blowing up right next to you, this is what it was designed for if(OM.use_armour_quadrants) OM.take_quadrant_hit(OM.run_obj_armor(damage, damage_type, damage_flag, null, armour_penetration), OM.quadrant_impact(P)) else OM.take_damage(damage, damage_type, damage_flag, FALSE, TRUE) else - for(obj/structure/overmap/O in orange(2)) //You're too close + for(var/obj/structure/overmap/O in orange(2)) //You're in range! Keep in mind this affects *all* ships, explosions don't discriminate between friend and foe OM = O - if(OM.faction == faction || ((faction == "nanotrasen" || faction == "solgov") && (OM.faction == "nanotrasen" || OM.faction == "solgov"))) - continue //You are spared if(OM.use_armour_quadrants) OM.take_quadrant_hit(OM.run_obj_armor(damage, damage_type, damage_flag, null, armour_penetration), OM.quadrant_impact(P)) else diff --git a/nsv13/code/modules/projectiles/projectile.dm b/nsv13/code/modules/projectiles/projectile.dm index f8762626d6b..dba7c3cc72c 100644 --- a/nsv13/code/modules/projectiles/projectile.dm +++ b/nsv13/code/modules/projectiles/projectile.dm @@ -20,6 +20,6 @@ GLOBAL_LIST_INIT(projectile_hitbox, list(new /matrix/vector(-2,16),\ var/obj/structure/overmap/OM = A if(!istype(OM)) return TRUE - if(faction != OM.faction) + if(faction != OM.faction || !(OM.faction == "nanotrasen" || OM.faction == "solgov") && !(faction == "nanotrasen" || faction == "solgov")) return TRUE return FALSE diff --git a/nsv13/icons/obj/munition_types.dmi b/nsv13/icons/obj/munition_types.dmi index 01728ca82b786a7955ab3a6699a47bbe9aee548b..9d87af28d606edc4f27da2a284e11798c1349f3b 100644 GIT binary patch delta 8289 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 diff --git a/nsv13/icons/overmap/effects.dmi b/nsv13/icons/overmap/effects.dmi index be4f190a56279ae2cd6a06657c2b82e28df5d43b..39611d9821d18bcce6d23f1206e53b8d355d9c4b 100644 GIT binary patch delta 2497 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 LNkvXXu0mjfCo2e# delta 1070 zcma*d{WIHl0KoB2!j)|vl3+4At%uqUhh9yn5JW;e9`#UC!>}GzTv5!!Hy(z1sI>H) zBc7^PY8YwNf_Undka_5ms3F`uG=zp&6GX!HC-nW>>+ZeX09&NOsAkaaPr*0SJ>t`1 z?qUIv7w1mgKX}$&d2wkJ;oD|j=wUw)z5tC*YRwXT zdhzPUSyIWcrvnYguzXqPpWmh(_mv$l-1>K7Y@-`K#QUnLUz#Gp-45wCX>5Rt!FpYN ztliQ|U4K7Q4zsJRf^