From 8ef2226b074099779ebea38155d0eebbb87a8ea9 Mon Sep 17 00:00:00 2001 From: BurgerLUA Date: Fri, 14 Sep 2018 12:59:01 -0700 Subject: [PATCH] Battlemonster Bug Fixes and Tweaks (#5275) Fixed the vendor sprite being wonky. (Unreported) Fixes #5267 Adjusted Battlemonster Star calculation. Slightly lowered the cost of battlemonster cards. Deck searching speed is now based on the number of cards in the deck. --- .../controllers/subsystems/battle_monsters.dm | 21 ++++++---- code/game/machinery/vending_types.dm | 14 +++---- code/modules/battlemonsters/datum_titles.dm | 2 +- code/modules/battlemonsters/items/deck.dm | 6 +-- .../burgerbb-battlemonster_fixes.yml | 38 ++++++++++++++++++ icons/obj/vending.dmi | Bin 79109 -> 79467 bytes 6 files changed, 62 insertions(+), 19 deletions(-) create mode 100644 html/changelogs/burgerbb-battlemonster_fixes.yml diff --git a/code/controllers/subsystems/battle_monsters.dm b/code/controllers/subsystems/battle_monsters.dm index 50510cc0f7d..e9aebeebb40 100644 --- a/code/controllers/subsystems/battle_monsters.dm +++ b/code/controllers/subsystems/battle_monsters.dm @@ -240,6 +240,8 @@ var/datum/controller/subsystem/battle_monsters/SSbattlemonsters return "colossus" if(BATTLE_MONSTERS_DEFENSETYPE_FLYING) return "winged monster" + else + return GetSpecies(card_defense_type," mixed with ") return "unknown" @@ -338,19 +340,22 @@ var/datum/controller/subsystem/battle_monsters/SSbattlemonsters return english_list(included_elements, nothing_text = "Neutral", and_text = and_text) -/datum/controller/subsystem/battle_monsters/proc/GetStarLevel(var/power_rating) - if(power_rating <= BATTLE_MONSTERS_POWER_PETTY) +/datum/controller/subsystem/battle_monsters/proc/GetStarLevel(var/power_rating,var/attack_points,var/defense_points) + + var/power_mod = (power_rating / 2) + (max(attack_points,defense_points)/2) + + if(power_mod <= BATTLE_MONSTERS_POWER_PETTY) return 1 - if(power_rating <= BATTLE_MONSTERS_POWER_LESSER) + if(power_mod <= BATTLE_MONSTERS_POWER_LESSER) return 2 - if(power_rating <= BATTLE_MONSTERS_POWER_COMMON) + if(power_mod <= BATTLE_MONSTERS_POWER_COMMON) return 3 - if(power_rating <= BATTLE_MONSTERS_POWER_GREATER) + if(power_mod <= BATTLE_MONSTERS_POWER_GREATER) return 4 - if(power_rating <= BATTLE_MONSTERS_POWER_GRAND) + if(power_mod <= BATTLE_MONSTERS_POWER_GRAND) return 5 else - return 5 + (power_rating - BATTLE_MONSTERS_POWER_GRAND)/BATTLE_MONSTERS_POWER_UPGRADE + return 5 + round((power_mod - BATTLE_MONSTERS_POWER_GRAND)/BATTLE_MONSTERS_POWER_UPGRADE) /datum/controller/subsystem/battle_monsters/proc/GetSummonRequirements(var/starlevel) if(starlevel <= 2) @@ -498,7 +503,7 @@ var/datum/controller/subsystem/battle_monsters/SSbattlemonsters returning_list["attack_points"] = round(returning_list["power"] * returning_list["attack_points"],100) returning_list["defense_points"] = round(returning_list["power"] * returning_list["defense_points"],100) - returning_list["star_level"] = GetStarLevel(returning_list["power"]) + returning_list["star_level"] = GetStarLevel(returning_list["power"],returning_list["attack_points"],returning_list["defense_points"]) return returning_list diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index 7aca17a8e6c..53b8e6a5356 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -855,16 +855,16 @@ ) prices = list( /obj/item/weapon/book/manual/battlemonsters = 12, - /obj/item/battle_monsters/wrapped = 150, - /obj/item/battle_monsters/wrapped/pro = 100, - /obj/item/battle_monsters/wrapped/species = 150, - /obj/item/battle_monsters/wrapped/species/lizard = 150, - /obj/item/battle_monsters/wrapped/species/cat = 150, - /obj/item/battle_monsters/wrapped/species/ant = 150, + /obj/item/battle_monsters/wrapped = 100, + /obj/item/battle_monsters/wrapped/pro = 75, + /obj/item/battle_monsters/wrapped/species = 100, + /obj/item/battle_monsters/wrapped/species/lizard = 125, + /obj/item/battle_monsters/wrapped/species/cat = 125, + /obj/item/battle_monsters/wrapped/species/ant = 125, /obj/item/battle_monsters/wrapped/rare = 200 ) contraband = list( - /obj/item/battle_monsters/wrapped/legendary = 2 + /obj/item/battle_monsters/wrapped/legendary = 4 ) premium = list( /obj/item/weapon/coin/battlemonsters = 10 diff --git a/code/modules/battlemonsters/datum_titles.dm b/code/modules/battlemonsters/datum_titles.dm index ddd6544b107..7e5cab4b319 100644 --- a/code/modules/battlemonsters/datum_titles.dm +++ b/code/modules/battlemonsters/datum_titles.dm @@ -32,7 +32,7 @@ power_add = BATTLE_MONSTERS_POWER_UPGRADE power_mul = 1.25 description = "%NAME is feared upon by most lesser beings, and with good reason. A single stroke of their %WEAPON_AND is known to destroy the very souls of those unlucky enough to even witness it's power over %ELEMENT_AND." - special_effects = "Absolute Power: %NAME cannot be attacked by monsters with a base attack rating less than 2000." + special_effects = "Absolute Power: %NAME cannot be attacked by monsters with 4 or lower stars." rarity = 0.5 rarity_score = 1 diff --git a/code/modules/battlemonsters/items/deck.dm b/code/modules/battlemonsters/items/deck.dm index 4c3731cce29..d3b3430baa5 100644 --- a/code/modules/battlemonsters/items/deck.dm +++ b/code/modules/battlemonsters/items/deck.dm @@ -150,12 +150,12 @@ if(icon_state != "hand") user.visible_message(\ span("notice","\The [usr] begins searching through \the [src]..."),\ - span("notice","You begin searching through your deck..")\ + span("notice","You begin searching through your deck...")\ ) - if(!do_after(user, 40, act_target = src)) + if(!do_after(user, 5 + stored_card_names.len, act_target = src)) user.visible_message(\ span("notice","\The [usr] stops and thinks better of it."),\ - span("notice","You top and think better of it.")\ + span("notice","You stop and think better of it.")\ ) return diff --git a/html/changelogs/burgerbb-battlemonster_fixes.yml b/html/changelogs/burgerbb-battlemonster_fixes.yml new file mode 100644 index 00000000000..1813b83d773 --- /dev/null +++ b/html/changelogs/burgerbb-battlemonster_fixes.yml @@ -0,0 +1,38 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +################################# + +# Your name. +author: BurgerBB + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixed offline Battlemonster vending machine sprite having a white background. Fixes card searching typo." + - tweak: "Adjusted battlemonster star calculation. Slightly lowered the cost of battlemonster cards. Deck searching speed is now based on the number of cards in the deck." diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index 69b0a2148bd5a7151d7640efadd99e001d48f831..42d845419d5496ffbe43380b7da2eeb525e7adc8 100755 GIT binary patch delta 3673 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 delta 3329 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 uC$As0*nzj*2Z