Skip to content

Commit

Permalink
Merge pull request #80 from UniquaSa/macro
Browse files Browse the repository at this point in the history
Additions and fixes
  • Loading branch information
TheGreatKitsune authored Nov 22, 2024
2 parents 700476c + 7c126bf commit e8c8c89
Show file tree
Hide file tree
Showing 12 changed files with 74 additions and 40 deletions.
5 changes: 3 additions & 2 deletions code/_onclick/hud/screen_objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -796,8 +796,9 @@
if(H.mind && H.mind.antag_datums)
for(var/datum/antagonist/D in H.mind.antag_datums)
if(istype(D, /datum/antagonist/vampirelord) || istype(D, /datum/antagonist/vampire) || istype(D, /datum/antagonist/bandit) || istype(D, /datum/antagonist/lich))
qdel(src)
return
if(!istype(D, /datum/antagonist/vampirelord/lesser/secret))
qdel(src)
return
if(H.advsetup)
alpha = 0
icon = 'icons/mob/advsetup.dmi'
Expand Down
12 changes: 12 additions & 0 deletions code/datums/character_flaw/_character_flaw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ GLOBAL_LIST_INIT(character_flaws, list(
"Cyclops (L)"=/datum/charflaw/noeyel,
"Wood Arm (R)"=/datum/charflaw/limbloss/arm_r,
"Wood Arm (L)"=/datum/charflaw/limbloss/arm_l,
"Cursed Blood (Vampire)"=/datum/charflaw/vampire,
"Random or No Flaw"=/datum/charflaw/randflaw,
"No Flaw (3 TRIUMPHS)"=/datum/charflaw/noflaw
))
Expand Down Expand Up @@ -479,3 +480,14 @@ GLOBAL_LIST_INIT(character_flaws, list(
for(var/atom/movable/content in movable.contents)
mammons += get_mammons_in_atom(content)
return mammons

/datum/charflaw/vampire
name = "Cursed Blood (Vampire)"
desc = "You were gifted or cursed by Zizo, A lone vampire forced to roam the lands and drink blood to survive, albeit 'immortal'. Whether you are Ancient or a new vampire, you are no lord nor spawn, and you do not have any reason to antagonize the mortals beyond occasionally finding blood to keep you going. (This doesn't give you the rights to be a antag.)"

/datum/charflaw/vampire/flaw_on_life(mob/user)
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
var/datum/antagonist/vampirelord/lesser/secret/new_vamp = new ()
H.mind.add_antag_datum(new_vamp)
42 changes: 35 additions & 7 deletions code/modules/antagonists/roguetown/villain/vampirelord.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,14 @@ GLOBAL_LIST_EMPTY(vampire_objects)
var/cache_hair
var/obj/effect/proc_holder/spell/targeted/shapeshift/bat/batform //attached to the datum itself to avoid cloning memes, and other duplicates
var/obj/effect/proc_holder/spell/targeted/shapeshift/gaseousform/gas
var/ashes = FALSE
var/is_solo = FALSE

/datum/antagonist/vampirelord/examine_friendorfoe(datum/antagonist/examined_datum,mob/examiner,mob/examined)
if(istype(examined_datum, /datum/antagonist/vampirelord/lesser))
return span_boldnotice("A vampire spawn.")
if(istype(examined_datum, /datum/antagonist/vampirelord))
return span_boldnotice("A Vampire Lord!.")
return span_boldnotice("A Vampire Lord!")
if(istype(examined_datum, /datum/antagonist/zombie))
return span_boldnotice("Another deadite.")
if(istype(examined_datum, /datum/antagonist/skeleton))
Expand Down Expand Up @@ -79,8 +81,10 @@ GLOBAL_LIST_EMPTY(vampire_objects)
owner.current.verbs |= /mob/living/carbon/human/proc/vamp_regenerate
owner.current.verbs |= /mob/living/carbon/human/proc/vampire_telepathy
vamp_look()
owner.current.verbs |= /mob/living/carbon/human/proc/disguise_button
if(is_solo)
return
if(isspawn)
owner.current.verbs |= /mob/living/carbon/human/proc/disguise_button
add_objective(/datum/objective/vlordserve)
finalize_vampire_lesser()
for(var/obj/structure/vampire/bloodpool/mansion in GLOB.vampire_objects)
Expand All @@ -98,7 +102,6 @@ GLOBAL_LIST_EMPTY(vampire_objects)
equip_lord()
addtimer(CALLBACK(owner.current, TYPE_PROC_REF(/mob/living/carbon/human, choose_name_popup), "VAMPIRE LORD"), 5 SECONDS)
greet()
return ..()

// OLD AND EDITED
/datum/antagonist/vampirelord/proc/equip_lord()
Expand Down Expand Up @@ -333,7 +336,7 @@ GLOBAL_LIST_EMPTY(vampire_objects)
V.update_body_parts(redraw = TRUE)
V.mob_biotypes = MOB_UNDEAD
if(isspawn)
V.vampire_disguise()
V.vampire_disguise(src)

/datum/antagonist/vampirelord/on_life(mob/user)
if(!user)
Expand Down Expand Up @@ -405,7 +408,9 @@ GLOBAL_LIST_EMPTY(vampire_objects)
for(var/obj/structure/vampire/portalmaker/S in GLOB.vampire_objects)
S.unlocked = TRUE
for(var/S in MOBSTATS)
owner.current.change_stat(S, 2)
if(!owner.special_role == "Lesser Vampire")
owner.current.change_stat(S, 2)

for(var/obj/structure/vampire/bloodpool/B in GLOB.vampire_objects)
B.nextlevel = VAMP_LEVEL_TWO
to_chat(owner, "<font color='red'>I am refreshed and have grown stronger. The visage of the bat is once again available to me. I can also once again access my portals.</font>")
Expand All @@ -418,7 +423,8 @@ GLOBAL_LIST_EMPTY(vampire_objects)
gas = new
owner.current.AddSpell(gas)
for(var/S in MOBSTATS)
owner.current.change_stat(S, 2)
if(!owner.special_role == "Lesser Vampire")
owner.current.change_stat(S, 2)
for(var/obj/structure/vampire/bloodpool/B in GLOB.vampire_objects)
B.nextlevel = VAMP_LEVEL_THREE
to_chat(owner, "<font color='red'>My power is returning. I can once again access my spells. I have also regained usage of my mist form.</font>")
Expand All @@ -431,7 +437,8 @@ GLOBAL_LIST_EMPTY(vampire_objects)
owner.current.RemoveSpell(/obj/effect/proc_holder/spell/targeted/transfix)
owner.current.AddSpell(new /obj/effect/proc_holder/spell/targeted/transfix/master)
for(var/S in MOBSTATS)
owner.current.change_stat(S, 2)
if(!owner.special_role == "Lesser Vampire")
owner.current.change_stat(S, 2)
for(var/obj/structure/vampire/bloodpool/B in GLOB.vampire_objects)
B.nextlevel = VAMP_LEVEL_FOUR
to_chat(owner, "<font color='red'>My dominion over others minds and my own body returns to me. I am nearing perfection. The armies of the dead shall now answer my call.</font>")
Expand Down Expand Up @@ -1385,3 +1392,24 @@ GLOBAL_LIST_EMPTY(vampire_objects)
sleep(50)
L.Sleeping(300)

/datum/antagonist/vampirelord/lesser/secret
name = "Lesser Vampire"
ashes = FALSE
is_solo = TRUE
confess_lines = list(
"THE CRIMSON CALLS!",
"THE SUN IS ENEMY!",
)

/datum/antagonist/vampirelord/lesser/secret/on_gain()
. = ..()
owner.current.verbs -= /mob/living/carbon/human/proc/vampire_telepathy
REMOVE_TRAIT(owner.current, TRAIT_NOROGSTAM, "[type]")
REMOVE_TRAIT(owner.current, TRAIT_NOPAIN, "[type]")
REMOVE_TRAIT(owner.current, TRAIT_STRONGBITE, "[type]")

/datum/antagonist/vampirelord/lesser/secret/roundend_report()
return

/datum/antagonist/vampirelord/lesser/secret/move_to_spawnpoint()
return
4 changes: 2 additions & 2 deletions code/modules/jobs/job_types/roguetown/adventurer/bandit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
flag = BANDIT
department_flag = PEASANTS
faction = "Station"
total_positions = 0
spawn_positions = 0
total_positions = 5
spawn_positions = 5
antag_job = TRUE
allowed_races = RACES_ALL_KINDS
tutorial = "Long ago you did a crime worthy of your bounty being hung on the wall outside of the local inn. You now live with your fellow freemen in the bog, and generally get up to no good."
Expand Down
19 changes: 0 additions & 19 deletions code/modules/jobs/job_types/roguetown/roguetown.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,25 +79,6 @@

/datum/outfit/job/roguetown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(H.dna?.species)
if(isanthrom(H))
H.change_stat("strength", 8)
H.change_stat("constitution", 8)
H.change_stat("endurance", 8)
H.change_stat("speed", -8)
H.change_stat("speed", -4)
H.transform = H.transform.Scale(2.25, 2.25)
H.transform = H.transform.Translate(0, (0.25 * 16))
H.update_transform()
if(isdemim(H))
H.change_stat("strength", 8)
H.change_stat("constitution", 8)
H.change_stat("endurance", 8)
H.change_stat("speed", -8)
H.change_stat("speed", -4)
H.transform = H.transform.Scale(2.25, 2.25)
H.transform = H.transform.Translate(0, (0.25 * 16))
H.update_transform()
if(H.mind)
if(H.ckey)
if(check_crownlist(H.ckey))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
if(BODY_FRONT_LAYER)
return "FRONT"
if(BODY_FRONT_FRONT_LAYER)
return "FFRONT"
return "FRONT"
if(BODY_FFFFRONT_LAYER)
return "FRONT"
if(BODY_FFFFFRONT_LAYER)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@
/datum/sprite_accessory/belly
icon = 'icons/mob/sprite_accessory/genitals/belly.dmi'
color_key_name = "Belly"
relevant_layers = list(BODY_BEHIND_LAYER,BODY_FFFFRONT_LAYER)
relevant_layers = list(BODY_BEHIND_LAYER, BODY_FFFFRONT_LAYER)

/datum/sprite_accessory/belly/get_icon_state(obj/item/organ/organ, obj/item/bodypart/bodypart, mob/living/carbon/owner)
var/obj/item/organ/belly/belleh = organ
Expand Down
6 changes: 3 additions & 3 deletions code/modules/mob/dead/new_player/sprite_accessory/tails.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
abstract_type = /datum/sprite_accessory/tail
icon = 'icons/mob/sprite_accessory/tails/tails.dmi'
color_key_name = "Tail"
relevant_layers = list(BODY_FRONT_LAYER, BODY_BEHIND_LAYER)
relevant_layers = list(BODY_FRONT_FRONT_LAYER, BODY_BEHIND_LAYER)
var/can_wag = FALSE

/datum/sprite_accessory/tail/is_visible(obj/item/organ/organ, obj/item/bodypart/bodypart, mob/living/carbon/owner)
Expand Down Expand Up @@ -31,7 +31,7 @@
/datum/sprite_accessory/tail/cat
name = "Cat"
icon_state = "cat"
relevant_layers = list(BODY_FRONT_LAYER)
relevant_layers = list(BODY_FRONT_FRONT_LAYER)
can_wag = TRUE

/datum/sprite_accessory/tail/monkey
Expand Down Expand Up @@ -353,7 +353,7 @@

//TAUR BULLSHIT HELP
/datum/sprite_accessory/tail/taur
relevant_layers = list(BODY_FRONT_LAYER, BODY_BEHIND_LAYER)
relevant_layers = list(BODY_FRONT_FRONT_LAYER, BODY_BEHIND_LAYER)

/datum/sprite_accessory/tail/taur/snake
name = "Snake Taur"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
if(mind)
if(!gibbed)
var/datum/antagonist/vampirelord/VD = mind.has_antag_datum(/datum/antagonist/vampirelord)
if(VD)
if(VD && VD.ashes)
dust(just_ash=TRUE,drop_items=TRUE)
return
var/datum/antagonist/lich/L = mind.has_antag_datum(/datum/antagonist/lich)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
/datum/species/anthromacro
name = "Goliath"
id = "anthromacro"
desc = "Some species of Wild-Kin hail from Graggarite touched bloodlines, and have the size, and temper to match. (ONLY WORKS FOR ADVENTURER AND PILGRIM!!!)"
desc = "Some species of Wild-Kin hail from Graggarite touched bloodlines, and have the size, and temper to match."
default_color = "444"
species_traits = list(
MUTCOLORS,
Expand Down Expand Up @@ -39,7 +39,7 @@
OFFSET_TAUR = list(-16,-1), OFFSET_TAUR_F = list(-16, -1),\
)

race_bonus = list(STAT_PERCEPTION = 1)
race_bonus = list(STAT_STRENGTH = 8, STAT_ENDURANCE = 8, STAT_CONSTITUTION = 8, STAT_SPEED = -14)
enflamed_icon = "widefire"
organs = list(
ORGAN_SLOT_BRAIN = /obj/item/organ/brain,
Expand Down Expand Up @@ -134,6 +134,12 @@
. = ..()
UnregisterSignal(C, COMSIG_MOB_SAY)

/datum/species/anthromacro/after_creation(mob/living/carbon/C)
..()
C.transform = C.transform.Scale(2.25, 2.25)
C.transform = C.transform.Translate(0, (0.25 * 16))
C.update_transform()

/datum/species/anthromacro/check_roundstart_eligible()
return TRUE

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
/datum/species/demimacro
name = "Half-Giants"
id = "demimacro"
desc = "Similar to Goliaths, these beasts trace their lineage to graggarite roots. They may be a tad more friendly however. Just a bit. (ONLY WORKS WITH ADVENTURERS AND PILGRIMS)"
desc = "Similar to Goliaths, these beasts trace their lineage to graggarite roots. They may be a tad more friendly however. Just a bit."
skin_tone_wording = "Ancestry"
default_color = "FFFFFF"
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,STUBBLE,OLDGREY,MUTCOLORS_PARTSONLY)
Expand Down Expand Up @@ -36,7 +36,7 @@
OFFSET_TAUR = list(-16,-1), OFFSET_TAUR_F = list(-16, -1),\
)

race_bonus = list(STAT_PERCEPTION = 1)
race_bonus = list(STAT_STRENGTH = 8, STAT_ENDURANCE = 8, STAT_CONSTITUTION = 8, STAT_SPEED = -14)
enflamed_icon = "widefire"
bodypart_features = list(
/datum/bodypart_feature/hair/head,
Expand Down Expand Up @@ -97,6 +97,12 @@
. = ..()
UnregisterSignal(C, COMSIG_MOB_SAY)

/datum/species/demimacro/after_creation(mob/living/carbon/C)
..()
C.transform = C.transform.Scale(2.25, 2.25)
C.transform = C.transform.Translate(0, (0.25 * 16))
C.update_transform()

/datum/species/demimacro/get_random_features()
var/list/returned = MANDATORY_FEATURE_LIST
var/main_color
Expand Down
Binary file modified icons/roguetown/weapons/64.dmi
Binary file not shown.

0 comments on commit e8c8c89

Please sign in to comment.