The syndicate has come out with a new combat mech prototype: The Black Mamba (#21436)

* The beginning

need to get names and mech sprite done

* daggername and mech icon

* color tweak

* daggers done

* i still dont know why its broken

* AAAAAA

* we dont need this many lines

* fixed

* the last bits

* makes daggers pointier

* icon fix and rename

what does basketball have to do with this...?

* icons fixed
This commit is contained in:
Mqiib
2024-02-27 00:07:50 -05:00
committed by GitHub
parent 93bb34b066
commit 41c1584e72
9 changed files with 111 additions and 13 deletions

View File

@@ -44,3 +44,30 @@
playsound(src,'sound/mecha/mechmove01.ogg',40,1)
return ..()
/obj/mecha/combat/sidewinder/mamba
desc = "Otherwise nearly identical to the original sidewinder chassis in form, this one has been heavily modified for stealthier, longer-range combat engagements. The fangs are purely aesthetic, though."
name = "\improper Black Mamba"
icon_state = "mamba"
wreckage = /obj/structure/mecha_wreckage/sidewinder/mamba
infra_luminosity = 0 //Cold-blooded
guns_allowed = TRUE //Syndicate bullshit
operation_req_access = list(ACCESS_SYNDICATE)
internals_req_access = list(ACCESS_SYNDICATE)
stepsound = null
turnsound = null
/obj/mecha/combat/sidewinder/mamba/Initialize(mapload)
. = ..()
if(internal_tank)
internal_tank.set_light_on(FALSE) //remove the light that is granted by the internal canister
internal_tank.set_light_range_power_color(0, 0, COLOR_BLACK) //just turning it off isn't enough apparently
/obj/mecha/combat/sidewinder/mamba/loaded/Initialize(mapload)
. = ..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/venom
ME.attach(src)
ME = new /obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/rapier/razerfang //Not a snake without fangs right?
ME.attach(src)
ME = new /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster
ME.attach(src)
max_ammo()

View File

@@ -68,6 +68,13 @@
rounds = 5
ammo_type = "bfg"
/obj/item/mecha_ammo/venom
name = "venom ammo"
desc = "A box of venom ammunition for use with the Syndicate LIGMA Snakebite Carbine. No, they don't fit in your C-20r, stop trying."
icon_state = "venom"
rounds = 24
ammo_type = "venom"
/obj/item/mecha_ammo/missiles_br
name = "breaching missiles"
desc = "A box of large missiles, ready for loading into a BRM-6 exosuit missile rack."

View File

@@ -154,12 +154,12 @@
var/sword_wound_bonus = 0 //Wound bonus if it's supposed to be ouchy beyond just doing damage
var/precise_no_mobdamage = FALSE //If our precise attacks have a light touch for mobs
var/precise_no_objdamage = FALSE //Same but for objects/structures
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/special_hit(atom/target)
return 0
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/shortsword //Our bread-and-butter mech shortsword for both slicing and stabbing baddies
name = "\improper GD6 \"Jaeger\" shortsword"
name = "\improper GD6 \"Jaeger\" Shortsword"
desc = "An extendable arm-mounted blade with a nasty edge. It is small and fast enough to deflect some incoming attacks."
energy_drain = 20
weapon_damage = 10
@@ -242,7 +242,7 @@
playsound(chassis, attack_sound, 50, 1)
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/energy_axe
name = "\improper SH-NT \"Killerhurtz\" energy axe"
name = "\improper SH-NT \"Killerhurtz\" Energy Axe"
desc = "An oversized, destructive-looking axe with a powered edge. While far too big for use by an individual, an exosuit might be able to wield it."
icon_state = "mecha_energy_axe"
precise_attacks = FALSE //This is not a weapon of precision, it is a weapon of destruction
@@ -274,7 +274,7 @@
set_light_on(FALSE)
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/katana //Anime mech sword
name = "\improper HR-2 \"Ronin\" katana"
name = "\improper HR-2 \"Ronin\" Katana"
desc = "An oversized, light-weight replica of an ancient style of blade. Still woefully underpowered in D&D."
icon_state = "mecha_katana"
energy_drain = 15
@@ -289,7 +289,7 @@
sword_wound_bonus = 15 //More bleeding
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/batong
name = "\improper AV-98 \"Ingram\" heavy stun baton"
name = "\improper AV-98 \"Ingram\" Heavy Stun Baton"
desc = "A stun baton, but bigger. The tide of toolbox-armed assistants don't stand a chance."
icon_state = "mecha_batong"
energy_drain = 300
@@ -336,7 +336,7 @@
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/trogdor //TROGDOR!!!!! (But he's not a robot so I can't make the visible name that)
name = "\improper TO-4 \"Tahu\" flaming chainsword" //ITS ALSO A CHAINSWORD FUCK YEAH
name = "\improper TO-4 \"Tahu\" Flaming Chainsword" //ITS ALSO A CHAINSWORD FUCK YEAH
desc = "It's as ridiculous as it is badass. You feel like use of this this might be considered a war crime somewhere."
icon_state = "mecha_trogdor"
energy_drain = 30
@@ -364,7 +364,7 @@
playsound(L, 'sound/items/welder.ogg', 50, 1)
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/maul
name = "\improper ASW-8 \"Barbatos\" heavy maul"
name = "\improper ASW-8 \"Barbatos\" Heavy Maul"
desc = "A massive, unwieldy, mace-like weapon, this thing really looks like something you don't want to be hit by if you're not a fan of being concave."
icon_state = "mecha_maul"
energy_drain = 40
@@ -386,23 +386,23 @@
do_item_attack_animation(L, hit_effect)
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/rapier
name = "\improper MS-15 \"Gyan\" rapier"
name = "\improper MS-15 \"Gyan\" Rapier"
desc = "A remarkably thin blade for a weapon wielded by an exosuit, this rapier is the favorite of syndicate pilots that perfer finesse over brute force."
icon_state = "mecha_rapier"
energy_drain = 40
cleave = FALSE
base_armor_piercing = 25 //50 on precise attack
deflect_bonus = 15 //mech fencing but it parries bullets too because robot reaction time or something
deflect_bonus = 15 //Mech fencing but it parries bullets too because robot reaction time or something
structure_damage_mult = 2 //Ever try to shank an engine block?
mech_damage_multiplier = 0.75 //Notably better against mechs
attack_sharpness = SHARP_POINTY
attack_speed_modifier = 0.8 //Counteracts the 0.2 second time between attacks
extended_range = 1 //so we can jump at people
extended_range = 1 //So we can jump at people
attack_sound = 'sound/weapons/rapierhit.ogg'
sword_wound_bonus = 10 //Stabby
var/stab_number = 2 //Stabby stabby
var/next_lunge = 0
var/base_lunge_cd = 1 //cooldown for lunge (in seconds because math)
var/base_lunge_cd = 1 //Cooldown for lunge (in seconds because math)
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/rapier/precise_attack(atom/target)
if(get_dist(chassis, target) > 1) //First we hop forward
@@ -442,6 +442,7 @@
set_ready_state(0) //Wait till we're done multi-stabbing before we do it again
if(i != stab_number) //Only sleep between attacks
sleep(0.2 SECONDS) //Slight delay
return TRUE
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/rapier/proc/do_lunge_at(atom/target)
if(world.time < next_lunge) //On cooldown
@@ -453,6 +454,42 @@
step_towards(src.chassis, target)
next_lunge = world.time + base_lunge_cd * (chassis.melee_cooldown * check_eva()) //If we can attack faster we can lunge faster too
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/rapier/razerfang
name = "\improper GAT-98 \"Razerfang\" Dual Daggers"
desc = "A pair of short, hollow blades forged of exceptionally hard metal, these weapons are capable of injecting venom into a target on a successful hit."
icon_state = "mecha_razer"
gender = PLURAL
energy_drain = 40
cleave = FALSE
base_armor_piercing = 40 //80 on precise attack
deflect_bonus = 5 //Helps, but is a bit to small to be particularly good at it
attack_sharpness = SHARP_POINTY
attack_speed_modifier = 2 //Strike and fall back, let the venom do the work
precise_weapon_damage = -25 //Tiny dagger
minimum_damage = 10 //So we don't do negative damage
extended_range = 1 //So we can jump at people
attack_sound = 'sound/weapons/sword2.ogg'
sword_wound_bonus = 10 //Stabby
stab_number = 2 //Stabby stabby
base_lunge_cd = 5 //Cooldown for lunge (in seconds because math)
var/venom_cd = 5 SECONDS //No infinite stacking of venom in people super easily please
var/next_venom = 0
var/venom_type = /datum/reagent/toxin/venom
var/inject_volume = 6 //12 units per hit by default
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/rapier/razerfang/special_hit(atom/target)
if(!iscarbon(target))
return
var/mob/living/carbon/C = target
if(world.time > next_venom)
C.reagents.add_reagent(venom_type, inject_volume) //Should ruin your day without charcoal
/obj/item/mecha_parts/mecha_equipment/melee_weapon/sword/rapier/razerfang/precise_attack(atom/target)
if(..() && iscarbon(target))
next_venom = world.time + venom_cd //do this here so that we only reset the cooldown after a full attack on a carbon
// //=========================================================\\
//======|| SNOWFLAKE WEAPONS THAT ARENT SWORDS ||
@@ -460,7 +497,7 @@
/obj/item/mecha_parts/mecha_equipment/melee_weapon/rocket_fist //Passive upgrade weapon when selected, makes your mech punch harder AND faster
name = "\improper RS-77 \"Atom Smasher\" rocket fist"
name = "\improper RS-77 \"Atom Smasher\" Rocket Fist"
desc = "A large metal fist fitted to the arm of an exosuit, it uses repurposed maneuvering thrusters from a Raven battlecruiser to give a little more oomph to every punch. Also helps increase the speed at which the mech is able to return to a ready stance after each swing."
icon_state = "mecha_rocket_fist"
weapon_damage = 20
@@ -478,7 +515,7 @@
/obj/item/mecha_parts/mecha_equipment/melee_weapon/spear
name = "\improper S5-C \"White Witch\" shortspear"
name = "\improper S5-C \"White Witch\" Shortspear"
desc = "A hardened, telescoping metal rod with a wicked-sharp tip. Perfect for punching holes in things normally out of reach."
icon_state = "mecha_spear"
energy_drain = 30

View File

@@ -398,6 +398,19 @@
ammo_type = "bfg"
fire_sound = 'sound/weapons/lasercannonfire.ogg'
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/venom
name = "\improper K0-B3 \"Snakebite\" Carbine"
desc = "A weapon for combat exosuits. Shoots incendiary bullets."
icon_state = "mecha_venom"
equip_cooldown = 10
fire_sound = 'sound/weapons/smgshot.ogg'
projectile = /obj/projectile/bullet/c45/venom //yes the same one
projectiles = 24
projectiles_cache = 24
projectiles_cache_max = 96
harmful = TRUE
ammo_type = "venom"
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack
name = "\improper SRM-8 missile rack"
desc = "A weapon for combat exosuits. Launches light explosive missiles."

View File

@@ -245,4 +245,10 @@
/obj/structure/mecha_wreckage/sidewinder
name = "\improper Sidewinder wreckage"
icon_state = "sidewinder-broken"
desc = "It continues to twitch, as if barely alive."
orig_mecha = /obj/mecha/combat/sidewinder
/obj/structure/mecha_wreckage/sidewinder/mamba
name = "\improper mamba wreckage"
icon_state = "mamba-broken"
orig_mecha = /obj/mecha/combat/sidewinder/mamba

View File

@@ -1442,6 +1442,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cant_discount = TRUE
cost = 105 //Yogs change
/datum/uplink_item/support/mamba
name = "Black Mamba Exosuit"
desc = "A stealthy, quick, and deadly combat exosuit, this modified sidewinder chassis is capable of suddenly striking and retreating while \
the effects of its venomous weapons take hold. Comes with a venom carbine, dual daggers, and an anti-projectile armor booster."
item = /obj/mecha/combat/sidewinder/mamba/loaded
cant_discount = TRUE
cost = 75
// Stealth Items
/datum/uplink_item/stealthy_tools
category = "Stealth Gadgets"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 863 B

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 30 KiB