-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
371e079
commit 5f6ab17
Showing
10 changed files
with
114 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
maplestation_modules/code/modules/projectiles/ammunition/ballistic/revolver.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
/obj/item/ammo_casing/c38/dual_stage | ||
name = ".38 HV-DS bullet casing" | ||
desc = "A .38 High-Velocity Dual-Stage bullet casing." | ||
projectile_type = /obj/projectile/bullet/c38/dual_stage | ||
|
||
/obj/item/ammo_casing/c38/maginull | ||
name = ".38 Maginull bullet casing" | ||
desc = "A .38 Maginull bullet casing." | ||
projectile_type = /obj/projectile/bullet/c38/maginull |
11 changes: 11 additions & 0 deletions
11
maplestation_modules/code/modules/projectiles/boxes_magazines/ammo_boxes.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
/obj/item/ammo_box/c38/dual_stage | ||
name = "speed loader (.38 HV-DS)" | ||
desc = "Designed to quickly reload revolvers. These rounds are made with an expensive dual-stage propulsion process, leading to much faster velocity of the bullet." | ||
ammo_type = /obj/item/ammo_casing/c38/dual_stage | ||
ammo_band_color = "#dcddff" | ||
|
||
/obj/item/ammo_box/c38/maginull | ||
name = "speed loader (.38 Maginull)" | ||
desc = "Designed to quickly reload revolvers. These rounds contain a hollow-point gold and obsidian core, embedding itself into a target and then draining all their mana." | ||
ammo_type = /obj/item/ammo_casing/c38/maginull | ||
ammo_band_color = "#4b007c" |
66 changes: 66 additions & 0 deletions
66
maplestation_modules/code/modules/projectiles/projectile/bullets/revolver.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
/obj/projectile/bullet/c38/dual_stage | ||
name = ".38 dual-stage bullet" | ||
icon = 'maplestation_modules/icons/obj/weapons/guns/projectiles.dmi' | ||
icon_state = "dual_stage" | ||
damage = 20 | ||
speed = 1.2 // make the effect look cooler | ||
armour_penetration = 10 | ||
ricochets_max = 0 | ||
ricochet_chance = 0 | ||
wound_bonus = -30 | ||
embedding = list(embed_chance=20, fall_chance=2, jostle_chance=2, ignore_throwspeed_threshold=TRUE, pain_stam_pct=0.4, pain_mult=3, jostle_pain_mult=5, rip_time=1 SECONDS) | ||
embed_falloff_tile = -1.5 | ||
|
||
/obj/projectile/bullet/c38/dual_stage/fire(angle, atom/direct_target) | ||
. = ..() | ||
addtimer(CALLBACK(src, PROC_REF(speed_up)), 0.4 SECONDS) | ||
|
||
/obj/projectile/bullet/c38/dual_stage/proc/speed_up() | ||
speed /= 2.5 | ||
icon_state = "dual_stage-fast" | ||
wound_bonus += 30 | ||
armour_penetration += 20 | ||
new /obj/item/ammo_casing/spent/dual_stage_booster(get_turf(src)) | ||
|
||
/obj/item/ammo_casing/spent/dual_stage_booster | ||
name = "spent dual-stage bullet booster" | ||
desc = "A bullet booster." | ||
icon = 'maplestation_modules/icons/obj/weapons/guns/ammo.dmi' | ||
icon_state = "dual_stage_junk" | ||
|
||
/obj/item/ammo_casing/spent/dual_stage_booster/Initialize(mapload) | ||
. = ..() | ||
bounce_away(still_warm = TRUE, bounce_delay = 3) | ||
|
||
/obj/item/ammo_casing/spent/dual_stage_booster/update_icon_state() | ||
icon_state = "dual_stage_junk" | ||
return ..() | ||
|
||
/obj/projectile/bullet/c38/maginull | ||
name = ".38 maginull bullet" | ||
damage = 20 | ||
ricochets_max = 0 // do you expect hollow-point gold and obsidian to endure a ricochet? | ||
ricochet_chance = 0 | ||
weak_against_armour = TRUE | ||
wound_bonus = -30 | ||
embedding = list(embed_chance=50, fall_chance=1, jostle_chance=0, ignore_throwspeed_threshold=TRUE, pain_stam_pct=0.2, pain_mult=1, jostle_pain_mult=2, remove_pain_mult = 2, rip_time=1 SECONDS) | ||
embed_falloff_tile = -2.5 | ||
shrapnel_type = /obj/item/shrapnel/bullet/maginull | ||
|
||
/obj/item/shrapnel/bullet/maginull | ||
var/mob/living/carbon/spiked_mob | ||
|
||
/obj/item/shrapnel/bullet/maginull/embedded(atom/embedded_target, obj/item/bodypart/part) | ||
. = ..() | ||
if(iscarbon(embedded_target)) | ||
spiked_mob = embedded_target | ||
START_PROCESSING(SSprocessing, src) | ||
|
||
/obj/item/shrapnel/bullet/maginull/process(seconds_per_tick) | ||
if(spiked_mob?.mana_pool) | ||
spiked_mob.safe_adjust_personal_mana(-1.5 * seconds_per_tick) | ||
|
||
/obj/item/shrapnel/bullet/maginull/unembedded() | ||
spiked_mob = null | ||
STOP_PROCESSING(SSprocessing, src) | ||
. = ..() |
Binary file not shown.
Binary file not shown.
Binary file not shown.