Skip to content

Commit

Permalink
Ego dump (vlggms#1551)
Browse files Browse the repository at this point in the history
adds mockery

makes a sound quieter

adds mockery

adds placeholder inhands to curfew

does stuff
  • Loading branch information
Coxswain-Navigator authored Oct 20, 2023
1 parent 163eb4e commit 06a442f
Show file tree
Hide file tree
Showing 12 changed files with 155 additions and 2 deletions.
9 changes: 9 additions & 0 deletions code/datums/abnormality/_ego_datum/aleph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,12 @@
/datum/ego_datum/weapon/iron_maiden
item_path = /obj/item/ego_weapon/iron_maiden
cost = 1000

//Nobody Is - Mockery
/datum/ego_datum/armor/mockery
item_path = /obj/item/clothing/suit/armor/ego_gear/aleph/mockery
cost = 100

/datum/ego_datum/weapon/mockery
item_path = /obj/item/ego_weapon/mockery
cost = 100
4 changes: 4 additions & 0 deletions code/datums/abnormality/_ego_datum/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,10 @@
item_path = /obj/item/clothing/suit/armor/ego_gear/teth/curfew
cost = 20

/datum/ego_datum/weapon/curfew
item_path = /obj/item/ego_weapon/lance/curfew
cost = 20

//Lady facing the Wall - Wedge
/datum/ego_datum/armor/wedge
item_path = /obj/item/clothing/suit/armor/ego_gear/teth/wedge
Expand Down
110 changes: 110 additions & 0 deletions code/game/objects/items/ego_weapons/aleph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1131,3 +1131,113 @@
if(B.safety)
user.remove_status_effect(STATUS_EFFECT_LCBURN)

/obj/item/ego_weapon/mockery
name = "mockery"
desc = "...If I earned a name, will I get to receive love and hate from you? \
Will you remember me as that name, as someone whom you cared for?"
special = "Use this weapon in hand to swap between forms. The whip has higher reach, the hammer deals damage in an area, and the bat knocks back enemies."
icon_state = "mockery_whip"
force = 35
attack_speed = 0.5
reach = 3
damtype = BLACK_DAMAGE
armortype = BLACK_DAMAGE
attack_verb_continuous = list("lacerates", "disciplines")
attack_verb_simple = list("lacerate", "discipline")
hitsound = 'sound/weapons/whip.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 100,
PRUDENCE_ATTRIBUTE = 80,
TEMPERANCE_ATTRIBUTE = 80,
JUSTICE_ATTRIBUTE = 80
)
var/mob/current_holder
var/form = "whip"
var/list/weapon_list = list(
"whip" = list(35, 0.5, 3, list("lacerates", "disciplines"), list("lacerate", "discipline"), 'sound/weapons/whip.ogg'),
"sword" = list(80, 1, 1, list("tears", "slices", "mutilates"), list("tear", "slice","mutilate"), 'sound/weapons/fixer/generic/blade4.ogg'),
"hammer" = list(40, 1.4, 1, list("crushes"), list("crush"), 'sound/weapons/fixer/generic/baton2.ogg'),
"bat" = list(120, 1.4, 1, list("bludgeons", "bashes"), list("bludgeon", "bash"), 'sound/weapons/fixer/generic/gen1.ogg')
)

/obj/item/ego_weapon/mockery/Initialize()
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)

/obj/item/ego_weapon/mockery/attack_self(mob/user)
. = ..()
if(!CanUseEgo(user))
return
SwitchForm(user)

/obj/item/ego_weapon/mockery/equipped(mob/user, slot)
. = ..()
if(!user)
return
current_holder = user

/obj/item/ego_weapon/mockery/dropped(mob/user)
. = ..()
current_holder = null

/obj/item/ego_weapon/mockery/attack(mob/living/target, mob/living/carbon/human/user)
. = ..()
if(!.)
return FALSE
switch(form)
if("bat")
var/atom/throw_target = get_edge_target_turf(target, user.dir)
if(!target.anchored)
var/whack_speed = (prob(60) ? 1 : 4)
target.throw_at(throw_target, rand(1, 2), whack_speed, user)
if("hammer")
for(var/mob/living/L in view(2, target))
var/aoe = force
var/userjust = (get_modified_attribute_level(user, JUSTICE_ATTRIBUTE))
var/justicemod = 1 + userjust/100
aoe*=justicemod
if(user.faction_check_mob(L))
continue
L.apply_damage(aoe, BLACK_DAMAGE, null, L.run_armor_check(null, BLACK_DAMAGE), spread_damage = TRUE)
new /obj/effect/temp_visual/small_smoke/halfsecond(get_turf(L))

/obj/item/ego_weapon/mockery/get_clamped_volume()
return 40

// Radial menu
/obj/item/ego_weapon/mockery/proc/SwitchForm(mob/user)
var/list/armament_icons = list(
"whip" = image(icon = src.icon, icon_state = "mockery_whip"),
"sword" = image(icon = src.icon, icon_state = "mockery_sword"),
"hammer" = image(icon = src.icon, icon_state = "mockery_hammer"),
"bat" = image(icon = src.icon, icon_state = "mockery_bat")
)
armament_icons = sortList(armament_icons)
var/choice = show_radial_menu(user, src , armament_icons, custom_check = CALLBACK(src, .proc/CheckMenu, user), radius = 42, require_near = TRUE)
if(!choice || !CheckMenu(user))
return
form = choice
Transform()

/obj/item/ego_weapon/mockery/proc/CheckMenu(mob/user)
if(!istype(user))
return FALSE
if(QDELETED(src))
return FALSE
if(user.incapacitated() || !user.is_holding(src))
return FALSE
return TRUE

/obj/item/ego_weapon/mockery/proc/Transform()
icon_state = "mockery_[form]"
update_icon_state()
if(current_holder)
to_chat(current_holder,"<span class='notice'>[src] suddenly transforms!</span>")
current_holder.update_inv_hands()
current_holder.playsound_local(current_holder, 'sound/effects/blobattack.ogg', 75, FALSE)
force = weapon_list[form][1]
attack_speed = weapon_list[form][2]
reach = weapon_list[form][3]
attack_verb_continuous = weapon_list[form][4]
attack_verb_simple = weapon_list[form][5]
hitsound = weapon_list[form][6]
16 changes: 16 additions & 0 deletions code/game/objects/items/ego_weapons/teth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -544,3 +544,19 @@
var/whack_speed = (prob(60) ? 1 : 4)
target.throw_at(throw_target, rand(1, 2), whack_speed, user)

/obj/item/ego_weapon/lance/curfew
name = "curfew"
desc = "The thing itself had never forgotten its glory days."
icon_state = "curfew"
lefthand_file = 'icons/mob/inhands/96x96_lefthand.dmi'
righthand_file = 'icons/mob/inhands/96x96_righthand.dmi'
inhand_x_dimension = 96
inhand_y_dimension = 96
force = 22
reach = 2 //Has 2 Square Reach.
attack_speed = 1.8// really slow
damtype = WHITE_DAMAGE
armortype = WHITE_DAMAGE
attack_verb_continuous = list("bludgeons", "whacks")
attack_verb_simple = list("bludgeon", "whack")
hitsound = 'sound/weapons/fixer/generic/spear2.ogg'
4 changes: 2 additions & 2 deletions code/modules/clothing/suits/ego_gear/aleph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,10 @@ Any attempt to code risk class armor will result in a 10 day Github ban.*/
name = "mockery"
desc = "It's smug aura is almost mocking you."
icon_state = "mockery"
armor = list(RED_DAMAGE = 60, WHITE_DAMAGE = 60, BLACK_DAMAGE = 60, PALE_DAMAGE = 60)
armor = list(RED_DAMAGE = 70, WHITE_DAMAGE = 30, BLACK_DAMAGE = 80, PALE_DAMAGE = 60) // 240
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80,
PRUDENCE_ATTRIBUTE = 80,
PRUDENCE_ATTRIBUTE = 100,
TEMPERANCE_ATTRIBUTE = 80,
JUSTICE_ATTRIBUTE = 80
)
Expand Down
14 changes: 14 additions & 0 deletions code/modules/mob/living/carbon/human/ego_gifts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,13 @@
justice_bonus = 1
slot = HAND_1

/datum/ego_gifts/curfew
name = "Curfew"
icon_state = "curfew"
fortitude_bonus = -1
prudence_bonus = 4
slot = HAND_1

/// All HE EGO Gifts
/datum/ego_gifts/loggging
name = "Logging"
Expand Down Expand Up @@ -1231,6 +1238,13 @@
justice_bonus = 2
slot = BROOCH

/datum/ego_gifts/mockery
name = "Mockery"
icon_state = "mockery"
fortitude_bonus = 5
prudence_bonus = 5
slot = HAND_1

/// All Event EGO Gifts
/datum/ego_gifts/twilight
name = "Twilight"
Expand Down
Binary file modified icons/mob/clothing/ego_gear/ego_gifts.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/96x96_lefthand.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/96x96_righthand.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/weapons/ego_lefthand.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/weapons/ego_righthand.dmi
Binary file not shown.
Binary file modified icons/obj/ego_weapons.dmi
Binary file not shown.

0 comments on commit 06a442f

Please sign in to comment.