Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Made Tough weapon Teth #2661

Merged
merged 1 commit into from
Jan 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions ModularTegustation/ego_weapons/ranged/ego_bullets/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,3 +136,10 @@
speed = 0.45
range = 14
hit_nondense_targets = TRUE

/obj/projectile/ego_bullet/ego_tough
name = "9mm tough bullet"
damage = 16 // Being bald is the optimal gameplay choice!
damage_type = WHITE_DAMAGE


6 changes: 1 addition & 5 deletions ModularTegustation/ego_weapons/ranged/ego_bullets/zayin.dm
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
/obj/projectile/ego_bullet/ego_tough
name = "9mm tough bullet"
damage = 12 // Being bald is the optimal gameplay choice!
damage_type = WHITE_DAMAGE

/obj/projectile/ego_bullet/ego_soda
name = "9mm soda bullet"
damage = 11
Expand Down Expand Up @@ -57,3 +52,4 @@
name = "oceanic"
damage = 11 //Worse than tough lol
damage_type = WHITE_DAMAGE

61 changes: 61 additions & 0 deletions ModularTegustation/ego_weapons/ranged/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -210,3 +210,64 @@
weapon_weight = WEAPON_HEAVY
autofire = 0.6 SECONDS
fire_sound = 'sound/items/handling/paper_pickup.ogg' //Mostly just using this for a lack of a better "card-flicking" noise

/obj/item/ego_weapon/ranged/pistol/tough
name = "tough pistol"
desc = "A glock reminiscent of a certain detective who fought evil for 25 years, losing hair as time went by."
special = "Use this weapon in your hand when wearing matching armor to turn others nearby bald."
icon_state = "bald"
inhand_icon_state = "bald"
damtype = WHITE_DAMAGE
projectile_path = /obj/projectile/ego_bullet/ego_tough
burst_size = 1
fire_delay = 10
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
var/pulse_cooldown
var/pulse_cooldown_time = 60 SECONDS
var/blast_delay = 3 SECONDS

/obj/item/ego_weapon/ranged/pistol/tough/attack_self(mob/user)
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
if(pulse_cooldown > world.time)
to_chat(H, "<span class='warning'>You have used this ability too recently!</span>")
return
var/obj/item/clothing/suit/armor/ego_gear/zayin/tough/T = H.get_item_by_slot(ITEM_SLOT_OCLOTHING)
if(!istype(T))
to_chat(H, "<span class='warning'>You must have the corrosponding armor equipped to use this ability!</span>")
return
to_chat(H, "<span class='warning'>You use the [src] to create a field of baldness!</span>")
H.playsound_local(get_turf(H), 'sound/abnormalities/wrath_servant/hermit_magic.ogg', 25, 0)
BaldBlast(user)
pulse_cooldown = world.time + pulse_cooldown_time

/obj/item/ego_weapon/ranged/pistol/tough/proc/BaldBlast(mob/living/carbon/human/user ,list/baldtargets = list(), burst_chain)
for(var/mob/living/carbon/human/L in livinginview(5, user)) //not even the dead are safe.
if(!ishuman(L))
continue
if(HAS_TRAIT(L, TRAIT_BALD))
continue
if(L in baldtargets)
to_chat(L, "<span class='warning'>You feel awesome!</span>")
ADD_TRAIT(L, TRAIT_BALD, "ABNORMALITY_BALD")
L.hairstyle = "Bald"
L.update_hair()
continue

baldtargets += L
to_chat(L, "<span class='warning'>You have been hit by the baldy-bald psychological attack. If a non-bald person is reading this, they will be granted the privilege of going bald at an extremely rapid pace if they stay within range of [user]!</span>")
if(!burst_chain)
addtimer(CALLBACK(src, PROC_REF(BaldBlast), user, baldtargets, TRUE), blast_delay)

/obj/item/ego_weapon/ranged/pistol/tough/SpecialEgoCheck(mob/living/carbon/human/H)
if(HAS_TRAIT(H, TRAIT_BALD))
return TRUE
to_chat(H, "<span class='notice'>Only the ones with dedication to clean hairstyle can use [src]!</span>")
return FALSE

/obj/item/ego_weapon/ranged/pistol/tough/SpecialGearRequirements()
return "\n<span class='warning'>The user must have clean hairstyle.</span>"

60 changes: 0 additions & 60 deletions ModularTegustation/ego_weapons/ranged/zayin.dm
Original file line number Diff line number Diff line change
@@ -1,64 +1,4 @@
// All zayin pistols use the default 6 force for ego_gun pistols
/obj/item/ego_weapon/ranged/pistol/tough
name = "tough pistol"
desc = "A glock reminiscent of a certain detective who fought evil for 25 years, losing hair as time went by."
special = "Use this weapon in your hand when wearing matching armor to turn others nearby bald."
icon_state = "bald"
inhand_icon_state = "bald"
damtype = WHITE_DAMAGE
projectile_path = /obj/projectile/ego_bullet/ego_tough
burst_size = 1
fire_delay = 10
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
var/pulse_cooldown
var/pulse_cooldown_time = 60 SECONDS
var/blast_delay = 3 SECONDS

/obj/item/ego_weapon/ranged/pistol/tough/attack_self(mob/user)
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
if(pulse_cooldown > world.time)
to_chat(H, "<span class='warning'>You have used this ability too recently!</span>")
return
var/obj/item/clothing/suit/armor/ego_gear/zayin/tough/T = H.get_item_by_slot(ITEM_SLOT_OCLOTHING)
if(!istype(T))
to_chat(H, "<span class='warning'>You must have the corrosponding armor equipped to use this ability!</span>")
return
to_chat(H, "<span class='warning'>You use the [src] to create a field of baldness!</span>")
H.playsound_local(get_turf(H), 'sound/abnormalities/wrath_servant/hermit_magic.ogg', 25, 0)
BaldBlast(user)
pulse_cooldown = world.time + pulse_cooldown_time

/obj/item/ego_weapon/ranged/pistol/tough/proc/BaldBlast(mob/living/carbon/human/user ,list/baldtargets = list(), burst_chain)
for(var/mob/living/carbon/human/L in livinginview(5, user)) //not even the dead are safe.
if(!ishuman(L))
continue
if(HAS_TRAIT(L, TRAIT_BALD))
continue
if(L in baldtargets)
to_chat(L, "<span class='warning'>You feel awesome!</span>")
ADD_TRAIT(L, TRAIT_BALD, "ABNORMALITY_BALD")
L.hairstyle = "Bald"
L.update_hair()
continue

baldtargets += L
to_chat(L, "<span class='warning'>You have been hit by the baldy-bald psychological attack. If a non-bald person is reading this, they will be granted the privilege of going bald at an extremely rapid pace if they stay within range of [user]!</span>")
if(!burst_chain)
addtimer(CALLBACK(src, PROC_REF(BaldBlast), user, baldtargets, TRUE), blast_delay)

/obj/item/ego_weapon/ranged/pistol/tough/SpecialEgoCheck(mob/living/carbon/human/H)
if(HAS_TRAIT(H, TRAIT_BALD))
return TRUE
to_chat(H, "<span class='notice'>Only the ones with dedication to clean hairstyle can use [src]!</span>")
return FALSE

/obj/item/ego_weapon/ranged/pistol/tough/SpecialGearRequirements()
return "\n<span class='warning'>The user must have clean hairstyle.</span>"

/obj/item/ego_weapon/ranged/pistol/soda
name = "soda pistol"
desc = "A pistol painted in a refreshing purple. Whenever this EGO is used, a faint scent of grapes wafts through the air."
Expand Down
6 changes: 6 additions & 0 deletions code/datums/abnormality/_ego_datum/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -356,3 +356,9 @@
/datum/ego_datum/armor/clayman
item_path = /obj/item/clothing/suit/armor/ego_gear/teth/clayman
cost = 20

// You are bald - Tough
/datum/ego_datum/weapon/tough
item_path = /obj/item/ego_weapon/ranged/pistol/tough
cost = 20

5 changes: 0 additions & 5 deletions code/datums/abnormality/_ego_datum/zayin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@
item_path = /obj/item/clothing/suit/armor/ego_gear/zayin/penitence
cost = 12

// You are bald - Tough
/datum/ego_datum/weapon/tough
item_path = /obj/item/ego_weapon/ranged/pistol/tough
cost = 12

/datum/ego_datum/armor/tough
item_path = /obj/item/clothing/suit/armor/ego_gear/zayin/tough
cost = 12
Expand Down
Loading